mirror of
https://github.com/pacnpal/Roo-Code.git
synced 2025-12-21 21:01:06 -05:00
Merge pull request #526 from RooVetGit/switch_mode_tool
Add a tool to switch modes
This commit is contained in:
@@ -181,6 +181,23 @@ I've updated the CSS
|
||||
<command>open index.html</command>
|
||||
</attempt_completion>
|
||||
|
||||
## switch_mode
|
||||
Description: Request to switch to a different mode. This tool allows modes to request switching to another mode when needed, such as switching to Code mode to make code changes. The user must approve the mode switch.
|
||||
Parameters:
|
||||
- mode_slug: (required) The slug of the mode to switch to (e.g., "code", "ask", "architect")
|
||||
- reason: (optional) The reason for switching modes
|
||||
Usage:
|
||||
<switch_mode>
|
||||
<mode_slug>Mode slug here</mode_slug>
|
||||
<reason>Reason for switching here</reason>
|
||||
</switch_mode>
|
||||
|
||||
Example: Requesting to switch to code mode
|
||||
<switch_mode>
|
||||
<mode_slug>code</mode_slug>
|
||||
<reason>Need to make code changes</reason>
|
||||
</switch_mode>
|
||||
|
||||
# Tool Use Guidelines
|
||||
|
||||
1. In <thinking> tags, assess what information you already have and what information you need to proceed with the task.
|
||||
@@ -469,6 +486,23 @@ I've updated the CSS
|
||||
<command>open index.html</command>
|
||||
</attempt_completion>
|
||||
|
||||
## switch_mode
|
||||
Description: Request to switch to a different mode. This tool allows modes to request switching to another mode when needed, such as switching to Code mode to make code changes. The user must approve the mode switch.
|
||||
Parameters:
|
||||
- mode_slug: (required) The slug of the mode to switch to (e.g., "code", "ask", "architect")
|
||||
- reason: (optional) The reason for switching modes
|
||||
Usage:
|
||||
<switch_mode>
|
||||
<mode_slug>Mode slug here</mode_slug>
|
||||
<reason>Reason for switching here</reason>
|
||||
</switch_mode>
|
||||
|
||||
Example: Requesting to switch to code mode
|
||||
<switch_mode>
|
||||
<mode_slug>code</mode_slug>
|
||||
<reason>Need to make code changes</reason>
|
||||
</switch_mode>
|
||||
|
||||
# Tool Use Guidelines
|
||||
|
||||
1. In <thinking> tags, assess what information you already have and what information you need to proceed with the task.
|
||||
@@ -757,6 +791,23 @@ I've updated the CSS
|
||||
<command>open index.html</command>
|
||||
</attempt_completion>
|
||||
|
||||
## switch_mode
|
||||
Description: Request to switch to a different mode. This tool allows modes to request switching to another mode when needed, such as switching to Code mode to make code changes. The user must approve the mode switch.
|
||||
Parameters:
|
||||
- mode_slug: (required) The slug of the mode to switch to (e.g., "code", "ask", "architect")
|
||||
- reason: (optional) The reason for switching modes
|
||||
Usage:
|
||||
<switch_mode>
|
||||
<mode_slug>Mode slug here</mode_slug>
|
||||
<reason>Reason for switching here</reason>
|
||||
</switch_mode>
|
||||
|
||||
Example: Requesting to switch to code mode
|
||||
<switch_mode>
|
||||
<mode_slug>code</mode_slug>
|
||||
<reason>Need to make code changes</reason>
|
||||
</switch_mode>
|
||||
|
||||
# Tool Use Guidelines
|
||||
|
||||
1. In <thinking> tags, assess what information you already have and what information you need to proceed with the task.
|
||||
@@ -1091,6 +1142,23 @@ I've updated the CSS
|
||||
<command>open index.html</command>
|
||||
</attempt_completion>
|
||||
|
||||
## switch_mode
|
||||
Description: Request to switch to a different mode. This tool allows modes to request switching to another mode when needed, such as switching to Code mode to make code changes. The user must approve the mode switch.
|
||||
Parameters:
|
||||
- mode_slug: (required) The slug of the mode to switch to (e.g., "code", "ask", "architect")
|
||||
- reason: (optional) The reason for switching modes
|
||||
Usage:
|
||||
<switch_mode>
|
||||
<mode_slug>Mode slug here</mode_slug>
|
||||
<reason>Reason for switching here</reason>
|
||||
</switch_mode>
|
||||
|
||||
Example: Requesting to switch to code mode
|
||||
<switch_mode>
|
||||
<mode_slug>code</mode_slug>
|
||||
<reason>Need to make code changes</reason>
|
||||
</switch_mode>
|
||||
|
||||
# Tool Use Guidelines
|
||||
|
||||
1. In <thinking> tags, assess what information you already have and what information you need to proceed with the task.
|
||||
@@ -1431,6 +1499,23 @@ I've updated the CSS
|
||||
<command>open index.html</command>
|
||||
</attempt_completion>
|
||||
|
||||
## switch_mode
|
||||
Description: Request to switch to a different mode. This tool allows modes to request switching to another mode when needed, such as switching to Code mode to make code changes. The user must approve the mode switch.
|
||||
Parameters:
|
||||
- mode_slug: (required) The slug of the mode to switch to (e.g., "code", "ask", "architect")
|
||||
- reason: (optional) The reason for switching modes
|
||||
Usage:
|
||||
<switch_mode>
|
||||
<mode_slug>Mode slug here</mode_slug>
|
||||
<reason>Reason for switching here</reason>
|
||||
</switch_mode>
|
||||
|
||||
Example: Requesting to switch to code mode
|
||||
<switch_mode>
|
||||
<mode_slug>code</mode_slug>
|
||||
<reason>Need to make code changes</reason>
|
||||
</switch_mode>
|
||||
|
||||
# Tool Use Guidelines
|
||||
|
||||
1. In <thinking> tags, assess what information you already have and what information you need to proceed with the task.
|
||||
@@ -2129,6 +2214,23 @@ I've updated the CSS
|
||||
<command>open index.html</command>
|
||||
</attempt_completion>
|
||||
|
||||
## switch_mode
|
||||
Description: Request to switch to a different mode. This tool allows modes to request switching to another mode when needed, such as switching to Code mode to make code changes. The user must approve the mode switch.
|
||||
Parameters:
|
||||
- mode_slug: (required) The slug of the mode to switch to (e.g., "code", "ask", "architect")
|
||||
- reason: (optional) The reason for switching modes
|
||||
Usage:
|
||||
<switch_mode>
|
||||
<mode_slug>Mode slug here</mode_slug>
|
||||
<reason>Reason for switching here</reason>
|
||||
</switch_mode>
|
||||
|
||||
Example: Requesting to switch to code mode
|
||||
<switch_mode>
|
||||
<mode_slug>code</mode_slug>
|
||||
<reason>Need to make code changes</reason>
|
||||
</switch_mode>
|
||||
|
||||
# Tool Use Guidelines
|
||||
|
||||
1. In <thinking> tags, assess what information you already have and what information you need to proceed with the task.
|
||||
@@ -2480,6 +2582,23 @@ I've updated the CSS
|
||||
<command>open index.html</command>
|
||||
</attempt_completion>
|
||||
|
||||
## switch_mode
|
||||
Description: Request to switch to a different mode. This tool allows modes to request switching to another mode when needed, such as switching to Code mode to make code changes. The user must approve the mode switch.
|
||||
Parameters:
|
||||
- mode_slug: (required) The slug of the mode to switch to (e.g., "code", "ask", "architect")
|
||||
- reason: (optional) The reason for switching modes
|
||||
Usage:
|
||||
<switch_mode>
|
||||
<mode_slug>Mode slug here</mode_slug>
|
||||
<reason>Reason for switching here</reason>
|
||||
</switch_mode>
|
||||
|
||||
Example: Requesting to switch to code mode
|
||||
<switch_mode>
|
||||
<mode_slug>code</mode_slug>
|
||||
<reason>Need to make code changes</reason>
|
||||
</switch_mode>
|
||||
|
||||
# Tool Use Guidelines
|
||||
|
||||
1. In <thinking> tags, assess what information you already have and what information you need to proceed with the task.
|
||||
@@ -2768,6 +2887,23 @@ I've updated the CSS
|
||||
<command>open index.html</command>
|
||||
</attempt_completion>
|
||||
|
||||
## switch_mode
|
||||
Description: Request to switch to a different mode. This tool allows modes to request switching to another mode when needed, such as switching to Code mode to make code changes. The user must approve the mode switch.
|
||||
Parameters:
|
||||
- mode_slug: (required) The slug of the mode to switch to (e.g., "code", "ask", "architect")
|
||||
- reason: (optional) The reason for switching modes
|
||||
Usage:
|
||||
<switch_mode>
|
||||
<mode_slug>Mode slug here</mode_slug>
|
||||
<reason>Reason for switching here</reason>
|
||||
</switch_mode>
|
||||
|
||||
Example: Requesting to switch to code mode
|
||||
<switch_mode>
|
||||
<mode_slug>code</mode_slug>
|
||||
<reason>Need to make code changes</reason>
|
||||
</switch_mode>
|
||||
|
||||
# Tool Use Guidelines
|
||||
|
||||
1. In <thinking> tags, assess what information you already have and what information you need to proceed with the task.
|
||||
@@ -3099,6 +3235,23 @@ I've updated the CSS
|
||||
<command>open index.html</command>
|
||||
</attempt_completion>
|
||||
|
||||
## switch_mode
|
||||
Description: Request to switch to a different mode. This tool allows modes to request switching to another mode when needed, such as switching to Code mode to make code changes. The user must approve the mode switch.
|
||||
Parameters:
|
||||
- mode_slug: (required) The slug of the mode to switch to (e.g., "code", "ask", "architect")
|
||||
- reason: (optional) The reason for switching modes
|
||||
Usage:
|
||||
<switch_mode>
|
||||
<mode_slug>Mode slug here</mode_slug>
|
||||
<reason>Reason for switching here</reason>
|
||||
</switch_mode>
|
||||
|
||||
Example: Requesting to switch to code mode
|
||||
<switch_mode>
|
||||
<mode_slug>code</mode_slug>
|
||||
<reason>Need to make code changes</reason>
|
||||
</switch_mode>
|
||||
|
||||
# Tool Use Guidelines
|
||||
|
||||
1. In <thinking> tags, assess what information you already have and what information you need to proceed with the task.
|
||||
@@ -3373,6 +3526,23 @@ I've updated the CSS
|
||||
<command>open index.html</command>
|
||||
</attempt_completion>
|
||||
|
||||
## switch_mode
|
||||
Description: Request to switch to a different mode. This tool allows modes to request switching to another mode when needed, such as switching to Code mode to make code changes. The user must approve the mode switch.
|
||||
Parameters:
|
||||
- mode_slug: (required) The slug of the mode to switch to (e.g., "code", "ask", "architect")
|
||||
- reason: (optional) The reason for switching modes
|
||||
Usage:
|
||||
<switch_mode>
|
||||
<mode_slug>Mode slug here</mode_slug>
|
||||
<reason>Reason for switching here</reason>
|
||||
</switch_mode>
|
||||
|
||||
Example: Requesting to switch to code mode
|
||||
<switch_mode>
|
||||
<mode_slug>code</mode_slug>
|
||||
<reason>Need to make code changes</reason>
|
||||
</switch_mode>
|
||||
|
||||
# Tool Use Guidelines
|
||||
|
||||
1. In <thinking> tags, assess what information you already have and what information you need to proceed with the task.
|
||||
|
||||
@@ -9,6 +9,7 @@ import { getAskFollowupQuestionDescription } from "./ask-followup-question"
|
||||
import { getAttemptCompletionDescription } from "./attempt-completion"
|
||||
import { getUseMcpToolDescription } from "./use-mcp-tool"
|
||||
import { getAccessMcpResourceDescription } from "./access-mcp-resource"
|
||||
import { getSwitchModeDescription } from "./switch-mode"
|
||||
import { DiffStrategy } from "../../diff/DiffStrategy"
|
||||
import { McpHub } from "../../../services/mcp/McpHub"
|
||||
import { Mode, ModeConfig, getModeConfig, isToolAllowedForMode, getGroupName } from "../../../shared/modes"
|
||||
@@ -28,6 +29,7 @@ const toolDescriptionMap: Record<string, (args: ToolArgs) => string | undefined>
|
||||
attempt_completion: () => getAttemptCompletionDescription(),
|
||||
use_mcp_tool: (args) => getUseMcpToolDescription(args),
|
||||
access_mcp_resource: (args) => getAccessMcpResourceDescription(args),
|
||||
switch_mode: () => getSwitchModeDescription(),
|
||||
apply_diff: (args) =>
|
||||
args.diffStrategy ? args.diffStrategy.getToolDescription({ cwd: args.cwd, toolOptions: args.toolOptions }) : "",
|
||||
}
|
||||
@@ -97,4 +99,5 @@ export {
|
||||
getAttemptCompletionDescription,
|
||||
getUseMcpToolDescription,
|
||||
getAccessMcpResourceDescription,
|
||||
getSwitchModeDescription,
|
||||
}
|
||||
|
||||
18
src/core/prompts/tools/switch-mode.ts
Normal file
18
src/core/prompts/tools/switch-mode.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
export function getSwitchModeDescription(): string {
|
||||
return `## switch_mode
|
||||
Description: Request to switch to a different mode. This tool allows modes to request switching to another mode when needed, such as switching to Code mode to make code changes. The user must approve the mode switch.
|
||||
Parameters:
|
||||
- mode_slug: (required) The slug of the mode to switch to (e.g., "code", "ask", "architect")
|
||||
- reason: (optional) The reason for switching modes
|
||||
Usage:
|
||||
<switch_mode>
|
||||
<mode_slug>Mode slug here</mode_slug>
|
||||
<reason>Reason for switching here</reason>
|
||||
</switch_mode>
|
||||
|
||||
Example: Requesting to switch to code mode
|
||||
<switch_mode>
|
||||
<mode_slug>code</mode_slug>
|
||||
<reason>Need to make code changes</reason>
|
||||
</switch_mode>`
|
||||
}
|
||||
Reference in New Issue
Block a user