@zooique/memora 3.0.1 → 5.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 (282) hide show
  1. package/CHANGELOG.md +161 -1033
  2. package/README.en.md +46 -39
  3. package/README.md +40 -35
  4. package/config.example.json +1 -8
  5. package/dist/agent/agent.d.ts +88 -80
  6. package/dist/agent/agent.d.ts.map +1 -1
  7. package/dist/agent/agent.js +272 -221
  8. package/dist/agent/agent.js.map +1 -1
  9. package/dist/agent/assembler.d.ts +22 -21
  10. package/dist/agent/assembler.d.ts.map +1 -1
  11. package/dist/agent/assembler.js +120 -46
  12. package/dist/agent/assembler.js.map +1 -1
  13. package/dist/agent/backgroundTasks.d.ts +194 -0
  14. package/dist/agent/backgroundTasks.d.ts.map +1 -0
  15. package/dist/agent/backgroundTasks.js +314 -0
  16. package/dist/agent/backgroundTasks.js.map +1 -0
  17. package/dist/agent/budget.d.ts +23 -5
  18. package/dist/agent/budget.d.ts.map +1 -1
  19. package/dist/agent/budget.js +8 -2
  20. package/dist/agent/budget.js.map +1 -1
  21. package/dist/agent/builtinToolHandlers.d.ts +29 -9
  22. package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
  23. package/dist/agent/builtinToolHandlers.js +53 -13
  24. package/dist/agent/builtinToolHandlers.js.map +1 -1
  25. package/dist/agent/builtinTools.d.ts +15 -1
  26. package/dist/agent/builtinTools.d.ts.map +1 -1
  27. package/dist/agent/builtinTools.js +111 -30
  28. package/dist/agent/builtinTools.js.map +1 -1
  29. package/dist/agent/constants.d.ts +31 -6
  30. package/dist/agent/constants.d.ts.map +1 -1
  31. package/dist/agent/constants.js +38 -8
  32. package/dist/agent/constants.js.map +1 -1
  33. package/dist/agent/contextManager.d.ts +8 -0
  34. package/dist/agent/contextManager.d.ts.map +1 -1
  35. package/dist/agent/contextManager.js +45 -3
  36. package/dist/agent/contextManager.js.map +1 -1
  37. package/dist/agent/contextPreparer.d.ts +1 -1
  38. package/dist/agent/contextPreparer.d.ts.map +1 -1
  39. package/dist/agent/contextPreparer.js +15 -10
  40. package/dist/agent/contextPreparer.js.map +1 -1
  41. package/dist/agent/guardRail.d.ts +12 -1
  42. package/dist/agent/guardRail.d.ts.map +1 -1
  43. package/dist/agent/guardRail.js +37 -2
  44. package/dist/agent/guardRail.js.map +1 -1
  45. package/dist/agent/loop.d.ts +319 -34
  46. package/dist/agent/loop.d.ts.map +1 -1
  47. package/dist/agent/loop.js +713 -110
  48. package/dist/agent/loop.js.map +1 -1
  49. package/dist/agent/managers/archiveCoordinator.d.ts +19 -4
  50. package/dist/agent/managers/archiveCoordinator.d.ts.map +1 -1
  51. package/dist/agent/managers/archiveCoordinator.js +25 -4
  52. package/dist/agent/managers/archiveCoordinator.js.map +1 -1
  53. package/dist/agent/managers/chatLockManager.d.ts +3 -9
  54. package/dist/agent/managers/chatLockManager.d.ts.map +1 -1
  55. package/dist/agent/managers/chatLockManager.js +7 -25
  56. package/dist/agent/managers/chatLockManager.js.map +1 -1
  57. package/dist/agent/managers/llmCaller.d.ts.map +1 -1
  58. package/dist/agent/managers/llmCaller.js +27 -1
  59. package/dist/agent/managers/llmCaller.js.map +1 -1
  60. package/dist/agent/managers/loopMetrics.d.ts +14 -0
  61. package/dist/agent/managers/loopMetrics.d.ts.map +1 -1
  62. package/dist/agent/managers/loopMetrics.js +15 -0
  63. package/dist/agent/managers/loopMetrics.js.map +1 -1
  64. package/dist/agent/managers/memoryInspector.d.ts +13 -15
  65. package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
  66. package/dist/agent/managers/memoryInspector.js +38 -49
  67. package/dist/agent/managers/memoryInspector.js.map +1 -1
  68. package/dist/agent/managers/roundSummaryGenerator.d.ts +31 -1
  69. package/dist/agent/managers/roundSummaryGenerator.d.ts.map +1 -1
  70. package/dist/agent/managers/roundSummaryGenerator.js +81 -6
  71. package/dist/agent/managers/roundSummaryGenerator.js.map +1 -1
  72. package/dist/agent/managers/sessionArchiver.d.ts +35 -3
  73. package/dist/agent/managers/sessionArchiver.d.ts.map +1 -1
  74. package/dist/agent/managers/sessionArchiver.js +34 -3
  75. package/dist/agent/managers/sessionArchiver.js.map +1 -1
  76. package/dist/agent/managers/sessionManager.d.ts +21 -88
  77. package/dist/agent/managers/sessionManager.d.ts.map +1 -1
  78. package/dist/agent/managers/sessionManager.js +94 -278
  79. package/dist/agent/managers/sessionManager.js.map +1 -1
  80. package/dist/agent/managers/toolCallHelpers.d.ts +109 -28
  81. package/dist/agent/managers/toolCallHelpers.d.ts.map +1 -1
  82. package/dist/agent/managers/toolCallHelpers.js +93 -37
  83. package/dist/agent/managers/toolCallHelpers.js.map +1 -1
  84. package/dist/agent/messageHistory.d.ts.map +1 -1
  85. package/dist/agent/messageHistory.js +9 -5
  86. package/dist/agent/messageHistory.js.map +1 -1
  87. package/dist/agent/seed/orchestrator.d.ts +12 -1
  88. package/dist/agent/seed/orchestrator.d.ts.map +1 -1
  89. package/dist/agent/seed/orchestrator.js +15 -4
  90. package/dist/agent/seed/orchestrator.js.map +1 -1
  91. package/dist/agent/seed/prepare.d.ts.map +1 -1
  92. package/dist/agent/seed/prepare.js +9 -4
  93. package/dist/agent/seed/prepare.js.map +1 -1
  94. package/dist/agent/seed/types.d.ts +11 -4
  95. package/dist/agent/seed/types.d.ts.map +1 -1
  96. package/dist/agent/seed/types.js +2 -2
  97. package/dist/agent/textSanitize.d.ts +36 -0
  98. package/dist/agent/textSanitize.d.ts.map +1 -0
  99. package/dist/agent/textSanitize.js +55 -0
  100. package/dist/agent/textSanitize.js.map +1 -0
  101. package/dist/agent/toolExecutor.d.ts +97 -26
  102. package/dist/agent/toolExecutor.d.ts.map +1 -1
  103. package/dist/agent/toolExecutor.js +444 -78
  104. package/dist/agent/toolExecutor.js.map +1 -1
  105. package/dist/agent/toolLedger.d.ts +93 -41
  106. package/dist/agent/toolLedger.d.ts.map +1 -1
  107. package/dist/agent/toolLedger.js +114 -42
  108. package/dist/agent/toolLedger.js.map +1 -1
  109. package/dist/agent/toolResultCache.js +1 -1
  110. package/dist/agent/toolResultOffload.d.ts +8 -0
  111. package/dist/agent/toolResultOffload.d.ts.map +1 -1
  112. package/dist/agent/toolResultOffload.js +10 -3
  113. package/dist/agent/toolResultOffload.js.map +1 -1
  114. package/dist/agent/toolRunner.d.ts +16 -7
  115. package/dist/agent/toolRunner.d.ts.map +1 -1
  116. package/dist/agent/toolRunner.js +74 -29
  117. package/dist/agent/toolRunner.js.map +1 -1
  118. package/dist/agent/tracer.d.ts +13 -1
  119. package/dist/agent/tracer.d.ts.map +1 -1
  120. package/dist/agent/types.d.ts +74 -30
  121. package/dist/agent/types.d.ts.map +1 -1
  122. package/dist/code-exec/types.d.ts +9 -0
  123. package/dist/code-exec/types.d.ts.map +1 -1
  124. package/dist/index.d.ts +28 -41
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +65 -54
  127. package/dist/index.js.map +1 -1
  128. package/dist/logging/logger.d.ts +4 -1
  129. package/dist/logging/logger.d.ts.map +1 -1
  130. package/dist/logging/logger.js +5 -2
  131. package/dist/logging/logger.js.map +1 -1
  132. package/dist/memory/gcService.d.ts.map +1 -1
  133. package/dist/memory/gcService.js +3 -5
  134. package/dist/memory/gcService.js.map +1 -1
  135. package/dist/memory/inMemorySessionStore.d.ts +2 -2
  136. package/dist/memory/inMemorySessionStore.js +2 -2
  137. package/dist/memory/inMemoryStorage.d.ts +4 -3
  138. package/dist/memory/inMemoryStorage.d.ts.map +1 -1
  139. package/dist/memory/inMemoryStorage.js +2 -2
  140. package/dist/memory/inMemoryStorage.js.map +1 -1
  141. package/dist/memory/nodeSqliteStorage.d.ts +17 -0
  142. package/dist/memory/nodeSqliteStorage.d.ts.map +1 -0
  143. package/dist/memory/nodeSqliteStorage.js +393 -0
  144. package/dist/memory/nodeSqliteStorage.js.map +1 -0
  145. package/dist/memory/projectManager.d.ts +10 -20
  146. package/dist/memory/projectManager.d.ts.map +1 -1
  147. package/dist/memory/projectManager.js +27 -41
  148. package/dist/memory/projectManager.js.map +1 -1
  149. package/dist/memory/roundStore.d.ts +143 -82
  150. package/dist/memory/roundStore.d.ts.map +1 -1
  151. package/dist/memory/roundStore.js +4 -15
  152. package/dist/memory/roundStore.js.map +1 -1
  153. package/dist/memory/roundSummaryLookup.d.ts +26 -0
  154. package/dist/memory/roundSummaryLookup.d.ts.map +1 -0
  155. package/dist/memory/roundSummaryLookup.js +19 -0
  156. package/dist/memory/roundSummaryLookup.js.map +1 -0
  157. package/dist/memory/sessionStore.d.ts +19 -2
  158. package/dist/memory/sessionStore.d.ts.map +1 -1
  159. package/dist/memory/sessionStore.js.map +1 -1
  160. package/dist/memory/sourceValidation.d.ts +2 -13
  161. package/dist/memory/sourceValidation.d.ts.map +1 -1
  162. package/dist/memory/sourceValidation.js +5 -16
  163. package/dist/memory/sourceValidation.js.map +1 -1
  164. package/dist/memory/storageInterface.d.ts +26 -16
  165. package/dist/memory/storageInterface.d.ts.map +1 -1
  166. package/dist/memory/supersedeResolve.d.ts +39 -0
  167. package/dist/memory/supersedeResolve.d.ts.map +1 -0
  168. package/dist/memory/supersedeResolve.js +16 -0
  169. package/dist/memory/supersedeResolve.js.map +1 -0
  170. package/dist/memory/types.d.ts +10 -2
  171. package/dist/memory/types.d.ts.map +1 -1
  172. package/dist/memory/types.js +6 -1
  173. package/dist/memory/types.js.map +1 -1
  174. package/dist/role-pack/rolePackManager.d.ts +74 -33
  175. package/dist/role-pack/rolePackManager.d.ts.map +1 -1
  176. package/dist/role-pack/rolePackManager.js +112 -53
  177. package/dist/role-pack/rolePackManager.js.map +1 -1
  178. package/dist/role-pack/strategyKeys.d.ts +44 -0
  179. package/dist/role-pack/strategyKeys.d.ts.map +1 -1
  180. package/dist/role-pack/strategyKeys.js +55 -0
  181. package/dist/role-pack/strategyKeys.js.map +1 -1
  182. package/dist/role-pack/strategyResolver.d.ts +6 -1
  183. package/dist/role-pack/strategyResolver.d.ts.map +1 -1
  184. package/dist/role-pack/strategyResolver.js +20 -2
  185. package/dist/role-pack/strategyResolver.js.map +1 -1
  186. package/dist/role-pack/types.d.ts +5 -1
  187. package/dist/role-pack/types.d.ts.map +1 -1
  188. package/dist/security/confirmEntries.d.ts +44 -0
  189. package/dist/security/confirmEntries.d.ts.map +1 -0
  190. package/dist/security/confirmEntries.js +59 -0
  191. package/dist/security/confirmEntries.js.map +1 -0
  192. package/dist/security/pathGuard.d.ts +42 -6
  193. package/dist/security/pathGuard.d.ts.map +1 -1
  194. package/dist/security/pathGuard.js +126 -5
  195. package/dist/security/pathGuard.js.map +1 -1
  196. package/dist/skill/skillScriptRunner.d.ts +147 -15
  197. package/dist/skill/skillScriptRunner.d.ts.map +1 -1
  198. package/dist/skill/skillScriptRunner.js +479 -68
  199. package/dist/skill/skillScriptRunner.js.map +1 -1
  200. package/dist/utils/backgroundTask.d.ts +56 -34
  201. package/dist/utils/backgroundTask.d.ts.map +1 -1
  202. package/dist/utils/backgroundTask.js +130 -99
  203. package/dist/utils/backgroundTask.js.map +1 -1
  204. package/dist/utils/configResourceManager.d.ts +6 -2
  205. package/dist/utils/configResourceManager.d.ts.map +1 -1
  206. package/dist/utils/configResourceManager.js +8 -2
  207. package/dist/utils/configResourceManager.js.map +1 -1
  208. package/dist/utils/errors.d.ts +12 -2
  209. package/dist/utils/errors.d.ts.map +1 -1
  210. package/dist/utils/errors.js +12 -2
  211. package/dist/utils/errors.js.map +1 -1
  212. package/dist/utils/eventEmitter.d.ts +76 -23
  213. package/dist/utils/eventEmitter.d.ts.map +1 -1
  214. package/dist/utils/eventEmitter.js +23 -3
  215. package/dist/utils/eventEmitter.js.map +1 -1
  216. package/dist/utils/time.d.ts +8 -5
  217. package/dist/utils/time.d.ts.map +1 -1
  218. package/dist/utils/time.js +8 -5
  219. package/dist/utils/time.js.map +1 -1
  220. package/dist/utils/toError.d.ts +1 -1
  221. package/dist/utils/toError.js +1 -1
  222. package/dist/web-fetch/loginWall.d.ts +39 -0
  223. package/dist/web-fetch/loginWall.d.ts.map +1 -0
  224. package/dist/web-fetch/loginWall.js +78 -0
  225. package/dist/web-fetch/loginWall.js.map +1 -0
  226. package/dist/web-fetch/types.d.ts +8 -0
  227. package/dist/web-fetch/types.d.ts.map +1 -1
  228. package/dist/web-fetch/webFetchProvider.d.ts.map +1 -1
  229. package/dist/web-fetch/webFetchProvider.js +3 -1
  230. package/dist/web-fetch/webFetchProvider.js.map +1 -1
  231. package/dist/web-search/fetchWebSearchProvider.js +28 -23
  232. package/dist/web-search/fetchWebSearchProvider.js.map +1 -1
  233. package/docs/architecture/role-pack-authoring-guide.md +3 -1
  234. package/docs/architecture/role-pack-spec.md +2 -1
  235. package/docs/memora-api-reference.md +1349 -1175
  236. 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
  237. package/docs/memora-/346/216/245/345/205/245/346/214/207/345/215/227.md +91 -52
  238. package/docs/role-pack-/345/274/200/346/224/276/351/224/256/346/214/207/345/215/227.md +148 -148
  239. package/package.json +9 -4
  240. package/role-packs/README.md +41 -40
  241. package/role-packs/memora/345/212/251/346/211/213/rules.md +4 -4
  242. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/manifest.json +1 -0
  243. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/persona.md +1 -1
  244. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/rules.md +1 -0
  245. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/emotion-wave.md +1 -1
  246. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/foreshadow.md +1 -1
  247. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/outline-expand.md +32 -5
  248. 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 +10 -6
  249. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/story-bible.md +3 -1
  250. 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
  251. package/dist/agent/managers/dedupManager.d.ts +0 -85
  252. package/dist/agent/managers/dedupManager.d.ts.map +0 -1
  253. package/dist/agent/managers/dedupManager.js +0 -248
  254. package/dist/agent/managers/dedupManager.js.map +0 -1
  255. package/dist/agent/managers/goalConsistencyChecker.d.ts +0 -42
  256. package/dist/agent/managers/goalConsistencyChecker.d.ts.map +0 -1
  257. package/dist/agent/managers/goalConsistencyChecker.js +0 -178
  258. package/dist/agent/managers/goalConsistencyChecker.js.map +0 -1
  259. package/dist/agent/managers/llmJudgeHelper.d.ts +0 -21
  260. package/dist/agent/managers/llmJudgeHelper.d.ts.map +0 -1
  261. package/dist/agent/managers/llmJudgeHelper.js +0 -32
  262. package/dist/agent/managers/llmJudgeHelper.js.map +0 -1
  263. package/dist/agent/managers/memoryAdvisor.d.ts +0 -105
  264. package/dist/agent/managers/memoryAdvisor.d.ts.map +0 -1
  265. package/dist/agent/managers/memoryAdvisor.js +0 -322
  266. package/dist/agent/managers/memoryAdvisor.js.map +0 -1
  267. package/dist/agent/managers/memoryGovernance.d.ts +0 -24
  268. package/dist/agent/managers/memoryGovernance.d.ts.map +0 -1
  269. package/dist/agent/managers/memoryGovernance.js +0 -46
  270. package/dist/agent/managers/memoryGovernance.js.map +0 -1
  271. package/dist/memory/governance.d.ts +0 -17
  272. package/dist/memory/governance.d.ts.map +0 -1
  273. package/dist/memory/governance.js +0 -17
  274. package/dist/memory/governance.js.map +0 -1
  275. package/dist/memory/projectRegistry.d.ts +0 -47
  276. package/dist/memory/projectRegistry.d.ts.map +0 -1
  277. package/dist/memory/projectRegistry.js +0 -151
  278. package/dist/memory/projectRegistry.js.map +0 -1
  279. package/dist/utils/recallDefaults.d.ts +0 -16
  280. package/dist/utils/recallDefaults.d.ts.map +0 -1
  281. package/dist/utils/recallDefaults.js +0 -16
  282. package/dist/utils/recallDefaults.js.map +0 -1
