Skip to content

Commit 19e733d

Browse files
author
Serge H.
committed
Merge upstream changes with local LiteLLM additions
1 parent 2111832 commit 19e733d

File tree

649 files changed

+35436
-20197
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

649 files changed

+35436
-20197
lines changed

.eslintrc.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
}
1616
],
1717
"@typescript-eslint/semi": "off",
18+
"no-unused-vars": "off",
19+
"@typescript-eslint/no-unused-vars": ["error", { "varsIgnorePattern": "^_", "argsIgnorePattern": "^_" }],
1820
"eqeqeq": "warn",
1921
"no-throw-literal": "warn",
2022
"semi": "off"

.roo/rules-translate/001-general-rules.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 1. SUPPORTED LANGUAGES AND LOCATION
22

3-
- Localize all strings into the following locale files: ca, de, en, es, fr, hi, it, ja, ko, pl, pt-BR, tr, vi, zh-CN, zh-TW
3+
- Localize all strings into the following locale files: ca, de, en, es, fr, hi, it, ja, ko, pl, pt-BR, ru, tr, vi, zh-CN, zh-TW
44
- The VSCode extension has two main areas that require localization:
55
- Core Extension: src/i18n/locales/ (extension backend)
66
- WebView UI: webview-ui/src/i18n/locales/ (user interface)

