Commit graph

58 commits

Author SHA1 Message Date
renovate[bot]
cf7c4a13a0
chore(deps): update postgres docker tag to v17 (#4350)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 13:50:29 -07:00
Chris Estreich
8d5dab3518
GHA evals (#4472) 2025-06-10 11:01:54 -07:00
Hannes Rudolph
bf35dcd626
fix: remove explicit cache_control for Google models in OpenRouter (#4487) (#4488)
* fix: remove explicit cache_control for Google models in OpenRouter (#4487)

- Remove all Google models from OPEN_ROUTER_PROMPT_CACHING_MODELS set
- This resolves 3+ minute lag when using google/gemini-2.5-pro-preview
- OpenRouter still provides automatic implicit ephemeral caching for these models
- Updated tests to handle intentional exclusion of Google models from explicit caching

Fixes #4487

* refactor: simplify OpenRouter caching test logic

- Replace hardcoded exclusion list with simple Google model filter
- Keep original validation logic but make it more maintainable
- Still ensures all our caching models are supported by OpenRouter
- Still verifies we exclude all Google models from explicit caching

* cleanup: remove unused excludedModels variable

- Variable was defined but never used
- Keeps the test logic clean and focused

* refactor: only exclude google/gemini-2.5-pro-preview from caching

- More surgical approach - only exclude the specific problematic model
- Keep other Google models in caching (they work fine)
- Add comment explaining the exclusion with issue reference
- Update test to only exclude the specific model

This targets just the model causing 3+ minute lag while preserving
caching benefits for other Google models that work properly.
2025-06-10 00:48:40 -04:00
John Richmond
736c4b1810
Improve eval docker ports (#4489) 2025-06-09 21:41:18 -07:00
Chris Estreich
483d951723
Try to fix win32 esbuild (#4479) 2025-06-09 15:03:44 -07:00
Chris Estreich
f5c53f1ed7
Retry tasks that disconnect before completion or timeout (#4461) 2025-06-09 14:26:51 -07:00
Chris Estreich
2bf4347cc3
Document how to add evals (#4470) 2025-06-09 14:26:19 -07:00
Chris Estreich
73ed9f2b26
Docker cleanup script (#4469) 2025-06-09 14:25:13 -07:00
Hannes Rudolph
67d238afd0
feat: add experimental flag to disable command execution in attempt_c… (#4352)
* feat: add experimental flag to disable command execution in attempt_completion tool

* fix: remove deprecation phase comments from attemptCompletionTool

* feat: add translations for disable completion command experiment

* fix: revert unintended package.json change

* Rename attempt-completion.experiment.test.ts to attempt-completion.test.ts

* fix: address PR feedback - restore autoCondenseContext in tests and remove type assertion

---------

Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-06-08 07:14:57 -07:00
Matt Rubens
540d4fb94f
Add a share button when logged into cloud (#4448)
* Add a share button when logged into cloud

* Only show share button if enabled

* PR feedback
2025-06-08 07:08:41 -07:00
Chris Estreich
52673b3721
Harden evals with retry logic + centralize logs on Docker host (#4440)
* Harden evals with retry logic + centralize logs on Docker host

* Don't delete controller container on exit

* Add randomness

* More tweaks

* More tweaks
2025-06-07 08:58:09 -07:00
Chris Estreich
6a232a99c6
Prevent hanging processes from preventing container cleanup (#4428) 2025-06-06 17:07:31 -07:00
Chris Estreich
39d7f559d2
Update evals README.md (#4420)
* Update README.md

* Update README.md
2025-06-06 09:04:11 -07:00
Chris Estreich
f61b4e46a8
Fix git clone in evals setup script (#4418) 2025-06-06 08:47:43 -07:00
Chris Estreich
24851b96db
Improve the evals "run status" section (#4400) 2025-06-05 22:00:15 -07:00
Chris Estreich
39d6535f7c
Fix rust evals (run cargo with bash) + logging tweaks (#4392) 2025-06-05 16:40:34 -07:00
Daniel
3b45d86df7
Add gemini pro 06 05 (#4386)
* feat: add gemini-2.5-pro-preview-06-05 to Gemini and Vertex providers and UI, identical to 05-06

* feat: add thinking variant for gemini-2.5-pro-preview-06-05

* feat: add gemini-2.5-pro-preview-06-05 support to OpenRouter

* fix: update gemini-2.5-pro-preview model references in OpenRouter

* fix: tests

* feat: enhance reasoning handling in Gemini and Vertex handlers

* feat: add google/gemini-2.5-pro-preview to required reasoning budget models

* fix: refactor thinkingConfig assignment for consistency in Gemini and Vertex handlers

* Fix Gemini reasoning

* Fix tsc error

* Fix tsc error

* Hack to exclude thinking tokens by default

* feat: add global region to VERTEX_REGIONS

---------

Co-authored-by: Shariq Riaz <ishariqriaz@gmail.com>
Co-authored-by: cte <cestreich@gmail.com>
2025-06-05 17:49:12 -04:00
Chris Estreich
cb5b9c3718
Improve Docker setup for evals (#4327) 2025-06-05 12:16:36 -07:00
SannidhyaSah
a80795b78d
feat: Add OpenAI Compatible embedder for codebase indexing (#4066)
* feat: Add OpenAI Compatible embedder for codebase indexing

- Implement OpenAiCompatibleEmbedder with batching and retry logic
- Add configuration support for base URL and API key
- Update UI with provider selection and input fields
- Add comprehensive test coverage
- Support for all OpenAI-compatible endpoints (LiteLLM, LMStudio, Ollama, etc.)
- Add internationalization for 17 languages

* fix: Update CodeIndexSettings tests for OpenAI Compatible provider

- Fix field count expectations (4 fields including Qdrant)
- Use specific test IDs for button selection
- Fix input handling with clear() before type()
- Use toHaveBeenLastCalledWith for better assertions
- Fix status text matching with regex pattern

* fix: resolve UI test failures and ESLint errors

- Remove unused waitFor import to fix ESLint error
- Fix test expectations to match actual component behavior for input fields
- Simplify provider selection test by removing complex mock interactions
- All CodeIndexSettings tests now pass (20/20)

* feat: add custom model infrastructure for OpenAI-compatible embedder

- Add manual model ID and embedding dimension configuration
- Enable custom model input via text field in settings UI
- Add modelDimension parameter to OpenAiCompatibleEmbedder
- Update configuration management to persist dimension setting
- Prioritize manual dimension over hardcoded model profiles
- Add comprehensive test coverage for new functionality

This allows users to specify any custom embedding model and its
dimension for OpenAI-compatible providers, removing dependency
on hardcoded model profiles.

* Add missing translations for OpenAI-compatible model dimension settings in all locales

* refactor: remove unused modelDimension parameter from OpenAiCompatibleEmbedder

- Remove modelDimension property and constructor parameter from OpenAiCompatibleEmbedder class
- Update ServiceFactory to not pass dimension to embedder constructor
- Update tests to match new constructor signature
- The dimension is still used for QdrantVectorStore configuration

* chore: bot suggestion

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

* chore: bot suggestion

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

* refactor: rename OpenAiCompatibleEmbedder to OpenAICompatibleEmbedder for consistency

* feat: add model dimension validation for OpenAI-compatible settings

* refactor: improve default model ID retrieval logic for embedding providers

* feat: add default model ID retrieval for openai-compatible provider

* refactor: update default model ID retrieval to use shared utility function

* fix: Remove unnecessary type assertion in OpenAICompatibleEmbedder

* feat: add model dimension input for openai-compatible provider

---------

Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-06-04 17:00:52 -04:00
Chris Estreich
05f682c251
Update RCC types (#4291) 2025-06-03 15:49:04 -07:00
Chris Estreich
01eef2be99
Bring back #4128 (#4292) 2025-06-03 14:03:19 -07:00
Chris Estreich
d87f890556
Move evals into pnpm workspace, switch from SQLite to Postgres (#4278) 2025-06-03 01:38:08 -07:00
John Richmond
927e210a44
Cloud: add auth logs to the output channel (#4270) 2025-06-02 16:56:27 -07:00
Adam Hill 🦿
c4dab9e9b2
Improves model info detection for custom Bedrock ARNs (#3799)
* Improves model info detection for custom Bedrock ARNs

Adds heuristics to better estimate model capabilities when using unknown or custom model ARNs, including context window and max tokens. Allows user overrides for key model parameters via provider settings, improving flexibility and reliability for non-standard model integrations.

Fixes #3712

* Improves JSON syntax error handling in import flow

Provides more informative error messages for JSON syntax
errors by extracting the error position and formatting it
for clarity during import. Enhances user feedback when
invalid JSON is encountered.

* Fixed failing tests

* Delete pnpm-lock.yaml

* Added Rory's cache fix from PR #3099

PR #3009 has an important fix, alerted to me by @JBBrown

It was a one liner so I pulled it in.

This brings up a question can we merge PR's in the GH UI?

* Add Claude 4 and Opus 4 to modelID's

Kept previous parameters, did not see any changes in those.

* Fixed types being moved and me breaking the merge.

* Fix merge

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-06-02 19:00:00 -04:00
John Richmond
2fda064ae9
Cloud: bugfixes: log refresh errors and allow logout from inactive-session (#4268)
* Cloud: log session refresh errors

* Cloud: bugfix: allow logouts during the inactive-session state
2025-06-02 15:32:36 -07:00
John Richmond
900de7b401
Cloud: clear cached settings if already logged-out at startup (#4264) 2025-06-02 15:01:35 -07:00
John Richmond
3fc05adc17
Better handling of cloud login/out with multiple workspaces (#4196)
* Move client token + session id to shared secret

* Add secret event handling

* Update packages/cloud/src/AuthService.ts

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

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-06-01 10:01:49 -04:00
Chris Estreich
d10b359809
Add mode to task message event (#4167) 2025-05-30 21:05:29 -07:00
kcwhite
a4c91c65b3
Adding support for custom VPC endpoints when using AWS Bedrock models (#3947)
* feat: Add custom VPC endpoint support for AWS Bedrock

* fix: Fix TypeScript error in Bedrock.tsx

* fix: Update VPC endpoint UI to match Cline's implementation

* Fix AWS Bedrock VPC endpoint UI implementation

- Changed checkbox label to 'Use custom VPC endpoint' to match Cline

- Fixed conditional rendering to show text field when checkbox is checked

- Ensured placeholder text appears correctly

- Maintained proper styling for consistency

* Fix AWS Bedrock VPC endpoint UI implementation to match Cline exactly

- Added state variable to track checkbox selection

- Fixed conditional rendering to show/hide text field based on checkbox state

- Maintained proper styling and placeholder text

* Fix AWS Bedrock VPC endpoint UI implementation with proper event handling

- Fixed checkbox onChange handler to accept boolean directly instead of event object

- Added unit tests to verify the behavior

- Maintained proper styling and placeholder text

* Update Bedrock VPC endpoint tests with proper test IDs

* Improve AWS Bedrock VPC endpoint text field alignment

- Removed left margin from text field to align with checkbox

- Maintained proper styling and placeholder text

* Preserve AWS Bedrock VPC endpoint URL when toggling checkbox

- Added awsBedrockEndpointEnabled field to schema

- Modified Bedrock provider to check both endpoint URL and enabled flag

- Updated UI to preserve endpoint URL when checkbox is toggled

- Maintained proper alignment with checkbox

* Implement AWS Bedrock Custom VPC Endpoint functionality

* fix: update ApiConfiguration to ProviderSettings in Bedrock tests and regenerate types

* fix: update all instances of ApiConfiguration to ProviderSettings in Bedrock tests

* Fixed broken unit test

* Add changeset for Bedrock VPC endpoint support

* informative placeholder

* Bug fixes

* Fixed failing tests

* Add example URLs to Bedrock VPC endpoint section and update tests

* Fix truncated test assertion in Bedrock.test.tsx that was breaking the UI

* Refactor mock components in Bedrock.test.tsx for improved data-testid handling

* feat(i18n): add VPC endpoint translations for AWS Bedrock settings

* test: update Bedrock component tests for internationalized strings

---------

Co-authored-by: Kevin White <kcwhite@ancestry.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-05-30 22:19:34 -04:00
Chris Estreich
bb9749888e
Publish @roo-code/types v1.23.0 (#4155) 2025-05-30 14:59:06 -07:00
Chris Estreich
9e3b0fd870
Move provider data into @roo-code/types (#4153) 2025-05-30 14:54:48 -07:00
Sam Hoang Van
9ba0cd5c7a
feat(read_file): enhance file reading capabilities with multi-file support and improved parameter handling (#2886)
* feat(read_file): enhance file reading capabilities with multi-file support and improved parameter handling

fix(read_file): change return to continue on approval rejection in readFileTool

Enhance readFileTool with improved error handling and validation

- Introduced a FileEntry interface for better type management.
- Added validation for start_line and end_line to ensure proper ranges.
- Implemented RooIgnore validation before processing files.
- Enhanced error handling with dedicated functions for file and global errors.
- Streamlined file reading logic to handle binary files, definitions-only mode, and line thresholds more effectively.
- Improved user feedback for empty files and read limits.

chore: update Jest snapshot for system prompt tool usage

Refactor read-file tool to support XML input format and multiple line ranges

- Updated the `getReadFileDescription` function to reflect new XML structure for file reading requests.
- Modified `readFileTool` to parse XML input, allowing multiple line ranges for each file.
- Removed old parsing logic that handled line ranges as separate parameters.
- Implemented validation for line ranges and ensured proper error handling for file access.
- Adjusted approval messaging to accommodate new line range format.
- Enhanced error handling to provide consistent feedback for file read errors.

update from KJ7LNW  comment

feat: add maxConcurrentFileReads setting to enhance read_file tool performance

feat: enhance readFileTool with XML parsing and file processing state tracking

feat: enhance readFileTool to include user feedback handling and processing state tracking

chore: clean up read_file tool documentation by removing extra newlines

feat: update read_file tool tests to handle user feedback and approval states

feat: add tests for feedback message formatting and XML special character handling in read_file tool

Implement code changes to enhance functionality and improve performance

feat: increase max concurrent file reads and adjust slider range in settings

feat: increase default max concurrent file reads from 5 to 15 across settings and context management

fix(read_file): enhance legacy path handling and remove duplicate parameters

feat(read_file): enhance file description handling and add support for multiple files in messages

done poc for new ux

idea 1

* fix the test

* fix: normalize locale file formatting to use tabs

- Applied prettier formatting to all locale JSON files
- Fixed mixed indentation (spaces/tabs) to use consistent tabs
- Aligns with project's prettier configuration

* fix(settings): improve checkbox handling and slider configuration in ConcurrentFileReadsExperiment

* fix(read_file): enhance description to include partial reads support

* fix(read_file): update description for partial reads and improve example clarity

* fix: suggestions

* fix: translations

* test: update system prompt snapshots for multi-file read tool

* fix: remove batch permission question from readFile tool translations

---------

Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-05-30 17:09:42 -04:00
Matt Rubens
78769f187c
Revert "Add roocode.com website to monorepo" (#4145)
Revert "Add roocode.com website to monorepo (#4128)"

This reverts commit 0f22eabb1b.
2025-05-30 07:37:47 -04:00
Chris Estreich
0f22eabb1b
Add roocode.com website to monorepo (#4128)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-05-29 22:35:14 -07:00
Chris Estreich
699b0c051b
Appease changests (#4126) 2025-05-29 15:27:01 -07:00
John Richmond
838256a7c1
Add roo cloud settings (#4117)
* Add roo cloud settings

First setting controls logging task messages.

* Update packages/cloud/src/TelemetryClient.ts

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

* Fix typo

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-05-29 15:10:34 -07:00
Chris Estreich
f3e124e083
Fix deeplinks again (#4125) 2025-05-29 14:49:24 -07:00
Chris Estreich
b0821b3148
Pass editor deeplink URI to app.roocode.com (#4120) 2025-05-29 13:45:06 -07:00
John Richmond
1801af26b7
Cleanup unused class (#4115)
Leftover from a rename, I think.
2025-05-29 11:55:26 -07:00
Chris Estreich
170fde848a
Add appName to TelemetryProperties (#4111) 2025-05-29 10:09:40 -07:00
Matt Rubens
337b5dac88
Condensing fixes (#4107)
* Add missing telemetry types

* Give IconButton the pointer cursor when enabled

* Change context condensing to use a Lucide icon

* Mock Lucide icons globally
2025-05-29 10:45:13 -04:00
Chris Estreich
9d9880a74b
Fix Roo Code Nightly package.json generation (#4098) 2025-05-28 22:23:12 -07:00
John Richmond
d4c00e58ed
Simplify CloudService callbacks (#4097)
- Remove AuthService callbacks, add user-info event
- Store userInfo on AuthService and fetch it when sessions go active
- Simplify CloudService callbacks to just stateChanged
- Add cloudUserInfo to state and remove authenticatedUser message
2025-05-28 21:15:48 -07:00
Chris Estreich
7820b7517a
Roo Code Cloud (#4069)
Co-authored-by: John Richmond <5629+jr@users.noreply.github.com>
2025-05-28 20:43:30 -07:00
Canyon Robins
4804e3b3b9
[Condense] Move condense settings out of experimental and defualt enable (#4088)
* [Condense] Move condense settings out of experimental and defualt enable

* tests

* wip

* Update translations

* fixes

* more tests

* changeset

* wip

* update translations

* fix more translations
2025-05-28 17:05:39 -07:00
Canyon Robins
2e5a1a8e1d
[Condense] Skip condense and show error if the context grows (#4061)
* [Condense] Skip condense and show error if the context grows

* update tests

* changeset

* nit: error should be nonempty

* update translations

* add more errors

* add more test cases

* update translations

* pipe error back from truncate code

* add condense_context_error ClineMessage

* fixes

* translations
2025-05-28 15:55:07 -04:00
Chris Estreich
39d0f68659
Improve configuration for npm publish of @roo-code/types (#4062) 2025-05-27 22:10:41 -07:00
Chris Estreich
59f1d4c529
Add import tests for @roo-code/types, fix the build (#4060) 2025-05-27 20:43:59 -07:00
Chris Estreich
6370131364
Publish @roo-code/types to npm (#4059) 2025-05-27 19:21:27 -07:00
Chris Estreich
ec486374e7
Try adding a version to @roo-code/types (#4056) 2025-05-27 13:16:00 -07:00