Daniel
afe51e0fe8
feat: migrate Gemini and Vertex providers to AI SDK ( #11180 )
...
* feat: migrate Gemini and Vertex providers to AI SDK
- Migrate GeminiHandler from @google/genai to @ai-sdk/google
- Create standalone VertexHandler using @ai-sdk/google-vertex
- Use shared AI SDK utilities (streamText, generateText, convertToAiSdkMessages)
- Support thinkingConfig via providerOptions.google.thinkingConfig
- Support Google Search and URL Context grounding tools
- Preserve cost calculation with tiered pricing
- Remove gemini-format.ts (AI SDK handles message conversion)
EXT-643
* fix: remove unused import and implement allowedFunctionNames tool filtering
- Remove unused handleAiSdkError import from gemini.ts
- Implement tool filtering based on allowedFunctionNames in both
GeminiHandler and VertexHandler createMessage methods
- Filter tools before converting to AI SDK format to restrict
model access to only allowed functions
2026-02-04 17:31:48 -07:00
roomote[bot]
c5874fc764
feat: migrate SambaNova provider to AI SDK ( #11153 )
...
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2026-02-02 23:02:32 -05:00
Daniel
b5ae557834
feat(api): migrate Fireworks provider to AI SDK ( #11118 )
2026-01-30 14:52:49 -05:00
Daniel
4b1d78fe0a
feat: migrate DeepSeek to @ai-sdk/deepseek + fix AI SDK tool streaming ( #11079 )
2026-01-29 15:56:51 -05:00
Matt Rubens
40b2bdc4d0
Revert "feat(vscode-lm): add image support for VS Code LM API provider" ( #11068 )
2026-01-29 01:41:20 -05:00
roomote[bot]
49aac7ea00
feat(vscode-lm): add image support for VS Code LM API provider ( #11065 )
...
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2026-01-29 01:34:09 -05:00
Daniel
fe722dad23
feat: add AI SDK dependencies and message conversion utilities ( #11047 )
2026-01-28 14:05:53 -05:00
Daniel
f9a3a178db
fix: truncate AWS Bedrock toolUseId to 64 characters ( #10902 )
2026-01-24 00:49:33 -05:00
Hannes Rudolph
be0e8c2665
chore: clean up XML legacy code and native-only comments ( #10900 )
2026-01-22 15:56:11 -05:00
Hannes Rudolph
8de9337e63
chore: remove XML tool calling support ( #10841 )
...
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2026-01-20 20:25:08 -05:00
Daniel
ddac338fdd
fix: Gemini thought signature validation errors ( #10694 )
...
Co-authored-by: Roo Code <roomote@roocode.com>
2026-01-15 23:25:42 -05:00
Daniel
3a884ee01e
fix: filter out empty text blocks from user messages for Gemini compatibility ( #10728 )
2026-01-15 23:03:16 -05:00
Daniel
78821a3951
fix: use placeholder for empty tool result content to fix Gemini API validation ( #10672 )
2026-01-13 01:39:25 -05:00
Hannes Rudolph
168cfcaba5
fix: round-trip Gemini thought signatures for tool calls ( #10590 )
2026-01-09 20:03:58 -05:00
Daniel
907b94bc40
fix(openai): remove convertToSimpleMessages to fix tool calling for OpenAI-compatible providers ( #10575 )
2026-01-09 12:03:46 -05:00
Daniel
ade10e275f
fix(vscode-lm): order text parts before tool calls in assistant messages ( #10573 )
2026-01-09 10:01:26 -05:00
Daniel
9ac449919e
fix: ensure assistant message content is never undefined for Gemini compatibility ( #10559 )
2026-01-08 20:32:30 -05:00
Hannes Rudolph
53e1ff0058
fix: preserve reasoning_details shape to prevent malformed responses ( #10313 )
2025-12-23 14:58:35 -07:00
Hannes Rudolph
71f312b488
feat: enable mergeToolResultText for Roo Code Cloud provider ( #10301 )
2025-12-23 00:57:55 -07:00
Hannes Rudolph
eeaf33ce4e
refactor(zai): merge environment_details into tool result instead of system message ( #10289 )
2025-12-22 20:20:29 -07:00
Hannes Rudolph
e7c1851a8b
feat(minimax): move environment_details to system message for thinking models ( #10284 )
2025-12-22 19:59:42 -07:00
Hannes Rudolph
44a7ba5072
fix: improve reasoning_details accumulation and serialization ( #10285 )
2025-12-22 19:33:02 -07:00
Hannes Rudolph
518a4402a7
feat(zai): add GLM-4.7 model with thinking mode support ( #10282 )
...
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-22 18:01:16 -08:00
Hannes Rudolph
0b86796b8f
[feat] Claude Code Provider Native Tool Calling ( #10077 )
...
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2025-12-17 12:57:27 -08:00
Daniel
4693b9eb06
fix(bedrock): convert tool_result to XML text when native tools disabled ( #10155 )
2025-12-17 08:46:34 -08:00
Hannes Rudolph
970deead5b
fix(deepseek): preserve reasoning_content during tool call sequences ( #10141 )
...
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-17 11:05:55 -05:00
Hannes Rudolph
d274812332
feat(deepseek): implement interleaved thinking mode for deepseek-reasoner ( #9969 )
2025-12-16 15:13:43 -08:00
Daniel
a7b192adca
fix: normalize tool call IDs for cross-provider compatibility via OpenRouter ( #10102 )
2025-12-16 09:34:35 -08:00
Hannes Rudolph
47320dca62
fix: handle empty Gemini responses and reasoning loops ( #10007 )
2025-12-11 08:55:47 -08:00
Hannes Rudolph
048e7f3502
feat(gemini): add minimal and medium reasoning effort levels ( #9973 )
...
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: cte <cestreich@gmail.com>
2025-12-09 21:50:14 -08:00
Hannes Rudolph
de00ab10e2
refactor: consolidate ThinkingBudget components and fix disable handling ( #9930 )
2025-12-08 17:23:49 -08:00
Chris Estreich
ffff38be2c
Always enabled reasoning for models that require it ( #9836 )
2025-12-04 10:52:47 -08:00
Matt Rubens
d2b274a9af
Allow models to contain default temperature ( #9734 )
2025-12-01 23:29:42 -05:00
Matt Rubens
faa6c40ac1
Bedrock native tool calling ( #9698 )
2025-12-01 15:26:34 -05:00
Hannes Rudolph
fb9c57e1d9
fix: filter non-Anthropic content blocks before sending to Vertex API ( #9618 )
2025-11-26 17:47:04 -05:00
Hannes Rudolph
240bc0b6b1
feat(mistral): add native tool calling support ( #9625 )
2025-11-26 17:12:04 -05:00
Daniel
0327f12751
feat: implement streaming for native tool calls ( #9542 )
2025-11-24 23:12:39 -05:00
Daniel
5336246f4d
fix: gracefully skip unsupported content blocks in Gemini transformer ( #9537 )
...
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-11-24 15:14:21 -05:00
Daniel
b531075626
fix: support reasoning_details format for Gemini 3 models ( #9506 )
2025-11-24 00:47:25 -05:00
Daniel
5260123689
perf: reduce excessive getModel() calls & implement disk cache fallback ( #9410 )
2025-11-19 23:13:39 -05:00
Hannes Rudolph
e618d881d6
feat: enable native tool calling for gemini provider ( #9343 )
...
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-11-19 16:14:24 -05:00
Hannes Rudolph
840f421673
Fix Gemini thought signature validation and token counting errors ( #9380 )
...
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-11-18 23:30:10 -05:00
Hannes Rudolph
55e9c880d0
fix: gemini maxOutputTokens and reasoning config ( #9375 )
...
* fix: gemini maxOutputTokens and reasoning config
* test: tighten gemini reasoning typings
2025-11-18 19:52:50 -05:00
Matt Rubens
bc6fad1f9d
Add native tool calling support to OpenAI-compatible ( #9369 )
...
* Add native tool calling support to OpenAI-compatible
* Fix OpenAI strict mode schema validation by adding converter methods to BaseProvider
- Add convertToolsForOpenAI() and convertToolSchemaForOpenAI() methods to BaseProvider
- These methods ensure all properties are in required array and convert nullable types
- Remove line_ranges from required array in read_file tool (converter handles it)
- Update OpenAiHandler and BaseOpenAiCompatibleProvider to use helper methods
- Eliminates code duplication across multiple tool usage sites
- Fixes: OpenAI completion error: 400 Invalid schema for function 'read_file'
---------
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-11-18 18:20:51 -05:00
Hannes Rudolph
f7c2e8d164
Improve Google Gemini defaults, temperature, and cost reporting ( #9327 )
2025-11-17 23:38:38 -07:00
Hannes Rudolph
161345c6fa
revert out of scope changes from #9252 ( #9258 )
2025-11-14 00:19:09 -05:00
Hannes Rudolph
01cb12f167
Add GPT-5.1 models and clean up reasoning effort logic ( #9252 )
...
* Reasoning effort: capability-driven; add disable/none/minimal; remove GPT-5 minimal special-casing; document UI semantics; remove temporary logs
* Remove Unused supportsReasoningNone
* Roo reasoning: omit field on 'disable'; UI: do not flip enableReasoningEffort when selecting 'disable'
* Update packages/types/src/model.ts
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
* Update webview-ui/src/components/settings/SimpleThinkingBudget.tsx
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
---------
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2025-11-13 20:54:41 -05:00
Daniel
5e6e601b0a
Add native tool call support ( #9159 )
...
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-11-13 12:48:35 -05:00
Matt Rubens
b72d55ef45
Enabled reasoning in Roo provider ( #8874 )
2025-10-27 21:15:02 -04:00
Ton Hoang Nguyen (Bill)
c206da4a26
fix: Tackling Race/State condition issue by Changing the Code Design for Gemini Grounding Sources ( #7434 )
...
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-09-05 15:03:09 -04:00