Commit graph

495 commits

Author SHA1 Message Date
Hannes Rudolph
f138361e87 fix: fix type errors - add metadata to ClineMessage, fix getResponseId method name 2025-12-09 18:49:05 -07:00
Hannes Rudolph
f988dee5ca fix: use hyphen instead of em dash in GPT-5 Pro description, remove unused imports 2025-12-09 18:46:35 -07:00
Hannes Rudolph
9803d434a6 fix(types/openai): correct GPT-5 Pro description typos/grammar; perf(core/task): avoid full-state refresh on each background status chunk to reduce re-renders 2025-12-09 18:43:26 -07:00
Hannes Rudolph
d552cce01f fix(openai): update reasoning effort default to high and improve model description for clarity 2025-12-09 18:43:25 -07:00
Hannes Rudolph
7cff4db96c fix(webview): define chevron icon via codicon and add missing isExpanded dep to useMemo; test: remove duplicate GPT-5 Pro background-mode test; chore(core): remove temp debug log 2025-12-09 18:43:25 -07:00
Hannes Rudolph
e118846aa5 fix: Address PR review feedback - fix stale resume IDs, update model description, remove duplicate test, revert gitignore 2025-12-09 18:43:25 -07:00
Hannes Rudolph
cb975a2e7b feat(openai-models): update maxTokens for gpt-5-pro-2025-10-06 from 272000 to 128000 2025-12-09 18:38:36 -07:00
Hannes Rudolph
3949621cf1 feat(openai-native): background mode + auto-resume and poll fallback
Enable OpenAI Responses background mode with resilient streaming for GPT‑5 Pro and any model flagged via metadata.

Key changes:

- Background mode enablement

  • Auto-enable for models with info.backgroundMode === true (e.g., gpt-5-pro-2025-10-06) defined in [packages/types/src/providers/openai.ts](packages/types/src/providers/openai.ts).

  • Also respects manual override (openAiNativeBackgroundMode) from ProviderSettings/ApiHandlerOptions.

- Request shape (Responses API)

  • background:true, stream:true, store:true set in [OpenAiNativeHandler.buildRequestBody()](src/api/providers/openai-native.ts:224).

- Streaming UX and status events

  • New ApiStreamStatusChunk in [src/api/transform/stream.ts](src/api/transform/stream.ts) with statuses: queued, in_progress, completed, failed, canceled, reconnecting, polling.

  • Provider emits status chunks in SDK + SSE paths via [OpenAiNativeHandler.processEvent()](src/api/providers/openai-native.ts:1100) and [OpenAiNativeHandler.handleStreamResponse()](src/api/providers/openai-native.ts:651).

  • UI spinner shows background lifecycle labels in [webview-ui/src/components/chat/ChatRow.tsx](webview-ui/src/components/chat/ChatRow.tsx) using [webview-ui/src/utils/backgroundStatus.ts](webview-ui/src/utils/backgroundStatus.ts).

- Resilience: auto-resume + poll fallback

  • On stream drop for background tasks, attempt SSE resume using response.id and last sequence_number with exponential backoff in [OpenAiNativeHandler.attemptResumeOrPoll()](src/api/providers/openai-native.ts:1215).

  • If resume fails, poll GET /v1/responses/{id} every 2s until terminal and synthesize final output/usage.

  • Deduplicate resumed events via resumeCutoffSequence in [handleStreamResponse()](src/api/providers/openai-native.ts:737).

- Settings (no new UI switch)

  • Added optional provider settings and ApiHandlerOptions: autoResume, resumeMaxRetries, resumeBaseDelayMs, pollIntervalMs, pollMaxMinutes in [packages/types/src/provider-settings.ts](packages/types/src/provider-settings.ts) and [src/shared/api.ts](src/shared/api.ts).

- Cleanup

  • Removed VS Code contributes toggle for background mode; behavior now model-driven + programmatic override.

