@zooique/memora 3.0.1 → 4.0.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.
Files changed (154) hide show
  1. package/CHANGELOG.md +720 -14
  2. package/README.en.md +4 -4
  3. package/README.md +303 -303
  4. package/config.example.json +1 -8
  5. package/dist/agent/agent.d.ts +48 -4
  6. package/dist/agent/agent.d.ts.map +1 -1
  7. package/dist/agent/agent.js +130 -12
  8. package/dist/agent/agent.js.map +1 -1
  9. package/dist/agent/assembler.d.ts +19 -5
  10. package/dist/agent/assembler.d.ts.map +1 -1
  11. package/dist/agent/assembler.js +76 -13
  12. package/dist/agent/assembler.js.map +1 -1
  13. package/dist/agent/backgroundTasks.d.ts +187 -0
  14. package/dist/agent/backgroundTasks.d.ts.map +1 -0
  15. package/dist/agent/backgroundTasks.js +307 -0
  16. package/dist/agent/backgroundTasks.js.map +1 -0
  17. package/dist/agent/builtinToolHandlers.d.ts +2 -1
  18. package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
  19. package/dist/agent/builtinToolHandlers.js +8 -4
  20. package/dist/agent/builtinToolHandlers.js.map +1 -1
  21. package/dist/agent/builtinTools.d.ts +15 -1
  22. package/dist/agent/builtinTools.d.ts.map +1 -1
  23. package/dist/agent/builtinTools.js +107 -27
  24. package/dist/agent/builtinTools.js.map +1 -1
  25. package/dist/agent/constants.d.ts +31 -0
  26. package/dist/agent/constants.d.ts.map +1 -1
  27. package/dist/agent/constants.js +31 -0
  28. package/dist/agent/constants.js.map +1 -1
  29. package/dist/agent/guardRail.d.ts +11 -0
  30. package/dist/agent/guardRail.d.ts.map +1 -1
  31. package/dist/agent/guardRail.js +36 -1
  32. package/dist/agent/guardRail.js.map +1 -1
  33. package/dist/agent/loop.d.ts +274 -22
  34. package/dist/agent/loop.d.ts.map +1 -1
  35. package/dist/agent/loop.js +587 -87
  36. package/dist/agent/loop.js.map +1 -1
  37. package/dist/agent/managers/archiveCoordinator.d.ts +5 -2
  38. package/dist/agent/managers/archiveCoordinator.d.ts.map +1 -1
  39. package/dist/agent/managers/archiveCoordinator.js +17 -2
  40. package/dist/agent/managers/archiveCoordinator.js.map +1 -1
  41. package/dist/agent/managers/loopMetrics.d.ts +14 -0
  42. package/dist/agent/managers/loopMetrics.d.ts.map +1 -1
  43. package/dist/agent/managers/loopMetrics.js +15 -0
  44. package/dist/agent/managers/loopMetrics.js.map +1 -1
  45. package/dist/agent/managers/memoryInspector.d.ts +1 -8
  46. package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
  47. package/dist/agent/managers/memoryInspector.js +6 -30
  48. package/dist/agent/managers/memoryInspector.js.map +1 -1
  49. package/dist/agent/managers/roundSummaryGenerator.d.ts +28 -0
  50. package/dist/agent/managers/roundSummaryGenerator.d.ts.map +1 -1
  51. package/dist/agent/managers/roundSummaryGenerator.js +67 -2
  52. package/dist/agent/managers/roundSummaryGenerator.js.map +1 -1
  53. package/dist/agent/managers/sessionArchiver.d.ts +21 -3
  54. package/dist/agent/managers/sessionArchiver.d.ts.map +1 -1
  55. package/dist/agent/managers/sessionArchiver.js +20 -3
  56. package/dist/agent/managers/sessionArchiver.js.map +1 -1
  57. package/dist/agent/managers/sessionManager.d.ts.map +1 -1
  58. package/dist/agent/managers/sessionManager.js +17 -0
  59. package/dist/agent/managers/sessionManager.js.map +1 -1
  60. package/dist/agent/managers/toolCallHelpers.d.ts +109 -28
  61. package/dist/agent/managers/toolCallHelpers.d.ts.map +1 -1
  62. package/dist/agent/managers/toolCallHelpers.js +93 -37
  63. package/dist/agent/managers/toolCallHelpers.js.map +1 -1
  64. package/dist/agent/messageHistory.d.ts.map +1 -1
  65. package/dist/agent/messageHistory.js +9 -5
  66. package/dist/agent/messageHistory.js.map +1 -1
  67. package/dist/agent/seed/orchestrator.d.ts +12 -1
  68. package/dist/agent/seed/orchestrator.d.ts.map +1 -1
  69. package/dist/agent/seed/orchestrator.js +12 -1
  70. package/dist/agent/seed/orchestrator.js.map +1 -1
  71. package/dist/agent/textSanitize.d.ts +36 -0
  72. package/dist/agent/textSanitize.d.ts.map +1 -0
  73. package/dist/agent/textSanitize.js +55 -0
  74. package/dist/agent/textSanitize.js.map +1 -0
  75. package/dist/agent/toolExecutor.d.ts +48 -22
  76. package/dist/agent/toolExecutor.d.ts.map +1 -1
  77. package/dist/agent/toolExecutor.js +372 -71
  78. package/dist/agent/toolExecutor.js.map +1 -1
  79. package/dist/agent/toolLedger.d.ts +93 -41
  80. package/dist/agent/toolLedger.d.ts.map +1 -1
  81. package/dist/agent/toolLedger.js +114 -42
  82. package/dist/agent/toolLedger.js.map +1 -1
  83. package/dist/agent/toolResultOffload.d.ts +8 -0
  84. package/dist/agent/toolResultOffload.d.ts.map +1 -1
  85. package/dist/agent/toolResultOffload.js +10 -3
  86. package/dist/agent/toolResultOffload.js.map +1 -1
  87. package/dist/agent/toolRunner.d.ts +14 -7
  88. package/dist/agent/toolRunner.d.ts.map +1 -1
  89. package/dist/agent/toolRunner.js +71 -29
  90. package/dist/agent/toolRunner.js.map +1 -1
  91. package/dist/agent/tracer.d.ts +13 -1
  92. package/dist/agent/tracer.d.ts.map +1 -1
  93. package/dist/agent/types.d.ts +66 -5
  94. package/dist/agent/types.d.ts.map +1 -1
  95. package/dist/code-exec/types.d.ts +9 -0
  96. package/dist/code-exec/types.d.ts.map +1 -1
  97. package/dist/index.d.ts +21 -23
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +36 -28
  100. package/dist/index.js.map +1 -1
  101. package/dist/memory/roundStore.d.ts +67 -81
  102. package/dist/memory/roundStore.d.ts.map +1 -1
  103. package/dist/memory/roundStore.js +4 -15
  104. package/dist/memory/roundStore.js.map +1 -1
  105. package/dist/memory/types.d.ts +7 -0
  106. package/dist/memory/types.d.ts.map +1 -1
  107. package/dist/memory/types.js +4 -0
  108. package/dist/memory/types.js.map +1 -1
  109. package/dist/role-pack/rolePackManager.d.ts +42 -10
  110. package/dist/role-pack/rolePackManager.d.ts.map +1 -1
  111. package/dist/role-pack/rolePackManager.js +65 -12
  112. package/dist/role-pack/rolePackManager.js.map +1 -1
  113. package/dist/role-pack/strategyKeys.d.ts +36 -0
  114. package/dist/role-pack/strategyKeys.d.ts.map +1 -1
  115. package/dist/role-pack/strategyKeys.js +45 -0
  116. package/dist/role-pack/strategyKeys.js.map +1 -1
  117. package/dist/security/confirmEntries.d.ts +44 -0
  118. package/dist/security/confirmEntries.d.ts.map +1 -0
  119. package/dist/security/confirmEntries.js +59 -0
  120. package/dist/security/confirmEntries.js.map +1 -0
  121. package/dist/security/pathGuard.d.ts +41 -5
  122. package/dist/security/pathGuard.d.ts.map +1 -1
  123. package/dist/security/pathGuard.js +125 -4
  124. package/dist/security/pathGuard.js.map +1 -1
  125. package/dist/skill/skillScriptRunner.d.ts +147 -15
  126. package/dist/skill/skillScriptRunner.d.ts.map +1 -1
  127. package/dist/skill/skillScriptRunner.js +479 -68
  128. package/dist/skill/skillScriptRunner.js.map +1 -1
  129. package/dist/utils/configResourceManager.d.ts +6 -2
  130. package/dist/utils/configResourceManager.d.ts.map +1 -1
  131. package/dist/utils/configResourceManager.js +8 -2
  132. package/dist/utils/configResourceManager.js.map +1 -1
  133. package/dist/utils/errors.d.ts +9 -0
  134. package/dist/utils/errors.d.ts.map +1 -1
  135. package/dist/utils/errors.js +9 -0
  136. package/dist/utils/errors.js.map +1 -1
  137. package/dist/utils/eventEmitter.d.ts +57 -2
  138. package/dist/utils/eventEmitter.d.ts.map +1 -1
  139. package/dist/utils/eventEmitter.js +23 -0
  140. package/dist/utils/eventEmitter.js.map +1 -1
  141. package/dist/utils/time.d.ts +5 -2
  142. package/dist/utils/time.d.ts.map +1 -1
  143. package/dist/utils/time.js +5 -2
  144. package/dist/utils/time.js.map +1 -1
  145. package/docs/memora-api-reference.md +121 -20
  146. package/docs/memora-/346/216/245/345/205/245/346/214/207/345/215/227.md +6 -5
  147. package/package.json +1 -1
  148. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/persona.md +46 -46
  149. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/rules.md +16 -15
  150. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/emotion-wave.md +46 -46
  151. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/foreshadow.md +29 -29
  152. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/outline-expand.md +48 -46
  153. 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 +441 -441
  154. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/story-bible.md +62 -60