@@ -133,6 +133,17 @@ export declare const LOOP_CONSTANTS: {
133
133
  * 会超出单条上限 → 被入口关落盘 → LLM 每次读文件只看得到路径(荒谬行为,且无测试会红)。
134
134
  */
135
135
  readonly TOOL_RESULT_WRAP_OVERHEAD_TOKENS: 100;
136
+ /**
137
+ * 入口关落盘后,替换文本里**尾部预览**的字符数(默认预览总预算 1,000 中的一份)。
138
+ *
139
+ * 与 `SCRIPT_RESULT_TAIL_CHARS` 同因:长输出的关键信息常在尾部(构建失败原因 /
140
+ * 堆栈末尾 / FAIL 汇总行),只留头会让 LLM 系统性看不到失败原因(缺口 D)。
141
+ *
142
+ * ⚠️ 尾部份额从**总预览预算内**划出(头 = 1,000 − 本键),**不扩大预算**——
143
+ * 预算扩大会让替换文本逼近 `SINGLE_TOOL_RESULT_MAX_TOKENS`,
144
+ * 破坏「替换后不二次落盘」的结构性保证。
145
+ */
146
+ readonly TOOL_RESULT_OFFLOAD_TAIL_PREVIEW_CHARS: 300;
136
147
  /**
137
148
  * `search_memories` 工具响应性护栏:整次关键词搜索的上限。
138
149
  *
@@ -172,12 +183,6 @@ export declare const LOOP_CONSTANTS: {
172
183
  readonly SEARCH_CONVERGENCE_THRESHOLD: 2;
173
184
  /** 搜索收敛提示(executionTemp 幂等:一轮内仅注入一次,下一闭环入口即弃) */
174
185
  readonly SEARCH_CONVERGENCE_HINT: string;
175
- /**
176
- * 搜索硬上限(实测软提示未能阻止 LLM 持续重搜,故确定性拒绝)。
177
- * 单 turn(问答闭环)内 web_search 调用次数超过此数后,后续搜索执行时直接拒绝并回填拒绝文案,
178
- * 不依赖 LLM 听从软提示——软提示引导收敛(< 上限时),硬限兜底(达到上限强制停)。
179
- */
180
- readonly MAX_WEB_SEARCH_CALLS: 6;
181
186
  /**
182
187
  * 工具调用导语纪律(分区式 UI 配套):正文只承载最终交付,工具步的过程叙述
183
188
  * 由内核 narrate 事件投影进过程区。约束模型在调用工具前不输出长段规划——长导语若发生在
@@ -205,5 +210,25 @@ export declare const LOOP_CONSTANTS: {
205
210
  * 长文本(reasoning)判定仍以最近一条 user 消息为准(反映当前轮意图)。
206
211
  */
207
212
  readonly TASK_TYPE_WINDOW: 3;
213
+ /**
214
+ * 待注入插话(interruptQueue 中 interject 条目)上限。5 条 ≈ step 边界一次注入的极限:
215
+ * 超量注入会让上下文爆炸 + LLM 被碎片指令搞懵。达上限**整条拒收**(loop.interject
216
+ * 返回 false,插话是原子思路不截半条)。值真源在本文件;宿主 webview 预检镜像
217
+ * (hosts 的 shared/constants.ts 同名常量)由宿主守卫测试与本值锁同值防漂移。
218
+ */
219
+ readonly MAX_PENDING_INTERJECTIONS: 5;
220
+ /**
221
+ * 待消费的后台命令完成回流(interruptQueue 中 command-result 条目)上限。
222
+ *
223
+ * 与 `MAX_PENDING_INTERJECTIONS` **异义勿合并**(对齐 builtinToolHandlers「异义同值勿误合并」
224
+ * 纪律):插话是「用户意图洪流」,超量要拒收(拒收有代价:用户的补充输入被丢);
225
+ * 回流是「已发生的系统事件」,**不可拒收**(命令已经跑完、输出已经存在,丢掉就是静默
226
+ * 丢弃真相),只能限量**每步注入量**——超出的留队列,下个 step 边界继续注入。
227
+ *
228
+ * 为何需要上限:单条回流已由 COMMAND_RESULT_MAX_CHARS 定长(20k 字符),
229
+ * 但条数无上限时 N 个后台任务同时完成 = N × 20k 一次性进上下文 ⇒ 上下文爆炸。
230
+ * 值取 3:约 60k 字符,已接近但未触 120K 窗口;且后台任务本身是低频能力。
231
+ */
232
+ readonly MAX_PENDING_COMMAND_RESULTS: 3;
208
233
  };