- Tests

  • Provider: coverage for background status emission, auto-resume success, resume→poll fallback, non-background negative in [src/api/providers/__tests__/openai-native.spec.ts](src/api/providers/__tests__/openai-native.spec.ts).

  • Usage parity unchanged validated in [src/api/providers/__tests__/openai-native-usage.spec.ts](src/api/providers/__tests__/openai-native-usage.spec.ts).

  • UI: label mapping tests for background statuses in [webview-ui/src/utils/__tests__/backgroundStatus.spec.ts](webview-ui/src/utils/__tests__/backgroundStatus.spec.ts).

Notes:

- Aligns with TEMP_OPENAI_BACKGROUND_TASK_DOCS.DM: background requires store=true; supports streaming resume via response.id + sequence_number.

- Default behavior unchanged for non-background models; no breaking changes.
2025-12-09 18:38:13 -07:00
Hannes Rudolph
d73bdf36d7 revert: per-model disableTimeout implementation; remove flag from gpt-5-pro model entry (server-side timeouts). Prep for background mode approach. 2025-12-09 18:30:16 -07:00
Hannes Rudolph
9ecd7bb1ec feat(openai-models): add gpt-5-pro-2025-10-06 with timeout disabled and non‑streaming notice
- Add GPT‑5 Pro to model registry with:
  - contextWindow: 400k, maxTokens: 272k
  - supportsImages: true, supportsPromptCache: true, supportsVerbosity: true, supportsTemperature: false
  - reasoningEffort: high (Responses API only)
  - pricing: $15/1M input tokens, $120/1M output tokens
