fix: 修复 BriefTool 循环依赖导致 isBriefEnabled 未定义
将模块顶层 require() 改为懒加载函数 getBriefToolModule(),
延迟到实际调用时才加载模块,避免循环依赖时模块尚未完成初始化。
(cherry picked from commit d4a601475f)
This commit is contained in:
parent
f35fb02b23
commit
98c3deb2b6
|
|
@ -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}` : ''}`
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user