Skip to content

Conversation

@roomote
Copy link
Contributor

@roomote roomote bot commented Dec 25, 2025

Removed the OpenRouter Transforms checkbox and all related logic from the codebase.

Changes

  • Removed openRouterUseMiddleOutTransform checkbox from OpenRouter settings UI
  • Removed openRouterUseMiddleOutTransform from TypeScript type definitions
  • Removed transforms parameter logic from OpenRouter API handler
  • Removed setting from EVALS_SETTINGS
  • Removed translation keys from all 18 locale files
  • Removed test cases related to the transforms feature

View task on Roo Code Cloud


Important

Removed OpenRouter Transforms feature, affecting UI, TypeScript, API logic, settings, translations, and tests.

  • UI:
    • Removed openRouterUseMiddleOutTransform checkbox from OpenRouter.tsx.
  • TypeScript:
    • Removed openRouterUseMiddleOutTransform from type definitions in provider-settings.ts.
  • API:
    • Removed transforms parameter logic from openrouter.ts.
  • Settings:
    • Removed openRouterUseMiddleOutTransform from EVALS_SETTINGS in global-settings.ts.
  • Translations:
    • Removed openRouterTransformsText from all 18 locale files.
  • Tests:
    • Removed test cases related to the transforms feature from openrouter.spec.ts.

This description was created by Ellipsis for e66bf54. You can customize this summary. It will automatically update as commits are pushed.

- Remove openRouterUseMiddleOutTransform checkbox from settings UI
- Remove openRouterUseMiddleOutTransform from TypeScript types
- Remove transforms parameter logic from OpenRouter handler
- Remove setting from EVALS_SETTINGS
- Remove translation keys from all locale files (18 locales)
@roomote
Copy link
Contributor Author

roomote bot commented Dec 25, 2025

Rooviewer Clock   See task on Roo Cloud

Review complete. No issues found.

The removal of the OpenRouter Transforms feature is thorough and consistent across all layers:

  • Type definitions properly updated
  • API handler cleanup correct
  • Test cases appropriately removed
  • UI components and imports cleaned up
  • All 18 locale files updated
  • State management references removed

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Dec 25, 2025
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Dec 25, 2025
@mrubens mrubens marked this pull request as ready for review December 25, 2025 17:31
@mrubens mrubens requested review from cte and jr as code owners December 25, 2025 17:31
@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Dec 25, 2025
@roomote
Copy link
Contributor Author

roomote bot commented Dec 25, 2025

Rooviewer Clock   See task on Roo Cloud

Review complete. No issues found.

The removal of the OpenRouter Transforms feature is thorough and consistent across all layers:

  • Type definitions properly updated
  • API handler cleanup correct
  • Test cases appropriately removed
  • UI components and imports cleaned up
  • All 18 locale files updated
  • State management references removed

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