- Set disableTimeout: true to avoid requiring a global timeout override
- Description clarifies: this is a slow, reasoning‑focused model designed for tough problems; requests may take several minutes; it does not stream (UI may appear idle until completion)
2025-12-09 18:30:02 -07:00
Hannes Rudolph
84f58cd518 feat(models): add per-model timeout disable to avoid global override for long-running models (e.g., gpt-5-pro)
- Introduce ModelInfo.disableTimeout to opt out of request timeouts on a per-model basis
- Apply in OpenAI-compatible, Ollama, and LM Studio providers (timeout=0 when flag is true)
- Preserve global “API Request Timeout” behavior (0 still disables globally); per-model flag takes precedence for that model
- Motivation: gpt-5-pro often requires longer runtimes; per-model override avoids forcing a global setting that impacts all models
- Add/extend unit tests to validate provider behavior
2025-12-09 18:29:12 -07:00
Daniel
24eb6ae984
feat: add API error telemetry to OpenRouter provider (#9953)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-09 16:30:29 -08:00
Matt Rubens
ada7411cd3
Tweaks to baseten model definitions (#9866) 2025-12-09 16:17:52 -08:00
Matt Rubens
721b02e58c
Add a way to save screenshots from the browser tool (#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>
2025-12-09 16:12:36 -08:00
Hannes Rudolph
1898848d95
feat(deepseek): update DeepSeek models to V3.2 with new pricing (#9962)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2025-12-09 15:46:04 -08:00
Hannes Rudolph
83787a76ef
feat(roo): add versioned settings support with minPluginVersion gating (#9934) 2025-12-09 12:54:15 -08:00
Bruno Bergher
8a98f140dc
feat: Make Architect save to /plans and gitignore it (#9944)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-09 06:51:43 -08:00
Hannes Rudolph
c103a4a639
feat: streaming tool stats + token usage throttling (#9926)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-12-08 19:40:12 -08:00
roomote[bot]
54a52655ac
feat: forbid time estimates in architect mode (#9931)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-08 19:06:07 -08:00
Hannes Rudolph
754b701cc8
feat: configure tool preferences for xAI models (#9923) 2025-12-08 11:33:55 -08:00
Hannes Rudolph
fba8508b10
feat: add search_replace native tool for single-replacement operations (#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)
2025-12-08 10:45:55 -08:00
Andrew Ginns
efbf427631
feat: add xhigh reasoning effort for gpt-5.1-codex-max (#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>
2025-12-08 10:17:25 -08:00
roomote[bot]
bea7626a9d
fix: add Kimi, MiniMax, and Qwen model configurations for Bedrock (#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 #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>
2025-12-08 10:16:43 -05:00
Matt Rubens
1f7e1ee630
Make eval runs deleteable (#9909) 2025-12-07 23:30:28 -05:00
Hannes Rudolph
8aa13467d3
Refactor: Unified context-management architecture with improved UX (#9795)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-12-07 17:43:48 -05:00
Hannes Rudolph
9d5eca92aa
Update xAI models catalog (#9872) 2025-12-05 16:21:59 -05:00
Alex Ker
642a187030
(update): Add DeepSeek V3-2 Support for Baseten Provider (#9861)
Co-authored-by: AlexKer <AlexKer@users.noreply.github.com>
2025-12-05 12:11:08 -05:00
Hannes Rudolph
e633c62e70
chore: restrict gpt-5 tool set to apply_patch (#9853) 2025-12-05 00:35:45 -05:00
Hannes Rudolph
a3de2935b3
feat: add dynamic settings support for Roo models from API (#9852) 2025-12-04 23:57:00 -05:00
Hannes Rudolph
bea7d81510
feat: add gpt-5.1-codex-max model to OpenAI provider (#9848) 2025-12-04 22:30:07 -05:00
Hannes Rudolph
8433eafb05
feat(evals-ui): Add filtering, bulk delete, tool consolidation, and run notes (#9837) 2025-12-04 14:28:37 -07:00
Seb Duerr
94c997c9d6
Fix/cerebras conservative max tokens (#9804)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-12-04 00:43:22 -05:00
Daniel
ce229012a3
refactor: remove insert_content tool (#9751)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-03 16:33:22 -05:00
Hannes Rudolph
23605bed93
fix: restore context when rewinding after condense (#8295) (#9665) 2025-12-03 11:40:39 -05:00
SannidhyaSah
873a763ea7
feat: Add provider routing selection for OpenRouter embeddings (#9144) (#9693)
Co-authored-by: Sannidhya <sann@Sannidhyas-MacBook-Pro.local>
2025-12-02 22:59:55 -05:00
roomote[bot]
9a1d7a673b
fix: remove reasoning toggles for GLM-4.5 and GLM-4.6 on z.ai provider (#9752)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-02 14:20:48 -05:00
Matt Rubens
aa507ad990
Add vendor confidentiality section to the system prompt for stealth models (#9742)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2025-12-02 10:23:54 -05:00
Matt Rubens
d2b274a9af
Allow models to contain default temperature (#9734) 2025-12-01 23:29:42 -05:00
Chris Estreich
3f4f7c0c41
Better IPC error logging (#9727) 2025-12-01 15:02:34 -08:00
Chris Estreich
9b18014b4b
chore: bump version to v1.89.0 (#9718) 2025-12-01 14:25:48 -08:00
Daniel
ad28e12818
feat: add native tool support for LiteLLM provider (#9719) 2025-12-01 16:35:08 -05:00
Matt Rubens
be7659461a
Support tool calling in native ollama provider (#9696)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-01 15:28:01 -05:00
Matt Rubens
faa6c40ac1
Bedrock native tool calling (#9698) 2025-12-01 15:26:34 -05:00
Matt Rubens
eb120543e1
Add native tools support to Unbound (#9699)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-01 14:50:01 -05:00
Matt Rubens
0a2d1a41e4
Add NTC support for Cerebras (#9692) 2025-12-01 14:49:53 -05:00
Matt Rubens
48d3e4d2e8
Release: v1.88.0 (#9713) 2025-12-01 10:47:24 -05:00
Matt Rubens
75903052ae
Update a couple provider labels (#9711)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-01 10:44:12 -05:00
Bruno Bergher
49aad8576e
ux: Toolbar cleanup and settings consolidation (#9710)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-01 09:43:15 -05:00
Matt Rubens
4591e960ed
Add native tool calling for deepinfra (#9691) 2025-11-29 20:05:21 -05:00
Matt Rubens
ae29777062
Add Grok 4 Fast and Grok 4.1 Fast, plus xAI native tool calling (#9690)
* Add Grok 4 Fast and Grok 4.1 Fast

* Add native tool calling support
2025-11-29 19:41:42 -05:00