fix: exclude XML tool examples from MODES section when native protocol enabled

This commit is contained in:
daniel-lxs 2025-11-18 14:49:34 -05:00
parent bb31b04dba
commit 4bd65f935a
No known key found for this signature in database
GPG key ID: 21C74479048B3AA6
2 changed files with 12 additions and 3 deletions

View file

@ -5,7 +5,10 @@ import type { ModeConfig } from "@roo-code/types"
import { getAllModesWithPrompts } from "../../../shared/modes"
import { ensureSettingsDirectoryExists } from "../../../utils/globalContext"
export async function getModesSection(context: vscode.ExtensionContext): Promise<string> {
export async function getModesSection(
context: vscode.ExtensionContext,
skipXmlExamples: boolean = false,
): Promise<string> {
// Make sure path gets created
await ensureSettingsDirectoryExists(context)
@ -31,12 +34,18 @@ ${allModes
})
.join("\n")}`
modesContent += `
if (!skipXmlExamples) {
modesContent += `
If the user asks you to create or edit a new mode for this project, you should read the instructions by using the fetch_instructions tool, like this:
<fetch_instructions>
<task>create_mode</task>
</fetch_instructions>
`
} else {
modesContent += `
If the user asks you to create or edit a new mode for this project, you should read the instructions by using the fetch_instructions tool.
`
}
return modesContent
}

View file

@ -86,7 +86,7 @@ async function generatePrompt(
const effectiveProtocol = getEffectiveProtocol(settings?.toolProtocol)
const [modesSection, mcpServersSection] = await Promise.all([
getModesSection(context),
getModesSection(context, isNativeProtocol(effectiveProtocol)),
shouldIncludeMcp
? getMcpServersSection(
mcpHub,