Commit graph

500 commits

Author SHA1 Message Date
Daniel Trugman
0c481a3cf9
Fix requesty model listing (#7378)
* Fix requesty model listing

* Delete .changeset/spotty-queens-crash.md

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-24 20:12:43 -04:00
roomote[bot]
8367b1ac92
feat: add Deepseek v3.1 to Fireworks AI provider (#7375)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-24 18:43:06 -04:00
roomote[bot]
b433d1f7a2
fix: handle Mistral thinking content as reasoning chunks (#7106)
* fix: handle Mistral thinking content as reasoning chunks

- Add TypeScript interfaces for Mistral content types (text and thinking)
- Update createMessage to yield reasoning chunks for thinking content
- Update completePrompt to filter out thinking content in non-streaming mode
- Add comprehensive tests for reasoning content handling
- Follow the pattern used by other providers (Anthropic, OpenAI, Gemini, etc.)

Fixes #6842

* fix: resolve TypeScript type issue in completePrompt method

* fix: handle Mistral thinking content chunks in streaming responses

- Added ContentChunkWithThinking type helper to handle thinking chunks
- Properly converts thinking content to reasoning chunks in streaming
- Filters out thinking content in non-streaming completePrompt responses
- Confirmed that Mistral API does send thinking chunks with type 'thinking'
- Works with Mistral SDK v1.9.18

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-08-23 06:33:43 -07:00
Christiaan Arnoldus
8e4c0ae99d
Show cache read and write prices for OpenRouter inference providers (#7176) 2025-08-22 14:43:34 -07:00
Daniel
d175272c76
feat: add custom base URL support for Requesty provider (#7337)
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: Thibault Jaigu <thibault.jaigu@gmail.com>
2025-08-22 13:43:08 -07:00
roomote[bot]
262033ddd0
feat: add DeepSeek V3.1 model to Chutes AI provider (#7295)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-22 12:18:55 -07:00
Daniel
faab314a88
feat: add prompt caching support for Kimi K2 on Groq (#7324)
Ported from upstream Cline repository PR #5697
Original PR: https://github.com/cline/cline/pull/5697

- Added GroqUsage interface to handle cached token fields
- Implemented proper cost calculation with cache read discounts
- Enabled prompt caching for Kimi K2 model with 50% discount on cached tokens
- Updated tests to verify caching functionality

Co-authored-by: Cline Contributors <cline@github.com>
2025-08-22 09:40:21 -07:00
Chris Estreich
175edeff25
Pass task ID in the Roo provider request headers (#7303) 2025-08-21 20:27:21 -07:00
roomote[bot]
9fe06db921
fix: update DeepSeek models context window to 128k (#7269)
* fix: update DeepSeek models context window to 128k

- Updated deepseek-chat and deepseek-reasoner models from 64k to 128k context window
- Updated corresponding test expectations
- Aligns with DeepSeek API documentation at https://api-docs.deepseek.com/quick_start/pricing/

Fixes #7268

* feat: update deepseek-reasoner maxTokens to 64K based on official documentation

* fix: use default maxTokens values instead of maximum for DeepSeek models

- deepseek-chat: 4096 (4K default) instead of 8192 (8K max)
- deepseek-reasoner: 32768 (32K default) instead of 65536 (64K max)
- Updated tests to match new default values
- Updated description to clarify default vs max output tokens

* fix: use maximum output tokens for both DeepSeek models

- deepseek-chat: 8192 (8K max)
- deepseek-reasoner: 65536 (64K max)
- Updated tests to match maximum values
- Updated description to reflect 64K max output

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-08-21 15:03:35 -07:00
Daniel
44fd6432dc
refactor: Remove exceptions from RooHandler constructor (#7302) 2025-08-21 14:56:47 -07:00
roomote[bot]
090737c516
fix: omit temperature parameter when not explicitly set for OpenAI Compatible providers (#7188)
* fix: omit temperature parameter when not explicitly set for OpenAI Compatible providers

- Modified OpenAiHandler to only include temperature when modelTemperature is defined
- Modified BaseOpenAiCompatibleProvider to only include temperature when modelTemperature is defined
- Added tests to verify temperature is omitted when undefined
- Updated existing tests to explicitly set temperature where needed

This allows backend services (LiteLLM, vLLM) to use their configured default temperatures
instead of being forced to use temperature=0 when "Use custom temperature" is unchecked.

Fixes #7187

* test: update tests to match new temperature handling behavior

- Remove temperature parameter expectations from provider tests
- Tests now expect temperature to be omitted when not explicitly set
- Aligns with PR #7188 changes to fix OpenAI Compatible provider behavior

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-08-21 02:14:03 -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
ede26b8036
Increase sonic max_tokens to 16384 (#7218) 2025-08-19 07:19:50 -07:00
Chris Estreich
532728ee85
Expose thinking tokens for roo/sonic (#7212)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-19 07:01:01 -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
e7e827a3f8
fix: prevent duplicate LM Studio models with case-insensitive deduplication (#7185)
* fix: prevent duplicate LM Studio models with case-insensitive deduplication

- Keep both listDownloadedModels and listLoaded APIs to support JIT loading
- Implement case-insensitive deduplication to prevent duplicates
- When duplicates are found, prefer loaded model data for accurate runtime info
- Add test coverage for deduplication logic
- Addresses feedback about LM Studio's JIT Model Loading feature (v0.3.5+)

Fixes #6954

* fix: correct deduplication logic to prefer loaded models

- When a loaded model ID is found in any downloaded model key (case-insensitive)
- Remove the downloaded model and replace with the loaded model
- This ensures loaded models with runtime info take precedence
- Updated tests to verify the correct deduplication behavior

* fix: improve deduplication logic and add comprehensive test coverage

- Enhanced deduplication to use path segment matching instead of simple substring
- Prevents false positives like 'llama' matching 'codellama'
- Added comprehensive test cases for edge cases and multiple scenarios
- Maintains support for JIT Model Loading feature
2025-08-18 08:17:43 -07:00
Daniel
f3864ffebb
fix: use native Ollama API instead of OpenAI compatibility layer (#7137) 2025-08-15 23:31:58 -04:00
roomote[bot]
23afdfca03
fix: only include verbosity parameter for models that support it (#7055)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-13 15:33:18 -04:00
Daniel
7ed833cb5d
Fix: AWS Bedrock 1M context - Move anthropic_beta to additionalModelRequestFields (#7056) 2025-08-13 15:26:50 -04:00
Matt Rubens
13d1a5bc8f
Add Sonnet 1M context checkbox (#7032) 2025-08-12 22:51:30 -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
roomote[bot]
f9e85a5e84
feat: add configurable API request timeout for local providers (#6531)
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-lxs <ricciodaniel98@gmail.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-08-12 11:48:45 -04:00
Matt Rubens
cee7c9894c
Add minimal reasoning support to OpenRouter (#6998)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-08-12 11:46:31 -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
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
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
John Richmond
cdc31f7c26
Bedrock: workaround LiteLLM passthrough issues (#6778)
Explicitly setting requestTimeout seems to be required for it to be
possible to use the Bedrock provider with LiteLLM
Bedrock passthrough.
2025-08-09 14:29:18 -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
Matt Rubens
c52fdc4397
Clamp default model max tokens to 20% of context window (#6761) 2025-08-06 13:51:10 -07:00
roomote[bot]
263e317ebd
feat: reduce Gemini 2.5 Pro minimum thinking budget to 128 (#6588)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-05 15:43:20 -07:00
roomote[bot]
1237eb825b
fix: trim whitespace from OpenAI base URL to fix model detection (#6560)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-05 14:22:29 -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
jues
a921d059e1
Add Z AI provider (#6657)
Co-authored-by: wangshan <shan.wang@aminer.cn>
2025-08-04 10:06:46 -04:00
roomote[bot]
19c157e51c
feat: set horizon-beta model max tokens to 32k for OpenRouter (#6577)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-01 21:11:24 -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
Kevin Taylor
079fc22a66
Add Cerebras as a provider (#6392) 2025-07-31 18:17:54 -04:00
Piotr Wilkin (ilintar)
1a013b4416
fix: LM Studio model context length (#5075) (#6183)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-31 15:31:04 -04:00
roomote[bot]
c47e857048
feat: set horizon-alpha model max tokens to 32k for OpenRouter (#6470)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-07-30 23:27:18 -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
NaccOll
181993f639
feat: enhance token counting by extracting text from messages using VSCode LM API (#6424) 2025-07-30 16:56:01 -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]
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
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
Ton Hoang Nguyen (Bill)
342ee70fb4
Feat: Adding Gemini tools - URL Context and Grounding with Google Search (#5959)
* feat: Adding more settings and control over Gemini

- with topP, topK, maxOutputTokens
- allow users to enable URL context and Grounding Research

* feat: Adding parameter titles and descriptions + translation to all languages

* feat: adding more translations

* feat: adding `contextLimit` implementation from `maxContextWindow` PR + working with profile-specific thresholding

* feat: max value for context limit to model's limit + converting description and titles to settings for translation purposes

* feat: all languages translated

* feat: changing profile-specific threshold in context management setting will also change in Gemini context management

- sync between Context Management Settting <-> Gemini Context Management with regards to thresholding

* feat: max value of maxOutputTokens is model's maxTokens + adding more tests

* feat: improve unit tests and adding `data-testid` to slider and checkbox components

* fix: small changes in geminiContextManagement descriptions + minor fix

* fix: Switching from "Gemini Context Management" to "Token Management

- better naming and correct purpose

* fix: input field showed NaN -> annoying UX

* fix: Removing redundant "tokens" after the "set context limit"'s checkbox + removing the lengthy description

* fix: Changing the translation to be consistent with the english one

* fix: more translations

* fix: translations

* fix: removing contextLimit and token management related code

- due to the decision in: https://github.com/RooCodeInc/Roo-Code/issues/3717

* fix: removing `contextLimit` test and removing token management in translations

* fix: changing from `Advanced Features` to `Tools` to be consistent with Gemini docs/AI studio

* fix: adding `try-catch` block for `generateContentStream`

* feat: Include citations + improved type safety

* feat: adding citation for streams (generateContextStream)

* fix: set default values for `topP`, `topK` and `maxOutputTokens`

* fix: changing UI/UX according to the review/feedback from `daniel-lxs`

* fix: updating the `Gemini.spec.tsx` unit test

- testing when it is hidden
- testing when users click on the collapsible trigger and model configuration appears

* fix: more changes from the feedback/review from `daniel-lxs`

* fix: adding sources at the end of the stream to preserve

* fix: change the description for grounding with google search and url context

* fix: adding translations

* fix: removing redundant extra translations - a mistake made by the agent

* fix: remove duplicate translation keys in geminiSections and geminiParameters

- Fixed duplicate keys in 13 localization files (es, fr, hi, id, it, ja, ko, nl, pl, pt-BR, ru, tr, vi)
- Removed second occurrence of geminiSections and geminiParameters keys
- Kept first occurrence which contains more comprehensive descriptions
- All JSON files validated for syntax correctness
- Translation completeness verified with missing translations script

Resolves duplicate key issue identified in PR #4895

* fix: delete topK, topP and maxOutputTokens from Gemini

* fix: deleting topK, topP and maxOutputTokens from translations/locales

* fix: adjust spacing between labels and descriptions + sentence casing

* fix: adding maxOutputTokens back and removing unknown type

* fix: internalizing error Gemini error message

* fix: updating tests in Gemini and Vertex to adjust to the new error logging

* fix: address PR review feedback for Gemini tools feature

- Fix Hindi translation grammatical error in settings.json
- Internationalize 'Sources:' string and error messages in gemini.ts
- Add comprehensive error scenario tests to gemini-handler.spec.ts
- Remove unused currentModelId prop from Gemini component
- Update all locale files with new translation keys

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-27 14:34:55 -04:00
Daniel
0504199ce4
refactor: consolidate HuggingFace models API into providers/fetchers (#6228)
refactor: move HuggingFace models API to providers/fetchers

- Moved getHuggingFaceModels functionality from src/api/huggingface-models.ts to src/api/providers/fetchers/huggingface.ts
- Added getHuggingFaceModelsWithMetadata function to maintain the same API interface
- Updated import in webviewMessageHandler.ts to use the new location
- Deleted the now redundant src/api/huggingface-models.ts file

This consolidates all HuggingFace-related API logic into a single location within the providers/fetchers directory structure.
2025-07-25 20:39:18 -04:00