@zooique/memora 4.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/CHANGELOG.md +235 -1743
  2. package/README.en.md +43 -36
  3. package/README.md +308 -303
  4. package/dist/agent/agent.d.ts +46 -82
  5. package/dist/agent/agent.d.ts.map +1 -1
  6. package/dist/agent/agent.js +153 -220
  7. package/dist/agent/agent.js.map +1 -1
  8. package/dist/agent/assembler.d.ts +3 -16
  9. package/dist/agent/assembler.d.ts.map +1 -1
  10. package/dist/agent/assembler.js +76 -47
  11. package/dist/agent/assembler.js.map +1 -1
  12. package/dist/agent/backgroundTasks.d.ts +8 -1
  13. package/dist/agent/backgroundTasks.d.ts.map +1 -1
  14. package/dist/agent/backgroundTasks.js +8 -1
  15. package/dist/agent/backgroundTasks.js.map +1 -1
  16. package/dist/agent/budget.d.ts +23 -5
  17. package/dist/agent/budget.d.ts.map +1 -1
  18. package/dist/agent/budget.js +8 -2
  19. package/dist/agent/budget.js.map +1 -1
  20. package/dist/agent/builtinToolHandlers.d.ts +50 -10
  21. package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
  22. package/dist/agent/builtinToolHandlers.js +67 -20
  23. package/dist/agent/builtinToolHandlers.js.map +1 -1
  24. package/dist/agent/builtinTools.d.ts +16 -0
  25. package/dist/agent/builtinTools.d.ts.map +1 -1
  26. package/dist/agent/builtinTools.js +15 -4
  27. package/dist/agent/builtinTools.js.map +1 -1
  28. package/dist/agent/constants.d.ts +0 -6
  29. package/dist/agent/constants.d.ts.map +1 -1
  30. package/dist/agent/constants.js +7 -8
  31. package/dist/agent/constants.js.map +1 -1
  32. package/dist/agent/contextManager.d.ts +8 -0
  33. package/dist/agent/contextManager.d.ts.map +1 -1
  34. package/dist/agent/contextManager.js +45 -3
  35. package/dist/agent/contextManager.js.map +1 -1
  36. package/dist/agent/contextPreparer.d.ts +1 -1
  37. package/dist/agent/contextPreparer.d.ts.map +1 -1
  38. package/dist/agent/contextPreparer.js +15 -10
  39. package/dist/agent/contextPreparer.js.map +1 -1
  40. package/dist/agent/guardRail.d.ts +25 -10
  41. package/dist/agent/guardRail.d.ts.map +1 -1
  42. package/dist/agent/guardRail.js +154 -46
  43. package/dist/agent/guardRail.js.map +1 -1
  44. package/dist/agent/loop.d.ts +46 -13
  45. package/dist/agent/loop.d.ts.map +1 -1
  46. package/dist/agent/loop.js +145 -32
  47. package/dist/agent/loop.js.map +1 -1
  48. package/dist/agent/managers/archiveCoordinator.d.ts +15 -3
  49. package/dist/agent/managers/archiveCoordinator.d.ts.map +1 -1
  50. package/dist/agent/managers/archiveCoordinator.js +13 -7
  51. package/dist/agent/managers/archiveCoordinator.js.map +1 -1
  52. package/dist/agent/managers/chatLockManager.d.ts +3 -9
  53. package/dist/agent/managers/chatLockManager.d.ts.map +1 -1
  54. package/dist/agent/managers/chatLockManager.js +7 -25
  55. package/dist/agent/managers/chatLockManager.js.map +1 -1
  56. package/dist/agent/managers/llmCaller.d.ts.map +1 -1
  57. package/dist/agent/managers/llmCaller.js +27 -1
  58. package/dist/agent/managers/llmCaller.js.map +1 -1
  59. package/dist/agent/managers/memoryInspector.d.ts +12 -7
  60. package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
  61. package/dist/agent/managers/memoryInspector.js +32 -19
  62. package/dist/agent/managers/memoryInspector.js.map +1 -1
  63. package/dist/agent/managers/roundSummaryGenerator.d.ts +3 -1
  64. package/dist/agent/managers/roundSummaryGenerator.d.ts.map +1 -1
  65. package/dist/agent/managers/roundSummaryGenerator.js +14 -4
  66. package/dist/agent/managers/roundSummaryGenerator.js.map +1 -1
  67. package/dist/agent/managers/sessionArchiver.d.ts +20 -6
  68. package/dist/agent/managers/sessionArchiver.d.ts.map +1 -1
  69. package/dist/agent/managers/sessionArchiver.js +19 -5
  70. package/dist/agent/managers/sessionArchiver.js.map +1 -1
  71. package/dist/agent/managers/sessionManager.d.ts +21 -88
  72. package/dist/agent/managers/sessionManager.d.ts.map +1 -1
  73. package/dist/agent/managers/sessionManager.js +77 -278
  74. package/dist/agent/managers/sessionManager.js.map +1 -1
  75. package/dist/agent/seed/orchestrator.d.ts.map +1 -1
  76. package/dist/agent/seed/orchestrator.js +3 -3
  77. package/dist/agent/seed/orchestrator.js.map +1 -1
  78. package/dist/agent/seed/prepare.d.ts.map +1 -1
  79. package/dist/agent/seed/prepare.js +9 -4
  80. package/dist/agent/seed/prepare.js.map +1 -1
  81. package/dist/agent/seed/types.d.ts +11 -4
  82. package/dist/agent/seed/types.d.ts.map +1 -1
  83. package/dist/agent/seed/types.js +2 -2
  84. package/dist/agent/toolExecutor.d.ts +69 -18
  85. package/dist/agent/toolExecutor.d.ts.map +1 -1
  86. package/dist/agent/toolExecutor.js +188 -28
  87. package/dist/agent/toolExecutor.js.map +1 -1
  88. package/dist/agent/toolResultCache.js +1 -1
  89. package/dist/agent/toolRunner.d.ts +4 -2
  90. package/dist/agent/toolRunner.d.ts.map +1 -1
  91. package/dist/agent/toolRunner.js +7 -4
  92. package/dist/agent/toolRunner.js.map +1 -1
  93. package/dist/agent/types.d.ts +8 -25
  94. package/dist/agent/types.d.ts.map +1 -1
  95. package/dist/index.d.ts +9 -20
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +35 -32
  98. package/dist/index.js.map +1 -1
  99. package/dist/logging/logger.d.ts +4 -1
  100. package/dist/logging/logger.d.ts.map +1 -1
  101. package/dist/logging/logger.js +5 -2
  102. package/dist/logging/logger.js.map +1 -1
  103. package/dist/memory/gcService.d.ts.map +1 -1
  104. package/dist/memory/gcService.js +3 -5
  105. package/dist/memory/gcService.js.map +1 -1
  106. package/dist/memory/inMemorySessionStore.d.ts +2 -2
  107. package/dist/memory/inMemorySessionStore.js +2 -2
  108. package/dist/memory/inMemoryStorage.d.ts +4 -3
  109. package/dist/memory/inMemoryStorage.d.ts.map +1 -1
  110. package/dist/memory/inMemoryStorage.js +2 -2
  111. package/dist/memory/inMemoryStorage.js.map +1 -1
  112. package/dist/memory/nodeSqliteStorage.d.ts +17 -0
  113. package/dist/memory/nodeSqliteStorage.d.ts.map +1 -0
  114. package/dist/memory/nodeSqliteStorage.js +393 -0
  115. package/dist/memory/nodeSqliteStorage.js.map +1 -0
  116. package/dist/memory/projectManager.d.ts +10 -20
  117. package/dist/memory/projectManager.d.ts.map +1 -1
  118. package/dist/memory/projectManager.js +27 -41
  119. package/dist/memory/projectManager.js.map +1 -1
  120. package/dist/memory/roundStore.d.ts +76 -1
  121. package/dist/memory/roundStore.d.ts.map +1 -1
  122. package/dist/memory/roundStore.js.map +1 -1
  123. package/dist/memory/roundSummaryLookup.d.ts +26 -0
  124. package/dist/memory/roundSummaryLookup.d.ts.map +1 -0
  125. package/dist/memory/roundSummaryLookup.js +19 -0
  126. package/dist/memory/roundSummaryLookup.js.map +1 -0
  127. package/dist/memory/sessionStore.d.ts +19 -2
  128. package/dist/memory/sessionStore.d.ts.map +1 -1
  129. package/dist/memory/sessionStore.js.map +1 -1
  130. package/dist/memory/sourceValidation.d.ts +2 -13
  131. package/dist/memory/sourceValidation.d.ts.map +1 -1
  132. package/dist/memory/sourceValidation.js +5 -16
  133. package/dist/memory/sourceValidation.js.map +1 -1
  134. package/dist/memory/storageInterface.d.ts +26 -16
  135. package/dist/memory/storageInterface.d.ts.map +1 -1
  136. package/dist/memory/supersedeResolve.d.ts +39 -0
  137. package/dist/memory/supersedeResolve.d.ts.map +1 -0
  138. package/dist/memory/supersedeResolve.js +16 -0
  139. package/dist/memory/supersedeResolve.js.map +1 -0
  140. package/dist/memory/types.d.ts +3 -2
  141. package/dist/memory/types.d.ts.map +1 -1
  142. package/dist/memory/types.js +2 -1
  143. package/dist/memory/types.js.map +1 -1
  144. package/dist/role-pack/rolePackManager.d.ts +33 -24
  145. package/dist/role-pack/rolePackManager.d.ts.map +1 -1
  146. package/dist/role-pack/rolePackManager.js +48 -42
  147. package/dist/role-pack/rolePackManager.js.map +1 -1
  148. package/dist/role-pack/strategyKeys.d.ts +8 -0
  149. package/dist/role-pack/strategyKeys.d.ts.map +1 -1
  150. package/dist/role-pack/strategyKeys.js +10 -0
  151. package/dist/role-pack/strategyKeys.js.map +1 -1
  152. package/dist/role-pack/strategyResolver.d.ts +6 -1
  153. package/dist/role-pack/strategyResolver.d.ts.map +1 -1
  154. package/dist/role-pack/strategyResolver.js +20 -2
  155. package/dist/role-pack/strategyResolver.js.map +1 -1
  156. package/dist/role-pack/types.d.ts +5 -1
  157. package/dist/role-pack/types.d.ts.map +1 -1
  158. package/dist/security/confirmEntries.d.ts +21 -6
  159. package/dist/security/confirmEntries.d.ts.map +1 -1
  160. package/dist/security/confirmEntries.js +21 -6
  161. package/dist/security/confirmEntries.js.map +1 -1
  162. package/dist/security/pathGuard.d.ts +44 -10
  163. package/dist/security/pathGuard.d.ts.map +1 -1
  164. package/dist/security/pathGuard.js +70 -10
  165. package/dist/security/pathGuard.js.map +1 -1
  166. package/dist/utils/backgroundTask.d.ts +56 -34
  167. package/dist/utils/backgroundTask.d.ts.map +1 -1
  168. package/dist/utils/backgroundTask.js +130 -99
  169. package/dist/utils/backgroundTask.js.map +1 -1
  170. package/dist/utils/errors.d.ts +3 -2
  171. package/dist/utils/errors.d.ts.map +1 -1
  172. package/dist/utils/errors.js +3 -2
  173. package/dist/utils/errors.js.map +1 -1
  174. package/dist/utils/eventEmitter.d.ts +20 -22
  175. package/dist/utils/eventEmitter.d.ts.map +1 -1
  176. package/dist/utils/eventEmitter.js +0 -3
  177. package/dist/utils/eventEmitter.js.map +1 -1
  178. package/dist/utils/time.d.ts +3 -3
  179. package/dist/utils/time.d.ts.map +1 -1
  180. package/dist/utils/time.js +3 -3
  181. package/dist/utils/time.js.map +1 -1
  182. package/dist/utils/toError.d.ts +1 -1
  183. package/dist/utils/toError.js +1 -1
  184. package/dist/web-fetch/loginWall.d.ts +39 -0
  185. package/dist/web-fetch/loginWall.d.ts.map +1 -0
  186. package/dist/web-fetch/loginWall.js +78 -0
  187. package/dist/web-fetch/loginWall.js.map +1 -0
  188. package/dist/web-fetch/types.d.ts +8 -0
  189. package/dist/web-fetch/types.d.ts.map +1 -1
  190. package/dist/web-fetch/webFetchProvider.d.ts.map +1 -1
  191. package/dist/web-fetch/webFetchProvider.js +3 -1
  192. package/dist/web-fetch/webFetchProvider.js.map +1 -1
  193. package/dist/web-search/fetchWebSearchProvider.js +28 -23
  194. package/dist/web-search/fetchWebSearchProvider.js.map +1 -1
  195. package/docs/architecture/role-pack-authoring-guide.md +7 -1
  196. package/docs/architecture/role-pack-spec.md +11 -6
  197. package/docs/memora-api-reference.md +1354 -1276
  198. 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
  199. package/docs/memora-/346/216/245/345/205/245/346/214/207/345/215/227.md +89 -49
  200. package/docs/role-pack-/345/274/200/346/224/276/351/224/256/346/214/207/345/215/227.md +148 -148
  201. package/package.json +13 -4
  202. package/role-packs/README.md +41 -40
  203. package/role-packs/memora/345/212/251/346/211/213/rules.md +5 -4
  204. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/manifest.json +1 -0
  205. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/persona.md +46 -46
  206. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/rules.md +17 -16
  207. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/emotion-wave.md +46 -46
  208. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/foreshadow.md +29 -29
  209. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/outline-expand.md +73 -48
  210. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/project-init/scripts/init-novel-project.mjs +445 -441
  211. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/story-bible.md +62 -62
  212. 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
  213. package/role-packs//347/231/275/350/257/235/346/226/271/346/241/210/350/256/276/350/256/241/345/270/210/rules.md +2 -1
  214. package/dist/agent/managers/dedupManager.d.ts +0 -85
  215. package/dist/agent/managers/dedupManager.d.ts.map +0 -1
  216. package/dist/agent/managers/dedupManager.js +0 -248
  217. package/dist/agent/managers/dedupManager.js.map +0 -1
  218. package/dist/agent/managers/goalConsistencyChecker.d.ts +0 -42
  219. package/dist/agent/managers/goalConsistencyChecker.d.ts.map +0 -1
  220. package/dist/agent/managers/goalConsistencyChecker.js +0 -178
  221. package/dist/agent/managers/goalConsistencyChecker.js.map +0 -1
  222. package/dist/agent/managers/llmJudgeHelper.d.ts +0 -21
  223. package/dist/agent/managers/llmJudgeHelper.d.ts.map +0 -1
  224. package/dist/agent/managers/llmJudgeHelper.js +0 -32
  225. package/dist/agent/managers/llmJudgeHelper.js.map +0 -1
  226. package/dist/agent/managers/memoryAdvisor.d.ts +0 -105
  227. package/dist/agent/managers/memoryAdvisor.d.ts.map +0 -1
  228. package/dist/agent/managers/memoryAdvisor.js +0 -322
  229. package/dist/agent/managers/memoryAdvisor.js.map +0 -1
  230. package/dist/agent/managers/memoryGovernance.d.ts +0 -24
  231. package/dist/agent/managers/memoryGovernance.d.ts.map +0 -1
  232. package/dist/agent/managers/memoryGovernance.js +0 -46
  233. package/dist/agent/managers/memoryGovernance.js.map +0 -1
  234. package/dist/memory/governance.d.ts +0 -17
  235. package/dist/memory/governance.d.ts.map +0 -1
  236. package/dist/memory/governance.js +0 -17
  237. package/dist/memory/governance.js.map +0 -1
  238. package/dist/memory/projectRegistry.d.ts +0 -47
  239. package/dist/memory/projectRegistry.d.ts.map +0 -1
  240. package/dist/memory/projectRegistry.js +0 -151
  241. package/dist/memory/projectRegistry.js.map +0 -1
  242. package/dist/utils/recallDefaults.d.ts +0 -16
  243. package/dist/utils/recallDefaults.d.ts.map +0 -1
  244. package/dist/utils/recallDefaults.js +0 -16
  245. package/dist/utils/recallDefaults.js.map +0 -1
