@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
@@ -19,10 +19,6 @@ import { SkillManager } from '../skill/skillManager.js';
19
19
  import { WorkProjectionManager } from '../agent/managers/workProjection.js';
20
20
  import { SessionArchiver } from '../agent/managers/sessionArchiver.js';
21
21
  import { MemoryInspector } from '../agent/managers/memoryInspector.js';
22
- // DedupManager 在组合根装配,承担 L1 语义去重
23
- import { DedupManager } from '../agent/managers/dedupManager.js';
24
- // MemoryAdvisor 在组合根装配,注入 MemoryInspector(组合根一致性)
25
- import { MemoryAdvisor } from '../agent/managers/memoryAdvisor.js';
26
22
  import { TextPolishManager } from '../agent/managers/textPolishManager.js';
27
23
  import { RoundSummaryGenerator } from '../agent/managers/roundSummaryGenerator.js';
28
24
  import { SessionManager } from '../agent/managers/sessionManager.js';
@@ -39,13 +35,15 @@ const ROUND_SUMMARY_LOADER_MAX = 5;
39
35
  import { SOURCE_LABELS } from '../memory/types.js';
40
36
  import { AGENT_CONSTANTS } from '../agent/constants.js';
41
37
  import { AGENT_EVENTS } from '../utils/eventEmitter.js';
42
- import { configError } from '../utils/errors.js';
38
+ import { configError, toolError, ToolErrorCode } from '../utils/errors.js';
43
39
  // 角色包管理器(唯一角色真理源)
44
40
  import { RolePackManager } from '../role-pack/rolePackManager.js';
45
41
  // run_team_meeting 会议实现(工具内嵌 LLM 调用;装配层持 provider + rolePackManager 闭包注入)
46
42
  import { runTeamMeetingAssessment } from '../agent/builtinToolHandlers.js';
47
43
  // L3 脚本执行器(静态导入,避免每次调用动态加载)
48
- import { runSkillScript, formatScriptResult } from '../skill/skillScriptRunner.js';
44
+ import { runSkillScript } from '../skill/skillScriptRunner.js';
45
+ import { BackgroundTaskRegistry } from '../agent/backgroundTasks.js';
46
+ import { BackgroundTaskScheduler } from '../utils/backgroundTask.js';
49
47
  /**
50
48
  * Turn 起始策略固定段(内核行为约束)。
51
49
  *
@@ -58,6 +56,42 @@ const TURN_START_STRATEGY_PROMPT = `## Turn 起始策略
58
56
  需要外部信息时,先调用工具调查再回答,不要凭记忆猜测;
59
57
  任务需要多步推进时,使用任务表工具规划执行;
60
58
  简单问题直接回答。`;
59
+ /**
60
+ * 将宿主环境快照格式化为 system prompt 注入段(纯函数,命令执行能力方案 §10.4-②)
61
+ *
62
+ * 零解释转发:只做字段 → 文本的机械映射,不添加行为引导(环境事实自己会说话,
63
+ * 「由模型自己决定」——Cline/Claude Code 共同点,见方案 §10.1)。
64
+ * 全字段缺省/空 → 返回空串(调用方 filter(Boolean) 自动跳过,prompt 无空段)。
65
+ *
66
+ * @param env 宿主环境快照(IEnvironmentProvider.getEnvironment() 产出)
67
+ * @param platform 平台判定(缺省 process.platform;参数化与 resolveShellCommand 同先例,供测试)
68
+ * @returns 「## 运行环境」段落(可能为空串)
69
+ */
70
+ export function buildEnvironmentContextBlock(env, platform = process.platform) {
71
+ if (!env)
72
+ return '';
73
+ const lines = [];
74
+ if (env.os)
75
+ lines.push(`- 操作系统:${env.os}`);
76
+ if (env.shell)
77
+ lines.push(`- 默认 Shell:${env.shell}`);
78
+ // Windows 编码事实(内核自陈执行器行为,非宿主快照字段):run_command 的 cmd
79
+ // 管道输出按系统 OEM 代码页写出(2026-10-08 实证:简中系统 chcp 65001 下仍输出
80
+ // GBK 字节 d6d0-cec4…),而内核执行器恒按 UTF-8 解码(skillScriptRunner 收流点)
81
+ // → 非 ASCII 输出乱码、ASCII 不受影响。只写事实链不写行为引导(对齐本函数
82
+ // 「零解释」纪律,模型据「Node 脚本输出为 UTF-8」可自行推出中文场景的选型)。
83
+ if (platform === 'win32') {
84
+ lines.push('- 命令输出编码:cmd 管道输出按系统 OEM 代码页写出(简中系统为 GBK),内核按 UTF-8 解码——' +
85
+ '非 ASCII 输出会显示为乱码(ASCII 不受影响);Node 脚本输出为 UTF-8');
86
+ }
87
+ if (env.runtimes && env.runtimes.length > 0) {
88
+ lines.push(`- 可用运行时:${env.runtimes.join('、')}`);
89
+ }
90
+ // 无任何有效字段 → 不产生空壳标题(防 prompt 出现「## 运行环境」下无内容的谎言段)
91
+ if (lines.length === 0)
92
+ return '';
93
+ return `## 运行环境\n\n${lines.join('\n')}`;
94
+ }
61
95
  /**
62
96
  * 构建 systemPromptPrefix 的共享函数(SSOT)
63
97
  *
@@ -65,8 +99,9 @@ const TURN_START_STRATEGY_PROMPT = `## Turn 起始策略
65
99
  * 1. 角色包 L1 persona + 技能清单(rolePackPrompt)
66
100
  * 2. 全局技能 L1 清单(globalSkillList)
67
101
  * 3. 作品投影装配注入块(workProjectionContext,可选:极简元数据清单,AI 按需 read_file)
68
- * 4. 当前时间戳
69
- * 5. 分隔线
102
+ * 4. 运行环境事实段(environmentContext,可选:宿主上报的 OS/shell/运行时)
103
+ * 5. 当前时间戳
104
+ * 6. 分隔线
70
105
  *
71
106
  * 必须包含全局技能清单和时间戳——若只拼接 rolePackPrompt,
72
107
  * 首次角色切换后全局技能永久不可见。
@@ -76,10 +111,16 @@ const TURN_START_STRATEGY_PROMPT = `## Turn 起始策略
76
111
  * @param globalSkillList 全局技能清单(SkillManager.buildSkillList())
77
112
  * @param locale 时间格式化 locale
78
113
  * @param workProjectionContext 作品投影装配注入块(可选;由 WorkProjectionManager.loadAndGetContextBlock() 产出)
114
+ * @param environmentContext 运行环境事实段(可选;由 buildEnvironmentContextBlock 格式化宿主快照产出)
79
115
  * @returns 完整的 systemPromptPrefix
80
116
  */