209
234
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/agent/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH;;;;GAIG;AACH,eAAO,MAAM,eAAe;IAC1B;;;OAGG;;IAGH,gCAAgC;;IAGhC,+BAA+B;;IAG/B;;;;;;OAMG;;IAGH;;;OAGG;;IAGH,kCAAkC;;IAGlC,wCAAwC;;IAGxC;;;OAGG;;;CASK,CAAC;AAEX;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc;IACzB;;;;;OAKG;;IAGH;;;;;;;;;;OAUG;;IAGH,4BAA4B;;IAG5B,gCAAgC;;IAGhC,oCAAoC;;IAGpC;;;;;;;;;;OAUG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH,uCAAuC;;IAGvC;;;OAGG;;IAIH;kFAC8E;;IAG9E;;;;OAIG;;IAMH;;;;OAIG;;IAGH,iDAAiD;;IAMjD;;;;OAIG;;IAGH;;;;;OAKG;;IAMH,yBAAyB;;IAGzB,4BAA4B;;IAG5B,iCAAiC;;IAGjC;;;;;;OAMG;;IAGH;;;;OAIG;;CAEK,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/agent/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH;;;;GAIG;AACH,eAAO,MAAM,eAAe;IAC1B;;;OAGG;;IAGH,gCAAgC;;IAGhC,+BAA+B;;IAG/B;;;;;;OAMG;;IAGH;;;OAGG;;IAGH,kCAAkC;;IAGlC,wCAAwC;;IAGxC;;;OAGG;;;CASK,CAAC;AAEX;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc;IACzB;;;;;OAKG;;IAGH;;;;;;;;;;OAUG;;IAGH,4BAA4B;;IAG5B,gCAAgC;;IAGhC,oCAAoC;;IAGpC;;;;;;;;;;OAUG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH,uCAAuC;;IAGvC;;;OAGG;;IAIH;kFAC8E;;IAG9E;;;;OAIG;;IAMH;;;;OAIG;;IAGH,iDAAiD;;IAWjD;;;;;OAKG;;IAMH,yBAAyB;;IAGzB,4BAA4B;;IAG5B,iCAAiC;;IAGjC;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;;;;OAWG;;CAEK,CAAC"}
@@ -8,8 +8,9 @@
8
8
  */
