Commit graph

585 commits

Author SHA1 Message Date
Hannes Rudolph
f7c2e8d164
Improve Google Gemini defaults, temperature, and cost reporting (#9327) 2025-11-17 23:38:38 -07:00
roomote[bot]
0e51a1ab9b
fix: Replace broken badgen.net badges with shields.io (#9318)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-11-17 14:03:28 -05:00
Daniel
744f4bd4c8
feat: implement dynamic tool protocol resolution with proper precedence hierarchy (#9286)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-11-15 14:35:04 -05:00
Daniel
44b96f9d10
feat(openai-native): add abort controller for request cancellation (#9276) 2025-11-14 19:38:30 -05:00
Hannes Rudolph
161345c6fa
revert out of scope changes from #9252 (#9258) 2025-11-14 00:19:09 -05:00
Hannes Rudolph
31f7372897
feat(openai): OpenAI Responses: model-driven prompt caching and generic reasoning options refactor (#9259) 2025-11-14 00:13:49 -05:00
Hannes Rudolph
01cb12f167
Add GPT-5.1 models and clean up reasoning effort logic (#9252)
* Reasoning effort: capability-driven; add disable/none/minimal; remove GPT-5 minimal special-casing; document UI semantics; remove temporary logs

* Remove Unused supportsReasoningNone

* Roo reasoning: omit field on 'disable'; UI: do not flip enableReasoningEffort when selecting 'disable'

* Update packages/types/src/model.ts

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

* Update webview-ui/src/components/settings/SimpleThinkingBudget.tsx

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

---------

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2025-11-13 20:54:41 -05:00
Matt Rubens
d270ea1983
Consistently use Package.name for better support of the nightly app (#9240) 2025-11-13 15:07:14 -05:00
Daniel
5e6e601b0a
Add native tool call support (#9159)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-11-13 12:48:35 -05:00
Hannes Rudolph
7730c6f862
OpenAI Native: gate encrypted_content include; remove gpt-5-chat-latest verbosity flag (fixes #9225) (#9231)
openai-native: include reasoning.encrypted_content only when reasoningEffort is set; prevent Responses API error on non-reasoning models. types: remove supportsVerbosity from gpt-5-chat-latest to avoid invalid verbosity error. Fixes #9225
2025-11-13 09:29:31 -05:00
Hannes Rudolph
4e6cdad052
Fix: Roo Anthropic input token normalization (avoid double-count) (#9224) 2025-11-13 01:46:11 -05:00
Hannes Rudolph
0fdbd392e8
Migrate conversation continuity to plugin-side encrypted reasoning items (Responses API) (#9203)
* Migrate conversation continuity to plugin-side encrypted reasoning items (Responses API)

Summary
We moved continuity off OpenAI servers and now maintain conversation state locally by persisting and replaying encrypted reasoning items. Requests are stateless (store=false) while retaining the performance/caching benefits of the Responses API.

Why
This aligns with how Roo manages context and simplifies our Responses API implementation while keeping all the benefits of continuity, caching, and latency improvements.

What changed
- All OpenAI models now use the Responses API; system instructions are passed via the top-level instructions field; requests include store=false and include=["reasoning.encrypted_content"].
- We persist encrypted reasoning items (type: "reasoning", encrypted_content, optional id) into API history and replay them on subsequent turns.
- Reasoning summaries default to summary: "auto" when supported; text.verbosity only when supported.
- Atomic persistence via safeWriteJson.

Removed
- previous_response_id flows, suppressPreviousResponseId/skipPrevResponseIdOnce, persistGpt5Metadata(), and GPT‑5 response ID metadata in UI messages.

Kept
- taskId and mode metadata for cross-provider features.

Result
- ZDR-friendly, stateless continuity with equal or better performance and a simpler codepath.

* fix(webview): remove unused metadata prop from ReasoningBlock render

* Responses API: retain response id for troubleshooting (not continuity)

Continuity is stateless via encrypted reasoning items that we persist and replay. We now capture the top-level response id in OpenAiNativeHandler and persist the assistant message id into api_conversation_history.json solely for debugging/correlation with provider logs; it is not used for continuity or control flow.

Also: silence request-body debug logging to avoid leaking prompts.

* remove DEPRECATED tests

* chore: remove unused Task types file to satisfy knip CI

* fix(task): properly type cleanConversationHistory and createMessage args in Task to address Dan's review
2025-11-12 19:50:24 -05:00
Daniel
fc2147ab4f
fix: prevent crash when streaming chunks have null choices array (#9105) 2025-11-07 13:18:38 -05:00
Daniel
247b06186f
feat: Add comprehensive error logging to Roo Cloud provider (#9098)
feat: add comprehensive error logging to Roo Cloud provider

- Add detailed error logging in handleOpenAIError() to capture error details before transformation
- Enhanced getRooModels() to log HTTP response details on failed requests
- Added error context logging to RooHandler streaming and model loading
- All existing tests passing (48 total)
2025-11-07 08:53:10 -08:00
roomote[bot]
2abdad6d55
fix: respect custom OpenRouter URL for all API operations (#8951)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-11-07 10:35:12 -05:00
roomote[bot]
1ba0150f7a
fix: use system role for OpenAI Compatible provider when streaming is disabled (#8216)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-11-06 16:39:20 -05:00
roomote[bot]
bf048492fb
feat: add MiniMax-M2-Stable model and enable prompt caching (#9072)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-11-06 12:34:53 -08:00
Hannes Rudolph
65230f1f5c
feat: Global Inference for Bedrock models (#8750) (#8940)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Roo Code <roomote@roocode.com>
2025-11-05 15:56:19 -05:00
AJ Juaire
c6a02bb8da
Fix Bedrock user agent to report full SDK details (#9043) 2025-11-05 14:08:58 -05:00
Hannes Rudolph
ea339738e5
Set Claude Sonnet 4.5 as default for key providers (#8922) 2025-11-04 22:07:24 -05:00
Matt Rubens
5b753f5855
Don't output newline-only reasoning (#8990)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-11-02 23:17:59 -05:00
Matt Rubens
613255c09a
Handle <think> tags in the base OpenAI-compatible provider (#8989) 2025-11-02 22:22:49 -05:00
Matt Rubens
8d98b303b3
Union a hard-coded list of chutes models with the dynamic list (#8988) 2025-11-02 21:47:43 -05:00
roomote[bot]
d863010673
feat: add MiniMax M2 model to Fireworks.ai provider (#8962)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-11-02 21:43:58 -05:00
roomote[bot]
8dc8452123
feat: add GLM-4.6 model to Fireworks provider (#8754)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-11-02 21:41:24 -05:00
roomote[bot]
d0e519de3f
feat: convert Chutes to dynamic/router provider (#8980)
* feat: convert Chutes to dynamic/router provider

- Add chutes to dynamicProviders array in provider-settings
- Add chutes entry to dynamicProviderExtras in api.ts
- Create fetcher function for Chutes models API
- Convert ChutesHandler to extend RouterProvider
- Update tests to work with dynamic provider setup
- Export chutesDefaultModelInfo for RouterProvider constructor

* fix: address security and code quality issues from review

- Fix potential API key leakage in error logging
- Add temperature support check before setting temperature
- Improve code consistency with RouterProvider patterns

* fix: add chutes to routerModels initialization

- Fix TypeScript error in webviewMessageHandler
- Ensure chutes is included in RouterName Record type

* Fixes

* Support reasoning

* Fix tests

* Remove reasoning checkbox

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-11-02 16:28:33 -05:00
Matt Rubens
388d40524d
Capture the reasoning content in base-openai-compatible for GLM 4.6 (#8976) 2025-11-02 01:00:33 -04:00
Matt Rubens
416fa5727e
Fix cost and token tracking between provider styles (#8954) 2025-10-31 15:14:29 -04:00
John Richmond
59ab1f3f3c
roo provider: update session token on every request (#8923)
* roo provider: update session token on every request

* Cleanup: remove unused imports

* Also refresh token before completePrompt()
2025-10-29 22:35:51 -07:00
Daniel
ed45d1c081
feat: add zai-glm-4.6 model to Cerebras and set gpt-oss-120b as default (#8920)
* feat: add zai-glm-4.6 model and update gpt-oss-120b for Cerebras

- Add zai-glm-4.6 with 128K context window and 40K max tokens
- Set zai-glm-4.6 as default Cerebras model
- Update gpt-oss-120b to 128K context and 40K max tokens

* feat: add zai-glm-4.6 model to Cerebras provider

- Add zai-glm-4.6 with 128K context window and 40K max tokens
- Set zai-glm-4.6 as default Cerebras model
- Model provides ~2000 tokens/s for general-purpose tasks

* add [SOON TO BE DEPRECATED] warning for Q3C

* chore: set gpt-oss-120b as default Cerebras model

* Fix cerebras test: update expected default model to gpt-oss-120b

* Apply suggestion from @mrubens

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>

---------

Co-authored-by: kevint-cerebras <kevin.taylor@cerebras.net>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-10-29 17:22:16 -04:00
Maosghoul
414345ce7d
Feat: Add Minimax Provider (fixes #8818) (#8820)
Co-authored-by: xiaose <xiaose@minmaxi.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-10-29 09:51:51 -04:00
Daniel
86190d8e2d
feat: Add supportsReasoning property for Z.ai GLM binary thinking mode (#8872)
* feat: Add supportsReasoning property for Z.ai GLM binary thinking mode

- Add supportsReasoning to ModelInfo schema for binary reasoning models
- Update GLM-4.5 and GLM-4.6 models to use supportsReasoning: true
- Implement thinking parameter support in ZAiHandler for Deep Thinking API
- Update ThinkingBudget component to show simple toggle for supportsReasoning models
- Add comprehensive tests for binary reasoning functionality

Closes #8465

* refactor: rename supportsReasoning to supportsReasoningBinary for clarity

- Rename supportsReasoning -> supportsReasoningBinary in model schema
- Update Z.AI GLM model configurations to use supportsReasoningBinary
- Update Z.AI provider logic in createStream and completePrompt methods
- Update ThinkingBudget UI component and tests
- Update all test comments and expectations

This change improves naming clarity by distinguishing between:
- supportsReasoningBinary: Simple on/off reasoning toggle
- supportsReasoningBudget: Advanced reasoning with token budget controls
- supportsReasoningEffort: Advanced reasoning with effort levels
2025-10-27 21:55:26 -04:00
Matt Rubens
b72d55ef45
Enabled reasoning in Roo provider (#8874) 2025-10-27 21:15:02 -04:00
Daniel
fceb413047
Fix LiteLLM test failures after merge (#8870)
* Use monotonic clock for rate limiting

* Fix LiteLLM test failures after merge

- Remove supportsComputerUse from LiteLLM implementation as it's no longer part of ModelInfo interface
- Update test expectations to include cacheWritesPrice and cacheReadsPrice fields
- Fix test for max_output_tokens preference functionality

---------

Co-authored-by: Christiaan Arnoldus <christiaan.arnoldus@outlook.com>
2025-10-27 16:27:26 -05:00
roomote[bot]
bde2c3cec6
fix: use max_output_tokens when available in LiteLLM fetcher (#8455)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-10-27 16:58:45 -04:00
Matt Rubens
84cf332f19
Make sure not to show prices for free models (#8864) 2025-10-27 14:58:43 -04:00
roomote[bot]
e76ac42455
feat: add LongCat-Flash-Thinking-FP8 models to Chutes AI provider (#8426)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-10-27 13:48:10 -04:00
Matt Rubens
b92a22b0c1
Fix caching logic in Roo provider (#8860) 2025-10-27 10:12:28 -04:00
Matt Rubens
f5d7ba1959
Fix provider model loading race conditions (#8836) 2025-10-26 00:56:01 -04:00
roomote[bot]
98b8d5b005
fix: adjust GLM-4.6-turbo max output tokens to prevent context limit errors (#8822)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-10-25 14:08:27 -04:00
Matt Rubens
1a9e7ca233
Handle Roo provider pricing correctly (#8802) 2025-10-24 10:07:14 -04:00
roomote[bot]
ab9a48578c
feat: add dynamic model loading for Roo Code Cloud provider (#8728)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-10-24 00:58:34 -04:00
Hannes Rudolph
026cbd58d3
feat: add 'anthropic/claude-haiku-4.5' to prompt caching models (#8764)
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-10-22 11:05:26 -04:00
roomote[bot]
d9ed33db67
Enable browser-use tool for all image-capable models (#8121)
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: Matt Rubens <mrubens@users.noreply.github.com>
2025-10-21 22:23:42 -04:00
Hannes Rudolph
34392dd4dd
Z.ai: add GLM-4.5-X, AirX, Flash (expand model coverage) (#8745)
* feat(zai): add GLM-4.5-X, AirX, Flash; sync with Z.ai docs; keep canonical api line keys

* feat(zai): add GLM-4.5V vision model (supportsImages, pricing, 16K max output); add tests

* feat(types,zai): sync Z.AI international model map and tests
- Update pricing, context window, and capabilities for:
  glm-4.5-x, glm-4.5-airx, glm-4.5-flash, glm-4.5v, glm-4.6
- Add glm-4-32b-0414-128k
- Align tests with new model specs

* fix(zai): align handler generics with expanded model ids to satisfy CI compile step

* chore(zai): remove tier pricing blocks for Z.ai models

* fix(zai): simplify names in zaiApiLineConfigs for clarity

* chore(zai): set default temperature to 0.6

---------

Co-authored-by: Roo Code <roomote@roocode.com>
2025-10-21 14:58:07 -06:00
Hannes Rudolph
0e7a878fa5
feat: Z AI: only two coding endpoints (#8687) (#8693) 2025-10-17 00:33:53 -04:00
roomote[bot]
6d6b836480
feat: Add userAgent to Bedrock client for version tracking (#8663)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-10-16 23:08:38 -04:00
Daniel
e5216c689e
Add Claude Haiku 4.5 (#8673) 2025-10-15 15:55:32 -05:00
Matt Rubens
9af9d5b021
A couple more sonnet 4.5 fixes (#8421) 2025-09-30 14:28:23 -04:00
roomote[bot]
9e98d1aef6
feat: add GLM-4.6 model support for z.ai provider (#8408)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-09-30 09:26:34 -04:00