81
- export function buildSystemPromptPrefix(rolePackPrompt, globalSkillList, locale, workProjectionContext) {
82
- const systemPrefixParts = [rolePackPrompt, globalSkillList, workProjectionContext].filter(Boolean);
117
+ export function buildSystemPromptPrefix(rolePackPrompt, globalSkillList, locale, workProjectionContext, environmentContext) {
118
+ const systemPrefixParts = [
119
+ rolePackPrompt,
120
+ globalSkillList,
121
+ workProjectionContext,
122
+ environmentContext,
123
+ ].filter(Boolean);
83
124
  const now = new Date();
84
125
  const timeStr = now.toLocaleString(locale ?? AGENT_CONSTANTS.DEFAULT_LOCALE, {
85
126
  year: 'numeric',
@@ -107,7 +148,7 @@ export function buildSystemPromptPrefix(rolePackPrompt, globalSkillList, locale,
107
148
  * 1. 无依赖组件:history, workProjection, toolExec
108
149
  * 2. 依赖 Provider 的组件:skillManager, rolePackManager
109
150
  * 3. AgentLoop(依赖 toolExec + systemPromptPrefix)
110
- * 4. 依赖 Loop 的组件:memoryAdvisor, memoryInspector, dedupManager
151
+ * 4. 依赖 Loop 的组件:memoryInspector
111
152
  *
112
153
  * @param pctx 项目上下文
113
154
  * @param input 组装参数
@@ -119,7 +160,8 @@ export function buildSystemPromptPrefix(rolePackPrompt, globalSkillList, locale,
119
160
  *
120
161
  * 这些闭包回填在组装器——接线本质是组件间协作,
121
162
  * 属装配职责(装配逻辑单一真理源)。
122
- * 注:loop.onPaused 不在此装配——暂停收口(Agent.consumeExecutionStream)统一写 pauseMeta。
163
+ * 注:loop.onPaused 不在此装配——pauseMeta 唯一写入点是 SessionManager.pause();
164
+ * consumeExecutionStream 只负责从状态机 pendingPause 取原因/来源并调 pause(),不自行写 pauseMeta。
123
165
  * 注:任务表停滞检测内嵌在单 turn step 循环中(无多 turn 编排)。
124
166
  *
125
167
  * @param loop AgentLoop(装配其 onPendingQuestion/onPlanItemBoundary/getTaskTable)
@@ -130,7 +172,9 @@ export function buildSystemPromptPrefix(rolePackPrompt, globalSkillList, locale,
130
172
  */
131
173
  function wireRuntimeCallbacks(loop, toolExec, sessionManager, hooks, history) {
132
174
  // 主动提问(ask_user 工具检出):发射 questionPending 事件(宿主渲染提问 UI)+
133
- // 触发暂停(pauseMeta 记 reason/source,供重启恢复展示"问了什么")。
175
+ // 注册软暂停申请(requestPause(reason, 'agent') → 状态机 pendingPause)。
176
+ // 注:pauseMeta 是**判据**(clearPlanOnTurnEnd 据此决定任务表清不清),不是展示字段;
177
+ // 旧注释所称「供重启恢复展示」已随跨重启恢复退役而失效,勿据此理解其用途。
134
178
  loop.onPendingQuestion = (questions) => {
135
179
  if (questions.length === 0)
136
180
  return;
@@ -212,10 +256,15 @@ function wireRuntimeCallbacks(loop, toolExec, sessionManager, hooks, history) {
212
256
  .join('\n')}`;
213
257
  },
214
258
  updatePlanItem: (planItemId, status) => {
215
- // 状态变更收口 SessionManager.updatePlanItemStatus(内部标脏 + 心跳,唯一写点)。
216
- // 必须经此写点置 checkpointDirty,否则计划变更可能丢失标脏(纯内存态)
259
+ // 状态变更收口 SessionManager.updatePlanItemStatus(内部刷心跳,唯一写点)。
260
+ // 必须经此写点 touchCheckpoint,否则计划变更可能绕过心跳刷新(纯内存态)
217
261
  if (!sessionManager.updatePlanItemStatus(planItemId, status)) {
218
- return `[ERR:PLAN_ITEM_NOT_FOUND] 未找到任务项 ${planItemId}`;
262
+ // 任务项寻址失败 = 执行失败事实 → 结构化抛错(经 runOne catch → failedOutcome)。
263
+ // 不裸文本 return:B5 后 runOne 兜底=ok,裸失败前缀会被吞成成功(B5-e 消亡口径)。
264
+ throw toolError(`未找到任务项 ${planItemId}`, 'task_table_update 的 plan_item_id 在当前任务表中不存在', [
265
+ '用 task_table_write 返回的 8 位短 id 或任务表行首序号定位',
266
+ '先核对任务表注入内容中的现有任务项',
267
+ ], undefined, ToolErrorCode.ARGUMENT_ERROR);
219
268
  }
220
269
  // updatePlanItemStatus 返回 true ⇒ checkpoint/plan 必存在(SessionManager.updatePlanItemStatus 早退契约),用非空断言保证
221
270
  const plan = sessionManager.getCheckpoint().plan;
@@ -247,11 +296,11 @@ function wireRuntimeCallbacks(loop, toolExec, sessionManager, hooks, history) {
247
296
  async function createAgentLoopAndDeps(params) {
248
297
  const { provider, backgroundProvider, providerRouter, pctx, rolePackPrompt, skillManager, toolExec, maxContextTokens,
249
298
  // per-LLM 输出预算默认值(T1):宿主 per-LLM 配置透传 → loop.defaultMaxTokens
250
- maxTokens, tracer, messages, enableContextSummary, sessionStore, locale, sessionManager, hooks, workProjectionContext, } = params;
299
+ maxTokens, tracer, messages, enableContextSummary, sessionStore, locale, sessionManager, hooks, workProjectionContext, environmentContext, } = params;
251
300
  // 系统前缀:使用共享函数构建(SSOT:buildSystemPromptPrefix)
252
- // 包含角色包 L1 persona + 全局技能清单 + 作品投影装配块(L1 清单 + L2 always 正文)+ 当前时间戳
301
+ // 包含角色包 L1 persona + 全局技能清单 + 作品投影装配块(L1 清单 + L2 always 正文)+ 运行环境事实段 + 当前时间戳
253
302
  const globalSkillList = skillManager.buildSkillList();
254
- const systemPromptPrefix = buildSystemPromptPrefix(rolePackPrompt, globalSkillList, locale, workProjectionContext);
303
+ const systemPromptPrefix = buildSystemPromptPrefix(rolePackPrompt, globalSkillList, locale, workProjectionContext, environmentContext);
255
304
  // 角色包底盘占用(system prompt 总体 token)= 装配此刻即确定的真值,早于 prepare;
256
305
  // 冷启动 / 重启首屏即可显示真实占比。与运行时 prepare 用同一 estimateTokensMessages 估算器(口径一致)。
257
306
  const rolePackBaseTokens = estimateTokensMessages([{ content: systemPromptPrefix }]);
@@ -295,7 +344,9 @@ async function createAgentLoopAndDeps(params) {
295
344
  provider,
296
345
  providerRouter: providerRouter ?? undefined,
297
346
  bootstrapMemories: pctx.bootstrapMemories,
298
- toolExecutor: (name, args) => toolExec.execute(name, args),
347
+ // 第 5 参透传:ToolRunner 的原生 outcome 回调必须直达 ToolExecutor(不透传 = 已切族静默回落文本判据);
348
+ // toolCallId 透传 = web_search 证据按调用唯一 ID 配对(宿主渲染不再按 query 文本猜)
349
+ toolExecutor: (name, args, emitOutcome, toolCallId) => toolExec.execute(name, args, undefined, emitOutcome, toolCallId),
299
350
  systemPromptPrefix,
300
351
  rolePackBaseTokens,
301
352
  toolDefinitions: toolExec.list,
@@ -348,12 +399,8 @@ async function createAgentLoopAndDeps(params) {
348
399
  };
349
400
  sessionManager.logToolExecution(record);
350
401
  // completedToolCalls 仅内存态(不落盘):「工具重跑排重 / 补偿」仅在单进程存活期内生效,
351
- // 崩溃/重启后失效(走中断轮补全)。此处 flushNow() 为语义边界上的 no-op 清脏,
352
- // 调用无害但无持久化效果——幂等分级(non-idempotent/idempotent-key 优先清脏)仅作调用纪律保留。
353
- if (idempotent === 'non-idempotent' || idempotent === 'idempotent-key') {
354
- // 有写副作用且需持久化记录的工具:完成后立即清脏(SessionManager 恒实现,纯内存)
355
- sessionManager.flushNow();
356
- }
402
+ // 崩溃/重启后失效(走中断轮补全)。曾经此处的 flushNow() 为 no-op 清脏(宣称落盘、实无动作),
403
+ // 已随 CHKPT-2 减法删除——幂等分级(non-idempotent/idempotent-key)仍决定日志是否保留。
357
404
  },
358
405
  // 工具执行前检查(统一执行入口·单点聚合):宿主审批优先(denied 短路返回),放行后再做内部幂等检查。
359
406
  // ⚠️ 宿主未注入 preExecutionCheck 时 → 完全降级为仅内部幂等检查。
@@ -383,22 +430,29 @@ async function createAgentLoopAndDeps(params) {
383
430
  // 预算联动:search_project 执行期读取 loop 最近一轮 prepare 的剩余预算,
384
431
  // 预算紧张时自动下探结果条数上限(loop 创建后注入,与 read_skill 同款时序解耦)
385
432
  toolExec.setBudgetProvider(() => loop.getLastBudget()?.remainingTokens);
433
+ // 观测留痕接线(SEARCH-QUALITY-1 P1-1):「搜不准」归因取证——toolExecutor 观察
434
+ // web_search 执行事实 → loop.recordWebSearchEvidence 构造证据事件(ts/meetingRound
435
+ // 归 loop)→ appendRoundEvidence 落当前轮随 Round 持久化。
436
+ // 与 setBudgetProvider 同款时序解耦(loop 创建后才可注入);漏接 = 搜索照跑、证据归零。
437
+ toolExec.setSearchResultObserver((info) => loop.recordWebSearchEvidence(info));
438
+ // 后台任务注册表(run_command background / kill_command 与后台回流的共享单点):
439
+ // 一个实例同时接两端——toolExec 写(start / kill)、loop 读(完成回流 + turn 终态脱管)。
440
+ // **实例非单例**:每次装配新建一张任务表,多会话各自隔离(否则 kill_command 能杀别的会话的进程)。
441
+ const backgroundTasks = new BackgroundTaskRegistry();
442
+ toolExec.setBackgroundTasks(backgroundTasks);
443
+ loop.setBackgroundTasks(backgroundTasks);
386
444
  return { loop, sessionArchiver, textPolisher, roundSummaryGenerator };
387
445
  }
388
446
  /**
389
447
  * 创建依赖 Loop 的组件
390
448
  */
391
449
  function createLoopDependentComponents(params) {
392
- const { pctx, loop, history, backgroundProvider, hooks } = params;
450
+ const { pctx, loop, history } = params;
451
+ // 删后注记(2026-10-18 · GOVERNANCE-SRC-1 方案②):此处曾装配 MemoryAdvisor +
452
+ // DedupManager 并 emit dedupCompleted 事件。两者唯一消费方是已退役的 MemoryGovernance
453
+ // 门面,且其取样源 GOVERNANCE_SOURCES 恒为空 ⇒ 拆后无能力损失。勿加回。
393
454
  const memoryInspector = new MemoryInspector(pctx.index, loop, history);
394
- const memoryAdvisor = new MemoryAdvisor(pctx.index, backgroundProvider ?? null);
395
- const dedupManager = new DedupManager(pctx.index, backgroundProvider ?? null, (report) => {
396
- hooks?.emit(AGENT_EVENTS.dedupCompleted, {
397
- deduplicatedCount: report.deduplicatedCount,
398
- demotedIds: report.demotedIds,
399
- });
400
- });
401
- return { memoryAdvisor, memoryInspector, dedupManager };
455
+ return { memoryInspector };
402
456
  }
403
457
  // ── 主组装函数 ─────────────────────────────────────────────
404
458
  export async function assembleComponents(pctx, input) {
@@ -421,6 +475,12 @@ export async function assembleComponents(pctx, input) {
421
475
  const toolExec = new ToolExecutor(projectPath, pctx.security, pctx.index, input.webSearchProvider, sessionStore, input.fetchProvider, input.codeExecutionProvider, input.projectSearchProvider,
422
476
  // 脚本执行 node 路径(可选):透传 run_project_script 分支
423
477
  input.scriptNodePath);
478
+ // ── 后台任务槽位调度器(实例级)──
479
+ // 归属本 Agent 实例(SSOT:一个 Agent = 一个项目):摘要(round-summary)/ 会话命名(session-title)
480
+ // 经 SeedDeps 注入 seed 使用;命中 touch(search_memories.touch)经 toolExec 注入 builtinHandlers——
481
+ // **两路共用同一实例**,故 close() 单点等待即可覆盖全部后台副作用(旧模块级单例已按 SSOT 归位到实例)。
482
+ const backgroundTasks = new BackgroundTaskScheduler();
483
+ toolExec.setBackgroundTaskScheduler(backgroundTasks);
424
484
  // ── 会话管理器(先于 loop 创建)──
425
485
  // SessionManager 构造只存 getter(getHistory/getLoop 惰性取用),不访问 history/loop 本体——
426
486
  // 因此可先于 loop 创建,使 loop 的工具执行回调(onToolExecuted/preExecutionCheck)装配期即可
@@ -480,6 +540,10 @@ export async function assembleComponents(pctx, input) {
480
540
  };
481
541
  // 渐进披露 L3:注入 run_skill_script 脚本执行回调
482
542
  toolExec.runSkillScript = async (skillName, scriptPath, args) => {
543
+ // cwd=项目根(SKILL-CWD-1,2026-10-14):与 run_project_script 同款供给——修因不修果,
544
+ // 改喂给判据的事实:脚本内相对路径 / 省略 --dir 走默认,落点一律受 projectPath 约束。
545
+ // 修复前此处传 undefined → 子进程继承宿主进程 cwd(VS Code 安装目录)→ 写文件可逃出项目根。
546
+ // projectPath 恒存在(AgentOptions 必填),无「未打开项目」分支。
483
547
  // 先查激活角色包内嵌技能的脚本路径
484
548
  const rolePackPath = rolePackManager.getSkillScriptPath(skillName, scriptPath);
485
549
  if (rolePackPath) {
@@ -487,8 +551,9 @@ export async function assembleComponents(pctx, input) {
487
551
  if (scriptInfo) {
488
552
  // 执行超时走内核默认(60s,上限 600s,见 skillScriptRunner 常量)——脚本级超时无配置通道
489
553
  // nodePath 沿用宿主注入:角色包技能脚本 node runtime 分支可走真实 node 路径
490
- const result = await runSkillScript(rolePackPath, scriptInfo.runtime, args, undefined, undefined, input.scriptNodePath);
491
- return formatScriptResult(result);
554
+ const result = await runSkillScript(rolePackPath, scriptInfo.runtime, args, undefined, projectPath, input.scriptNodePath);
555
+ // B2-a:返回结构化事实,formatScriptResult 由 ToolExecutor 单点收口
556
+ return result;
492
557
  }
493
558
  }
494
559
  // 再查全局通用技能
@@ -497,9 +562,10 @@ export async function assembleComponents(pctx, input) {
497
562
  const scripts = skillManager.listScripts(skillName);
498
563
  const scriptInfo = scripts.find((s) => s.path === scriptPath);
499
564
  if (scriptInfo) {
500
- // nodePath 沿用宿主注入:全局技能脚本 node runtime 分支可走真实 node 路径
501
- const result = await runSkillScript(globalPath, scriptInfo.runtime, args, undefined, undefined, input.scriptNodePath);
502
- return formatScriptResult(result);
565
+ // cwd=项目根 / nodePath 沿用宿主注入:与角色包分支同款供给(两分支分叉写法漂移即回归)
566
+ const result = await runSkillScript(globalPath, scriptInfo.runtime, args, undefined, projectPath, input.scriptNodePath);
567
+ // B2-a:返回结构化事实,formatScriptResult 由 ToolExecutor 单点收口
568
+ return result;
503
569
  }
504
570
  }
505
571
  return null;
@@ -559,6 +625,10 @@ export async function assembleComponents(pctx, input) {
559
625
  // 作品投影装配注入:使用 SSOT 读取路径(刷新 + 读取合为单一操作)
560
626
  // 刷新失败不阻断装配——loadAndGetContextBlock 内部已容错,返回空串即不注入(投影是可选项,非装配硬依赖)
561
627
  const workProjectionContext = await workProjection.loadAndGetContextBlock();
628
+ // 运行环境事实段(命令执行能力方案 §10.4-②):从宿主环境提供者同步取快照并格式化。
629
+ // getEnvironment 同步返回(探测节奏宿主自理,内核零等待);未注入/返回 null → 空串不注入。
630
+ // 环境事实只进 prompt(给模型看),不进任何内核判据(命令执行能力方案 §10.5 刻意不做)。
631
+ const environmentContext = buildEnvironmentContextBlock(input.environmentProvider?.getEnvironment() ?? null);
562
632
  const { loop, sessionArchiver, textPolisher, roundSummaryGenerator } = await createAgentLoopAndDeps({
563
633
  provider,
564
634
  backgroundProvider,
@@ -576,17 +646,16 @@ export async function assembleComponents(pctx, input) {
576
646
  sessionManager,
577
647
  hooks,
578
648
  workProjectionContext,
649
+ environmentContext,
579
650
  });
580
651
  loopRef = loop;
581
652
  // 装配 loop 运行时回调 + 任务表管理(onPendingQuestion/onPlanItemBoundary/getTaskTable/planManager)
582
653
  wireRuntimeCallbacks(loop, toolExec, sessionManager, hooks, history);
583
654
  // ── 依赖 Loop 的组件 ──
584
- const { memoryAdvisor, memoryInspector, dedupManager } = createLoopDependentComponents({
655
+ const { memoryInspector } = createLoopDependentComponents({
585
656
  pctx,
586
657
  loop,
587
658
  history,
588
- backgroundProvider,
589
- hooks,
590
659
  });
591
660
  // 绑定记忆写入回调:round-summary 沉淀后广播 memoryAdded 事件
592
661
  roundSummaryGenerator.setOnMemoryAdded((info) => {
@@ -598,7 +667,13 @@ export async function assembleComponents(pctx, input) {
598
667
  // 接线 memoryRecalled 事件(§2.4 保留改语义定案):search_memories 命中记忆 → 宿主广播
599
668
  // 「LLM 查询记忆命中 N 条」。唯一发射位 = search_memories 命中
600
669
  // (无 warmRecall 等其他发射路径)。
601
- toolExec.setOnMemoryRecalled((info) => hooks?.emit(AGENT_EVENTS.memoryRecalled, info));
670
+ // MEM-EVENT-3:同一次发射再落一份证据(Round.evidence),让重放历史轮能重建命中明细——
671
+ // 事件是实时专属(不进 processEvents),只广播不落盘 ⇒ 回看时明细永久不可考。
672
+ // 两者同源一次触发(不同消费面:实时可见 / 落盘可回看),不是两条观测通道。
673
+ toolExec.setOnMemoryRecalled((info) => {
674
+ hooks?.emit(AGENT_EVENTS.memoryRecalled, info);
675
+ loop.recordMemoryHitsEvidence(info);
676
+ });
602
677
  // 接线工具召回与装配期内容互斥(§5.1):search_memories 排除「正文或摘要已在眼前」的轮次
603
678
  // round-summary,避免 LLM 拿回眼前内容的摘要重复。排除集从 loop 工作记忆视图精确派生
604
679
  // (getExclusionRoundIds = 视图内 ∪ 被替换 ∪ 在途),与模型窗口无关,不用固定轮数代理量。
@@ -623,11 +698,10 @@ export async function assembleComponents(pctx, input) {
623
698
  history,
624
699
  loop,
625
700
  toolExec,
701
+ backgroundTasks,
626
702
  workProjection,
627
703
  skillManager,
628
704
  memoryInspector,
629
- dedupManager,
630
- memoryAdvisor,
631
705
  sessionArchiver,
632
706
  textPolisher,
633
707
  rolePackManager,
@@ -1 +1 @@
1
- {"version":3,"file":"assembler.js","sourceRoot":"","sources":["../../src/agent/assembler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assembler.js","sourceRoot":"","sources":["../../src/agent/assembler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,194 @@
1
+ /**
2
+ * 后台命令任务注册表(方案文档 §14 · 阶段 1)
3
+ *
4
+ * 职责单点:后台进程的**身份与生命周期**——`taskId` 寻址、完成回调、中途终止、终态结算。
5
+ * 进程治理本身(spawn 选项 / 输出内存护栏 / 杀树)在 `skillScriptRunner`,
6
+ * 本模块只持有句柄与状态,**不重复实现任何进程逻辑**。
7
+ *
8
+ * ⚠️ **实例,不是模块级单例**:单例会让多个 Agent 实例(多会话)共享同一张任务表,
9
+ * `kill_command` 就能杀掉别的会话起的进程——与「仅可杀本 turn 本 agent 起的后台任务」
10
+ * 定案(§14.1)直接冲突。故注册表挂在 Agent 实例上,按实例隔离。
11
+ *
12
+ * ⚠️ 公开面边界:只读投影类型(`BackgroundTask`)与状态词表(`BACKGROUND_TASK_STATUS_LABELS`)
13
+ * 经 `src/index.ts` 导出(宿主 UI 列表出口消费);注册表类 `BackgroundTaskRegistry`
14
+ * **不导出**——进程治理留在内核,宿主只能经门面方法 `listBackgroundTasks()` /
15
+ * `killBackgroundTask()` 操作(防跨会话 kill,§14.1 定案)。
16
+ */
17
+ import { type ScriptExecutionResult } from '../skill/skillScriptRunner.js';
18
+ /** 后台任务状态(running 为唯一中间态,其余均为终态) */
19
+ export type BackgroundTaskStatus = 'running' | 'completed' | 'timedOut' | 'killed';
20
+ /** 后台任务只读投影(供回流 / 收尾报告消费,不泄漏进程句柄) */
21
+ export interface BackgroundTask {
22
+ taskId: string;
23
+ command: string;
24
+ startedAt: number;
25
+ status: BackgroundTaskStatus;
26
+ result?: ScriptExecutionResult;
27
+ }
28
+ /** 自然终态:进程自行跑完或超时;主动 kill 写入的 `killed` 不属此列(不走 listener) */
29
+ export type BackgroundTaskNaturalStatus = Extract<BackgroundTaskStatus, 'completed' | 'timedOut'>;
30
+ /** 自然终态投影(listener 收到的形态:状态必为 completed/timedOut,不可能是 running/killed) */
31
+ export type SettledBackgroundTask = BackgroundTask & {
32
+ status: BackgroundTaskNaturalStatus;
33
+ };
34
+ /** 完成监听器:任务**自然终态**时回调**一次**(loop 借此入回流队列;主动 kill 不回调,见 kill) */
35
+ export type BackgroundTaskListener = (task: SettledBackgroundTask) => void;
36
+ export declare class BackgroundTaskRegistry {
37
+ /** taskId → 条目;插入顺序 = 启动顺序 */
38
+ private readonly tasks;
39
+ /** taskId 序号(实例内自增,跨会话不冲突) */
40
+ private seq;
41
+ /** 完成监听(未注入 → 完成仅入表,不回流;不因缺监听而报错) */
42
+ private listener;
43
+ /** exit 钩子是否已注销(Agent 实例终态 shutdown 后置真,钩子空转防重复收割) */
44
+ private disposed;
45
+ /**
46
+ * 进程退出兜底钩子(构造注册 / shutdown 注销,**配对**——防多实例钩子堆积)
47
+ *
48
+ * ⚠️ 已知代价(台账 `MULTI-AGENT-1` D8):监听按**实例**注册 ⇒ 同进程**同时存活 >10 个**
49
+ * Agent 实例会触发 Node `MaxListenersExceededWarning`——仅警告、无功能损害(钩子 `disposed`
50
+ * 幂等空转,`close()`→`shutdown()` 配对注销即释放)。不引模块级共享钩子(= 回退单例、反 SSOT)、
51
+ * 不调 `setMaxListeners`(进程级调参有副作用);触发 = 真实出现 >10 个并发存活项目。
52
+ */
53
+ private readonly exitHook;
54
+ constructor();
55
+ /**
56
+ * 注入完成监听器(单点 setter)
57
+ *
58
+ * 监听器抛错**吞掉并记日志**:它是回流通道的入口,一抛就污染进程治理路径,
59
+ * 而任务表状态结算不应受消费方失败影响。
60
+ */
61
+ setCompletionListener(listener: BackgroundTaskListener | null): void;
62
+ /**
63
+ * 启动后台命令(**立即返回** taskId,不等进程结束)
64
+ *
65
+ * @param command 裸命令
66
+ * @param cwd 工作目录
67
+ * @param timeoutMs 收割时限(毫秒);**省略 = 不限时**(长构建 / 冷缓存安装 /
68
+ * 长驻服务是后台核心场景,不给它套同步上限;活过 turn 见 detachAll)
69
+ */
70
+ start(command: string, cwd?: string, timeoutMs?: number): string;
71
+ /** 按 taskId 取任务(不存在返回 null) */
72
+ get(taskId: string): BackgroundTask | null;
73
+ /** 全部任务(含终态;供收尾报告 / UI 呈现) */
74
+ list(): BackgroundTask[];
75
+ /**
76
+ * 终止后台任务,返回**截至终止时的已捕获输出**(`kill_command` 兼任「放弃并看输出」)
77
+ *
78
+ * @returns 任务不存在 → `null`;否则返回终态 + 结果
79
+ */
80
+ kill(taskId: string): {
81
+ status: BackgroundTaskStatus;
82
+ result?: ScriptExecutionResult;
83
+ } | null;
84
+ /**
85
+ * Agent 实例终态收割:**真杀全部仍在运行的任务**(仅 `Agent.close` 调用)
86
+ *
87
+ * 与 `detachAll` 的边界(两者各管一个生命周期终点,勿混用):
88
+ * - `detachAll` = **turn 终态**:不杀,进程跨轮存活(问答闭环不是进程容器);
89
+ * - `killAllRunning` = **Agent 实例终态**:杀。注册表按实例隔离是硬不变量,
90
+ * 实例销毁后任务不可寻址(`kill_command` 找不到、UI 快照变空表),不杀只会
91
+ * 制造无人可收的 OS 层孤儿。
92
+ *
93
+ * 真机依据(验收教程观察点 ⑧,2026-10-04):完全退出 VS Code 后 `ping.exe`
94
+ * 仍在运行而父进程(扩展宿主)已死——Windows 不回收脱离控制台的子进程,
95
+ * Job Object 兜底在此环境不成立。
96
+ *
97
+ * 同 `kill` 单点约定:**不回调 listener**(实例正在关闭,回流队列已无消费方);
98
+ * 终态条目保留在表内(关闭流程不读它,无谓清理)。
99
+ *
100
+ * @returns 实际收割的 running 任务数(已终态的不计)
101
+ */
102
+ killAllRunning(): number;
103
+ /**
104
+ * Agent 实例终态**总出口**:收割全部 running + 注销 exit 兜底钩子(仅 `Agent.close` 链路调用)
105
+ *
106
+ * 为什么收割之外还要注销:exit 钩子是**进程级**事件监听,注册表是**实例级**对象——
107
+ * Agent 关闭后不注销 = 旧实例钩子残留(多实例场景堆积 + 闭包泄漏)。注销后若进程
108
+ * 随即退出,`exitHook` 经 `disposed` 判空转——close 已杀光,钩子无事可做(幂等)。
109
+ *
110
+ * @returns 实际收割的 running 任务数(与 `killAllRunning` 同口径)
111
+ */
112
+ shutdown(): number;
113
+ /**
114
+ * turn 终态**脱管**:把存活任务移出「本轮跟踪」,但**进程继续跑**
115
+ * (定案锚:ADR-036;论证见 `docs/方案-后台任务跨轮存活-20261004.md` §三)
116
+ *
117
+ * 为什么不杀(勿改回强杀):后台命令常需跨多轮存活(长构建 / 常驻服务);turn 是问答的
118
+ * 归档单元、不是进程容器,turn 结束就杀 = 用户没点终止的任务凭空死亡(真机实测:90 秒的
119
+ * ping 在 turn 6.3 秒结束时被杀,UI 显示「已终止」而用户从未操作)。
120
+ *
121
+ * 「脱管」的实际含义 = **什么都不做**:
122
+ * - 不杀进程(`killNow` 不调用)⇒ 进程继续跑,输出继续被捕获
123
+ * - 不改 status(仍是 `running`)⇒ `list()` / UI 条照常显示「运行中」
124
+ * - 不清注册表条目 ⇒ 用户随时可 `kill(taskId)` 取回截至当时的输出
125
+ *
126
+ * 脱管窗口的边界(如实写):
127
+ * - **无内核侧时限**:timeoutMs 省略时 startBackgroundCommand 收 null = 永不超时;
128
+ * `BACKGROUND_MAX_TIMEOUT_MS`(30min)只是「显式传值时的钳制上限」,缺省路径碰不到它。
129
+ * - 跨的是 turn,不是宿主寿命:**Agent 实例终态(`close` → `shutdown`)经
130
+ * `killAllRunning` 真杀**(注册表实例隔离,实例销毁后任务不可寻址,不杀即孤儿——
131
+ * 观察点 ⑧ 真机实锤:父进程退出后 `ping.exe` 仍在);close 清理窗口赶不上时由
132
+ * **exit 钩子同步兜底**(见构造函数)。唯一残留缺口:扩展崩溃 / 被 OS
133
+ * 强杀时两者都来不及执行,该场景不承诺清理。
134
+ *
135
+ * @returns 本轮结束时仍在运行的任务清单(供脱管报告);已终态的不计入
136
+ */
137
+ detachAll(): BackgroundTask[];
138
+ /**
139
+ * 主动终止单点(`kill` 单个 / `killAllRunning` 实例终态收割 / exit 钩子兜底共用):
140
+ * 先取输出快照再杀树,随后置 `killed`。
141
+ *
142
+ * ⚠️ 刻意**不回调** listener:主动终止的输出已由调用方直接取得(`kill_command`
143
+ * 返回值 / 关闭流程不需要),再回流一次会让消费方收到同一份结果的第二份副本
144
+ * (重复消费)。自然终态的回调唯一入口是 `settle → notify`。
145
+ *
146
+ * @param mode 杀树原语档位,**必传**(缺省值语义 = 调用方对执行语境含糊,静默回落缺陷):
147
+ * `'async'` = 异步杀树(运行时收割,有完整事件处理);
148
+ * `'sync'` = 同步杀树(**仅** exit 钩子——钩子返回后 Node 即退出,异步 spawn 来不及落地)
149
+ */
150
+ private terminate;
151
+ /**
152
+ * exit 钩子的同步收割体:真杀全部 running(同步原语),逐条独立执行
153
+ *
154
+ * 单条杀树失败(taskkill 权限不足等)由原语内部降级 `child.kill()`,**不抛出**——
155
+ * exit 钩子内抛错会中断监听器链,殃及后续清理;逐条循环本身就是故障隔离边界。
156
+ *
157
+ * @returns 实际收割的 running 任务数
158
+ */
159
+ private flushRunningSync;
160
+ /** 终局结算(由 startBackgroundCommand 的 onSettled 调用;只处理 running 态) */
161
+ private settle;
162
+ private notify;
163
+ /** 只读投影:不泄漏 killNow/peek 等进程句柄 */
164
+ private projection;
165
+ }
166
+ /**
167
+ * 后台任务状态 → 中文标签(回流通知 / 收尾报告 / **宿主 UI** 共用一个词表)
168
+ *
169
+ * 公开导出:宿主 UI 直接消费本表渲染状态文案,**不自建第二套**(自建即双源漂移)。
170
+ * `Record` 穷尽键 ⇒ 新增状态忘补标签 = **编译期红闸**(同 `COMPRESS_TARGET_LABELS` 定案)。
171
+ */
172
+ export declare const BACKGROUND_TASK_STATUS_LABELS: Record<BackgroundTaskStatus, string>;
173
+ /**
174
+ * 后台任务状态 → 回流通知**首标签**(`[...]` 方括号内的系统事件标记)
175
+ *
176
+ * 与 `BACKGROUND_TASK_STATUS_LABELS` 分表的理由:两者句法位置不同——首标签进
177
+ * 方括号头(事件级措辞,如「后台命令超时」),状态标签跟在 `·` 后(状态级措辞,
178
+ * 如「超时被终止」);合并成一张表会让某一侧被迫迁就另一侧的句法。
179
+ * 独立穷尽表 ⇒ 每个状态的首标签必然存在且**不串档**:旧实现用三元表达式
180
+ * `status === 'killed' ? '已终止' : '完成'` 推导首标签,timedOut 被推导成
181
+ * 「[后台命令完成] · 超时被终止」(自相矛盾),running 也会被谎报成「完成」。
182
+ * `Record` 穷尽键 ⇒ 新增状态忘补 = **编译期红闸**(同 `COMPRESS_TARGET_LABELS` 定案)。
183
+ */
184
+ export declare const BACKGROUND_TASK_NOTICE_TAGS: Record<BackgroundTaskStatus, string>;
185
+ /**
186
+ * 后台任务终局 → 回流通知文案(**格式化单点**:loop 回流与收尾报告共用)
187
+ *
188
+ * 来源标记前置且显式(首标签 = `BACKGROUND_TASK_NOTICE_TAGS[task.status]`,穷尽表
189
+ * 逐态给出,杜绝三元推导把 timedOut/running 谎报成「完成」)——消费方是 LLM,
190
+ * 必须能让它分清「这是系统事件」而非「用户刚说了什么」(role 语义隔离,§14.2)。
191
+ * 超时文案不编造秒数:注册表不存时限,缺省即不限时(命令执行能力方案 §13.6-C)。
192
+ */
193
+ export declare function formatBackgroundTaskNotice(task: BackgroundTask): string;
194
+ //# sourceMappingURL=backgroundTasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backgroundTasks.d.ts","sourceRoot":"","sources":["../../src/agent/backgroundTasks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAKL,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AAEtC,oCAAoC;AACpC,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEnF,qCAAqC;AACrC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAED,4DAA4D;AAC5D,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,EAAE,WAAW,GAAG,UAAU,CAAC,CAAC;AAElG,yEAAyE;AACzE,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG;IAAE,MAAM,EAAE,2BAA2B,CAAA;CAAE,CAAC;AAE7F,iEAAiE;AACjE,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;AAW3E,qBAAa,sBAAsB;IACjC,8BAA8B;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,8BAA8B;IAC9B,OAAO,CAAC,GAAG,CAAK;IAChB,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAuC;IACvD,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAMvB;;IASF;;;;;OAKG;IACH,qBAAqB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,GAAG,IAAI;IAIpE;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IA2BhE,+BAA+B;IAC/B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAK1C,8BAA8B;IAC9B,IAAI,IAAI,cAAc,EAAE;IAIxB;;;;OAIG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,oBAAoB,CAAC;QAAC,MAAM,CAAC,EAAE,qBAAqB,CAAA;KAAE,GAAG,IAAI;IAS7F;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,IAAI,MAAM;IAUxB;;;;;;;;OAQG;IACH,QAAQ,IAAI,MAAM;IAOlB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS,IAAI,cAAc,EAAE;IAW7B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,SAAS;IAWjB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAUxB,kEAAkE;IAClE,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,MAAM;IAUd,kCAAkC;IAClC,OAAO,CAAC,UAAU;CASnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAK9E,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAK5E,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAYvE"}