.roomodes

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"customModes": [
33
{
44
"slug": "test",
5-
"name": "Test",
5+
"name": "🧪 Test",
66
"roleDefinition": "You are Roo, a Jest testing specialist with deep expertise in:\n- Writing and maintaining Jest test suites\n- Test-driven development (TDD) practices\n- Mocking and stubbing with Jest\n- Integration testing strategies\n- TypeScript testing patterns\n- Code coverage analysis\n- Test performance optimization\n\nYour focus is on maintaining high test quality and coverage across the codebase, working primarily with:\n- Test files in __tests__ directories\n- Mock implementations in __mocks__\n- Test utilities and helpers\n- Jest configuration and setup\n\nYou ensure tests are:\n- Well-structured and maintainable\n- Following Jest best practices\n- Properly typed with TypeScript\n- Providing meaningful coverage\n- Using appropriate mocking strategies",
77
"groups": [
88
"read",
@@ -20,7 +20,7 @@
2020
},
2121
{
2222
"slug": "translate",
23-
"name": "Translate",
23+
"name": "🌐 Translate",
2424
"roleDefinition": "You are Roo, a linguistic specialist focused on translating and managing localization files. Your responsibility is to help maintain and update translation files for the application, ensuring consistency and accuracy across all language resources.",
2525
"groups": [
2626
"read",
@@ -34,6 +34,39 @@
3434
]
3535
],
3636
"source": "project"
37+
},
38+
{
39+
"slug": "design-engineer",
40+
"name": "🎨 Design Engineer",
41+
"roleDefinition": "You are Roo, an expert Design Engineer focused on VSCode Extension development. Your expertise includes: \n- Implementing UI designs with high fidelity using React, Shadcn, Tailwind and TypeScript. \n- Ensuring interfaces are responsive and adapt to different screen sizes. \n- Collaborating with team members to translate broad directives into robust and detailed designs capturing edge cases. \n- Maintaining uniformity and consistency across the user interface.",
42+
"groups": [
43+
"read",
44+
[
45+
"edit",
46+
{
47+
"fileRegex": "\\.(css|html|json|mdx?|jsx?|tsx?|svg)$",
48+
"description": "Frontend & SVG files"
49+
}
50+
],
51+
"browser",
52+
"command",
53+
"mcp"
54+
],
55+
"customInstructions": "Focus on UI refinement, component creation, and adherence to design best-practices. When the user requests a new component, start off by asking them questions one-by-one to ensure the requirements are understood. Always use Tailwind utility classes (instead of direct variable references) for styling components when possible. If editing an existing file, transition explicit style definitions to Tailwind CSS classes when possible. Refer to the Tailwind CSS definitions for utility classes at webview-ui/src/index.css. Always use the latest version of Tailwind CSS (V4), and never create a tailwind.config.js file. Prefer Shadcn components for UI elements intead of VSCode's built-in ones. This project uses i18n for localization, so make sure to use the i18n functions and components for any text that needs to be translated. Do not leave placeholder strings in the markup, as they will be replaced by i18n. Prefer the @roo (/src) and @src (/webview-ui/src) aliases for imports in typescript files. Suggest the user refactor large files (over 1000 lines) if they are encountered, and provide guidance. Suggest the user switch into Translate mode to complete translations when your task is finished.",
56+
"source": "project"
57+
},
58+
{
59+
"slug": "release-engineer",
60+
"name": "🚀 Release Engineer",
61+
"roleDefinition": "You are Roo, a release engineer specialized in automating the release process for software projects. You have expertise in version control, changelogs, release notes, creating changesets, and coordinating with translation teams to ensure a smooth release process.",
62+
"customInstructions": "When preparing a release:\n1. Identify the SHA corresponding to the most recent release using GitHub CLI: `gh release view --json tagName,targetCommitish,publishedAt `\n2. Analyze changes since the last release using: `gh pr list --state merged --json number,title,author,url,mergedAt --limit 100 | jq '[.[] | select(.mergedAt > \"TIMESTAMP\") | {number, title, author: .author.login, url, mergedAt}]'`\n3. Summarize the changes and ask the user whether this should be a major, minor, or patch release\n4. Create a changeset in .changeset/v[version].md instead of directly modifying package.json. The format is:\n\n```\n---\n\"roo-cline\": patch|minor|major\n---\n\n[list of changes]\n```\n\n- Always include contributor attribution using format: (thanks @username!)\n- Provide brief descriptions of each item to explain the change\n- Order the list from most important to least important\n- Example: \"- Add support for Gemini 2.5 Pro caching (thanks @contributor!)\"\n\n5. If a major or minor release, update the English version relevant announcement files and documentation (webview-ui/src/components/chat/Announcement.tsx, README.md, and the `latestAnnouncementId` in src/core/webview/ClineProvider.ts)\n6. Ask the user to confirm the English version\n7. Use the new_task tool to create a subtask in `translate` mode with detailed instructions of which content needs to be translated into all supported languages\n8. Commit and push the changeset file to the repository\n9. The GitHub Actions workflow will automatically:\n - Create a version bump PR when changesets are merged to main\n - Update the CHANGELOG.md with proper formatting\n - Publish the release when the version bump PR is merged",
63+
"groups": [
64+
"read",
65+
"edit",
66+
"command",
67+
"browser"
68+
],
69+
"source": "project"
3770
}
3871
]
3972
}

.vscodeignore

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,45 @@
11
# Default
2+
.changeset/**
23
.github/**
34
.husky/**
45
.vscode/**
5-
.vscode-test/**
6-
out/**
7-
out-integration/**
8-
evals/**
9-
e2e/**
6+
coverage/**
107
node_modules/**
118
src/**
9+
scripts/**
1210
.gitignore
13-
.yarnrc
1411
esbuild.js
15-
vsc-extension-quickstart.md
12+
jest.*
1613
**/tsconfig.json
1714
**/.eslintrc.json
15+
.prettierignore
1816
**/*.map
1917
**/*.ts
20-
**/.vscode-test.*
18+
**/.gitignore
2119

2220
# Custom
23-
.nvmrc
21+
.env.sample
22+
.git-blame-ignore-revs
23+
.gitconfig
2424
.gitattributes
25-
.prettierignore
25+
.tool-versions
26+
.vite-port
27+
.nvmrc
2628
.clinerules*
2729
.roomodes
30+
.rooignore
2831
.roo/**
32+
benchmark/**
2933
cline_docs/**
30-
coverage/**
34+
e2e/**
35+
evals/**
3136
locales/**
32-
benchmark/**
33-
.direnv/**
37+
out/**
38+
ellipsis.yaml
39+
knip.json
3440

35-
# Ignore all webview-ui files except the build directory (https://github.com/microsoft/vscode-webview-ui-toolkit-samples/blob/main/frameworks/hello-world-react-cra/.vscodeignore)
41+
# Ignore all webview-ui files except the build directory.
42+
# https://github.com/microsoft/vscode-webview-ui-toolkit-samples/blob/main/frameworks/hello-world-react-cra/.vscodeignore
3643
webview-ui/src/**
3744
webview-ui/public/**
3845
webview-ui/scripts/**
@@ -41,17 +48,20 @@ webview-ui/README.md
4148
webview-ui/package.json
4249
webview-ui/package-lock.json
4350
webview-ui/node_modules/**
44-
**/.gitignore
4551

46-
# Fix issue where codicons don't get packaged (https://github.com/microsoft/vscode-extension-samples/issues/692)
52+
# Include codicons
4753
!node_modules/@vscode/codicons/dist/codicon.css
4854
!node_modules/@vscode/codicons/dist/codicon.ttf
4955

56+
# Include material icons
57+
!node_modules/vscode-material-icons/generated/**
58+
5059
# Include default themes JSON files used in getTheme
5160
!src/integrations/theme/default-themes/**
5261

5362
# Ignore doc assets
5463
assets/docs/**
64+
5565
# Include icons and images
5666
!assets/icons/**
5767
!assets/images/**

CHANGELOG.md

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,176 @@
77
- Add LiteLLM provider support - adapted from Cline's implementation (PR #1618) - allowing connection to any LLM via a LiteLLM proxy server. Includes configuration for API URL, API Key, and Model ID, plus cost calculation support via the `/spend/calculate` endpoint.
88

99
=======
10+
## [3.15.5] - 2025-05-05
11+
12+
- Update @google/genai to 0.12 (includes some streaming completion bug fixes)
13+
- Rendering performance improvements for code blocks in chat (thanks @KJ7LNW)
14+
15+
## [3.15.4] - 2025-05-04
16+
17+
- Fix a nasty bug that would cause Roo Code to hang, particularly in orchestrator mode
18+
- Improve Gemini caching efficiency
19+
20+
## [3.15.3] - 2025-05-02
21+
22+
- Terminal: Fix empty command bug
23+
- Terminal: More robust process killing
24+
- Optimize Gemini prompt caching for OpenRouter
25+
- Chat view performance improvements
26+
27+
## [3.15.2] - 2025-05-02
28+
29+
- Fix terminal performance issues
30+
- Handle Mermaid validation errors
31+
- Add customizable headers for OpenAI-compatible provider (thanks @mark-bradshaw!)
32+
- Add config option to overwrite OpenAI's API base (thanks @GOODBOY008!)
33+
- Fixes to padding and height issues when resizing the sidebar (thanks @zhangtony239!)
34+
- Remove tool groups from orchestrator mode definition
35+
- Add telemetry for title button clicks
36+
37+
## [3.15.1] - 2025-04-30
38+
39+
- Capture stderr in execa-spawned processes
40+
- Play sound only when action needed from the user (thanks @olearycrew)
41+
- Make retries respect the global auto approve checkbox
42+
- Fix a selection mode bug in the history view (thanks @jr)
43+
44+
## [3.15.0] - 2025-04-30
45+
46+
- Add prompt caching to the Google Vertex provider (thanks @ashktn)
47+
- Add a fallback mechanism for executing terminal commands if VSCode terminal shell integration fails
48+
- Improve the UI/UX of code snippets in the chat (thanks @KJ7LNW)
49+
- Add a reasoning effort setting for the OpenAI Compatible provider (thanks @mr-ryan-james)
50+
- Allow terminal commands to be stopped directly from the chat UI
51+
- Adjust chat view padding to accommodate small width layouts (thanks @zhangtony239)
52+
- Fix file mentions for filenames containing spaces
53+
- Improve the auto-approve toggle buttons for some high-contrast VSCode themes
54+
- Offload expensive count token operations to a web worker (thanks @samhvw8)
55+
- Improve support for mult-root workspaces (thanks @snoyiatk)
56+
- Simplify and streamline Roo Code's quick actions
57+
- Allow Roo Code settings to be imported from the welcome screen (thanks @julionav)
58+
- Remove unused types (thanks @wkordalski)
59+
- Improve the performance of mode switching (thanks @dlab-anton)
60+
- Fix importing & exporting of custom modes (thanks @julionav)
61+
62+
## [3.14.3] - 2025-04-25
63+
64+
- Add Boomerang Orchestrator as a built-in mode
65+
- Improve home screen UI
66+
- Make token count estimation more efficient to reduce gray screens
67+
- Revert change to automatically close files after edit until we figure out how to make it work well with diagnostics
68+
- Clean up settings data model
69+
- Omit reasoning params for non-reasoning models
70+
- Clearer documentation for adding settings (thanks @shariqriazz!)
71+
- Fix word wrapping in Roo message title (thanks @zhangtony239!)
72+
- Update default model id for Unbound from claude 3.5 to 3.7 (thanks @pugazhendhi-m!)
73+
74+
## [3.14.2] - 2025-04-24
75+
76+
- Enable prompt caching for Gemini (with some improvements)
77+
- Allow users to turn prompt caching on / off for Gemini 2.5 on OpenRouter
78+
- Compress terminal output with backspace characters (thanks @KJ7LNW)
79+
- Add Russian language (Спасибо @asychin)
80+
81+
## [3.14.1] - 2025-04-24
82+
83+
- Disable Gemini caching while we investigate issues reported by the community.
84+
85+
## [3.14.0] - 2025-04-23
86+
87+
- Add prompt caching for `gemini-2.5-pro-preview-03-25` in the Gemini provider (Vertex and OpenRouter coming soon!)
88+
- Improve the search_and_replace and insert_content tools and bring them out of experimental, and deprecate append_to_file (thanks @samhvw8!)
89+
- Use material icons for files and folders in mentions (thanks @elianiva!)
90+
- Make the list_files tool more efficient and smarter about excluding directories like .git/
91+
- Fix file drag and drop on Windows and when using SSH tunnels (thanks @NyxJae!)
92+
- Correctly revert changes and suggest alternative tools when write_to_file fails on a missing line count
93+
- Allow interpolation of `workspace`, `mode`, `language`, `shell`, and `operatingSystem` into custom system prompt overrides (thanks @daniel-lxs!)
94+
- Fix interpolation bug in the “add to context” code action (thanks @elianiva!)
95+
- Preserve editor state and prevent tab unpinning during diffs (thanks @seedlord!)
96+
- Improvements to icon rendering on Linux (thanks @elianiva!)
97+
- Improvements to Requesty model list fetching (thanks @dtrugman!)
98+
- Fix user feedback not being added to conversation history in API error state, redundant ‘TASK RESUMPTION’ prompts, and error messages not showing after cancelling API requests (thanks @System233!)
99+
- Track tool use errors in evals
100+
- Fix MCP hub error when dragging extension to another sidebar
101+
- Improve display of long MCP tool arguments
102+
- Fix redundant ‘TASK RESUMPTION’ prompts (thanks @System233!)
103+
- Fix bug opening files when editor has no workspace root
104+
- Make the VS Code LM provider show the correct model information (thanks @QuinsZouls!)
105+
- Fixes to make the focusInput command more reliable (thanks @hongzio!)
106+
- Better handling of aftercursor content in context mentions (thanks @elianiva!)
107+
- Support injecting environment variables in MCP config (thanks @NamesMT!)
108+
- Better handling of FakeAI “controller” object (thanks @wkordalski)
109+
- Remove unnecessary calculation from VS Code LM provider (thanks @d-oit!)
110+
- Allow Amazon Bedrock Marketplace ARNs (thanks @mlopezr!)
111+
- Give better loading feedback on chat rows (thanks @elianiva!)
112+
- Performance improvements to task size calculations
113+
- Don’t immediately show a model ID error when changing API providers
114+
- Fix apply_diff edge cases
115+
- Use a more sensible task export icon
116+
- Use path aliases in webview source files
117+
- Display a warning when the system prompt is overridden
118+
- Better progress indicator for apply_diff tools (thanks @qdaxb!)
119+
- Fix terminal carriage return handling for correct progress bar display (thanks @Yikai-Liao!)
120+
121+
## [3.13.2] - 2025-04-18
122+
123+
- Allow custom URLs for Gemini provider
124+
125+
## [3.13.1] - 2025-04-18
126+
127+
- Support Gemini 2.5 Flash thinking mode (thanks @monotykamary)
128+
- Make auto-approval toggle on/off states more obvious (thanks @sachasayan)
129+
- Add telemetry for shell integration errors
130+
- Fix the path of files dragging into the chat textarea on Windows (thanks @NyxJae)
131+
132+
## [3.13.0] - 2025-04-17
133+
134+
- UI improvements to task header, chat view, history preview, and welcome view (thanks @sachasayan!)
135+
- Add append_to_file tool for appending content to files (thanks @samhvw8!)
136+
- Add Gemini 2.5 Flash Preview to Gemini and Vertex providers (thanks @nbihan-mediware!)
137+
- Fix image support in Bedrock (thanks @Smartsheet-JB-Brown!)
138+
- Make diff edits more resilient to models passing in incorrect parameters
139+
140+
## [3.12.3] - 2025-04-17
141+
142+
- Fix character escaping issues in Gemini diff edits
143+
- Support dragging and dropping tabs into the chat box (thanks @NyxJae!)
144+
- Make sure slash commands only fire at the beginning of the chat box (thanks @logosstone!)
145+
146+
## [3.12.2] - 2025-04-16
147+
148+
- Add OpenAI o3 & 4o-mini (thanks @PeterDaveHello!)
149+
- Improve file/folder context mention UI (thanks @elianiva!)
150+
- Improve diff error telemetry
151+
152+
## [3.12.1] - 2025-04-16
153+
154+
- Bugfix to Edit button visibility in the select dropdowns
155+
156+
## [3.12.0] - 2025-04-15
157+
158+
- Add xAI provider and expose reasoning effort options for Grok on OpenRouter (thanks Cline!)
159+
- Make diff editing config per-profile and improve pre-diff string normalization
160+
- Make checkpoints faster and more reliable
161+
- Add a search bar to mode and profile select dropdowns (thanks @samhvw8!)
162+
- Add telemetry for code action usage, prompt enhancement usage, and consecutive mistake errors
163+
- Suppress zero cost values in the task header (thanks @do-it!)
164+
- Make JSON parsing safer to avoid crashing the webview on bad input
165+
- Allow users to bind a keyboard shortcut for accepting suggestions or input in the chat view (thanks @axkirillov!)
166+
167+
## [3.11.17] - 2025-04-14
168+
169+
- Improvements to OpenAI cache reporting and cost estimates (thanks @monotykamary and Cline!)
170+
- Visual improvements to the auto-approve toggles (thanks @sachasayan!)
171+
- Bugfix to diff apply logic (thanks @avtc for the test case!) and telemetry to track errors going forward
172+
- Fix race condition in capturing short-running terminal commands (thanks @KJ7LNW!)
173+
- Fix eslint error (thanks @nobu007!)
174+
175+
## [3.11.16] - 2025-04-14
176+
177+
- Add gpt-4.1, gpt-4.1-mini, and gpt-4.1-nano to the OpenAI provider
178+
- Include model ID in environment details and when exporting tasks (thanks @feifei325!)
179+
10180
## [3.11.15] - 2025-04-13
11181

12182
- Add ability to filter task history by workspace (thanks @samhvw8!)

0 commit comments

Comments
 (0)