Commit graph

476 commits

Author SHA1 Message Date
pugazhendhi-m
d851586042
Adds refresh models button for Unbound provider (#3663)
* Adds refresh models button for Unbound provider

* Adds changeset

* Optimizes code to prevent memory leak, add error messages

* Adds unbound messages to all supported languages

---------

Co-authored-by: Pugazhendhi <pugazhendhi@unboundsecurity.ai>
2025-05-17 18:09:39 -07:00
Hannes Rudolph
ead5d2a838
feat: add buildDocLink utility and 21 Internal Links to Docs (#3418)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-05-14 13:15:05 -04:00
Chris Estreich
cd07b7faeb
Fix linter warning + run prettier on everything (#3581) 2025-05-13 15:16:24 -07:00
Chris Estreich
20fab97b4d
Gemini implicit caching (#3515) 2025-05-12 14:16:27 -07:00
John Richmond
8cb5c4e9e3
Restore profile management work + fix #3434 (#3449)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-05-12 15:47:09 -04:00
Matt Rubens
730d037a12
Revert "Improve provider profile management in the external API (#3386)" (#3440) 2025-05-10 08:27:37 -04:00
Matt Rubens
c1aa0ec5b3
Fix saving of OpenAI compatible headers (#3415)
* Fix saving of OpenAI compatible headers

* Code cleanup

* Add test
2025-05-09 18:39:10 -04:00
Chris Estreich
c21aa230e3
Get rid of ApiConfiguration type alias, rename ApiConfigMeta to ProviderSettingsEntry (#3380) 2025-05-08 23:52:18 -07:00
Matt Rubens
6d8f903b04
Revert "Tailwind migration" (#3321)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-05-08 10:38:29 -04:00
John Richmond
0bbd3fd1df
Add LiteLLM provider (#3242)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-05-07 14:53:21 -04:00
Sacha Sayan
970bd97668
Tailwind migration (#3235)
Co-authored-by: cte <cestreich@gmail.com>
2025-05-07 11:40:25 -07:00
Maxim Madan
94ae4488f5
fix: wrap footer buttons in About section on narrow screens (#3234) 2025-05-06 14:08:19 -07:00
Chris Estreich
b0757c2d05
Enable Gemini prompt caching by default (#3225) 2025-05-06 09:56:57 -07:00
zetaloop
328a25e889
Add gemini-2.5-pro-preview-05-06 model (#3222)
Add model gemini-2.5-pro-preview-05-06
2025-05-06 09:33:09 -07:00
Dicha Zelianivan Arkana
883cb927a3
refactor: general UI improvements (#2987) 2025-05-06 12:06:20 -04:00
dlab-anton
c701600081
Feat: Vertical settings tabs (#2914)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-05-06 08:48:42 -04:00
Chris Estreich
a649a53ec6
Move remaining provider settings into separate components (#3208) 2025-05-05 23:09:24 -07:00
Daniel Trugman
ce8fbbdafa
Requesty provider fixes (#3193)
Co-authored-by: Chris Estreich <cestreich@gmail.com>
2025-05-05 20:49:11 -07:00
Chris Estreich
da6c50bf10
Organize provider settings into separate components (#3196) 2025-05-05 15:53:01 -07:00
Shariq Riaz
883be32b1a
feat: Add Groq and Chutes API providers (#3034)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Chris Estreich <cestreich@gmail.com>
2025-05-05 15:16:27 -07:00
Chris Estreich
973295835a
Webview message handler + terminal settings cleanup (#3189) 2025-05-05 12:56:41 -07:00
KJ7LNW
904f71cb19
feat: add VSCode terminal environment inheritance setting (#2862)
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-05-05 12:19:50 -07:00
Deon588
805ac1689a
Improve Accessibility of Auto-Approve Toggles (#3145)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: DEON NEL <deonnel@M-XIB-DeoN01.local>
Co-authored-by: cte <cestreich@gmail.com>
2025-05-05 12:18:07 -07:00
Chris Estreich
78beb718c8
Move environment details to a separate module, add tests (#3078) 2025-05-05 12:07:20 -07:00
Chris Estreich
06d8dd2bcf
Gemini caching fixes (#3096) 2025-05-02 16:36:22 -07:00
Matt Rubens
a356d70669
Customizable headers for the OpenAI-compatible provider (#3056)
* Customizable headers for the OpenAI-compatible provider

* PR feedback

* Fix migration

* Update webview-ui/src/components/settings/ApiOptions.tsx

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-05-01 23:30:57 -04:00
gongzhongqiang
8c428b5b63
feat(openai): Add Config Option to Overwrite OpenAI's API Base (#3066)
* feat(openai): Add Config Option to Overwrite OpenAI's API Base

* feat(openai): Add option to use custom base URL for OpenAI native API
2025-05-01 10:23:18 -04:00
Sacha Sayan
6e4a7919cd
UI: Toggles and border fixes on edge case themes. (#3051)
Toggles and border fix.
2025-04-29 19:11:58 -07:00
Ryan Pfister
2075f26f18
feat: Add Reasoning Effort setting for OpenAI Compatible provider (#2906) 2025-04-28 13:36:47 -07:00
Chris Estreich
2e1d949e65
Add support for multiple command execution strategies (#2820) 2025-04-28 08:55:07 -07:00
Chris Estreich
1924e10e72
Fix all linter errors (and fix the lint scripts too) (#2958) 2025-04-26 09:45:26 -07:00
Chris Estreich
cb29e9d56f
Remove ModelInfo objects from settings (#2939) 2025-04-25 15:23:25 -07:00
Chris Estreich
b75379bed3
Improve OpenRouter model fetching (#2922) 2025-04-24 12:29:36 -07:00
Chris Estreich
ad4782b766
Add an option to enable prompt caching (#2924) 2025-04-24 12:28:43 -07:00
Yikai Liao
b5ffaf1ba2
Fix Terminal Carriage Return Handling for Correct Progress Bar Display (#2562)
* fix(terminal): Ensure correct handling of carriage returns for progress bars

This commit refines the tests for `TerminalProcess` to ensure the correct interpretation of terminal output containing carriage returns (`\\r`), which is essential for properly handling dynamic elements like progress bars (e.g., `tqdm`).

- Validated the `processCarriageReturns` method's behavior in simulating terminal line overwrites caused by `\\r`.
- Corrected the expectation in the `handles carriage returns in mixed content` test to accurately reflect the method's output (final line content + preserved escape sequences), confirming the logic works as intended for progress-bar-like updates.
- Fixed a minor Jest `toBe` syntax error in a related test case.
- Suppressed an expected `console.warn` in the non-shell-integration test for cleaner logs.

By ensuring `processCarriageReturns` is correctly tested, we increase confidence that the component responsible for pre-processing terminal output handles progress bars appropriately before the output is potentially used elsewhere (e.g., sent to an LLM).

* fix(test): Make TerminalProcess integration test reliable

This commit fixes the flaky test case `integrates with getUnretrievedOutput to handle progress bars` in `TerminalProcess.test.ts`.

The test previously failed intermittently due to:
1.  Relying on a fixed `setTimeout` duration to wait for asynchronous stream processing, which created a race condition.
2.  Incorrectly assuming that `await terminalProcess.run(...)` would return the final output directly via its resolved value.

The fix addresses these issues by:
-   Removing the unreliable intermediate check based on `setTimeout`.
-   Modifying the test to correctly obtain the final output by listening for the `completed` event emitted by `TerminalProcess`, which is the intended way to receive the result.

This ensures the test accurately reflects the behavior of `TerminalProcess` and is no longer prone to timing-related failures.

* Add changeset for terminal carriage return fix

* Implement terminal compress progress bar feature

This commit introduces a new feature to compress terminal output by processing carriage returns. The `processCarriageReturns` function has been integrated into the `Terminal` class to handle progress bar updates effectively, ensuring only the final state is displayed.

Additionally, the `terminalCompressProgressBar` setting has been added to the global settings schema, allowing users to enable or disable this feature.

Tests have been updated to validate the new functionality and ensure correct behavior in various scenarios.

A Benchmark is also added to test the performance.

Not that there is still no i18n support for this.

* Add i18n support for compressProgressBar setting in multiple languages

* Optimize processCarriageReturns function for performance and multi-byte character handling

This commit enhances the `processCarriageReturns` function by implementing in-place string operations to improve performance, especially with large outputs. Key features include:
- Line-by-line processing to maximize chunk handling.
- Use of string indexes and substring operations instead of arrays.
- Single-pass traversal of input for efficiency.
- Special handling for multi-byte characters to prevent corruption during overwrites.

Additionally, tests have been updated to validate the new functionality, ensuring correct behavior with various character sets, including emojis and non-ASCII text.

Highly Density CR case is added to Benchmark

* slight performance improvement by caching several variable

* Optimize multi-byte character handling in processCarriageReturns

Refactor the logic within the `processCarriageReturns` function to simplify the detection of partially overwritten multi-byte characters (e.g., emojis).

Removed redundant checks and clarified the conditions for identifying potential character corruption during carriage return processing. This improves code readability and maintainability while preserving the original functionality of replacing potentially corrupted characters with a space.

Also enforced consistent use of semicolons for improved code style.

* docs: standardize carriage return (\r) and line feed (\n) terminology
Improve code clarity by consistently adding escape sequence notation to all
references of carriage returns and line feeds throughout documentation and tests.
This makes the code more readable and avoids ambiguity when discussing these special characters.

* feat: Improve terminal output processing clarity and settings UI

- Add detailed comments to `processCarriageReturns` explaining line feed handling.
- Relocate `terminalCompressProgressBar` setting below `terminalOutputLineLimit` for better context in UI.

* Fix: Compress Progress Bar Setting Checkbox

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-04-24 00:22:47 -04:00
Chris Estreich
1543713c32
Don't immediately show an model ID error when changing API providers (#2888) 2025-04-23 13:24:22 -07:00
Chris Estreich
a08461a655
Gemini prompt caching (#2827) 2025-04-23 11:35:50 -07:00
Alfredo Medrano
3a5913ffca
Bugfix/fix vscodellm model information (#2832)
* 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>
2025-04-23 03:05:47 -04:00
Sacha Sayan
612b948193
Refactor: Use path aliases in webview source files. (#2801)
* Refactor: Use path aliases in webview source files.

* Add module resolution to root jest config.

* Add tests.

Broken import.

Another broken import.

 Broken test.
2025-04-20 21:38:08 -04:00
Sacha Sayan
0bb5ec18c5
UI: Auto-approve toggle styling tweak. (#2769) 2025-04-18 13:43:03 -07:00
Chris Estreich
5abea50cf1
Support Gemini 2.5 Flash thinking (#2752) 2025-04-18 12:26:17 -07:00
Sacha Sayan
159e4005e5
UI Glam Sesh: Makeover for TaskHeader, ChatView, HistoryPreview... (#2701)
* - UI Glam Session -> Makeover for TaskHeader, ChatView, HistoryPreview, WelcomeView
- In particular, display a "no tasks in workspace" message when no tasks are found.
- Clean up Inferface Settings (not needed now) on Settings View
- Copy updates throughout these areas.

* Apply suggestions from code review

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

* Missing translation string.

* Fix test

* Fix tests

* Improve translations / fix missing strings.

* Support xAI for evals (#2703)

* Make sure the slash commands only fire if they're the first character (#2702)

* Update contributors list (#2675)

docs: update contributors list [skip ci]

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

* v3.12.3 (#2710)

* Changeset version bump (#2711)

* changeset version bump

* Updating CHANGELOG.md format

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: R00-B0T <github-actions@github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>

* Update translations

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: cte <cestreich@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: R00-B0T <110429663+R00-B0T@users.noreply.github.com>
Co-authored-by: R00-B0T <github-actions@github.com>
2025-04-17 12:54:55 -04:00
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
Chris Estreich
1bbfd2e8e6
DRY up the auto-approve toggles (#2664)
* DRY up the auto-approve toggles

* Better subtask icon per @joemanley201
2025-04-15 14:36:13 -07:00
Chris Estreich
e7a57ea774
Expose reasoning effort option for reasoning models on OpenRouter (#2483)
* Specify reasoning effort for OpenRouter reasoning models

* Add ReasoningEffort type

* Fix ReasoningEffort props

* Remove copypasta

* Set reasoning effort for Grok 3 Mini

* Use translations

* Add translations

* Remove this check
2025-04-15 13:51:52 -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
Chris Estreich
1cdedf3048
Update translations (#2623)
* Update translations

* Clean up the buttons
2025-04-14 22:47:27 -07:00
Sacha Sayan
111ac9ca47
UI Fix: Approve Tool Use Grid Toggles. (#2487)
Improv auto approve layout + refactor.

Button grid layout. Consolidates shortNames and labels, includes translations.
2025-04-14 21:20:54 -07:00
feifei
4fe0b3c419
feat: Add modelId support when exporting tasks (#2142)
Added modelId to the task export process.

Signed-off-by: feifei <liuyansheng1121@gmail.com>
2025-04-14 07:20:40 -04:00