Commit graph

70 commits

Author SHA1 Message Date
Josh
934bfd0a54
feat: Add Vercel AI Gateway provider integration (#7396)
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
Co-authored-by: cte <cestreich@gmail.com>
2025-08-26 13:41:02 -07:00
roomote[bot]
2e99d5bf1b
feat: Add Qwen Code CLI API Support with OAuth Authentication (#7380)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
Co-authored-by: cte <cestreich@gmail.com>
2025-08-25 10:43:48 -07:00
Daniel
44fd6432dc
refactor: Remove exceptions from RooHandler constructor (#7302) 2025-08-21 14:56:47 -07:00
DarinVerheijke
57ea6257dd
feat: Featherless provider (#7235)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: cte <cestreich@gmail.com>
2025-08-20 10:42:57 -07:00
Matt Rubens
fd3535c21a
Add support for Sonic model (#7207)
Co-authored-by: cte <cestreich@gmail.com>
2025-08-19 00:53:32 -07:00
Daniel
f3864ffebb
fix: use native Ollama API instead of OpenAI compatibility layer (#7137) 2025-08-15 23:31:58 -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
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
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
jues
a921d059e1
Add Z AI provider (#6657)
Co-authored-by: wangshan <shan.wang@aminer.cn>
2025-08-04 10:06:46 -04:00
Kevin Taylor
079fc22a66
Add Cerebras as a provider (#6392) 2025-07-31 18:17:54 -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
Matt Rubens
bcad858b2f
basic hugging face provider (#6134)
* basic hugging face provider

* fetch hf models and providers

* save provider to config

* Update translations

---------

Co-authored-by: Thomas G. Lopes <26071571+TGlide@users.noreply.github.com>
2025-07-23 15:19:23 -04:00
Matt Rubens
df6c57d293
feat: add moonshot provider (#6046)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: CellenLee <99465814+CellenLee@users.noreply.github.com>
2025-07-22 00:37:24 -04:00
Matt Rubens
d64e677f88
Remove Gemini CLI provider (#5223) 2025-06-28 23:48:28 -04:00
Hannes Rudolph
992997c02f
feat: add Gemini CLI provider for free access to Gemini models (#5134) (#5137)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-06-26 16:03:18 -04:00
Hannes Rudolph
ff9b6b3ef6
feat: add Claude Code provider for local CLI integration (#4864)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-06-22 23:17:55 -04:00
Chris Estreich
e66136f1aa
Add a new @roo-code/types package and use it everywhere (#3912) 2025-05-26 12:06:45 -07:00
Daniel Trugman
78b7455a05
Add metadata to create message (#3832) 2025-05-25 16:14:40 -04:00
Chris Estreich
fa1e7b415c
Re-work support for reasoning models, including "hybrid" reasoning models (#3870) 2025-05-23 01:40:17 -07:00
Chris Estreich
20fab97b4d
Gemini implicit caching (#3515) 2025-05-12 14:16:27 -07:00
John Richmond
8cb5c4e9e3
Restore profile management work + fix #3434 (#3449)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-05-12 15:47:09 -04:00
Matt Rubens
730d037a12
Revert "Improve provider profile management in the external API (#3386)" (#3440) 2025-05-10 08:27:37 -04:00
Chris Estreich
c21aa230e3
Get rid of ApiConfiguration type alias, rename ApiConfigMeta to ProviderSettingsEntry (#3380) 2025-05-08 23:52:18 -07:00
John Richmond
0bbd3fd1df
Add LiteLLM provider (#3242)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-05-07 14:53:21 -04:00
Shariq Riaz
883be32b1a
feat: Add Groq and Chutes API providers (#3034)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <cestreich@gmail.com>
2025-05-05 15:16:27 -07:00
Ash R
a3d8c0e3f6
feat: vertex/gemini prompt caching (#2996) 2025-04-28 15:11:35 -07:00
Chris Estreich
1924e10e72
Fix all linter errors (and fix the lint scripts too) (#2958) 2025-04-26 09:45:26 -07:00
Chris Estreich
a08461a655
Gemini prompt caching (#2827) 2025-04-23 11:35:50 -07:00
Matt Rubens
37f7d83792
Add xAI provider (#2667)
* Add xAI provider

* Add model reasoning effort

* DRY this up

* Handle undefined delta

* Cleanup getModel to fix test

* Add missing translations

* Small type cleanup

* Support temperature

---------

Co-authored-by: cte <cestreich@gmail.com>
2025-04-15 22:16:52 -04:00
Chris Estreich
e7a57ea774
Expose reasoning effort option for reasoning models on OpenRouter (#2483)
* Specify reasoning effort for OpenRouter reasoning models

* Add ReasoningEffort type

* Fix ReasoningEffort props

* Remove copypasta

* Set reasoning effort for Grok 3 Mini

* Use translations

* Add translations

* Remove this check
2025-04-15 13:51:52 -07:00
Wojciech Kordalski
499b8e4665
Fake AI provider (#1769)
* Fake AI

* Do not show Fake AI in Roo-Code settings

* Rename providers/fake-provider.ts to providers/fake-ai.ts
2025-03-19 19:07:59 -07:00
Felix NyxJae
626827ab3f
Merge branch 'RooVetGit:main' into human-relay 2025-03-03 10:19:02 +08:00
Matt Rubens
e8de7dea19 Merge remote-tracking branch 'origin/main' into count_tokens 2025-03-02 02:02:05 -05:00
Matt Rubens
8a1d66732a Infrastructure to support calling token count APIs, starting with Anthropic 2025-03-02 01:47:55 -05:00
cte
9b646eb2bc DRY up getModel 2025-03-01 21:51:17 -08:00
Felix NyxJae
3bb1d78c17 feat: Added human relay function and related message processing initial version 2025-02-27 18:08:05 +08:00
sam hoang
91fe764cb8 feat: add Requesty API provider support
- Add RequestyHandler implementation for API integration
- Add RequestyModelPicker component for model selection
- Update shared types and messages for Requesty support
- Update API options to include Requesty provider
2025-02-10 20:13:43 +07:00
Pugazhendhi
62dcfbe549 Adds unbound provider to roo cline 2025-01-27 19:47:28 +05:30
Saoud Rizwan
077fa84374 Add Mistral API provider 2025-01-17 01:11:16 -05:00
Matt Rubens
1b60d1e293 Fix VSCode LM 2025-01-16 01:00:07 -05:00
Matt Rubens
7137f8c528 Spacing adjustments 2025-01-08 17:28:32 -05:00
RaySinner
98b9007c36 merge(upstream): merge upstream changes keeping VSCode LM provider and adding Glama support 2025-01-07 01:54:46 +03:00
RaySinner
9d62a7bb77 feat(vscode-lm): implement VS Code Language Models provider 2025-01-07 01:23:22 +03:00
Frank
e5e700ffcb feat: add Glama gateway 2025-01-04 22:50:12 -05:00
Matt Rubens
eb8c4cc50f Add DeepSeek to the list of providers 2024-12-29 11:27:31 -08:00
Matt Rubens
111abdbb2c Enhance prompt button for openrouter 2024-12-28 15:44:14 -08:00
Saoud Rizwan
39bc35eec1 Add LM Studio provider 2024-11-12 22:02:42 -05:00
Saoud Rizwan
06ccaf6f67 Implement streaming for all providers 2024-10-09 01:49:55 -04:00