9
9
  // 上下文预算装配后,最近对话注入轮数由预算动态派生(见 budget.ts / contextPreparer.ts),
10
10
  // agent 常量层不再持有固定轮数默认。
11
- // SSOT:召回排除默认值下沉到 utils/recallDefaults(记忆层与 agent 层共享,避免两处定义),
12
- // 消费方 MemoryAdvisor 直接 import 源头,agent 常量层不 re-export。
11
+ // 删后注记(2026-10-18 · GOVERNANCE-SRC-1):此处原有「召回排除默认值下沉到 utils/recallDefaults,
12
+ // 消费方 MemoryAdvisor 直接 import 源头」的 SSOT 说明。两边已于治理链整链退役时一并删除
13
+ // (recallDefaults 最后一个消费方消失),故本段说明随之作废。
13
14
  /**
14
15
  * Agent 门面层常量
15
16
  *
@@ -142,6 +143,17 @@ export const LOOP_CONSTANTS = {
142
143
  * 会超出单条上限 → 被入口关落盘 → LLM 每次读文件只看得到路径(荒谬行为,且无测试会红)。
143
144
  */
144
145
  TOOL_RESULT_WRAP_OVERHEAD_TOKENS: 100,
146
+ /**
147
+ * 入口关落盘后,替换文本里**尾部预览**的字符数(默认预览总预算 1,000 中的一份)。
148
+ *
149
+ * 与 `SCRIPT_RESULT_TAIL_CHARS` 同因:长输出的关键信息常在尾部(构建失败原因 /
150
+ * 堆栈末尾 / FAIL 汇总行),只留头会让 LLM 系统性看不到失败原因(缺口 D)。
151
+ *
152
+ * ⚠️ 尾部份额从**总预览预算内**划出(头 = 1,000 − 本键),**不扩大预算**——
153
+ * 预算扩大会让替换文本逼近 `SINGLE_TOOL_RESULT_MAX_TOKENS`,
154
+ * 破坏「替换后不二次落盘」的结构性保证。
155
+ */
156
+ TOOL_RESULT_OFFLOAD_TAIL_PREVIEW_CHARS: 300,
145
157
  /**
146
158
  * `search_memories` 工具响应性护栏:整次关键词搜索的上限。
147
159
  *
@@ -185,12 +197,10 @@ export const LOOP_CONSTANTS = {
185
197
  SEARCH_CONVERGENCE_HINT: '## 搜索收敛提示\n' +
186
198
  '你已成功执行多次联网搜索并获取了可用信息。若现有信息已足够支撑回答,请停止继续搜索,' +
187
199
  '直接基于已有信息作答;仅当存在明确信息缺口(如用户指定查询的最新数据确实缺失)时才继续搜索。',
188
- /**
189
- * 搜索硬上限(实测软提示未能阻止 LLM 持续重搜,故确定性拒绝)。
190
- * 单 turn(问答闭环)内 web_search 调用次数超过此数后,后续搜索执行时直接拒绝并回填拒绝文案,
191
- * 不依赖 LLM 听从软提示——软提示引导收敛(< 上限时),硬限兜底(达到上限强制停)。
192
- */
193
- MAX_WEB_SEARCH_CALLS: 6,
200
+ // 删后注记(2026-10-16 · 5.0.0):曾有 MAX_WEB_SEARCH_CALLS: 6——GUARD-SEARCH-1 把搜索硬上限
201
+ // 抬为角色包策略键后,运行时只读 strategy.webSearchLimit(resolveWebSearchLimit 恒有值),
202
+ // 本常量零读取 = 幽灵旋钮(改它零行为变化);缺省值真源唯一化到
203
+ // DEFAULT_BEHAVIOR_STRATEGY.global.webSearchLimit(role-pack 层)。勿加回(§3.2.1 删后注记)。
194
204
  /**
195
205
  * 工具调用导语纪律(分区式 UI 配套):正文只承载最终交付,工具步的过程叙述
196
206
  * 由内核 narrate 事件投影进过程区。约束模型在调用工具前不输出长段规划——长导语若发生在
@@ -220,5 +230,25 @@ export const LOOP_CONSTANTS = {
220
230
  * 长文本(reasoning)判定仍以最近一条 user 消息为准(反映当前轮意图)。
221
231
  */
222
232
  TASK_TYPE_WINDOW: 3,
