Commit graph

218 commits

Author SHA1 Message Date
Hannes Rudolph
e7965d9b45
feat: lossless terminal output with on-demand retrieval (#10944) 2026-01-27 22:12:19 -07:00
Daniel
27708f3038
feat: new_task tool creates checkpoint the same way write_to_file does (#10982) 2026-01-26 17:21:49 -07:00
Daniel
84f7409f3c
feat: remove MCP SERVERS section from system prompt (#10895)
Co-authored-by: Roo Code <roomote@roocode.com>
2026-01-24 01:16:26 -05:00
Daniel
3877d02498
Replace hyphen encoding with fuzzy matching for MCP tool names (#10775) 2026-01-24 00:49:13 -05:00
Hannes Rudolph
526488e5b6
chore: remove MULTI_FILE_APPLY_DIFF experiment (#10925)
* chore: remove MULTI_FILE_APPLY_DIFF experiment

Remove the 'Enable concurrent file edits' experimental feature that
allowed editing multiple files in a single apply_diff call.

- Remove multiFileApplyDiff from experiment types and config
- Delete MultiFileSearchReplaceDiffStrategy class and tests
- Delete MultiApplyDiffTool wrapper and tests
- Remove experiment-specific code paths in Task.ts, generateSystemPrompt.ts, and presentAssistantMessage.ts
- Remove special handling in ExperimentalSettings.tsx
- Remove translations from all 18 locale files

The existing MultiSearchReplaceDiffStrategy continues to handle
multiple SEARCH/REPLACE blocks within a single file.

* fix: remove unused EXPERIMENT_IDS/experiments import from Task.ts

Addresses review feedback: removes the unused imports from
src/core/task/Task.ts that were left over after removing the
MULTI_FILE_APPLY_DIFF experiment routing code.
2026-01-23 18:39:24 -05:00
Hannes Rudolph
be0e8c2665
chore: clean up XML legacy code and native-only comments (#10900) 2026-01-22 15:56:11 -05:00
roomote[bot]
f6006c998d
Fix: Enforce file restrictions for all editing tools (#10896)
Co-authored-by: Roo Code <roomote@roocode.com>
2026-01-22 14:17:42 -05:00
Hannes Rudolph
8de9337e63
chore: remove XML tool calling support (#10841)
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2026-01-20 20:25:08 -05:00
roomote[bot]
0f08867656
refactor: unify user content tags to <user_message> (#10723)
Co-authored-by: Roo Code <roomote@roocode.com>
2026-01-18 22:04:00 -05:00
Daniel
4c2d1f0c68
feat: display edit_file errors in UI after consecutive failures (#10581) 2026-01-12 10:35:43 -05:00
Hannes Rudolph
e39abbffa1
fix: make edit_file matching more resilient (#10585) 2026-01-09 20:32:13 -05:00
Chris Estreich
a4eb15b5a8
Add some functionality to @roo-code/core for the cli (#10584) 2026-01-09 13:05:15 -08:00
Daniel
ef4b95060b
fix: stabilize file paths during native tool call streaming (#10555) 2026-01-08 17:38:58 -05:00
roomote[bot]
f2276bebc4
fix: add explicit deduplication for duplicate tool_result blocks (#10466)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2026-01-05 11:24:07 -05:00
Matt Rubens
dea33f978c
fix: prevent write_to_file from creating files at truncated paths (#10415)
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-31 00:12:24 -08:00
roomote[bot]
a18c9b7a56
Improve error message when read_file is used on directory (#10371)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-28 21:57:41 -08:00
roomote[bot]
7980cd39f6
fix: enforce maxConcurrentFileReads limit in read_file tool (#10363)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-27 15:47:07 -08:00
roomote[bot]
13370a2ad1
feat: add optional mode field to slash command front matter (#10344)
* feat: add optional mode field to slash command front matter

- Add mode field to Command interface
- Update command parsing to extract mode from frontmatter
- Modify RunSlashCommandTool to automatically switch mode when specified
- Add comprehensive tests for mode field parsing and switching
- Update existing tests to include mode field

* Make it work for manual slash commands too

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-12-26 17:17:54 -08:00
roomote[bot]
a510223a09
feat: remove simpleReadFileTool completely (#10254)
- Delete simpleReadFileTool.ts file
- Delete simple-read-file.ts prompt description file
- Delete single-file-read-models.ts types file
- Remove imports and usage from presentAssistantMessage.ts
- Remove imports and usage from prompts/tools/index.ts
- Remove export from packages/types/src/index.ts

This removes all traces of the legacy single-file read tool implementation that was used for specific models. All models now use the standard read_file tool.

Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-25 09:57:46 -08:00
Hannes Rudolph
f21ec127b1
fix: add CRLF line ending normalization to search_replace and search_and_replace tools (#10288)
- Normalize file content to LF after reading to ensure consistent matching
- Normalize search/replace strings to handle CRLF from model output
- Add comprehensive CRLF normalization tests for both tools
- Consistent with existing edit_file tool behavior
2025-12-22 19:19:24 -08:00
Daniel
d00d9edec5
feat: deprecate XML tool protocol selection, force native for new tasks (#10281)
- Disable tool protocol selector UI in ApiOptions.tsx
- Force native protocol for all new tasks in resolveToolProtocol()
- Keep locked protocol support for resumed tasks that used XML
- Remove models without supportsNativeTools: true from providers:
  - baseten.ts: removed 6 models
  - bedrock.ts: removed 2 embedding models
  - featherless.ts: removed 3 models, updated default
  - groq.ts: removed 5 models
  - sambanova.ts: removed 2 models
  - vertex.ts: removed 7 models
  - vercel-ai-gateway.ts: added supportsNativeTools: true
- Update tests to expect native format output
2025-12-22 17:49:50 -08:00
Chris Estreich
5ae4d4d635
Custom tool calling (#10083) 2025-12-21 12:43:06 -08:00
Daniel
3e0d9c65e8
feat: lock task tool protocol for consistent task resumption (#10192)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-18 11:54:26 -08:00
Hannes Rudolph
8251170b84
feat: Replace edit_file tool alias with edit_file tool (#9983) 2025-12-18 12:48:30 -07:00
John Richmond
bf81fa7237
feat(read-file): implement incremental token-budgeted file reading (#10052) 2025-12-15 14:41:42 -08:00
Chris Estreich
c7139167ce
Move isToolAllowedForMode out of shared directory (#10089) 2025-12-15 02:18:08 -08:00
Hannes Rudolph
6a30d9488e
chore: remove list_code_definition_names tool (#10005)
Co-authored-by: cte <cestreich@gmail.com>
2025-12-10 20:32:06 -08:00
Matt Rubens
721b02e58c
Add a way to save screenshots from the browser tool (#9963)
* Add a way to save screenshots from the browser tool

* fix: use cross-platform paths in BrowserSession screenshot tests

* fix: validate screenshot paths to prevent filesystem escape

---------

Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-09 16:12:36 -08:00
Hannes Rudolph
c103a4a639
feat: streaming tool stats + token usage throttling (#9926)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-12-08 19:40:12 -08:00
Hannes Rudolph
fba8508b10
feat: add search_replace native tool for single-replacement operations (#9918)
Adds a new search_replace tool that performs a single search and replace
operation on a file, requiring the old_string to uniquely identify the
target text with 3-5 lines of context.

Parameters:
- file_path: Path to file (relative or absolute)
- old_string: Text to find (must be unique in file)
- new_string: Replacement text (must differ from old_string)
2025-12-08 10:45:55 -08:00
Daniel
9f111e174b
fix: handle unknown/invalid native tool calls to prevent extension freeze (#9834) 2025-12-04 22:21:09 -05:00
John Richmond
c719117fb4
Be safer about large file reads (#9843)
validateFileTokenBudget wasn't being called considering
the output budget.
2025-12-04 13:35:26 -08:00
Daniel
ce229012a3
refactor: remove insert_content tool (#9751)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-03 16:33:22 -05:00
roomote[bot]
86edc01cb1
fix: remove omission detection logic to fix false positives (#9787)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-03 13:20:22 -05:00
Hannes Rudolph
be69ef901e
Refactor: Remove line_count parameter from write_to_file tool (#9667) 2025-12-02 13:39:37 -05:00
Hannes Rudolph
933534896a
feat: add apply_patch native tool (#9663)
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-11-28 23:07:03 -05:00
Hannes Rudolph
e682c039de
feat: add search_and_replace tool for batch text replacements (#9549)
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-11-27 21:19:10 -07:00
Hannes Rudolph
9b5f6392df
Metadata‑driven subtasks (no UI changes): automatic parent resume and single‑open safety (#9090) 2025-11-27 21:18:42 -07:00
Daniel
d2d311e501
fix: race condition in new_task tool for native protocol (#9655)
The pendingNewTaskToolCallId was being set AFTER startSubtask() returned.
However, startSubtask() contains a 500ms delay during which the subtask
could complete. If the subtask completed during this window, completeSubtask()
would be called before pendingNewTaskToolCallId was set, causing it to
fall through to the XML protocol path and add a text message instead of
a proper tool_result block, breaking the API conversation structure.

This fix moves the pendingNewTaskToolCallId assignment to happen BEFORE
calling startSubtask(), ensuring the ID is set before the subtask starts.
If the subtask creation fails, the pending ID is cleared.
2025-11-27 12:30:55 -05:00
Daniel
4cdec7db8d
fix: create parent directories early in write_to_file to prevent ENOENT errors (#9640) 2025-11-26 19:53:10 -05:00
Daniel
b1765361dd
fix: defer new_task tool_result until subtask completes for native protocol (#9628) 2025-11-26 17:25:04 -05:00
Daniel
a8a44510d5
fix: restore content undefined check in WriteToFileTool.handlePartial() (#9614) 2025-11-26 11:16:47 -05:00
George Goranov
56c630ca92
Feature/bedrock embeddings support (#9475)
* feat: add AWS Bedrock support for codebase indexing

- Add bedrock as a new EmbedderProvider type
- Add AWS Bedrock embedding model profiles (titan-embed-text models)
- Create BedrockEmbedder class with support for Titan and Cohere models
- Add Bedrock configuration support to config manager and interfaces
- Update service factory to create BedrockEmbedder instances
- Add comprehensive tests for BedrockEmbedder
- Add localization strings for Bedrock support

Closes #8658

* fix: add missing bedrockOptions to loadConfiguration return type

* Fix various issues that the original PR missed.

* Remove debug logs

* Rename AWS Bedrock -> Amazon Bedrock

* Remove some 'as any's

* Revert README changes

* Add translations

* More translations

* Remove leftover code from a debugging session.

* fix: add bedrock to codebaseIndexModelsSchema and update brace-expansion override

- Add bedrock provider to codebaseIndexModelsSchema type definition to fix empty model dropdown in UI
- Update pnpm override for brace-expansion from '>=2.0.2' to '^2.0.2' to resolve ESM/CommonJS compatibility issues

* Improvements to AWS Bedrock embeddings support

- Enhanced bedrock.ts embedder implementation
- Added comprehensive test coverage in bedrock.spec.ts
- Updated config-manager.ts for better Bedrock configuration handling
- Improved service-factory.ts integration
- Updated embeddingModels.ts with Bedrock models
- Enhanced CodeIndexPopover.tsx UI for Bedrock options
- Added auto-populate test for CodeIndexPopover
- Updated pnpm-lock.yaml dependencies

* Restore openrouter config

* Remove debug log

* Fix config-manager.spec.ts unit test.

* Add translations for "optional"

* Revert unnecessary change related to open ia embedder

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: Smartsheet-JB-Brown <jb.brown@smartsheet.com>
2025-11-26 08:58:58 -05:00
Daniel
05f35735f0
feat: enable multiple native tool calls per turn with failure guardrails (#9273) 2025-11-25 20:21:13 -05:00
Matt Rubens
e4847ed8d9
Add support for images api (#9587) 2025-11-25 14:18:14 -05:00
Daniel
774b492eff
fix: preserve dynamic MCP tool names in native mode API history (#9559) 2025-11-25 13:16:34 -05:00
Daniel
8949c2f6fe
Fix ask_followup_question streaming issue and add missing tool cases (#9561) 2025-11-25 00:11:16 -05:00
Daniel
0327f12751
feat: implement streaming for native tool calls (#9542) 2025-11-24 23:12:39 -05:00
Matt Rubens
a8b366f3dd
Add Roo Code Cloud as an imagegen provider (#9528) 2025-11-24 15:11:35 -05:00
Hannes Rudolph
ee93530076
Browser Use 2.0 (#8941)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-11-21 17:26:15 -05:00