@@ -17,15 +17,21 @@ import type { AgentChunk, UIMessages, PreExecutionResult, AskQuestion } from '..
17
17
  import type { ITracer, AgentMetrics } from '../agent/tracer.js';
18
18
  import type { ContextBudget, ContextOccupancy } from '../agent/budget.js';
19
19
  import type { ICompactionStrategy } from '../agent/compaction.js';
20
+ import type { ToolOutcome } from '../agent/managers/toolCallHelpers.js';
20
21
  import type { DuplicateCallInterceptor } from '../agent/types.js';
21
22
  import type { RoundEvidenceEvent } from '../memory/roundStore.js';
22
23
  import type { L2RuntimeStrategy } from '../role-pack/types.js';
24
+ import { type BackgroundTask, type BackgroundTaskRegistry, type SettledBackgroundTask } from '../agent/backgroundTasks.js';
23
25
  export interface AgentLoopOptions {
24
26
  provider: LlmProvider;
25
27
  /** Provider 路由选择器(多模型路由基础,可选) */
26
28
  providerRouter?: ProviderRouter;
27
29
  bootstrapMemories: Memory[];
28
- toolExecutor: (name: string, args: string) => Promise<string>;
30
+ /**
31
+ * 工具执行入口(装配层注入)。
32
+ * 第 3 参 emitOutcome:已切族工具产出原生结构化 outcome 的通道(透传至 toolExecutor.execute)。
33
+ */
34
+ toolExecutor: (name: string, args: string, emitOutcome?: (outcome: ToolOutcome) => void) => Promise<string>;
29
35
  maxIterations?: number;
30
36
  /** 系统 prompt 前缀(角色包 prompt),注入到 bootstrap 记忆之前 */
31
37
  systemPromptPrefix?: string;
@@ -43,7 +49,8 @@ export interface AgentLoopOptions {
43
49
  toolDefinitions?: ToolDefinition[];
44
50
  /** 内置工具定义列表,仅含内置工具,供只读模式(toolReadonly)查询 readonly 标记 */
45
51
  builtinTools?: ToolDefinition[];
46
- /** 上下文窗口 token 上限(默认 120_000)。估算 token 超此阈值时裁剪中间段,
52
+ /** 上下文窗口 token 上限(缺省 = `AGENT_CONSTANTS.DEFAULT_MAX_CONTEXT_TOKENS`,经 resolveContextWindow 兜底,
53
+ * 数字不在此落账——真源改值时注释不跟随会变撒谎)。估算 token 超此阈值时裁剪中间段,
47
54
  * 仅保留 system prompt + 最近 N 条消息,防上下文溢出。 */
48
55
  maxContextTokens?: number;
49
56
  /** 可观测性 Tracer(宿主注入,默认 NOOP_TRACER 静默丢弃所有 span) */
@@ -58,7 +65,7 @@ export interface AgentLoopOptions {
58
65
  /** 上下文截断回调(传被裁剪/保留消息数),宿主可据此发 contextTruncated 事件;未注入静默忽略 */
59
66
  onContextTruncated?: (skippedCount: number, keptCount: number) => void;
60
67
  /** LLM 主动压缩完成回调(第二级压缩,传压缩目标/被替换消息数/摘要长度);未注入静默忽略 */
61
- onContextCompressed?: (target: 'earliest_round' | 'largest_tool_result', replacedCount: number, summaryLength: number) => void;
68
+ onContextCompressed?: (target: CompressTarget, replacedCount: number, summaryLength: number) => void;
62
69
  /** 工具执行完成回调(供 outbox 模式恢复时判断工具是否已执行过,避免重复执行);未注入静默忽略 */
63
70
  onToolExecuted?: (name: string, args: string, result: string, ok: boolean) => void;
64
71
  /** 工具执行前检查回调(宿主闸门)。三态:放行(可携 overrideArgs 改写参数)/ 跳过
@@ -96,12 +103,40 @@ export interface AgentLoopOptions {
96
103
  * 未注入时用 DefaultDuplicateCallInterceptor(哈希机械检测),宿主可注入差异化策略 */
97
104
  duplicateCallInterceptor?: DuplicateCallInterceptor;
98
105
  }
106
+ /**
107
+ * `compress_context` 的压缩目标枚举(第二级压缩,CTX-WIN-2)
108
+ *
109
+ * 三个目标**按上下文形态分工**,不是同一件事的三种叫法(合并即降级为「泛化遍历」):
110
+ * | target | 适用形态 | 锚点 |
111
+ * | - | - | - |
112
+ * | `earliest_round` | 多轮问答(≥2 个 user) | 第一个 user → 下一 user 之前 |
113
+ * | `earliest_steps` | **单轮长任务**(仅 1 个 user、几十个 step) | 第一个 assistant → 下一 assistant 之前 |
114
+ * | `largest_tool_result` | 单条超大工具结果 | 最大 tool 消息 + 其所属 assistant(整段) |
115
+ *
116
+ * 缺 `earliest_steps` 的后果(实锤):单轮 turn 内 `earliest_round` 恒 null
117
+ * (锚点 first-user == last-user),长单轮把窗口顶满却无任何可压目标。
118
+ *
119
+ * **导出理由**:`contextCompressed` 事件载荷(`utils/eventEmitter.ts`)也带 target,
120
+ * 该处**必须引用本类型**而非另写一份字面量联合——两份字面量必然随枚举增补漂移
121
+ * (`earliest_steps` 加入时,漂移形态 = 事件类型不认新值 + 宿主三元文案落到 else 显示错标签)。
122
+ */
123
+ export type CompressTarget = 'earliest_round' | 'earliest_steps' | 'largest_tool_result';
124
+ /** 合法 target 清单(工具描述与错误提示共用此真源,避免文案列举与判据漂移) */
125
+ export declare const COMPRESS_TARGETS: readonly CompressTarget[];
126
+ /**
127
+ * target → 中文标签(宿主 notice 文案的真源,**穷举映射不做 else 兜底**)
128
+ *
129
+ * 穷举而非三元/else:三元在枚举增补时把新值静默落到最后一个旧标签上(说谎),
130
+ * TS 侧因 `Record<CompressTarget, string>` 穷尽键而在增补时**编译期报错**——
131
+ * 让「加枚举忘了改文案」变成一道红闸,而不是运行时的一句假话。
132
+ */
133
+ export declare const COMPRESS_TARGET_LABELS: Record<CompressTarget, string>;
99
134
  export declare class AgentLoop {
100
135
  #private;
101
136
  private readonly opts;
102
137
  private messages;
103
138
  private readonly maxIterations;
104
- /** provider 上下文窗口(原始声明值,默认 120_000)。模型热切换经 setContextWindow 写入。 */
139
+ /** provider 上下文窗口(原始声明值;缺省 = `AGENT_CONSTANTS.DEFAULT_MAX_CONTEXT_TOKENS`,数字不落账)。模型热切换经 setContextWindow 写入。 */
105
140
  private providerContextWindow;
106
141
  /** **有效上下文窗口** = min(providerContextWindow, strategy.contextLimit>0 ? contextLimit : ∞)。
107
142
  * 派生值(非独立真源):由 #recomputeEffectiveWindow 在「provider 窗口变更」与「角色策略变更」
@@ -176,10 +211,34 @@ export declare class AgentLoop {
176
211
  private requestPauseEntry;
177
212
  /** 移除队列中的 pause 条目(保留 interject 条目) */
178
213
  private cancelPauseEntry;
179
- /** step 边界气口申请统一队列(pause/interject 统一入队,无独立 pauseRequested flag)。
180
- * 用户申请的气口(pause/interject)统一入队,_handleInterrupt 在 step 边界消费:
181
- * 先注入型(interject → appendUser),后挂起型(pause → yield paused)。 */
214
+ /** step 边界气口申请统一队列(pause/interject/command-result 统一入队,无独立 pauseRequested flag)。
215
+ * 消费在 _handleInterrupt:先注入型(interject → appendUser,command-result → appendSystem),
216
+ * 后挂起型(pause → yield paused)。 */
182
217
  private interruptQueue;
218
+ /**
219
+ * 后台任务注册表(可选,装配层注入)
220
+ *
221
+ * loop 侧只做三件事,**不碰进程治理**(spawn / 杀树 / 内存护栏全在 skillScriptRunner):
222
+ * ① 注册完成监听 → 自然终态时把结果入队(`kind:'command-result'`),下个 step 边界注入 system 消息;
223
+ * ② turn 终态脱管存活进程(不杀,见 detachAll 注释),回流跨 turn 留存;
224
+ * ③ Agent 实例终态(close)真杀全部存活任务并注销 exit 兜底钩子(见 shutdownBackgroundTasks)——
225
+ * 跨 turn 但不跨宿主寿命,边界与 ② 不同;close 窗口赶不上时 exit 钩子同步兜底。
226
+ * 未注入时这些动作都是 no-op(无后台任务可管),不报错——纯 ToolExecutor 单测场景无注册表。
227
+ */
228
+ private backgroundTasks?;
229
+ /** 后台任务**自然终态**时通知装配层(由 Agent 在装配期接到事件面上,loop 只发不处理 UI)。
230
+ * 脱管后 turn 已结束,宿主挂在 turn 生命周期上的推送时机覆盖不到「任务自然跑完」⇒ 缺此
231
+ * 出口 UI 会显示假活跃。挂注册表 completion listener(notify)单点链,仅 settle 自然终态
232
+ * 到达;主动 kill 刻意不回调 listener(防同份结果双份消费),不经此事件。 */
233
+ private emitBackgroundTaskSettled?;
234
+ /**
235
+ * 装配层在装配期注入「后台任务自然终态」发射回调(**仅装配期一次**,非公开 API)。
236
+ *
237
+ * 走 Agent 事件面(`backgroundTaskSettled`)而非独立回调字段:与既有宿主事件
238
+ * (sessionError / contextTruncated / …)同型,宿主 `bindAgentNoticeEvents` 的
239
+ * 「先 off 再 on」幂等模式天然适用。
240
+ */
241
+ setBackgroundTaskSettledEmitter(fn: ((task: SettledBackgroundTask) => void) | undefined): void;
183
242
  /** 主动提问回调(LLM 调 ask_user 工具时调用,Agent 注入,loop 只回调不处理 UI) */
184
243
  onPendingQuestion?: (questions: AskQuestion[]) => void;
185
244
  /** 有效窗口变更回调(Agent 注入):把 loop 算出的**有效窗口**分发给 loop 之外仍持有窗口拷贝的
@@ -191,6 +250,15 @@ export declare class AgentLoop {
191
250
  private strategy;
192
251
  /** 本 turn 是否已执行过自审查(单次终审:布尔状态,不再需要轮次计数) */
193
252
  private selfReviewDone;
253
+ /**
254
+ * 本 turn 是否已在 step 边界挂起(paused)——**turn 终态脱管的判据**(定案锚:ADR-036)。
255
+ *
256
+ * 置位点在 `_handleInterrupt` 的 pause 分支、**yield 之前**(宿主 break 会触发
257
+ * generator finally,时序敏感);复位点在 `resetTurnState`(两个 turn 入口都调)。
258
+ * 语义:挂起 = 同 turn 续跑,后台进程继续跑;不挂起的收场(done / interrupted /
259
+ * error)才是终态,对存活后台进程脱管(不杀,跨轮存活)。
260
+ */
261
+ private pauseBoundaryReached;
194
262
  /** 本 turn(processUserInput)内是否实际执行过工具步。
195
263
  * 自审查的唯一触发门槛:只有多轮 turn(发生过工具调用)才审查,
196
264
  * 一遍过的纯文本问答不触发。由 processUserInput 入口重置(续跑 continueAfterPause 保留)。
@@ -346,10 +414,98 @@ export declare class AgentLoop {
346
414
  /** 清除在途的软暂停申请(与 requestPause 对称:用户取消/流结束清理/暂停超时清扫共用)。
347
415
  * 委托 cancelPauseEntry 移除 pause 条目(保留 interject 条目) */
348
416
  clearPauseRequest(): void;
349
- /** 插话(申请入队):把用户补充输入作为 InterruptRequest{kind:'interject'} 入 interruptQueue。
350
- * 与 requestPause(queueInterrupt pause)同为「申请 → 气口生效」——不中断当前 LLM/工具执行,
351
- * 只在 step 边界统一消费(先注入型 → appendUser,后挂起型 → yield paused)。 */
352
- interject(content: string): void;
417
+ /**
418
+ * 插话(申请入队):把用户补充输入作为 InterruptRequest{kind:'interject'} 入 interruptQueue。
419
+ * 与 requestPause(queueInterrupt pause)同为「申请 → 气口生效」——不中断当前 LLM/工具执行,
420
+ * 只在 step 边界统一消费(先注入型 → appendUser,后挂起型 → yield paused)。
421
+ *
422
+ * 上限裁决(内核资源不变量,值真源 = LOOP_CONSTANTS.MAX_PENDING_INTERJECTIONS):待注入插话达上限时
423
+ * **整条拒收**返回 false(插话是原子思路,截半条 = 语义破坏);宿主以此返回值做 UI
424
+ * 提示(webview 预检与其 shared 镜像常量由守卫测试与本常量锁同值)。pause 条目不受
425
+ * 本上限管辖(软暂停申请是内部控制语义,非用户输入洪流)。
426
+ *
427
+ * @returns true=已入队;false=待注入插话已满,本条未入队(调用方不应持久化/上屏)
428
+ */
429
+ interject(content: string): boolean;
430
+ /**
431
+ * 后台命令完成回流入队(**生产者入口**,由装配层从注册表完成监听器调用)
432
+ *
433
+ * 走既有 `interruptQueue`(判别联合队列)新增一个 kind,零新基建:
434
+ * 与插话同机制(iteration 间检查点消费、挂起/恢复全链路复用),但**异质**——
435
+ * - 消费时进 `appendSystemMessage`(系统事件),不进 `appendUserMessage`(不伪装用户发言);
436
+ * - 不占插话满员计数(`interject()` 的容量裁决只数 kind==='interject');
437
+ * - **跨 turn 留存**(脱管定案,后台任务跨轮存活方案):turn 终态不丢弃,下个 turn 的 step 边界照常吸收——
438
+ * 与插话跨 turn 同标准,同性质数据不搞两套生命周期。
439
+ *
440
+ * @param content 已格式化的完成通知(含来源标记「后台命令完成」+ 命令 + 输出)
441
+ */
442
+ enqueueCommandResult(content: string): void;
443
+ /**
444
+ * 装配后台任务注册表(assembler 调用,loop 创建之后)
445
+ *
446
+ * 两件职责一次接线,避免装配层散写两处:
447
+ * ① 完成监听 → `enqueueCommandResult`(回流通道生产者);
448
+ * ② 持有引用供 turn 终态脱管报告。
449
+ */
450
+ setBackgroundTasks(registry: BackgroundTaskRegistry): void;
451
+ /**
452
+ * 后台任务只读快照(宿主 UI 出口 · 见 `docs/方案-后台任务可见性与kill入口-20261004.md` §2.1)
453
+ *
454
+ * 纯透传注册表 `list()`——投影已剥离 `killNow` / `peek` 进程句柄,宿主无从触碰进程。
455
+ * 注册表未装配(后台能力未启用 / 装配期之前)返回空数组,不抛。
456
+ */
457
+ getBackgroundTasks(): readonly BackgroundTask[];
458
+ /**
459
+ * 终止后台任务(宿主 UI 出口 · 同上 §2.1)
460
+ *
461
+ * 纯透传注册表 `kill()`:先取已捕获输出快照再走杀树原语,随后回读终态投影。
462
+ * 任务不存在 → `null`(`kill` 与 `get` 对未知 taskId 同为 null,无需二次判空)。
463
+ *
464
+ * ⚠️ 主动 kill 不触发回流——输出已直接返回调用方,再回流一次会让 LLM
465
+ * 收到同一份结果的第二份副本(重复消费)。
466
+ */
467
+ killBackgroundTask(taskId: string): BackgroundTask | null;
468
+ /**
469
+ * Agent 实例终态收割(**唯一调用点 = `Agent.close`**):真杀全部存活后台命令任务
470
+ * 并注销其 exit 兜底钩子。
471
+ *
472
+ * 纯透传注册表 `shutdown()`,判据不复制。与 turn 终态 `finalizeBackgroundTasksOnTurnEnd`
473
+ * 的边界见注册表 `detachAll / shutdown` 注释:跨 turn 存活是刻意语义,实例销毁后
474
+ * 任务不可寻址,留着只能是 OS 层孤儿(观察点 ⑧ 真机实锤)。
475
+ *
476
+ * 不产 `background_report`、不推 UI 快照——宿主正在退出,界面与回流都已无消费方。
477
+ * 注册表未装配返回 0,不抛。
478
+ *
479
+ * @returns 实际收割的 running 任务数
480
+ */
481
+ shutdownBackgroundTasks(): number;
482
+ /**
483
+ * turn 终态后台任务脱管(定案锚:ADR-036;论证见 `docs/方案-后台任务跨轮存活-20261004.md` §三)
484
+ *
485
+ * 判据 = 调用方传入的「本 turn 已收场」(挂起不算终态,见 `pauseBoundaryReached`):
486
+ * done / interrupted / error / 达到最大迭代 四条收场路径统一经此,调用点唯一
487
+ * (`_runWithSlo` 的 finally)。
488
+ *
489
+ * 此处只做脱管(detach)——把存活任务移出跟踪,**不杀进程、不丢未消费的 command-result**。
490
+ *
491
+ * 为什么不杀:turn 是「一问一答」的**归档单元**,不是进程的容器。进程属于**会话**,
492
+ * 活过 turn 是应有语义(Claude Code 的后台任务同样活到进程退出)。真机实锤过一个反例:
493
+ * 用户起 `ping -n 90`,turn 仅 6.3 秒结束就把进程杀了,UI 底部条从「运行中」变「已终止」
494
+ * 而用户从未点过——「后台」名不副实,用户视角完全不可理解。
495
+ *
496
+ * 为什么不丢 command-result:回流与插话性质相同(外部产生的事实、显式一条消息、分别经
497
+ * appendSystem / appendUser),只封杀 `command-result` 而放行 `interject` ⇒ 同一现象
498
+ * 两套标准 = 违反 SSOT;且 turn 内跑的 command-result 走的就是同一条通路(`_handleInterrupt`
499
+ * → `appendSystem`),**机制在 turn 边界突然失效是一致性缺口,不是保护**。
500
+ *
501
+ * 跨 turn 留存的边界(如实写):`interruptQueue` 挂在 Agent 级单例 `loop` 上
502
+ * (Agent 关闭即销毁);`MAX_PENDING_COMMAND_RESULTS=3` 只限**每步注入条数**(防一次性
503
+ * 灌爆上下文),**不限队列总量**——队列条数与注册表终态条目目前都无 GC,是已登记的
504
+ * 设计缺口(真机出现症状再立项,不在本次提前加机制)。
505
+ *
506
+ * @returns 脱管报告文本(null = 无后台任务,纯问答 turn 的常态——不产 chunk 不写 system 消息)
507
+ */
508
+ private finalizeBackgroundTasksOnTurnEnd;
353
509
  /** 删除待注入的插话(宿主 UI 层用户后悔)。与 interject 对称,在 step 边界消费前可安全删除。
354
510
  * 委托 interruptQueue 中 interject 条目的索引。
355
511
  * index 越界时静默 no-op(宿主镜像数组和内核队列始终同序同长度,理论上不会越界)。
@@ -410,11 +566,34 @@ export declare class AgentLoop {
410
566
  * @param reqs 待消费的申请列表(只读遍历,不修改)
411
567
  * @returns 消费的 interject 条目数(调用方可据此决定是否继续迭代) */
412
568
  private _consumeInterjects;
413
- /** 中断检查:step 边界统一消费 interruptQueue(pause + interject)+ 硬中止检查。
569
+ /**
570
+ * 消费注入型**系统事件**条目(command-result → appendSystemMessage)
571
+ *
572
+ * 与 `_consumeInterjects` 严格分开而非合并成「消费所有注入型」:
573
+ * 两者的注入通道(user / system)、role 语义、容量裁决(插话占满员名额 / 回流不占)不同;
574
+ * **生命周期 = 跨 turn 留存**(turn 终态不丢弃,下个 turn 的 step 边界照常吸收,见 finalize 注释)。
575
+ * 即便如此仍须分开:通道与容量判据各异,合并成一个泛化遍历等于把判据摊平到 if 分支里
576
+ * ——将来任一判据变化都要在同一段代码里翻找,正是「同一语义两套判定」的开始。
577
+ * 故:两个方法,各守一条通道。
578
+ *
579
+ * **限量注入**(`MAX_PENDING_COMMAND_RESULTS`):回流是已发生的事实、不可拒收,
580
+ * 只能限量。每步只注入 N 条,其余留队列等下个 step 边界——避免 N 个后台任务同时完成时
581
+ * 一次性灌爆上下文。
582
+ *
583
+ * `executionTemp: true` —— 回流是**本轮执行期事件**(进程已结束、结果已交付),
584
+ * 下一轮闭环入口由 `cleanExecutionTemporary` 清掉,不进历史上下文。
585
+ *
586
+ * @param reqs 待消费的申请列表(只读遍历,不修改)
587
+ * @returns 消费的条目数
588
+ */
589
+ private _consumeCommandResults;
590
+ /** 中断检查:step 边界统一消费 interruptQueue(pause + interject + command-result)+ 硬中止检查。
414
591
  *
415
592
  * 单一气口出口——气口申请统一收在 interruptQueue(无独立 pause flag / 插话数组写位),
416
- * 此处统一 queue.splice(0) 取出全部申请,按 kind 分两类处理:
417
- * - 注入型(interject):先 appendUserMessage,不暂停 loop,让补充输入立刻进入下一轮 step
593
+ * 此处统一 queue.splice(0) 取出全部申请,按 kind 分三类处理:
594
+ * - 注入型·用户意图(interject):appendUserMessage,不暂停 loop,让补充输入立刻进入下一轮 step
595
+ * - 注入型·系统事件(command-result):appendSystemMessage(executionTemp),
596
+ * 不暂停 loop;与 interject 的差别只在注入通道与 role 语义(系统事件 ≠ 用户发言)
418
597
  * - 挂起型(pause):yield {type:'paused'} + return 'paused',generator 在 step 边界挂起
419
598
  *
420
599
  * 顺序:先消费注入型 → 再检查挂起型 → 最后硬中止。注入型优先是为了让补充输入在 pause 生效前
@@ -546,16 +725,56 @@ export declare class AgentLoop {
546
725
  *
547
726
  * @param args 工具参数 JSON({ target: 'earliest_round' | 'largest_tool_result' })
548
727
  * @param signal 中止信号
549
- * @returns 回传给 LLM 的确认串(失败/无目标时返回提示,不抛错阻断工具链)
728
+ * @returns 结构化 outcome(B4 判据切换):无目标 → blocked(no_compress_target);
729
+ * 真跑了但失败(摘要生成失败 / 压缩异常)→ **failed**(重归类:文本判据期这两串
730
+ * 无失败前缀、曾被静默算成功,口径变更见方案 §七);成功 → ok。
731
+ * text 仍是回传给 LLM 的提示串(失败/无目标不抛错阻断工具链)。
550
732
  */
551
733
  private compressContext;
552
734
  /**
553
735
  * 定位当前触发输入(顶级锚点)之前最早的 turn;无旧轮次(新对话第一轮)返回 null
554
736
  * (当前输入永不压缩——交软上限收尾而非压掉触发输入继续硬跑)。
737
+ *
738
+ * ⚠️ **单轮 turn 内本定位器恒返回 null**(CTX-WIN-2 实锤):锚点是
739
+ * 「第一个 user vs 最后一个 user」,而单轮 turn 内**只有一个 user**(当前触发输入)
740
+ * ⇒ `firstUserIdx >= lastUserIdx` 恒成立 ⇒ 无旧 turn 可压。
741
+ * 这不是「长单轮不需要压缩」,而是**锚点粒度选错了**——单轮内的历史是 step 序列,
742
+ * 由 `findEarliestSteps` 承接。两定位器互补,单轮长任务才有目标。
555
743
  */
556
744
  private findEarliestRound;
557
- /** 定位最大的 tool 结果(超大 tool_result 的压缩目标) */
745
+ /**
746
+ * 定位最大的 tool 结果所在**整段 step**(超大 tool_result 的压缩目标)。
747
+ *
748
+ * 🔴 **配对完整性(CTX-WIN-2 实锤,原实现带伤)**:本定位器曾只返回
749
+ * **单条 tool 消息**,而它所属的 `assistant.toolCalls` 留在上下文里
750
+ * ⇒ 下一次请求命中发送边界守卫 `unpairedAssistantCall` **fail-fast 抛错,整个 turn 崩掉**
751
+ * (实证:单轮 turn 内 `target=largest_tool_result` 必崩,非边缘情形)。
752
+ * 故返回**整段**:该 tool 消息 + 所属 assistant 消息(toolCalls 全部摘除)
753
+ * + 中间夹在两者之间的其他消息——保证替换后剩余上下文仍处处配对。
754
+ */
558
755
  private findLargestToolResult;
756
+ /**
757
+ * 定位**最早的若干个已完成 step**(单轮 turn 内的压缩目标,CTX-WIN-2 新增)。
758
+ *
759
+ * 为什么需要它(第一性原理):单轮长任务(一个 user 输入跑几十个 step)的上下文增长
760
+ * 全部来自 **step 序列**(assistant 思考 + tool 结果),而 `earliest_round` 的锚点是
761
+ * 「user 消息」⇒ 单轮内只有一个 user ⇒ 恒无目标。上一轮三样本 38.5万 / 105.3万 / 72.0万
762
+ * token 的长单轮就是这样把窗口顶满、却没有任何可压目标。
763
+ *
764
+ * **step 边界判据**(内核既有结构,零新概念):一个 step = 一条 `assistant` 消息
765
+ * (思考/工具调用意图)到**下一条 assistant 消息之前**的全部消息(含其 tool 结果与
766
+ * 夹在中间的 system 注入)。故本定位器 = 「跳过当前触发输入,取第一个 assistant 起的
767
+ * 一个完整 step」。
768
+ *
769
+ * 边界纪律(与既有两定位器同源):
770
+ * ① **当前触发输入(最后一个 user)永不压缩**——顶级锚点;
771
+ * ② **只取「已完成」的 step**:末条 assistant 之后若还有 tool 结果,说明该 step 尚未走完
772
+ * (结果可能是 `[ASK_SUSPENDED]` 等),留待下轮;
773
+ * ③ **整段替换**——step 内 assistant.toolCalls 与其 tool 结果同进同出,配对恒成立。
774
+ */
775
+ private findEarliestSteps;
776
+ /** 压缩目标分派(三个定位器互补,各守一条通道,不合并成泛化遍历) */
777
+ private findCompressTarget;
559
778
  /** 用 provider 把目标内容压成临时摘要(走 summary 路由,轻量模型优先;失败降级空串) */
560
779
  private summarizeForCompression;
561
780
  /**
@@ -804,7 +1023,8 @@ export declare class AgentLoop {
804
1023
  * ack **不回填 note 原文**(工具结果只回「已记录」),note 原文只进情报区 system 消息 → 不在用户流。
805
1024
  *
806
1025
  * @param args remember_intel 的 JSON arguments
807
- * @returns 简短 ack(作为该工具调用的 tool 结果)
1026
+ * @returns 结构化 outcome(B4 判据切换):note 为空 → blocked(invalid_intel_note)
1027
+ * (主动挡下:没写就谈不上失败);已记录 → ok。text 仍为简短 ack(工具结果不回填 note 原文)。
808
1028
  */
809
1029
  private handleRememberIntel;
810
1030
  /**
@@ -824,13 +1044,34 @@ export declare class AgentLoop {
824
1044
  */
825
1045
  private injectIntelNote;
826
1046
  /**
827
- * 缓存条目对应的工具结果是否**仍在当前上下文中** —— 防重拦截的前提(调用点见 handleToolCalls)。
1047
+ * 指定 toolCallId 的 tool 消息是否仍在上下文中且内容未被改动 —— 「结果仍在上下文」的共用判据。
828
1048
  *
829
- * 三道判据全过才算「在」:① 条目带 toolCallId 与指纹;② `this.messages` 中仍有该 toolCallId 的
830
- * tool 消息;③ 其内容指纹与记录一致(内容未被压缩链替换成 `[Previous: used x]` 占位符)。
1049
+ * 两个消费语境(SSOT):① read_dedup 分支①(经 isCachedResultStillInContext);
1050
+ * ② 台账替身回显分支②(按 FileCoverage.lastToolCallId + fingerprint 直调)。
1051
+ * 二者比对口径必须一致(wrapped 后消息内容指纹),否则两路对「同一结果在不在」的理解分叉。
831
1052
  *
832
- * **保守方向:宁可放行,不可误拦。** 找不到消息 / 指纹不符 / 条目缺元信息 → 一律 false(放行)。
1053
+ * 三道判据全过才算「在」:消息数组中仍有该 toolCallId 的 tool 消息,且内容指纹与记录一致
1054
+ * (内容未被压缩链替换成 `[Previous: used x]` 占位符)。
1055
+ *
1056
+ * **保守方向:宁可放行,不可误拦。** 找不到消息 / 指纹不符 → false(放行)。
833
1057
  * 误放行的代价是「多读一次」;误拦的代价是「内容已不在手上却读不回来 = 死锁」——两者不对称。
1058
+ */
1059
+ private isMessageStillUnmodified;
1060
+ /**
1061
+ * 指定 toolCallId 的 tool 消息**内容**(判「在不在」与取内容同源,避免两处各自 find 各算一次)。
1062
+ *
1063
+ * 判据与 `isMessageStillUnmodified` 完全一致(布尔版委托本方法),差别只在返回原文:
1064
+ * 分支②拦截后要按请求区间回显原文,而「在不在」的判据本身已经把消息翻出来了——
1065
+ * 再翻一次既浪费,又容易让两处对「同一结果在不在」的理解分叉(SSOT:翻找+指纹比对只此一处)。
1066
+ *
1067
+ * @returns 仍在上下文且未被压缩链改动的原始消息内容;否则 undefined
1068
+ */
1069
+ private stillUnmodifiedContent;
1070
+ /**
1071
+ * 缓存条目对应的工具结果是否**仍在当前上下文中** —— read_dedup 分支①拦截的前提(调用点见 handleToolCalls)。
1072
+ *
1073
+ * 实际判定委托 `isMessageStillUnmodified`(与台账分支②共用判据);本方法只补条目元信息缺失的
1074
+ * 保守放行(条目没带 toolCallId/指纹 → 无从核验 → 视为「不在」放行)。
834
1075
  *
835
1076
  * 注:超阈结果经入口关落盘后,上下文里留的是「路径 + 预览」,与记录指纹(包裹后的原文)不符
836
1077
  * → 判为「不在」,重读放行。这是正确语义:原文确实已不在上下文中。
@@ -838,7 +1079,18 @@ export declare class AgentLoop {
838
1079
  private isCachedResultStillInContext;
839
1080
  /** 整体替换执行上下文(截断落盘 / 恢复历史 / 装配重排:传入的数组已是完整上下文) */
840
1081
  private replaceContext;
841
- /** 处理工具执行结果:push tool 消息 + 统计失败数 */
1082
+ /**
1083
+ * 处理工具执行结果:push tool 消息 + 按结构化 `status` 结算计数。
1084
+ *
1085
+ * B4 判据切换:成败/拦截判据唯一真源 = `ToolOutcome.status`(三值契约),不再解析文本前缀。
1086
+ * 三路互斥穷尽:
1087
+ * · `blocked` → `toolBlockedCount`(主动挡下总数:loop 护栏 + 旁路拒绝 + 台账替身 + 执行层闸门)
1088
+ * 其中 `hasRealFailure=true`(当前唯一 = read_failed 护栏)→ 另计 `toolBlockedWithFailureCount`
1089
+ * · `failed` → `toolFailureCount`;`ok` → 无计数
1090
+ * **口径变更(Breaking,CHANGELOG 已登记)**:执行层闸门(宿主审批拒绝 / 只读拒绝 /
1091
+ * 幂等跳过)从 `toolFailureCount` 剔除、归入 `toolBlockedCount` ⇒ 失败数下降、挡下数上升,
1092
+ * 历史不可比(方案 §六决策二)。
1093
+ */
842
1094
  private _processToolResults;
843
1095
  }
844
1096
  //# sourceMappingURL=loop.d.ts.map
@@ -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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"}