233
+ /**
234
+ * 待注入插话(interruptQueue 中 interject 条目)上限。5 条 ≈ step 边界一次注入的极限:
235
+ * 超量注入会让上下文爆炸 + LLM 被碎片指令搞懵。达上限**整条拒收**(loop.interject
236
+ * 返回 false,插话是原子思路不截半条)。值真源在本文件;宿主 webview 预检镜像
237
+ * (hosts 的 shared/constants.ts 同名常量)由宿主守卫测试与本值锁同值防漂移。
238
+ */
239
+ MAX_PENDING_INTERJECTIONS: 5,
240
+ /**
241
+ * 待消费的后台命令完成回流(interruptQueue 中 command-result 条目)上限。
242
+ *
243
+ * 与 `MAX_PENDING_INTERJECTIONS` **异义勿合并**(对齐 builtinToolHandlers「异义同值勿误合并」
244
+ * 纪律):插话是「用户意图洪流」,超量要拒收(拒收有代价:用户的补充输入被丢);
245
+ * 回流是「已发生的系统事件」,**不可拒收**(命令已经跑完、输出已经存在,丢掉就是静默
246
+ * 丢弃真相),只能限量**每步注入量**——超出的留队列,下个 step 边界继续注入。
247
+ *
248
+ * 为何需要上限:单条回流已由 COMMAND_RESULT_MAX_CHARS 定长(20k 字符),
249
+ * 但条数无上限时 N 个后台任务同时完成 = N × 20k 一次性进上下文 ⇒ 上下文爆炸。
250
+ * 值取 3:约 60k 字符,已接近但未触 120K 窗口;且后台任务本身是低频能力。
251
+ */
252
+ MAX_PENDING_COMMAND_RESULTS: 3,
223
253
  };
