diff --git a/src/constants/prompts.ts b/src/constants/prompts.ts index c85554219..433ac04f2 100644 --- a/src/constants/prompts.ts +++ b/src/constants/prompts.ts @@ -63,7 +63,6 @@ import { getAntModelOverrideConfig } from '../utils/model/antModels.js' import { isMcpInstructionsDeltaEnabled } from '../utils/mcpInstructionsDelta.js' import { BRIEF_PROACTIVE_SECTION as BRIEF_PROACTIVE_SECTION_VALUE } from '../tools/BriefTool/prompt.js' import * as proactiveModuleValue from '../proactive/index.js' -import * as briefToolModuleValue from '../tools/BriefTool/BriefTool.js' import { DISCOVER_SKILLS_TOOL_NAME as DISCOVER_SKILLS_TOOL_NAME_VALUE } from '../tools/DiscoverSkillsTool/prompt.js' import * as skillSearchFeatureCheckValue from '../services/skillSearch/featureCheck.js' @@ -81,10 +80,11 @@ const BRIEF_PROACTIVE_SECTION: string | null = feature('KAIROS') || feature('KAIROS_BRIEF') ? BRIEF_PROACTIVE_SECTION_VALUE : null -const briefToolModule = - feature('KAIROS') || feature('KAIROS_BRIEF') - ? briefToolModuleValue +function getBriefToolModule() { + return feature('KAIROS') || feature('KAIROS_BRIEF') + ? (require('../tools/BriefTool/BriefTool.js') as typeof import('../tools/BriefTool/BriefTool.js')) : null +} const DISCOVER_SKILLS_TOOL_NAME: string | null = feature( 'EXPERIMENTAL_SKILL_SEARCH', ) @@ -846,7 +846,7 @@ function getBriefSection(): string | null { // Whenever the tool is available, the model is told to use it. The // /brief toggle and --brief flag now only control the isBriefOnly // display filter — they no longer gate model-facing behavior. - if (!briefToolModule?.isBriefEnabled()) return null + if (!getBriefToolModule()?.isBriefEnabled()) return null // When proactive is active, getProactiveSection() already appends the // section inline. Skip here to avoid duplicating it in the system prompt. if ( @@ -910,5 +910,5 @@ Do not narrate each step, list every file you read, or explain routine actions. The user context may include a \`terminalFocus\` field indicating whether the user's terminal is focused or unfocused. Use this to calibrate how autonomous you are: - **Unfocused**: The user is away. Lean heavily into autonomous action — make decisions, explore, commit, push. Only pause for genuinely irreversible or high-risk actions. -- **Focused**: The user is watching. Be more collaborative — surface choices, ask before committing to large changes, and keep your output concise so it's easy to follow in real time.${BRIEF_PROACTIVE_SECTION && briefToolModule?.isBriefEnabled() ? `\n\n${BRIEF_PROACTIVE_SECTION}` : ''}` +- **Focused**: The user is watching. Be more collaborative — surface choices, ask before committing to large changes, and keep your output concise so it's easy to follow in real time.${BRIEF_PROACTIVE_SECTION && getBriefToolModule()?.isBriefEnabled() ? `\n\n${BRIEF_PROACTIVE_SECTION}` : ''}` }