Commit graph

223 commits

Author SHA1 Message Date
Chris Estreich
9ffc2b0a36
Move cloud types from @roo-code/types to @roo-code/cloud (#7038) 2025-08-13 00:10:29 -07:00
Matt Rubens
6f81b775c7
Revert "Fix token usage / cost often being underreported" (#7039) 2025-08-13 01:33:57 -04:00
Matt Rubens
13d1a5bc8f
Add Sonnet 1M context checkbox (#7032) 2025-08-12 22:51:30 -04:00
Peter Dave Hello
4c018663de
Remove deprecated GPT-4.5 Preview model (#6948) 2025-08-12 22:45:00 -04:00
roomote[bot]
f6f5fa3ede
feat: add OpenAI gpt-oss models to Amazon Bedrock dropdown (#6783)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-12 15:50:06 -04:00
Daniel
8e7a2e7bdb
feat: Update Claude Sonnet 4 context window to 1 million tokens (#7005)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-08-12 14:40:42 -04:00
Matt Rubens
3acb3ba21e
Adding requesty base url (#6992)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: John Costa <john@requesty.ai>
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-12 10:04:35 -04:00
roomote[bot]
e02ac08089
feat: add new Chutes provider models (#6699)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-11 23:24:40 -04:00
Christiaan Arnoldus
b30372d5ca
Fix token usage / cost often being underreported (#6122)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-11 16:55:16 -04:00
Ertan Dagistanli
1018b885ab
Add IO Intelligence Provider (#6875)
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-08-11 16:54:35 -04:00
Daniel
76e5a726a3
feat: add native OpenAI provider support for Codex Mini model (#5386) (#6931)
Co-authored-by: Luis Daniel Riccio Silva <danriccio@Dans-MacBook-Pro.local>
2025-08-11 11:16:01 -04:00
Matt Rubens
f53fd39014
Add submitUserMessage to Task (#6895) 2025-08-10 03:13:15 -04:00
Hannes Rudolph
cda67a86f5
GPT5 OpenAI Fix (#6864)
* fix: add explicit max_output_tokens for GPT-5 Responses API

- Added max_output_tokens parameter to GPT-5 request body using model.maxTokens
- This prevents GPT-5 from defaulting to very large token limits (e.g., 120k)
- Updated tests to expect max_output_tokens in GPT-5 request bodies
- Fixed test for handling unhandled stream events by properly mocking SDK fallback

* fix: add missing translations for reasoningEffort.minimal in Indonesian and Dutch locales

* fix: correct GPT-5 response ID persistence and usage

- Renamed metadata field from 'previous_response_id' to 'response_id' for clarity
- Fixed logic to correctly use the response_id from the previous message as previous_response_id for the next request
- This resolves the 'Previous response with id not found' errors that occurred after multiple turns in the same session

* feat: add robust error handling for GPT-5 previous_response_id failures

- Automatically retry without previous_response_id when it's not found (400 error)
- Clear stored lastResponseId to prevent reusing stale IDs
- Handle errors in both SDK and SSE fallback paths
- Log warnings when retrying to help with debugging

* fix: handle GPT-5 response ID race condition with nano model

- Add promise-based synchronization for response ID persistence
- Wait for pending response ID from previous request before using it
- Resolve promise when response ID is received or cleared
- Add 100ms timeout to avoid blocking too long on ID resolution
- Properly clean up resolver on errors to prevent memory leaks

This fixes the race condition where fast nano model responses could cause
the next request to be initiated before the response ID was fully persisted.

* fix: address PR review comments for GPT-5 implementation

- Extract usage normalization helper to reduce duplication
- Suppress conversation continuity for first message (but respect explicit metadata)
- Deduplicate response ID resolver logic
- Remove dead enableGpt5ReasoningSummary option references
- DRY up GPT-5 event/usage handling with normalizeGpt5Usage helper
- Centralize default GPT-5 reasoning effort using model info
- Fix Indonesian locale minimal string misplacement
- Add clarifying comments for Developer prefix usage
- Add TODO for future verbosity UI capability gating
- Fix failing test in reasoning.spec.ts

* fix(openai-native): address Roomote inline feedback\n\n- Delegate standard GPT-5 SSE event types to shared processor to reduce duplication\n- Add JSDoc for response ID accessors\n- Standardize key error messages for GPT-5 Responses API fallback\n- Extract persistGpt5Metadata() in Task to simplify metadata writes\n- Add malformed JSON SSE parsing test\n

* fix(openai-native,gpt5): correct usage cost calc (use calculateApiCostOpenAI incl. cache); enforce 'skip once' continuity via suppressPreviousResponseId; dedupe responseId resolver on SSE 400; feat: gate reasoning.summary by enableGpt5ReasoningSummary; centralize default reasoning effort; types/ui: add ModelInfo.supportsVerbosity and gate Verbosity UI by capability; refactor: avoid duplicate usage emission in SSE done/completed

* fix(gpt5): default enableGpt5ReasoningSummary=true to preserve tests and expected behavior

* fix(gpt5): canonicalize GPT-5 metadata key to previous_response_id and align enableGpt5ReasoningSummary default docs

* fix(openai-native): remove review artifact comments and guard GPT-5 in completePrompt
2025-08-09 14:52:06 -04:00
roomote[bot]
dc57552ade
feat: add GPT-5 model support (#6819)
* feat: add GPT-5 model support

- Added GPT-5 models (gpt-5-2025-08-07, gpt-5-mini-2025-08-07, gpt-5-nano-2025-08-07)
- Added nectarine-alpha-new-reasoning-effort-2025-07-25 experimental model
- Set gpt-5-2025-08-07 as default OpenAI Native model
- Implemented GPT-5 specific handling with streaming and reasoning effort support

* fix: remove hardcoded temperature from GPT-5 handler

- Updated handleGPT5Message to use configurable temperature
- Now uses this.options.modelTemperature ?? OPENAI_NATIVE_DEFAULT_TEMPERATURE
- Maintains consistency with other model handlers

* feat: add reasoning effort support for all OpenAI models

* fix: update test to expect new default model gpt-5-2025-08-07

* feat: increase GPT-5 models context window to 400,000

- Updated context window from 256,000 to 400,000 for gpt-5-2025-08-07
- Updated context window from 256,000 to 400,000 for gpt-5-mini-2025-08-07
- Updated context window from 256,000 to 400,000 for gpt-5-nano-2025-08-07
- Updated context window from 256,000 to 400,000 for nectarine-alpha-new-reasoning-effort-2025-07-25

As requested by @daniel-lxs in PR #6819

* revert: remove GPT-5 models, keep only nectarine experimental model

- Removed gpt-5-2025-08-07, gpt-5-mini-2025-08-07, gpt-5-nano-2025-08-07
- Kept nectarine-alpha-new-reasoning-effort-2025-07-25 experimental model
- Reverted default model back to gpt-4o
- Updated tests and changeset accordingly

* feat: add GPT-5 models with updated context windows

- Added gpt-5-2025-08-07, gpt-5-mini-2025-08-07, gpt-5-nano-2025-08-07 models
- All GPT-5 models configured with 400,000 context window
- Updated nectarine model context window to 256,000
- All models configured with reasoning effort support
- Set gpt-5-2025-08-07 as default OpenAI Native model
- Added GPT-5 model handling in openai-native.ts
- Updated tests to reflect new default model

* fix: restore reasoning effort support for o1 series models

- Added supportsReasoningEffort: true to o1, o1-preview, and o1-mini models
- This restores the ability to use reasoning effort parameters with these models
- The existing code in openai-native.ts already handles reasoning effort correctly

* Revert "fix: restore reasoning effort support for o1 series models"

This reverts commit 7251237ae8.

* fix: restore reasoning effort support for o3 and o4 models

- Added supportsReasoningEffort: true to o3, o3-high, o3-low models
- Added supportsReasoningEffort: true to o4-mini, o4-mini-high, o4-mini-low models
- Added supportsReasoningEffort: true to o3-mini, o3-mini-high, o3-mini-low models
- These models have both supportsReasoningEffort and reasoningEffort properties

* Revert "fix: restore reasoning effort support for o3 and o4 models"

This reverts commit a75a2b8a69.

* fix: restore reasoning effort support for o3 and o4 models

- Added supportsReasoningEffort: true to o3, o3-high, o3-low models
- Added supportsReasoningEffort: true to o4-mini, o4-mini-high, o4-mini-low models
- Added supportsReasoningEffort: true to o3-mini, o3-mini-high, o3-mini-low models

* fix: adjust reasoning effort support for o3/o4 models

- Keep supportsReasoningEffort only for base o3, o4-mini, and o3-mini models
- Remove supportsReasoningEffort from -high and -low variants
- Position supportsReasoningEffort right before reasoningEffort property

* fix: remove nectarine experimental model

- Removed nectarine-alpha-new-reasoning-effort-2025-07-25 from openai.ts
- Removed nectarine handling from openai-native.ts (renamed to handleGpt5Message)
- Removed associated changeset file
- Keep GPT-5 models with developer role handling

* feat: implement full GPT-5 support with verbosity and minimal reasoning

- Add all three GPT-5 models with accurate pricing (.25/0 for gpt-5, /bin/sh.25/ for mini, /bin/sh.05//bin/sh.40 for nano)
- Implement verbosity control (low/medium/high) that passes through to API
- Add minimal reasoning effort support for fastest response times
- GPT-5 models use developer role instead of system role
- Set gpt-5-2025-08-07 as default OpenAI Native model
- Add Responses API infrastructure for future migration
- Update tests to verify all GPT-5 features
- All 27 tests passing

Note: UI controls for verbosity still need to be added in a follow-up PR

* feat: add verbosity setting for GPT-5 models

- Add VerbosityLevel type definition to model types
- Add verbosity field to ProviderSettings schema
- Create Verbosity UI component for settings
- Add verbosity labels to all localization files
- Integrate verbosity handling in model parameters transformation
- Update OpenAI native handler to support verbosity for GPT-5
- Add comprehensive tests for verbosity setting
- Update existing GPT-5 tests to use verbosity from settings

* Delete .roorules

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: hannesrudolph <hrudolph@gmail.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-08-07 16:57:12 -04:00
roomote[bot]
212297755f
feat: add GLM-4.5 and OpenAI gpt-oss models to Fireworks provider (#6784)
* feat: add GLM-4.5 and OpenAI gpt-oss models to Fireworks provider

- Added GLM-4.5 (355B/32B active) and GLM-4.5-Air (106B/12B active) models from Z.ai
- Added gpt-oss-20b and gpt-oss-120b models from OpenAI
- All models configured with 128K context window
- Added comprehensive test coverage for all new models

Fixes #6753

* fix: update GLM-4.5 model IDs to use p instead of hyphen

- Changed glm-4-5 to glm-4p5
- Changed glm-4-5-air to glm-4p5-air
- Updated corresponding test cases

---------

Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-07 09:42:22 -04:00
Chris Estreich
37330b0209
Bring back "Use @roo-code/cloud from npm" (#6795) 2025-08-06 20:51:41 -10:00
Chris Estreich
142cdb5cb1
Revert "Use @roo-code/cloud from npm" (#6742)
Revert "Use @roo-code/cloud from npm (#6611)"

This reverts commit a1439c1f96.
2025-08-05 16:13:11 -10:00
Matt Rubens
1805b75b43
Stop making types private (#6737) 2025-08-05 11:56:16 -07:00
Daniel
98e0a2d5c6
feat: add OpenAI GPT OSS model to Cerebras providers (#6734) 2025-08-05 11:25:02 -07:00
Daniel
6331f5769b
feat: add GPT-OSS 120b and 20b models to Groq provider (#6732) 2025-08-05 11:10:23 -07:00
roomote[bot]
477b85de03
feat: add support for Claude Opus 4.1 (claude-opus-4-1-20250805) (#6728)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-05 10:55:03 -07:00
ershang-fireworks
4a9222b50e
Add the fireworks AI provider (#6652)
* add fireworks provider

* add tests

* Update packages/types/src/providers/fireworks.ts

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

* fix typo

* another typo

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-08-04 19:27:12 -07:00
Chris Estreich
c34e412771
Bump @roo-code/types to v1.44.0 (#6675) 2025-08-04 07:58:11 -10:00
jues
a921d059e1
Add Z AI provider (#6657)
Co-authored-by: wangshan <shan.wang@aminer.cn>
2025-08-04 10:06:46 -04:00
axb
f24c1e69a3
use assistantMessageParser class instead of parseAssistantMessage (#5341)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-04 10:02:30 -04:00
Chris Estreich
a1439c1f96
Use @roo-code/cloud from npm (#6611) 2025-08-03 16:43:33 -10:00
Chris Estreich
fd7550f463
Bump @roo-code/types to v1.43.0 (#6640) 2025-08-03 16:38:40 -10:00
Chris Estreich
3f966dfaa3
Bump @roo-code/types to v1.42.0 (#6610) 2025-08-02 13:27:59 -07:00
Chris Estreich
b2d2a2c5d2
Task and TaskProvider event emitter cleanup + a few new events (#6606)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-02 11:12:44 -07:00
roomote[bot]
69685c779d
chore: bump @roo-code/types to v1.41.0 (#6568)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-01 13:14:55 -07:00
John Richmond
8353ca2519
Cloud: support syncing provider profiles from the cloud (#6540) 2025-08-01 16:00:09 -04:00
Kevin Taylor
88272e9b02
Add Qwen 3 Coder from Cerebras (#6562)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-01 15:29:33 -04:00
Matt Rubens
5c05762333
Revert "Migrate evals database when deploying roo-code-website" (#6525) 2025-07-31 19:27:55 -04:00
John Richmond
6e835de82f
Cloud service cleanup callbacks / move to events (#6519)
* Cloud: use events in SettingsService

* Cloud: simplify AuthService events

* Cloud: convert CloudService to an EventEmitter

* Apply suggestions from code review

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-07-31 18:30:30 -04:00
Kevin Taylor
079fc22a66
Add Cerebras as a provider (#6392) 2025-07-31 18:17:54 -04:00
Chris Hasson
1da82b2db0
Add auto-approved cost limits (#6484)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-31 15:33:09 -04:00
roomote[bot]
38c6c7a101
feat: add zai-org/GLM-4.5-FP8 model to Chutes AI provider (#6441)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-07-30 22:23:51 -04:00
Chris Estreich
796ee5c0e3
Migrate evals database when deploying roo-code-website (#6146)
Evals db migrate
2025-07-30 20:12:21 -04:00
Chris Estreich
cb6dccab95
Miscellaneous cleanup (#6453) 2025-07-30 16:10:53 -07:00
Will Li
83280a0d40
feat: Add Task History Context to Prompt Enhancement (#6343) 2025-07-30 16:54:33 -04:00
AntiMoron
4b45a4e7f2
Support new LLM provider: Doubao (#6345)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-30 16:54:16 -04:00
Jorge Piedrahita Ortiz
75f93c41cf
feat: add SambaNova provider integration (#6188) 2025-07-30 12:47:12 -04:00
roomote[bot]
fd5bdc7cb1
feat: increase Claude Code default max output tokens to 16k (#6312)
feat: increase Claude Code default max output tokens from 8k to 16k

- Changed CLAUDE_CODE_DEFAULT_MAX_OUTPUT_TOKENS from 8000 to 16000
- Users can still lower it to 8k via environment variable if needed
- Addresses issue #6125 regarding output token limits

Co-authored-by: Roo Code <roomote@roocode.com>
2025-07-29 21:07:25 -04:00
John Richmond
7b0a7e544d
Bump types to 1.40.0 (#6387) 2025-07-29 14:41:31 -07:00
John Richmond
6a42e91b15
Cloud: add organization MCP controls (#6378)
- Add option to hide mcps from the marketplace
- Add ability to define new organization mcps
2025-07-29 14:11:51 -07:00
roomote[bot]
039154e938
feat: add zai-org/GLM-4.5-Air model to Chutes AI provider (#6377)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-07-29 16:14:11 -04:00
Sam Hoang Van
017622d3e3
feat(tools): add image support to read_file tool (#5172)
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-28 23:23:33 -04:00
roomote[bot]
93930643c6
feat: Add experimental setting to prevent editor focus disruption (#6214)
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: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-07-28 23:14:53 -04:00
roomote[bot]
8b9303c015
feat: make task mode sticky to task (#6177)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: hannesrudolph <hrudolph@gmail.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-07-28 23:06:14 -04:00
Murilo Pires
a0018c9d04
feat: add prompt caching support for LiteLLM (#5791) (#6074)
* feat: add prompt caching support for LiteLLM (#5791)

- Add litellmUsePromptCache configuration option to provider settings
- Implement cache control headers in LiteLLM handler when enabled
- Add UI checkbox for enabling prompt caching (only shown for supported models)
- Track cache read/write tokens in usage data
- Add comprehensive test for prompt caching functionality
- Reuse existing translation keys for consistency across languages

This allows LiteLLM users to benefit from prompt caching with supported models
like Claude 3.7, reducing costs and improving response times.

* fix: improve LiteLLM prompt caching to work for multi-turn conversations

- Convert system message to structured format with cache_control
- Handle both string and array content types for user messages
- Apply cache_control to content items, not just message level
- Update tests to match new message structure

This ensures prompt caching works correctly for all messages in a conversation,
not just the initial system prompt and first user message.

* fix: resolve TypeScript linter error for cache_control property

Use type assertion to handle cache_control property that's not in OpenAI types
2025-07-28 12:56:06 -07:00