224
254
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/agent/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,8DAA8D;AAC9D,uBAAuB;AACvB,+DAA+D;AAC/D,uDAAuD;AAEvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;;;OAGG;IACH,oBAAoB,EAAE,OAAO;IAE7B,gCAAgC;IAChC,2BAA2B,EAAE,KAAK;IAElC,+BAA+B;IAC/B,qBAAqB,EAAE,GAAG,GAAG,IAAI;IAEjC;;;;;;OAMG;IACH,0BAA0B,EAAE,OAAO;IAEnC;;;OAGG;IACH,cAAc,EAAE,OAAO;IAEvB,kCAAkC;IAClC,oBAAoB,EAAE,CAAC;IAEvB,wCAAwC;IACxC,gBAAgB,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IAEhC;;;OAGG;IACH,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAEnC,mDAAmD;IACnD,EAAE;IACF,iCAAiC;IACjC,6BAA6B;IAC7B,8BAA8B;IAC9B,wBAAwB,EAAE,EAAE;CACpB,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B;;;;;OAKG;IACH,eAAe,EAAE,CAAC;IAElB;;;;;;;;;;OAUG;IACH,mBAAmB,EAAE,GAAG;IAExB,4BAA4B;IAC5B,eAAe,EAAE,CAAC;IAElB,gCAAgC;IAChC,mBAAmB,EAAE,IAAI;IAEzB,oCAAoC;IACpC,cAAc,EAAE,OAAO;IAEvB;;;;;;;;;;OAUG;IACH,2BAA2B,EAAE,GAAG;IAEhC;;;;;;;;;OASG;IACH,yBAAyB,EAAE,GAAG;IAE9B;;;;;;;;;;;;;;;;OAgBG;IACH,6BAA6B,EAAE,KAAK;IAEpC;;;;;;;;;OASG;IACH,gCAAgC,EAAE,GAAG;IAErC;;;;;OAKG;IACH,wBAAwB,EAAE,KAAK;IAE/B;;;;;;OAMG;IACH,oBAAoB,EAAE,KAAK;IAE3B,uCAAuC;IACvC,sBAAsB,EAAE,EAAE;IAE1B;;;OAGG;IACH,wBAAwB,EACtB,wDAAwD;IAE1D;kFAC8E;IAC9E,mCAAmC,EAAE,8BAA8B;IAEnE;;;;OAIG;IACH,qBAAqB,EACnB,cAAc;QACd,yDAAyD;QACzD,4BAA4B;IAE9B;;;;OAIG;IACH,4BAA4B,EAAE,CAAC;IAE/B,iDAAiD;IACjD,uBAAuB,EACrB,aAAa;QACb,4CAA4C;QAC5C,gDAAgD;IAElD;;;;OAIG;IACH,oBAAoB,EAAE,CAAC;IAEvB;;;;;OAKG;IACH,yBAAyB,EACvB,WAAW;QACX,yDAAyD;QACzD,8CAA8C;IAEhD,yBAAyB;IACzB,iBAAiB,EAAE,CAAC;IAEpB,4BAA4B;IAC5B,qBAAqB,EAAE,GAAG;IAE1B,iCAAiC;IACjC,kBAAkB,EAAE,GAAG;IAEvB;;;;;;OAMG;IACH,qBAAqB,EAAE,GAAG;IAE1B;;;;OAIG;IACH,gBAAgB,EAAE,CAAC;CACX,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/agent/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,8DAA8D;AAC9D,uBAAuB;AACvB,4EAA4E;AAC5E,4DAA4D;AAC5D,wCAAwC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;;;OAGG;IACH,oBAAoB,EAAE,OAAO;IAE7B,gCAAgC;IAChC,2BAA2B,EAAE,KAAK;IAElC,+BAA+B;IAC/B,qBAAqB,EAAE,GAAG,GAAG,IAAI;IAEjC;;;;;;OAMG;IACH,0BAA0B,EAAE,OAAO;IAEnC;;;OAGG;IACH,cAAc,EAAE,OAAO;IAEvB,kCAAkC;IAClC,oBAAoB,EAAE,CAAC;IAEvB,wCAAwC;IACxC,gBAAgB,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IAEhC;;;OAGG;IACH,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAEnC,mDAAmD;IACnD,EAAE;IACF,iCAAiC;IACjC,6BAA6B;IAC7B,8BAA8B;IAC9B,wBAAwB,EAAE,EAAE;CACpB,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B;;;;;OAKG;IACH,eAAe,EAAE,CAAC;IAElB;;;;;;;;;;OAUG;IACH,mBAAmB,EAAE,GAAG;IAExB,4BAA4B;IAC5B,eAAe,EAAE,CAAC;IAElB,gCAAgC;IAChC,mBAAmB,EAAE,IAAI;IAEzB,oCAAoC;IACpC,cAAc,EAAE,OAAO;IAEvB;;;;;;;;;;OAUG;IACH,2BAA2B,EAAE,GAAG;IAEhC;;;;;;;;;OASG;IACH,yBAAyB,EAAE,GAAG;IAE9B;;;;;;;;;;;;;;;;OAgBG;IACH,6BAA6B,EAAE,KAAK;IAEpC;;;;;;;;;OASG;IACH,gCAAgC,EAAE,GAAG;IAErC;;;;;;;;;OASG;IACH,sCAAsC,EAAE,GAAG;IAE3C;;;;;OAKG;IACH,wBAAwB,EAAE,KAAK;IAE/B;;;;;;OAMG;IACH,oBAAoB,EAAE,KAAK;IAE3B,uCAAuC;IACvC,sBAAsB,EAAE,EAAE;IAE1B;;;OAGG;IACH,wBAAwB,EACtB,wDAAwD;IAE1D;kFAC8E;IAC9E,mCAAmC,EAAE,8BAA8B;IAEnE;;;;OAIG;IACH,qBAAqB,EACnB,cAAc;QACd,yDAAyD;QACzD,4BAA4B;IAE9B;;;;OAIG;IACH,4BAA4B,EAAE,CAAC;IAE/B,iDAAiD;IACjD,uBAAuB,EACrB,aAAa;QACb,4CAA4C;QAC5C,gDAAgD;IAElD,6EAA6E;IAC7E,sEAAsE;IACtE,mCAAmC;IACnC,iFAAiF;IAEjF;;;;;OAKG;IACH,yBAAyB,EACvB,WAAW;QACX,yDAAyD;QACzD,8CAA8C;IAEhD,yBAAyB;IACzB,iBAAiB,EAAE,CAAC;IAEpB,4BAA4B;IAC5B,qBAAqB,EAAE,GAAG;IAE1B,iCAAiC;IACjC,kBAAkB,EAAE,GAAG;IAEvB;;;;;;OAMG;IACH,qBAAqB,EAAE,GAAG;IAE1B;;;;OAIG;IACH,gBAAgB,EAAE,CAAC;IAEnB;;;;;OAKG;IACH,yBAAyB,EAAE,CAAC;IAE5B;;;;;;;;;;;OAWG;IACH,2BAA2B,EAAE,CAAC;CACtB,CAAC"}
@@ -192,6 +192,14 @@ export declare class ContextManager {
192
192
  * signal 使摘要 LLM 可被中断,避免其卡住时挂起调用方。
193
193
  */
194
194
  getOrCreateSummary(messages: readonly Message[], signal?: AbortSignal): Promise<string>;
195
+ /**
196
+ * 复用摘要产物按窗口比例封顶(P2-4)。
197
+ *
198
+ * 超出 `maxContextTokens × REUSED_SUMMARY_BUDGET_RATIO` 的 token 预算即按**最保守**字符密度
199
+ * (CJK 1.5 字符/token)裁剪,附省略标记。目的:roundSummaryLoader 产物不受 SUMMARY_MAX_TOKENS
200
+ * 约束,原样复用可把截断产物撑爆超窗——封顶把它约束回窗口内可容纳的量级。
201
+ */
202
+ private capSummary;
195
203
  /**
196
204
  * 生成上下文摘要:把被裁剪段压缩成"遗忘补偿"注入 system prompt。
197
205
  *
@@ -1 +1 @@
1
- {"version":3,"file":"contextManager.d.ts","sourceRoot":"","sources":["../../src/agent/contextManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contextManager.d.ts","sourceRoot":"","sources":["../../src/agent/contextManager.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,14 @@ import { isAbortError } from '../utils/errors.js';
24
24
  export const SOFT_LIMIT_SUMMARY_MARKER_ROUND = 'Round summary · roundId:';
25
25
  /** 软上限摘要化判定标记:第二级压缩产物文案前缀(loop.compressContext) */
26
26
  export const SOFT_LIMIT_SUMMARY_MARKER_COMPRESS = 'Compressed context';
27
+ /**
28
+ * 复用已存摘要产物的 token 上限比例(P2-4)。
29
+ *
30
+ * `roundSummaryLoader`(装配注入)拼装最多 5 条已存 round-summary,其长度**不受
31
+ * `SUMMARY_MAX_TOKENS`(生成侧参数)约束**——截断产物此前可被其撑爆(产超窗请求,一次注定
32
+ * 失败的调用)。复用路径按窗口比例封顶,超限即裁剪(保头部 + 省略标记)。
33
+ */
34
+ const REUSED_SUMMARY_BUDGET_RATIO = 0.2;
27
35
  /**
28
36
  * 判断字符是否为 CJK 字符(中文适配)
29
37
  *
@@ -290,14 +298,31 @@ export class ContextManager {
290
298
  role: 'system',
291
299
  content: this.contextTruncatedFn(skipped, tail.length),
292
300
  };
301
+ const summaryMsg = summary
302
+ ? { role: 'system', content: summary }
303
+ : undefined;
293
304
  const truncated = [systemMsg];
294
- if (summary) {
295
- truncated.push({ role: 'system', content: summary });
305
+ if (summaryMsg) {
306
+ truncated.push(summaryMsg);
296
307
  }
297
308
  truncated.push(...keyMessages);
298
309
  truncated.push(placeholder);
299
310
  truncated.push(...tail);
300
311
  const newEstimated = this.estimateTokens(truncated);
312
+ // ── 超窗观测守卫(P2-4) ─────────────────────────────────────
313
+ // system + tail 受 availableTokens(= floor(max × 0.9) − system)约束,但 summary(来自
314
+ // roundSummaryLoader)、keyMessages、placeholder **均不计入 availableTokens** ⇒ 组装产物可能
315
+ // 超 maxContextTokens(超窗 = 一次注定失败的 LLM 调用)。
316
+ // **此处只观测、不改造结构**——结构契约 = system→summary→keyMessages→placeholder→tail,
317
+ // 由用例锁定(改造即破约 = 造伤);真正的止血落在源头:复用摘要产物封顶(见
318
+ // getOrCreateSummary → capSummary,按窗口比例裁剪 roundSummaryLoader 产物)。
319
+ if (newEstimated > this.maxContextTokens) {
320
+ logger.warn({
321
+ newTokens: newEstimated,
322
+ maxContextTokens: this.maxContextTokens,
323
+ summaryTokens: summaryMsg ? this.estimateTokens([summaryMsg]) : 0,
324
+ }, '截断产物超窗(summary/占位符未计入 availableTokens):检查摘要长度或收紧 CONTEXT_TOKENS_BUFFER_RATIO');
325
+ }
301
326
  logger.info({
302
327
  originalCount: messages.length,
303
328
  truncatedCount: truncated.length,
@@ -379,6 +404,22 @@ export class ContextManager {
379
404
  this.contextSummaryMsgCount = messages.length;
380
405
  return summary;
381
406
  }
407
+ /**
408
+ * 复用摘要产物按窗口比例封顶(P2-4)。
409
+ *
410
+ * 超出 `maxContextTokens × REUSED_SUMMARY_BUDGET_RATIO` 的 token 预算即按**最保守**字符密度
411
+ * (CJK 1.5 字符/token)裁剪,附省略标记。目的:roundSummaryLoader 产物不受 SUMMARY_MAX_TOKENS
412
+ * 约束,原样复用可把截断产物撑爆超窗——封顶把它约束回窗口内可容纳的量级。
413
+ */
414
+ capSummary(summary) {
415
+ const budgetTokens = Math.floor(this.maxContextTokens * REUSED_SUMMARY_BUDGET_RATIO);
416
+ if (budgetTokens <= 0)
417
+ return '';
418
+ if (estimateTokensText(summary) <= budgetTokens)
419
+ return summary;
420
+ const charBudget = Math.floor(budgetTokens * LOOP_CONSTANTS.CJK_CHARS_PER_TOKEN);
421
+ return `${summary.slice(0, charBudget)}…`;
422
+ }
382
423
  /**
383
424
  * 生成上下文摘要:把被裁剪段压缩成"遗忘补偿"注入 system prompt。
384
425
  *
@@ -402,7 +443,8 @@ export class ContextManager {
402
443
  if (existing) {
403
444
  summarySpan.setAttribute('source', 'round-summary');
404
445
  logger.debug('上下文截断复用已存 round-summary,跳过 LLM 摘要生成');
405
- return existing;
446
+ // P2-4:复用产物按窗口比例封顶(其长度不受 SUMMARY_MAX_TOKENS 约束)
447
+ return this.capSummary(existing);
406
448
  }
407
449
  }
408
450
  const messagesToSummarize = messages.slice(1);
@@ -1 +1 @@
1
- {"version":3,"file":"contextManager.js","sourceRoot":"","sources":["../../src/agent/contextManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contextManager.js","sourceRoot":"","sources":["../../src/agent/contextManager.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export interface ContextPreparerDeps {
37
37
  tracer: ITracer | null;
38
38
  /** 界面文案(最近对话 / 用户 / 助手标签) */
39
39
  messages: UIMessages | undefined;
40
- /** 上下文窗口容量(token):唯一真理源 = 宿主在构造内核前经 resolveContextWindow(window) 解析注入的单一数字(per-LLM 窗口,缺失回退默认 120K)。内核预算路径只消费单一数字,不认 provider/用户双层来源 */
40
+ /** 上下文窗口容量(token):唯一真理源 = 宿主在构造内核前经 resolveContextWindow(window) 解析注入的单一数字(per-LLM 窗口,缺失回退 = AGENT_CONSTANTS.DEFAULT_MAX_CONTEXT_TOKENS,数字以该常量为真源、不在此落账)。内核预算路径只消费单一数字,不认 provider/用户双层来源 */
41
41
  maxContextTokens: number;
42
42
  };
