@zooique/memora 3.0.0 → 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 +721 -6
  2. package/README.en.md +6 -6
  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 +79 -16
  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 +276 -24
  34. package/dist/agent/loop.d.ts.map +1 -1
  35. package/dist/agent/loop.js +593 -93
  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 +67 -6
  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 +4 -4
  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
@@ -1 +1 @@
1
- {"version":3,"file":"toolLedger.js","sourceRoot":"","sources":["../../src/agent/toolLedger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolLedger.js","sourceRoot":"","sources":["../../src/agent/toolLedger.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,14 @@ export interface ToolResultOffloadOptions {
44
44
  thresholdTokens?: number;
45
45
  /** 预览字符数(默认 1,000) */
46
46
  previewChars?: number;
47
+ /**
48
+ * 尾部预览字符数(默认 0 = 只留头部)。
49
+ *
50
+ * >0 时从**总预览预算内**划出尾部份额(头 = previewChars − 尾),**不扩大预算**——
51
+ * 预算扩大会让替换文本逼近单条上限,破坏「替换后不二次落盘」的结构性保证。
52
+ * 用途同 `SCRIPT_RESULT_TAIL_CHARS`:长输出的关键信息常在尾部(见缺口 D)。
53
+ */
54
+ tailPreviewChars?: number;
47
55
  }
48
56
  /**
49
57
  * 单条工具结果超阈 → 落盘 + 生成替换文本;否则原样返回。
@@ -1 +1 @@
1
- {"version":3,"file":"toolResultOffload.d.ts","sourceRoot":"","sources":["../../src/agent/toolResultOffload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAYH,oCAAoC;AACpC,MAAM,WAAW,wBAAwB;IACvC,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,WAAW;AACX,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,wBAAwB,GAC7B,wBAAwB,CA+B1B"}
1
+ {"version":3,"file":"toolResultOffload.d.ts","sourceRoot":"","sources":["../../src/agent/toolResultOffload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAYH,oCAAoC;AACpC,MAAM,WAAW,wBAAwB;IACvC,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,WAAW;AACX,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,wBAAwB,GAC7B,wBAAwB,CA0C1B"}
@@ -57,11 +57,18 @@ export function offloadLargeToolResult(content, opts) {
57
57
  logger.warn({ err, filePath, tokens }, '工具结果卸载失败,已降级为原文入上下文(未产生引用)');
58
58
  return { content, offloaded: false };
59
59
  }
60
- const preview = content.slice(0, previewChars);
61
- const omitted = Math.max(0, content.length - previewChars);
60
+ // 头(+可选尾)份额均在 previewChars 预算内划分,不扩大总预览量
61
+ const tailChars = Math.min(Math.max(opts.tailPreviewChars ?? 0, 0), Math.max(previewChars - 1, 0));
62
+ const headChars = previewChars - tailChars;
63
+ const head = content.slice(0, headChars);
64
+ const tail = tailChars > 0 ? content.slice(content.length - tailChars) : '';
65
+ const omitted = Math.max(0, content.length - headChars - tailChars);
66
+ const previewBlock = tailChars > 0
67
+ ? `[预览(头 ${headChars} + 尾 ${tailChars} 字符)]\n${head}\n…[省略 ${omitted} 字符]…\n${tail}`
68
+ : `[预览(前 ${previewChars} 字符)]\n${head}…`;
62
69
  return {
63
70
  content: `[工具结果已卸载至磁盘] 原文 ${content.length} 字符(≈${tokens} tokens)写入:${filePath}\n` +
64
- `[预览(前 ${previewChars} 字符)]\n${preview}…\n` +
71
+ `${previewBlock}\n` +
65
72
  `[省略 ${omitted} 字符。需要完整内容请用 read_file 读取上述路径,大文件可配合 offset/limit 分段读取]`,
66
73
  offloaded: true,
67
74
  filePath,
@@ -1 +1 @@
1
- {"version":3,"file":"toolResultOffload.js","sourceRoot":"","sources":["../../src/agent/toolResultOffload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,wCAAwC;AACxC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AA4BpC;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAe,EACf,IAA8B;IAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,IAAI,cAAc,CAAC,6BAA6B,CAAC;IACvF,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,qBAAqB,CAAC;IAChE,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,sCAAsC;QACtC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC;QACrE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;IAE3D,OAAO;QACL,OAAO,EACL,mBAAmB,OAAO,CAAC,MAAM,QAAQ,MAAM,cAAc,QAAQ,IAAI;YACzE,SAAS,YAAY,UAAU,OAAO,KAAK;YAC3C,OAAO,OAAO,yDAAyD;QACzE,SAAS,EAAE,IAAI;QACf,QAAQ;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"toolResultOffload.js","sourceRoot":"","sources":["../../src/agent/toolResultOffload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,wCAAwC;AACxC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAoCpC;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAe,EACf,IAA8B;IAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,IAAI,cAAc,CAAC,6BAA6B,CAAC;IACvF,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,qBAAqB,CAAC;IAChE,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,sCAAsC;QACtC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC;QACrE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,yCAAyC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC,CAAC,EACvC,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC,CAC9B,CAAC;IACF,MAAM,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;IACpE,MAAM,YAAY,GAChB,SAAS,GAAG,CAAC;QACX,CAAC,CAAC,SAAS,SAAS,QAAQ,SAAS,UAAU,IAAI,UAAU,OAAO,UAAU,IAAI,EAAE;QACpF,CAAC,CAAC,SAAS,YAAY,UAAU,IAAI,GAAG,CAAC;IAE7C,OAAO;QACL,OAAO,EACL,mBAAmB,OAAO,CAAC,MAAM,QAAQ,MAAM,cAAc,QAAQ,IAAI;YACzE,GAAG,YAAY,IAAI;YACnB,OAAO,OAAO,yDAAyD;QACzE,SAAS,EAAE,IAAI;QACf,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -2,8 +2,9 @@
2
2
  * 工具执行器(ToolRunner)— 从 AgentLoop 抽出的「单工具执行」独立单元
3
3
  *
4
4
  * 承载一个工具的完整生命周期:执行前检查(三重闸门)→ 并发/中断竞争执行 → 异常转结构化错误串。
5
- * 状态独立(不触碰 loop 工作记忆 / 指标 / 自主步标志),输入工具调用元素、输出结果串并触发
6
- * onToolExecuted,故可独立单测。loop 的 executeToolCalls 只做批量编排,逐工具委托本执行器。
5
+ * 状态独立(不触碰 loop 工作记忆 / 指标 / 自主步标志),输入工具调用元素、输出结构化
6
+ * ToolOutcome(status 为判据面真源)并触发 onToolExecuted,故可独立单测。
7
+ * loop 的 executeToolCalls 只做批量编排,逐工具委托本执行器。
7
8
  *
8
9
  * 依赖经 deps 注入(execute / preExecutionCheck / onToolExecuted / getStrategy / tracer),
9
10
  * 其中 getStrategy 每次执行读最新策略——setStrategy 的动态更新在此依然生效。
@@ -12,14 +13,16 @@ import type { PreExecutionResult } from '../agent/types.js';
12
13
  import type { ToolDefinition } from '../agent/toolExecutor.js';
13
14
  import type { L2RuntimeStrategy } from '../role-pack/types.js';
14
15
  import type { ITracer } from '../agent/tracer.js';
16
+ import { type ToolOutcome } from '../agent/managers/toolCallHelpers.js';
15
17
  /** 工具调用元素契约(OpenAI 协议结构)——单一真源 llm/types.ToolCall(Message.toolCalls 同源) */
16
18
  import type { ToolCall } from '../llm/types.js';
17
19
  /** 一次工具调用(LLM 输出的工具调用元素)——SSOT:形状真源在 llm/types.ToolCall(协议契约单一实现;re-export 保留本文件测试判据点) */
18
20
  export type { ToolCall };
19
- /** ToolRunner 依赖注入(loop 稳定的窄面;策略动态经 getStrategy 读取) */
21
+ /** 工具执行器依赖注入(loop 稳定的窄面;策略动态经 getStrategy 读取) */
20
22
  export interface ToolRunnerDeps {
21
- /** 执行单个工具(loop 的 opts.toolExecutor) */
22
- execute: (name: string, args: string) => Promise<string>;
23
+ /** 执行单个工具(loop 的 opts.toolExecutor)。
24
+ * 第 3 参 emitOutcome:执行器按调用独立产出原生 outcome 的通道(见 toolExecutor.execute) */
25
+ execute: (name: string, args: string, emitOutcome?: (outcome: ToolOutcome) => void) => Promise<string>;
23
26
  /** 内置工具定义(只读闸查 readonly 标记) */
24
27
  builtinTools?: ToolDefinition[];
25
28
  /** 宿主执行前检查(拒绝 / 跳过 / 改写参数) */
@@ -41,9 +44,10 @@ export declare class ToolRunner {
41
44
  * 执行单个工具(并行独立执行单元,无共享状态,可安全并发)。
42
45
  * @param tc 工具调用元素
43
46
  * @param signal 中止信号(与工具执行 race,signal 先 abort 返回 ABORTED 错误串)
44
- * @returns 执行结果串(成功文本或 [ERR:TOOL:code] 错误串)
47
+ * @returns 结构化结果(`status` 为判据面唯一真源,`text` 为渲染面——B4 判据切换后
48
+ * 编排层全部决策读 `status`,文本只喂 LLM / 渲染,不再参与成败判定)
45
49
  */
46
- runOne(tc: ToolCall, signal?: AbortSignal): Promise<string>;
50
+ runOne(tc: ToolCall, signal?: AbortSignal): Promise<ToolOutcome>;
47
51
  /**
48
52
  * 执行前检查:按顺序叠加两层闸门——只读 → 宿主 preExecutionCheck,任一命中提前返回。
49
53
  * (内核不提供"审批"闸门:无"需审批"标签与回调,审批决策统一归宿主 preExecutionCheck。)
@@ -53,6 +57,9 @@ export declare class ToolRunner {
53
57
  * 工具执行与 signal abort 竞争包裹。toolExecutor 签名不接受 signal,无法真正中断;
54
58
  * 用 Promise.race 竞争,signal 先 abort 则返回 [ERR:TOOL:ABORTED](而非抛 AbortError,
55
59
  * 避免破坏"工具失败回传 LLM"契约;ABORTED 不入错误码体系,不触发 Reflection)
60
+ *
61
+ * @param emitOutcome 原生 outcome 回调(透传给 execute;abort 出口也经它显式 emit failed,
62
+ * 保证 runOne 兜底(nativeOutcome ?? ok)读到中断事实而非误判 ok)
56
63
  */
57
64
  private raceToolWithSignal;
58
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toolRunner.d.ts","sourceRoot":"","sources":["../../src/agent/toolRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAMjD,2EAA2E;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,0FAA0F;AAC1F,YAAY,EAAE,QAAQ,EAAE,CAAC;AAQzB,uDAAuD;AACvD,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,+BAA+B;IAC/B,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,8BAA8B;IAC9B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,kBAAkB,CAAC;IACvE,iCAAiC;IACjC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;IACnF,iDAAiD;IACjD,WAAW,EAAE,MAAM,iBAAiB,CAAC;IACrC,kBAAkB;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,cAAc;IAEjD;;;;;OAKG;IACG,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IA6DjE;;;OAGG;IACH,OAAO,CAAC,cAAc;IAuCtB;;;;OAIG;YACW,kBAAkB;CA4BjC"}
1
+ {"version":3,"file":"toolRunner.d.ts","sourceRoot":"","sources":["../../src/agent/toolRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAKjD,OAAO,EAKL,KAAK,WAAW,EAEjB,MAAM,qCAAqC,CAAC;AAE7C,2EAA2E;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,0FAA0F;AAC1F,YAAY,EAAE,QAAQ,EAAE,CAAC;AASzB,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B;6EACyE;IACzE,OAAO,EAAE,CACP,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,KACzC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,8BAA8B;IAC9B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,kBAAkB,CAAC;IACvE,iCAAiC;IACjC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;IACnF,iDAAiD;IACjD,WAAW,EAAE,MAAM,iBAAiB,CAAC;IACrC,kBAAkB;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,cAAc;IAEjD;;;;;;OAMG;IACG,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAuFtE;;;OAGG;IACH,OAAO,CAAC,cAAc;IAoDtB;;;;;;;OAOG;YACW,kBAAkB;CAsCjC"}
@@ -2,16 +2,18 @@
2
2
  * 工具执行器(ToolRunner)— 从 AgentLoop 抽出的「单工具执行」独立单元
3
3
  *
4
4
  * 承载一个工具的完整生命周期:执行前检查(三重闸门)→ 并发/中断竞争执行 → 异常转结构化错误串。
5
- * 状态独立(不触碰 loop 工作记忆 / 指标 / 自主步标志),输入工具调用元素、输出结果串并触发
6
- * onToolExecuted,故可独立单测。loop 的 executeToolCalls 只做批量编排,逐工具委托本执行器。
5
+ * 状态独立(不触碰 loop 工作记忆 / 指标 / 自主步标志),输入工具调用元素、输出结构化
6
+ * ToolOutcome(status 为判据面真源)并触发 onToolExecuted,故可独立单测。
7
+ * loop 的 executeToolCalls 只做批量编排,逐工具委托本执行器。
7
8
  *
8
9
  * 依赖经 deps 注入(execute / preExecutionCheck / onToolExecuted / getStrategy / tracer),
9
10
  * 其中 getStrategy 每次执行读最新策略——setStrategy 的动态更新在此依然生效。
10
11
  */
11
12
  import { TRACE_SPANS } from '../agent/tracer.js';
12
- import { MemoraError } from '../utils/errors.js';
13
+ import { MemoraError, ToolErrorCode } from '../utils/errors.js';
13
14
  import { toError } from '../utils/toError.js';
14
15
  import { logger } from '../logging/logger.js';
16
+ import { failedOutcome, failedOutcomeWithCode, okOutcome, blockedOutcome, } from '../agent/managers/toolCallHelpers.js';
15
17
  /**
16
18
  * 工具执行器:单工具执行单元(异常捕获转结构化错误串回传 LLM,不中断对话)。
17
19
  */
@@ -24,7 +26,8 @@ export class ToolRunner {
24
26
  * 执行单个工具(并行独立执行单元,无共享状态,可安全并发)。
25
27
  * @param tc 工具调用元素
26
28
  * @param signal 中止信号(与工具执行 race,signal 先 abort 返回 ABORTED 错误串)
27
- * @returns 执行结果串(成功文本或 [ERR:TOOL:code] 错误串)
29
+ * @returns 结构化结果(`status` 为判据面唯一真源,`text` 为渲染面——B4 判据切换后
30
+ * 编排层全部决策读 `status`,文本只喂 LLM / 渲染,不再参与成败判定)
28
31
  */
29
32
  async runOne(tc, signal) {
30
33
  // 工具执行 Span(并发时多个 span 时间重叠,tracer 可观测并发度)
@@ -38,21 +41,31 @@ export class ToolRunner {
38
41
  const decision = this.applyPrechecks(tc);
39
42
  if (decision.kind === 'denied') {
40
43
  span.setAttribute('denied', true);
41
- return decision.result;
44
+ // denied = 主动挡下(只读拒绝 / 宿主审批拒绝)⇒ blocked,原因随该闸门事实带出
45
+ return blockedOutcome(decision.reason, decision.result);
42
46
  }
43
47
  if (decision.kind === 'skip') {
44
48
  span.setAttribute('skipped', true);
45
- return decision.result;
49
+ // skip = outbox 幂等跳过(主动挡下)⇒ blocked(idempotent_skip)
50
+ return blockedOutcome(decision.reason, decision.result);
46
51
  }
52
+ // 每调用独立的原生 outcome 捕获器:执行器在返回字符串的同点按事实产出。
53
+ let nativeOutcome;
47
54
  // raceToolWithSignal 兼容 signal 中断(每个调用独立 race,监听器无并发副作用)
48
- const result = await this.raceToolWithSignal(tc.function.name, decision.args, signal);
49
- // 通知上层工具执行完成(供 outbox 幂等模式记录是否已执行)
50
- const ok = !result.startsWith('[ERR');
51
- this.deps.onToolExecuted?.(tc.function.name, decision.args, result, ok);
55
+ const result = await this.raceToolWithSignal(tc.function.name, decision.args, signal, (native) => {
56
+ nativeOutcome = native;
57
+ });
58
+ // SCRIPT-2 B5 后无文本判据:失败事实一律由执行器在同点显式 emit(结构化产出,
59
+ // status 与 text 同源);未 emit = 工具正常完成(裸文本含软降级说明与成功输出),
60
+ // runOne 统一兜底 ok——兜底不再扫文本前缀。
61
+ const outcome = nativeOutcome ?? okOutcome(result);
62
+ // 通知上层工具执行完成(供 outbox 幂等模式记录是否已执行);
63
+ // ok 判据单点 = outcome.status(与文本派生/native 产出同源,无第二次独立判断)
64
+ this.deps.onToolExecuted?.(tc.function.name, decision.args, outcome.text, outcome.status === 'ok');
52
65
  // 记录工具执行结果摘要到 Span(可观测性增强:宿主可追踪每次工具调用的结果)
53
- span.setAttribute('result', result.slice(0, 200));
54
- span.setAttribute('ok', ok);
55
- return result;
66
+ span.setAttribute('result', outcome.text.slice(0, 200));
67
+ span.setAttribute('ok', outcome.status === 'ok');
68
+ return outcome;
56
69
  }
57
70
  catch (err) {
58
71
  // 捕获异常转为结构化错误串回传 LLM 自行调整策略,避免传播中断对话
@@ -64,17 +77,21 @@ export class ToolRunner {
64
77
  // 若建议只在 `error.format()` 给宿主 UI、LLM 只收 title+detail——首击失败后
65
78
  // LLM 收不到「使用 list_dir 查看目录结构」这类确切指令,只能凭证据自己悟(多绕一次)。
66
79
  // 证据(siblingDirHint 清单)在 detail 内,本拼接补上命令式建议,双管齐下。
67
- const result = `[ERR:TOOL:${code}] 错误:${err.title}${err.detail ? ` — ${err.detail}` : ''}` +
68
- (err.suggestions.length > 0 ? ` 建议:${err.suggestions.join(';')}` : '');
80
+ // 错误码与文本前缀经 failedOutcomeWithCode **同源产出一次**:
81
+ // 此前 `code` 算了却只拼进文本、结构化面被丢弃 ⇒ 重试分类(isRetryableToolError)
82
+ // 只能回头解析前缀,正是 ToolOutcome 自述文档痛批的「判据与渲染耦合」反模式。
83
+ const failed = failedOutcomeWithCode(code, `错误:${err.title}${err.detail ? ` — ${err.detail}` : ''}` +
84
+ (err.suggestions.length > 0 ? ` 建议:${err.suggestions.join(';')}` : ''));
69
85
  logger.warn({ tool: tc.function.name, errorCode: code, title: err.title }, '工具执行失败,错误已回传给 LLM');
70
- this.deps.onToolExecuted?.(tc.function.name, tc.function.arguments, result, false);
71
- return result;
86
+ this.deps.onToolExecuted?.(tc.function.name, tc.function.arguments, failed.text, false);
87
+ return failed;
72
88
  }
73
89
  else {
74
- const result = `[ERR:TOOL:UNKNOWN] 错误:工具执行异常 — ${e.message}`;
90
+ // 非 MemoraError 归入 UNKNOWN;同样经带码构造器产出,前缀不手抄
91
+ const failed = failedOutcomeWithCode('UNKNOWN', `错误:工具执行异常 — ${e.message}`);
75
92
  logger.error({ tool: tc.function.name, err }, '工具执行异常');
76
- this.deps.onToolExecuted?.(tc.function.name, tc.function.arguments, result, false);
77
- return result;
93
+ this.deps.onToolExecuted?.(tc.function.name, tc.function.arguments, failed.text, false);
94
+ return failed;
78
95
  }
79
96
  }
80
97
  finally {
@@ -94,9 +111,12 @@ export class ToolRunner {
94
111
  const toolDef = this.deps.builtinTools?.find((t) => t.name === name);
95
112
  if (toolDef && !toolDef.readonly) {
96
113
  logger.warn({ tool: name }, '工具只读模式:阻止写入工具执行');
114
+ // 只读拦截前缀 [ERR:TOOL:READONLY_DENIED] 是独立登记标签(非 ToolErrorCode 枚举成员,
115
+ // 见 toolFailurePrefixGuard TOOL_RESULT_TAGS);denied 通道机器维度用 reason(readonly_denied)。
97
116
  return {
98
117
  kind: 'denied',
99
118
  result: `[ERR:TOOL:READONLY_DENIED] 工具 "${name}" 是写入操作,在只读模式下不可用`,
119
+ reason: 'readonly_denied',
100
120
  };
101
121
  }
102
122
  }
@@ -105,13 +125,23 @@ export class ToolRunner {
105
125
  if (preCheck?.denied) {
106
126
  const reason = preCheck.reason ?? '工具调用被拒绝';
107
127
  logger.warn({ tool: name, reason }, '工具调用被拒绝(执行前检查)');
108
- // PERMISSION_DENIED 不可重试,LLM 见后会调整策略而非重试
109
- return { kind: 'denied', result: `[ERR:TOOL:PERMISSION_DENIED] ${reason}` };
128
+ // 前缀经 failedOutcomeWithCode 由错误码派生(SSOT 单源出口),与 builtinToolHandlers 同口径;
129
+ // PERMISSION_DENIED 不可重试,LLM 见后会调整策略而非重试。denied 通道机器维度仍用 reason。
130
+ return {
131
+ kind: 'denied',
132
+ result: failedOutcomeWithCode(ToolErrorCode.PERMISSION_DENIED, reason).text,
133
+ reason: 'permission_denied',
134
+ };
110
135
  }
111
136
  if (preCheck?.skip) {
112
137
  const result = preCheck.previousResult ?? '[SKIP:TOOL:IDEMPOTENT] 工具已执行(outbox 模式跳过)';
113
138
  logger.debug({ tool: name, argsSignature: args.slice(0, 80) }, '工具已执行,跳过(仅一次语义)');
114
- return { kind: 'skip', result };
139
+ return {
140
+ kind: 'skip',
141
+ result,
142
+ // outbox 幂等跳过:idempotent_skip
143
+ reason: 'idempotent_skip',
144
+ };
115
145
  }
116
146
  // 放行:有改写参数则用改写后的执行(审计/参数改写)
117
147
  return { kind: 'execute', args: preCheck?.overrideArgs ?? args };
@@ -120,25 +150,37 @@ export class ToolRunner {
120
150
  * 工具执行与 signal abort 竞争包裹。toolExecutor 签名不接受 signal,无法真正中断;
121
151
  * 用 Promise.race 竞争,signal 先 abort 则返回 [ERR:TOOL:ABORTED](而非抛 AbortError,
122
152
  * 避免破坏"工具失败回传 LLM"契约;ABORTED 不入错误码体系,不触发 Reflection)
153
+ *
154
+ * @param emitOutcome 原生 outcome 回调(透传给 execute;abort 出口也经它显式 emit failed,
155
+ * 保证 runOne 兜底(nativeOutcome ?? ok)读到中断事实而非误判 ok)
123
156
  */
124
- async raceToolWithSignal(name, args, signal) {
157
+ async raceToolWithSignal(name, args, signal, emitOutcome) {
125
158
  const { execute } = this.deps;
126
159
  // 无 signal 时直接执行工具(保持原行为,测试场景常用)
127
160
  if (!signal) {
128
- return execute(name, args);
161
+ return execute(name, args, emitOutcome);
129
162
  }
130
163
  // signal 已 abort:直接返回中断错误,不发起工具调用
131
164
  if (signal.aborted) {
132
- return '[ERR:TOOL:ABORTED] 错误:工具执行被中断';
165
+ const abortedText = '[ERR:TOOL:ABORTED] 错误:工具执行被中断';
166
+ // 中断 = 失败事实(执行被夺走),显式 emit 防兜底误判 ok
167
+ emitOutcome(failedOutcome(abortedText));
168
+ return abortedText;
133
169
  }
134
170
  // abort 监听 Promise(signal abort 时 resolve 错误串);onAbort 提外层便于 race 后清理
135
171
  let onAbort = null;
136
172
  const abortPromise = new Promise((resolve) => {
137
- onAbort = () => resolve('[ERR:TOOL:ABORTED] 错误:工具执行被中断');
173
+ onAbort = () => {
174
+ const abortedText = '[ERR:TOOL:ABORTED] 错误:工具执行被中断';
175
+ // 中断胜出 = 失败事实(execute 仍在后台跑但结果丢弃),显式 emit 防兜底误判 ok
176
+ emitOutcome(failedOutcome(abortedText));
177
+ resolve(abortedText);
178
+ };
138
179
  signal.addEventListener('abort', onAbort, { once: true });
139
180
  });
140
- // race 结束清理监听器,避免并发工具调用累积残留监听器({ once: true } 不保证未触发时被移除)
141
- return Promise.race([execute(name, args), abortPromise]).finally(() => {
181
+ // race 结束清理监听器,避免并发工具调用累积残留监听器({ once: true } 不保证未触发时被移除)。
182
+ // ⚠️ 注意:execute 胜出时已完成(含可能的 emitOutcome);abort 胜出时执行仍在后台跑但结果丢弃。
183
+ return Promise.race([execute(name, args, emitOutcome), abortPromise]).finally(() => {
142
184
  if (onAbort)
143
185
  signal.removeEventListener('abort', onAbort);
144
186
  });
@@ -1 +1 @@
1
- {"version":3,"file":"toolRunner.js","sourceRoot":"","sources":["../../src/agent/toolRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolRunner.js","sourceRoot":"","sources":["../../src/agent/toolRunner.ts"],"names":[],"mappings":"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"}
@@ -90,7 +90,11 @@ export interface AgentMetrics {
90
90
  tools: {
91
91
  /** 工具调用总次数 */
92
92
  callCount: number;
93
- /** 失败次数(结果以 [ERR 开头) */
93
+ /**
94
+ * 失败次数(判据 = `ToolOutcome.status === 'failed'`,SCRIPT-2 B4 判据切换)。
95
+ * **口径变更(Breaking)**:执行层闸门(宿主审批拒绝 / 只读拒绝 / 幂等跳过)归
96
+ * `blocked`、不再计入本值 ⇒ 数字较双轨期下降且历史不可比;主动挡下看 `toolBlockedCount`。
97
+ */
94
98
  failureCount: number;
95
99
  /**
96
100
  * 未解析工具意图数(文本骨架 <tool_call>/<function=> 但无常原生 toolCalls)。
@@ -107,6 +111,14 @@ export interface AgentMetrics {
107
111
  /** read_dedup 护栏硬拦命中(同主体重复获取且结果仍在上下文)次数。
108
112
  * 与 ledgerStubEchoCount 互补:本计数 = L2 精确判重(模型乒乓信号,撞墙升级文案的量化基线)。 */
109
113
  readDedupBlockCount: number;
114
+ /**
115
+ * 主动挡下总数(SCRIPT-2):loop 护栏 + 旁路拒绝 + 台账替身 + 执行层闸门
116
+ * (宿主审批拒绝 / 只读拒绝 / 幂等跳过)。B4 起本计数从 `failureCount` 剥离
117
+ * 独立承载「主动挡下」语义 ⇒ `failureCount` 下降且历史不可比(CHANGELOG 登记)。
118
+ */
119
+ toolBlockedCount: number;
120
+ /** 挡下中藏真失败的次数(`read_failed` 子集;独立于 failureCount) */
121
+ toolBlockedWithFailureCount: number;
110
122
  };
111
123
  /** 上下文管理指标 */
112
124
  context: {
@@ -1 +1 @@
1
- {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/agent/tracer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAIzE,iBAAiB;AACjB,KAAK,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAIpD,mBAAmB;AACnB,MAAM,WAAW,KAAK;IACpB,yBAAyB;IACzB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3D,iBAAiB;IACjB,GAAG,IAAI,IAAI,CAAC;IACZ,4BAA4B;IAC5B,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrC;AAID,8BAA8B;AAC9B,MAAM,WAAW,OAAO;IACtB,+DAA+D;IAC/D,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC;CACjF;AA4BD,oCAAoC;AACpC,eAAO,MAAM,WAAW,EAAE,OAA0B,CAAC;AAIrD;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW;IACtB,iBAAiB;;IAEjB,WAAW;;IAEX,aAAa;;IAEb,wEAAwE;;IAExE,4EAA4E;;IAE5E,sDAAsD;;IAEtD,uDAAuD;;CAE/C,CAAC;AAIX;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,eAAe;IACf,GAAG,EAAE;QACH,sCAAsC;QACtC,SAAS,EAAE,MAAM,CAAC;QAClB,oCAAoC;QACpC,gBAAgB,EAAE,MAAM,CAAC;QACzB,oCAAoC;QACpC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,6DAA6D;QAC7D,iBAAiB,EAAE,MAAM,CAAC;QAC1B,6DAA6D;QAC7D,kBAAkB,EAAE,MAAM,CAAC;QAC3B;;;WAGG;QACH,kBAAkB,EAAE,MAAM,CAAC;QAC3B;;;;;WAKG;QACH,uBAAuB,EAAE,MAAM,CAAC;QAChC;;;;;WAKG;QACH,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,aAAa;IACb,KAAK,EAAE;QACL,cAAc;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB;;;WAGG;QACH,uBAAuB,EAAE,MAAM,CAAC;QAChC;;;;;WAKG;QACH,mBAAmB,EAAE,MAAM,CAAC;QAC5B;0EACkE;QAClE,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,cAAc;IACd,OAAO,EAAE;QACP,gDAAgD;QAChD,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,mCAAmC;QACnC,eAAe,EAAE,MAAM,CAAC;QACxB,mDAAmD;QACnD,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,0CAA0C;QAC1C,SAAS,CAAC,EAAE,gBAAgB,CAAC;QAC7B;;;;WAIG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,gCAAgC;IAChC,KAAK,EAAE;QACL,uCAAuC;QACvC,UAAU,EAAE,MAAM,CAAC;QACnB,+BAA+B;QAC/B,YAAY,EAAE,MAAM,CAAC;QACrB,2BAA2B;QAC3B,YAAY,EAAE,MAAM,CAAC;QACrB,qCAAqC;QACrC,WAAW,EAAE,MAAM,CAAC;QACpB,0BAA0B;QAC1B,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,yDAAyD;IACzD,IAAI,EAAE;QACJ,mDAAmD;QACnD,mBAAmB,EAAE,MAAM,CAAC;QAC5B,0DAA0D;QAC1D,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;CACH"}
1
+ {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/agent/tracer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAIzE,iBAAiB;AACjB,KAAK,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAIpD,mBAAmB;AACnB,MAAM,WAAW,KAAK;IACpB,yBAAyB;IACzB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3D,iBAAiB;IACjB,GAAG,IAAI,IAAI,CAAC;IACZ,4BAA4B;IAC5B,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrC;AAID,8BAA8B;AAC9B,MAAM,WAAW,OAAO;IACtB,+DAA+D;IAC/D,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC;CACjF;AA4BD,oCAAoC;AACpC,eAAO,MAAM,WAAW,EAAE,OAA0B,CAAC;AAIrD;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW;IACtB,iBAAiB;;IAEjB,WAAW;;IAEX,aAAa;;IAEb,wEAAwE;;IAExE,4EAA4E;;IAE5E,sDAAsD;;IAEtD,uDAAuD;;CAE/C,CAAC;AAIX;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,eAAe;IACf,GAAG,EAAE;QACH,sCAAsC;QACtC,SAAS,EAAE,MAAM,CAAC;QAClB,oCAAoC;QACpC,gBAAgB,EAAE,MAAM,CAAC;QACzB,oCAAoC;QACpC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,6DAA6D;QAC7D,iBAAiB,EAAE,MAAM,CAAC;QAC1B,6DAA6D;QAC7D,kBAAkB,EAAE,MAAM,CAAC;QAC3B;;;WAGG;QACH,kBAAkB,EAAE,MAAM,CAAC;QAC3B;;;;;WAKG;QACH,uBAAuB,EAAE,MAAM,CAAC;QAChC;;;;;WAKG;QACH,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,aAAa;IACb,KAAK,EAAE;QACL,cAAc;QACd,SAAS,EAAE,MAAM,CAAC;QAClB;;;;WAIG;QACH,YAAY,EAAE,MAAM,CAAC;QACrB;;;WAGG;QACH,uBAAuB,EAAE,MAAM,CAAC;QAChC;;;;;WAKG;QACH,mBAAmB,EAAE,MAAM,CAAC;QAC5B;0EACkE;QAClE,mBAAmB,EAAE,MAAM,CAAC;QAC5B;;;;WAIG;QACH,gBAAgB,EAAE,MAAM,CAAC;QACzB,oDAAoD;QACpD,2BAA2B,EAAE,MAAM,CAAC;KACrC,CAAC;IACF,cAAc;IACd,OAAO,EAAE;QACP,gDAAgD;QAChD,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,mCAAmC;QACnC,eAAe,EAAE,MAAM,CAAC;QACxB,mDAAmD;QACnD,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,0CAA0C;QAC1C,SAAS,CAAC,EAAE,gBAAgB,CAAC;QAC7B;;;;WAIG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,gCAAgC;IAChC,KAAK,EAAE;QACL,uCAAuC;QACvC,UAAU,EAAE,MAAM,CAAC;QACnB,+BAA+B;QAC/B,YAAY,EAAE,MAAM,CAAC;QACrB,2BAA2B;QAC3B,YAAY,EAAE,MAAM,CAAC;QACrB,qCAAqC;QACrC,WAAW,EAAE,MAAM,CAAC;QACpB,0BAA0B;QAC1B,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,yDAAyD;IACzD,IAAI,EAAE;QACJ,mDAAmD;QACnD,mBAAmB,EAAE,MAAM,CAAC;QAC5B,0DAA0D;QAC1D,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;CACH"}
@@ -43,9 +43,10 @@ export type AgentChunk = ({
43
43
  ok: boolean;
44
44
  summary?: string;
45
45
  /**
46
- * 策略拦截标记:工具被内核确定性拒绝(如 web_search 达硬上限),
47
- * 未实际执行。ok=false + blocked=true:区别于「执行失败」,UI 显示「已拦截」,
48
- * 不计成功数亦不计失败数;LLM 收到的是拒绝文案而非真实结果。
46
+ * 主动挡下标记(B4 口径):工具被**我们**拦下未实际执行——loop 护栏(搜索上限等)、
47
+ * 执行层闸门(宿主审批拒绝 / 只读拒绝 / 幂等跳过)、旁路拒绝均归此。
48
+ * ok=false + blocked=true:区别于「执行失败」,UI 显示「已拦截」,不计成功数亦不计失败数;
49
+ * LLM 收到的是拒绝文案而非真实结果。
49
50
  */
50
51
  blocked?: boolean;
51
52
  }
@@ -164,7 +165,7 @@ export type AgentChunk = ({
164
165
  * - `step_boundary` = **迭代完成**(与有无任务表、有无工具无关),职责是宿主**增量落盘的时机信号**
165
166
  * (落盘不能只挂在 plan_item_boundary 上——无任务表的长工具循环会零增量落盘,该场景由本信号覆盖)。
166
167
  *
167
- * 顺序契约(硬,2026-09-26 更新):`plan_item_boundary` 产于**迭代开始**(它所罩住的思考与工具
168
+ * 顺序契约(定案锚 ADR-034):`plan_item_boundary` 产于**迭代开始**(它所罩住的思考与工具
168
169
  * 之前),本 chunk 产于**迭代尾** → 二者天然保持先后序,保证宿主本轮落盘快照已含该任务项
169
170
  * 折叠边界,崩溃重放不错位。若二者同产在迭代尾,每个任务项的首个迭代会掉出折叠块。
170
171
  *
@@ -173,6 +174,29 @@ export type AgentChunk = ({
173
174
  */
174
175
  | {
175
176
  type: 'step_boundary';
177
+ }
178
+ /**
179
+ * 任务表收尾快照:turn 收尾清空运行时任务表(clearPlanOnTurnEnd)**之前**拍的全量终态。
180
+ * 宿主桥接为 ProcessEvent `plan_snapshot` 落盘(重放恢复任务项完成态的唯一真源);
181
+ * 中断轮同样经过收尾兜底产出;暂停/ask 挂起轮 pauseMeta guard 保留 plan → 不拍。
182
+ */
183
+ | {
184
+ type: 'plan_snapshot';
185
+ items: {
186
+ planItemId: string;
187
+ status: PlanItem['status'];
188
+ }[];
189
+ }
190
+ /**
191
+ * 后台任务收尾报告:turn 终态对存活后台进程**脱管**(不杀,跨轮存活)后 emit
192
+ * (定案锚:ADR-036;无存活进程则不产,纯问答常态零块)。
193
+ * 与 `plan_snapshot` 同型(turn 收尾瞬态信号):宿主上屏收尾条并桥接为 ProcessEvent 落盘
194
+ * (重放可见);中断硬关闭(generator.return())路径下 yield 被丢弃不上屏,但 LLM 历史
195
+ * 的 system 消息已由内核写入(脱管报告双通道:chunk 上屏 + system 消息进史,不双写渲染)。
196
+ */
197
+ | {
198
+ type: 'background_report';
199
+ content: string;
176
200
  } | {
177
201
  type: 'done';
178
202
  }) & RoundTagged;
@@ -237,8 +261,8 @@ export interface UIMessages {
237
261
  emptyResponseFallbackTruncated?: (attempts: number) => string;
238
262
  }
239
263
  /**
240
- * 归档模式二态:'full'(默认,content 在会话切换前自动归档)/'manual'(全部手动触发,
241
- * postProcess 跳过所有自动归档分支)。
264
+ * 归档模式二态:'full'(默认,content 在会话切走/分叉离场/暂停超时时自动归档)/'manual'
265
+ * (全部手动触发,自动触发传 autoTriggered 时被跳过)。
242
266
  */
243
267
  export type ArchiveMode = 'full' | 'manual';
244
268
  /** 会话状态(三态状态机) */
@@ -469,6 +493,35 @@ export interface DuplicateCheckContext {
469
493
  /** 当前阈值(默认 3) */
470
494
  readonly threshold: number;
471
495
  }
496
+ /**
497
+ * 宿主环境事实快照(命令执行能力方案 §10.4-②,IEnvironmentProvider 的上报载荷)
498
+ *
499
+ * 全字段可选:宿主只上报它知道的事实,未探测/未知的字段省略,内核不补猜。
500
+ * 内核对快照**零解释转发**(仅格式化为 system prompt 段落)——环境事实不得
501
+ * 升级为内核判据(命令执行能力方案 §10.5 刻意不做:内核内置探测 = 派生判定律违规)。
502
+ */
503
+ export interface HostEnvironmentInfo {
504
+ /** 操作系统描述(如 "win32 10.0.22631";宿主自行决定详细程度) */
505
+ os?: string;
506
+ /** 默认 shell(如 "PowerShell"、"/bin/zsh";供模型避免跨平台命令误用) */
507
+ shell?: string;
508
+ /**
509
+ * 可用运行时清单(每项一行,如 "node v22.10.0"、"python 3.12.1"):
510
+ * 宿主探测结果(探测失败/不存在的运行时不上报),模型据此决定用什么语言写脚本。
511
+ */
512
+ runtimes?: string[];
513
+ }
514
+ /**
515
+ * 宿主环境提供者接口:宿主实现并注入 AgentOptions.environmentProvider。
516
+ *
517
+ * getEnvironment 为**同步**返回快照——探测节奏(异步 spawn / 启动期缓存)由宿主自理,
518
+ * 内核装配与前缀刷新路径同步读取,零等待、零解释。
519
+ * 返回 null / undefined = 本轮无环境信息(system prompt 不注入该段,非错误)。
520
+ */
521
+ export interface IEnvironmentProvider {
522
+ /** 返回环境事实快照;null = 无环境信息(不注入 prompt 段) */
523
+ getEnvironment(): HostEnvironmentInfo | null;
524
+ }
472
525
  /** Agent 构造选项 */
473
526
  export interface AgentOptions {
474
527
  /** 项目路径(必须) */
@@ -557,6 +610,14 @@ export interface AgentOptions {
557
610
  codeExecutionProvider?: ICodeExecutionProvider;
558
611
  /** 项目搜索提供者(可选,不配则不启用 search_project;等价 IDE 全局搜索,由宿主实现) */
559
612
  projectSearchProvider?: IProjectSearchProvider;
613
+ /**
614
+ * 宿主环境提供者(可选,不配则 system prompt 不注入环境段):宿主上报运行环境事实
615
+ * (OS / shell / 可用运行时),内核经 buildEnvironmentContextBlock 注入 system prompt。
616
+ * 命令执行能力方案 §10.4-②:探测环境 → 把事实告诉模型 → 由模型自己决定(对齐 Cline System
617
+ * Information 支柱与 Claude Code 每轮环境注入)。内核不裁决平台差异——环境事实
618
+ * 只有宿主知道,内核零解释转发(宿主内部事实不得提升为内核判据,命令执行能力方案 §10.5)。
619
+ */
620
+ environmentProvider?: IEnvironmentProvider;
560
621
  /**
561
622
  * node 可执行文件路径(可选):宿主注入真实 node 路径
562
623
  * (如 IDE 内置 node / 用户配置的 node)给 L3 脚本执行器(run_skill_script /
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,15 @@ export interface CodeExecutionOptions {
31
31
  * 未注入时 Agent 不会暴露 run_code 工具给 LLM。
32
32
  */
33
33
  export interface ICodeExecutionProvider {
34
+ /**
35
+ * 执行器支持的语言清单(可选声明,命令执行能力方案 §10.4-①(b)):小写语言别名
36
+ * (如 ["javascript", "js", "nodejs", "node"])。
37
+ * 声明后内核 run_code 工具描述按实际生成「支持:a、b、c」——消灭「描述承诺 python、
38
+ * 宿主只支持 JS」的描述与现实不符(§10.3 实锤);未声明(undefined / 空数组)→
39
+ * 描述退化为现行去承诺文案,对模型不列举(零感知,向后兼容,命令执行能力方案 §11.6 拍板)。
40
+ * 支持列表真源在本字段(宿主执行器自知),内核与工具描述均从它派生,不双写。
41
+ */
42
+ readonly supportedLanguages?: readonly string[];
34
43
  /** 执行代码字符串,返回 stdout/stderr/exitCode/timedOut */
35
44
  execute(code: string, language: string, options?: CodeExecutionOptions): Promise<CodeExecutionResult>;
36
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/code-exec/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,aAAa;AACb,MAAM,WAAW,mBAAmB;IAClC,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,aAAa;AACb,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,iDAAiD;IACjD,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/code-exec/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,aAAa;AACb,MAAM,WAAW,mBAAmB;IAClC,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,aAAa;AACb,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;OAOG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,iDAAiD;IACjD,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjC"}