Commit graph

656 commits

Author SHA1 Message Date
Roo Code
4e61f778fe fix: ensure JSON Schema draft 2020-12 compliance for OpenAI-compatible providers
- Update convertToolSchemaForOpenAI in base-provider.ts to use normalizeToolSchema
  which properly converts type arrays (e.g., ["string", "null"]) to anyOf format
  required by JSON Schema draft 2020-12
- Update Cerebras stripUnsupportedSchemaFields to handle anyOf/oneOf/allOf arrays
- Add comprehensive tests for base-provider convertToolSchemaForOpenAI function

Fixes #10320
2025-12-24 05:35:39 +00:00
Hannes Rudolph
6afc59b928
fix(openai): send native tool definitions by default (#10314)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-23 15:57:18 -07:00
Hannes Rudolph
53e1ff0058
fix: preserve reasoning_details shape to prevent malformed responses (#10313) 2025-12-23 14:58:35 -07:00
Hannes Rudolph
ded6486a46
feat: enable mergeToolResultText for all OpenAI-compatible providers (#10299) 2025-12-23 14:19:33 -07:00
Hannes Rudolph
71f312b488
feat: enable mergeToolResultText for Roo Code Cloud provider (#10301) 2025-12-23 00:57:55 -07:00
Hannes Rudolph
a8ac2ced02
fix: emit tool_call_end events in BaseOpenAiCompatibleProvider (#10293) 2025-12-22 21:25:07 -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
Daniel
d00d9edec5
feat: deprecate XML tool protocol selection, force native for new tasks (#10281)
- Disable tool protocol selector UI in ApiOptions.tsx
- Force native protocol for all new tasks in resolveToolProtocol()
- Keep locked protocol support for resumed tasks that used XML
- Remove models without supportsNativeTools: true from providers:
  - baseten.ts: removed 6 models
  - bedrock.ts: removed 2 embedding models
  - featherless.ts: removed 3 models, updated default
  - groq.ts: removed 5 models
  - sambanova.ts: removed 2 models
  - vertex.ts: removed 7 models
  - vercel-ai-gateway.ts: added supportsNativeTools: true
- Update tests to expect native format output
2025-12-22 17:49:50 -08:00
Daniel
9b06a98b85
fix: emit tool_call_end events in OpenAI handler when streaming ends (#10280) 2025-12-22 17:00:58 -05:00
Hannes Rudolph
f462eeb80c
fix(chutes): add graceful fallback for model parsing (#10279)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2025-12-22 12:59:13 -07:00
Daniel
7fae76ec86
fix: move array-specific properties into anyOf variant in normalizeToolSchema (#10276)
* fix: move array-specific properties into anyOf variant in normalizeToolSchema

Fixes read_file tool schema rejection with GPT-5-mini which requires
items property to be inside the { type: 'array' } variant when using
anyOf for nullable arrays.

Resolves ROO-262

* refactor: extract array-specific properties constant and helper function
2025-12-22 11:01:43 -08:00
Daniel
6b141fbb25
fix: disable strict mode for MCP tools to preserve optional parameters (#10220)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-22 13:21:31 -05:00
roomote[bot]
e3cd031f17
feat: remove parallel_tool_calls parameter from litellm provider (#10274)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-22 09:11:47 -08:00
Hannes Rudolph
5c798a9877
fix: normalize tool schemas for VS Code LM API to fix error 400 (#10221) 2025-12-19 17:36:59 -07:00
Daniel
bade9326c6
fix: enable native tool calls for Requesty provider (ROO-235) (#10211) 2025-12-19 12:28:26 -08:00
Bruno Bergher
6e2b85214e
ux: improve API error handling and visibility (#10204)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-12-19 11:38:56 -08:00
Hannes Rudolph
61903f9588
feat(providers): add native tool calling support to LM Studio and Qwen-Code (#10208) 2025-12-19 12:50:09 -05:00
Hannes Rudolph
3f1f8be2d1
feat(vertex): add 1M context window beta support for Claude Sonnet 4 (#10209) 2025-12-19 12:24:45 -05:00
Patrick Decat
2dec78ccb4
fix: refresh models button not flushing cache properly (#9870) 2025-12-19 12:03:50 -05:00
Hannes Rudolph
9c03476a0f
feat(vertex): add native tool calling for Claude models on Vertex AI (#10197)
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-12-18 16:09:55 -08:00
Hannes Rudolph
e2d1599f9c
feat: improve 'no tools used' error handling with grace retry (#10196)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-12-18 15:29:01 -07:00
Daniel
3e0d9c65e8
feat: lock task tool protocol for consistent task resumption (#10192)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-18 11:54:26 -08:00
Hannes Rudolph
8251170b84
feat: Replace edit_file tool alias with edit_file tool (#9983) 2025-12-18 12:48:30 -07:00
Daniel
157a097032
feat(vscode-lm): add native tool support (#10191) 2025-12-18 11:25:54 -08:00
Hannes Rudolph
06c5c7f980
feat: update OpenAI and Gemini tool preferences (#10170) 2025-12-17 19:46:33 -08:00
Daniel
aa3b4ae9cc
fix: normalize MCP tool schemas for Bedrock and OpenAI strict mode (#10148) 2025-12-17 13:01:48 -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
roomote[bot]
eac0d62cfc
fix: support AWS GovCloud and China region ARNs in Bedrock provider (#10157)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-17 14:50:11 -05: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
Daniel
a9a15b37fd
feat: enable native tools by default for multiple providers (#10059) 2025-12-15 21:37:00 -08:00
Daniel
6619d46377
feat(anthropic): enable native tools by default and add telemetry tracking (#10021) 2025-12-15 21:32:44 -08:00
John Richmond
a80a74aa02
Capture more of OpenRouter's provider specific error details (#10073)
* Capture more of OpenRouter's provider specific error details

* Actually match the openrouter structure
2025-12-14 13:28:32 -08:00
roomote[bot]
9f3122fe28
feat: add AWS Bedrock service tier support (#9955)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-12-14 15:26:44 -05:00
Hannes Rudolph
e4b9568dc9
feat(openrouter): add improvements to openrouter provider (#10082) 2025-12-14 12:29:34 -07:00
Daniel
23a214c519
fix: extract raw error message from OpenRouter metadata (#10039)
OpenRouter wraps upstream provider errors in a generic message but includes
the actual error in metadata.raw. This change:

- Adds OpenRouterErrorResponse interface for proper typing
- Creates handleStreamingError() helper for DRY error handling
- Extracts metadata.raw for actionable error messages in PostHog
- Includes nested error structure so getErrorMessage() can extract raw message

Before: PostHog receives '400 Provider returned error' (generic)
After: PostHog receives 'Model xyz not found' (actionable)

This enables proper error tracking and debugging via PostHog telemetry.
2025-12-12 10:42:36 -08:00
Chris Estreich
7766b91360
Revert "fix: merge settings and versionedSettings for Roo provider models" (#10034) 2025-12-11 13:19:37 -08:00
Hannes Rudolph
c513df5ade
fix: merge settings and versionedSettings for Roo provider models (#10030) 2025-12-11 13:14:12 -08:00
Hannes Rudolph
51dbccf2e6
feat: add gpt-5.2 model to openai-native provider (#10024) 2025-12-11 13:16:31 -07:00
Hannes Rudolph
47320dca62
fix: handle empty Gemini responses and reasoning loops (#10007) 2025-12-11 08:55:47 -08:00
roomote[bot]
f9cfc66803
fix: add general API endpoints for Z.ai provider (#9894)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-11 07:38:26 -08:00
Hannes Rudolph
483e70c47b
fix: apply versioned settings on nightly builds (#9997) 2025-12-10 14:28:13 -08:00
Chris Estreich
2a70a2ec0e
@roo-code/types v1.90.0 (#9998) 2025-12-10 14:14:38 -08:00
Hannes Rudolph
f05dd59a2b
Remove Glama provider (#9801) 2025-12-10 14:08:29 -08:00
Daniel
fda020a418
fix: filter out 429 rate limit errors from API error telemetry (#9987)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: cte <cestreich@gmail.com>
2025-12-10 11:32:00 -08:00
Daniel
24eb6ae984
feat: add API error telemetry to OpenRouter provider (#9953)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-09 16:30:29 -08:00