43
43
  /** 事件发射(桥接到 Agent 强类型 emit) */
@@ -1 +1 @@
1
- {"version":3,"file":"contextPreparer.d.ts","sourceRoot":"","sources":["../../src/agent/contextPreparer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,uBAAuB;IACvB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,cAAc,CAAC;IAC/B,yBAAyB;IACzB,MAAM,EAAE;QACN,8BAA8B;QAC9B,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;QACvB,6BAA6B;QAC7B,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAC;QACjC,uIAAuI;QACvI,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,+BAA+B;IAC/B,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACtD;AAED;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,2BAA2B;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;gBAE/B,IAAI,EAAE,mBAAmB;IAIrC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzC;;;;;;;;;OASG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAuFpD"}
1
+ {"version":3,"file":"contextPreparer.d.ts","sourceRoot":"","sources":["../../src/agent/contextPreparer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,uBAAuB;IACvB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,cAAc,CAAC;IAC/B,yBAAyB;IACzB,MAAM,EAAE;QACN,8BAA8B;QAC9B,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;QACvB,6BAA6B;QAC7B,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAC;QACjC,6LAA6L;QAC7L,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,+BAA+B;IAC/B,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACtD;AAED;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,2BAA2B;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;gBAE/B,IAAI,EAAE,mBAAmB;IAIrC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzC;;;;;;;;;OASG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA4FpD"}
@@ -53,7 +53,7 @@ export class ContextPreparer {
53
53
  const { deps } = this;
54
54
  // ── 上下文预算:动态预算装配(role-pack-spec §C) ──
55
55
  // 容量来源:windowTokens = deps.config.maxContextTokens —— 单一数字,已由宿主在构造内核 Agent 前
56
- // 经内核 resolveContextWindow(window) 解析(per-LLM 窗口为唯一真理源,缺失回退默认 120K)后注入;内核预算路径只消费单一数字,不认 provider/用户双层来源。
56
+ // 经内核 resolveContextWindow(window) 解析(per-LLM 窗口为唯一真理源,缺失回退 = AGENT_CONSTANTS.DEFAULT_MAX_CONTEXT_TOKENS)后注入;内核预算路径只消费单一数字,不认 provider/用户双层来源。
57
57
  // 固定开销取 system prompt;顶级锚点 = 本轮用户输入(独立划块,永不压缩);完整对话层从最近往回塞到 ~90% 止
58
58
  const loop = deps.loop;
59
59
  const loopMessages = loop.getMessages();
@@ -96,15 +96,17 @@ export class ContextPreparer {
96
96
  loop.injectSystemMessage(recentPrompt);
97
97
  logger.debug({ turns: recentHistory.length / 2 }, '最近对话已注入');
98
98
  }
99
- // ── 上下文占用快照(预算可视化):记录各层真实用量,供输入区指示器展示 ──
99
+ // ── 上下文占用快照(预算可视化):记录各层实际用量,供输入区指示器展示 ──
100
100
  // 单一真理源 = 本 prepare 已算出的实际值;宿主/webview 只渲染、不重算。
101
- // rolePackBase = fixedOverheadTokens(system prompt:persona+rules+技能L1+工具schema)
102
- // dialogue = 问答闭环完整对话 token(全量 user+assistant,与装配模式无关——容量诚实
103
- // 统计问答闭环总和;loop.append 侧 refreshOccupancyDialogue 以
104
- // 同一估算器重算覆盖,prepare 与实时刷新同源同数据,无口径漂移)
105
- // inputAnchor = 顶级锚点(本轮用户输入,budget.anchorTokens)
106
- // outputReserve= 窗口 × 输出预留比例(留给模型回答的容量,非已用)
107
- // free = 总容量 − 各段,≥ 0 收敛(窗口过小/输入过大时各段归零)
101
+ // rolePackBase = fixedOverheadTokens(system prompt:persona+rules+技能L1+工具schema)
102
+ // dynamicSystem = messages[0] 之外的 system 消息 token(最近对话块/情报区/任务表/提示等
103
+ // 运行时注入)——计入占用,否则 free 系统性偏大、指示器偏乐观(P1-1)
104
+ // dialogue = 问答闭环完整对话 token(全量 user+assistant,与装配模式无关——容量诚实
105
+ // 统计问答闭环总和;loop 侧 refreshOccupancyFromMessages 以
106
+ // 同一估算器重算覆盖,prepare 与实时刷新同源同数据,无口径漂移)
107
+ // inputAnchor = 顶级锚点(本轮用户输入,budget.anchorTokens)
108
+ // outputReserve = 窗口 × 输出预留比例(留给模型回答的容量,非已用)
109
+ // free = 总容量 − 各段,≥ 0 收敛(窗口过小/输入过大时各段归零)
108
110
  // 注:记忆不占用上下文,占用模型无记忆维度。
109
111
  const dialogueTokens = loop.estimateTokens(loop.getConversationMessages());
110
112
  // 条数语义:以「用户输入」为计数标准——一个问答闭环(user 消息)计 1 条,
@@ -112,13 +114,16 @@ export class ContextPreparer {
112
114
  // 关键:dialogueCount 与 dialogueTokens 统一取 loop.messages 全量(user 计数 + 全量 token),
113
115
  // 与装配模式无关——否则 hybrid 模式下 getRecentHistoryWithinBudget 按预算截取「最近 N 轮」
114
116
  // 会把最新轮挤掉最旧轮、轮数守恒,导致「发一条消息后完整对话数不涨」(用户实测 bug),
115
- // 且进窗口径与 loop 侧实时刷新(refreshOccupancyDialogue 按全量重算)产生语义漂移。
117
+ // 且进窗口径与 loop 侧实时刷新(refreshOccupancyFromMessages 按全量重算)产生语义漂移。
116
118
  // 统一全量后 prepare 与刷新共用同一估算器、同一数据源(SSOT),杜绝口径分叉。
117
119
  const dialogueCount = loop.getConversationMessages().filter((m) => m.role === 'user').length;
120
+ // 动态注入占用(messages[0] 之外的 system 消息)——单一真理源 = loop.getDynamicSystemTokens()
121
+ const dynamicSystemTokens = loop.getDynamicSystemTokens();
118
122
  // 占用组装复用 estimateOccupancy(SSOT 单点:free 收敛 + 拼满 + 输出预留,宿主历史会话重算共用)
119
123
  deps.loop.recordOccupancy(estimateOccupancy({
120
124
  totalTokens: deps.config.maxContextTokens,
121
125
  rolePackBaseTokens: fixedOverheadTokens,
126
+ dynamicSystemTokens,
122
127
  dialogueTokens,
123
128
  dialogueCount,
124
129
  inputAnchorTokens: budget.anchorTokens,
@@ -1 +1 @@
1
- {"version":3,"file":"contextPreparer.js","sourceRoot":"","sources":["../../src/agent/contextPreparer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contextPreparer.js","sourceRoot":"","sources":["../../src/agent/contextPreparer.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@
26
26
  * reset 归零内部计数状态)。「## 行为护栏」节由 buildPromptSection 收敛注入。
27
27
  */
28
28
  import { ToolResultCache, type CacheEntry, type DedupSubject } from '../agent/toolResultCache.js';
29
+ import type { BlockedReason } from '../agent/managers/toolCallHelpers.js';
29
30
  /** 护栏类型 id(收敛集合,新增护栏在此扩联合) */
30
31
  export type GuardRailId = 'search_limit' | 'ask_limit' | 'write_loop' | 'read_failed' | 'read_dedup';
31
32
  /** 命中提示词 id(与 GuardRailPromptId 一一对应,文案收敛到 GUARD_RAIL_PROMPTS) */
@@ -55,7 +56,7 @@ export interface GuardThresholds {
55
56
  readFailed: number;
56
57
  /** 单次用户输入提问上限(life:'perInput')—— 动态真源 role-pack strategy.askLimit(不塞静态默认) */
57
58
  askLimit: number;
58
- /** 单闭环联网搜索硬上限 —— 动态真源 LOOP_CONSTANTS.MAX_WEB_SEARCH_CALLS(不塞静态默认) */
59
+ /** 单闭环联网搜索硬上限 —— 动态真源 role-pack strategy.webSearchLimit(缺省值定义在 DEFAULT_BEHAVIOR_STRATEGY.global.webSearchLimit,不塞静态默认) */
59
60
  maxWebSearch: number;
60
61
  }
61
62
  /** 静态阈值真源(SSOT):只承载「纯静态、无动态覆盖」的阈值。
@@ -122,7 +123,17 @@ export interface GuardRailDef {
122
123
  export interface GuardHit {
123
124
  guardId: GuardRailId;
124
125
  message: string;
126
+ /** blocked 原因:护栏命中同期经穷尽映射产出(消费方无需自己再映射,见 blockedReasonOfGuard) */
127
+ reason: BlockedReason;
125
128
  }
129
+ /**
130
+ * 取护栏 id 对应的 blocked 原因。
131
+ *
132
+ * @param id 护栏 id
133
+ * @returns 穷尽映射登记的原因
134
+ * @throws 映射表漏登记该 id(编译期 satisfies 已封全键;运行期再点名暴露,不静默兜底)
135
+ */
136
+ export declare function blockedReasonOfGuard(id: GuardRailId): BlockedReason;
126
137
  /** 提取给定工具的请求主体(无该工具的 subject 提取器 → undefined,即非 info 型工具) */
127
138
  export declare function extractSubject(toolName: string, argsJson: string): DedupSubject | undefined;
128
139
  export declare const GUARD_RAIL_PROMPTS: Readonly<Record<GuardRailPromptId, string>>;
@@ -1 +1 @@
1
- {"version":3,"file":"guardRail.d.ts","sourceRoot":"","sources":["../../src/agent/guardRail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guardRail.d.ts","sourceRoot":"","sources":["../../src/agent/guardRail.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,36 @@ export const GUARD_THRESHOLDS = {
38
38
  * (值 2 = 第 3 次起升级;用户裁决 2026-09-28:第 2 次即升级太激进、第 3 次合适)。
39
39
  * 不入 GUARD_THRESHOLDS——它不改变「拦不拦」,只切换文案强度。 */
40
40
  export const READ_DEDUP_ESCALATE_THRESHOLD = 2;
41
+ /**
42
+ * GuardRailId → BlockedReason **穷尽映射**(SSOT)。
43
+ *
44
+ * 两个枚举独立演进:`as const satisfies Record<…>` 让「新增护栏漏登记」
45
+ * 在**编译期**转红。运行期取值在 `noUncheckedIndexedAccess` 下仍带 undefined,
46
+ * 故 `blockedReasonOfGuard` 显式处理未登记分支 —— 禁 `as`/`??` 兜底
47
+ * (兜底 = 新护栏静默落进假原因,正是 blockedReason 要消灭的病症)。
48
+ */
49
+ const GUARD_BLOCKED_REASONS = {
50
+ search_limit: 'search_limit',
51
+ ask_limit: 'ask_limit',
52
+ write_loop: 'write_loop',
53
+ // read_failed 是唯一 hasRealFailure=true 的护栏(消费方见 loop 结算),但原因值同名
54
+ read_failed: 'read_failed',
55
+ read_dedup: 'read_dedup',
56
+ };
57
+ /**
58
+ * 取护栏 id 对应的 blocked 原因。
59
+ *
60
+ * @param id 护栏 id
61
+ * @returns 穷尽映射登记的原因
62
+ * @throws 映射表漏登记该 id(编译期 satisfies 已封全键;运行期再点名暴露,不静默兜底)
63
+ */
64
+ export function blockedReasonOfGuard(id) {
65
+ const reason = GUARD_BLOCKED_REASONS[id];
66
+ if (!reason) {
67
+ throw new Error(`GuardRailId '${id}' 未登记 BlockedReason 映射:新增护栏须同步补 GUARD_BLOCKED_REASONS(禁兜底)`);
68
+ }
69
+ return reason;
70
+ }
41
71
  /** 提取给定工具的请求主体(无该工具的 subject 提取器 → undefined,即非 info 型工具) */
42
72
  export function extractSubject(toolName, argsJson) {
43
73
  const extractor = DEDUP_SUBJECT_EXTRACTORS[toolName];
@@ -135,7 +165,12 @@ export class GuardRail {
135
165
  // promptId 函数形态:按运行态选择文案;裁决结果传给 promptArgs 按其分支(选择与参数构造性一致)
136
166
  const promptId = typeof g.promptId === 'function' ? g.promptId(c) : g.promptId;
137
167
  const args = g.promptArgs?.(c, promptId) ?? {};
138
- return { guardId: g.id, message: renderPrompt(promptId, args) };
168
+ return {
169
+ guardId: g.id,
170
+ message: renderPrompt(promptId, args),
171
+ // 原因随命中同期产出(经穷尽映射;漏登记在此抛错点名,不产出原因不明的命中)
172
+ reason: blockedReasonOfGuard(g.id),
173
+ };
139
174
  }
140
175
  return undefined;
141
176
  }
@@ -208,7 +243,7 @@ export function createDefaultGuards() {
208
243
  .register({
209
244
  id: 'search_limit',
210
245
  matches: (c) => c.toolName === 'web_search',
211
- // 现有 loop 语义:`searchCallCount > MAX_WEB_SEARCH_CALLS`(超上限才拦)
246
+ // 现有 loop 语义:`searchCallCount > maxWebSearch`(超上限才拦;阈值 = strategy.webSearchLimit)
212
247
  shouldBlock: (c) => c.counters.searchCallCount > c.thresholds.maxWebSearch,
213
248
  blocked: true,
214
249
  promptId: 'search_limit',
@@ -1 +1 @@
1
- {"version":3,"file":"guardRail.js","sourceRoot":"","sources":["../../src/agent/guardRail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guardRail.js","sourceRoot":"","sources":["../../src/agent/guardRail.ts"],"names":[],"mappings":"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"}