@mrubens mrubens merged commit a07d28c into main Dec 25, 2025
28 checks passed
@mrubens mrubens deleted the feature/remove-openrouter-transforms branch December 25, 2025 17:53
@github-project-automation github-project-automation bot moved this from Triage to Done in Roo Code Roadmap Dec 25, 2025
@github-project-automation github-project-automation bot moved this from New to Done in Roo Code Roadmap Dec 25, 2025
mini2s added a commit to zgsm-ai/costrict that referenced this pull request Dec 26, 2025
* Remove defaultTemperature from Roo provider configuration (RooCodeInc#9932)

Co-authored-by: Roo Code <[email protected]>

* feat: forbid time estimates in architect mode (RooCodeInc#9931)

Co-authored-by: Roo Code <[email protected]>

* feat: streaming tool stats + token usage throttling (RooCodeInc#9926)

Co-authored-by: Matt Rubens <[email protected]>

* feat: Make Architect save to `/plans` and gitignore it (RooCodeInc#9944)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>

* feat: add announcement support CTA and social icons (RooCodeInc#9945)

* fix: display actual API error message instead of generic text on retry (RooCodeInc#9954)

* feat(roo): add versioned settings support with minPluginVersion gating (RooCodeInc#9934)

* Revert "feat: change defaultToolProtocol default from xml to native" (RooCodeInc#9956)

* fix: return undefined instead of 0 for disabled API timeout (RooCodeInc#9960)

* feat(deepseek): update DeepSeek models to V3.2 with new pricing (RooCodeInc#9962)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* Add a way to save screenshots from the browser tool (RooCodeInc#9963)

* Add a way to save screenshots from the browser tool

* fix: use cross-platform paths in BrowserSession screenshot tests

* fix: validate screenshot paths to prevent filesystem escape

---------

Co-authored-by: Roo Code <[email protected]>

* Tweaks to baseten model definitions (RooCodeInc#9866)

* fix: always show tool protocol selector for openai-compatible (RooCodeInc#9966)

* feat: add API error telemetry to OpenRouter provider (RooCodeInc#9953)

Co-authored-by: Roo Code <[email protected]>

* fix: validate and fix tool_result IDs before API requests (RooCodeInc#9952)

Co-authored-by: cte <[email protected]>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>

* fix: respect explicit supportsReasoningEffort array values (RooCodeInc#9970)

* v3.36.3 (RooCodeInc#9972)

* fix(activate): unify webview panel identifier to use consistent tabPanelId

* feat(gemini): add minimal and medium reasoning effort levels (RooCodeInc#9973)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: cte <[email protected]>

* Delete changeset files (RooCodeInc#9977)

* Add missing release notes for v3.36.3 (RooCodeInc#9979)

* feat: add error details modal with on-demand display (RooCodeInc#9985)

* feat: add error details modal with on-demand display

- Add errorDetails prop to ErrorRow component
- Show Info icon on hover in error header when errorDetails is provided
- Display detailed error message in modal dialog on Info icon click
- Add Copy to Clipboard button in error details modal
- Update generic error case to show localized message with details on demand
- Add i18n translations for error details UI

* UI Tweaks

* Properly handles error details

* i18n

* Lighter visual treatment for errors

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>

* Fix: Correct TODO list display order in chat view (ROO-107) (RooCodeInc#9991)

Co-authored-by: Roo Code <[email protected]>

* fix: prevent premature rawChunkTracker clearing for MCP tools (RooCodeInc#9993)

* fix: filter out 429 rate limit errors from API error telemetry (RooCodeInc#9987)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: cte <[email protected]>

* Release v3.36.4 (RooCodeInc#9994)

* Changeset version bump (RooCodeInc#9995)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* feat(telemetry): add app version to exception captures and filter 402 errors (RooCodeInc#9996)

Co-authored-by: cte <[email protected]>

* Remove Glama provider (RooCodeInc#9801)

* @roo-code/types v1.90.0 (RooCodeInc#9998)

* fix: apply versioned settings on nightly builds (RooCodeInc#9997)

* feat: add toggle for Enter key behavior in chat input (RooCodeInc#10002)

* chore: remove list_code_definition_names tool (RooCodeInc#10005)

Co-authored-by: cte <[email protected]>

* Update roomotes.yml (RooCodeInc#10008)

* fix: add general API endpoints for Z.ai provider (RooCodeInc#9894)

Co-authored-by: Roo Code <[email protected]>

* fix: handle empty Gemini responses and reasoning loops (RooCodeInc#10007)

* fix: add missing tool_result blocks to prevent API errors (RooCodeInc#10015)

* feat: add gpt-5.2 model to openai-native provider (RooCodeInc#10024)

* test: update built-in commands count to 9

* fix: filter orphaned tool_results when more results than tool_uses (RooCodeInc#10027)

* Release v3.36.5 (RooCodeInc#10029)

* Changeset version bump (RooCodeInc#10032)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* fix: merge settings and versionedSettings for Roo provider models (RooCodeInc#10030)

* Revert "fix: merge settings and versionedSettings for Roo provider models" (RooCodeInc#10034)

* Revert the 3.6.5 release (we halted it) (RooCodeInc#10036)

* Release v3.36.5 (RooCodeInc#10037)

* Changeset version bump (RooCodeInc#10038)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* test: adjust terminal count limits in TerminalRegistry tests

* ux: improve auto-approve timer visibility in follow-up suggestions (RooCodeInc#10048)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>

* fix: cancel auto-approval timeout when user starts typing (RooCodeInc#9937)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* fix: extract raw error message from OpenRouter metadata (RooCodeInc#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.

* feat: add tool alias support for model-specific tool customization (RooCodeInc#9989)

Co-authored-by: Hannes Rudolph <[email protected]>

* fix: show tool protocol dropdown for LiteLLM provider (RooCodeInc#10053)

* feat: add WorkspaceTaskVisibility type for organization cloud settings (RooCodeInc#10020)

* feat: add WorkspaceTaskVisibility type and workspaceTaskVisibility property to OrganizationCloudSettings

* refactor: create workspaceTaskVisibilitySchema and derive WorkspaceTaskVisibility type from it

---------

Co-authored-by: Roo Code <[email protected]>

* Release: v1.91.0 (RooCodeInc#10055)

chore: bump version to v1.91.0

* feat: sanitize MCP server/tool names for API compatibility (RooCodeInc#10054)

* Release v3.36.6 (RooCodeInc#10057)

* Changeset version bump (RooCodeInc#10058)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* fix: use JavaScript-based hover for checkpoint menu visibility (RooCodeInc#10056)

* feat: remove auto-approve toggles for to-do and retry actions (RooCodeInc#10062)

* feat(openrouter): add improvements to openrouter provider (RooCodeInc#10082)

* feat: Add Amazon Nova 2 Lite model to Bedrock provider (RooCodeInc#9830)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* feat: add AWS Bedrock service tier support (RooCodeInc#9955)

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* Capture more of OpenRouter's provider specific error details (RooCodeInc#10073)

* Capture more of OpenRouter's provider specific error details

* Actually match the openrouter structure

* feat(web-evals): improve run logs and formatters (RooCodeInc#10081)

* Move isToolAllowedForMode out of shared directory (RooCodeInc#10089)

* chore: add changeset for v3.36.7 (RooCodeInc#10091)

* Changeset version bump (RooCodeInc#10092)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* fix: prevent duplicate MCP tools error by deduplicating servers at source (RooCodeInc#10096)

* feat: add metadata to error details dialog (RooCodeInc#10050)

* feat: add metadata to error details dialog

- Prepends extension version, provider, model, and repository info to error details
- Helps users provide better bug reports with context
- Uses useExtensionState and useSelectedModel hooks for data

* Tweaks

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>

* web: Fixes link to provider pricing page (RooCodeInc#10107)

* feat(read-file): implement incremental token-budgeted file reading (RooCodeInc#10052)

* Add config to control public sharing (RooCodeInc#10105)

Co-authored-by: Roo Code <[email protected]>

* Release: v1.92.0 (RooCodeInc#10116)

* Remove the description from bedrock service tiers (RooCodeInc#10118)

* feat: remove strict ARN validation for Bedrock custom ARN users (RooCodeInc#10110)

Co-authored-by: Roo Code <[email protected]>

* fix: prevent race condition from deleting wrong API messages (RooCodeInc#10113)

Co-authored-by: daniel-lxs <[email protected]>

* feat(anthropic): enable native tools by default and add telemetry tracking (RooCodeInc#10021)

* feat: enable native tools by default for multiple providers (RooCodeInc#10059)

* Release v3.36.8 (RooCodeInc#10119)

* fix: add additionalProperties: false to nested MCP tool schemas (RooCodeInc#10109)

* fix: normalize tool call IDs for cross-provider compatibility via OpenRouter (RooCodeInc#10102)

* feat: add full error details to streaming failure dialog (RooCodeInc#10131)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: cte <[email protected]>

* fix: validate tool_result IDs in delegation resume flow (RooCodeInc#10135)

* feat(evals): improve evals UI with tool groups and duration fix (RooCodeInc#10133)

Co-authored-by: Roo Code <[email protected]>

* Changeset version bump (RooCodeInc#10120)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Release v3.36.9 (RooCodeInc#10138)

* Changeset version bump (RooCodeInc#10137)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* fix: correct token counting for context truncation display (RooCodeInc#9961)

* feat(deepseek): implement interleaved thinking mode for deepseek-reasoner (RooCodeInc#9969)

* Update next.js to ~15.2.8 (RooCodeInc#10140)

* fix(deepseek): preserve reasoning_content during tool call sequences (RooCodeInc#10141)

Co-authored-by: Roo Code <[email protected]>

* feat: add gemini-3-flash-preview model (RooCodeInc#10151)

* Release v3.36.10 (RooCodeInc#10153)

* Changeset version bump (RooCodeInc#10154)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* fix(bedrock): convert tool_result to XML text when native tools disabled (RooCodeInc#10155)

* fix: remove dots and colons from MCP tool names for Bedrock compatibility (RooCodeInc#10152)

* fix: improve terminal process error handling and abort operation

* fix(ROO-202): refresh Roo models cache with session token on auth state change (RooCodeInc#10156)

* fix: support AWS GovCloud and China region ARNs in Bedrock provider (RooCodeInc#10157)

Co-authored-by: Roo Code <[email protected]>

* feat: enable native tool calling by default for Z.ai models (RooCodeInc#10158)

Co-authored-by: Roo Code <[email protected]>

* [feat] Claude Code Provider Native Tool Calling (RooCodeInc#10077)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* fix: normalize MCP tool schemas for Bedrock and OpenAI strict mode (RooCodeInc#10148)

* fix: enable native tools by default for OpenAI compatible provider (RooCodeInc#10159)

* Release v3.36.11 (RooCodeInc#10161)

* Changeset version bump (RooCodeInc#10162)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* feat(telemetry): extract error messages from JSON payloads for better PostHog grouping (RooCodeInc#10163)

* fix: add userAgentAppId to Bedrock embedder for code indexing (RooCodeInc#10166)

Adds userAgentAppId configuration to the BedrockRuntimeClient in the
code indexing embedder, matching the implementation pattern already
used in the main Bedrock API provider.

This enables proper user agent identification in CloudTrail AWS requests
when using Bedrock for code indexing embeddings.

Fixes RooCodeInc#10165

Co-authored-by: Roo Code <[email protected]>

* feat: update OpenAI and Gemini tool preferences (RooCodeInc#10170)

* Release v3.36.12 (RooCodeInc#10181)

* Changeset version bump (RooCodeInc#10182)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* Revert "Revert "feat: change defaultToolProtocol default from xml to native"" (RooCodeInc#10186)

Co-authored-by: Roo Code <[email protected]>

* fix(litellm): merge default model info with router models for NTC support (RooCodeInc#10187)

* feat(types): add defaultToolProtocol: native to providers

- Added supportsNativeTools: true and defaultToolProtocol: native to all chutes models
- Added defaultToolProtocol: native to moonshot models (already had supportsNativeTools)
- Added defaultToolProtocol: native to litellm default model (already had supportsNativeTools)
- Added defaultToolProtocol: native to minimax models (already had supportsNativeTools)

This enables native tool calling by default for these providers, reducing
the number of users falling back to XML tool protocol unnecessarily.

* fix(litellm): merge only native tool defaults with router models

Only merges supportsNativeTools and defaultToolProtocol from litellmDefaultModelInfo,
not prices or other model-specific info that could be incorrect for different models.

* Release: v1.93.0 (RooCodeInc#10190)

* feat(vscode-lm): add native tool support (RooCodeInc#10191)

* feat: Replace edit_file tool alias with edit_file tool (RooCodeInc#9983)

* feat: lock task tool protocol for consistent task resumption (RooCodeInc#10192)

Co-authored-by: Roo Code <[email protected]>

* feat(telemetry): add PostHog exception tracking for consecutive mistake errors (RooCodeInc#10193)

* Release v3.36.13 (RooCodeInc#10194)

* Changeset version bump (RooCodeInc#10195)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* feat: improve 'no tools used' error handling with grace retry (RooCodeInc#10196)

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* feat(vertex): add native tool calling for Claude models on Vertex AI (RooCodeInc#10197)

Co-authored-by: daniel-lxs <[email protected]>

* fix: strip unsupported JSON Schema format values for OpenAI compatibility (RooCodeInc#10198)

* Release v3.36.14 (RooCodeInc#10200)

* Changeset version bump (RooCodeInc#10201)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* feat(telemetry): add telemetry event handling through webview messages

* fix: refresh models button not flushing cache properly (RooCodeInc#9870)

* feat(vertex): add 1M context window beta support for Claude Sonnet 4 (RooCodeInc#10209)

* feat(providers): add native tool calling support to LM Studio and Qwen-Code (RooCodeInc#10208)

* ux: improve API error handling and visibility (RooCodeInc#10204)

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Daniel <[email protected]>

* ux: add downloadable error diagnostics from chat errors (RooCodeInc#10188)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: Chris Estreich <[email protected]>

* feat: merge native tool defaults for openai-compatible provider (RooCodeInc#10213)

* fix: force additionalProperties false for strict mode compatibility (RooCodeInc#10210)

* fix: enable native tool calls for Requesty provider (ROO-235) (RooCodeInc#10211)

* Release v3.36.15 (RooCodeInc#10218)

* Changeset version bump (RooCodeInc#10219)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* fix: normalize tool schemas for VS Code LM API to fix error 400 (RooCodeInc#10221)

* Release v3.36.16 (RooCodeInc#10224)

* Changeset version bump (RooCodeInc#10225)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* Custom tool calling (RooCodeInc#10083)

* Remove the "test" custom tools (RooCodeInc#10255)

Co-authored-by: Roo Code <[email protected]>

* Add custom tool definitions to @roo-code/types (RooCodeInc#10233)

Co-authored-by: Roo Code <[email protected]>

* fix(evals): add missing packages/core to Dockerfile.runner (RooCodeInc#10272)

* feat: add Cloud Team page with comprehensive team features (RooCodeInc#10267)

* feat: add Cloud Team page with features and pricing integration

* Copy tweaks

* Visual tweaks

* Content adjustments

* Update apps/web-roo-code/src/app/cloud/team/page.tsx

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* feat: remove parallel_tool_calls parameter from litellm provider (RooCodeInc#10274)

Co-authored-by: Roo Code <[email protected]>

* feat(build): add types package bundling and alias support

* update(settings): change default tool protocol to XML

* fix: enable Requesty refresh models with credentials (RooCodeInc#10273)

* fix: disable strict mode for MCP tools to preserve optional parameters (RooCodeInc#10220)

Co-authored-by: Roo Code <[email protected]>

* fix: move array-specific properties into anyOf variant in normalizeToolSchema (RooCodeInc#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

* refactor(custom-tools): improve tool loading and instance consistency

* fix(chutes): add graceful fallback for model parsing (RooCodeInc#10279)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* fix: emit tool_call_end events in OpenAI handler when streaming ends (RooCodeInc#10280)

* feat(core): add support for custom tool parsing in AssistantMessageParser

* Merge remote-tracking branch 'upstream/main' into roo-to-main

* feat: deprecate XML tool protocol selection, force native for new tasks (RooCodeInc#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

* feat(zai): add GLM-4.7 model with thinking mode support (RooCodeInc#10282)

Co-authored-by: Roo Code <[email protected]>

* fix: improve reasoning_details accumulation and serialization (RooCodeInc#10285)

* feat(evals): add message log deduper utility (RooCodeInc#10286)

* feat(minimax): move environment_details to system message for thinking models (RooCodeInc#10284)

* fix: add CRLF line ending normalization to search_replace and search_and_replace tools (RooCodeInc#10288)

- Normalize file content to LF after reading to ensure consistent matching
- Normalize search/replace strings to handle CRLF from model output
- Add comprehensive CRLF normalization tests for both tools
- Consistent with existing edit_file tool behavior

* refactor(zai): merge environment_details into tool result instead of system message (RooCodeInc#10289)

* fix: emit tool_call_end events in BaseOpenAiCompatibleProvider (RooCodeInc#10293)

* fix: preserve reasoning_content in condense summary for DeepSeek-reasoner (RooCodeInc#10292)

* Release v3.37.0 (RooCodeInc#10295)

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Changeset version bump (RooCodeInc#10296)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat: enable mergeToolResultText for Roo Code Cloud provider (RooCodeInc#10301)

* feat: add grace retry for empty assistant messages (RooCodeInc#10297)

Implements grace retry error handling for 'no assistant messages' API
errors, following the same pattern as PR RooCodeInc#10196 for 'no tools used'.

- Add consecutiveNoAssistantMessagesCount counter to Task.ts
- First failure: silent retry (grace retry)
- After 2+ consecutive failures: show MODEL_NO_ASSISTANT_MESSAGES error
- Add UI handling in ChatRow.tsx with ErrorRow component
- Add localized strings to all 18 locale files
- Add comprehensive tests for the grace retry behavior

* Release: v1.95.0 (RooCodeInc#10309)

chore: bump version to v1.95.0

* feat(prompts): strengthen native tool-use guidance (RooCodeInc#10311)

* feat: enable mergeToolResultText for all OpenAI-compatible providers (RooCodeInc#10299)

* fix: preserve reasoning_details shape to prevent malformed responses (RooCodeInc#10313)

* fix(task): drain queued messages while waiting for ask (RooCodeInc#10315)

* fix(openai): send native tool definitions by default (RooCodeInc#10314)

Co-authored-by: Roo Code <[email protected]>

* ux: Provider-centric signup (RooCodeInc#10306)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* chore: add changeset for v3.37.1 (RooCodeInc#10316)

* Changeset version bump (RooCodeInc#10317)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* refactor: simplify tool protocol resolution logic

* refactor: optimize stream rendering and file reading limits

* refactor(tools): simplify extractTextFromFile parameters

* feat(chat): add tool protocol display to task header

* fix(test): respect user toolProtocol preference over model capabilities

* update(provider): update zgsm model handling and native tool protocol logic

* feat: remove OpenRouter Transforms feature (RooCodeInc#10341)

- Remove openRouterUseMiddleOutTransform checkbox from settings UI
- Remove openRouterUseMiddleOutTransform from TypeScript types
- Remove transforms parameter logic from OpenRouter handler
- Remove setting from EVALS_SETTINGS
- Remove translation keys from all locale files (18 locales)

Co-authored-by: Roo Code <[email protected]>

* feat: remove simpleReadFileTool completely (RooCodeInc#10254)

- Delete simpleReadFileTool.ts file
- Delete simple-read-file.ts prompt description file
- Delete single-file-read-models.ts types file
- Remove imports and usage from presentAssistantMessage.ts
- Remove imports and usage from prompts/tools/index.ts
- Remove export from packages/types/src/index.ts

This removes all traces of the legacy single-file read tool implementation that was used for specific models. All models now use the standard read_file tool.

Co-authored-by: Roo Code <[email protected]>

---------

Co-authored-by: Matt Rubens <[email protected]>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: Daniel <[email protected]>
Co-authored-by: cte <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: John Richmond <[email protected]>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: Patrick Decat <[email protected]>
mini2s added a commit to zgsm-ai/costrict that referenced this pull request Dec 26, 2025
* feat: Make Architect save to `/plans` and gitignore it (RooCodeInc#9944)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>

* feat: add announcement support CTA and social icons (RooCodeInc#9945)

* fix: display actual API error message instead of generic text on retry (RooCodeInc#9954)

* feat(roo): add versioned settings support with minPluginVersion gating (RooCodeInc#9934)

* Revert "feat: change defaultToolProtocol default from xml to native" (RooCodeInc#9956)

* fix: return undefined instead of 0 for disabled API timeout (RooCodeInc#9960)

* feat(deepseek): update DeepSeek models to V3.2 with new pricing (RooCodeInc#9962)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* Add a way to save screenshots from the browser tool (RooCodeInc#9963)

* Add a way to save screenshots from the browser tool

* fix: use cross-platform paths in BrowserSession screenshot tests

* fix: validate screenshot paths to prevent filesystem escape

---------

Co-authored-by: Roo Code <[email protected]>

* Tweaks to baseten model definitions (RooCodeInc#9866)

* fix: always show tool protocol selector for openai-compatible (RooCodeInc#9966)

* feat: add API error telemetry to OpenRouter provider (RooCodeInc#9953)

Co-authored-by: Roo Code <[email protected]>

* fix: validate and fix tool_result IDs before API requests (RooCodeInc#9952)

Co-authored-by: cte <[email protected]>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>

* fix: respect explicit supportsReasoningEffort array values (RooCodeInc#9970)

* v3.36.3 (RooCodeInc#9972)

* fix(activate): unify webview panel identifier to use consistent tabPanelId

* feat(gemini): add minimal and medium reasoning effort levels (RooCodeInc#9973)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: cte <[email protected]>

* Delete changeset files (RooCodeInc#9977)

* Add missing release notes for v3.36.3 (RooCodeInc#9979)

* feat: add error details modal with on-demand display (RooCodeInc#9985)

* feat: add error details modal with on-demand display

- Add errorDetails prop to ErrorRow component
- Show Info icon on hover in error header when errorDetails is provided
- Display detailed error message in modal dialog on Info icon click
- Add Copy to Clipboard button in error details modal
- Update generic error case to show localized message with details on demand
- Add i18n translations for error details UI

* UI Tweaks

* Properly handles error details

* i18n

* Lighter visual treatment for errors

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>

* Fix: Correct TODO list display order in chat view (ROO-107) (RooCodeInc#9991)

Co-authored-by: Roo Code <[email protected]>

* fix: prevent premature rawChunkTracker clearing for MCP tools (RooCodeInc#9993)

* fix: filter out 429 rate limit errors from API error telemetry (RooCodeInc#9987)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: cte <[email protected]>

* Release v3.36.4 (RooCodeInc#9994)

* Changeset version bump (RooCodeInc#9995)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* feat(telemetry): add app version to exception captures and filter 402 errors (RooCodeInc#9996)

Co-authored-by: cte <[email protected]>

* Remove Glama provider (RooCodeInc#9801)

* @roo-code/types v1.90.0 (RooCodeInc#9998)

* fix: apply versioned settings on nightly builds (RooCodeInc#9997)

* feat: add toggle for Enter key behavior in chat input (RooCodeInc#10002)

* chore: remove list_code_definition_names tool (RooCodeInc#10005)

Co-authored-by: cte <[email protected]>

* Update roomotes.yml (RooCodeInc#10008)

* fix: add general API endpoints for Z.ai provider (RooCodeInc#9894)

Co-authored-by: Roo Code <[email protected]>

* fix: handle empty Gemini responses and reasoning loops (RooCodeInc#10007)

* fix: add missing tool_result blocks to prevent API errors (RooCodeInc#10015)

* feat: add gpt-5.2 model to openai-native provider (RooCodeInc#10024)

* test: update built-in commands count to 9

* fix: filter orphaned tool_results when more results than tool_uses (RooCodeInc#10027)

* Release v3.36.5 (RooCodeInc#10029)

* Changeset version bump (RooCodeInc#10032)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* fix: merge settings and versionedSettings for Roo provider models (RooCodeInc#10030)

* Revert "fix: merge settings and versionedSettings for Roo provider models" (RooCodeInc#10034)

* Revert the 3.6.5 release (we halted it) (RooCodeInc#10036)

* Release v3.36.5 (RooCodeInc#10037)

* Changeset version bump (RooCodeInc#10038)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* test: adjust terminal count limits in TerminalRegistry tests

* ux: improve auto-approve timer visibility in follow-up suggestions (RooCodeInc#10048)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>

* fix: cancel auto-approval timeout when user starts typing (RooCodeInc#9937)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* fix: extract raw error message from OpenRouter metadata (RooCodeInc#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.

* feat: add tool alias support for model-specific tool customization (RooCodeInc#9989)

Co-authored-by: Hannes Rudolph <[email protected]>

* fix: show tool protocol dropdown for LiteLLM provider (RooCodeInc#10053)

* feat: add WorkspaceTaskVisibility type for organization cloud settings (RooCodeInc#10020)

* feat: add WorkspaceTaskVisibility type and workspaceTaskVisibility property to OrganizationCloudSettings

* refactor: create workspaceTaskVisibilitySchema and derive WorkspaceTaskVisibility type from it

---------

Co-authored-by: Roo Code <[email protected]>

* Release: v1.91.0 (RooCodeInc#10055)

chore: bump version to v1.91.0

* feat: sanitize MCP server/tool names for API compatibility (RooCodeInc#10054)

* Release v3.36.6 (RooCodeInc#10057)

* Changeset version bump (RooCodeInc#10058)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* fix: use JavaScript-based hover for checkpoint menu visibility (RooCodeInc#10056)

* feat: remove auto-approve toggles for to-do and retry actions (RooCodeInc#10062)

* feat(openrouter): add improvements to openrouter provider (RooCodeInc#10082)

* feat: Add Amazon Nova 2 Lite model to Bedrock provider (RooCodeInc#9830)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* feat: add AWS Bedrock service tier support (RooCodeInc#9955)

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>

* Capture more of OpenRouter's provider specific error details (RooCodeInc#10073)

* Capture more of OpenRouter's provider specific error details

* Actually match the openrouter structure

* feat(web-evals): improve run logs and formatters (RooCodeInc#10081)

* Move isToolAllowedForMode out of shared directory (RooCodeInc#10089)

* chore: add changeset for v3.36.7 (RooCodeInc#10091)

* Changeset version bump (RooCodeInc#10092)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* fix: prevent duplicate MCP tools error by deduplicating servers at source (RooCodeInc#10096)

* feat: add metadata to error details dialog (RooCodeInc#10050)

* feat: add metadata to error details dialog

- Prepends extension version, provider, model, and repository info to error details
- Helps users provide better bug reports with context
- Uses useExtensionState and useSelectedModel hooks for data

* Tweaks

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>

* web: Fixes link to provider pricing page (RooCodeInc#10107)

* feat(read-file): implement incremental token-budgeted file reading (RooCodeInc#10052)

* Add config to control public sharing (RooCodeInc#10105)

Co-authored-by: Roo Code <[email protected]>

* Release: v1.92.0 (RooCodeInc#10116)

* Remove the description from bedrock service tiers (RooCodeInc#10118)

* feat: remove strict ARN validation for Bedrock custom ARN users (RooCodeInc#10110)

Co-authored-by: Roo Code <[email protected]>

* fix: prevent race condition from deleting wrong API messages (RooCodeInc#10113)

Co-authored-by: daniel-lxs <[email protected]>

* feat(anthropic): enable native tools by default and add telemetry tracking (RooCodeInc#10021)

* feat: enable native tools by default for multiple providers (RooCodeInc#10059)

* Release v3.36.8 (RooCodeInc#10119)

* fix: add additionalProperties: false to nested MCP tool schemas (RooCodeInc#10109)

* fix: normalize tool call IDs for cross-provider compatibility via OpenRouter (RooCodeInc#10102)

* feat: add full error details to streaming failure dialog (RooCodeInc#10131)

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: cte <[email protected]>

* fix: validate tool_result IDs in delegation resume flow (RooCodeInc#10135)

* feat(evals): improve evals UI with tool groups and duration fix (RooCodeInc#10133)

Co-authored-by: Roo Code <[email protected]>

* Changeset version bump (RooCodeInc#10120)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Release v3.36.9 (RooCodeInc#10138)

* Changeset version bump (RooCodeInc#10137)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* fix: correct token counting for context truncation display (RooCodeInc#9961)

* feat(deepseek): implement interleaved thinking mode for deepseek-reasoner (RooCodeInc#9969)

* Update next.js to ~15.2.8 (RooCodeInc#10140)

* fix(deepseek): preserve reasoning_content during tool call sequences (RooCodeInc#10141)

Co-authored-by: Roo Code <[email protected]>

* feat: add gemini-3-flash-preview model (RooCodeInc#10151)

* Release v3.36.10 (RooCodeInc#10153)

* Changeset version bump (RooCodeInc#10154)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* fix(bedrock): convert tool_result to XML text when native tools disabled (RooCodeInc#10155)

* fix: remove dots and colons from MCP tool names for Bedrock compatibility (RooCodeInc#10152)

* fix: improve terminal process error handling and abort operation

* fix(ROO-202): refresh Roo models cache with session token on auth state change (RooCodeInc#10156)

* fix: support AWS GovCloud and China region ARNs in Bedrock provider (RooCodeInc#10157)

Co-authored-by: Roo Code <[email protected]>

* feat: enable native tool calling by default for Z.ai models (RooCodeInc#10158)

Co-authored-by: Roo Code <[email protected]>

* [feat] Claude Code Provider Native Tool Calling (RooCodeInc#10077)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* fix: normalize MCP tool schemas for Bedrock and OpenAI strict mode (RooCodeInc#10148)

* fix: enable native tools by default for OpenAI compatible provider (RooCodeInc#10159)

* Release v3.36.11 (RooCodeInc#10161)

* Changeset version bump (RooCodeInc#10162)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* feat(telemetry): extract error messages from JSON payloads for better PostHog grouping (RooCodeInc#10163)

* fix: add userAgentAppId to Bedrock embedder for code indexing (RooCodeInc#10166)

Adds userAgentAppId configuration to the BedrockRuntimeClient in the
code indexing embedder, matching the implementation pattern already
used in the main Bedrock API provider.

This enables proper user agent identification in CloudTrail AWS requests
when using Bedrock for code indexing embeddings.

Fixes RooCodeInc#10165

Co-authored-by: Roo Code <[email protected]>

* feat: update OpenAI and Gemini tool preferences (RooCodeInc#10170)

* Release v3.36.12 (RooCodeInc#10181)

* Changeset version bump (RooCodeInc#10182)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* Revert "Revert "feat: change defaultToolProtocol default from xml to native"" (RooCodeInc#10186)

Co-authored-by: Roo Code <[email protected]>

* fix(litellm): merge default model info with router models for NTC support (RooCodeInc#10187)

* feat(types): add defaultToolProtocol: native to providers

- Added supportsNativeTools: true and defaultToolProtocol: native to all chutes models
- Added defaultToolProtocol: native to moonshot models (already had supportsNativeTools)
- Added defaultToolProtocol: native to litellm default model (already had supportsNativeTools)
- Added defaultToolProtocol: native to minimax models (already had supportsNativeTools)

This enables native tool calling by default for these providers, reducing
the number of users falling back to XML tool protocol unnecessarily.

* fix(litellm): merge only native tool defaults with router models

Only merges supportsNativeTools and defaultToolProtocol from litellmDefaultModelInfo,
not prices or other model-specific info that could be incorrect for different models.

* Release: v1.93.0 (RooCodeInc#10190)

* feat(vscode-lm): add native tool support (RooCodeInc#10191)

* feat: Replace edit_file tool alias with edit_file tool (RooCodeInc#9983)

* feat: lock task tool protocol for consistent task resumption (RooCodeInc#10192)

Co-authored-by: Roo Code <[email protected]>

* feat(telemetry): add PostHog exception tracking for consecutive mistake errors (RooCodeInc#10193)

* Release v3.36.13 (RooCodeInc#10194)

* Changeset version bump (RooCodeInc#10195)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* feat: improve 'no tools used' error handling with grace retry (RooCodeInc#10196)

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* feat(vertex): add native tool calling for Claude models on Vertex AI (RooCodeInc#10197)

Co-authored-by: daniel-lxs <[email protected]>

* fix: strip unsupported JSON Schema format values for OpenAI compatibility (RooCodeInc#10198)

* Release v3.36.14 (RooCodeInc#10200)

* Changeset version bump (RooCodeInc#10201)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* feat(telemetry): add telemetry event handling through webview messages

* fix: refresh models button not flushing cache properly (RooCodeInc#9870)

* feat(vertex): add 1M context window beta support for Claude Sonnet 4 (RooCodeInc#10209)

* feat(providers): add native tool calling support to LM Studio and Qwen-Code (RooCodeInc#10208)

* ux: improve API error handling and visibility (RooCodeInc#10204)

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Daniel <[email protected]>

* ux: add downloadable error diagnostics from chat errors (RooCodeInc#10188)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: Chris Estreich <[email protected]>

* feat: merge native tool defaults for openai-compatible provider (RooCodeInc#10213)

* fix: force additionalProperties false for strict mode compatibility (RooCodeInc#10210)

* fix: enable native tool calls for Requesty provider (ROO-235) (RooCodeInc#10211)

* Release v3.36.15 (RooCodeInc#10218)

* Changeset version bump (RooCodeInc#10219)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <[email protected]>

* fix: normalize tool schemas for VS Code LM API to fix error 400 (RooCodeInc#10221)

* Release v3.36.16 (RooCodeInc#10224)

* Changeset version bump (RooCodeInc#10225)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* Custom tool calling (RooCodeInc#10083)

* Remove the "test" custom tools (RooCodeInc#10255)

Co-authored-by: Roo Code <[email protected]>

* Add custom tool definitions to @roo-code/types (RooCodeInc#10233)

Co-authored-by: Roo Code <[email protected]>

* fix(evals): add missing packages/core to Dockerfile.runner (RooCodeInc#10272)

* feat: add Cloud Team page with comprehensive team features (RooCodeInc#10267)

* feat: add Cloud Team page with features and pricing integration

* Copy tweaks

* Visual tweaks

* Content adjustments

* Update apps/web-roo-code/src/app/cloud/team/page.tsx

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* feat: remove parallel_tool_calls parameter from litellm provider (RooCodeInc#10274)

Co-authored-by: Roo Code <[email protected]>

* feat(build): add types package bundling and alias support

* update(settings): change default tool protocol to XML

* fix: enable Requesty refresh models with credentials (RooCodeInc#10273)

* fix: disable strict mode for MCP tools to preserve optional parameters (RooCodeInc#10220)

Co-authored-by: Roo Code <[email protected]>

* fix: move array-specific properties into anyOf variant in normalizeToolSchema (RooCodeInc#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

* refactor(custom-tools): improve tool loading and instance consistency

* fix(chutes): add graceful fallback for model parsing (RooCodeInc#10279)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

* fix: emit tool_call_end events in OpenAI handler when streaming ends (RooCodeInc#10280)

* feat(core): add support for custom tool parsing in AssistantMessageParser

* Merge remote-tracking branch 'upstream/main' into roo-to-main

* feat: deprecate XML tool protocol selection, force native for new tasks (RooCodeInc#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

* feat(zai): add GLM-4.7 model with thinking mode support (RooCodeInc#10282)

Co-authored-by: Roo Code <[email protected]>

* fix: improve reasoning_details accumulation and serialization (RooCodeInc#10285)

* feat(evals): add message log deduper utility (RooCodeInc#10286)

* feat(minimax): move environment_details to system message for thinking models (RooCodeInc#10284)

* fix: add CRLF line ending normalization to search_replace and search_and_replace tools (RooCodeInc#10288)

- Normalize file content to LF after reading to ensure consistent matching
- Normalize search/replace strings to handle CRLF from model output
- Add comprehensive CRLF normalization tests for both tools
- Consistent with existing edit_file tool behavior

* refactor(zai): merge environment_details into tool result instead of system message (RooCodeInc#10289)

* fix: emit tool_call_end events in BaseOpenAiCompatibleProvider (RooCodeInc#10293)

* fix: preserve reasoning_content in condense summary for DeepSeek-reasoner (RooCodeInc#10292)

* Release v3.37.0 (RooCodeInc#10295)

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Changeset version bump (RooCodeInc#10296)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* feat: enable mergeToolResultText for Roo Code Cloud provider (RooCodeInc#10301)

* feat: add grace retry for empty assistant messages (RooCodeInc#10297)

Implements grace retry error handling for 'no assistant messages' API
errors, following the same pattern as PR RooCodeInc#10196 for 'no tools used'.

- Add consecutiveNoAssistantMessagesCount counter to Task.ts
- First failure: silent retry (grace retry)
- After 2+ consecutive failures: show MODEL_NO_ASSISTANT_MESSAGES error
- Add UI handling in ChatRow.tsx with ErrorRow component
- Add localized strings to all 18 locale files
- Add comprehensive tests for the grace retry behavior

* Release: v1.95.0 (RooCodeInc#10309)

chore: bump version to v1.95.0

* feat(prompts): strengthen native tool-use guidance (RooCodeInc#10311)

* feat: enable mergeToolResultText for all OpenAI-compatible providers (RooCodeInc#10299)

* fix: preserve reasoning_details shape to prevent malformed responses (RooCodeInc#10313)

* fix(task): drain queued messages while waiting for ask (RooCodeInc#10315)

* fix(openai): send native tool definitions by default (RooCodeInc#10314)

Co-authored-by: Roo Code <[email protected]>

* ux: Provider-centric signup (RooCodeInc#10306)

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* chore: add changeset for v3.37.1 (RooCodeInc#10316)

* Changeset version bump (RooCodeInc#10317)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <[email protected]>

* refactor: simplify tool protocol resolution logic

* refactor: optimize stream rendering and file reading limits

* refactor(tools): simplify extractTextFromFile parameters

* feat(chat): add tool protocol display to task header

* fix(test): respect user toolProtocol preference over model capabilities

* update(provider): update zgsm model handling and native tool protocol logic

* feat: remove OpenRouter Transforms feature (RooCodeInc#10341)

- Remove openRouterUseMiddleOutTransform checkbox from settings UI
- Remove openRouterUseMiddleOutTransform from TypeScript types
- Remove transforms parameter logic from OpenRouter handler
- Remove setting from EVALS_SETTINGS
- Remove translation keys from all locale files (18 locales)

Co-authored-by: Roo Code <[email protected]>

* feat: remove simpleReadFileTool completely (RooCodeInc#10254)

- Delete simpleReadFileTool.ts file
- Delete simple-read-file.ts prompt description file
- Delete single-file-read-models.ts types file
- Remove imports and usage from presentAssistantMessage.ts
- Remove imports and usage from prompts/tools/index.ts
- Remove export from packages/types/src/index.ts

This removes all traces of the legacy single-file read tool implementation that was used for specific models. All models now use the standard read_file tool.

Co-authored-by: Roo Code <[email protected]>

* Add support for skills (RooCodeInc#10335)

* Add support for skills

* fix: use type-only import for ClineProvider and relative paths in skills section

---------

Co-authored-by: Roo Code <[email protected]>

---------

Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Hannes Rudolph <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>
Co-authored-by: Daniel <[email protected]>
Co-authored-by: cte <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: John Richmond <[email protected]>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: daniel-lxs <[email protected]>
Co-authored-by: Patrick Decat <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. lgtm This PR has been approved by a maintainer size:M This PR changes 30-99 lines, ignoring generated files.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants