Commit graph

56 commits

Author SHA1 Message Date
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
3b19d7a455
Await checkpoint saves (except the initial) (#2665) 2025-04-15 16:57:12 -07:00
Matt Rubens
648c6e7d28
Move diff editing config to provider settings (#2655)
* Move diff editing config to provider settings

* Fix tests
2025-04-15 14:59:27 -04:00
Zhang Tony
d3c65ceac6
feature: Closable welcome message (#2541)
* draft: try to add a setting button

* Add showGreeting setting and related changes

* i18n: showGreeting

* fix chinese i18n 'dot'
2025-04-13 01:16:01 -04:00
mecab
37cfd75ebf
Add Anthropic option to pass API Token as Authorization header instead of X-Api-Key for the custom base URL (#2531)
Add Anthropic option to use authToken over apiKey
2025-04-12 22:20:03 -04:00
Chris Estreich
df01e7948b
Add reasoningEffort to provider settings schema (#2518) 2025-04-11 22:45:14 -07:00
Eric Wheeler
4ef62c6a13 feat: add ZDOTDIR handling for zsh shell integration
Creates a temporary ZDOTDIR to handle zsh shell integration properly while preserving user's zsh configuration. This ensures VSCode shell integration works correctly with zsh without modifying the user's existing setup.

- Add terminalZdotdir setting (disabled by default)
- Create temporary directory with proper security (sticky bit)
- Add automatic cleanup on terminal close
- Add translations for all supported languages

User confirmed fixes:

Fixes: #2205
Fixes: #2129

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-11 13:09:41 -07:00
Eric Wheeler
b4c67f133b feat: add terminal settings for Oh My Zsh and Powerlevel10k shell integration
Added two new terminal settings:
- terminalZshOhMy: Sets ITERM_SHELL_INTEGRATION_INSTALLED=Yes for Oh My Zsh
- terminalZshP10k: Sets POWERLEVEL9K_TERM_SHELL_INTEGRATION=true for Powerlevel10k

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-10 21:18:37 -07:00
Eric Wheeler
b020e46076 fix: clear ZSH EOL mark to prevent command output interpretation issues
Added a new configuration option 'terminalZshClearEolMark' (default: true) that
sets PROMPT_EOL_MARK='' in the terminal environment. This prevents issues with
command output interpretation when the output ends with special characters like '%'.

Added translations for all supported languages.

Fixes: #2194
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-10 21:18:37 -07:00
Eric Wheeler
211e31b8f6 feat: add terminalPowershellCounter configuration option
Add a new configuration option that allows users to toggle the PowerShell counter workaround. This workaround adds a counter to PowerShell commands to ensure proper command execution and output capture.

The setting is disabled by default, allowing users to enable it only when needed.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-10 21:18:37 -07:00
Eric Wheeler
4d1cfe8141 feat: add terminal.commandDelay setting
Add a new configurable setting to control command execution delays in terminals.
When set to a non-zero value, this adds a sleep delay after command execution
via PROMPT_COMMAND in bash/zsh and start-sleep in PowerShell.

The default value is 0, which disables the delay completely. This setting
replaces the previous hardcoded delay of 50ms that was added as a workaround
for VSCode bug #237208.

Fixes: #2017
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-04-10 21:18:37 -07:00
Matt Rubens
e41d6a42ac
Better display of diff errors (#2478) 2025-04-10 22:32:11 -04:00
Matt Rubens
75ba1db3ca
Improve subtasks UI (#2426) 2025-04-09 01:45:45 -04:00
Matt Rubens
b01615f122
Add the option to use a custom Host header for openai-compatible (#2399) 2025-04-08 22:02:27 -04:00
Ross McFarland
260fc30043
feat(settings): Rate-limit setting updated to be per-profile (#2376)
* Rate-limit setting updated to be per-profile

* Correct rateLimitSeconds translations

* Add missing d to rateLimitSecondsMigrate

* Fix fr rate-limit translation
2025-04-07 16:24:38 -04:00
Matt Rubens
0e4be83c35
Fixes to resumeTask and isTaskInHistory (#2380) 2025-04-07 11:41:08 -04:00
Franciszek Piszcz
cf74568f66
feat(RooCodeAPI): implement resumeTask and isTaskInHistory (#1672) 2025-04-07 08:19:47 -07:00
Sam Hoang Van
bf648856ba
feat: add workspace tracking to history items (#2054)
Track the current workspace path in history items to enable filtering and organization of history by workspace. This change adds the workspace property to the history schema and ensures it's saved with each history entry.
2025-04-05 08:23:10 -04:00
Smartsheet-JB-Brown
919bb121d0
Jbbrown/bedrock caching (#2071)
* Bedrock prompt caching

* remove whitespace only change to src/api/providers/base-provider.ts

* remove integration test that calls bedrock

* PR prep cleanup

* test file and redundant code cleanup

* updated multi-cache-point

* optimized cache strategy

* cache logic updated. commit before trying to simplify newConversationPlacements

* simplified initial cachePoint logic

* fix the missing caching params for claude 3.7 on bedrock

* undo unintentional changes to README.md files

* fix merge bug that hid use prompt cache checkbox

* prep for PR

* remove unintended changes

* revert .gitignore change

* undo unintended changes

* Issue 1998 - Unable to use ARN. https://github.com/RooVetGit/Roo-Code/issues/1998 - Simplify region extraction from Arns. Change example of ARN use from the foundational model ARN to an inference profile ARN which is what is needed.

* small updates to error message

* more flexible support for ARNs and hardening of ARN handling

* update comment on regex use for platform indipendent cosideration

* small code comment update

* remove duplicative logic to add a region to the arn when cross-region is selected

* Update README files from main branch

* improve error handling when on-demand throughput is not avialable for a foundational model

* fix prompt router bug

* minor tweaks for simplicity

* error messgae formatting

* set new version of bedrock runtime package

* fixes: 2229 - complete prompt doesn't work and appears like a no-op

* remove commented out logger.debug blocks per PR review request

* localize new prompt cache UI inputs

* single source of truth for AWS Region information

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-03 13:05:29 -04:00
Greg Taylor
a3e6c912b0
Add profile management functions to API (#2251)
Co-authored-by: Greg Taylor <gregtaylor@netflix.com>
2025-04-03 01:40:07 -04:00
Matt Rubens
3d53386f1e
Remove the experimental unified diff (#2246) 2025-04-02 23:13:46 -04:00
Chris Estreich
42f7465666
Add a mode switched event, better mode switch e2e test (#2237) 2025-04-02 14:25:11 -07:00
Chris Estreich
a73fce9027
Allow processes to access the Roo Code API via a unix socket (#2232) 2025-04-02 12:42:00 -07:00
Chris Estreich
a6ed5ce0ea
Update the webview when changing settings via the API (#2143)
* Update the webview when changing settings via the API

* Update src/exports/api.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-03-31 13:40:27 -04:00
Chris Estreich
3322e08cb7
Relax provider profiles schema and log parse error to PostHog (#2139)
* Relax provider profiles schema and log parse error to PostHog

* Create wise-moose-shop.md

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-03-30 23:07:34 -07:00
Matt Rubens
9a13041186
Remove the single diff strategy and make multi-diff the default (#2133) 2025-03-30 23:07:31 -04:00
Chris Estreich
2303f67afb
Clean up the way we compute the current diff strategy (#2049)
* Clean up the way we compute the current diff strategy

* Add changeset
2025-03-30 02:08:37 -04:00
Afshawn Lotfi
cbe7075f4f
In-Editor Browser Improvements (#1601)
* Browser Automation Improvements
* Added multi-tab remote Chrome support
* Added support for hover
* Properly caching remote browser host in global state
* Cleanup functions

* Updated for changes after merge

* Added www. exception for common tabs

* Update src/core/webview/ClineProvider.ts

* Revert README changes

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-03-29 00:46:01 -04:00
Chris Estreich
dbe0ede9a7
Handle null [x]ModelInfo types, recover from settings schema parse errors (#2064) 2025-03-28 09:59:58 -07:00
Chris Estreich
3d0fc3ccc5
Add config getters to RooCodeAPI (#2048) 2025-03-27 21:12:55 -07:00
Chris Estreich
0fd399de78
Automatically generate roo-code.d.ts (including type generation via zod-to-ts) (#2024) 2025-03-27 09:38:56 -07:00
Chris Estreich
a414c7d028
Wrangle our settings-related types and add support for settings import / export (#1997)
* Strongly type our settings use composition where possible

* Update src/core/contextProxy.ts

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

* Update src/core/contextProxy.ts

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

* Add comment, tweak function name

* Add changeset

* Clean up toolGroup types

* Comments tweak

* Remove unused type

* More type safety

* Improve import / export, add translations

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-03-26 16:29:01 -07:00
jwc11
55bbe88e39
feat: add pinning and sorting for API configurations dropdown (#2001)
* feat: add pinning functionality for API configurations

Added the ability to pin/unpin API configurations, enabling prioritized appearance in dropdown menus.
- modified state management to support storing pinned configurations persistently.
- Updated UI components to display and toggle pin states
- Adjusted backend handling for syncing pinned configuration states across sessions.

* refactor: add support for loading API configurations by ID

- Introduced a new method `loadConfigById` in `ConfigManager` to load API configurations using their unique ID.
- Refactored the dropdown and pin logic to work with ID
- Added tests to verify the new functionality for loading configurations by ID.

* fix: preserve existing API config ID on updates

- Ensure that the existing ID is retained when updating an API config.
- Prevents unintentional ID changes during configuration updates.

* Fix theme issues

---------

Co-authored-by: james <james@systemslogiq.com>
Co-authored-by: cte <cestreich@gmail.com>
2025-03-26 11:29:24 -07:00
Diarmid Mackenzie
f773bc3024
Remove "Enable Custom Mode Creation Through Prompts" toggle (#1980)
* Remove custom mode creation option

* Remove redundant code branch
2025-03-25 15:31:29 -04:00
Matt Rubens
1810efe496
Additional checkbox for auto-approving reads and writes outside of the workspace (#1965) 2025-03-25 01:35:33 -04:00
Wojciech Kordalski
fdcc679f9f
Add taskCreated event to API and subscribe to Cline events earlier (#1942)
* Cline events are subscribed earlier, added `taskCreated` event to API

* Probably fix the ClineProvider test
2025-03-24 11:05:33 -07:00
teddyOOXX
cc2420ea1a
fix qwq model in openai provider (#1940)
* feat: Add the openAiR1FormatEnabled field to enable this switch in OpenAI compatible mode to support the current QWQ and future additional classes of R1 models.

* feat: Add the openAiR1FormatEnabled field to enable this switch in OpenAI compatible mode to support the current QWQ and future additional classes of R1 models.

* fix: add miss i18n

* fix: add miss i18n

* fix: remove the redundant call

---------

Co-authored-by: xiong <yueminxiong.xym@alibaba-inc.com>
2025-03-24 10:14:44 -04:00
Sam Hoang Van
70a476e722
feat read file range (#1440)
* feat read file range

feat: add file truncation with code structure preview

Add configurable line limit for large file handling with source code structure preview. This improves performance and memory usage while maintaining code readability.

Key changes:

Add maxReadFileLine setting (default: 4500) with UI controls
Create efficient line counter utility using streams
Add parseSourceCodeDefinitionsForFile for single file parsing
Show truncation notice with code structure for large files
Add comprehensive tests for new functionality
Move file extensions to shared constant

add line number

pr comment

Return definition ranges from tree-sitter

make treesitter always add line

add line number to rg search

enhance tree siter output & fix test

update snapshot

fix test

* Add translations, tweak range

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-03-20 00:55:47 -04: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
KJ7LNW
6301e90454
Fix shell integration race condition (and other minor fixup/cleanup) (#1660)
* fix: clarify PowerShell command completion workaround

The command completion detection approach in PowerShell requires an output
string to allow duplicate commands to execute in some versions of code.
Update the string to explicitly indicate it is a Roo PowerShell workaround,
making it clear in terminal output that this is intentional behavior rather
than a side effect.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* cleanup: improve terminal logging and error handling

No functional changes - purely improves error handling and logging clarity.

Terminal.ts:
- Handle undefined process state in setActiveStream without throwing
- Add terminal IDs to all log messages for better traceability
- Improve error message clarity in shell integration timeout

TerminalRegistry.ts:
- Reorganize shell execution event handlers for better flow
- Log shell execution events before processing for reliable debugging
- Add detailed context to terminal not found scenarios
- Include command and execution state in error messages

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* feat: make terminal shell integration timeout configurable

Users with long shell startup times were encountering "Shell Integration Unavailable" errors due to the hard-coded 4s timeout. The timeout is now configurable through Advanced Settings (1-60s).

Thanks @filthy for troubleshooting and @kiwina for suggesting making the timeout configurable.

Fixes #1654

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* critical fix: race condition that prevents command completion

Terminal running state is now managed in TerminalRegistry instead of Terminal to prevent race between stream close and shell completion.

While this race may not trigger on current VSCode versions, newer releases with additional terminal fixes may expose the issue. This proactively prevents "Shell execution end event received, but process is not running" errors.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* fix: improve command execution path reporting

Enhance clarity of command execution context and error reporting:

- Check to see if the directory changed because of the command
- Clarify execution path message
- Add explicit message when command exits with non-zero code

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* system instructions: clarify terminal directory operations

Clear guidance for the AI system on:
- Working directory constraints
- Path handling requirements
- Tool vs terminal directory behavior

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* test: update snapshots for system prompt working directory instructions

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

---------

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Chris Estreich <cestreich@gmail.com>
2025-03-17 23:57:20 -07:00
Seth Miller
f16a49de87
Add text-to-speech functionality (#1412)
* Add text-to-speech functionality

* Add speed config option to text-to-speech

* Fix test case for tts speed slider

* Fix test case for tts speed slider (really)

* Disabled error message logging in tts.ts

* ignore markdown and mermaid diagrams in TTS

* add ttsEnabled and ttsSpeed to GlobalStateKey

* fix failing webview test for save button

* Translations

* Fix tests

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-03-18 01:47:16 -04:00
Chris Estreich
eb74f02094
Choose specific provider when using OpenRouter (#1753)
* Choose specific provider when using OpenRouter

* Add translations
2025-03-17 15:40:27 -07:00
cte
f108dfaeb8 Evals 2025-03-17 10:09:19 -07:00
Chris Estreich
dc302f72c2
Merge pull request #1670 from franekp/ask-response-event
feat(RooCodeAPI): add event that user responded to "ask" request
2025-03-17 09:32:02 -07:00
Chris Estreich
5cd084de6f
Merge pull request #1669 from franekp/public-api-current-task-ids
feat(RooCodeAPI): add getCurrentTaskStack() returning stack of task IDs
2025-03-17 09:31:39 -07:00
Matt Rubens
79e1d11b2e Add a language picker 2025-03-16 16:49:07 -04:00
Wojciech Kordalski
c4559b7d0f
Add the getCurrentTaskStack method to public API interface 2025-03-15 13:17:50 +01:00
Wojciech Kordalski
bf497119c8
Expose event that informs that user responded to "ask" request 2025-03-15 12:16:18 +01:00
Matt Rubens
9bbbaf2288 Add a new setting to control the number of workspace files included in the system prompt 2025-03-14 12:06:56 -04:00
cte
c609856302 Fix e2e tests 2025-03-13 00:54:05 -07:00