Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1088 commits
Select commit Hold shift + click to select a range
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
34faa7e
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 2, 2025
152af14
Switch to new welcome view (#9741)
mrubens Dec 2, 2025
9975a41
web: Homepage changes (#9675)
brunobergher Dec 2, 2025
aa507ad
Add vendor confidentiality section to the system prompt for stealth m…
mrubens Dec 2, 2025
562a799
chore: add changeset for v3.35.3 (#9743)
mrubens Dec 2, 2025
c91a19f
Changeset version bump (#9745)
github-actions[bot] Dec 2, 2025
be69ef9
Refactor: Remove line_count parameter from write_to_file tool (#9667)
hannesrudolph Dec 2, 2025
9a1d7a6
fix: remove reasoning toggles for GLM-4.5 and GLM-4.6 on z.ai provide…
roomote[bot] Dec 2, 2025
adb9dfc
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 2, 2025
a680aa9
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 2, 2025
aa40988
fix: handle malformed native tool calls to prevent hanging (#9758)
daniel-lxs Dec 3, 2025
fbc0f80
chore: add changeset for v3.35.4 (#9763)
mrubens Dec 3, 2025
74d1ed7
Changeset version bump (#9764)
github-actions[bot] Dec 3, 2025
5c893d0
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 3, 2025
5b94eec
Convert the Roo provider tools for OpenAI (#9769)
mrubens Dec 3, 2025
648e009
Update the evals keygen command (#9754)
cte Dec 3, 2025
873a763
feat: Add provider routing selection for OpenRouter embeddings (#9144…
SannidhyaSah Dec 3, 2025
ab75f63
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 3, 2025
1894b69
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 3, 2025
18117f0
ux: Updates to CloudView (#9776)
roomote[bot] Dec 3, 2025
822343c
Update model key for minimax in MODEL_DEFAULTS (#9778)
mrubens Dec 3, 2025
40a8e0c
Release v3.35.5 (#9781)
mrubens Dec 3, 2025
48dc4d9
Changeset version bump (#9783)
github-actions[bot] Dec 3, 2025
a4f4f35
Use search_and_replace for minimax (#9780)
mrubens Dec 3, 2025
23605be
fix: restore context when rewinding after condense (#8295) (#9665)
hannesrudolph Dec 3, 2025
d9525aa
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 3, 2025
86edc01
fix: remove omission detection logic to fix false positives (#9787)
roomote[bot] Dec 3, 2025
1879200
Fix Vercel AI Gateway model fetching (#9791)
cte Dec 3, 2025
ce22901
refactor: remove insert_content tool (#9751)
daniel-lxs Dec 3, 2025
ec551b1
feat: add reasoning_details support to Roo provider (#9796)
roomote[bot] Dec 3, 2025
837ce3f
chore: hide parallel tool calls experiment and disable feature (#9798)
hannesrudolph Dec 4, 2025
72a6805
Update next.js (#9799)
jr Dec 4, 2025
5404013
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 4, 2025
d065b88
Fix the download count on the homepage (#9807)
mrubens Dec 4, 2025
b1d43f0
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 4, 2025
573cfc3
Default to native tools for all models in the Roo provider (#9811)
mrubens Dec 4, 2025
94c997c
Fix/cerebras conservative max tokens (#9804)
sebastiand-cerebras Dec 4, 2025
a698875
Release v3.36.0 (#9814)
mrubens Dec 4, 2025
7df268c
Changeset version bump (#9828)
github-actions[bot] Dec 4, 2025
7ea65e6
Merge branch 'main' of https://github.com/zgsm-ai/costrict into roo-t…
mini2s Dec 4, 2025
6b5e184
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 4, 2025
0eddc97
ux: improved error messages and documentation links (#9777)
brunobergher Dec 4, 2025
0ed5f3c
web: New Pricing Page (#9821)
brunobergher Dec 4, 2025
3178113
Ignore input to the execa terminal process (#9827)
mrubens Dec 4, 2025
29385e0
fix: Overly round follow-up question suggestions (#9829)
brunobergher Dec 4, 2025
ffff38b
Always enabled reasoning for models that require it (#9836)
cte Dec 4, 2025
61aabe7
ChatView: smoother stick-to-bottom during streaming (#8999)
hannesrudolph Dec 4, 2025
63f6fec
feat: add symlink support for slash commands in .roo/commands folder …
mrubens Dec 4, 2025
ae655c5
fix: sanitize reasoning_details IDs to remove invalid characters (#9839)
daniel-lxs Dec 4, 2025
8433eaf
feat(evals-ui): Add filtering, bulk delete, tool consolidation, and r…
hannesrudolph Dec 4, 2025
c719117
Be safer about large file reads (#9843)
jr Dec 4, 2025
1421c2c
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 4, 2025
b9e2fd1
Revert "fix: sanitize reasoning_details IDs to remove invalid charact…
mrubens Dec 5, 2025
003c276
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 5, 2025
581256d
Exclude the ID from Roo reasoning details (#9847)
mrubens Dec 5, 2025
a1d392f
fix: prevent cascading truncation loop by only truncating visible mes…
hannesrudolph Dec 5, 2025
630c8bc
FIX + feat: add MessageManager layer for centralized history coordina…
hannesrudolph Dec 5, 2025
c10d1d9
feat(web-evals): add multi-model launch and UI improvements (#9845)
hannesrudolph Dec 5, 2025
7b8162b
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 5, 2025
7945860
Revert "Exclude the ID from Roo reasoning details" (#9850)
mrubens Dec 5, 2025
9f111e1
fix: handle unknown/invalid native tool calls to prevent extension fr…
daniel-lxs Dec 5, 2025
bea7d81
feat: add gpt-5.1-codex-max model to OpenAI provider (#9848)
hannesrudolph Dec 5, 2025
3e3fa32
Delete .changeset/symlink-commands.md
mrubens Dec 5, 2025
39a549f
Release v3.36.1 (#9851)
mrubens Dec 5, 2025
247bf01
Changeset version bump (#9840)
github-actions[bot] Dec 5, 2025
2c7374b
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 5, 2025
7b37d00
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 5, 2025
a3de293
feat: add dynamic settings support for Roo models from API (#9852)
hannesrudolph Dec 5, 2025
e633c62
chore: restrict gpt-5 tool set to apply_patch (#9853)
hannesrudolph Dec 5, 2025
6bdefb8
Fix chutes model fetching (#9854)
cte Dec 5, 2025
1b151c0
Release v3.36.2 (#9855)
mrubens Dec 5, 2025
65c750d
Changeset version bump (#9856)
github-actions[bot] Dec 5, 2025
5c50160
Better error logs for parseToolCall exceptions (#9857)
cte Dec 5, 2025
1e1d6e8
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 5, 2025
00b1518
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 5, 2025
642a187
(update): Add DeepSeek V3-2 Support for Baseten Provider (#9861)
AlexKer Dec 5, 2025
d285d01
web: Product pages (#9865)
brunobergher Dec 5, 2025
9f4dcfc
fix: sanitize removed/invalid API providers to prevent infinite loop …
hannesrudolph Dec 5, 2025
9d5eca9
Update xAI models catalog (#9872)
hannesrudolph Dec 5, 2025
dd92453
refactor: decouple tools from system prompt (#9784)
daniel-lxs Dec 5, 2025
0227621
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 6, 2025
4a5cbcb
Stop making count_tokens requests (#9884)
mrubens Dec 6, 2025
cf3c70f
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 6, 2025
2eae321
Default to using native tools when supported on openrouter (#9878)
mrubens Dec 6, 2025
07e9966
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 6, 2025
946fd03
feat: change defaultToolProtocol default from xml to native (#9892)
roomote[bot] Dec 6, 2025
c486ecc
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 7, 2025
33bea50
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 7, 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 src/core/task/__tests__/Task.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -991,6 +991,7 @@ describe("Cline", () => {
getState: vi.fn().mockResolvedValue({
apiConfiguration: mockApiConfig,
}),
getMcpHub: vi.fn().mockReturnValue(undefined),
say: vi.fn(),
log: vi.fn(),
postStateToWebview: vi.fn().mockResolvedValue(undefined),
Expand Down
30 changes: 18 additions & 12 deletions src/utils/__tests__/resolveToolProtocol.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -139,18 +139,24 @@ describe("resolveToolProtocol", () => {
})
})

describe("Precedence Level 3: XML Fallback", () => {
it("should use XML fallback when no model default is specified", () => {
describe("Precedence Level 3: Native Fallback", () => {
it("should use Native fallback when no model default is specified and model supports native", () => {
const settings: ProviderSettings = {
apiProvider: "anthropic",
}
const result = resolveToolProtocol(settings, undefined)
expect(result).toBe(TOOL_PROTOCOL.XML) // XML fallback
const modelInfo: ModelInfo = {
maxTokens: 4096,
contextWindow: 128000,
supportsPromptCache: false,
supportsNativeTools: true,
}
const result = resolveToolProtocol(settings, modelInfo)
expect(result).toBe(TOOL_PROTOCOL.NATIVE) // Native fallback
})
})

describe("Complete Precedence Chain", () => {
it("should respect full precedence: Profile > Model Default > XML Fallback", () => {
it("should respect full precedence: Profile > Model Default > Native Fallback", () => {
// Set up a scenario with all levels defined
const settings: ProviderSettings = {
toolProtocol: "native", // Level 1: User profile setting
Expand Down Expand Up @@ -186,7 +192,7 @@ describe("resolveToolProtocol", () => {
expect(result).toBe(TOOL_PROTOCOL.XML) // Model default wins
})

it("should skip to XML fallback when profile and model default are undefined", () => {
it("should skip to Native fallback when profile and model default are undefined", () => {
const settings: ProviderSettings = {
apiProvider: "openai-native",
}
Expand All @@ -199,7 +205,7 @@ describe("resolveToolProtocol", () => {
}

const result = resolveToolProtocol(settings, modelInfo)
expect(result).toBe(TOOL_PROTOCOL.XML) // XML fallback
expect(result).toBe(TOOL_PROTOCOL.NATIVE) // Native fallback
})

it("should skip to XML fallback when model info is unavailable", () => {
Expand All @@ -208,23 +214,23 @@ describe("resolveToolProtocol", () => {
}

const result = resolveToolProtocol(settings, undefined)
expect(result).toBe(TOOL_PROTOCOL.XML) // XML fallback
expect(result).toBe(TOOL_PROTOCOL.XML) // XML fallback (no model info means no native support)
})
})

describe("Edge Cases", () => {
it("should handle missing provider name gracefully", () => {
const settings: ProviderSettings = {}
const result = resolveToolProtocol(settings)
expect(result).toBe(TOOL_PROTOCOL.XML) // Falls back to global
expect(result).toBe(TOOL_PROTOCOL.XML) // Falls back to XML (no model info)
})

it("should handle undefined model info gracefully", () => {
const settings: ProviderSettings = {
apiProvider: "openai-native",
}
const result = resolveToolProtocol(settings, undefined)
expect(result).toBe(TOOL_PROTOCOL.XML) // XML fallback
expect(result).toBe(TOOL_PROTOCOL.XML) // XML fallback (no model info)
})

it("should fall back to XML when model doesn't support native", () => {
Expand All @@ -243,7 +249,7 @@ describe("resolveToolProtocol", () => {
})

describe("Real-world Scenarios", () => {
it("should use XML fallback for models without defaultToolProtocol", () => {
it("should use Native fallback for models without defaultToolProtocol", () => {
const settings: ProviderSettings = {
apiProvider: "openai-native",
}
Expand All @@ -254,7 +260,7 @@ describe("resolveToolProtocol", () => {
supportsNativeTools: true,
}
const result = resolveToolProtocol(settings, modelInfo)
expect(result).toBe(TOOL_PROTOCOL.XML) // XML fallback
expect(result).toBe(TOOL_PROTOCOL.NATIVE) // Native fallback
})

it("should use XML for Claude models with Anthropic provider", () => {
Expand Down
6 changes: 3 additions & 3 deletions src/utils/resolveToolProtocol.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import type { ProviderSettings, ModelInfo } from "@roo-code/types"
*
* 1. User Preference - Per-Profile (explicit profile setting)
* 2. Model Default (defaultToolProtocol in ModelInfo)
* 3. XML Fallback (final fallback)
* 3. Native Fallback (final fallback)
*
* Then check support: if protocol is "native" but model doesn't support it, use XML.
*
Expand All @@ -31,6 +31,6 @@ export function resolveToolProtocol(providerSettings: ProviderSettings, modelInf
return modelInfo.defaultToolProtocol
}

// 3. XML Fallback
return TOOL_PROTOCOL.XML
// 3. Native Fallback
return TOOL_PROTOCOL.NATIVE
}
4 changes: 2 additions & 2 deletions webview-ui/src/components/settings/ApiOptions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -480,8 +480,8 @@ const ApiOptions = ({
// Mirrors the simplified logic in resolveToolProtocol.ts:
// 1. User preference (toolProtocol) - handled by the select value binding
// 2. Model default - use if available
// 3. XML fallback
const defaultProtocol = selectedModelInfo?.defaultToolProtocol || TOOL_PROTOCOL.XML
// 3. Native fallback
const defaultProtocol = selectedModelInfo?.defaultToolProtocol || TOOL_PROTOCOL.NATIVE

// Show the tool protocol selector when model supports native tools
const showToolProtocolSelector =
Expand Down