Commit graph

2526 commits

Author SHA1 Message Date
Matt Rubens
c52fdc4397
Clamp default model max tokens to 20% of context window (#6761) 2025-08-06 13:51:10 -07:00
roomote[bot]
2b647ed9a1
fix: handle current directory path "." correctly in codebase_search tool (#6517)
* fix: handle current directory path "." correctly in codebase_search tool

- Fix path filtering logic in QdrantVectorStore.search() to properly handle current directory representations
- When directoryPrefix is ".", "./", "", or similar, set filter to undefined to search entire workspace
- Add comprehensive tests covering various current directory path formats including cross-platform support
- Resolves issue where codebase_search with path="." returned no results

Fixes #6514

* fix: normalize directory prefix handling in Qdrant vector store

* fix: normalize paths starting with './' and fix OS-dependency issue

- Use forward slash for splitting after toPosix() conversion
- Remove leading './' from paths like './src' to normalize them to 'src'
- Update test expectations to match correct behavior

* refactor: use path.posix.normalize instead of custom toPosix method

- Replaced directoryPrefix.toPosix() with path.posix.normalize()
- Added proper handling of backslashes before normalization
- Updated test mock to include posix.normalize method
- All tests passing (381 tests in code-index service)

* refactor: address review comments - improve path normalization

- Keep check for './' after normalization as path.posix.normalize('./') returns './'
- Use actual Node.js path.posix implementation in tests instead of custom mock
- Apply path.posix.normalize to cleanedPrefix for consistency

All 381 code-index tests pass

* fix: apply path.posix.normalize when cleaning prefix to avoid redundant normalization

Addresses review comment from @mrubens to normalize the path at line 385 instead of normalizing twice

* fix: correct current directory detection logic

The issue was that the condition checked for an empty string after normalization,
but path.posix.normalize('') actually returns '.', not ''. This caused the
current directory check to fail when an empty string was passed.

Removed the redundant empty string check since normalize('') returns '.' which
is already handled by the first condition.

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: hannesrudolph <hrudolph@gmail.com>
2025-08-06 06:28:28 -07:00
roomote[bot]
34fb5b7c37
fix: recover from error state when Qdrant becomes available (#6661)
* fix: recover from error state when Qdrant becomes available

- Add recoverFromError method to CodeIndexManager to clear error state and reset internal services
- Update startIndexing handler to check for error state and recover before initialization
- Add comprehensive tests for error recovery functionality

Fixes #6660

* fix: address PR review comments for code indexing error recovery

- Add race condition protection for multiple rapid clicks on Start Indexing button
- Add error handling for setSystemState in recoverFromError method
- Enhance JSDoc documentation for recoverFromError method
- Add test cases for recoverFromError idempotency and error handling

* refactor: move error recovery logic into startIndexing method

- Moved error recovery from webviewMessageHandler into CodeIndexManager.startIndexing()
- This ensures error recovery happens whenever indexing is started, not just from UI
- Added race condition prevention flag within CodeIndexManager
- Simplified webviewMessageHandler by removing error state checking
- The startIndexing method now automatically recovers from error state before proceeding

* fix: remove await from startIndexing calls and update JSDoc

- startIndexing should never be awaited as it's a long-running background process
- Added JSDoc warning to never await this method
- Updated webviewMessageHandler to not await startIndexing calls

* fix: use platform-agnostic paths in code-index manager tests for Windows compatibility

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-06 06:26:34 -07:00
Chris Estreich
142cdb5cb1
Revert "Use @roo-code/cloud from npm" (#6742)
Revert "Use @roo-code/cloud from npm (#6611)"

This reverts commit a1439c1f96.
2025-08-05 16:13:11 -10:00
roomote[bot]
7a865e26c4
fix: prevent disabled MCP servers from starting processes and show correct status (#6084)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: hannesrudolph <hrudolph@gmail.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-05 16:55:30 -07:00
roomote[bot]
263e317ebd
feat: reduce Gemini 2.5 Pro minimum thinking budget to 128 (#6588)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-05 15:43:20 -07:00
roomote[bot]
1237eb825b
fix: trim whitespace from OpenAI base URL to fix model detection (#6560)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-05 14:22:29 -07:00
roomote[bot]
7b6c6a8196
fix: improve handling of net::ERR_ABORTED errors in URL fetching (#6635)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-05 14:21:58 -07:00
Nitesh
4f4328d97c
Add swift files to fallback list (#6724) 2025-08-05 14:19:23 -07:00
github-actions[bot]
31df9bd20c
Changeset version bump (#6738)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-05 12:06:47 -07:00
roomote[bot]
477b85de03
feat: add support for Claude Opus 4.1 (claude-opus-4-1-20250805) (#6728)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-05 10:55:03 -07:00
Matt Rubens
c632b22e56
Revert "Extension bridge (#6677)" (#6729) 2025-08-05 10:45:45 -07:00
NaccOll
d90bab71ff
feat: code indexing support multiple folder similar with task history (#6204)
* feat: Implement code indexing support multi-folder workspaces similar to task history

* fix: add missing mock for onDidChangeActiveTextEditor in tests
2025-08-04 19:39:37 -07:00
roomote[bot]
8a35b64b9b
fix: prevent MCP server creation when setting is disabled (#6613)
* fix: prevent MCP server creation when setting is disabled

- Modified getFetchInstructionsDescription to conditionally include create_mcp_server task
- Updated getToolDescriptionsForMode to pass enableMcpServerCreation parameter
- Added tests to verify the conditional behavior
- Updated snapshot test to reflect the new expected behavior

Fixes #6607

* fix: address review comments - add JSDoc, null test, and clarify default behavior

---------

Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-04 19:29:38 -07:00
ershang-fireworks
4a9222b50e
Add the fireworks AI provider (#6652)
* add fireworks provider

* add tests

* Update packages/types/src/providers/fireworks.ts

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

* fix typo

* another typo

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-08-04 19:27:12 -07:00
Chris Estreich
1d714c8ce4
Extension bridge (#6677)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-04 13:58:14 -07:00
roomote[bot]
7ca4901024
fix: prevent empty mode names from being saved (fixes #5766) (#5767)
* fix: prevent empty mode names from being saved (fixes #5766)

- Add frontend validation in ModesView to prevent empty names from being saved
- Add onBlur handler to restore original name if field is left empty
- Add backend validation in CustomModesManager.updateCustomMode using modeConfigSchema
- Provide user feedback when validation fails
- Trim whitespace from mode names before validation

This prevents YAML parsing errors caused by empty mode name fields.

* fix: improve UX by allowing users to empty mode name field

- Remove restriction that prevented users from emptying the name field
- Remove onBlur handler that automatically restored original name
- Allow backend validation to handle empty names and show appropriate errors
- Users can now type freely but invalid saves are prevented by backend validation

Addresses feedback from @daniel-lxs in PR #5767

* fix: allow emptying mode name field but prevent saving when invalid

- Modified onBlur handler to check if name is empty before saving
- If empty, revert to original name instead of saving empty value
- This provides better UX as requested in PR review

* fix: add proper JSON formatting to source map writes for Windows compatibility

---------

Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-04 11:03:34 -07:00
jues
a921d059e1
Add Z AI provider (#6657)
Co-authored-by: wangshan <shan.wang@aminer.cn>
2025-08-04 10:06:46 -04:00
axb
f24c1e69a3
use assistantMessageParser class instead of parseAssistantMessage (#5341)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-04 10:02:30 -04:00
roomote[bot]
2882d99ea8
Remove 'Initial Checkpoint' terminology, use 'Checkpoint' consistently (#6643)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-04 00:23:08 -04:00
Chris Estreich
a1439c1f96
Use @roo-code/cloud from npm (#6611) 2025-08-03 16:43:33 -10:00
NaccOll
a5b55dac8b
Changing checkpoint timing and ensuring checkpoints work (#6359)
* feat: Before requesting, ensure checkpoint is initialized

* Generate a checkpoint before modifying the code

* refactor: streamline checkpoint handling and enhance getCheckpoints method

* Blocked waiting for checkpoint initialization timing to change

* cancel checkpoint restore limit

* fix: ensure checkpoint service is undefined on initialization error and improve checkpoint diff handling

* refactor: simplify checkpoint service initialization and cleanup unused variables in CheckpointMenu

* fix: prevent race condition in checkpoint service initialization

- Only assign service to cline.checkpointService after successful initialization
- Add proper cleanup on initialization failure
- Prevents service from being in inconsistent state if Git check fails

* fix: remove checkpoint save from presentAssistantMessage for update_todo_list case

---------

Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-08-03 19:21:45 -04:00
NaccOll
a88238f68b
feat: conditionally include reminder section based on todo list config (#6411)
* feat: conditionally include reminder section based on todo list configuration

* feat: add tests for REMINDERS section based on todoListEnabled configuration
2025-08-03 08:26:33 -04:00
Chris Estreich
b2d2a2c5d2
Task and TaskProvider event emitter cleanup + a few new events (#6606)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-02 11:12:44 -07:00
github-actions[bot]
8513263a67
Changeset version bump (#6579)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-01 21:32:31 -04:00
roomote[bot]
19c157e51c
feat: set horizon-beta model max tokens to 32k for OpenRouter (#6577)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-01 21:11:24 -04:00
John Richmond
8353ca2519
Cloud: support syncing provider profiles from the cloud (#6540) 2025-08-01 16:00:09 -04:00
github-actions[bot]
f7b2bb0384
Changeset version bump (#6565)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-01 15:39:30 -04:00
Kevin Taylor
88272e9b02
Add Qwen 3 Coder from Cerebras (#6562)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-08-01 15:29:33 -04:00
Daniel
7cbb37df74
fix: Fix VB.NET indexing by implementing fallback chunking system (#6552) 2025-08-01 14:55:45 -04:00
Matt Rubens
ebfd384ac4
More tolerant search/replace match (#6537)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-08-01 11:58:57 -04:00
John Richmond
6e835de82f
Cloud service cleanup callbacks / move to events (#6519)
* Cloud: use events in SettingsService

* Cloud: simplify AuthService events

* Cloud: convert CloudService to an EventEmitter

* Apply suggestions from code review

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

---------

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2025-07-31 18:30:30 -04:00
Kevin Taylor
079fc22a66
Add Cerebras as a provider (#6392) 2025-07-31 18:17:54 -04:00
Daniel
5041880da0
fix: handle Qdrant deletion errors gracefully to prevent indexing interruption (#6296) 2025-07-31 16:20:11 -04:00
Chris Hasson
1da82b2db0
Add auto-approved cost limits (#6484)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-31 15:33:09 -04:00
Piotr Wilkin (ilintar)
1a013b4416
fix: LM Studio model context length (#5075) (#6183)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-31 15:31:04 -04:00
roomote[bot]
816dc75681
fix: improve Claude Code ENOENT error handling with installation guidance (#5867)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-07-31 10:45:16 -04:00
roomote[bot]
e13083e532
Skip interpolation for non-existent slash commands (#6475)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-07-31 01:21:19 -04:00
github-actions[bot]
2f8fd889a5
Changeset version bump (#6474)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-07-31 00:13:50 -04:00
roomote[bot]
c47e857048
feat: set horizon-alpha model max tokens to 32k for OpenRouter (#6470)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-07-30 23:27:18 -04:00
KJ7LNW
01f5320b4d
fix: Remove misleading task resumption message (#5851)
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-30 22:53:06 -04:00
Daniel
ccd8ab9ffc
Fix: Kill button for execute_command tool (#6457) 2025-07-30 22:24:43 -04:00
roomote[bot]
38c6c7a101
feat: add zai-org/GLM-4.5-FP8 model to Chutes AI provider (#6441)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-07-30 22:23:51 -04:00
Chris Estreich
cb6dccab95
Miscellaneous cleanup (#6453) 2025-07-30 16:10:53 -07:00
roomote[bot]
b8dc31581c
feat: add symlink support for AGENTS.md file loading (#6326)
* feat: add symlink support for AGENTS.md file loading

- Add safeReadFileFollowingSymlinks function to handle symlink resolution
- Update loadAgentRulesFile to use the new symlink-aware function
- Add comprehensive tests for both symlink and regular file scenarios
- Ensures AGENTS.md can be a symlink pointing to actual rules file

* refactor: use existing symlink resolution pattern for AGENTS.md

- Extracted resolveSymlinkPath function to handle symlink resolution
- Removed duplicate safeReadFileFollowingSymlinks function
- Updated loadAgentRulesFile to use resolveSymlinkPath + safeReadFile
- Updated tests to match new implementation
- Maintains same functionality while reusing existing patterns

* fix: simplify symlink resolution for AGENTS.md to fix Windows compatibility

- Remove duplicate resolveSymlinkPath function as suggested by @mrubens
- Use simpler inline symlink resolution in loadAgentRulesFile
- Update tests to match simplified implementation
- This should fix the failing Windows unit tests while maintaining functionality

* refactor: use existing resolveSymLink function for AGENTS.md symlink support

- Remove duplicate inline symlink resolution logic
- Reuse existing resolveSymLink function with MAX_DEPTH protection
- Adapt loadAgentRulesFile to work with resolveSymLink's fileInfo interface
- Fix test to properly mock fs.stat for resolved symlink targets
- All tests pass (36/36)

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-30 18:57:15 -04:00
roomote[bot]
5f4ccbcc34
fix: resolve navigator global error by updating mammoth and bluebird dependencies (#6363)
- Update mammoth from ^1.8.0 to ^1.9.1
- Add pnpm override to force bluebird >=3.7.2 (was 3.4.7)
- Fixes PendingMigrationError: navigator is now a global in nodejs
- Resolves extension crashes in VS Code nightly builds

Fixes #6356

Co-authored-by: Roo Code <roomote@roocode.com>
2025-07-30 18:32:31 -04:00
Adam Brand
7a07088802
Add pattern to support Databricks /invocations endpoints (#6317)
For using other models in Azure (e.g., Claude); you have to use Databricks, and the other patterns didn't match that.
2025-07-30 18:31:26 -04:00
NaccOll
181993f639
feat: enhance token counting by extracting text from messages using VSCode LM API (#6424) 2025-07-30 16:56:01 -04:00
Will Li
83280a0d40
feat: Add Task History Context to Prompt Enhancement (#6343) 2025-07-30 16:54:33 -04:00
AntiMoron
4b45a4e7f2
Support new LLM provider: Doubao (#6345)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-30 16:54:16 -04:00