Commit graph

58 commits

Author SHA1 Message Date
Chris Estreich
c7139167ce
Move isToolAllowedForMode out of shared directory (#10089) 2025-12-15 02:18:08 -08: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
Daniel
5a6dd58fcb
feat: add model-specific tool customization via excludedTools and includedTools (#9641)
* feat: add model-specific tool customization via excludedTools and includedTools

- Add excludedTools and includedTools to ModelInfo schema
- Implement applyModelToolCustomization helper to filter tools based on model config
- Integrate model tool filtering into filterNativeToolsForMode for native protocol
- Add comprehensive tests for tool customization functionality
- Wire up modelInfo through buildNativeToolsArray and Task.ts

This allows providers to override which native tools are available on a per-model basis via MODEL_DEFAULTS, enabling better control over tool selection for models with specific needs.

* feat: add customTools for opt-in only tools

- Add customTools array to ToolGroupConfig for defining opt-in only tools
- Update getToolsForMode() to exclude customTools from default tool set
- Modify applyModelToolCustomization() to include customTools only via includedTools
- Add tests for customTools functionality
- Add comprehensive documentation with usage examples

customTools allows defining tools that are NOT available by default,
even when a mode includes their group. These tools are only available
when explicitly included via a model's includedTools configuration.

This enables:
- Gradual rollout of experimental tools
- Model-specific specialized capabilities
- Safe experimentation without affecting default tool sets

* Add assertions for customTools tests per review feedback

* test: add tests for including customTools via includedTools

* Update src/core/prompts/tools/__tests__/filter-tools-for-mode.spec.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-11-27 13:45:32 -05:00
Daniel
774b492eff
fix: preserve dynamic MCP tool names in native mode API history (#9559) 2025-11-25 13:16:34 -05:00
Chris Estreich
7f70145cb1
Expose default modes in @roo-code/types (#6184) 2025-07-24 22:13:40 -04:00
roomote[bot]
b1bc085aa6
Add todo list tool enable checkbox to provider advanced settings (#6032)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-07-21 23:27:28 -04:00
Hannes Rudolph
39b83070c3
feat: Enable dynamic tool selection in architect mode for context discovery (#5607)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-07-11 22:47:45 -04:00
Murilo Pires
9aa2e6ea54
Fix/issue 2897 mermaid syntax warning (#5530) 2025-07-11 17:46:38 -04:00
Roomote Bot
3289322734
fix: enforce file restrictions for all edit tools in architect mode (#5445) (#5447) 2025-07-08 16:49:25 -04:00
Matt Rubens
0606c56bf1
Make the default architect prompt create a todo list (#5472) 2025-07-08 13:59:48 -04:00
roomote
951f2d0fad
Fix #5294: Prevent Architect mode from providing time estimates (#5295)
* Fixes #5294: Add instruction to Architect mode to avoid time estimates

- Updated Architect mode custom instructions to explicitly prohibit providing time estimates
- Added clear guidance to focus on actionable plans without speculating about implementation timeframes
- Updated test snapshot to reflect the new instruction
- All tests passing

* More tweaks to prompt

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-07-01 09:42:46 -04:00
Hannes Rudolph
18c3f5dc33
feat: change default mode to architect for new installations (#5289)
* feat: change default mode to architect for new installations

- Reordered modes array to put architect mode first
- Updated test to reflect architect as the default mode
- Maintains backward compatibility for existing users

* test: update snapshots and fix tests for architect default mode

- Update all snapshot tests to reflect architect as the default mode
- Fix mode destructuring in validateToolUse tests
- All tests now pass with the new default mode configuration

* docs: add comment explaining mode ordering for default selection

Addresses PR review feedback to clarify that the first mode in the array
serves as the default for new installations

* fix: Update integration test to use lowercase mode name

The test was using 'Ask' (capitalized) but modes are now lowercase 'ask'.
This was causing the test to timeout as the mode validation failed.
2025-06-30 17:46:56 -04:00
Bruno Bergher
21dc57365e
Modes selector improvements (#4902)
Co-authored-by: Bruno Bergher <me@brunobergher.comexport>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-06-24 14:24:35 -04:00
Matt Rubens
befbebb8a4
Populate whenToUse for built-in modes (#4579) 2025-06-12 11:40:55 -04:00
ChuKhaLi
171307c2dc
fix: ensure correct precedence for roleDefinition and customInstructions when generating system prompt (#3791)
* fix: ensure correct precedence for roleDefinition and customInstructions

* Refactors mode selection logic for custom modes

Refactors the mode selection logic to prioritize custom modes
2025-05-28 13:23:49 -04:00
Chris Estreich
e66136f1aa
Add a new @roo-code/types package and use it everywhere (#3912) 2025-05-26 12:06:45 -07:00
Hannes Rudolph
4aa448b7e8
Refactor: Update custom instructions for 'ask' mode (#3583)
This commit refines the custom instructions for the 'ask' mode. The changes aim to provide clearer guidance to the AI, emphasizing thoroughness in answering questions and caution against prematurely switching to code implementation.

Specifically, the instructions were updated as follows:

- Changed "Make sure to answer the user's questions" to "Always answer the user’s questions thoroughly"
- Changed "don't rush to switch to implementing code" to "do not switch to implementing code unless explicitly requested by the user"
- Changed "Include Mermaid diagrams if they help make your response clearer" to "Include Mermaid diagrams when they clarify your response"

These changes are reflected in both [`src/shared/modes.ts`](src/shared/modes.ts:80) and its corresponding snapshot file [`src/core/prompts/__tests__/__snapshots__/system.test.ts.snap`](src/core/prompts/__tests__/__snapshots__/system.test.ts.snap:5458).
2025-05-13 20:10:48 -04:00
Matt Rubens
751afaa6ac
Add a 'when to use' section to mode definitions (#3571)
* Add a 'when to use' section to mode definitions

* Remove defaults for now
2025-05-13 18:39:02 -04:00
Hannes Rudolph
14afaca5fb
fix the built boomerang orchestrator mode to bring in line with origi… (#3081)
fix the built boomerang orchestrator mode to bring in line with original boomerang mode
2025-04-30 23:17:02 -04:00
Matt Rubens
a354c01b0e
Add Boomerang as a default mode (#2934)
* Add Boomerang as a default mode

* Rename boomerang, add emoji
2025-04-25 16:06:50 -04:00
Matt Rubens
fffebf1a2e
Remove experiment for append block (#2738)
* Remove experiment for append block

* Fix bugs in experiment lookups
2025-04-18 00:28:55 -04:00
Chris Estreich
471caff000
Clean up types related to tools (#2719) 2025-04-17 13:31:48 -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
Matt Rubens
00bf91470b Add i18n 2025-03-12 11:23:06 -04:00
Matt Rubens
baa346dc46 Remove preferredLanguage and just rely on VSCode language 2025-03-12 11:23:04 -04:00
Matt Rubens
c8b72fa730 Update ask prompt 2025-03-01 18:19:16 -05:00
Matt Rubens
65a2a2cbd1 Update architect prompt 2025-03-01 18:10:33 -05:00
Chris Estreich
1d3f5380a8 Move integration tests into its own module 2025-02-28 21:23:11 -08:00
Matt Rubens
6e55470155 Tweak the debug prompt 2025-02-22 00:06:48 -05:00
Matt Rubens
df46f60117 Power steering 2025-02-21 19:45:29 -05:00
Matt Rubens
c4bc1c0861 Add debugger mode 2025-02-21 19:45:29 -05:00
Matt Rubens
e66b0853b3 Make sure the agent knows about all available modes with the correct overrides 2025-02-15 01:13:21 -05:00
Matt Rubens
7c6fe52c80 Add support for project-specific .roomodes 2025-02-13 23:14:59 -05:00
Matt Rubens
5f3ff25d6b Disable writing in ask mode 2025-02-13 01:09:45 -05:00
Matt Rubens
5297cad5e2 Revert "Merge pull request #764 from RooVetGit/slash_switch_modes"
This reverts commit e3d7f25d26, reversing
changes made to 55e8170369.
2025-02-05 00:09:29 -05:00
Matt Rubens
97128bc144 Slash commands for switching modes 2025-02-04 01:08:53 -05:00
Matt Rubens
624c449fc1 Improve the prompts for Architect and Ask 2025-02-04 00:34:59 -05:00
Matt Rubens
55966146b3 Cleaner approach to prompt checkboxes 2025-02-03 10:39:01 -05:00
sam hoang
179ea7904b update with comment in pr 2025-01-28 21:06:37 +07:00
sam hoang
ad552ea026 feat: implement experimental features system
- Add experiments.ts to manage experimental features
- Refactor experimental diff strategy into experiments system
- Add UI components for managing experimental features
- Add tests for experimental tools
- Update system prompts to handle experiments
2025-01-28 21:06:33 +07:00
Matt Rubens
5d20477785 Throw FileRestrictionErrors sooner 2025-01-26 02:44:59 -05:00
Matt Rubens
5f8a8887fb Validation fixes 2025-01-24 12:46:10 -05:00
Matt Rubens
569e104bf2 Updated role definition for ask 2025-01-24 01:46:46 -05:00
Matt Rubens
7413d6494e Let ask mode write markdown too 2025-01-23 23:48:38 -05:00
Matt Rubens
4e77fb93bb Allow architect mode to write md files 2025-01-23 23:41:47 -05:00
sam hoang
f86e96d157 refactor: separate mode and support prompts
- Rename customPrompts to customModePrompts for mode-specific prompts
- Add new customSupportPrompts type for support action prompts
- Update types to be more specific (CustomModePrompts and CustomSupportPrompts)
- Fix all related tests and component implementations
2025-01-24 01:46:33 +07:00
sam hoang
22907a0578 refactor: consolidate prompt functionality into support-prompt module
- Move code action prompts from core/prompts to shared/support-prompt
- Migrate enhance prompt functionality from modes to support-prompt
- Add UI for managing code action prompts in PromptsView
- Update types and interfaces for better prompt management
2025-01-24 00:46:19 +07:00
Matt Rubens
b8e2dac2b9 Only allow usage of diff tool if enabled in settings 2025-01-21 18:35:14 -05:00
Matt Rubens
b8e0aa0cde Custom modes 2025-01-21 09:39:54 -05:00