fix: exclude XML tool examples from MODES section when native protocol enabled (#9367)

This commit is contained in:
Daniel 2025-11-18 15:48:37 -05:00 committed by GitHub
parent 045c2d6b3b
commit b0c254cf5a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
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,