Commit graph

442 commits

Author SHA1 Message Date
Daniel
be9195c1ee
Fix: Use EMBEDDING_MODEL_PROFILES as default in the state (#3939)
fix: update codebaseIndexModels to use EMBEDDING_MODEL_PROFILES as default
2025-05-24 16:39:34 -04:00
Matt Rubens
2053d27d63
Default to full file reads (#3936) 2025-05-24 15:17:48 -04:00
Matt Rubens
4abadd877b
Default to Sonnet 4 (#3928) 2025-05-24 13:06:25 -04:00
Daniel
61e122dc34
Codebase indexing (Clean history) (#3137)
* feat: apply changes from local main

* fix: add missing types

* feat: deduplicate code blocks coming out of parser

* feat: implement a cache manager to improve cache handling

* refactor: move code index service initialization to extension and remove await from indexing process

* fix: return undefined instead of throwing if no workspace is detected

* feat: allow auto approve if it is active for read tools

* refactor: improve UI of the results and allow opening the ranges directly in the editor

* refactor: use dependency injection to improve performance

* feat: implement result filtering by directory path

* refactor: centralize path normalization logic

* refactor: remove unnecessary barrel file

* refactor: prevent restarting the service if no settings change

* fix: the indexing process should never be awaited

* refactor: cleanup unused method

* refactor: remove batch limits for ollama

* refactor(parser): simplify method signatures and improve chunking logic

- Remove redundant min/max chars parameters
- Add better handling for oversized lines
- Improve chunking logic with segment handling
- Clean up method signatures and parameter ordering

* fix(settings): make select inputs full width in CodeIndexSettings

* refactor: increase max list file limit

* feat(ui): improve codebase search result display formatting

* test: add tests for cache and config managers

* test: create unit tests for parser and scanner

* feat(parser): improve segment hash uniqueness

- Added startCharIndex to segment hash calculation in _chunkTextByLines
- Track character position when splitting oversized lines
- Ensures unique identification of segments from same line

* feat(file-watcher): add error logging and optional ignoreController injection

* fix: allow getting the state if the service is disabled

* fix: set the embedding models when cline provider is initialized

* feat: use zod to validate form

* feat(file-watcher): enhance file watcher for batched deletions and improved vector store interactions

Improve file watcher to handle file deletions in batches and optimize vector store operations.

* feat(CodeIndexSettings): move OpenAI key input to a conditional rendering block

* feat(CodeIndexSettings): update button visibility based on indexing status

* feat(file-watcher): refactor vscode mock and enhance file watcher tests

* fix(CodeIndexManager): do not await startIndexing on configuration changes

* feat(types): add codeIndexOpenAiKey and codeIndexQdrantApiKey to ProviderSettings and IpcMessage

* feat(FileWatcher): enhance file processing with batch operations and new status handling

* fix(webviewMessageHandler): handle errors during CodeIndexManager initialization

* refactor(CodeIndexManager): streamline service creation by consolidating into a single method

* feat(CodeIndex): implement minimum search score configuration and update search methods

* refactor(CodeIndexSettings): replace ApiConfiguration with ProviderSettings and update related methods

* refactor: move contants to centralized file

* refactor(constants): rename CODEBASE_INDEX_SEARCH_MIN_SCORE to SEARCH_MIN_SCORE

* feat(QdrantVectorStore): enhance search functionality with new query structure and indexing

* feat(FileWatcher): implement batch processing and retry logic for upserting points

* fix(CodeIndexSettings): rename setProviderSettingsField to setApiConfigurationField and move model label

* fix(ChatRow): remove limit from search query messages

* refactor(CodebaseSearchResult): remove unused props from component

* feat: implement batch processing for file events in FileWatcher

- Introduced a new mechanism to accumulate file events (create, change, delete) and process them in batches.
- Added debounce functionality to optimize processing frequency.
- Emitted events for batch processing start, progress updates, and completion with detailed summaries.
- Refactored existing processing logic to handle batch deletions and upserts efficiently.
- Enhanced error handling and logging for better traceability during batch operations.

* feat(CodeIndex): implement batch processing and update progress reporting

* fix: define a default url for qdrant

* feat(CodeIndexManager): add initialization check and update startIndexing logic

* feat(CodeIndexSettings): validate Qdrant URL and update settings commitment logic

* feat: refactor progress calculation and update progress bar rendering

* refactor: remove webview provider and related methods

* fix: simplify indexing status update by directly using update values

* feat: integrate .gitignore support into file processing and scanning logic

* fix: update clearCacheFile method to write an empty object instead of deleting the cache file

* Revert this

* Run prettier

* fix: add new dependencies for qdrant client and directory scanner

* feat: add codebase search functionality to localization files

* feat: add localization strings for codebase indexing settings

* feat: integrate CodeIndexSettings into ExperimentalSettings and update settings localization

* refactor: remove console logs from various components for cleaner output

* feat: enhance capabilities section and codebase search tool description

* feat: add code indexing localization for multiple languages

* fix: correct indentation for CodeIndexSettings component in ExperimentalSettings

* refactor: update unit tests to properly test current functionality

* feat: add mock implementation for p-limit and update Jest config

* feat: track file creation, change, and deletion events in accumulatedEvents

* refactor: simplify file watcher tests by removing waitForFileProcessingToFinish and using direct event accumulation

* refactor: mock ContextProxy's getValue method to return current config name in ClineProvider tests

* refactor: mock missing properties required by codebase indexing manager

---------

Co-authored-by: cte <cestreich@gmail.com>
2025-05-23 19:07:19 -06:00
slytechnical
1791bb9053
Ability to refresh LiteLLM models list (take 2) (#3852)
* Litellm models can now be refreshed

* Fix no-case-declarations lint issue and put back missing autoCondenseContextPercent webviewMessageHandler case

* Add tests for litellm config changes

* replace hardcoded keys with constants
2025-05-23 16:19:40 -05:00
Chris Estreich
6931cc9262
Fix global settings export (#3890) 2025-05-23 01:33:40 -07:00
Chris Estreich
b9d3331f41
Fix vscode-material-icons path (#3889) 2025-05-23 01:22:43 -07:00
SannidhyaSah
d149d65e14
Feature/condensing enhancements (#3826)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: Your Name <you@example.com>
2025-05-22 17:26:46 -04:00
Chris Estreich
39cd50b989
Fix linter errors (#3821) 2025-05-21 23:16:43 -07:00
Chris Estreich
57249a0881
PNPM + Turbo monorepo + Nightly releases (#3407) 2025-05-21 21:01:20 -07:00
Matt Rubens
9c740e8d66
v3.18 (#3800)
* v3.18

* Update webview-ui/src/i18n/locales/ko/chat.json

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-21 17:30:55 -04:00
Canyon Robins
1fe65364ee
[Condense] Add a slider for the context condense threshold (#3790)
* [Condense] Add a slider for the context condense threshold

* slider UI

* condense if we reach the threshold

* fixes

* test typing fixes

* add more truncate tests

* changeset

* update translations

* fix missing type
2025-05-21 12:10:00 -07:00
Chris Estreich
f274a150c4
Get package publisher and name from package.json + command type safety (#3766) 2025-05-20 16:41:03 -07:00
Canyon Robins
c3716f1107
[Condense] Add a button to condense the task context (#3623)
* [Condense] Add a button to condense the task context

* wip

* wip

* wip

* bring back delete size

* account for the system prompt in the context

* update tests to use systemPrompt

* add type

* translations

* nit

* update tests

* filter to the current task

* nit

* refactor

* nit

* non interactive option

* simplify chat summary UI

* changeset

* nit

* fix check-types

* throw
2025-05-20 13:47:02 -07:00
Chris Hasson
25cd57e157
✨ feat(settings): Add allowedMaxRequests feature inspired by Cline (#3631)
* feat(settings): Introduce the "auto-approve request count" feature from Cline

This is the first minor UI feature I've added, so please let me know if I'm missing anything! (translations, organization, etc!)

Please see commits for details

introduce allowedMaxRequests to globalSettingsSchema
update ExtensionState and its context with allowedMaxRequests
implement UI for setting max requests in AutoApproveMenu component
prompt user when auto-approval limit is reached with i18n support
increment consecutiveAutoApprovedRequestsCount and reset upon user approval
add translations for auto-approved request limit reached prompt in multiple languages
add new UI for "auto_approval_max_req_reached" in ChatRowContent
display prompt with title, description, and button for user action

🔧 chore(gitignore): add .idea to .gitignore to exclude IDE-specific files
- remove .idea/workspace.xml to clean up repository

* 🔧 chore(gitignore): add IDE configuration files to ignore list

- add .idea directory to ignore JetBrains IDE configurations

* 🌐 i18n(chat): add translation keys for api request limit

- introduce translation keys for "title" and "unlimited" in multiple languages
- update description for api request limit in various languages

* 🌐 i18n(chat): migrate auto-approved request limit translations

- move translations from common.json to chat.json across locales
- update component to use Trans for dynamic text rendering

* Update the UI for setting max requests

* Hide the auto-approve limit warning once clicked

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-05-20 11:30:27 -04:00
Noritaka Kobayashi
6a6df08fbd
refactor: import multiple times (#3745) 2025-05-20 09:19:44 -04:00
மனோஜ்குமார் பழனிச்சாமி
628661c5c5
feat: move play audio to webview to ensure cross-platform (#3659)
Co-authored-by: sam hoang <samhv.ict@gmail.com>
2025-05-20 01:15:05 -04:00
Chris Estreich
dc694efdb2
Import settings bug fix / improvements (#3657) 2025-05-15 23:21:55 -07:00
Matt Rubens
1ff8a56e7a
Fix how custom instructions are loaded into the API request (#3638)p 2025-05-15 16:44:10 -04:00
Matt Rubens
669b239c22
v3.17.0 (#3622) 2025-05-14 17:33:55 -04:00
Daniel
9ffdc7879e
Use the provider-specific model info for the OpenRouter provider (#3430) 2025-05-12 18:23:32 -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
Wojciech Kordalski
6416118f74
ClineProvider.finishSubTask should wait for unpausing the parent task (#1870) 2025-05-12 12:27:23 -07:00
Matt Rubens
730d037a12
Revert "Improve provider profile management in the external API (#3386)" (#3440) 2025-05-10 08:27:37 -04:00
Chris Estreich
ce4ce17cb2
Improve provider profile management in the external API (#3386)
Co-authored-by: John Richmond <5629+jr@users.noreply.github.com>
2025-05-09 10:05:34 -07:00
Chris Estreich
c21aa230e3
Get rid of ApiConfiguration type alias, rename ApiConfigMeta to ProviderSettingsEntry (#3380) 2025-05-08 23:52:18 -07:00
Chris Estreich
55b72a530c
Simplify the process of setting the "active" provider profile (#3366)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-05-08 20:59:59 -07:00
Chris Estreich
1a78be3bfa
Rename Cline to Task (#3352) 2025-05-08 12:47:50 -07:00
Chris Estreich
7cea2e8bc4
Move presentAssistantMessage into its own module (#3345) 2025-05-08 11:59:03 -07: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
Matt Rubens
42254cf654
Add editor name to telemetry (#3229) 2025-05-06 13:48:33 -04:00
Chris Estreich
2e2c0a8f02
chore: prepare for v3.16.0 release (#3214) 2025-05-06 08:34:29 -07: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
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
KJ7LNW
305185cd88
feat: clickable code references in model responses navigate to source lines (#3087)
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
2025-05-05 14:33:18 -04:00
Matt Rubens
8641b215c6
Add isSubtask to telemetry (#3141) 2025-05-02 23:16:21 -04:00
Chris Estreich
a2dcc1869d
Improve performance of CustomModesManager (#3123) 2025-05-02 14:52:08 -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
Chris Estreich
2fd7d13624
v3.15.0 (#3061) 2025-04-30 01:51:59 -07:00
Chris Estreich
7863303aac
Fall back to execa if VSCode terminal integration fails (#3049) 2025-04-29 21:10:41 -07:00
Chris Estreich
d07e60575b
Simplify Roo Code's quick actions (#3024)
* Quick fix actions

* Remove unused keys

* Simplify more stuff

* Bring back "Explain Code"

* Bring "Improve Code" back

* Add back "Improve"

* This is too flakey for now
2025-04-29 08:07:24 -07:00
Chris Estreich
65958d81b9
Overhaul CodeBlock rendering (#3019) 2025-04-28 17:10:57 -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
Julio Navarro
418791a743
Fix: custom modes export import (#2810)
* Enhance export method in ContextProxy to filter out project custom modes, ensuring only global settings are included in the export.

* Fix issue of customModes not being imported when importing settings.

The problem was that the Custom modes are managed by the CustomModesManager, not by the context proxy.

* * Fix tests

* Update webviewMessageHandler to provide customModeManager to importSettings
2025-04-26 08:46:05 -04:00
Sacha Sayan
83133c6e6d
UI top down homescreen (#2951)
* isotrUpdate welcome screen UI components and fix unused variable

* Save collapsibility.

* Add persistence, locales.

* Top layout, expanded tips.

* Minimal 'tasks' language.

* Adjust announcement positioning/dimensions.

* Fix tests, defaults.

* Fix translations.

* Compromise-compromise.

* Final tweaks.

* More tweaks.

* More tweaks.

* Issues fix.

* Update translations, remove debug.

* Fix transparency issue.

---------

Co-authored-by: hannesrudolph <hrudolph@gmail.com>
2025-04-25 22:39:11 -04: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