Skip to content

Commit d78c300

Browse files
mini2sbrunobergherroomote[bot]roomotemrubens
authored
Roo to main (#800)
* refactor(core): clean up unused imports and improve file handling logic * refactor: adjust file limits and multipliers * ux: Improvements to the new, RCC Provider centric onboarding flow (RooCodeInc#9709) Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com> * ux: Toolbar cleanup and settings consolidation (RooCodeInc#9710) Co-authored-by: Roo Code <roomote@roocode.com> * Update a couple provider labels (RooCodeInc#9711) Co-authored-by: Roo Code <roomote@roocode.com> * Release: v1.88.0 (RooCodeInc#9713) * Remove TabContent wrapper from Modes and MCP (RooCodeInc#9712) * fix: preserve tool_use blocks in summary for parallel tool calls (RooCodeInc#9714) Co-authored-by: huajiwuyan <huajiwuyan@gmail.com> * feat(chutes): detect native tool support from API supported_features (RooCodeInc#9715) Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * Add NTC support for Cerebras (RooCodeInc#9692) * Add native tools support to Unbound (RooCodeInc#9699) Co-authored-by: Roo Code <roomote@roocode.com> * Add native tool support for vercel ai gateway (RooCodeInc#9697) Co-authored-by: Roo Code <roomote@roocode.com> * Default grok code fast to native tools (RooCodeInc#9717) * Bedrock native tool calling (RooCodeInc#9698) * Support tool calling in native ollama provider (RooCodeInc#9696) Co-authored-by: Roo Code <roomote@roocode.com> * feat: add native tool support for LiteLLM provider (RooCodeInc#9719) * fix: prevent navigation buttons from wrapping on smaller screens (RooCodeInc#9721) Co-authored-by: Roo Code <roomote@roocode.com> * chore: add changeset for v3.35.0 (RooCodeInc#9724) * Changeset version bump (RooCodeInc#9725) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * chore: bump version to v1.89.0 (RooCodeInc#9718) * fix: flush pending tool results before task delegation (RooCodeInc#9726) When tools are called in parallel (e.g., update_todo_list + new_task), the tool results accumulate in userMessageContent but aren't saved to API history until all tools complete. When new_task triggers delegation, the parent is disposed before these pending results are saved, causing 400 errors when the parent resumes (missing tool_result for tool_use). This fix: - Adds flushPendingToolResultsToHistory() method in Task.ts that saves pending userMessageContent to API history - Calls this method in delegateParentAndOpenChild() before disposing the parent task - Safe for both native/XML protocols and sequential/parallel execution (returns early if there's nothing to flush) * Better IPC error logging (RooCodeInc#9727) * chore: add changeset for v3.35.1 (RooCodeInc#9728) * Changeset version bump (RooCodeInc#9729) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * Pass app version to provider (RooCodeInc#9730) * Allow models to contain default temperature (RooCodeInc#9734) * Look for a tag in the Roo provider to default the model to native tool calling (RooCodeInc#9735) * Assume all LiteLLM models support native tools (RooCodeInc#9736) * chore: add changeset for v3.35.2 (RooCodeInc#9737) * Changeset version bump (RooCodeInc#9738) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * Merge remote-tracking branch 'upstream/main' into roo-to-main * Switch to new welcome view (RooCodeInc#9741) * web: Homepage changes (RooCodeInc#9675) 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> * Add vendor confidentiality section to the system prompt for stealth models (RooCodeInc#9742) Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com> * chore: add changeset for v3.35.3 (RooCodeInc#9743) * Changeset version bump (RooCodeInc#9745) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * Refactor: Remove line_count parameter from write_to_file tool (RooCodeInc#9667) * fix: remove reasoning toggles for GLM-4.5 and GLM-4.6 on z.ai provider (RooCodeInc#9752) Co-authored-by: Roo Code <roomote@roocode.com> * fix: handle malformed native tool calls to prevent hanging (RooCodeInc#9758) Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * chore: add changeset for v3.35.4 (RooCodeInc#9763) * Changeset version bump (RooCodeInc#9764) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * Convert the Roo provider tools for OpenAI (RooCodeInc#9769) * Update the evals keygen command (RooCodeInc#9754) * feat: Add provider routing selection for OpenRouter embeddings (RooCodeInc#9144) (RooCodeInc#9693) Co-authored-by: Sannidhya <sann@Sannidhyas-MacBook-Pro.local> * ux: Updates to CloudView (RooCodeInc#9776) * refactor: remove TabHeader and onDone callback from CloudView - Removed TabHeader component from CloudView as it is no longer needed - Removed onDone prop from CloudView component definition and usage - Updated all test files to reflect the removal of onDone prop - Kept Button import that was accidentally removed initially * Updates upsell copy to reflect today's product * Update webview-ui/src/components/cloud/CloudView.tsx Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Update webview-ui/src/i18n/locales/ko/cloud.json Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Update webview-ui/src/i18n/locales/zh-CN/cloud.json Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Test fixes --------- Co-authored-by: Roo Code <roomote@roocode.com> Co-authored-by: Bruno Bergher <bruno@roocode.com> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Update model key for minimax in MODEL_DEFAULTS (RooCodeInc#9778) Co-authored-by: Roo Code <roomote@roocode.com> * Release v3.35.5 (RooCodeInc#9781) * Changeset version bump (RooCodeInc#9783) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * Use search_and_replace for minimax (RooCodeInc#9780) * fix: restore context when rewinding after condense (RooCodeInc#8295) (RooCodeInc#9665) * fix: remove omission detection logic to fix false positives (RooCodeInc#9787) Co-authored-by: Roo Code <roomote@roocode.com> * Fix Vercel AI Gateway model fetching (RooCodeInc#9791) Co-authored-by: Roo Code <roomote@roocode.com> * refactor: remove insert_content tool (RooCodeInc#9751) Co-authored-by: Roo Code <roomote@roocode.com> * feat: add reasoning_details support to Roo provider (RooCodeInc#9796) - Add currentReasoningDetails accumulator to track reasoning details - Add getReasoningDetails() method to expose accumulated details - Handle reasoning_details array format in streaming responses - Accumulate reasoning details by type-index key - Support reasoning.text, reasoning.summary, and reasoning.encrypted types - Maintain backward compatibility with legacy reasoning format - Follows same pattern as OpenRouter provider Co-authored-by: Roo Code <roomote@roocode.com> * chore: hide parallel tool calls experiment and disable feature (RooCodeInc#9798) * Update next.js (RooCodeInc#9799) * Fix the download count on the homepage (RooCodeInc#9807) * Default to native tools for all models in the Roo provider (RooCodeInc#9811) Co-authored-by: Roo Code <roomote@roocode.com> * Fix/cerebras conservative max tokens (RooCodeInc#9804) Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * Release v3.36.0 (RooCodeInc#9814) * Changeset version bump (RooCodeInc#9828) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * Merge remote-tracking branch 'upstream/main' into roo-to-main * ux: improved error messages and documentation links (RooCodeInc#9777) * Minor ui tweaks * Basic setup for richer API request errors * Better errors messages and contact link * i18n * Update webview-ui/src/i18n/locales/en/chat.json Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com> * Update webview-ui/src/i18n/locales/en/chat.json Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com> * Empty better than null * Update webview-ui/src/i18n/locales/nl/chat.json Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * i18n * Start retryAttempt at 1 * Reverse retryAttempt number, just ommit it from the message --------- 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> * web: New Pricing Page (RooCodeInc#9821) * Removes Pro, restructures pricing page * Solves provider/credits * Update apps/web-roo-code/src/app/pricing/page.tsx Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com> * Updates agent landing pages to not mention a trial that doesn't exist * Updates agent-specific landing pages to reflect new home and trial * Indicate the agent landing page the user came from * Clean up the carousel --------- Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com> * Ignore input to the execa terminal process (RooCodeInc#9827) * fix: Overly round follow-up question suggestions (RooCodeInc#9829) Not that rounded * Always enabled reasoning for models that require it (RooCodeInc#9836) * ChatView: smoother stick-to-bottom during streaming (RooCodeInc#8999) * feat: add symlink support for slash commands in .roo/commands folder (RooCodeInc#9838) Co-authored-by: Roo Code <roomote@roocode.com> * fix: sanitize reasoning_details IDs to remove invalid characters (RooCodeInc#9839) * feat(evals-ui): Add filtering, bulk delete, tool consolidation, and run notes (RooCodeInc#9837) * Be safer about large file reads (RooCodeInc#9843) validateFileTokenBudget wasn't being called considering the output budget. * Revert "fix: sanitize reasoning_details IDs to remove invalid characters" (RooCodeInc#9846) * Merge remote-tracking branch 'upstream/main' into roo-to-main * Exclude the ID from Roo reasoning details (RooCodeInc#9847) * fix: prevent cascading truncation loop by only truncating visible messages (RooCodeInc#9844) * FIX + feat: add MessageManager layer for centralized history coordination (RooCodeInc#9842) * feat(web-evals): add multi-model launch and UI improvements (RooCodeInc#9845) Co-authored-by: Roo Code <roomote@roocode.com> * Revert "Exclude the ID from Roo reasoning details" (RooCodeInc#9850) * fix: handle unknown/invalid native tool calls to prevent extension freeze (RooCodeInc#9834) * feat: add gpt-5.1-codex-max model to OpenAI provider (RooCodeInc#9848) * Delete .changeset/symlink-commands.md * Release v3.36.1 (RooCodeInc#9851) * Changeset version bump (RooCodeInc#9840) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * feat: add dynamic settings support for Roo models from API (RooCodeInc#9852) * chore: restrict gpt-5 tool set to apply_patch (RooCodeInc#9853) * Fix chutes model fetching (RooCodeInc#9854) * Release v3.36.2 (RooCodeInc#9855) * Changeset version bump (RooCodeInc#9856) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * Better error logs for parseToolCall exceptions (RooCodeInc#9857) * (update): Add DeepSeek V3-2 Support for Baseten Provider (RooCodeInc#9861) Co-authored-by: AlexKer <AlexKer@users.noreply.github.com> * web: Product pages (RooCodeInc#9865) Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com> * fix: sanitize removed/invalid API providers to prevent infinite loop (RooCodeInc#9869) * Update xAI models catalog (RooCodeInc#9872) * refactor: decouple tools from system prompt (RooCodeInc#9784) * Stop making count_tokens requests (RooCodeInc#9884) * Default to using native tools when supported on openrouter (RooCodeInc#9878) * feat: change defaultToolProtocol default from xml to native (RooCodeInc#9892) * feat: change defaultToolProtocol to default to native instead of xml * fix: add missing getMcpHub mock to Subtask Rate Limiting tests --------- Co-authored-by: Roo Code <roomote@roocode.com> * Refactor: Unified context-management architecture with improved UX (RooCodeInc#9795) Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Make eval runs deleteable (RooCodeInc#9909) * fix: add Kimi, MiniMax, and Qwen model configurations for Bedrock (RooCodeInc#9905) * fix: add Kimi, MiniMax, and Qwen model configurations for Bedrock - Add moonshot.kimi-k2-thinking with 32K max tokens and 256K context - Add minimax.minimax-m2 with 16K max tokens and 230K context - Add qwen.qwen3-next-80b-a3b with 8K max tokens and 262K context - Add qwen.qwen3-coder-480b-a35b-v1:0 with 8K max tokens and 262K context All models configured with native tool support and appropriate pricing. Fixes RooCodeInc#9902 * fix: add preserveReasoning flag and update Kimi K2 context window - Added preserveReasoning: true to moonshot.kimi-k2-thinking model - Added preserveReasoning: true to minimax.minimax-m2 model - Updated Kimi K2 context window from 256_000 to 262_144 These changes ensure: 1. Reasoning traces are properly preserved for both models 2. Roo correctly recognizes task completion 3. Tool calls within reasoning traces are handled appropriately 4. Context window matches AWS Console specification * fix: update MiniMax M2 context window to 196_608 for Bedrock Based on AWS CLI testing, the actual context window limit for MiniMax M2 on Bedrock is 196,608 tokens, not 230,000 as initially configured. * Update packages/types/src/providers/bedrock.ts Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com> --------- Co-authored-by: Roo Code <roomote@roocode.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com> * fix: use foreground color for context-management icons (RooCodeInc#9912) * feat: add xhigh reasoning effort for gpt-5.1-codex-max (RooCodeInc#9900) * feat: add xhigh reasoning effort for gpt-5.1-codex-max * fix: Address openai-native.spec.ts test failure * chore: Localisation of 'Extra high' * chore: revert unrelated CustomModesManager refactoring --------- Co-authored-by: Hannes Rudolph <hrudolph@gmail.com> * feat: add search_replace native tool for single-replacement operations (RooCodeInc#9918) Adds a new search_replace tool that performs a single search and replace operation on a file, requiring the old_string to uniquely identify the target text with 3-5 lines of context. Parameters: - file_path: Path to file (relative or absolute) - old_string: Text to find (must be unique in file) - new_string: Replacement text (must differ from old_string) * Improve cloud job error logging for RCC provider errors (RooCodeInc#9924) * feat: configure tool preferences for xAI models (RooCodeInc#9923) * fix: process finish_reason to emit tool_call_end events (RooCodeInc#9927) * fix: suppress 'ask promise was ignored' error in handleError (RooCodeInc#9914) * fix: exclude apply_diff from native tools when diffEnabled is false (RooCodeInc#9920) Co-authored-by: Roo Code <roomote@roocode.com> * Try to make OpenAI errors more useful (RooCodeInc#9639) * refactor: consolidate ThinkingBudget components and fix disable handling (RooCodeInc#9930) * Add timeout to OpenAI Compatible Provider Client (RooCodeInc#9898) * fix: add finish_reason processing to xai.ts provider (RooCodeInc#9929) * Remove defaultTemperature from Roo provider configuration (RooCodeInc#9932) Co-authored-by: Roo Code <roomote@roocode.com> * feat: forbid time estimates in architect mode (RooCodeInc#9931) Co-authored-by: Roo Code <roomote@roocode.com> * feat: streaming tool stats + token usage throttling (RooCodeInc#9926) Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * 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 <roomote@roocode.com> * 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 <roomote@roocode.com> * 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 <roomote@roocode.com> * fix: validate and fix tool_result IDs before API requests (RooCodeInc#9952) Co-authored-by: cte <cestreich@gmail.com> Co-authored-by: Roo Code <roomote@roocode.com> Co-authored-by: Hannes Rudolph <hrudolph@gmail.com> * 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 <roomote@roocode.com> Co-authored-by: cte <cestreich@gmail.com> * 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 <roomote@roocode.com> Co-authored-by: Bruno Bergher <bruno@roocode.com> * Fix: Correct TODO list display order in chat view (ROO-107) (RooCodeInc#9991) Co-authored-by: Roo Code <roomote@roocode.com> * 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 <roomote@roocode.com> Co-authored-by: cte <cestreich@gmail.com> * 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 <cestreich@gmail.com> * feat(telemetry): add app version to exception captures and filter 402 errors (RooCodeInc#9996) Co-authored-by: cte <cestreich@gmail.com> * 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 <cestreich@gmail.com> * Update roomotes.yml (RooCodeInc#10008) * fix: add general API endpoints for Z.ai provider (RooCodeInc#9894) Co-authored-by: Roo Code <roomote@roocode.com> * 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 <cestreich@gmail.com> * 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 <cestreich@gmail.com> * 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 <roomote@roocode.com> * fix: cancel auto-approval timeout when user starts typing (RooCodeInc#9937) Co-authored-by: Roo Code <roomote@roocode.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * 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 <hrudolph@gmail.com> * 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 <roomote@roocode.com> * 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 <cestreich@gmail.com> * 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 <roomote@roocode.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * 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 <roomote@roocode.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * 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 <mrubens@users.noreply.github.com> * 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 <roomote@roocode.com> Co-authored-by: Bruno Bergher <bruno@roocode.com> * 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 <roomote@roocode.com> * 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 <roomote@roocode.com> * fix: prevent race condition from deleting wrong API messages (RooCodeInc#10113) Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com> * feat(anthropic): enable native tools by default and add telemetry tracking (RooCodeInc#10021) * feat: enable native tools by default for multiple providers (RooCodeInc#10059) --------- Co-authored-by: Bruno Bergher <bruno@roocode.com> Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com> Co-authored-by: Roo Code <roomote@roocode.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> Co-authored-by: Silentflower <33809253+SilentFlower@users.noreply.github.com> Co-authored-by: huajiwuyan <huajiwuyan@gmail.com> Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Chris Estreich <cestreich@gmail.com> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: Hannes Rudolph <hrudolph@gmail.com> Co-authored-by: SannidhyaSah <sah_sannidhya@outlook.com> Co-authored-by: Sannidhya <sann@Sannidhyas-MacBook-Pro.local> Co-authored-by: John Richmond <5629+jr@users.noreply.github.com> Co-authored-by: Seb Duerr <sebastian.duerr@cerebras.net> Co-authored-by: Alex Ker <thealexker@gmail.com> Co-authored-by: AlexKer <AlexKer@users.noreply.github.com> Co-authored-by: Andrew Ginns <ginns.aw@gmail.com> Co-authored-by: Dennise Bartlett <bartlett.dc.1@gmail.com> Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
1 parent 0532b98 commit d78c300

File tree

70 files changed

+2442
-988
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+2442
-988
lines changed

apps/web-roo-code/src/app/pricing/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ export default function PricingPage() {
225225
On any plan, you can use your own LLM provider API key or use the built-in Roo Code
226226
Cloud provider – curated models to work with Roo with no markup, including the
227227
latest Gemini, GPT and Claude. Paid with credits.
228-
<Link href="/provider/pricing" className="underline hover:no-underline ml-1">
228+
<Link href="/provider" className="underline hover:no-underline ml-1">
229229
See per model pricing.
230230
</Link>
231231
</p>

packages/cloud/src/CloudService.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,11 @@ export class CloudService extends EventEmitter<CloudServiceEvents> implements Di
337337
return this.shareService!.canShareTask()
338338
}
339339

340+
public async canSharePublicly(): Promise<boolean> {
341+
this.ensureInitialized()
342+
return this.shareService!.canSharePublicly()
343+
}
344+
340345
// Lifecycle
341346

342347
public dispose(): void {

packages/cloud/src/CloudShareService.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,15 @@ export class CloudShareService {
4747
return false
4848
}
4949
}
50+
51+
async canSharePublicly(): Promise<boolean> {
52+
try {
53+
const cloudSettings = this.settingsService.getSettings()?.cloudSettings
54+
// Public sharing requires both enableTaskSharing AND allowPublicTaskSharing to be true
55+
return !!cloudSettings?.enableTaskSharing && cloudSettings?.allowPublicTaskSharing !== false
56+
} catch (error) {
57+
this.log("[ShareService] Error checking if task can be shared publicly:", error)
58+
return false
59+
}
60+
}
5061
}

packages/types/npm/package.metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@roo-code/types",
3-
"version": "1.91.0",
3+
"version": "1.92.0",
44
"description": "TypeScript type definitions for Roo Code.",
55
"publishConfig": {
66
"access": "public",

packages/types/src/__tests__/cloud.test.ts

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,82 @@ describe("organizationSettingsSchema with features", () => {
175175
})
176176
})
177177

