Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1239 commits
Select commit Hold shift + click to select a range
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-v0[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-v0[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-v0[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-v0[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-v0[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
8aa1346
Refactor: Unified context-management architecture with improved UX (#…
hannesrudolph Dec 7, 2025
1f7e1ee
Make eval runs deleteable (#9909)
mrubens Dec 8, 2025
7ca15c5
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 8, 2025
7a2976d
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 8, 2025
bea7626
fix: add Kimi, MiniMax, and Qwen model configurations for Bedrock (#9…
roomote-v0[bot] Dec 8, 2025
1370cb0
fix: use foreground color for context-management icons (#9912)
hannesrudolph Dec 8, 2025
efbf427
feat: add xhigh reasoning effort for gpt-5.1-codex-max (#9900)
andrewginns Dec 8, 2025
fba8508
feat: add search_replace native tool for single-replacement operation…
hannesrudolph Dec 8, 2025
6f602fc
Improve cloud job error logging for RCC provider errors (#9924)
cte Dec 8, 2025
754b701
feat: configure tool preferences for xAI models (#9923)
hannesrudolph Dec 8, 2025
88a0bed
fix: process finish_reason to emit tool_call_end events (#9927)
daniel-lxs Dec 8, 2025
ee48b3a
fix: suppress 'ask promise was ignored' error in handleError (#9914)
daniel-lxs Dec 9, 2025
375c103
fix: exclude apply_diff from native tools when diffEnabled is false (…
roomote-v0[bot] Dec 9, 2025
93a43e4
Try to make OpenAI errors more useful (#9639)
mrubens Dec 9, 2025
de00ab1
refactor: consolidate ThinkingBudget components and fix disable handl…
hannesrudolph Dec 9, 2025
3356267
Add timeout to OpenAI Compatible Provider Client (#9898)
dcbartlett Dec 9, 2025
2efebf5
fix: add finish_reason processing to xai.ts provider (#9929)
daniel-lxs Dec 9, 2025
5bde2e5
Remove defaultTemperature from Roo provider configuration (#9932)
mrubens Dec 9, 2025
54a5265
feat: forbid time estimates in architect mode (#9931)
roomote-v0[bot] Dec 9, 2025
c103a4a
feat: streaming tool stats + token usage throttling (#9926)
hannesrudolph Dec 9, 2025
e2fd860
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 9, 2025
2764323
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 9, 2025
94c6430
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 9, 2025
8a98f14
feat: Make Architect save to `/plans` and gitignore it (#9944)
brunobergher Dec 9, 2025
ec7b289
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 9, 2025
fdcb309
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 9, 2025
e142906
feat: add announcement support CTA and social icons (#9945)
hannesrudolph Dec 9, 2025
f89a6be
fix: display actual API error message instead of generic text on retr…
hannesrudolph Dec 9, 2025
83787a7
feat(roo): add versioned settings support with minPluginVersion gatin…
hannesrudolph Dec 9, 2025
0068d1f
Revert "feat: change defaultToolProtocol default from xml to native" …
mrubens Dec 9, 2025
4608c97
fix: return undefined instead of 0 for disabled API timeout (#9960)
hannesrudolph Dec 9, 2025
1898848
feat(deepseek): update DeepSeek models to V3.2 with new pricing (#9962)
hannesrudolph Dec 9, 2025
721b02e
Add a way to save screenshots from the browser tool (#9963)
mrubens Dec 10, 2025
ada7411
Tweaks to baseten model definitions (#9866)
mrubens Dec 10, 2025
29d6f6d
fix: always show tool protocol selector for openai-compatible (#9966)
hannesrudolph Dec 10, 2025
24eb6ae
feat: add API error telemetry to OpenRouter provider (#9953)
daniel-lxs Dec 10, 2025
e3636b0
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 10, 2025
cab9f6b
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 10, 2025
f472a82
fix: validate and fix tool_result IDs before API requests (#9952)
daniel-lxs Dec 10, 2025
df5fdef
fix: respect explicit supportsReasoningEffort array values (#9970)
hannesrudolph Dec 10, 2025
c5c8f2a
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 10, 2025
970c6f0
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 10, 2025
0cf5b28
v3.36.3 (#9972)
cte Dec 10, 2025
295d834
fix(activate): unify webview panel identifier to use consistent tabPa…
mini2s Dec 10, 2025
68811ec
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 10, 2025
048e7f3
feat(gemini): add minimal and medium reasoning effort levels (#9973)
hannesrudolph Dec 10, 2025
03912d8
Delete changeset files (#9977)
cte Dec 10, 2025
36ef603
Add missing release notes for v3.36.3 (#9979)
cte Dec 10, 2025
714c3a7
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 10, 2025
fa8f7aa
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 10, 2025
ab18bf3
feat: add error details modal with on-demand display (#9985)
roomote-v0[bot] Dec 10, 2025
e092e77
Fix: Correct TODO list display order in chat view (ROO-107) (#9991)
roomote-v0[bot] Dec 10, 2025
5a4315f
fix: prevent premature rawChunkTracker clearing for MCP tools (#9993)
daniel-lxs Dec 10, 2025
fda020a
fix: filter out 429 rate limit errors from API error telemetry (#9987)
daniel-lxs Dec 10, 2025
2cd772c
Release v3.36.4 (#9994)
cte Dec 10, 2025
380a578
Changeset version bump (#9995)
github-actions[bot] Dec 10, 2025
1cf6ae6
feat(telemetry): add app version to exception captures and filter 402…
daniel-lxs Dec 10, 2025
f05dd59
Remove Glama provider (#9801)
hannesrudolph Dec 10, 2025
2a70a2e
@roo-code/types v1.90.0 (#9998)
cte Dec 10, 2025
483e70c
fix: apply versioned settings on nightly builds (#9997)
hannesrudolph Dec 10, 2025
0cbaed7
feat: add toggle for Enter key behavior in chat input (#10002)
hannesrudolph Dec 11, 2025
6a30d94
chore: remove list_code_definition_names tool (#10005)
hannesrudolph Dec 11, 2025
a1d3a43
Update roomotes.yml (#10008)
cte Dec 11, 2025
531eb95
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 11, 2025
f9cfc66
fix: add general API endpoints for Z.ai provider (#9894)
roomote-v0[bot] Dec 11, 2025
47320dc
fix: handle empty Gemini responses and reasoning loops (#10007)
hannesrudolph Dec 11, 2025
8731709
fix: add missing tool_result blocks to prevent API errors (#10015)
daniel-lxs Dec 11, 2025
70704eb
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 11, 2025
51dbccf
feat: add gpt-5.2 model to openai-native provider (#10024)
hannesrudolph Dec 11, 2025
706e018
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 11, 2025
63e3625
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 11, 2025
3def1e8
test: update built-in commands count to 9
mini2s Dec 11, 2025
8a68b04
fix: filter orphaned tool_results when more results than tool_uses (#…
daniel-lxs Dec 11, 2025
526e195
Release v3.36.5 (#10029)
cte Dec 11, 2025
21c2d93
Changeset version bump (#10032)
github-actions[bot] Dec 11, 2025
c513df5
fix: merge settings and versionedSettings for Roo provider models (#1…
hannesrudolph Dec 11, 2025
7766b91
Revert "fix: merge settings and versionedSettings for Roo provider mo…
cte Dec 11, 2025
5072ff1
Revert the 3.6.5 release (we halted it) (#10036)
cte Dec 11, 2025
4dabd52
Release v3.36.5 (#10037)
cte Dec 11, 2025
f97b515
Changeset version bump (#10038)
github-actions[bot] Dec 11, 2025
bdce2cc
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 12, 2025
6ba0233
test: adjust terminal count limits in TerminalRegistry tests
mini2s Dec 12, 2025
2d1db85
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 12, 2025
8308cbd
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 12, 2025
495b5c6
ux: improve auto-approve timer visibility in follow-up suggestions (#…
brunobergher Dec 12, 2025
d976a9b
fix: cancel auto-approval timeout when user starts typing (#9937)
roomote-v0[bot] Dec 12, 2025
f67c4cd
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 12, 2025
23a214c
fix: extract raw error message from OpenRouter metadata (#10039)
daniel-lxs Dec 12, 2025
ba7c553
feat: add tool alias support for model-specific tool customization (#…
daniel-lxs Dec 12, 2025
0f8fac9
fix: show tool protocol dropdown for LiteLLM provider (#10053)
daniel-lxs Dec 12, 2025
8da4d3d
feat: add WorkspaceTaskVisibility type for organization cloud setting…
roomote-v0[bot] Dec 12, 2025
f60c14e
Release: v1.91.0 (#10055)
jr Dec 12, 2025
3521270
feat: sanitize MCP server/tool names for API compatibility (#10054)
daniel-lxs Dec 12, 2025
0742335
Release v3.36.6 (#10057)
cte Dec 12, 2025
4771de1
Changeset version bump (#10058)
github-actions[bot] Dec 12, 2025
a3b258a
fix: use JavaScript-based hover for checkpoint menu visibility (#10056)
hannesrudolph Dec 12, 2025
05e64dd
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 13, 2025
312fb62
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 13, 2025
1ae042d
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 13, 2025
0fbbe66
feat: remove auto-approve toggles for to-do and retry actions (#10062)
hannesrudolph Dec 14, 2025
3e0dbd1
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 14, 2025
e4b9568
feat(openrouter): add improvements to openrouter provider (#10082)
hannesrudolph Dec 14, 2025
1be8a99
feat: Add Amazon Nova 2 Lite model to Bedrock provider (#9830)
roomote-v0[bot] Dec 14, 2025
9f3122f
feat: add AWS Bedrock service tier support (#9955)
roomote-v0[bot] Dec 14, 2025
a80a74a
Capture more of OpenRouter's provider specific error details (#10073)
jr Dec 14, 2025
3254109
feat(web-evals): improve run logs and formatters (#10081)
hannesrudolph Dec 15, 2025
d2665c2
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 15, 2025
cd12313
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 15, 2025
afe4996
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 15, 2025
c713916
Move isToolAllowedForMode out of shared directory (#10089)
cte Dec 15, 2025
12d9fad
chore: add changeset for v3.36.7 (#10091)
mrubens Dec 15, 2025
1d4fc52
Changeset version bump (#10092)
github-actions[bot] Dec 15, 2025
1f3ab2b
fix: prevent duplicate MCP tools error by deduplicating servers at so…
daniel-lxs Dec 15, 2025
5929e26
feat: add metadata to error details dialog (#10050)
roomote-v0[bot] Dec 15, 2025
1ff5d1d
web: Fixes link to provider pricing page (#10107)
brunobergher Dec 15, 2025
bf81fa7
feat(read-file): implement incremental token-budgeted file reading (#…
jr Dec 15, 2025
3502f41
Add config to control public sharing (#10105)
mrubens Dec 16, 2025
be894a6
Release: v1.92.0 (#10116)
mrubens Dec 16, 2025
a6caa55
Remove the description from bedrock service tiers (#10118)
mrubens Dec 16, 2025
8138c1b
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 16, 2025
ef3c88c
feat: remove strict ARN validation for Bedrock custom ARN users (#10110)
roomote-v0[bot] Dec 16, 2025
69307ba
fix: prevent race condition from deleting wrong API messages (#10113)
hannesrudolph Dec 16, 2025
6619d46
feat(anthropic): enable native tools by default and add telemetry tra…
daniel-lxs Dec 16, 2025
a9a15b3
feat: enable native tools by default for multiple providers (#10059)
daniel-lxs Dec 16, 2025
eb249a0
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 16, 2025
596783d
Release v3.36.8 (#10119)
cte Dec 16, 2025
748004b
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 16, 2025
93bc8c4
fix: add additionalProperties: false to nested MCP tool schemas (#10109)
daniel-lxs Dec 16, 2025
a7b192a
fix: normalize tool call IDs for cross-provider compatibility via Ope…
daniel-lxs Dec 16, 2025
caf6142
feat: add full error details to streaming failure dialog (#10131)
roomote-v0[bot] Dec 16, 2025
7ce329b
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 16, 2025
c7cdf83
fix: validate tool_result IDs in delegation resume flow (#10135)
daniel-lxs Dec 16, 2025
84c5d2f
feat(evals): improve evals UI with tool groups and duration fix (#10133)
hannesrudolph Dec 16, 2025
b4c6758
Changeset version bump (#10120)
github-actions[bot] Dec 16, 2025
6270c4b
Release v3.36.9 (#10138)
cte Dec 16, 2025
efef269
Changeset version bump (#10137)
github-actions[bot] Dec 16, 2025
f414ba4
fix: correct token counting for context truncation display (#9961)
hannesrudolph Dec 16, 2025
d274812
feat(deepseek): implement interleaved thinking mode for deepseek-reas…
hannesrudolph Dec 16, 2025
5eb4fe3
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 17, 2025
d7bd32b
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 17, 2025
2863b1c
Update next.js to ~15.2.8 (#10140)
jr Dec 17, 2025
f9997ba
Merge branch 'main' of github.com:zgsm-ai/costrict into roo-to-main
mini2s Dec 17, 2025
343665f
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 17, 2025
970deea
fix(deepseek): preserve reasoning_content during tool call sequences …
hannesrudolph Dec 17, 2025
cc3bc35
feat: add gemini-3-flash-preview model (#10151)
hannesrudolph Dec 17, 2025
275ccf6
Release v3.36.10 (#10153)
mrubens Dec 17, 2025
752a950
Changeset version bump (#10154)
github-actions[bot] Dec 17, 2025
4693b9e
fix(bedrock): convert tool_result to XML text when native tools disab…
daniel-lxs Dec 17, 2025
ed631dc
fix: remove dots and colons from MCP tool names for Bedrock compatibi…
daniel-lxs Dec 17, 2025
bdf7d2a
fix: improve terminal process error handling and abort operation
mini2s Dec 17, 2025
65d1cde
Merge remote-tracking branch 'upstream/main' into roo-to-main
mini2s Dec 17, 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
2 changes: 1 addition & 1 deletion apps/web-evals/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
"cmdk": "^1.1.0",
"fuzzysort": "^3.1.0",
"lucide-react": "^0.518.0",
"next": "~15.2.6",
"next": "~15.2.8",
"next-themes": "^0.4.6",
"p-map": "^7.0.3",
"react": "^18.3.1",
Expand Down
2 changes: 1 addition & 1 deletion apps/web-roo-code/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"embla-carousel-react": "^8.6.0",
"framer-motion": "12.15.0",
"lucide-react": "^0.518.0",
"next": "~15.2.6",
"next": "~15.2.8",
"next-themes": "^0.4.6",
"posthog-js": "^1.248.1",
"react": "^18.3.1",
Expand Down
18 changes: 17 additions & 1 deletion packages/types/src/providers/gemini.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { ModelInfo } from "../model.js"
// https://ai.google.dev/gemini-api/docs/models/gemini
export type GeminiModelId = keyof typeof geminiModels

export const geminiDefaultModelId: GeminiModelId = "gemini-2.5-pro"
export const geminiDefaultModelId: GeminiModelId = "gemini-3-pro-preview"

export const geminiModels = {
"gemini-3-pro-preview": {
Expand Down Expand Up @@ -32,6 +32,22 @@ export const geminiModels = {
},
],
},
"gemini-3-flash-preview": {
maxTokens: 65_536,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
defaultToolProtocol: "native",
supportsPromptCache: true,
supportsReasoningEffort: ["minimal", "low", "medium", "high"],
reasoningEffort: "medium",
supportsTemperature: true,
defaultTemperature: 1,
inputPrice: 0.3,
outputPrice: 2.5,
cacheReadsPrice: 0.075,
cacheWritesPrice: 1.0,
},
// 2.5 Pro models
"gemini-2.5-pro": {
maxTokens: 64_000,
Expand Down
16 changes: 16 additions & 0 deletions packages/types/src/providers/vertex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,22 @@ export const vertexModels = {
},
],
},
"gemini-3-flash-preview": {
maxTokens: 65_536,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
defaultToolProtocol: "native",
supportsPromptCache: true,
supportsReasoningEffort: ["minimal", "low", "medium", "high"],
reasoningEffort: "medium",
supportsTemperature: true,
defaultTemperature: 1,
inputPrice: 0.3,
outputPrice: 2.5,
cacheReadsPrice: 0.075,
cacheWritesPrice: 1.0,
},
"gemini-2.5-flash-preview-05-20:thinking": {
maxTokens: 65_535,
contextWindow: 1_048_576,
Expand Down
29 changes: 14 additions & 15 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 7 additions & 1 deletion src/api/providers/deepseek.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,13 @@ export class DeepSeekHandler extends OpenAiHandler {

// Convert messages to R1 format (merges consecutive same-role messages)
// This is required for DeepSeek which does not support successive messages with the same role
const convertedMessages = convertToR1Format([{ role: "user", content: systemPrompt }, ...messages])
// For thinking models (deepseek-reasoner), enable mergeToolResultText to preserve reasoning_content
// during tool call sequences. Without this, environment_details text after tool_results would
// create user messages that cause DeepSeek to drop all previous reasoning_content.
// See: https://api-docs.deepseek.com/guides/thinking_mode
const convertedMessages = convertToR1Format([{ role: "user", content: systemPrompt }, ...messages], {
mergeToolResultText: isThinkingModel,
})

const requestOptions: DeepSeekChatCompletionParams = {
model: modelId,
Expand Down
127 changes: 123 additions & 4 deletions src/api/transform/__tests__/bedrock-converse-format.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -141,10 +141,10 @@ describe("convertToBedrockConverseMessages", () => {
}
})

it("converts tool result messages correctly", () => {
it("converts tool result messages to XML text format (default, useNativeTools: false)", () => {
const messages: Anthropic.Messages.MessageParam[] = [
{
role: "assistant",
role: "user",
content: [
{
type: "tool_result",
Expand All @@ -155,14 +155,50 @@ describe("convertToBedrockConverseMessages", () => {
},
]

// Default behavior (useNativeTools: false) converts tool_result to XML text format
// This fixes the Bedrock error "toolConfig field must be defined when using toolUse and toolResult content blocks"
const result = convertToBedrockConverseMessages(messages)

if (!result[0] || !result[0].content) {
expect.fail("Expected result to have content")
return
}

expect(result[0].role).toBe("assistant")
expect(result[0].role).toBe("user")
const textBlock = result[0].content[0] as ContentBlock
if ("text" in textBlock) {
expect(textBlock.text).toContain("<tool_result>")
expect(textBlock.text).toContain("<tool_use_id>test-id</tool_use_id>")
expect(textBlock.text).toContain("File contents here")
expect(textBlock.text).toContain("</tool_result>")
} else {
expect.fail("Expected text block with XML content not found")
}
})

it("converts tool result messages to native format (useNativeTools: true)", () => {
const messages: Anthropic.Messages.MessageParam[] = [
{
role: "user",
content: [
{
type: "tool_result",
tool_use_id: "test-id",
content: [{ type: "text", text: "File contents here" }],
},
],
},
]

// With useNativeTools: true, keeps tool_result as native format
const result = convertToBedrockConverseMessages(messages, { useNativeTools: true })

if (!result[0] || !result[0].content) {
expect.fail("Expected result to have content")
return
}

expect(result[0].role).toBe("user")
const resultBlock = result[0].content[0] as ContentBlock
if ("toolResult" in resultBlock && resultBlock.toolResult) {
const expectedContent: ToolResultContentBlock[] = [{ text: "File contents here" }]
Expand All @@ -176,7 +212,7 @@ describe("convertToBedrockConverseMessages", () => {
}
})

it("converts tool result messages with string content correctly", () => {
it("converts tool result messages with string content to XML text format (default)", () => {
const messages: Anthropic.Messages.MessageParam[] = [
{
role: "user",
Expand All @@ -197,6 +233,39 @@ describe("convertToBedrockConverseMessages", () => {
return
}

expect(result[0].role).toBe("user")
const textBlock = result[0].content[0] as ContentBlock
if ("text" in textBlock) {
expect(textBlock.text).toContain("<tool_result>")
expect(textBlock.text).toContain("<tool_use_id>test-id</tool_use_id>")
expect(textBlock.text).toContain("File: test.txt")
expect(textBlock.text).toContain("Hello World")
} else {
expect.fail("Expected text block with XML content not found")
}
})

it("converts tool result messages with string content to native format (useNativeTools: true)", () => {
const messages: Anthropic.Messages.MessageParam[] = [
{
role: "user",
content: [
{
type: "tool_result",
tool_use_id: "test-id",
content: "File: test.txt\nLines 1-5:\nHello World",
} as any, // Anthropic types don't allow string content but runtime can have it
],
},
]

const result = convertToBedrockConverseMessages(messages, { useNativeTools: true })

if (!result[0] || !result[0].content) {
expect.fail("Expected result to have content")
return
}

expect(result[0].role).toBe("user")
const resultBlock = result[0].content[0] as ContentBlock
if ("toolResult" in resultBlock && resultBlock.toolResult) {
Expand All @@ -210,6 +279,56 @@ describe("convertToBedrockConverseMessages", () => {
}
})

it("converts both tool_use and tool_result consistently when native tools disabled", () => {
// This test ensures tool_use AND tool_result are both converted to XML text
// when useNativeTools is false, preventing Bedrock toolConfig errors
const messages: Anthropic.Messages.MessageParam[] = [
{
role: "assistant",
content: [
{
type: "tool_use",
id: "call-123",
name: "read_file",
input: { path: "test.txt" },
},
],
},
{
role: "user",
content: [
{
type: "tool_result",
tool_use_id: "call-123",
content: "File contents here",
} as any,
],
},
]

const result = convertToBedrockConverseMessages(messages) // default useNativeTools: false

// Both should be text blocks, not native toolUse/toolResult
const assistantContent = result[0]?.content?.[0] as ContentBlock
const userContent = result[1]?.content?.[0] as ContentBlock

// tool_use should be XML text
expect("text" in assistantContent).toBe(true)
if ("text" in assistantContent) {
expect(assistantContent.text).toContain("<tool_use>")
}

// tool_result should also be XML text (this is what the fix addresses)
expect("text" in userContent).toBe(true)
if ("text" in userContent) {
expect(userContent.text).toContain("<tool_result>")
}

// Neither should have native format
expect("toolUse" in assistantContent).toBe(false)
expect("toolResult" in userContent).toBe(false)
})

it("handles text content correctly", () => {
const messages: Anthropic.Messages.MessageParam[] = [
{
Expand Down
Loading