@@ -1,14 +1,25 @@
1
+ /**
2
+ * 工具执行器
3
+ *
4
+ * 4 个内置工具:read_file / write_file / list_dir / search_memories
5
+ * 安全采用两级权限 + 工具白名单 + 路径白名单
6
+ *
7
+ * 内置工具实现 + 路径安全已提取到 BuiltinToolHandlers,
8
+ * ToolExecutor 聚焦工具注册 / 分发 / 参数校验。
9
+ */
10
+ import { readFile } from 'node:fs/promises';
1
11
  import { requireConfirmingEntry } from '../security/confirmEntries.js';
2
12
  import { toolError, configError, MemoraError, ToolErrorCode } from '../utils/errors.js';
3
13
  import { toError } from '../utils/toError.js';
4
14
  import { logger } from '../logging/logger.js';
5
15
  import { truncate } from '../utils/strings.js';
6
- import { ALL_BUILTIN_TOOL_DEFS, BUILTIN_TOOLS, WEB_SEARCH_TOOL, WEB_FETCH_TOOL, WEB_FETCH_CONTENT_MAX_LEN, WEB_FETCH_CONTENT_DEFAULT_LEN, RUN_CODE_TOOL, buildRunCodeTool, SEARCH_PROJECT_TOOL, } from '../agent/builtinTools.js';
7
- import { sanitizeExternalText } from '../agent/textSanitize.js';
16
+ import { ALL_BUILTIN_TOOL_DEFS, BUILTIN_TOOLS, WEB_SEARCH_TOOL, WEB_FETCH_TOOL, WEB_FETCH_CONTENT_MAX_LEN, WEB_FETCH_CONTENT_DEFAULT_LEN, RUN_CODE_TOOL, buildRunCodeTool, SEARCH_PROJECT_TOOL, DEFAULT_WRITE_FILE_MODE, } from '../agent/builtinTools.js';
17
+ import { sanitizeExternalText, stripControlChars } from '../agent/textSanitize.js';
8
18
  import { okOutcome, failedOutcome, failedOutcomeWithCode, blockedOutcome, } from '../agent/managers/toolCallHelpers.js';
