* OpenRouter Gemini caching
* Fix tests
* Remove unsupported models
* Clean up the task header a bit
* Update src/api/providers/openrouter.ts
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Remove model that doesn't seem to work
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update validate.ts
Allow ARNs from Bedrock Marketplace, which are different because models are deployed using SageMaker Inference behind the scenes.
* Update bedrock.ts
Allow ARNs from Bedrock Marketplace, which are different because models are deployed using SageMaker Inference behind the scenes.
The FakeAI object passed by the user must be exactly the same object
that is passed to FakeAIHandler via API configuration.
Unfortunatelly, as the VSCode global state is used as configuration
storage, we lose this property (VSCode global state creates copies of
the object). Also the class of the stored object is lost, so methods
of the object are unavailable.
Therefore, we store the original objects in global variable and
use ID field of FakeAI object to identify the original object.
* feat: support environment variables reference in mcp `env` config
* tests(src/utils/config): add test for `injectEnv`
* fix(injectEnv): use `env == null` and `??` check instead of `!env`, `||`
* refactor: remove unnecessary type declare
* chore!: simplify regexp, remove replacement for env vars with dots
* feat: initialize VS Code Language Model client in constructor
* feat: add VS Code LLM models and configuration
* feat: integrate VS Code LLM models into API configuration normalization
* Fix tests
---------
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
- Maintains editor view column state when closing and reopening files during diff operations, ensuring tabs stay opened in their original position.
- Prevents closing the original editor tab when opening the diff view, preserving pinned status when applying changes via write_to_file or apply_diff.
- Updates VSCode workspace launch flag from -n to -W for compatibility.
* fix: allow opening files without workspace root
The openFile function in open-file.ts was requiring a workspace root to be present,
which prevented opening global files (like MCP settings) when no workspace was open.
Modified the function to handle absolute paths without this requirement.
Previously, trying to open MCP settings in a new window without a workspace would
error with "Could not open file: No workspace root found". Now the function
properly handles both workspace-relative and absolute paths, allowing global
settings files to be accessed in any context.
Changes:
- Removed workspace root requirement in openFile
- Added fallback for relative paths when no workspace is present
* fix: update openFile function to use provided path without modification
---------
Co-authored-by: Roo Code <support@roo.vet>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
* refactor: enhance insertGroups and insertContentTool for better handling of insertion operations
* refactor: simplify insert_content tool
- Remove operations-based implementation in favor of single line insertion
- Update parameters from operations to line and content
- Simplify insertion logic and error handling
- Update tool description and documentation
- Remove XML parsing for operations
- Clean up code and improve error messages
* refactor: remove insert_content experiment and related tests
* Remove the append_to_file tool
* Improvements to chat row and instructions
---------
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
* Refactor search and replace tool
* feat(search-replace): enhance search/replace tool UI and messaging
Refactor search/replace tool message structure for better consistency
Add dedicated UI component for displaying search/replace operations
Add i18n support for search/replace operations in all supported languages
Improve partial tool handling in searchAndReplaceTool
* Remove search_and_replace experiment and related references