Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1000 commits
Select commit Hold shift + click to select a range
6acb104
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 18, 2025
c5b18c1
feat: add tool protocol selector to advanced settings (#9324)
daniel-lxs Nov 18, 2025
2a745da
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 18, 2025
dbaaef7
Remove experimental setting for native tool calls (#9333)
mrubens Nov 18, 2025
b03eb30
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 18, 2025
fe01689
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 18, 2025
c4f1ce5
Fix the type of the list files recursive parameter (#9337)
mrubens Nov 18, 2025
78ea1f1
fix: use VSCode theme color for outline button borders (#9336)
roomote[bot] Nov 18, 2025
aa2a17f
feat: update cloud agent CTA to point to setup page (#9338)
roomote[bot] Nov 18, 2025
f7c2e8d
Improve Google Gemini defaults, temperature, and cost reporting (#9327)
hannesrudolph Nov 18, 2025
6957294
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 18, 2025
9de5333
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 18, 2025
f5d3ac0
fix: sync parser state with profile/model changes (#9355)
daniel-lxs Nov 18, 2025
2c51034
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 18, 2025
f8d6e12
feat: enable native tool calling for openai-native provider (#9348)
hannesrudolph Nov 18, 2025
ac0832f
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 18, 2025
9538d82
Add Gemini 3 Pro Preview model (#9357)
hannesrudolph Nov 18, 2025
4bfd070
fix: pass tool protocol parameter to lineCountTruncationError (#9358)
daniel-lxs Nov 18, 2025
f455493
Remove the Roo model defaults (#9340)
mrubens Nov 18, 2025
bb31b04
chore: add changeset and announcement for v3.33.0 (#9360)
mrubens Nov 18, 2025
67b6a8b
Changeset version bump (#9362)
github-actions[bot] Nov 18, 2025
1fa12f6
fix: resolve native tool protocol race condition causing 400 errors (…
daniel-lxs Nov 18, 2025
045c2d6
Retry eval tasks if API instability detected (#9365)
cte Nov 18, 2025
b0c254c
fix: exclude XML tool examples from MODES section when native protoco…
daniel-lxs Nov 18, 2025
bc6fad1
Add native tool calling support to OpenAI-compatible (#9369)
mrubens Nov 18, 2025
0d72471
fix: ensure no XML parsing when protocol is native (#9371)
daniel-lxs Nov 18, 2025
55e9c88
fix: gemini maxOutputTokens and reasoning config (#9375)
hannesrudolph Nov 19, 2025
271d01b
fix: Update tools to return structured JSON for native protocol (#9373)
daniel-lxs Nov 19, 2025
7c07945
feat: add toolProtocol property to PostHog tool usage telemetry (#9374)
roomote[bot] Nov 19, 2025
89068c4
fix: Include nativeArgs in tool repetition detection (#9377)
daniel-lxs Nov 19, 2025
840f421
Fix Gemini thought signature validation and token counting errors (#9…
hannesrudolph Nov 19, 2025
ce5479a
Release v3.33.1 (#9383)
mrubens Nov 19, 2025
18c4d1a
Changeset version bump (#9384)
github-actions[bot] Nov 19, 2025
f3b0897
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 19, 2025
6372817
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 19, 2025
61fc391
fix: preserve user images in native tool call results (#9401)
daniel-lxs Nov 19, 2025
ee19904
feat: migrate PostHog client to ph.roocode.com (#9402)
roomote[bot] Nov 19, 2025
e618d88
feat: enable native tool calling for gemini provider (#9343)
hannesrudolph Nov 19, 2025
f1bf436
Add a RCC credit balance display (#9386)
jr Nov 20, 2025
2f4c47b
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 20, 2025
7f08e6f
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 20, 2025
2fd0790
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 20, 2025
5260123
perf: reduce excessive getModel() calls & implement disk cache fallba…
daniel-lxs Nov 20, 2025
575b09f
Show zero price for free models (#9419)
mrubens Nov 20, 2025
783b6b1
Release v3.33.2 (#9420)
mrubens Nov 20, 2025
4ae0fc5
Changeset version bump (#9421)
github-actions[bot] Nov 20, 2025
015bf86
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 20, 2025
05dcc07
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 20, 2025
0851769
Improve read_file tool description with examples (#9422)
daniel-lxs Nov 20, 2025
6a98ffb
Fix Marketplace crash by removing wildcard activation event (#9423)
hannesrudolph Nov 20, 2025
1201b0f
Revert "Fix Marketplace crash by removing wildcard activation event" …
mrubens Nov 20, 2025
f7d6dae
Fix OpenAI Native parallel tool calls for native protocol (#9433)
hannesrudolph Nov 20, 2025
e58aef4
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 20, 2025
b8154f8
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 20, 2025
1589cc1
feat: add Google Gemini 3 Pro Image Preview to image generation model…
roomote[bot] Nov 20, 2025
97cdc41
fix: prevent duplicate environment_details when resuming cancelled ta…
daniel-lxs Nov 20, 2025
341863f
Update glob to ^11.1.0 (#9449)
jr Nov 20, 2025
d389771
chore: update tar-fs to 3.1.1 via pnpm override (#9450)
roomote[bot] Nov 20, 2025
7715158
Store reasoning in conversation history for all providers (#9451)
daniel-lxs Nov 21, 2025
5c5a893
Fix preserveReasoning flag to control API reasoning inclusion (#9453)
daniel-lxs Nov 21, 2025
08027ad
fix: send tool_result blocks for skipped tools in native protocol (#9…
daniel-lxs Nov 21, 2025
3da6f81
fix: improve markdown formatting and add reasoning support (#9458)
daniel-lxs Nov 21, 2025
9051818
feat: implement Minimax as Anthropic-compatible provider (#9455)
daniel-lxs Nov 21, 2025
a49e81f
fix: improve search and replace symbol parsing (#9456)
daniel-lxs Nov 21, 2025
7977782
chore: add changeset for v3.33.3 (#9459)
mrubens Nov 21, 2025
038f830
Changeset version bump (#9460)
github-actions[bot] Nov 21, 2025
221f619
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 21, 2025
22effe3
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 21, 2025
5b8f3f2
feat(terminal): add inline shell integration with user input support
mini2s Nov 21, 2025
852e293
Release: v1.87.0 (#9477)
mrubens Nov 21, 2025
6f9f653
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 21, 2025
5e95a9c
refactor(terminal): remove inline shell integration callback and impr…
mini2s Nov 21, 2025
a65e780
fix: add fallback to yield tool calls regardless of finish_reason (#9…
daniel-lxs Nov 21, 2025
8472bbb
Improvements to base openai compatible (#9462)
mrubens Nov 21, 2025
ee93530
Browser Use 2.0 (#8941)
hannesrudolph Nov 21, 2025
999ea68
fix: resolve apply_diff performance regression from PR #9456 (#9474)
daniel-lxs Nov 21, 2025
842a4af
fix: implement model cache refresh to prevent stale disk cache (#9478)
daniel-lxs Nov 21, 2025
1dd223d
fix: Make cancel button immediately responsive during streaming (#9448)
daniel-lxs Nov 21, 2025
7edc86b
Test a provider-oriented welcome screen (#9484)
mrubens Nov 21, 2025
fa764ba
(feat): Add Baseten Provider (#9461)
AlexKer Nov 21, 2025
f6d3fdf
fix: copy model-level capabilities to OpenRouter endpoint models (#9483)
daniel-lxs Nov 21, 2025
16f8d30
Pin the Roo provider to the top of the list (#9485)
mrubens Nov 21, 2025
e5648e8
Wait to experiment until state is hydrated (#9488)
mrubens Nov 21, 2025
8d1602c
Change baseten default model to glm for now (#9489)
mrubens Nov 21, 2025
01971fa
Revert "Wait to experiment until state is hydrated" (#9491)
mrubens Nov 22, 2025
af02162
Try to fix build (#9490)
mrubens Nov 22, 2025
204c71c
Update webview-ui Vite config (#9493)
hannesrudolph Nov 22, 2025
513eebc
Enhance native tool descriptions with examples and clarifications (#9…
daniel-lxs Nov 22, 2025
e31743c
Revert "Revert "Wait to experiment until state is hydrated"" (#9494)
mrubens Nov 22, 2025
bc0daab
chore: add changeset and announcement for v3.34.0 (#9495)
mrubens Nov 22, 2025
529c686
Changeset version bump (#9496)
github-actions[bot] Nov 22, 2025
2ca9eac
Enable the Roo Code Cloud provider in evals (#9492)
cte Nov 22, 2025
cdc7275
Show the prompt for image gen (#9505)
mrubens Nov 22, 2025
95e9d60
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 22, 2025
17c7b4e
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 22, 2025
a90a2a8
feat(chat): conditionally render UpdateTodoListToolBlock based on alw…
mini2s Nov 22, 2025
2886b68
fix(web-evals): update checkbox handler in new-run component
mini2s Nov 22, 2025
98b06d8
Remove double todo list (#9517)
mrubens Nov 23, 2025
c64bf6f
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 23, 2025
2c56b2b
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 23, 2025
1558df6
Track cloud synced messages (#9518)
mrubens Nov 23, 2025
c2d7f04
3.34.1 (#9522)
mrubens Nov 23, 2025
fccdea7
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 23, 2025
7c2fb4d
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 23, 2025
d96f939
Changeset version bump (#9523)
github-actions[bot] Nov 23, 2025
b531075
fix: support reasoning_details format for Gemini 3 models (#9506)
daniel-lxs Nov 24, 2025
becdb1a
feat: update Cerebras models (#9527)
sebastiand-cerebras Nov 24, 2025
09d07cc
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 24, 2025
dfda7cf
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 24, 2025
3ac5bec
fix: ensure XML parser state matches tool protocol on config update (…
daniel-lxs Nov 24, 2025
c3f7916
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 24, 2025
7678d33
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 24, 2025
a20d047
fix: flush LiteLLM cache when credentials change on refresh (#9536)
daniel-lxs Nov 24, 2025
a8b366f
Add Roo Code Cloud as an imagegen provider (#9528)
mrubens Nov 24, 2025
5336246
fix: gracefully skip unsupported content blocks in Gemini transformer…
daniel-lxs Nov 24, 2025
c1ce48a
feat: add claude-opus-4.5 to OpenRouter prompt caching and reasoning …
daniel-lxs Nov 24, 2025
a81c421
feat: add claude-opus-4.5 to Anthropic and Vertex providers (#9541)
daniel-lxs Nov 24, 2025
68183c2
Release v3.34.2 (#9545)
mrubens Nov 24, 2025
1e13533
Changeset version bump (#9546)
github-actions[bot] Nov 24, 2025
fb4f235
Add support for Roo Code Cloud as an embeddings provider (#9543)
mrubens Nov 24, 2025
cad6145
Switch from asdf to mise-en-place in bare-metal evals setup script (#…
cte Nov 24, 2025
ac8903d
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 25, 2025
0327f12
feat: implement streaming for native tool calls (#9542)
daniel-lxs Nov 25, 2025
27a2d2f
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 25, 2025
0242514
Add Opus 4.5 to Claude Code provider (#9560)
mrubens Nov 25, 2025
8949c2f
Fix ask_followup_question streaming issue and add missing tool cases …
daniel-lxs Nov 25, 2025
172eef6
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 25, 2025
021c0eb
feat(auth): enhance login status logging and use dynamic plugin version
mini2s Nov 25, 2025
e788fc1
refactor: remove disable provider and add client id headers
mini2s Nov 25, 2025
31e7f2e
test(webview): remove disable provider tests across multiple test files
mini2s Nov 25, 2025
2945b30
fix: enable caching for Opus 4.5 model (#9568)
roomote[bot] Nov 25, 2025
9437103
feat: Add contact links to About Roo Code settings page (#9570)
roomote[bot] Nov 25, 2025
ed91271
feat: add Claude Opus 4.5 model to Bedrock provider (#9572)
roomote[bot] Nov 25, 2025
a0b73c7
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 25, 2025
a66cd8a
chore: add changeset for v3.34.3 (#9578)
mrubens Nov 25, 2025
86cdbff
Changeset version bump (#9579)
github-actions[bot] Nov 25, 2025
e9be653
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 25, 2025
38e22db
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 25, 2025
774b492
fix: preserve dynamic MCP tool names in native mode API history (#9559)
daniel-lxs Nov 25, 2025
311940b
fix: preserve tool_use blocks in summary message during condensing wi…
daniel-lxs Nov 25, 2025
e4847ed
Add support for images api (#9587)
mrubens Nov 25, 2025
c18b262
Make it clear that BFL Flux 2 is free (#9588)
mrubens Nov 25, 2025
0ba830b
Add BFL models to openrouter (#9589)
mrubens Nov 25, 2025
a177cd8
chore: add changeset for v3.34.4 (#9590)
mrubens Nov 25, 2025
37d2f59
Changeset version bump (#9591)
github-actions[bot] Nov 25, 2025
f173c9c
feat: set native tools as default for minimax-m2 and claude-haiku-4.5…
daniel-lxs Nov 25, 2025
05f3573
feat: enable multiple native tool calls per turn with failure guardra…
daniel-lxs Nov 26, 2025
1c02559
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 26, 2025
099ea6d
feat: add Bedrock Opus 4.5 to global inference model list (#9595)
roomote[bot] Nov 26, 2025
0fe55b9
fix: update API handler when toolProtocol changes (#9599)
mrubens Nov 26, 2025
71e761e
Make single file read only apply to xml tools (#9600)
mrubens Nov 26, 2025
3c989d3
Revert "Add support for Roo Code Cloud as an embeddings provider" (#9…
mrubens Nov 26, 2025
4442397
feat(web-evals): enhance dashboard with dynamic tool columns and UX i…
hannesrudolph Nov 26, 2025
176b397
fix(webview): pass taskId to finishSubTask when canceling or deleting…
mini2s Nov 26, 2025
8a2d28f
chore: add changeset for v3.34.5 (#9603)
mrubens Nov 26, 2025
3806b3d
Changeset version bump (#9604)
github-actions[bot] Nov 26, 2025
515b4f9
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 26, 2025
c9921cb
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 26, 2025
56c630c
Feature/bedrock embeddings support (#9475)
ggoranov-smar Nov 26, 2025
55ec7fd
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 26, 2025
0a26623
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 26, 2025
a8a4451
fix: restore content undefined check in WriteToFileTool.handlePartial…
daniel-lxs Nov 26, 2025
decd9a7
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 26, 2025
3cd3357
fix: exclude access_mcp_resource tool when MCP has no resources (#9615)
daniel-lxs Nov 26, 2025
f388919
fix: prevent model cache from persisting empty API responses (#9623)
daniel-lxs Nov 26, 2025
16f3689
fix: update default settings for inline terminal and codebase indexin…
roomote[bot] Nov 26, 2025
240bc0b
feat(mistral): add native tool calling support (#9625)
hannesrudolph Nov 26, 2025
3208f6f
feat: wire MULTIPLE_NATIVE_TOOL_CALLS experiment to OpenAI parallel_t…
hannesrudolph Nov 26, 2025
7e17982
feat(bedrock): allow global inference selection when cross-region is …
roomote[bot] Nov 26, 2025
b176536
fix: defer new_task tool_result until subtask completes for native pr…
daniel-lxs Nov 26, 2025
87d6463
fix: convert line_ranges strings to lineRanges objects in native tool…
daniel-lxs Nov 26, 2025
fb9c57e
fix: filter non-Anthropic content blocks before sending to Vertex API…
hannesrudolph Nov 26, 2025
339a869
Add fine grained tool streaming for OpenRouter Anthropic (#9629)
mrubens Nov 26, 2025
c170742
Release v3.34.6 (#9631)
mrubens Nov 26, 2025
ba09228
Changeset version bump (#9632)
github-actions[bot] Nov 26, 2025
867a5c7
fix: OpenRouter GPT-5 strict schema validation for read_file tool (#9…
daniel-lxs Nov 27, 2025
4cdec7d
fix: create parent directories early in write_to_file to prevent ENOE…
daniel-lxs Nov 27, 2025
b31e755
Fix openrouter tool calls (#9642)
mrubens Nov 27, 2025
f5ce56c
fix(claude-code): disable native tools and temperature support (#9643)
hannesrudolph Nov 27, 2025
fb94eb3
Enable native tool calling for z.ai (#9645)
mrubens Nov 27, 2025
254bd23
Moonshot native tool call support (#9646)
mrubens Nov 27, 2025
5b64aa9
Support native tools in the anthropic provider (#9644)
mrubens Nov 27, 2025
2758454
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 27, 2025
12fc073
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 27, 2025
520d4fb
Add 'taking you to cloud' screen after provider welcome (#9652)
mrubens Nov 27, 2025
1e34d3d
chore: add changeset for v3.34.7 (#9651)
mrubens Nov 27, 2025
400d0cd
Changeset version bump (#9654)
github-actions[bot] Nov 27, 2025
d2d311e
fix: race condition in new_task tool for native protocol (#9655)
daniel-lxs Nov 27, 2025
b8f2da1
chore: add changeset for v3.34.8 (#9657)
mrubens Nov 27, 2025
b149e69
Changeset version bump (#9658)
github-actions[bot] Nov 27, 2025
5a6dd58
feat: add model-specific tool customization via excludedTools and inc…
daniel-lxs Nov 27, 2025
3f0a697
feat(web-evals): add task log viewing, export failed logs, and new ru…
hannesrudolph Nov 28, 2025
9b5f639
Metadata‑driven subtasks (no UI changes): automatic parent resume and…
hannesrudolph Nov 28, 2025
e682c03
feat: add search_and_replace tool for batch text replacements (#9549)
hannesrudolph Nov 28, 2025
af4921b
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 28, 2025
b111d12
feat: enable native tool support for DeepSeek and Doubao models (#9671)
daniel-lxs Nov 28, 2025
bd2c501
feat: add native tool support to Requesty provider (#9672)
daniel-lxs Nov 28, 2025
53d1f43
Include tool format in environment details (#9661)
mrubens Nov 28, 2025
5d02099
feat(groq): enable native tool support for models that support functi…
daniel-lxs Nov 28, 2025
59ee1c9
feat: add native tools support for OpenAI-compatible providers (#9676)
daniel-lxs Nov 28, 2025
127ecf6
feat: enable native tool calls for Vertex Gemini models (#9678)
daniel-lxs Nov 28, 2025
c688a64
fix: display install count in millions instead of thousands (#9677)
roomote[bot] Nov 29, 2025
9335348
feat: add apply_patch native tool (#9663)
hannesrudolph Nov 29, 2025
f9eb6d9
feat: add debug buttons to view API and UI history (#9684)
hannesrudolph Nov 29, 2025
503d55c
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 29, 2025
e4af301
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 29, 2025
98850c7
test(workflow): update test expectations after removing run_test func…
mini2s Nov 29, 2025
c0c28f0
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 29, 2025
d2017c8
Add web-evals updates and kill run functionality (#9681)
hannesrudolph Nov 29, 2025
ae29777
Add Grok 4 Fast and Grok 4.1 Fast, plus xAI native tool calling (#9690)
mrubens Nov 30, 2025
4591e96
Add native tool calling for deepinfra (#9691)
mrubens Nov 30, 2025
8787da7
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Nov 30, 2025
e51592e
fix(chat): correct message visibility condition filter
mini2s Nov 30, 2025
583b9d7
fix(utils): wrap os-name call in safe fallback for zgsm OS detection
mini2s Nov 30, 2025
1e7305b
refactor(core): clean up unused imports and improve file handling logic
mini2s Nov 30, 2025
26003c8
refactor: adjust file limits and multipliers
mini2s Nov 30, 2025
99da2bc
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Nov 30, 2025
f26d5a4
ux: Improvements to the new, RCC Provider centric onboarding flow (#9…
brunobergher Dec 1, 2025
49aad85
ux: Toolbar cleanup and settings consolidation (#9710)
brunobergher Dec 1, 2025
0eea7c7
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 1, 2025
7590305
Update a couple provider labels (#9711)
mrubens Dec 1, 2025
48d3e4d
Release: v1.88.0 (#9713)
mrubens Dec 1, 2025
af74709
Remove TabContent wrapper from Modes and MCP (#9712)
mrubens Dec 1, 2025
bf3e4d8
fix: preserve tool_use blocks in summary for parallel tool calls (#9714)
SilentFlower Dec 1, 2025
34c524f
feat(chutes): detect native tool support from API supported_features …
daniel-lxs Dec 1, 2025
0a2d1a4
Add NTC support for Cerebras (#9692)
mrubens Dec 1, 2025
eb12054
Add native tools support to Unbound (#9699)
mrubens Dec 1, 2025
b5acebc
Add native tool support for vercel ai gateway (#9697)
mrubens Dec 1, 2025
8244f70
Default grok code fast to native tools (#9717)
mrubens Dec 1, 2025
faa6c40
Bedrock native tool calling (#9698)
mrubens Dec 1, 2025
be76594
Support tool calling in native ollama provider (#9696)
mrubens Dec 1, 2025
ad28e12
feat: add native tool support for LiteLLM provider (#9719)
daniel-lxs Dec 1, 2025
9dac7e7
fix: prevent navigation buttons from wrapping on smaller screens (#9721)
roomote[bot] Dec 1, 2025
bfb3386
chore: add changeset for v3.35.0 (#9724)
mrubens Dec 1, 2025
35d4634
Changeset version bump (#9725)
github-actions[bot] Dec 1, 2025
9b18014
chore: bump version to v1.89.0 (#9718)
cte Dec 1, 2025
edd7cc0
fix: flush pending tool results before task delegation (#9726)
daniel-lxs Dec 1, 2025
3f4f7c0
Better IPC error logging (#9727)
cte Dec 1, 2025
e7043e5
chore: add changeset for v3.35.1 (#9728)
mrubens Dec 1, 2025
ba7340f
Changeset version bump (#9729)
github-actions[bot] Dec 1, 2025
b2b4f64
Pass app version to provider (#9730)
cte Dec 2, 2025
fc28863
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 2, 2025
d2b274a
Allow models to contain default temperature (#9734)
mrubens Dec 2, 2025
700fe42
Look for a tag in the Roo provider to default the model to native too…
mrubens Dec 2, 2025
6f0addf
Assume all LiteLLM models support native tools (#9736)
mrubens Dec 2, 2025
954a6cb
chore: add changeset for v3.35.2 (#9737)
mrubens Dec 2, 2025
906c6f0
Changeset version bump (#9738)
github-actions[bot] Dec 2, 2025
ee076bd
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 2, 2025
a962666
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 2, 2025
9737e4e
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/types/src/providers/roo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ export const RooModelSchema = z.object({
tags: z.array(z.string()).optional(),
pricing: RooPricingSchema,
deprecated: z.boolean().optional(),
default_temperature: z.number().optional(),
})

export const RooModelsResponseSchema = z.object({
Expand Down
24 changes: 12 additions & 12 deletions src/api/providers/fetchers/__tests__/litellm.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ describe("getLiteLLMModels", () => {
contextWindow: 200000,
supportsImages: true,
supportsPromptCache: false,
supportsNativeTools: false,
supportsNativeTools: true,
inputPrice: 3,
outputPrice: 15,
cacheWritesPrice: undefined,
Expand All @@ -234,7 +234,7 @@ describe("getLiteLLMModels", () => {
contextWindow: 128000,
supportsImages: false,
supportsPromptCache: false,
supportsNativeTools: false,
supportsNativeTools: true,
inputPrice: 10,
outputPrice: 30,
cacheWritesPrice: undefined,
Expand Down Expand Up @@ -305,7 +305,7 @@ describe("getLiteLLMModels", () => {
contextWindow: 200000,
supportsImages: true,
supportsPromptCache: false,
supportsNativeTools: false,
supportsNativeTools: true,
inputPrice: undefined,
outputPrice: undefined,
cacheWritesPrice: undefined,
Expand All @@ -318,7 +318,7 @@ describe("getLiteLLMModels", () => {
contextWindow: 200000,
supportsImages: false,
supportsPromptCache: false,
supportsNativeTools: false,
supportsNativeTools: true,
inputPrice: undefined,
outputPrice: undefined,
cacheWritesPrice: undefined,
Expand Down Expand Up @@ -455,7 +455,7 @@ describe("getLiteLLMModels", () => {
contextWindow: 200000,
supportsImages: true,
supportsPromptCache: false,
supportsNativeTools: false,
supportsNativeTools: true,
inputPrice: undefined,
outputPrice: undefined,
cacheWritesPrice: undefined,
Expand All @@ -468,7 +468,7 @@ describe("getLiteLLMModels", () => {
contextWindow: 128000,
supportsImages: false,
supportsPromptCache: false,
supportsNativeTools: false,
supportsNativeTools: true,
inputPrice: undefined,
outputPrice: undefined,
cacheWritesPrice: undefined,
Expand Down Expand Up @@ -533,7 +533,7 @@ describe("getLiteLLMModels", () => {
contextWindow: 200000,
supportsImages: true,
supportsPromptCache: false,
supportsNativeTools: false,
supportsNativeTools: true,
inputPrice: undefined,
outputPrice: undefined,
cacheWritesPrice: undefined,
Expand All @@ -546,7 +546,7 @@ describe("getLiteLLMModels", () => {
contextWindow: 128000,
supportsImages: false,
supportsPromptCache: false,
supportsNativeTools: false,
supportsNativeTools: true,
inputPrice: undefined,
outputPrice: undefined,
cacheWritesPrice: undefined,
Expand All @@ -559,7 +559,7 @@ describe("getLiteLLMModels", () => {
contextWindow: 128000,
supportsImages: false,
supportsPromptCache: false,
supportsNativeTools: false,
supportsNativeTools: true,
inputPrice: undefined,
outputPrice: undefined,
cacheWritesPrice: undefined,
Expand Down Expand Up @@ -673,7 +673,7 @@ describe("getLiteLLMModels", () => {
contextWindow: 200000,
supportsImages: true,
supportsPromptCache: false,
supportsNativeTools: false,
supportsNativeTools: true,
inputPrice: undefined,
outputPrice: undefined,
cacheWritesPrice: undefined,
Expand All @@ -687,7 +687,7 @@ describe("getLiteLLMModels", () => {
contextWindow: 128000,
supportsImages: false,
supportsPromptCache: false,
supportsNativeTools: false,
supportsNativeTools: true,
inputPrice: undefined,
outputPrice: undefined,
cacheWritesPrice: undefined,
Expand All @@ -701,7 +701,7 @@ describe("getLiteLLMModels", () => {
contextWindow: 100000,
supportsImages: false,
supportsPromptCache: false,
supportsNativeTools: false,
supportsNativeTools: true,
inputPrice: undefined,
outputPrice: undefined,
cacheWritesPrice: undefined,
Expand Down
167 changes: 167 additions & 0 deletions src/api/providers/fetchers/__tests__/roo.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -478,4 +478,171 @@ describe("getRooModels", () => {
"Failed to fetch Roo Code Cloud models: No response from server",
)
})

it("should parse default_temperature from API response", async () => {
const mockResponse = {
object: "list",
data: [
{
id: "test/model-with-temp",
object: "model",
created: 1234567890,
owned_by: "test",
name: "Model with Default Temperature",
description: "Model with custom default temperature",
context_window: 128000,
max_tokens: 8192,
type: "language",
pricing: {
input: "0.0001",
output: "0.0002",
},
default_temperature: 0.6,
},
],
}

mockFetch.mockResolvedValueOnce({
ok: true,
json: async () => mockResponse,
})

const models = await getRooModels(baseUrl, apiKey)

expect(models["test/model-with-temp"].defaultTemperature).toBe(0.6)
})

it("should handle models without default_temperature", async () => {
const mockResponse = {
object: "list",
data: [
{
id: "test/model-no-temp",
object: "model",
created: 1234567890,
owned_by: "test",
name: "Model without Default Temperature",
description: "Model without custom default temperature",
context_window: 128000,
max_tokens: 8192,
type: "language",
pricing: {
input: "0.0001",
output: "0.0002",
},
},
],
}

mockFetch.mockResolvedValueOnce({
ok: true,
json: async () => mockResponse,
})

const models = await getRooModels(baseUrl, apiKey)

expect(models["test/model-no-temp"].defaultTemperature).toBeUndefined()
})

it("should set defaultToolProtocol to native when default-native-tools tag is present", async () => {
const mockResponse = {
object: "list",
data: [
{
id: "test/native-tools-model",
object: "model",
created: 1234567890,
owned_by: "test",
name: "Native Tools Model",
description: "Model with native tool calling default",
context_window: 128000,
max_tokens: 8192,
type: "language",
tags: ["tool-use", "default-native-tools"],
pricing: {
input: "0.0001",
output: "0.0002",
},
},
],
}

mockFetch.mockResolvedValueOnce({
ok: true,
json: async () => mockResponse,
})

const models = await getRooModels(baseUrl, apiKey)

expect(models["test/native-tools-model"].supportsNativeTools).toBe(true)
expect(models["test/native-tools-model"].defaultToolProtocol).toBe("native")
})

it("should imply supportsNativeTools when default-native-tools tag is present without tool-use tag", async () => {
const mockResponse = {
object: "list",
data: [
{
id: "test/implicit-native-tools",
object: "model",
created: 1234567890,
owned_by: "test",
name: "Implicit Native Tools Model",
description: "Model with default-native-tools but no tool-use tag",
context_window: 128000,
max_tokens: 8192,
type: "language",
tags: ["default-native-tools"], // Only default-native-tools, no tool-use
pricing: {
input: "0.0001",
output: "0.0002",
},
},
],
}

mockFetch.mockResolvedValueOnce({
ok: true,
json: async () => mockResponse,
})

const models = await getRooModels(baseUrl, apiKey)

expect(models["test/implicit-native-tools"].supportsNativeTools).toBe(true)
expect(models["test/implicit-native-tools"].defaultToolProtocol).toBe("native")
})

it("should not set defaultToolProtocol when default-native-tools tag is not present", async () => {
const mockResponse = {
object: "list",
data: [
{
id: "test/non-native-model",
object: "model",
created: 1234567890,
owned_by: "test",
name: "Non-Native Tools Model",
description: "Model without native tool calling default",
context_window: 128000,
max_tokens: 8192,
type: "language",
tags: ["tool-use"],
pricing: {
input: "0.0001",
output: "0.0002",
},
},
],
}

mockFetch.mockResolvedValueOnce({
ok: true,
json: async () => mockResponse,
})

const models = await getRooModels(baseUrl, apiKey)

expect(models["test/non-native-model"].supportsNativeTools).toBe(true)
expect(models["test/non-native-model"].defaultToolProtocol).toBeUndefined()
})
})
6 changes: 1 addition & 5 deletions src/api/providers/fetchers/litellm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,7 @@ export async function getLiteLLMModels(apiKey: string, baseUrl: string): Promise
contextWindow: modelInfo.max_input_tokens || 200000,
supportsImages: Boolean(modelInfo.supports_vision),
supportsPromptCache: Boolean(modelInfo.supports_prompt_caching),
supportsNativeTools: Boolean(
modelInfo.supports_function_calling ||
modelInfo.supports_tool_choice ||
modelInfo.supports_tool_use,
),
supportsNativeTools: true,
inputPrice: modelInfo.input_cost_per_token ? modelInfo.input_cost_per_token * 1000000 : undefined,
outputPrice: modelInfo.output_cost_per_token
? modelInfo.output_cost_per_token * 1000000
Expand Down
9 changes: 8 additions & 1 deletion src/api/providers/fetchers/roo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,13 @@ export async function getRooModels(baseUrl: string, apiKey?: string): Promise<Mo
// Determine if the model requires reasoning effort based on tags
const requiredReasoningEffort = tags.includes("reasoning-required")

// Determine if native tool calling should be the default protocol for this model
const hasDefaultNativeTools = tags.includes("default-native-tools")
const defaultToolProtocol = hasDefaultNativeTools ? ("native" as const) : undefined

// Determine if the model supports native tool calling based on tags
const supportsNativeTools = tags.includes("tool-use")
// default-native-tools implies tool-use support
const supportsNativeTools = tags.includes("tool-use") || hasDefaultNativeTools

// Parse pricing (API returns strings, convert to numbers)
const inputPrice = parseApiPrice(pricing.input)
Expand All @@ -132,6 +137,8 @@ export async function getRooModels(baseUrl: string, apiKey?: string): Promise<Mo
description: model.description || model.name,
deprecated: model.deprecated || false,
isFree: tags.includes("free"),
defaultTemperature: model.default_temperature,
defaultToolProtocol,
}

// Apply model-specific defaults (e.g., defaultToolProtocol)
Expand Down
32 changes: 32 additions & 0 deletions src/api/transform/__tests__/model-params.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,38 @@ describe("getModelParams", () => {
expect(result.temperature).toBe(0.5)
})

it("should use model defaultTemperature over provider defaultTemperature", () => {
const modelWithDefaultTemp: ModelInfo = {
...baseModel,
defaultTemperature: 0.8,
}

const result = getModelParams({
...anthropicParams,
settings: {},
model: modelWithDefaultTemp,
defaultTemperature: 0.5,
})

expect(result.temperature).toBe(0.8)
})

it("should prefer settings temperature over model defaultTemperature", () => {
const modelWithDefaultTemp: ModelInfo = {
...baseModel,
defaultTemperature: 0.8,
}

const result = getModelParams({
...anthropicParams,
settings: { modelTemperature: 0.3 },
model: modelWithDefaultTemp,
defaultTemperature: 0.5,
})

expect(result.temperature).toBe(0.3)
})

it("should use model maxTokens when available", () => {
const model: ModelInfo = {
...baseModel,
Expand Down
2 changes: 1 addition & 1 deletion src/api/transform/model-params.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ export function getModelParams({
format,
})

let temperature = customTemperature ?? defaultTemperature
let temperature = customTemperature ?? model.defaultTemperature ?? defaultTemperature
let reasoningBudget: ModelParams["reasoningBudget"] = undefined
let reasoningEffort: ModelParams["reasoningEffort"] = undefined
let verbosity: VerbosityLevel | undefined = customVerbosity
Expand Down
1 change: 0 additions & 1 deletion webview-ui/src/components/settings/ModelPicker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import { useMemo, useState, useCallback, useEffect, useRef, useLayoutEffect } fr
import { VSCodeLink } from "@vscode/webview-ui-toolkit/react"
import { Trans } from "react-i18next"
import { Check, X, Brain } from "lucide-react"
// import { ChevronsUpDown, Check, X, Info } from "lucide-react"

import type { ProviderSettings, ModelInfo, OrganizationAllowList } from "@roo-code/types"

Expand Down