9
- import { BuiltinToolHandlers } from '../agent/builtinToolHandlers.js';
19
+ import { BuiltinToolHandlers, SCRIPT_READ_MAX_LEN } from '../agent/builtinToolHandlers.js';
10
20
  import { safeSearch } from '../web-search/webSearchProvider.js';
11
21
  import { safeFetch } from '../web-fetch/webFetchProvider.js';
22
+ import { isLoginWallPage } from '../web-fetch/loginWall.js';
12
23
  import { safeExecuteCode } from '../code-exec/codeExecutionProvider.js';
13
24
  import { formatExecutionResult, formatScriptResult, formatCommandResult, formatKilledCommandOutput, resolveCommandTimeoutMs, runShellCommand, runSkillScript, } from '../skill/skillScriptRunner.js';
14
25
  import { resolveSafePath, inferRuntimeFromExt } from '../utils/scanner.js';
@@ -20,6 +31,13 @@ export { BUILTIN_TOOLS, BUILTIN_TOOL_IDEMPOTENCY } from '../agent/builtinTools.j
20
31
  const WEB_SEARCH_QUERY_MAX_LEN = 200;
21
32
  /** web_search 单条结果字段最大长度(防长上下文注入) */
22
33
  const WEB_SEARCH_RESULT_MAX_LEN = 500;
