@zooique/memora 4.0.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +235 -1743
- package/README.en.md +43 -36
- package/README.md +308 -303
- package/dist/agent/agent.d.ts +46 -82
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +153 -220
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/assembler.d.ts +3 -16
- package/dist/agent/assembler.d.ts.map +1 -1
- package/dist/agent/assembler.js +76 -47
- package/dist/agent/assembler.js.map +1 -1
- package/dist/agent/backgroundTasks.d.ts +8 -1
- package/dist/agent/backgroundTasks.d.ts.map +1 -1
- package/dist/agent/backgroundTasks.js +8 -1
- package/dist/agent/backgroundTasks.js.map +1 -1
- package/dist/agent/budget.d.ts +23 -5
- package/dist/agent/budget.d.ts.map +1 -1
- package/dist/agent/budget.js +8 -2
- package/dist/agent/budget.js.map +1 -1
- package/dist/agent/builtinToolHandlers.d.ts +50 -10
- package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
- package/dist/agent/builtinToolHandlers.js +67 -20
- package/dist/agent/builtinToolHandlers.js.map +1 -1
- package/dist/agent/builtinTools.d.ts +16 -0
- package/dist/agent/builtinTools.d.ts.map +1 -1
- package/dist/agent/builtinTools.js +15 -4
- package/dist/agent/builtinTools.js.map +1 -1
- package/dist/agent/constants.d.ts +0 -6
- package/dist/agent/constants.d.ts.map +1 -1
- package/dist/agent/constants.js +7 -8
- package/dist/agent/constants.js.map +1 -1
- package/dist/agent/contextManager.d.ts +8 -0
- package/dist/agent/contextManager.d.ts.map +1 -1
- package/dist/agent/contextManager.js +45 -3
- package/dist/agent/contextManager.js.map +1 -1
- package/dist/agent/contextPreparer.d.ts +1 -1
- package/dist/agent/contextPreparer.d.ts.map +1 -1
- package/dist/agent/contextPreparer.js +15 -10
- package/dist/agent/contextPreparer.js.map +1 -1
- package/dist/agent/guardRail.d.ts +25 -10
- package/dist/agent/guardRail.d.ts.map +1 -1
- package/dist/agent/guardRail.js +154 -46
- package/dist/agent/guardRail.js.map +1 -1
- package/dist/agent/loop.d.ts +46 -13
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +145 -32
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/managers/archiveCoordinator.d.ts +15 -3
- package/dist/agent/managers/archiveCoordinator.d.ts.map +1 -1
- package/dist/agent/managers/archiveCoordinator.js +13 -7
- package/dist/agent/managers/archiveCoordinator.js.map +1 -1
- package/dist/agent/managers/chatLockManager.d.ts +3 -9
- package/dist/agent/managers/chatLockManager.d.ts.map +1 -1
- package/dist/agent/managers/chatLockManager.js +7 -25
- package/dist/agent/managers/chatLockManager.js.map +1 -1
- package/dist/agent/managers/llmCaller.d.ts.map +1 -1
- package/dist/agent/managers/llmCaller.js +27 -1
- package/dist/agent/managers/llmCaller.js.map +1 -1
- package/dist/agent/managers/memoryInspector.d.ts +12 -7
- package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
- package/dist/agent/managers/memoryInspector.js +32 -19
- package/dist/agent/managers/memoryInspector.js.map +1 -1
- package/dist/agent/managers/roundSummaryGenerator.d.ts +3 -1
- package/dist/agent/managers/roundSummaryGenerator.d.ts.map +1 -1
- package/dist/agent/managers/roundSummaryGenerator.js +14 -4
- package/dist/agent/managers/roundSummaryGenerator.js.map +1 -1
- package/dist/agent/managers/sessionArchiver.d.ts +20 -6
- package/dist/agent/managers/sessionArchiver.d.ts.map +1 -1
- package/dist/agent/managers/sessionArchiver.js +19 -5
- package/dist/agent/managers/sessionArchiver.js.map +1 -1
- package/dist/agent/managers/sessionManager.d.ts +21 -88
- package/dist/agent/managers/sessionManager.d.ts.map +1 -1
- package/dist/agent/managers/sessionManager.js +77 -278
- package/dist/agent/managers/sessionManager.js.map +1 -1
- package/dist/agent/seed/orchestrator.d.ts.map +1 -1
- package/dist/agent/seed/orchestrator.js +3 -3
- package/dist/agent/seed/orchestrator.js.map +1 -1
- package/dist/agent/seed/prepare.d.ts.map +1 -1
- package/dist/agent/seed/prepare.js +9 -4
- package/dist/agent/seed/prepare.js.map +1 -1
- package/dist/agent/seed/types.d.ts +11 -4
- package/dist/agent/seed/types.d.ts.map +1 -1
- package/dist/agent/seed/types.js +2 -2
- package/dist/agent/toolExecutor.d.ts +69 -18
- package/dist/agent/toolExecutor.d.ts.map +1 -1
- package/dist/agent/toolExecutor.js +188 -28
- package/dist/agent/toolExecutor.js.map +1 -1
- package/dist/agent/toolResultCache.js +1 -1
- package/dist/agent/toolRunner.d.ts +4 -2
- package/dist/agent/toolRunner.d.ts.map +1 -1
- package/dist/agent/toolRunner.js +7 -4
- package/dist/agent/toolRunner.js.map +1 -1
- package/dist/agent/types.d.ts +8 -25
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/index.d.ts +9 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -32
- package/dist/index.js.map +1 -1
- package/dist/logging/logger.d.ts +4 -1
- package/dist/logging/logger.d.ts.map +1 -1
- package/dist/logging/logger.js +5 -2
- package/dist/logging/logger.js.map +1 -1
- package/dist/memory/gcService.d.ts.map +1 -1
- package/dist/memory/gcService.js +3 -5
- package/dist/memory/gcService.js.map +1 -1
- package/dist/memory/inMemorySessionStore.d.ts +2 -2
- package/dist/memory/inMemorySessionStore.js +2 -2
- package/dist/memory/inMemoryStorage.d.ts +4 -3
- package/dist/memory/inMemoryStorage.d.ts.map +1 -1
- package/dist/memory/inMemoryStorage.js +2 -2
- package/dist/memory/inMemoryStorage.js.map +1 -1
- package/dist/memory/nodeSqliteStorage.d.ts +17 -0
- package/dist/memory/nodeSqliteStorage.d.ts.map +1 -0
- package/dist/memory/nodeSqliteStorage.js +393 -0
- package/dist/memory/nodeSqliteStorage.js.map +1 -0
- package/dist/memory/projectManager.d.ts +10 -20
- package/dist/memory/projectManager.d.ts.map +1 -1
- package/dist/memory/projectManager.js +27 -41
- package/dist/memory/projectManager.js.map +1 -1
- package/dist/memory/roundStore.d.ts +76 -1
- package/dist/memory/roundStore.d.ts.map +1 -1
- package/dist/memory/roundStore.js.map +1 -1
- package/dist/memory/roundSummaryLookup.d.ts +26 -0
- package/dist/memory/roundSummaryLookup.d.ts.map +1 -0
- package/dist/memory/roundSummaryLookup.js +19 -0
- package/dist/memory/roundSummaryLookup.js.map +1 -0
- package/dist/memory/sessionStore.d.ts +19 -2
- package/dist/memory/sessionStore.d.ts.map +1 -1
- package/dist/memory/sessionStore.js.map +1 -1
- package/dist/memory/sourceValidation.d.ts +2 -13
- package/dist/memory/sourceValidation.d.ts.map +1 -1
- package/dist/memory/sourceValidation.js +5 -16
- package/dist/memory/sourceValidation.js.map +1 -1
- package/dist/memory/storageInterface.d.ts +26 -16
- package/dist/memory/storageInterface.d.ts.map +1 -1
- package/dist/memory/supersedeResolve.d.ts +39 -0
- package/dist/memory/supersedeResolve.d.ts.map +1 -0
- package/dist/memory/supersedeResolve.js +16 -0
- package/dist/memory/supersedeResolve.js.map +1 -0
- package/dist/memory/types.d.ts +3 -2
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js +2 -1
- package/dist/memory/types.js.map +1 -1
- package/dist/role-pack/rolePackManager.d.ts +33 -24
- package/dist/role-pack/rolePackManager.d.ts.map +1 -1
- package/dist/role-pack/rolePackManager.js +48 -42
- package/dist/role-pack/rolePackManager.js.map +1 -1
- package/dist/role-pack/strategyKeys.d.ts +8 -0
- package/dist/role-pack/strategyKeys.d.ts.map +1 -1
- package/dist/role-pack/strategyKeys.js +10 -0
- package/dist/role-pack/strategyKeys.js.map +1 -1
- package/dist/role-pack/strategyResolver.d.ts +6 -1
- package/dist/role-pack/strategyResolver.d.ts.map +1 -1
- package/dist/role-pack/strategyResolver.js +20 -2
- package/dist/role-pack/strategyResolver.js.map +1 -1
- package/dist/role-pack/types.d.ts +5 -1
- package/dist/role-pack/types.d.ts.map +1 -1
- package/dist/security/confirmEntries.d.ts +21 -6
- package/dist/security/confirmEntries.d.ts.map +1 -1
- package/dist/security/confirmEntries.js +21 -6
- package/dist/security/confirmEntries.js.map +1 -1
- package/dist/security/pathGuard.d.ts +44 -10
- package/dist/security/pathGuard.d.ts.map +1 -1
- package/dist/security/pathGuard.js +70 -10
- package/dist/security/pathGuard.js.map +1 -1
- package/dist/utils/backgroundTask.d.ts +56 -34
- package/dist/utils/backgroundTask.d.ts.map +1 -1
- package/dist/utils/backgroundTask.js +130 -99
- package/dist/utils/backgroundTask.js.map +1 -1
- package/dist/utils/errors.d.ts +3 -2
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +3 -2
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/eventEmitter.d.ts +20 -22
- package/dist/utils/eventEmitter.d.ts.map +1 -1
- package/dist/utils/eventEmitter.js +0 -3
- package/dist/utils/eventEmitter.js.map +1 -1
- package/dist/utils/time.d.ts +3 -3
- package/dist/utils/time.d.ts.map +1 -1
- package/dist/utils/time.js +3 -3
- package/dist/utils/time.js.map +1 -1
- package/dist/utils/toError.d.ts +1 -1
- package/dist/utils/toError.js +1 -1
- package/dist/web-fetch/loginWall.d.ts +39 -0
- package/dist/web-fetch/loginWall.d.ts.map +1 -0
- package/dist/web-fetch/loginWall.js +78 -0
- package/dist/web-fetch/loginWall.js.map +1 -0
- package/dist/web-fetch/types.d.ts +8 -0
- package/dist/web-fetch/types.d.ts.map +1 -1
- package/dist/web-fetch/webFetchProvider.d.ts.map +1 -1
- package/dist/web-fetch/webFetchProvider.js +3 -1
- package/dist/web-fetch/webFetchProvider.js.map +1 -1
- package/dist/web-search/fetchWebSearchProvider.js +28 -23
- package/dist/web-search/fetchWebSearchProvider.js.map +1 -1
- package/docs/architecture/role-pack-authoring-guide.md +7 -1
- package/docs/architecture/role-pack-spec.md +11 -6
- package/docs/memora-api-reference.md +1354 -1276
- package/docs/memora-/345/215/207/347/272/247/346/214/207/345/215/227-4.x-/345/210/260-5.0.0.md +385 -0
- package/docs/memora-/346/216/245/345/205/245/346/214/207/345/215/227.md +89 -49
- package/docs/role-pack-/345/274/200/346/224/276/351/224/256/346/214/207/345/215/227.md +148 -148
- package/package.json +13 -4
- package/role-packs/README.md +41 -40
- package/role-packs/memora/345/212/251/346/211/213/rules.md +5 -4
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/manifest.json +1 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/persona.md +46 -46
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/rules.md +17 -16
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/emotion-wave.md +46 -46
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/foreshadow.md +29 -29
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/outline-expand.md +73 -48
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/project-init/scripts/init-novel-project.mjs +445 -441
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/story-bible.md +62 -62
- package/role-packs//347/231/275/350/257/235/346/226/271/346/241/210/350/256/276/350/256/241/345/270/210/manifest.json +1 -0
- package/role-packs//347/231/275/350/257/235/346/226/271/346/241/210/350/256/276/350/256/241/345/270/210/rules.md +2 -1
- package/dist/agent/managers/dedupManager.d.ts +0 -85
- package/dist/agent/managers/dedupManager.d.ts.map +0 -1
- package/dist/agent/managers/dedupManager.js +0 -248
- package/dist/agent/managers/dedupManager.js.map +0 -1
- package/dist/agent/managers/goalConsistencyChecker.d.ts +0 -42
- package/dist/agent/managers/goalConsistencyChecker.d.ts.map +0 -1
- package/dist/agent/managers/goalConsistencyChecker.js +0 -178
- package/dist/agent/managers/goalConsistencyChecker.js.map +0 -1
- package/dist/agent/managers/llmJudgeHelper.d.ts +0 -21
- package/dist/agent/managers/llmJudgeHelper.d.ts.map +0 -1
- package/dist/agent/managers/llmJudgeHelper.js +0 -32
- package/dist/agent/managers/llmJudgeHelper.js.map +0 -1
- package/dist/agent/managers/memoryAdvisor.d.ts +0 -105
- package/dist/agent/managers/memoryAdvisor.d.ts.map +0 -1
- package/dist/agent/managers/memoryAdvisor.js +0 -322
- package/dist/agent/managers/memoryAdvisor.js.map +0 -1
- package/dist/agent/managers/memoryGovernance.d.ts +0 -24
- package/dist/agent/managers/memoryGovernance.d.ts.map +0 -1
- package/dist/agent/managers/memoryGovernance.js +0 -46
- package/dist/agent/managers/memoryGovernance.js.map +0 -1
- package/dist/memory/governance.d.ts +0 -17
- package/dist/memory/governance.d.ts.map +0 -1
- package/dist/memory/governance.js +0 -17
- package/dist/memory/governance.js.map +0 -1
- package/dist/memory/projectRegistry.d.ts +0 -47
- package/dist/memory/projectRegistry.d.ts.map +0 -1
- package/dist/memory/projectRegistry.js +0 -151
- package/dist/memory/projectRegistry.js.map +0 -1
- package/dist/utils/recallDefaults.d.ts +0 -16
- package/dist/utils/recallDefaults.d.ts.map +0 -1
- package/dist/utils/recallDefaults.js +0 -16
- package/dist/utils/recallDefaults.js.map +0 -1
package/dist/agent/loop.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
import type { LlmProvider, Message, ChatOptions } from '../llm/provider.js';
|
|
13
13
|
import type { ProviderRouter } from '../llm/types.js';
|
|
14
14
|
import type { Memory } from '../memory/types.js';
|
|
15
|
-
import type { ToolDefinition } from '../agent/toolExecutor.js';
|
|
15
|
+
import type { ToolDefinition, WebSearchExecInfo } from '../agent/toolExecutor.js';
|
|
16
16
|
import type { AgentChunk, UIMessages, PreExecutionResult, AskQuestion } from '../agent/types.js';
|
|
17
17
|
import type { ITracer, AgentMetrics } from '../agent/tracer.js';
|
|
18
18
|
import type { ContextBudget, ContextOccupancy } from '../agent/budget.js';
|
|
@@ -20,6 +20,7 @@ import type { ICompactionStrategy } from '../agent/compaction.js';
|
|
|
20
20
|
import type { ToolOutcome } from '../agent/managers/toolCallHelpers.js';
|
|
21
21
|
import type { DuplicateCallInterceptor } from '../agent/types.js';
|
|
22
22
|
import type { RoundEvidenceEvent } from '../memory/roundStore.js';
|
|
23
|
+
import type { AgentEventMap } from '../utils/eventEmitter.js';
|
|
23
24
|
import type { L2RuntimeStrategy } from '../role-pack/types.js';
|
|
24
25
|
import { type BackgroundTask, type BackgroundTaskRegistry, type SettledBackgroundTask } from '../agent/backgroundTasks.js';
|
|
25
26
|
export interface AgentLoopOptions {
|
|
@@ -30,8 +31,9 @@ export interface AgentLoopOptions {
|
|
|
30
31
|
/**
|
|
31
32
|
* 工具执行入口(装配层注入)。
|
|
32
33
|
* 第 3 参 emitOutcome:已切族工具产出原生结构化 outcome 的通道(透传至 toolExecutor.execute)。
|
|
34
|
+
* 第 4 参 toolCallId:本次工具调用唯一 ID(web_search 证据配对通道,透传至 toolExecutor.execute)。
|
|
33
35
|
*/
|
|
34
|
-
toolExecutor: (name: string, args: string, emitOutcome?: (outcome: ToolOutcome) => void) => Promise<string>;
|
|
36
|
+
toolExecutor: (name: string, args: string, emitOutcome?: (outcome: ToolOutcome) => void, toolCallId?: string) => Promise<string>;
|
|
35
37
|
maxIterations?: number;
|
|
36
38
|
/** 系统 prompt 前缀(角色包 prompt),注入到 bootstrap 记忆之前 */
|
|
37
39
|
systemPromptPrefix?: string;
|
|
@@ -266,7 +268,7 @@ export declare class AgentLoop {
|
|
|
266
268
|
private toolExecutedThisTurn;
|
|
267
269
|
/** 当前轮次 ID(processUserInput 入口分配一次,各 iteration 共享),用于溯源式摘要 */
|
|
268
270
|
private currentRoundId;
|
|
269
|
-
/** 是否正处于自主工具步执行中(内核自用:resumeExecution
|
|
271
|
+
/** 是否正处于自主工具步执行中(内核自用:resumeExecution 预判短路;宿主零消费) */
|
|
270
272
|
private inAutonomousStep;
|
|
271
273
|
/** step 边界回调——每次迭代(=step)完成时调用(传 assistant 摘要)。消费方(assembler 实现)
|
|
272
274
|
* 经 logPlanItemBoundary 写 planItemLog 关联当前 active 任务项(时间轴投影)——
|
|
@@ -385,7 +387,7 @@ export declare class AgentLoop {
|
|
|
385
387
|
* @param genFn 生成迭代器的工厂函数(惰性求值:在 try 块内调用,保证异常被 catch)
|
|
386
388
|
*/
|
|
387
389
|
private _runWithSlo;
|
|
388
|
-
/** 是否正处于自主工具步执行中(消费者 = agent.ts
|
|
390
|
+
/** 是否正处于自主工具步执行中(消费者 = agent.ts 预判短路,内核内部) */
|
|
389
391
|
get isInAutonomousStep(): boolean;
|
|
390
392
|
/**
|
|
391
393
|
* 给子生成器的每个 chunk 附加当前 turn roundId(SSOT:过程事件归属由内核唯一提供)。
|
|
@@ -684,7 +686,8 @@ export declare class AgentLoop {
|
|
|
684
686
|
/**
|
|
685
687
|
* 回答在途提问(宿主在用户作答后调用,随后 continueAfterPause() 续跑):
|
|
686
688
|
* 答案以 ask_user 工具的 tool result 回填(<tool_result> 包裹防注入,与 assistant.tool_calls 配对)。
|
|
687
|
-
* answers
|
|
689
|
+
* answers 与提问按序一对一;**不足的部分落 `[ASK_ABORTED]`「未回答」占位,不复用别题答案**。
|
|
690
|
+
* 返回 false 表示无在途提问。
|
|
688
691
|
*/
|
|
689
692
|
answerQuestion(answers: readonly string[]): boolean;
|
|
690
693
|
/**
|
|
@@ -899,18 +902,26 @@ export declare class AgentLoop {
|
|
|
899
902
|
*/
|
|
900
903
|
recordOccupancy(occupancy: ContextOccupancy): void;
|
|
901
904
|
/**
|
|
902
|
-
*
|
|
905
|
+
* 动态注入占用(`messages[0]` 之外的 system 消息)token 估算。
|
|
906
|
+
*
|
|
907
|
+
* 单一真理源 = `this.messages`:最近对话块 / 情报区 / 任务表 / 软上限与压力提示 /
|
|
908
|
+
* 搜索收敛提示 / 反思与自审查提示等运行时注入,皆以 system 消息落在 index > 0。
|
|
909
|
+
* 占用快照把它计入「动态注入」段(P1-1 修复)——此前该段未计入任何分段、被静默算进 free,
|
|
910
|
+
* 导致指示器偏乐观。与对话段共用同一估算器(SSOT)。
|
|
911
|
+
*/
|
|
912
|
+
getDynamicSystemTokens(): number;
|
|
913
|
+
/**
|
|
914
|
+
* 随工作记忆实时刷新占用快照中「由 messages 派生」的两段(预算可视化 · 输入区常驻指示器)。
|
|
903
915
|
*
|
|
904
916
|
* occupancy 主体在 prepare 期 record(见 contextPreparer),但 prepare 发生在 assistant
|
|
905
|
-
*
|
|
906
|
-
*
|
|
907
|
-
*
|
|
908
|
-
*
|
|
909
|
-
* 其余段(rolePackBase/memory/inputAnchor/outputReserve)沿用 prepare 快照,不重算
|
|
917
|
+
* 生成前,且动态 system 注入在 prepare 之后陆续发生,故两段须在写入口以最新 this.messages 重算:
|
|
918
|
+
* dialogue = 全量 user+assistant 估算(容量诚实统计问答闭环总和)
|
|
919
|
+
* dynamicSystem = `messages[0]` 之外的 system 消息估算(见 getDynamicSystemTokens)
|
|
920
|
+
* 其余段(rolePackBase/inputAnchor/outputReserve)沿用 prepare 快照,不重算
|
|
910
921
|
* (守 SSOT:宿主只透传,内核单一真相源)。
|
|
911
922
|
* 幂等:无快照时 no-op(如首轮 prepare 尚未发生)。
|
|
912
923
|
*/
|
|
913
|
-
private
|
|
924
|
+
private refreshOccupancyFromMessages;
|
|
914
925
|
/**
|
|
915
926
|
* 写入当前激活角色包底盘占用(system prompt 总体 token)。
|
|
916
927
|
* 装配 / 切换角色包时调用(早于 prepare),使冷启动 / 重启首屏即可显示真实占比;
|
|
@@ -971,6 +982,28 @@ export declare class AgentLoop {
|
|
|
971
982
|
};
|
|
972
983
|
/** 获取当前轮次 ID(processUserInput 入口分配,多 iteration 共享),空串表示无活动轮次 */
|
|
973
984
|
getCurrentRoundId(): string;
|
|
985
|
+
/**
|
|
986
|
+
* 记录 web_search 执行证据(悬案取证轨写点,SEARCH-QUALITY-1 P1-1 观测留痕)
|
|
987
|
+
*
|
|
988
|
+
* 驱动方 = 装配层接线 `toolExec.setSearchResultObserver`(toolExecutor 观察到的执行事实
|
|
989
|
+
* 镜像过来)。ts/meetingRound 构造归 loop(isMeetingRound 私有,与其余三个写点同构);
|
|
990
|
+
* 载荷透传不加工(toolCallId/query/endpoint/count/titles 就是 toolExecutor 看到的原样)。
|
|
991
|
+
* 回答「搜不准」争议的第一现场:结果页之外,query 本身 + 端点 + 结果面落盘可裁。
|
|
992
|
+
* 护栏硬拦的搜索不走此路(拦截即未执行,无结果面;拦截事实已在 tool 消息可见)。
|
|
993
|
+
*/
|
|
994
|
+
recordWebSearchEvidence(info: WebSearchExecInfo): void;
|
|
995
|
+
/**
|
|
996
|
+
* 记录 search_memories 命中明细证据(MEM-EVENT-3:实时事件的落盘副本)
|
|
997
|
+
*
|
|
998
|
+
* 驱动方 = 装配层同一处 `setOnMemoryRecalled` 接线(事件广播 + 证据落盘同源一次发射)——
|
|
999
|
+
* 不新造第二个观测通道,也不在宿主侧二次拼装。
|
|
1000
|
+
* 动机:`memoryRecalled` 是实时专属事件(不进 processEvents),宿主重放历史轮无数据源
|
|
1001
|
+
* ⇒ 命中明细整块消失,「这轮参考了哪几条记忆」回看时不可考。落盘副本让重放可重建。
|
|
1002
|
+
*
|
|
1003
|
+
* 载荷透传不加工(id/name/source 就是搜索结果的现成三字段);无命中不落盘——内核
|
|
1004
|
+
* `memoryRecalled` 本就只在有命中时发射,证据轨不为「查了但没查到」另造路径。
|
|
1005
|
+
*/
|
|
1006
|
+
recordMemoryHitsEvidence(info: AgentEventMap['memoryRecalled']): void;
|
|
974
1007
|
/** 设置当前轮次 ID(appendUser 在 processUserInput 之前调用,故需提前生成供 RoundSummaryGenerator 使用) */
|
|
975
1008
|
setCurrentRoundId(roundId: string): void;
|
|
976
1009
|
/** 分配新轮次 ID(SSOT:prepare 提前生成与 processUserInput 回退生成共用唯一出处,避免 round-模板串重复漂移) */
|
|
@@ -999,7 +1032,7 @@ export declare class AgentLoop {
|
|
|
999
1032
|
private cleanExecutionTemporary;
|
|
1000
1033
|
/** 追加一条 user 消息(统一 <user_input> 标签包裹,防注入攻击);附当前轮次 roundId(替换式压缩单一真理源) */
|
|
1001
1034
|
private appendUserMessage;
|
|
1002
|
-
/** 追加一条 system
|
|
1035
|
+
/** 追加一条 system 消息(技能注入、最近对话块、任务表、自审查提示等通用注入通道) */
|
|
1003
1036
|
private appendSystemMessage;
|
|
1004
1037
|
/** 会议轮判据(裁决证据用,操作化单点):任务表 active 任务项声明 rolePack = 会议逐项切换生效中 */
|
|
1005
1038
|
private isMeetingRound;
|
package/dist/agent/loop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/loop.js
CHANGED
|
@@ -17,7 +17,7 @@ import { LlmCaller } from '../agent/managers/llmCaller.js';
|
|
|
17
17
|
import { LoopMetrics } from '../agent/managers/loopMetrics.js';
|
|
18
18
|
import { DefaultDuplicateCallInterceptor } from '../agent/duplicateInterceptor.js';
|
|
19
19
|
import { ToolResultCache, DEDUP_SUBJECT_EXTRACTORS, WRITE_PATH_EXTRACTORS, normalizePathKey, } from '../agent/toolResultCache.js';
|
|
20
|
-
import { createDefaultGuards, GUARD_THRESHOLDS } from '../agent/guardRail.js';
|
|
20
|
+
import { createDefaultGuards, GUARD_THRESHOLDS, } from '../agent/guardRail.js';
|
|
21
21
|
import { FileExposureLedger, parseReadFileCoverage, formatLedgerStub, formatLedgerStubRange, shouldEchoLedgerStub, READ_DIGEST_CHARS, READ_FILE_NOTICE_PREFIX, } from '../agent/toolLedger.js';
|
|
22
22
|
import { nowIso } from '../utils/time.js';
|
|
23
23
|
import { DEFAULT_L2_STRATEGY } from '../role-pack/strategyResolver.js';
|
|
@@ -62,9 +62,9 @@ function parseCompressTarget(raw) {
|
|
|
62
62
|
* - 中断/暂停(interruptQueue + _handleInterrupt + interject 追加用户消息、step 边界 yield paused)
|
|
63
63
|
* 与 sessionStateMachine 的「纯三态 + pendingPause」语义不同源(后者不承载 interject 追加与
|
|
64
64
|
* step 边界产出)——不并入,维持 loop 自持。
|
|
65
|
-
* - 消息写入口(append* / clean* + 观测埋点 recordBudget/recordOccupancy/
|
|
65
|
+
* - 消息写入口(append* / clean* + 观测埋点 recordBudget/recordOccupancy/refreshOccupancyFromMessages)同判
|
|
66
66
|
* 不拆:写入口持有 messages / currentRoundId / executionTempSystem / offloadDir 四项 loop 私有状态,
|
|
67
|
-
* 并回调
|
|
67
|
+
* 并回调 refreshOccupancyFromMessages(**写消息→触发观测,跨域**),不满足 progressive-refactor-rules
|
|
68
68
|
* §2.2 模式 B「职责正交(不共享状态 / 不互相调用)」前提;模式 A(领域容器提取)只搬字段不搬逻辑,
|
|
69
69
|
* 收益不足以覆盖改点面。保留监控,待自然生长触发。
|
|
70
70
|
* - 搜索生命周期:软上限/硬上限混沌形同构但为**同一意图的三级级联**——
|
|
@@ -81,6 +81,11 @@ function parseCompressTarget(raw) {
|
|
|
81
81
|
const INTEL_INTRO = '[情报区 · 仅供你私有查看并作为后续作答的参考]。此区内容不要向用户复述或写进项目文档。' +
|
|
82
82
|
'当你从大文本/工具结果获取到新的关键信息时,可用一句简短状态反馈用户进展(如:原来是这样… / 掌握了关键信息 / ' +
|
|
83
83
|
'有一个问题… / 基本收集完毕),但不要在反馈中复述笔记/原文细节。';
|
|
84
|
+
/** 「用户未回答该提问」占位 tool 结果(单一载体):
|
|
85
|
+
* 消费点二——`cancelAsk`(整批跳过/超时未答)与 `answerQuestion`(**部分**题缺答案)。
|
|
86
|
+
* 两处共一常量而非各写字面量:改一处漏一处会让「未回答」这一事实在一条路径上失真,
|
|
87
|
+
* 而该事实直接进 LLM 决策上下文(静默失效、无报错)。 */
|
|
88
|
+
const ASK_ABORTED_RESULT = '[ASK_ABORTED] 用户未回答该提问';
|
|
84
89
|
export class AgentLoop {
|
|
85
90
|
opts;
|
|
86
91
|
messages = [];
|
|
@@ -229,7 +234,7 @@ export class AgentLoop {
|
|
|
229
234
|
toolExecutedThisTurn = false;
|
|
230
235
|
/** 当前轮次 ID(processUserInput 入口分配一次,各 iteration 共享),用于溯源式摘要 */
|
|
231
236
|
currentRoundId = '';
|
|
232
|
-
/** 是否正处于自主工具步执行中(内核自用:resumeExecution
|
|
237
|
+
/** 是否正处于自主工具步执行中(内核自用:resumeExecution 预判短路;宿主零消费) */
|
|
233
238
|
inAutonomousStep = false;
|
|
234
239
|
/* 策略类字段(toolCallsBlocked/toolStepLimit/errorHandling/providerRouting 等)定义在
|
|
235
240
|
* 单一 L2RuntimeStrategy 对象(见上方 strategy),读取统一走 this.strategy.<field> */
|
|
@@ -433,8 +438,9 @@ export class AgentLoop {
|
|
|
433
438
|
}
|
|
434
439
|
// 单工具执行器:注入 loop 稳定能力窄面,strategy 经闭包读最新(setStrategy 动态生效)
|
|
435
440
|
this.toolRunner = new ToolRunner({
|
|
436
|
-
// 原生 outcome 回调逐跳透传:ToolRunner → opts.toolExecutor → toolExecutor.execute
|
|
437
|
-
|
|
441
|
+
// 原生 outcome 回调逐跳透传:ToolRunner → opts.toolExecutor → toolExecutor.execute;
|
|
442
|
+
// toolCallId 同步透传(web_search 证据配对通道,见 ToolRunnerDeps.execute 第 4 参)
|
|
443
|
+
execute: (name, args, emitOutcome, toolCallId) => this.opts.toolExecutor(name, args, emitOutcome, toolCallId),
|
|
438
444
|
builtinTools: opts.builtinTools,
|
|
439
445
|
preExecutionCheck: opts.preExecutionCheck,
|
|
440
446
|
onToolExecuted: opts.onToolExecuted,
|
|
@@ -571,7 +577,7 @@ export class AgentLoop {
|
|
|
571
577
|
}
|
|
572
578
|
}
|
|
573
579
|
}
|
|
574
|
-
/** 是否正处于自主工具步执行中(消费者 = agent.ts
|
|
580
|
+
/** 是否正处于自主工具步执行中(消费者 = agent.ts 预判短路,内核内部) */
|
|
575
581
|
get isInAutonomousStep() {
|
|
576
582
|
return this.inAutonomousStep;
|
|
577
583
|
}
|
|
@@ -1487,21 +1493,33 @@ export class AgentLoop {
|
|
|
1487
1493
|
for (const q of questions) {
|
|
1488
1494
|
yield { type: 'question_pending', questions: [q] };
|
|
1489
1495
|
}
|
|
1496
|
+
// 挂起本身不携带来源:提问的原因/来源已由 onPendingQuestion → requestPause(reason,'agent')
|
|
1497
|
+
// 注册进状态机 pendingPause(与用户暂停同一真源、同一入口),consumeExecutionStream 从 pending 取。
|
|
1490
1498
|
yield { type: 'paused' };
|
|
1491
1499
|
return 'paused';
|
|
1492
1500
|
}
|
|
1493
1501
|
/**
|
|
1494
1502
|
* 回答在途提问(宿主在用户作答后调用,随后 continueAfterPause() 续跑):
|
|
1495
1503
|
* 答案以 ask_user 工具的 tool result 回填(<tool_result> 包裹防注入,与 assistant.tool_calls 配对)。
|
|
1496
|
-
* answers
|
|
1504
|
+
* answers 与提问按序一对一;**不足的部分落 `[ASK_ABORTED]`「未回答」占位,不复用别题答案**。
|
|
1505
|
+
* 返回 false 表示无在途提问。
|
|
1497
1506
|
*/
|
|
1498
1507
|
answerQuestion(answers) {
|
|
1499
1508
|
if (!this.pendingAsk)
|
|
1500
1509
|
return false;
|
|
1501
1510
|
const { toolCallIds } = this.pendingAsk;
|
|
1502
1511
|
toolCallIds.forEach((id, i) => {
|
|
1503
|
-
const answer = answers[i]
|
|
1504
|
-
|
|
1512
|
+
const answer = answers[i];
|
|
1513
|
+
// 逐条按序一对一;**缺答案不得拿别题的答案顶替**。
|
|
1514
|
+
// 旧兜底 `answers[answers.length - 1]`(不足时复用最后一条)会把同一条文本复制到剩余每题
|
|
1515
|
+
// ⇒ 用户只答了一道,LLM 却收到「每题都有答案」——制造假事实、无报错、直接污染决策上下文。
|
|
1516
|
+
// 多题场景下「底部只有一条文本的输入框」必然触发这条兜底(宿主已把回答统一走本入口)。
|
|
1517
|
+
// 现改:缺答案落 [ASK_ABORTED] 占位(与 cancelAsk 同文案同源),把「未答」这一事实
|
|
1518
|
+
// 显式告知模型;配对不变量不变——每条 toolCallId 恒有 tool 消息,不撞兼容端 400。
|
|
1519
|
+
const result = answer === undefined || answer.trim() === ''
|
|
1520
|
+
? ASK_ABORTED_RESULT
|
|
1521
|
+
: `[ASK_ANSWER] 用户回答:${answer}`;
|
|
1522
|
+
this.appendToolMessage(wrapToolResult(ASK_USER_TOOL.name, result), id);
|
|
1505
1523
|
});
|
|
1506
1524
|
// 已作答提问转存快照(runResume 落盘交互输入时随回答持久化),pendingAsk 即清空
|
|
1507
1525
|
this.lastAnsweredAsk = this.pendingAsk.questions;
|
|
@@ -1534,7 +1552,7 @@ export class AgentLoop {
|
|
|
1534
1552
|
return;
|
|
1535
1553
|
const { toolCallIds } = this.pendingAsk;
|
|
1536
1554
|
for (const id of toolCallIds) {
|
|
1537
|
-
this.appendToolMessage(wrapToolResult(ASK_USER_TOOL.name,
|
|
1555
|
+
this.appendToolMessage(wrapToolResult(ASK_USER_TOOL.name, ASK_ABORTED_RESULT), id);
|
|
1538
1556
|
}
|
|
1539
1557
|
this.lastAnsweredAsk = this.pendingAsk.questions;
|
|
1540
1558
|
this.pendingAsk = undefined;
|
|
@@ -1647,14 +1665,20 @@ export class AgentLoop {
|
|
|
1647
1665
|
// 批内共享即完备(step 串行推进,无跨批并发)。判据真源 = 工具定义行 `diskWrite` 声明。
|
|
1648
1666
|
let opaqueWriteTail;
|
|
1649
1667
|
// 运行时护栏阈值组装(真源分配见 guardRail.GuardThresholds):
|
|
1650
|
-
// 写环=GUARD_THRESHOLDS.writeLoop
|
|
1668
|
+
// 写环=GUARD_THRESHOLDS.writeLoop / 写失败=GUARD_THRESHOLDS.writeFail、
|
|
1669
|
+
// 读闸=GUARD_THRESHOLDS.readFailed(独立静态真源,
|
|
1651
1670
|
// 不再与 duplicateCallInterceptor 阈值复用——语义同宽,解开隐藏耦合);
|
|
1652
|
-
// 提问=strategy.askLimit、搜索=
|
|
1671
|
+
// 提问=strategy.askLimit、搜索=strategy.webSearchLimit(动态真源=角色包策略,缺省值
|
|
1672
|
+
// 定义在 DEFAULT_BEHAVIOR_STRATEGY.global.webSearchLimit)。
|
|
1653
1673
|
const guardThresholds = {
|
|
1654
1674
|
writeLoop: GUARD_THRESHOLDS.writeLoop,
|
|
1675
|
+
writeFail: GUARD_THRESHOLDS.writeFail,
|
|
1655
1676
|
readFailed: GUARD_THRESHOLDS.readFailed,
|
|
1656
1677
|
askLimit: this.strategy.askLimit,
|
|
1657
|
-
|
|
1678
|
+
// webSearchLimit 缺省 6 由 resolveWebSearchLimit 恒给(GUARD-SEARCH-1:
|
|
1679
|
+
// 硬上限 = 角色包策略键 global.webSearchLimit),与下方 SEARCH_LIMIT 文案同源取
|
|
1680
|
+
// strategy,二者禁分头取值(否则文案数字说谎)。
|
|
1681
|
+
maxWebSearch: this.strategy.webSearchLimit,
|
|
1658
1682
|
};
|
|
1659
1683
|
for (const tc of toolCalls) {
|
|
1660
1684
|
this.metrics.toolCallCount++;
|
|
@@ -1672,12 +1696,13 @@ export class AgentLoop {
|
|
|
1672
1696
|
stepIndex, // 所属 step 归属(单点打标,与 thought 同构)
|
|
1673
1697
|
};
|
|
1674
1698
|
// ===== 统一护栏判定(GuardRail SSOT)=====
|
|
1675
|
-
// 判定逻辑 / 命中文案(衔接提示词)/ 阈值收敛到 guardRail.ts(createDefaultGuards
|
|
1699
|
+
// 判定逻辑 / 命中文案(衔接提示词)/ 阈值收敛到 guardRail.ts(createDefaultGuards;
|
|
1700
|
+
// 护栏在链路中的位置与职责见 docs/architecture/loop-design.md 的「运行时护栏」一节)。
|
|
1676
1701
|
// loop 仅保留最小职责:① 组 GuardContext(运行态计数 + 运行时阈值覆盖 + 防重依赖);② 调 evaluateBlocked
|
|
1677
1702
|
// 按注册序取首个硬拦命中;③ 处理 search_limit 专属副钩(停搜 + 重建 system prompt,需触达消息层所以留 loop);
|
|
1678
1703
|
// ④ 被拦则回填 guard 渲染的拒绝文案。
|
|
1679
1704
|
// 台账替身回显的两条分支(摘要顶替 / 保守放行)形态不同、**不收口进 guardRail**(见 guardRail.ts 边界),仍在下方内联。
|
|
1680
|
-
const
|
|
1705
|
+
const guardCtx = {
|
|
1681
1706
|
toolName: tc.function.name,
|
|
1682
1707
|
argsJson: tc.function.arguments,
|
|
1683
1708
|
toolCallId: tc.id,
|
|
@@ -1688,7 +1713,8 @@ export class AgentLoop {
|
|
|
1688
1713
|
searchCallCount: this.searchCallCount,
|
|
1689
1714
|
askCountThisTurn: this.askCountThisTurn,
|
|
1690
1715
|
},
|
|
1691
|
-
}
|
|
1716
|
+
};
|
|
1717
|
+
const guardHit = this.guardier.evaluateBlocked(guardCtx);
|
|
1692
1718
|
// search_limit 命中(双闸第二闸):命中即停搜——置 searchDisabled,下一轮 LLM 调用的工具集剔除 web_search
|
|
1693
1719
|
// (buildChatOptions 确定性过滤),并在本轮注入「视为未找到更多相关→继续下一步」提示,双管齐下终结
|
|
1694
1720
|
// 「被拒→重搜→再被拒」拒绝风暴耗尽迭代/上下文导致问答闭环中断。首次置位重建 system prompt(幂等,
|
|
@@ -1700,7 +1726,7 @@ export class AgentLoop {
|
|
|
1700
1726
|
}
|
|
1701
1727
|
if (!this.searchDisabledHintInjected) {
|
|
1702
1728
|
this.searchDisabledHintInjected = true;
|
|
1703
|
-
this.appendSystemMessage(`[SEARCH_LIMIT] 联网搜索已达 ${
|
|
1729
|
+
this.appendSystemMessage(`[SEARCH_LIMIT] 联网搜索已达 ${guardThresholds.maxWebSearch} 次上限,视为未检索到更多相关内容。` +
|
|
1704
1730
|
`请停止调用 web_search,直接基于已有信息继续下一步或作答。`, { executionTemp: true });
|
|
1705
1731
|
}
|
|
1706
1732
|
toolExecs.push({
|
|
@@ -1783,6 +1809,11 @@ export class AgentLoop {
|
|
|
1783
1809
|
continue;
|
|
1784
1810
|
}
|
|
1785
1811
|
}
|
|
1812
|
+
// 放行钩子(派发前最后一处):本调用确定要执行才到这里。
|
|
1813
|
+
// 为什么必须有:本批全部调用**先集中判定、后统一执行**(下方 toolExecs 并发派发),
|
|
1814
|
+
// 判定阶段看不到任何执行结果 ⇒ 只靠执行后 notifyExec 喂数的护栏(write_loop 连写链)
|
|
1815
|
+
// 会被「一条回复内连发 N 次整文件覆盖」整批绕过(真机 round-1792919558093 实证 6 次全放行)。
|
|
1816
|
+
this.guardier.notifyAllow(guardCtx);
|
|
1786
1817
|
// 写排序三分(判据真源 = 工具定义行 `diskWrite` 声明,派生索引见 builtinTools):
|
|
1787
1818
|
// 'path' → 按目标路径串行(同路径链);'opaque' → 屏障,与一切写互斥;
|
|
1788
1819
|
// 声明 'path' 但目标提取失败(参数缺 path 等)→「不确定即保守」降级为屏障,不静默跳过。
|
|
@@ -1912,8 +1943,9 @@ export class AgentLoop {
|
|
|
1912
1943
|
}
|
|
1913
1944
|
}
|
|
1914
1945
|
}
|
|
1915
|
-
// 写侧喂数(护栏内聚状态的下发点):对每个 toolCall 调 notifyExec
|
|
1916
|
-
//
|
|
1946
|
+
// 写侧喂数(护栏内聚状态的下发点):对每个 toolCall 调 notifyExec **全量**分发 onExec
|
|
1947
|
+
// (各护栏在钩子内按工具自过滤),按三态喂入(blocked=被拦未执行 / ok=成功 / failed=失败)。
|
|
1948
|
+
// write_loop/read_failed 据此自持更新计数;write_loop 的「读成功复位失败计数」也走这条线。
|
|
1917
1949
|
this.guardier.notifyExec({
|
|
1918
1950
|
toolName: tc.function.name,
|
|
1919
1951
|
argsJson: tc.function.arguments,
|
|
@@ -2524,24 +2556,41 @@ export class AgentLoop {
|
|
|
2524
2556
|
this.lastOccupancy = occupancy;
|
|
2525
2557
|
}
|
|
2526
2558
|
/**
|
|
2527
|
-
*
|
|
2559
|
+
* 动态注入占用(`messages[0]` 之外的 system 消息)token 估算。
|
|
2560
|
+
*
|
|
2561
|
+
* 单一真理源 = `this.messages`:最近对话块 / 情报区 / 任务表 / 软上限与压力提示 /
|
|
2562
|
+
* 搜索收敛提示 / 反思与自审查提示等运行时注入,皆以 system 消息落在 index > 0。
|
|
2563
|
+
* 占用快照把它计入「动态注入」段(P1-1 修复)——此前该段未计入任何分段、被静默算进 free,
|
|
2564
|
+
* 导致指示器偏乐观。与对话段共用同一估算器(SSOT)。
|
|
2565
|
+
*/
|
|
2566
|
+
getDynamicSystemTokens() {
|
|
2567
|
+
const dynamicSystem = this.messages.filter((m, i) => i > 0 && m.role === 'system');
|
|
2568
|
+
return dynamicSystem.length > 0 ? this.estimateTokens(dynamicSystem) : 0;
|
|
2569
|
+
}
|
|
2570
|
+
/**
|
|
2571
|
+
* 随工作记忆实时刷新占用快照中「由 messages 派生」的两段(预算可视化 · 输入区常驻指示器)。
|
|
2528
2572
|
*
|
|
2529
2573
|
* occupancy 主体在 prepare 期 record(见 contextPreparer),但 prepare 发生在 assistant
|
|
2530
|
-
*
|
|
2531
|
-
*
|
|
2532
|
-
*
|
|
2533
|
-
*
|
|
2534
|
-
* 其余段(rolePackBase/memory/inputAnchor/outputReserve)沿用 prepare 快照,不重算
|
|
2574
|
+
* 生成前,且动态 system 注入在 prepare 之后陆续发生,故两段须在写入口以最新 this.messages 重算:
|
|
2575
|
+
* dialogue = 全量 user+assistant 估算(容量诚实统计问答闭环总和)
|
|
2576
|
+
* dynamicSystem = `messages[0]` 之外的 system 消息估算(见 getDynamicSystemTokens)
|
|
2577
|
+
* 其余段(rolePackBase/inputAnchor/outputReserve)沿用 prepare 快照,不重算
|
|
2535
2578
|
* (守 SSOT:宿主只透传,内核单一真相源)。
|
|
2536
2579
|
* 幂等:无快照时 no-op(如首轮 prepare 尚未发生)。
|
|
2537
2580
|
*/
|
|
2538
|
-
|
|
2581
|
+
refreshOccupancyFromMessages() {
|
|
2539
2582
|
if (!this.lastOccupancy)
|
|
2540
2583
|
return;
|
|
2541
2584
|
const conv = this.getConversationMessages();
|
|
2542
2585
|
const dialogueCount = conv.filter((m) => m.role === 'user').length;
|
|
2543
2586
|
const dialogueTokens = this.estimateTokens(conv);
|
|
2544
|
-
|
|
2587
|
+
const dynamicSystemTokens = this.getDynamicSystemTokens();
|
|
2588
|
+
this.lastOccupancy = {
|
|
2589
|
+
...this.lastOccupancy,
|
|
2590
|
+
dialogueCount,
|
|
2591
|
+
dialogueTokens,
|
|
2592
|
+
dynamicSystemTokens,
|
|
2593
|
+
};
|
|
2545
2594
|
}
|
|
2546
2595
|
/**
|
|
2547
2596
|
* 写入当前激活角色包底盘占用(system prompt 总体 token)。
|
|
@@ -2693,6 +2742,65 @@ export class AgentLoop {
|
|
|
2693
2742
|
getCurrentRoundId() {
|
|
2694
2743
|
return this.currentRoundId;
|
|
2695
2744
|
}
|
|
2745
|
+
/**
|
|
2746
|
+
* 记录 web_search 执行证据(悬案取证轨写点,SEARCH-QUALITY-1 P1-1 观测留痕)
|
|
2747
|
+
*
|
|
2748
|
+
* 驱动方 = 装配层接线 `toolExec.setSearchResultObserver`(toolExecutor 观察到的执行事实
|
|
2749
|
+
* 镜像过来)。ts/meetingRound 构造归 loop(isMeetingRound 私有,与其余三个写点同构);
|
|
2750
|
+
* 载荷透传不加工(toolCallId/query/endpoint/count/titles 就是 toolExecutor 看到的原样)。
|
|
2751
|
+
* 回答「搜不准」争议的第一现场:结果页之外,query 本身 + 端点 + 结果面落盘可裁。
|
|
2752
|
+
* 护栏硬拦的搜索不走此路(拦截即未执行,无结果面;拦截事实已在 tool 消息可见)。
|
|
2753
|
+
*/
|
|
2754
|
+
recordWebSearchEvidence(info) {
|
|
2755
|
+
this.appendRoundEvidence?.({
|
|
2756
|
+
type: 'web_search_result',
|
|
2757
|
+
ts: nowIso(),
|
|
2758
|
+
meetingRound: this.isMeetingRound(),
|
|
2759
|
+
payload: {
|
|
2760
|
+
// toolCallId 透传(宿主渲染据此唯一配对证据回工具行);缺省 = 未透传,宿主回退 query 启发式
|
|
2761
|
+
toolCallId: info.toolCallId,
|
|
2762
|
+
query: info.query,
|
|
2763
|
+
endpoint: info.endpoint,
|
|
2764
|
+
count: info.count,
|
|
2765
|
+
titles: info.titles,
|
|
2766
|
+
},
|
|
2767
|
+
});
|
|
2768
|
+
}
|
|
2769
|
+
/**
|
|
2770
|
+
* 记录 search_memories 命中明细证据(MEM-EVENT-3:实时事件的落盘副本)
|
|
2771
|
+
*
|
|
2772
|
+
* 驱动方 = 装配层同一处 `setOnMemoryRecalled` 接线(事件广播 + 证据落盘同源一次发射)——
|
|
2773
|
+
* 不新造第二个观测通道,也不在宿主侧二次拼装。
|
|
2774
|
+
* 动机:`memoryRecalled` 是实时专属事件(不进 processEvents),宿主重放历史轮无数据源
|
|
2775
|
+
* ⇒ 命中明细整块消失,「这轮参考了哪几条记忆」回看时不可考。落盘副本让重放可重建。
|
|
2776
|
+
*
|
|
2777
|
+
* 载荷透传不加工(id/name/source 就是搜索结果的现成三字段);无命中不落盘——内核
|
|
2778
|
+
* `memoryRecalled` 本就只在有命中时发射,证据轨不为「查了但没查到」另造路径。
|
|
2779
|
+
*/
|
|
2780
|
+
recordMemoryHitsEvidence(info) {
|
|
2781
|
+
// 防御:无明细 = 4.0.x 形态的载荷(老调用方/直调),没有可重建的内容,不写空证据
|
|
2782
|
+
if (!info.hits || info.hits.length === 0)
|
|
2783
|
+
return;
|
|
2784
|
+
this.appendRoundEvidence?.({
|
|
2785
|
+
type: 'memory_hits',
|
|
2786
|
+
ts: nowIso(),
|
|
2787
|
+
meetingRound: this.isMeetingRound(),
|
|
2788
|
+
payload: {
|
|
2789
|
+
// toolCallId 可选透传:宿主重放据此唯一配对工具行;缺省走轮次级兜底落位
|
|
2790
|
+
...(info.toolCallId ? { toolCallId: info.toolCallId } : {}),
|
|
2791
|
+
query: info.query,
|
|
2792
|
+
count: info.count,
|
|
2793
|
+
// contentPreview 直接赋值:5.0.0 起实时载荷恒携带;undefined 经 JSON 序列化自然消失
|
|
2794
|
+
//(与可选透传语义一致),重放轨与实时轨同构,宿主缺失时回退 name。
|
|
2795
|
+
hits: info.hits.map((h) => ({
|
|
2796
|
+
id: h.id,
|
|
2797
|
+
name: h.name,
|
|
2798
|
+
source: h.source,
|
|
2799
|
+
contentPreview: h.contentPreview,
|
|
2800
|
+
})),
|
|
2801
|
+
},
|
|
2802
|
+
});
|
|
2803
|
+
}
|
|
2696
2804
|
/** 设置当前轮次 ID(appendUser 在 processUserInput 之前调用,故需提前生成供 RoundSummaryGenerator 使用) */
|
|
2697
2805
|
setCurrentRoundId(roundId) {
|
|
2698
2806
|
this.currentRoundId = roundId;
|
|
@@ -2792,10 +2900,10 @@ export class AgentLoop {
|
|
|
2792
2900
|
content: `<user_input>${content}</user_input>`,
|
|
2793
2901
|
roundId: this.currentRoundId,
|
|
2794
2902
|
});
|
|
2795
|
-
//
|
|
2796
|
-
this.
|
|
2903
|
+
// 用户输入即刷新占用(问答闭环 +1,实时反映到输入区圆环)
|
|
2904
|
+
this.refreshOccupancyFromMessages();
|
|
2797
2905
|
}
|
|
2798
|
-
/** 追加一条 system
|
|
2906
|
+
/** 追加一条 system 消息(技能注入、最近对话块、任务表、自审查提示等通用注入通道) */
|
|
2799
2907
|
appendSystemMessage(content, opts = {}) {
|
|
2800
2908
|
const msg = { role: 'system', content };
|
|
2801
2909
|
this.messages.push(msg);
|
|
@@ -2803,6 +2911,9 @@ export class AgentLoop {
|
|
|
2803
2911
|
if (opts.executionTemp) {
|
|
2804
2912
|
this.executionTempSystem.add(msg);
|
|
2805
2913
|
}
|
|
2914
|
+
// system 注入即时刷新「动态注入」占用段(P1-1):否则指示器只在 user/assistant 写入时更新,
|
|
2915
|
+
// 动态注入占比被静默漏计、free 偏大。无快照时 no-op(首轮 prepare 前)。
|
|
2916
|
+
this.refreshOccupancyFromMessages();
|
|
2806
2917
|
}
|
|
2807
2918
|
/** 会议轮判据(裁决证据用,操作化单点):任务表 active 任务项声明 rolePack = 会议逐项切换生效中 */
|
|
2808
2919
|
isMeetingRound() {
|
|
@@ -2812,7 +2923,7 @@ export class AgentLoop {
|
|
|
2812
2923
|
appendAssistantText(content) {
|
|
2813
2924
|
this.messages.push({ role: 'assistant', content, roundId: this.currentRoundId });
|
|
2814
2925
|
// assistant 落盘(含残缺/中止回复)后补算对话容量,使圆环即时含本轮回答
|
|
2815
|
-
this.
|
|
2926
|
+
this.refreshOccupancyFromMessages();
|
|
2816
2927
|
}
|
|
2817
2928
|
/** 追加一条带 toolCalls 的 assistant 消息(executeToolCalls 前导);附当前轮次 roundId */
|
|
2818
2929
|
appendAssistantToolCall(fullContent, toolCalls) {
|
|
@@ -2903,6 +3014,8 @@ export class AgentLoop {
|
|
|
2903
3014
|
else {
|
|
2904
3015
|
this.messages.push({ role: 'system', content });
|
|
2905
3016
|
}
|
|
3017
|
+
// 情报区属「动态注入」段,刷新占用使指示器即时含其占用(P1-1)
|
|
3018
|
+
this.refreshOccupancyFromMessages();
|
|
2906
3019
|
}
|
|
2907
3020
|
/**
|
|
2908
3021
|
* 指定 toolCallId 的 tool 消息是否仍在上下文中且内容未被改动 —— 「结果仍在上下文」的共用判据。
|