export const MANUAL_MODE_SYSTEM_EXTENSION = `
Manual mode is enabled. Do NOT use compress unless the user has explicitly triggered it through a manual marker.
Only use the compress tool after seeing \`\` in the current user instruction context.
Issue exactly ONE compress tool per manual trigger. Do NOT launch multiple compress tools in parallel. Each trigger grants a single compression; after it completes, wait for the next trigger.
After completing a manually triggered context-management action, STOP IMMEDIATELY. Do NOT continue with any task execution. End your response right after the tool use completes and wait for the next user input.
`
export const SUBAGENT_SYSTEM_EXTENSION = `
You are operating in a subagent environment.
The initial subagent instruction is imperative and must be followed exactly.
It is the only user message intentionally not assigned a message ID, and therefore is not eligible for compression.
All subsequent messages in the session will have IDs.
`
export function buildProtectedToolsExtension(protectedTools: string[]): string {
if (protectedTools.length === 0) {
return ""
}
const toolList = protectedTools.map((t) => `\`${t}\``).join(", ")
return `
The following tools are environment-managed: ${toolList}.
Their outputs are automatically preserved during compression.
Do not include their content in compress tool summaries — the environment retains it independently.
`
}