34
+ /**
35
+ * web_search 观测留痕的最大标题条数(证据面小帽)
36
+ *
37
+ * 留痕目的是归因取样(「搜到了什么」),不是全量镜像——全量计数由 count 承载,
38
+ * 标题只留前 N 条样本。与结果字段上限同族:证据落盘体积有界。
39
+ */
40
+ const WEB_SEARCH_EVIDENCE_MAX_TITLES = 5;
23
41
  // ─── web_fetch / run_code 注入防御常量 ─────────────────
24
42
  /** web_fetch 的 url 最大长度(防超长/恶意 URL 滥用) */
25
43
  const WEB_FETCH_URL_MAX_LEN = 2000;
@@ -393,6 +411,20 @@ export class ToolExecutor {
393
411
  setBudgetProvider(provider) {
394
412
  this.budgetProvider = provider;
395
413
  }
414
+ /**
415
+ * web_search 执行事实观察者(可选,观测留痕)
416
+ *
417
+ * 由 agent 装配时注入(loop.recordWebSearchEvidence,「搜不准」归因取证):
418
+ * 每次 web_search **实际执行后**(safeSearch 返回即发射,零结果/降级页同样发射——
419
+ * 「没搜到」与「搜到了但不对」同为归因现场,失败按原样记录 = 诚实镜像 LLM 实际所得)。
420
+ * 护栏硬拦的搜索不走此路(未执行即无结果面;拦截事实已在 tool 消息可见)。
421
+ * undefined = 未注入静默跳过(纯 ToolExecutor 单测场景)。
422
+ */
423
+ searchResultObserver;
424
+ /** 注入 web_search 执行事实观察者(装配时由 loop 创建后注入,见 assembler) */
425
+ setSearchResultObserver(observer) {
426
+ this.searchResultObserver = observer;
427
+ }
396
428
  /**
397
429
  * 注入后台任务注册表(装配层接线,run_command background / kill_command 数据源)
398
430
  *
@@ -432,6 +464,17 @@ export class ToolExecutor {
432
464
  * 消除「exitCode/timedOut 在装配边界被压成文本」的事实丢失。
433
465
  */
434
466
  runSkillScript;
467
+ /**
468
+ * run_skill_script 脚本路径解析回调(由 agent 装配时注入,CMD-1-CONTENT)
469
+ *
470
+ * 与 `runSkillScript`(执行回调)是**同一个解析函数的两面**(assembler 内共用
471
+ * `resolveSkillScriptTarget`):本回调只返技能脚本的绝对路径、不执行。确认点用它
472
+ * 定位脚本文件读正文,经 `confirmByEntry` 的 `content` 参喂同一个 `classifyCommand`
473
+ * ——技能脚本执行面此前面向「来源可信」免检(CMD-1-BYPASS 最后一面),现与
474
+ * run_code / run_project_script 对齐黑名单底线(deny 恒拦 / always-ask 恒弹)。
475
+ * 未注入时 run_skill_script 不传正文(维持档位判据),执行面行为不变。
476
+ */
477
+ resolveSkillScript;
435
478
  /**
436
479
  * list_resources 资源清单回调(由 agent 装配时注入)
437
480
  *
@@ -502,7 +545,8 @@ export class ToolExecutor {
502
545
  * 转发给 builtinHandlers:search_memories 命中记忆时触发,为全库**唯一** memoryRecalled
503
546
  * 发射位(无 warmRecall 等其他发射路径)。
504
547
  *
505
- * @param callback 命中回调(count 命中条数 / query 检索词),缺省注入则工具静默(无宿主 no-op)
548
+ * @param callback 命中回调(载荷类型 = AgentEventMap['memoryRecalled'] 单一真源:count 命中条数 /
549
+ * query 检索词 / hits 命中明细 / toolCallId 本次调用配对键),缺省注入则工具静默(无宿主 no-op)
506
550
  */
507
551
  setOnMemoryRecalled(callback) {
508
552
  this.builtinHandlers.setOnMemoryRecalled(callback);
@@ -517,6 +561,15 @@ export class ToolExecutor {
517
561
  setExclusionRoundIdsProvider(provider) {
518
562
  this.builtinHandlers.setExclusionRoundIdsProvider(provider);
519
563
  }
564
+ /**
565
+ * 注入后台任务槽位调度器,转发给 builtinHandlers:search_memories 命中 touch 走实例级限流。
566
+ * 与 SeedDeps 的调度器同一实例(装配期 wiring),纳入 Agent.close() 单点等待。
567
+ *
568
+ * @param scheduler Agent 实例级后台任务调度器
569
+ */
570
+ setBackgroundTaskScheduler(scheduler) {
571
+ this.builtinHandlers.setBackgroundTaskScheduler(scheduler);
572
+ }
520
573
  /**
521
574
  * 注册自定义工具
522
575
  *
@@ -571,10 +624,13 @@ export class ToolExecutor {
571
624
  this.onToolsChanged?.();
572
625
  }
573
626
  /**
574
- * 移除自定义工具
627
+ * 移除自定义工具(运行时可注销)
575
628
  *
576
- * 供测试场景使用,可在测试后清理已注册的自定义工具。
577
- * 仅能移除通过 registerTool 注册的自定义工具,无法移除内置工具。
629
+ * 供测试清理使用,也是宿主动态工具的生命周期出口:MCP server 停用 / 连接断开时
630
+ * 由宿主调用注销对应工具(方案-MCP工具接入 §6)。仅能移除通过 registerTool 注册的
631
+ * 自定义工具,无法移除内置工具。
632
+ * 注销后触发 onToolsChanged:AgentLoop 的 toolDefinitions 快照与 system prompt 自动刷新,
633
+ * 工具从模型可见列表消失(进行中 step 仍持旧快照的竞态已登记方案 §10)。
578
634
  *
579
635
  * @param name 工具名称
580
636
  */
@@ -679,13 +735,14 @@ export class ToolExecutor {
679
735
  * @param target 确认对象(命令原文 / 脚本路径 / 内联代码标识)
680
736
  * @param tool 工具名
681
737
  * @param description 面向用户的描述
738
+ * @param content 脚本面**将被执行的正文**(命令面不传;补齐 CMD-1-BYPASS 用)
682
739
  * @returns 是否获确认放行
683
740
  */
684
- async confirmByEntry(entry, target, tool, description) {
741
+ async confirmByEntry(entry, target, tool, description, content) {
685
742
  if (entry === 'command') {
686
743
  return this.security.confirmCommandRun(target, tool, description);
687
744
  }
688
- return this.security.confirmScriptRun(target, tool, description);
745
+ return this.security.confirmScriptRun(target, tool, description, content);
689
746
  }
690
747
  /**
691
748
  * 执行工具调用
@@ -701,9 +758,12 @@ export class ToolExecutor {
701
758
  * @param emitOutcome 原生结构化结果回调(可选 · SCRIPT-2 outcome 通道):
702
759
  * 已切族工具在**返回字符串的同点**按执行事实产出 `ToolOutcome`(status 不读文本前缀);
703
760
  * 未切族不调用 ⇒ ToolRunner 回落文本判据。每调用独立回调,无并发相关性问题。
761
+ * @param toolCallId 本次工具调用的唯一 ID(可选 · 证据配对通道):web_search 执行时随
762
+ * 观测留痕一并携带,使宿主渲染能把证据唯一配对回工具行(不再按 query 文本猜)。
763
+ * 非 web_search 工具忽略此参;缺省 = 证据不带 ID,宿主回退 query 启发式(保不带伤)。
704
764
  * @returns 工具结果的字符串描述(渲染面,逐字保持)
705
765
  */
706
- async execute(name, argsJson, extensions, emitOutcome) {
766
+ async execute(name, argsJson, extensions, emitOutcome, toolCallId) {
707
767
  let args;
708
768
  try {
709
769
  args = JSON.parse(argsJson);
@@ -733,11 +793,16 @@ export class ToolExecutor {
733
793
  case 'read_file':
734
794
  return this.builtinHandlers.readFile(strArg('path'), strArg('offset') || undefined, strArg('limit') || undefined);
735
795
  case 'write_file':
736
- return this.builtinHandlers.writeFile(strArg('path'), strArg('content'), extensions, strArg('mode', 'overwrite'), strArg('insert_line') || undefined, strArg('old_string') || undefined);
796
+ return this.builtinHandlers.writeFile(strArg('path'), strArg('content'), extensions,
797
+ // 缺省模式取单一真源(不写 'overwrite' 字面量):此处是最上游的默认值,
798
+ // 漏接常量会让「改默认模式」只改到 handler / 护栏,派发层仍显式传旧值 ⇒ 静默漂移
799
+ strArg('mode', DEFAULT_WRITE_FILE_MODE), strArg('insert_line') || undefined, strArg('old_string') || undefined);
737
800
  case 'list_dir':
738
801
  return this.builtinHandlers.listDir(strArg('path', '.'), strArg('recursive', 'false'), strArg('maxDepth', '2'));
739
802
  case 'search_memories':
740
- return this.builtinHandlers.searchMemories(strArg('query'), strArg('limit', '10'), strArg('mode', 'match'));
803
+ // toolCallId 透传给处理器:命中明细随 memoryRecalled 携带配对键,宿主据此挂回工具行
804
+ // (与 web_search 证据配对同源通道;缺省 undefined 时处理器不带该字段,宿主走兜底落位)。
805
+ return this.builtinHandlers.searchMemories(strArg('query'), strArg('limit', '10'), strArg('mode', 'match'), toolCallId);
741
806
  case 'trace_summary':
742
807
  return this.builtinHandlers.traceSummary(strArg('sessionId'), strArg('roundId') || undefined, strArg('limit', '5'));
743
808
  case 'list_sessions':
@@ -762,12 +827,27 @@ export class ToolExecutor {
762
827
  }
763
828
  const limit = Math.min(Number.parseInt(strArg('limit', '5'), 10) || 5, 20);
764
829
  const results = await safeSearch(this.webSearchProvider, query, { limit });
830
+ // 搜索来源(降级透出 + 观测留痕同源):同批次结果来自同一后端,取首条 endpoint
831
+ const endpoint = results[0]?.endpoint;
832
+ // 观测留痕(SEARCH-QUALITY-1 P1-1):执行事实镜像给 loop 落裁决证据轨。
833
+ // 在空结果分支**之前**发射——零结果(count=0)是「没搜到」的归因现场,不静默跳过;
834
+ // safeSearch 降级页按原样记录(title 即「网络搜索暂不可用」)= 诚实镜像 LLM 实际所得。
835
+ // query 与 titles 同净化标准(stripControlChars 剥控制字符——落盘证据面不进原始
836
+ // 控制字符;长度已由 WEB_SEARCH_QUERY_MAX_LEN 校验管,不重复钳制)
837
+ this.searchResultObserver?.({
838
+ toolCallId,
839
+ query: stripControlChars(query),
840
+ endpoint,
841
+ count: results.length,
842
+ titles: results
843
+ .slice(0, WEB_SEARCH_EVIDENCE_MAX_TITLES)
844
+ .map((r) => sanitizeExternalText(r.title, WEB_SEARCH_RESULT_MAX_LEN)),
845
+ });
765
846
  if (results.length === 0) {
766
847
  return `(未找到与 "${query}" 相关的搜索结果)`;
767
848
  }
768
849
  // 搜索来源透出:同批次结果来自同一后端,取首条 endpoint 告知用户实际使用的搜索源
769
850
  // (降级到 DuckDuckGo 时即透出「搜索来源:DuckDuckGo」),提升 in-flow 信任;宿主渲染工具结果文本即可见。
770
- const endpoint = results[0]?.endpoint;
771
851
  const sourceLine = endpoint ? `(搜索来源:${endpoint})` : '';
772
852
  // 返回净化:外部内容去控制字符 + 长度上限,防长上下文注入
773
853
  const body = results
@@ -809,6 +889,18 @@ export class ToolExecutor {
809
889
  if (!page.content) {
810
890
  return `(未能从 "${url}" 提取到正文内容)`;
811
891
  }
892
+ // 登录墙识别(SEARCH-QUALITY-1 P2-1):HTTP 200 的登录页洗成正文 = 「抓到了一堵墙」,
893
+ // 明示不可读并引导换源——不把表单碎片当页面内容交付(LLM 会当正文啃)。
894
+ // 判据是保守启发式(漏判=现状,误判=藏可读页,见 loginWall.ts 文件头);
895
+ // finalUrl 取重定向后实际地址 page.url(带登录态参数的原始 URL 常常正是要抓的页面)。
896
+ // 两条边界排除(落地自审 D-2/D-3):
897
+ // · fetchFailed 降级页不判墙——「抓取失败」不得谎报成「可能需登录」(失败语义不改写);
898
+ // · contentCap 传 maxChars——截断上限 < 弱信号阈值时「短正文」是截断假象,弱信号禁用。
899
+ if (!page.fetchFailed &&
900
+ isLoginWallPage(page.url || url, page.title, page.content, maxChars)) {
901
+ return (`(该页面(${page.url || url})可能需要登录才能查看,本次只获取到登录表单而非正文。` +
902
+ `请改用其他来源,或请用户提供可访问的链接。)`);
903
+ }
812
904
  // 返回净化:外部内容去控制字符 + 长度上限,防长上下文注入
813
905
  const title = sanitizeExternalText(page.title, 500);
814
906
  const content = sanitizeExternalText(page.content, WEB_FETCH_CONTENT_MAX_LEN);
@@ -838,10 +930,11 @@ export class ToolExecutor {
838
930
  // 统一执行入参:脚本源码 / 代码字符串 + 语言 + 工作目录
839
931
  let execCode;
840
932
  let execLanguage;
841
- // 临时脚本模式 cwd=项目根(脚本可 require 项目本地依赖、读取项目数据);code 模式不指定由执行器决定
842
- const execOptions = scriptPath
843
- ? { cwd: this.builtinHandlers.projectPath }
844
- : undefined;
933
+ // cwd 恒=项目根(两模式同源供给,SKILL-CWD-1 审查实锤的 code 模式缺口,2026-10-14 补):
934
+ // 此前 code 模式不传 → 执行器 spawn 无 cwd → 子进程继承宿主进程 cwd(VS Code 启动目录,
935
+ // 不可控)→ 内联代码相对路径写文件可逃出项目根 / 读项目数据 ENOENT。
936
+ // 四执行面(run_command / run_project_script / run_skill_script / run_code)cwd 判据至此对称。
937
+ const execOptions = { cwd: this.builtinHandlers.projectPath };
845
938
  if (scriptPath) {
846
939
  // 读取脚本文件原样执行(路径白名单 + 长度上限由 readScriptFile 负责,截断会破坏语法)
847
940
  execCode = await this.builtinHandlers.readScriptFile(scriptPath);
@@ -870,12 +963,16 @@ export class ToolExecutor {
870
963
  }
871
964
  // 执行确认:guest 模式或 confirmScripts 时询问(run_code 由宿主沙箱执行,此处为权限层确认;
872
965
  // owner+confirmScripts=false 自动批准,走审计。code 无落盘路径,target 用描述型标识)
966
+ // ⚠️ 第五参 = **将被执行的正文**(CMD-1-BYPASS 补齐):脚本面以前不看内容,
967
+ // 「git push」写进代码就绕过命令面的裁决链;此处把正文喂进同一个 classifyCommand。
873
968
  const execConfirmed = await this.confirmByEntry(requireConfirmingEntry('run_code'), scriptPath ? `run_code:script:${scriptPath}` : 'run_code:inline', 'run_code', scriptPath
874
969
  ? `运行脚本 ${scriptPath}(宿主沙箱)`
875
- : `执行内联代码(${execLanguage},${execCode.length} 字符,宿主沙箱)`);
970
+ : `执行内联代码(${execLanguage},${execCode.length} 字符,宿主沙箱)`, execCode);
876
971
  if (!execConfirmed) {
877
- // 用户/系统拒绝执行 = 主动挡下(permission_denied),非执行失败
878
- const declineText = '[ERR:SCRIPT_DECLINE] 代码执行未获确认(用户拒绝或未注入确认回调,fail-closed)';
972
+ // 用户/系统拒绝执行 = 主动挡下(permission_denied),非执行失败。
973
+ // 措辞与 run_command 的 declineText 同款(命中恒拦 / 用户拒绝 / fail-closed 三因共用):
974
+ // 裁决返回 false 时不区分成因,写"未获确认"会把命中黑名单说成用户拒绝(说谎)。
975
+ const declineText = '[ERR:SCRIPT_DECLINE] 代码执行未获执行许可(命中恒拦黑名单 / 用户拒绝 / 未注入确认回调,fail-closed)';
879
976
  emitOutcome?.(blockedOutcome('permission_denied', declineText));
880
977
  return declineText;
881
978
  }
@@ -1076,16 +1173,54 @@ export class ToolExecutor {
1076
1173
  const skillName = strArg('skill_name');
1077
1174
  const scriptPath = strArg('script_path');
1078
1175
  const scriptArgs = Array.isArray(args['args']) ? args['args'] : [];
1176
+ // CMD-1-CONTENT:技能脚本正文裁决(与 run_code / run_project_script 同判据)
1177
+ //
1178
+ // 确认点经 resolveSkillScript(与执行回调同一个解析函数,见 assembler)定位脚本
1179
+ // 文件读正文,喂下方 confirmByEntry 的 content 参 → 同一个 classifyCommand。
1180
+ // 技能目录 = 可信根(ADR-040 决策 1「技能目录脚本经作者审阅」),不走项目根白名单;
1181
+ // 防逃逸由解析侧保证(角色包 layer3 白名单 + resolveSafePath 边界 / 全局
1182
+ // resolveLayer3ScriptPath + existsSyncSafe)。⚠️ TOCTOU 边界与 run_project_script
1183
+ // 同款登记:裁决与执行之间文件若被改写,裁决看到旧内容——改写只能来自本 agent 或
1184
+ // 用户本人,且「不裁决」的风险(脚本里藏 git push / rm -rf 恒不设防)远大于该窗口。
1185
+ //
1186
+ // fail-closed 分级(无「读不动就放行」的口子):
1187
+ // 解析不到(resolver 返 null)= 不传正文——执行点同一解析必返 null,
1188
+ // 走既有 [ERR:SCRIPT_NOT_FOUND],不造第二语义;
1189
+ // 读失败 / 超 SCRIPT_READ_MAX_LEN = decline(blocked,不执行)。
1190
+ let skillScriptContent;
1191
+ if (this.resolveSkillScript) {
1192
+ const scriptAbsolutePath = this.resolveSkillScript(skillName, scriptPath);
1193
+ if (scriptAbsolutePath) {
1194
+ let rawContent;
1195
+ try {
1196
+ rawContent = await readFile(scriptAbsolutePath, 'utf-8');
1197
+ }
1198
+ catch {
1199
+ const readFailText = `[ERR:SCRIPT_DECLINE] 技能脚本 "${scriptPath}" 正文读取失败,拒绝执行(fail-closed:无法完成内容裁决)`;
1200
+ emitOutcome?.(blockedOutcome('permission_denied', readFailText));
1201
+ return readFailText;
1202
+ }
1203
+ if (rawContent.length > SCRIPT_READ_MAX_LEN) {
1204
+ const tooLongText = `[ERR:SCRIPT_DECLINE] 技能脚本 "${scriptPath}" 超过 ${SCRIPT_READ_MAX_LEN} 字符上限,拒绝执行(fail-closed:超出正文裁决预算)`;
1205
+ emitOutcome?.(blockedOutcome('permission_denied', tooLongText));
1206
+ return tooLongText;
1207
+ }
1208
+ skillScriptContent = rawContent;
1209
+ }
1210
+ }
1079
1211
  // 脚本执行确认(与 run_code/run_project_script 同判据):
1080
1212
  // owner + confirmScripts=false 默认放行(技能脚本来源可信,判据 B,无人值守可跑);
1081
1213
  // guest 恒确认(受限权限下禁止"来源可信豁免"自主执行,缝合三脚本工具语义裂缝);
1082
1214
  // confirmScripts=true 时 owner 亦确认(开关语义 = "脚本执行二次确认",对全部脚本生效)。
1083
1215
  // 无 OS 级沙箱(子进程直跑 + env 继承用户环境),故不能以 Codex workspace-write 的
1084
1216
  // "边界内自动"前提豁免 guest。target 用技能名:脚本路径标识(无落盘绝对路径)。
1085
- const execConfirmed = await this.confirmByEntry(requireConfirmingEntry('run_skill_script'), `skill:${skillName}:${scriptPath ?? ''}`, 'run_skill_script', `执行技能 ${skillName} 的脚本 ${scriptPath ?? ''}`);
1217
+ // 正文经 skillScriptContent 进同一个 classifyCommand:deny 恒拦 / always-ask 恒弹 /
1218
+ // normal 回落档位;拿不到正文(未注入 resolver 或解析不到)时只判档位。
1219
+ const execConfirmed = await this.confirmByEntry(requireConfirmingEntry('run_skill_script'), `skill:${skillName}:${scriptPath ?? ''}`, 'run_skill_script', `执行技能 ${skillName} 的脚本 ${scriptPath ?? ''}`, skillScriptContent);
1086
1220
  if (!execConfirmed) {
1087
- // 用户/系统拒绝执行 = 主动挡下(permission_denied),非执行失败
1088
- const declineText = '[ERR:SCRIPT_DECLINE] 技能脚本执行未获确认(用户拒绝或未注入确认回调,fail-closed)';
1221
+ // 用户/系统拒绝执行 = 主动挡下(permission_denied),非执行失败。
1222
+ // 措辞与 run_command 同款:裁决返回 false 时不区分成因(恒拦 / 拒答 / fail-closed)。
1223
+ const declineText = '[ERR:SCRIPT_DECLINE] 技能脚本执行未获执行许可(命中恒拦黑名单 / 用户拒绝 / 未注入确认回调,fail-closed)';
1089
1224
  emitOutcome?.(blockedOutcome('permission_denied', declineText));
1090
1225
  return declineText;
1091
1226
  }
@@ -1119,15 +1254,22 @@ export class ToolExecutor {
1119
1254
  emitOutcome?.(blockedOutcome('permission_denied', pathDeniedText));
1120
1255
  return pathDeniedText;
1121
1256
  }
1122
- // ② 执行确认:guest 模式或 confirmScripts 时询问(owner 默认自动批准,走审计)
1123
- const confirmed = await this.confirmByEntry(requireConfirmingEntry('run_project_script'), fullPath, 'run_project_script', `运行项目脚本 ${scriptPath}`);
1257
+ // ② 读正文(供内容裁决;CMD-1-BYPASS 补齐)
1258
+ // 与执行阶段读的是同一份文件。⚠️ TOCTOU 边界诚实登记:裁决与执行之间文件若被
1259
+ // 改写,裁决看到的是旧内容——改写只能来自本 agent 或用户本人,且「不裁决」的
1260
+ // 风险(脚本里藏 git push / rm -rf 恒不设防)远大于这个窗口。
1261
+ const scriptContent = await this.builtinHandlers.readScriptFile(scriptPath, 'run_project_script script_path');
1262
+ // ③ 执行确认:guest 模式或 confirmScripts 时询问;内容命中 deny 恒拦、
1263
+ // always-ask 恒弹(与 run_command 面同一套 classifyCommand 判据)
1264
+ const confirmed = await this.confirmByEntry(requireConfirmingEntry('run_project_script'), fullPath, 'run_project_script', `运行项目脚本 ${scriptPath}`, scriptContent);
1124
1265
  if (!confirmed) {
1125
- // 用户/系统拒绝执行 = 主动挡下(permission_denied),非执行失败
1126
- const declineText = '[ERR:SCRIPT_DECLINE] 脚本运行未获确认(用户拒绝或未注入确认回调,fail-closed)';
1266
+ // 用户/系统拒绝执行 = 主动挡下(permission_denied),非执行失败。
1267
+ // 措辞与 run_command 同款:裁决返回 false 时不区分成因(恒拦 / 拒答 / fail-closed)。
1268
+ const declineText = '[ERR:SCRIPT_DECLINE] 脚本运行未获执行许可(命中恒拦黑名单 / 用户拒绝 / 未注入确认回调,fail-closed)';
1127
1269
  emitOutcome?.(blockedOutcome('permission_denied', declineText));
1128
1270
  return declineText;
1129
1271
  }
1130
- // ③ 运行时白名单:扩展名推断并收敛到 node/python/shell 三档(推断即可信,不规则兜底 node)
1272
+ // ④ 运行时白名单:扩展名推断并收敛到 node/python/shell 三档(推断即可信,不规则兜底 node)
1131
1273
  const ext = scriptPath.slice(scriptPath.lastIndexOf('.')).toLowerCase();
1132
1274
  const runtime = normalizeScriptRuntime(inferRuntimeFromExt(ext) ?? 'node');
1133
1275
  // timeout_ms(秒,可选)→ 毫秒透传内核执行器(默认 60s,上限 600s,见 skillScriptRunner 常量);
@@ -1351,6 +1493,24 @@ export class ToolExecutor {
1351
1493
  // 自定义工具 fallback:查找 customTools Map
1352
1494
  const custom = this.customTools.get(name);
1353
1495
  if (custom) {
1496
+ // 审批闸(K1 · 自定义工具统一走 confirmGate 单点):confirmPolicy 是工具自身声明的
1497
+ // 「要不要问」——'always' 每次弹确认;'audit' 过闸自动放行(仍落 write-auto 审计);
1498
+ // 缺省 = 字段不存在 = 不过闸不审计(历史行为零变化)。
1499
+ // 判据不参与命令/脚本裁决,与 CONFIRM_ENTRY_BY_TOOL 静态表两回事,勿折叠。
1500
+ const policy = custom.definition.confirmPolicy;
1501
+ if (policy !== undefined) {
1502
+ // 调用摘要 = 被裁决对象标识(与 run_command 把命令字面量塞审计 path 同构),截断防撑爆
1503
+ // args 来自 JSON.parse(无循环引用)⇒ JSON.stringify 恒返回 string
1504
+ const summary = truncate(JSON.stringify(args), 200);
1505
+ const confirmed = await this.security.requestToolCallConfirmation(name, summary, policy === 'always');
1506
+ if (!confirmed) {
1507
+ // 被拒 → 不再调 handler;语义是「主动挡下」⇒ blocked(与 run_command 拒绝先例同构)
1508
+ const declineText = `[ERR:TOOL_DECLINE] 自定义工具 ${name} 未获执行许可(用户拒绝 / 未注入确认回调 fail-closed)。` +
1509
+ '未执行该工具;如确需执行,请用户调整审批设置。';
1510
+ emitOutcome?.(blockedOutcome('permission_denied', declineText));
1511
+ return declineText;
1512
+ }
1513
+ }
1354
1514
  // 传入 ToolContext,提供 guardPath 安全校验方法
1355
1515
  // 路径安全委托给 BuiltinToolHandlers
1356
1516
  const ctx = {
@@ -1 +1 @@
1
- {"version":3,"file":"toolExecutor.js","sourceRoot":"","sources":["../../src/agent/toolExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolExecutor.js","sourceRoot":"","sources":["../../src/agent/toolExecutor.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * 同一参数重复调用既浪费 token 又无增量价值(文件未变 / 同 query 网络结果近似)。
6
6
  * 本缓存以「闭环内去重」为粒度——闭环结束即清空,跨闭环不复用。
7
7
  *
8
- * 拦截语义与 loop 已有的 web_search MAX_WEB_SEARCH_CALLS / ask_user askLimit 同级:
8
+ * 拦截语义与 loop 已有的 web_search 搜索上限护栏 / ask_user askLimit 同级:
9
9
  * 检测到重复 → blocked=true(不算工具失败)→ 返回 [ALREADY_READ] 拒绝文案。
10
10
  *
11
11
  * **去重主体是结构化的**(`DedupSubject`),不是预先拼好的字符串 key:
@@ -21,8 +21,9 @@ export type { ToolCall };
21
21
  /** 工具执行器依赖注入(loop 稳定的窄面;策略动态经 getStrategy 读取) */
22
22
  export interface ToolRunnerDeps {
23
23
  /** 执行单个工具(loop 的 opts.toolExecutor)。
24
- * 第 3 参 emitOutcome:执行器按调用独立产出原生 outcome 的通道(见 toolExecutor.execute) */
25
- execute: (name: string, args: string, emitOutcome?: (outcome: ToolOutcome) => void) => Promise<string>;
24
+ * 第 3 参 emitOutcome:执行器按调用独立产出原生 outcome 的通道(见 toolExecutor.execute)
25
+ * 第 4 参 toolCallId:本次工具调用唯一 ID(web_search 证据配对通道,透传至 toolExecutor.execute) */
26
+ execute: (name: string, args: string, emitOutcome?: (outcome: ToolOutcome) => void, toolCallId?: string) => Promise<string>;
26
27
  /** 内置工具定义(只读闸查 readonly 标记) */
27
28
  builtinTools?: ToolDefinition[];
28
29
  /** 宿主执行前检查(拒绝 / 跳过 / 改写参数) */
@@ -60,6 +61,7 @@ export declare class ToolRunner {
60
61
  *
61
62
  * @param emitOutcome 原生 outcome 回调(透传给 execute;abort 出口也经它显式 emit failed,
62
63
  * 保证 runOne 兜底(nativeOutcome ?? ok)读到中断事实而非误判 ok)
64
+ * @param toolCallId 工具调用唯一 ID(透传给 execute,web_search 证据配对通道)
63
65
  */
64
66
  private raceToolWithSignal;
65
67
  }
@@ -1 +1 @@
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"}
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;;mFAE+E;IAC/E,OAAO,EAAE,CACP,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,EAC5C,UAAU,CAAC,EAAE,MAAM,KAChB,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;IAyFtE;;;OAGG;IACH,OAAO,CAAC,cAAc;IAoDtB;;;;;;;;OAQG;YACW,kBAAkB;CAyCjC"}