178+
describe("organizationCloudSettingsSchema with allowPublicTaskSharing", () => {
179+
it("should validate without allowPublicTaskSharing property", () => {
180+
const input = {
181+
recordTaskMessages: true,
182+
enableTaskSharing: true,
183+
}
184+
const result = organizationCloudSettingsSchema.safeParse(input)
185+
expect(result.success).toBe(true)
186+
expect(result.data?.allowPublicTaskSharing).toBeUndefined()
187+
})
188+
189+
it("should validate with allowPublicTaskSharing as true", () => {
190+
const input = {
191+
recordTaskMessages: true,
192+
enableTaskSharing: true,
193+
allowPublicTaskSharing: true,
194+
}
195+
const result = organizationCloudSettingsSchema.safeParse(input)
196+
expect(result.success).toBe(true)
197+
expect(result.data?.allowPublicTaskSharing).toBe(true)
198+
})
199+
200+
it("should validate with allowPublicTaskSharing as false", () => {
201+
const input = {
202+
recordTaskMessages: true,
203+
enableTaskSharing: true,
204+
allowPublicTaskSharing: false,
205+
}
206+
const result = organizationCloudSettingsSchema.safeParse(input)
207+
expect(result.success).toBe(true)
208+
expect(result.data?.allowPublicTaskSharing).toBe(false)
209+
})
210+
211+
it("should reject non-boolean allowPublicTaskSharing", () => {
212+
const input = {
213+
allowPublicTaskSharing: "true",
214+
}
215+
const result = organizationCloudSettingsSchema.safeParse(input)
216+
expect(result.success).toBe(false)
217+
})
218+
219+
it("should have correct TypeScript type", () => {
220+
// Type-only test to ensure TypeScript compilation
221+
const settings: OrganizationCloudSettings = {
222+
recordTaskMessages: true,
223+
enableTaskSharing: true,
224+
allowPublicTaskSharing: true,
225+
}
226+
expect(settings.allowPublicTaskSharing).toBe(true)
227+
228+
const settingsWithoutPublicSharing: OrganizationCloudSettings = {
229+
recordTaskMessages: false,
230+
}
231+
expect(settingsWithoutPublicSharing.allowPublicTaskSharing).toBeUndefined()
232+
})
233+
234+
it("should validate in organizationSettingsSchema with allowPublicTaskSharing", () => {
235+
const input = {
236+
version: 1,
237+
cloudSettings: {
238+
recordTaskMessages: true,
239+
enableTaskSharing: true,
240+
allowPublicTaskSharing: false,
241+
},
242+
defaultSettings: {},
243+
allowList: {
244+
allowAll: true,
245+
providers: {},
246+
},
247+
}
248+
const result = organizationSettingsSchema.safeParse(input)
249+
expect(result.success).toBe(true)
250+
expect(result.data?.cloudSettings?.allowPublicTaskSharing).toBe(false)
251+
})
252+
})
253+
178254
describe("organizationCloudSettingsSchema with workspaceTaskVisibility", () => {
179255
it("should validate without workspaceTaskVisibility property", () => {
180256
const input = {

packages/types/src/cloud.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ export type WorkspaceTaskVisibility = z.infer<typeof workspaceTaskVisibilitySche
135135
export const organizationCloudSettingsSchema = z.object({
136136
recordTaskMessages: z.boolean().optional(),
137137
enableTaskSharing: z.boolean().optional(),
138+
allowPublicTaskSharing: z.boolean().optional(),
138139
taskShareExpirationDays: z.number().int().positive().optional(),
139140
allowMembersViewAllTasks: z.boolean().optional(),
140141
workspaceTaskVisibility: workspaceTaskVisibilitySchema.optional(),
@@ -209,6 +210,7 @@ export const ORGANIZATION_DEFAULT: OrganizationSettings = {
209210
cloudSettings: {
210211
recordTaskMessages: true,
211212
enableTaskSharing: true,
213+
allowPublicTaskSharing: true,
212214
taskShareExpirationDays: 30,
213215
allowMembersViewAllTasks: true,
214216
},

packages/types/src/providers/anthropic.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export const anthropicModels = {
1212
supportsImages: true,
1313
supportsPromptCache: true,
1414
supportsNativeTools: true,
15+
defaultToolProtocol: "native",
1516
inputPrice: 3.0, // $3 per million input tokens (≤200K context)
1617
outputPrice: 15.0, // $15 per million output tokens (≤200K context)
1718
cacheWritesPrice: 3.75, // $3.75 per million tokens
@@ -34,6 +35,7 @@ export const anthropicModels = {
3435
supportsImages: true,
3536
supportsPromptCache: true,
3637
supportsNativeTools: true,
38+
defaultToolProtocol: "native",
3739
inputPrice: 3.0, // $3 per million input tokens (≤200K context)
3840
outputPrice: 15.0, // $15 per million output tokens (≤200K context)
3941
cacheWritesPrice: 3.75, // $3.75 per million tokens
@@ -56,6 +58,7 @@ export const anthropicModels = {
5658
supportsImages: true,
5759
supportsPromptCache: true,
5860
supportsNativeTools: true,
61+
defaultToolProtocol: "native",
5962
inputPrice: 5.0, // $5 per million input tokens
6063
outputPrice: 25.0, // $25 per million output tokens
6164
cacheWritesPrice: 6.25, // $6.25 per million tokens
@@ -68,6 +71,7 @@ export const anthropicModels = {
6871
supportsImages: true,
6972
supportsPromptCache: true,
7073
supportsNativeTools: true,
74+
defaultToolProtocol: "native",
7175
inputPrice: 15.0, // $15 per million input tokens
7276
outputPrice: 75.0, // $75 per million output tokens
7377
cacheWritesPrice: 18.75, // $18.75 per million tokens
@@ -80,6 +84,7 @@ export const anthropicModels = {
8084
supportsImages: true,
8185
supportsPromptCache: true,
8286
supportsNativeTools: true,
87+
defaultToolProtocol: "native",
8388
inputPrice: 15.0, // $15 per million input tokens
8489
outputPrice: 75.0, // $75 per million output tokens
8590
cacheWritesPrice: 18.75, // $18.75 per million tokens
@@ -92,6 +97,7 @@ export const anthropicModels = {
9297
supportsImages: true,
9398
supportsPromptCache: true,
9499
supportsNativeTools: true,
100+
defaultToolProtocol: "native",
95101
inputPrice: 3.0, // $3 per million input tokens
96102
outputPrice: 15.0, // $15 per million output tokens
97103
cacheWritesPrice: 3.75, // $3.75 per million tokens
@@ -105,6 +111,7 @@ export const anthropicModels = {
105111
supportsImages: true,
106112
supportsPromptCache: true,
107113
supportsNativeTools: true,
114+
defaultToolProtocol: "native",
108115
inputPrice: 3.0, // $3 per million input tokens
109116
outputPrice: 15.0, // $15 per million output tokens
110117
cacheWritesPrice: 3.75, // $3.75 per million tokens
@@ -116,6 +123,7 @@ export const anthropicModels = {
116123
supportsImages: true,
117124
supportsPromptCache: true,
118125
supportsNativeTools: true,
126+
defaultToolProtocol: "native",
119127
inputPrice: 3.0, // $3 per million input tokens
120128
outputPrice: 15.0, // $15 per million output tokens
121129
cacheWritesPrice: 3.75, // $3.75 per million tokens
@@ -127,6 +135,7 @@ export const anthropicModels = {
127135
supportsImages: false,
128136
supportsPromptCache: true,
129137
supportsNativeTools: true,
138+
defaultToolProtocol: "native",
130139
inputPrice: 1.0,
131140
outputPrice: 5.0,
132141
cacheWritesPrice: 1.25,
@@ -138,6 +147,7 @@ export const anthropicModels = {
138147
supportsImages: true,
139148
supportsPromptCache: true,
140149
supportsNativeTools: true,
150+
defaultToolProtocol: "native",
141151
inputPrice: 15.0,
142152
outputPrice: 75.0,
143153
cacheWritesPrice: 18.75,
@@ -149,6 +159,7 @@ export const anthropicModels = {
149159
supportsImages: true,
150160
supportsPromptCache: true,
151161
supportsNativeTools: true,
162+
defaultToolProtocol: "native",
152163
inputPrice: 0.25,
153164
outputPrice: 1.25,
154165
cacheWritesPrice: 0.3,
@@ -160,6 +171,7 @@ export const anthropicModels = {
160171
supportsImages: true,
161172
supportsPromptCache: true,
162173
supportsNativeTools: true,
174+
defaultToolProtocol: "native",
163175
inputPrice: 1.0,
164176
outputPrice: 5.0,
165177
cacheWritesPrice: 1.25,

packages/types/src/providers/bedrock.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export const bedrockModels = {
2020
supportsPromptCache: true,
2121
supportsReasoningBudget: true,
2222
supportsNativeTools: true,
23+
defaultToolProtocol: "native",
2324
inputPrice: 3.0,
2425
outputPrice: 15.0,
2526
cacheWritesPrice: 3.75,
@@ -104,6 +105,7 @@ export const bedrockModels = {
104105
supportsPromptCache: true,
105106
supportsReasoningBudget: true,
106107
supportsNativeTools: true,
108+
defaultToolProtocol: "native",
107109
inputPrice: 3.0,
108110
outputPrice: 15.0,
109111
cacheWritesPrice: 3.75,
@@ -119,6 +121,7 @@ export const bedrockModels = {
119121
supportsPromptCache: true,
120122
supportsReasoningBudget: true,
121123
supportsNativeTools: true,
124+
defaultToolProtocol: "native",
122125
inputPrice: 15.0,
123126
outputPrice: 75.0,
124127
cacheWritesPrice: 18.75,
@@ -134,6 +137,7 @@ export const bedrockModels = {
134137
supportsPromptCache: true,
135138
supportsReasoningBudget: true,
136139
supportsNativeTools: true,
140+
defaultToolProtocol: "native",
137141
inputPrice: 5.0,
138142
outputPrice: 25.0,
139143
cacheWritesPrice: 6.25,
@@ -149,6 +153,7 @@ export const bedrockModels = {
149153
supportsPromptCache: true,
150154
supportsReasoningBudget: true,
151155
supportsNativeTools: true,
156+
defaultToolProtocol: "native",
152157
inputPrice: 15.0,
153158
outputPrice: 75.0,
154159
cacheWritesPrice: 18.75,
@@ -164,6 +169,7 @@ export const bedrockModels = {
164169
supportsPromptCache: true,
165170
supportsReasoningBudget: true,
166171
supportsNativeTools: true,
172+
defaultToolProtocol: "native",
167173
inputPrice: 3.0,
168174
outputPrice: 15.0,
169175
cacheWritesPrice: 3.75,
@@ -178,6 +184,7 @@ export const bedrockModels = {
178184
supportsImages: true,
179185
supportsPromptCache: true,
180186
supportsNativeTools: true,
187+
defaultToolProtocol: "native",
181188
inputPrice: 3.0,
182189
outputPrice: 15.0,
183190
cacheWritesPrice: 3.75,
@@ -192,6 +199,7 @@ export const bedrockModels = {
192199
supportsImages: false,
193200
supportsPromptCache: true,
194201
supportsNativeTools: true,
202+
defaultToolProtocol: "native",
195203
inputPrice: 0.8,
196204
outputPrice: 4.0,
197205
cacheWritesPrice: 1.0,
@@ -207,6 +215,7 @@ export const bedrockModels = {
207215
supportsPromptCache: true,
208216
supportsReasoningBudget: true,
209217
supportsNativeTools: true,
218+
defaultToolProtocol: "native",
210219
inputPrice: 1.0,
211220
outputPrice: 5.0,
212221
cacheWritesPrice: 1.25, // 5m cache writes
@@ -221,6 +230,7 @@ export const bedrockModels = {
221230
supportsImages: true,
222231
supportsPromptCache: false,
223232
supportsNativeTools: true,
233+
defaultToolProtocol: "native",
224234
inputPrice: 3.0,
225235
outputPrice: 15.0,
226236
},
@@ -230,6 +240,7 @@ export const bedrockModels = {
230240
supportsImages: true,
231241
supportsPromptCache: false,
232242
supportsNativeTools: true,
243+
defaultToolProtocol: "native",
233244
inputPrice: 15.0,
234245
outputPrice: 75.0,
235246
},
@@ -239,6 +250,7 @@ export const bedrockModels = {
239250
supportsImages: true,
240251
supportsPromptCache: false,
241252
supportsNativeTools: true,
253+
defaultToolProtocol: "native",
242254
inputPrice: 3.0,
243255
outputPrice: 15.0,
244256
},
@@ -248,6 +260,7 @@ export const bedrockModels = {
248260
supportsImages: true,
249261
supportsPromptCache: false,
250262
supportsNativeTools: true,
263+
defaultToolProtocol: "native",
251264
inputPrice: 0.25,
252265
outputPrice: 1.25,
253266
},
@@ -257,6 +270,7 @@ export const bedrockModels = {
257270
supportsImages: false,
258271
supportsPromptCache: false,
259272
supportsNativeTools: true,
273+
defaultToolProtocol: "native",
260274
inputPrice: 8.0,
261275
outputPrice: 24.0,
262276
description: "Claude 2.1",
@@ -267,6 +281,7 @@ export const bedrockModels = {
267281
supportsImages: false,
268282
supportsPromptCache: false,
269283
supportsNativeTools: true,
284+
defaultToolProtocol: "native",
270285
inputPrice: 8.0,
271286
outputPrice: 24.0,
272287
description: "Claude 2.0",
@@ -277,6 +292,7 @@ export const bedrockModels = {
277292
supportsImages: false,
278293
supportsPromptCache: false,
279294
supportsNativeTools: true,
295+
defaultToolProtocol: "native",
280296
inputPrice: 0.8,
281297
outputPrice: 2.4,
282298
description: "Claude Instant",

0 commit comments

Comments
 (0)