@zhin.js/agent 0.1.30 → 0.1.32

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 (371) hide show
  1. package/README.md +89 -24
  2. package/lib/builtin/memory-search-tool.d.ts +2 -0
  3. package/lib/builtin/memory-search-tool.d.ts.map +1 -0
  4. package/lib/builtin/memory-search-tool.js +61 -0
  5. package/lib/builtin/memory-search-tool.js.map +1 -0
  6. package/lib/builtin/memory-upsert-tool.d.ts +2 -0
  7. package/lib/builtin/memory-upsert-tool.d.ts.map +1 -0
  8. package/lib/builtin/memory-upsert-tool.js +75 -0
  9. package/lib/builtin/memory-upsert-tool.js.map +1 -0
  10. package/lib/builtin/orchestration-tools.d.ts +7 -0
  11. package/lib/builtin/orchestration-tools.d.ts.map +1 -0
  12. package/lib/builtin/orchestration-tools.js +283 -0
  13. package/lib/builtin/orchestration-tools.js.map +1 -0
  14. package/lib/builtin/run-deferred-task-tool.d.ts +1 -1
  15. package/lib/builtin/run-deferred-task-tool.d.ts.map +1 -1
  16. package/lib/builtin/run-deferred-task-tool.js +1 -1
  17. package/lib/builtin/run-deferred-task-tool.js.map +1 -1
  18. package/lib/builtin/run-spec-dry-run-tool.d.ts +6 -0
  19. package/lib/builtin/run-spec-dry-run-tool.d.ts.map +1 -0
  20. package/lib/builtin/run-spec-dry-run-tool.js +51 -0
  21. package/lib/builtin/run-spec-dry-run-tool.js.map +1 -0
  22. package/lib/builtin/run-validation-spec-tool.d.ts +8 -0
  23. package/lib/builtin/run-validation-spec-tool.d.ts.map +1 -0
  24. package/lib/builtin/run-validation-spec-tool.js +44 -0
  25. package/lib/builtin/run-validation-spec-tool.js.map +1 -0
  26. package/lib/builtin/spawn-task-tool.d.ts +1 -1
  27. package/lib/builtin/spawn-task-tool.d.ts.map +1 -1
  28. package/lib/builtin/spawn-task-tool.js +53 -1
  29. package/lib/builtin/spawn-task-tool.js.map +1 -1
  30. package/lib/builtin-tools.d.ts +2 -0
  31. package/lib/builtin-tools.d.ts.map +1 -1
  32. package/lib/builtin-tools.js +6 -0
  33. package/lib/builtin-tools.js.map +1 -1
  34. package/lib/config/normalize-ai-config.d.ts +4 -0
  35. package/lib/config/normalize-ai-config.d.ts.map +1 -1
  36. package/lib/config/normalize-ai-config.js +23 -6
  37. package/lib/config/normalize-ai-config.js.map +1 -1
  38. package/lib/config/provider-instance.d.ts.map +1 -1
  39. package/lib/config/provider-instance.js +26 -7
  40. package/lib/config/provider-instance.js.map +1 -1
  41. package/lib/config/types.d.ts +2 -1
  42. package/lib/config/types.d.ts.map +1 -1
  43. package/lib/config/types.js.map +1 -1
  44. package/lib/config/validate-ai-config.d.ts.map +1 -1
  45. package/lib/config/validate-ai-config.js +5 -0
  46. package/lib/config/validate-ai-config.js.map +1 -1
  47. package/lib/create-agent-session.d.ts +16 -0
  48. package/lib/create-agent-session.d.ts.map +1 -0
  49. package/lib/create-agent-session.js +15 -0
  50. package/lib/create-agent-session.js.map +1 -0
  51. package/lib/deferred-worker-runner.d.ts +2 -0
  52. package/lib/deferred-worker-runner.d.ts.map +1 -1
  53. package/lib/deferred-worker-runner.js +17 -34
  54. package/lib/deferred-worker-runner.js.map +1 -1
  55. package/lib/discovery/agents.d.ts +5 -0
  56. package/lib/discovery/agents.d.ts.map +1 -1
  57. package/lib/discovery/agents.js +7 -0
  58. package/lib/discovery/agents.js.map +1 -1
  59. package/lib/discovery/skills.d.ts +1 -1
  60. package/lib/discovery/skills.d.ts.map +1 -1
  61. package/lib/discovery/skills.js +2 -9
  62. package/lib/discovery/skills.js.map +1 -1
  63. package/lib/discovery/utils.d.ts +7 -1
  64. package/lib/discovery/utils.d.ts.map +1 -1
  65. package/lib/discovery/utils.js +66 -5
  66. package/lib/discovery/utils.js.map +1 -1
  67. package/lib/index.d.ts +19 -2
  68. package/lib/index.d.ts.map +1 -1
  69. package/lib/index.js +12 -2
  70. package/lib/index.js.map +1 -1
  71. package/lib/init/activate-ai-database-storage.d.ts +1 -1
  72. package/lib/init/activate-ai-database-storage.d.ts.map +1 -1
  73. package/lib/init/activate-ai-database-storage.js +38 -13
  74. package/lib/init/activate-ai-database-storage.js.map +1 -1
  75. package/lib/init/create-zhin-agent.d.ts.map +1 -1
  76. package/lib/init/create-zhin-agent.js +86 -9
  77. package/lib/init/create-zhin-agent.js.map +1 -1
  78. package/lib/init/introspection-args.d.ts +34 -0
  79. package/lib/init/introspection-args.d.ts.map +1 -0
  80. package/lib/init/introspection-args.js +71 -0
  81. package/lib/init/introspection-args.js.map +1 -0
  82. package/lib/init/introspection-collectors.d.ts +21 -0
  83. package/lib/init/introspection-collectors.d.ts.map +1 -0
  84. package/lib/init/introspection-collectors.js +74 -0
  85. package/lib/init/introspection-collectors.js.map +1 -0
  86. package/lib/init/introspection-commands-format.d.ts +1 -1
  87. package/lib/init/introspection-commands-format.js +4 -4
  88. package/lib/init/introspection-commands-format.js.map +1 -1
  89. package/lib/init/introspection-output.d.ts +6 -0
  90. package/lib/init/introspection-output.d.ts.map +1 -0
  91. package/lib/init/introspection-output.js +52 -0
  92. package/lib/init/introspection-output.js.map +1 -0
  93. package/lib/init/introspection-pagination.d.ts +14 -0
  94. package/lib/init/introspection-pagination.d.ts.map +1 -0
  95. package/lib/init/introspection-pagination.js +33 -0
  96. package/lib/init/introspection-pagination.js.map +1 -0
  97. package/lib/init/introspection-rest.d.ts +24 -0
  98. package/lib/init/introspection-rest.d.ts.map +1 -0
  99. package/lib/init/introspection-rest.js +65 -0
  100. package/lib/init/introspection-rest.js.map +1 -0
  101. package/lib/init/register-agent-mesh-mcp.d.ts +2 -0
  102. package/lib/init/register-agent-mesh-mcp.d.ts.map +1 -0
  103. package/lib/init/register-agent-mesh-mcp.js +13 -0
  104. package/lib/init/register-agent-mesh-mcp.js.map +1 -0
  105. package/lib/init/register-ai-trigger.d.ts.map +1 -1
  106. package/lib/init/register-ai-trigger.js +29 -4
  107. package/lib/init/register-ai-trigger.js.map +1 -1
  108. package/lib/init/register-builtin-tools.d.ts.map +1 -1
  109. package/lib/init/register-builtin-tools.js +4 -0
  110. package/lib/init/register-builtin-tools.js.map +1 -1
  111. package/lib/init/register-db-models.d.ts.map +1 -1
  112. package/lib/init/register-db-models.js +10 -8
  113. package/lib/init/register-db-models.js.map +1 -1
  114. package/lib/init/register-db-upgrade.d.ts +1 -1
  115. package/lib/init/register-db-upgrade.d.ts.map +1 -1
  116. package/lib/init/register-db-upgrade.js +22 -3
  117. package/lib/init/register-db-upgrade.js.map +1 -1
  118. package/lib/init/register-group-session-passive.d.ts +3 -0
  119. package/lib/init/register-group-session-passive.d.ts.map +1 -0
  120. package/lib/init/register-group-session-passive.js +55 -0
  121. package/lib/init/register-group-session-passive.js.map +1 -0
  122. package/lib/init/register-introspection-commands.d.ts.map +1 -1
  123. package/lib/init/register-introspection-commands.js +5 -6
  124. package/lib/init/register-introspection-commands.js.map +1 -1
  125. package/lib/init/register-management-tools.d.ts +1 -1
  126. package/lib/init/register-management-tools.d.ts.map +1 -1
  127. package/lib/init/register-management-tools.js +57 -36
  128. package/lib/init/register-management-tools.js.map +1 -1
  129. package/lib/init/upgrade-agent-db-schema.d.ts +41 -0
  130. package/lib/init/upgrade-agent-db-schema.d.ts.map +1 -0
  131. package/lib/init/upgrade-agent-db-schema.js +170 -0
  132. package/lib/init/upgrade-agent-db-schema.js.map +1 -0
  133. package/lib/init.d.ts.map +1 -1
  134. package/lib/init.js +4 -0
  135. package/lib/init.js.map +1 -1
  136. package/lib/mcp-server/agent-mesh-tools.d.ts +8 -0
  137. package/lib/mcp-server/agent-mesh-tools.d.ts.map +1 -0
  138. package/lib/mcp-server/agent-mesh-tools.js +138 -0
  139. package/lib/mcp-server/agent-mesh-tools.js.map +1 -0
  140. package/lib/media/deliver-subagent-result.d.ts +7 -0
  141. package/lib/media/deliver-subagent-result.d.ts.map +1 -1
  142. package/lib/media/deliver-subagent-result.js +3 -1
  143. package/lib/media/deliver-subagent-result.js.map +1 -1
  144. package/lib/media/media-normalize.d.ts +2 -0
  145. package/lib/media/media-normalize.d.ts.map +1 -1
  146. package/lib/media/media-normalize.js +89 -0
  147. package/lib/media/media-normalize.js.map +1 -1
  148. package/lib/media/subagent-user-delivery.d.ts +2 -9
  149. package/lib/media/subagent-user-delivery.d.ts.map +1 -1
  150. package/lib/media/subagent-user-delivery.js.map +1 -1
  151. package/lib/memory-entry-registry.d.ts +7 -0
  152. package/lib/memory-entry-registry.d.ts.map +1 -0
  153. package/lib/memory-entry-registry.js +8 -0
  154. package/lib/memory-entry-registry.js.map +1 -0
  155. package/lib/orchestration-memory-hook.d.ts +3 -0
  156. package/lib/orchestration-memory-hook.d.ts.map +1 -0
  157. package/lib/orchestration-memory-hook.js +22 -0
  158. package/lib/orchestration-memory-hook.js.map +1 -0
  159. package/lib/orchestration-runtime-registry.d.ts +14 -0
  160. package/lib/orchestration-runtime-registry.d.ts.map +1 -0
  161. package/lib/orchestration-runtime-registry.js +15 -0
  162. package/lib/orchestration-runtime-registry.js.map +1 -0
  163. package/lib/orchestrator/agent-dispatcher.d.ts +36 -3
  164. package/lib/orchestrator/agent-dispatcher.d.ts.map +1 -1
  165. package/lib/orchestrator/agent-dispatcher.js +203 -13
  166. package/lib/orchestrator/agent-dispatcher.js.map +1 -1
  167. package/lib/orchestrator/delegation-processor.d.ts +33 -0
  168. package/lib/orchestrator/delegation-processor.d.ts.map +1 -0
  169. package/lib/orchestrator/delegation-processor.js +140 -0
  170. package/lib/orchestrator/delegation-processor.js.map +1 -0
  171. package/lib/orchestrator/mission-milestone-notify.d.ts +17 -0
  172. package/lib/orchestrator/mission-milestone-notify.d.ts.map +1 -0
  173. package/lib/orchestrator/mission-milestone-notify.js +49 -0
  174. package/lib/orchestrator/mission-milestone-notify.js.map +1 -0
  175. package/lib/orchestrator/mission-negotiation.d.ts +17 -0
  176. package/lib/orchestrator/mission-negotiation.d.ts.map +1 -0
  177. package/lib/orchestrator/mission-negotiation.js +89 -0
  178. package/lib/orchestrator/mission-negotiation.js.map +1 -0
  179. package/lib/orchestrator/mission-patch-acl.d.ts +9 -0
  180. package/lib/orchestrator/mission-patch-acl.d.ts.map +1 -0
  181. package/lib/orchestrator/mission-patch-acl.js +29 -0
  182. package/lib/orchestrator/mission-patch-acl.js.map +1 -0
  183. package/lib/orchestrator/mission-runner.d.ts +24 -0
  184. package/lib/orchestrator/mission-runner.d.ts.map +1 -0
  185. package/lib/orchestrator/mission-runner.js +179 -0
  186. package/lib/orchestrator/mission-runner.js.map +1 -0
  187. package/lib/orchestrator/mission-spec.d.ts +44 -0
  188. package/lib/orchestrator/mission-spec.d.ts.map +1 -0
  189. package/lib/orchestrator/mission-spec.js +121 -0
  190. package/lib/orchestrator/mission-spec.js.map +1 -0
  191. package/lib/orchestrator/mission-state.d.ts +48 -0
  192. package/lib/orchestrator/mission-state.d.ts.map +1 -0
  193. package/lib/orchestrator/mission-state.js +66 -0
  194. package/lib/orchestrator/mission-state.js.map +1 -0
  195. package/lib/orchestrator/orchestration-repository.d.ts +85 -0
  196. package/lib/orchestrator/orchestration-repository.d.ts.map +1 -0
  197. package/lib/orchestrator/orchestration-repository.js +325 -0
  198. package/lib/orchestrator/orchestration-repository.js.map +1 -0
  199. package/lib/orchestrator/orchestration-service.d.ts +58 -0
  200. package/lib/orchestrator/orchestration-service.d.ts.map +1 -0
  201. package/lib/orchestrator/orchestration-service.js +221 -0
  202. package/lib/orchestrator/orchestration-service.js.map +1 -0
  203. package/lib/orchestrator/remote-agent-registry.d.ts +32 -0
  204. package/lib/orchestrator/remote-agent-registry.d.ts.map +1 -0
  205. package/lib/orchestrator/remote-agent-registry.js +120 -0
  206. package/lib/orchestrator/remote-agent-registry.js.map +1 -0
  207. package/lib/orchestrator/remote-task-executor.d.ts +10 -0
  208. package/lib/orchestrator/remote-task-executor.d.ts.map +1 -0
  209. package/lib/orchestrator/remote-task-executor.js +142 -0
  210. package/lib/orchestrator/remote-task-executor.js.map +1 -0
  211. package/lib/orchestrator/remote-task-poller.d.ts +16 -0
  212. package/lib/orchestrator/remote-task-poller.d.ts.map +1 -0
  213. package/lib/orchestrator/remote-task-poller.js +75 -0
  214. package/lib/orchestrator/remote-task-poller.js.map +1 -0
  215. package/lib/plugin-loop-hooks.d.ts +32 -0
  216. package/lib/plugin-loop-hooks.d.ts.map +1 -0
  217. package/lib/plugin-loop-hooks.js +69 -0
  218. package/lib/plugin-loop-hooks.js.map +1 -0
  219. package/lib/service.d.ts +38 -22
  220. package/lib/service.d.ts.map +1 -1
  221. package/lib/service.js +61 -19
  222. package/lib/service.js.map +1 -1
  223. package/lib/session-tree-runtime-registry.d.ts +20 -0
  224. package/lib/session-tree-runtime-registry.d.ts.map +1 -0
  225. package/lib/session-tree-runtime-registry.js +25 -0
  226. package/lib/session-tree-runtime-registry.js.map +1 -0
  227. package/lib/subagent-ai-events.d.ts +2 -2
  228. package/lib/subagent-ai-events.d.ts.map +1 -1
  229. package/lib/subagent-ai-events.js +17 -21
  230. package/lib/subagent-ai-events.js.map +1 -1
  231. package/lib/subagent-artifact.d.ts +7 -0
  232. package/lib/subagent-artifact.d.ts.map +1 -0
  233. package/lib/subagent-artifact.js +26 -0
  234. package/lib/subagent-artifact.js.map +1 -0
  235. package/lib/subagent-parent-context.d.ts +9 -0
  236. package/lib/subagent-parent-context.d.ts.map +1 -0
  237. package/lib/subagent-parent-context.js +50 -0
  238. package/lib/subagent-parent-context.js.map +1 -0
  239. package/lib/subagent-preset.d.ts +10 -0
  240. package/lib/subagent-preset.d.ts.map +1 -0
  241. package/lib/subagent-preset.js +44 -0
  242. package/lib/subagent-preset.js.map +1 -0
  243. package/lib/subagent-prompt.d.ts +7 -0
  244. package/lib/subagent-prompt.d.ts.map +1 -0
  245. package/lib/subagent-prompt.js +14 -0
  246. package/lib/subagent-prompt.js.map +1 -0
  247. package/lib/subagent.d.ts +19 -0
  248. package/lib/subagent.d.ts.map +1 -1
  249. package/lib/subagent.js +175 -92
  250. package/lib/subagent.js.map +1 -1
  251. package/lib/typing-indicator/adapter-integration.d.ts +7 -3
  252. package/lib/typing-indicator/adapter-integration.d.ts.map +1 -1
  253. package/lib/typing-indicator/adapter-integration.js +30 -6
  254. package/lib/typing-indicator/adapter-integration.js.map +1 -1
  255. package/lib/typing-indicator/index.d.ts +26 -3
  256. package/lib/typing-indicator/index.d.ts.map +1 -1
  257. package/lib/typing-indicator/index.js +94 -6
  258. package/lib/typing-indicator/index.js.map +1 -1
  259. package/lib/typing-indicator/integration.d.ts.map +1 -1
  260. package/lib/typing-indicator/integration.js +7 -2
  261. package/lib/typing-indicator/integration.js.map +1 -1
  262. package/lib/zhin-agent/agent-loop-standalone.d.ts +32 -0
  263. package/lib/zhin-agent/agent-loop-standalone.d.ts.map +1 -0
  264. package/lib/zhin-agent/agent-loop-standalone.js +144 -0
  265. package/lib/zhin-agent/agent-loop-standalone.js.map +1 -0
  266. package/lib/zhin-agent/agent-loop-turn.d.ts +52 -0
  267. package/lib/zhin-agent/agent-loop-turn.d.ts.map +1 -0
  268. package/lib/zhin-agent/agent-loop-turn.js +328 -0
  269. package/lib/zhin-agent/agent-loop-turn.js.map +1 -0
  270. package/lib/zhin-agent/branch-summarization-runtime.d.ts +16 -0
  271. package/lib/zhin-agent/branch-summarization-runtime.d.ts.map +1 -0
  272. package/lib/zhin-agent/branch-summarization-runtime.js +58 -0
  273. package/lib/zhin-agent/branch-summarization-runtime.js.map +1 -0
  274. package/lib/zhin-agent/builtin-tools.d.ts +3 -2
  275. package/lib/zhin-agent/builtin-tools.d.ts.map +1 -1
  276. package/lib/zhin-agent/builtin-tools.js +15 -16
  277. package/lib/zhin-agent/builtin-tools.js.map +1 -1
  278. package/lib/zhin-agent/compaction-runtime.d.ts +25 -0
  279. package/lib/zhin-agent/compaction-runtime.d.ts.map +1 -0
  280. package/lib/zhin-agent/compaction-runtime.js +78 -0
  281. package/lib/zhin-agent/compaction-runtime.js.map +1 -0
  282. package/lib/zhin-agent/config.d.ts +22 -2
  283. package/lib/zhin-agent/config.d.ts.map +1 -1
  284. package/lib/zhin-agent/config.js +25 -2
  285. package/lib/zhin-agent/config.js.map +1 -1
  286. package/lib/zhin-agent/deferred-auto-continue.d.ts +11 -0
  287. package/lib/zhin-agent/deferred-auto-continue.d.ts.map +1 -0
  288. package/lib/zhin-agent/deferred-auto-continue.js +41 -0
  289. package/lib/zhin-agent/deferred-auto-continue.js.map +1 -0
  290. package/lib/zhin-agent/deferred-delivery.d.ts +9 -0
  291. package/lib/zhin-agent/deferred-delivery.d.ts.map +1 -0
  292. package/lib/zhin-agent/deferred-delivery.js +35 -0
  293. package/lib/zhin-agent/deferred-delivery.js.map +1 -0
  294. package/lib/zhin-agent/index.d.ts +60 -11
  295. package/lib/zhin-agent/index.d.ts.map +1 -1
  296. package/lib/zhin-agent/index.js +264 -22
  297. package/lib/zhin-agent/index.js.map +1 -1
  298. package/lib/zhin-agent/model-resolver.d.ts +0 -1
  299. package/lib/zhin-agent/model-resolver.d.ts.map +1 -1
  300. package/lib/zhin-agent/model-resolver.js.map +1 -1
  301. package/lib/zhin-agent/multimodal-message.d.ts +9 -0
  302. package/lib/zhin-agent/multimodal-message.d.ts.map +1 -0
  303. package/lib/zhin-agent/multimodal-message.js +69 -0
  304. package/lib/zhin-agent/multimodal-message.js.map +1 -0
  305. package/lib/zhin-agent/persist-deferred-context.d.ts +5 -0
  306. package/lib/zhin-agent/persist-deferred-context.d.ts.map +1 -0
  307. package/lib/zhin-agent/persist-deferred-context.js +40 -0
  308. package/lib/zhin-agent/persist-deferred-context.js.map +1 -0
  309. package/lib/zhin-agent/prompt-access.d.ts +4 -0
  310. package/lib/zhin-agent/prompt-access.d.ts.map +1 -0
  311. package/lib/zhin-agent/prompt-access.js +7 -0
  312. package/lib/zhin-agent/prompt-access.js.map +1 -0
  313. package/lib/zhin-agent/prompt-builder.d.ts.map +1 -1
  314. package/lib/zhin-agent/prompt-builder.js +5 -0
  315. package/lib/zhin-agent/prompt-builder.js.map +1 -1
  316. package/lib/zhin-agent/prompt-controller.d.ts +53 -0
  317. package/lib/zhin-agent/prompt-controller.d.ts.map +1 -0
  318. package/lib/zhin-agent/prompt-controller.js +165 -0
  319. package/lib/zhin-agent/prompt-controller.js.map +1 -0
  320. package/lib/zhin-agent/prompt-input.d.ts +3 -0
  321. package/lib/zhin-agent/prompt-input.d.ts.map +1 -0
  322. package/lib/zhin-agent/prompt-input.js +8 -0
  323. package/lib/zhin-agent/prompt-input.js.map +1 -0
  324. package/lib/zhin-agent/prompt.d.ts.map +1 -1
  325. package/lib/zhin-agent/prompt.js +4 -0
  326. package/lib/zhin-agent/prompt.js.map +1 -1
  327. package/lib/zhin-agent/session-io.d.ts +28 -11
  328. package/lib/zhin-agent/session-io.d.ts.map +1 -1
  329. package/lib/zhin-agent/session-io.js +64 -28
  330. package/lib/zhin-agent/session-io.js.map +1 -1
  331. package/lib/zhin-agent/session-message-queue.d.ts +20 -0
  332. package/lib/zhin-agent/session-message-queue.d.ts.map +1 -0
  333. package/lib/zhin-agent/session-message-queue.js +52 -0
  334. package/lib/zhin-agent/session-message-queue.js.map +1 -0
  335. package/lib/zhin-agent/session-tree-commands.d.ts +5 -0
  336. package/lib/zhin-agent/session-tree-commands.d.ts.map +1 -0
  337. package/lib/zhin-agent/session-tree-commands.js +44 -0
  338. package/lib/zhin-agent/session-tree-commands.js.map +1 -0
  339. package/lib/zhin-agent/tool-calls-user-format.d.ts.map +1 -1
  340. package/lib/zhin-agent/tool-calls-user-format.js +3 -0
  341. package/lib/zhin-agent/tool-calls-user-format.js.map +1 -1
  342. package/lib/zhin-agent/tool-orchestration.d.ts.map +1 -1
  343. package/lib/zhin-agent/tool-orchestration.js +25 -6
  344. package/lib/zhin-agent/tool-orchestration.js.map +1 -1
  345. package/lib/zhin-agent/tool-runtime.d.ts +2 -2
  346. package/lib/zhin-agent/tool-runtime.d.ts.map +1 -1
  347. package/lib/zhin-agent/tool-runtime.js +4 -4
  348. package/lib/zhin-agent/tool-runtime.js.map +1 -1
  349. package/lib/zhin-agent/tool-search-orchestrator.d.ts.map +1 -1
  350. package/lib/zhin-agent/tool-search-orchestrator.js +13 -0
  351. package/lib/zhin-agent/tool-search-orchestrator.js.map +1 -1
  352. package/lib/zhin-agent/turn-context.d.ts +9 -0
  353. package/lib/zhin-agent/turn-context.d.ts.map +1 -0
  354. package/lib/zhin-agent/turn-context.js +12 -0
  355. package/lib/zhin-agent/turn-context.js.map +1 -0
  356. package/lib/zhin-agent/turn-pipeline.d.ts +7 -1
  357. package/lib/zhin-agent/turn-pipeline.d.ts.map +1 -1
  358. package/lib/zhin-agent/turn-pipeline.js +136 -450
  359. package/lib/zhin-agent/turn-pipeline.js.map +1 -1
  360. package/lib/zhin-agent/turn-user-message.d.ts +8 -0
  361. package/lib/zhin-agent/turn-user-message.d.ts.map +1 -0
  362. package/lib/zhin-agent/turn-user-message.js +10 -0
  363. package/lib/zhin-agent/turn-user-message.js.map +1 -0
  364. package/lib/zhin-agent/zhin-agent-private.d.ts +17 -4
  365. package/lib/zhin-agent/zhin-agent-private.d.ts.map +1 -1
  366. package/lib/zhin-agent/zhin-agent-private.js.map +1 -1
  367. package/package.json +4 -3
  368. package/lib/zhin-agent/llm-runner.d.ts +0 -18
  369. package/lib/zhin-agent/llm-runner.d.ts.map +0 -1
  370. package/lib/zhin-agent/llm-runner.js +0 -163
  371. package/lib/zhin-agent/llm-runner.js.map +0 -1
@@ -7,6 +7,7 @@
7
7
  * - 统一的错误处理和监控
8
8
  */
9
9
  import { randomUUID } from 'node:crypto';
10
+ import { taskRecordToAgentTaskShape } from './orchestration-repository.js';
10
11
  // ── 预定义角色配置 ────────────────────────────────────────────────────
11
12
  export const AGENT_ROLE_CONFIGS = {
12
13
  main: {
@@ -118,7 +119,10 @@ export const AGENT_ROLE_CONFIGS = {
118
119
  description: '规划 Agent,只读规划',
119
120
  allowedTools: [
120
121
  'read_file', 'list_dir', 'glob', 'grep',
122
+ 'write_file',
121
123
  'web_search', 'web_fetch',
124
+ 'orchestration_patch_state',
125
+ 'run_spec_dry_run',
122
126
  ],
123
127
  blockedTools: ['write_file', 'edit_file', 'bash', 'send_message', 'spawn_subagent'],
124
128
  canSendMessage: false,
@@ -130,14 +134,32 @@ export const AGENT_ROLE_CONFIGS = {
130
134
  maxToolCalls: 20,
131
135
  timeout: 120000,
132
136
  },
137
+ validator: {
138
+ role: 'validator',
139
+ description: '验收 Agent,仅执行 Validation Spec,不得阅读实现源码',
140
+ allowedTools: ['run_validation_spec', 'orchestration_patch_state'],
141
+ blockedTools: [
142
+ 'read_file', 'write_file', 'edit_file', 'list_dir', 'glob', 'grep',
143
+ 'bash', 'web_search', 'web_fetch', 'send_message', 'spawn_subagent',
144
+ ],
145
+ canSendMessage: false,
146
+ canSpawnSubagents: false,
147
+ canAccessMainHistory: false,
148
+ canWrite: false,
149
+ canExecuteDangerous: false,
150
+ maxIterations: 5,
151
+ maxToolCalls: 10,
152
+ timeout: 180000,
153
+ },
133
154
  };
134
- // ── Agent 调度器类 ────────────────────────────────────────────────────
135
155
  export class AgentDispatcher {
136
156
  tasks = new Map();
137
157
  results = new Map();
138
158
  running = new Map();
139
159
  taskTimestamps = new Map();
160
+ resultListeners = [];
140
161
  cleanupTimer;
162
+ repository = null;
141
163
  static MAX_STORED_TASKS = 500;
142
164
  static TASK_TTL_MS = 24 * 60 * 60 * 1000;
143
165
  static CLEANUP_INTERVAL_MS = 5 * 60 * 1000;
@@ -147,21 +169,96 @@ export class AgentDispatcher {
147
169
  this.cleanupTimer.unref();
148
170
  }
149
171
  }
172
+ setRepository(repository) {
173
+ this.repository = repository;
174
+ }
175
+ onResult(listener) {
176
+ this.resultListeners.push(listener);
177
+ return () => {
178
+ this.resultListeners = this.resultListeners.filter((l) => l !== listener);
179
+ };
180
+ }
181
+ /** 从 DB 记录同步到内存(硬编排 SSOT 写穿缓存) */
182
+ syncTaskFromRecord(record) {
183
+ const shape = taskRecordToAgentTaskShape(record);
184
+ const task = {
185
+ id: shape.id,
186
+ runId: shape.runId,
187
+ name: shape.name,
188
+ description: shape.description,
189
+ role: shape.role,
190
+ goal: shape.goal,
191
+ dependencies: shape.dependencies,
192
+ priority: shape.priority,
193
+ context: shape.context,
194
+ status: shape.status,
195
+ executorKind: shape.executorKind,
196
+ remoteAgentId: shape.remoteAgentId,
197
+ remoteTaskId: shape.remoteTaskId,
198
+ isWriter: shape.isWriter,
199
+ phase: shape.phase,
200
+ };
201
+ this.tasks.set(task.id, task);
202
+ this.taskTimestamps.set(task.id, record.updated_at || Date.now());
203
+ if (record.status === 'completed') {
204
+ this.results.set(task.id, {
205
+ taskId: task.id,
206
+ role: task.role,
207
+ success: true,
208
+ summary: record.result_summary || 'completed',
209
+ duration: (record.finished_at ?? record.updated_at) - (record.started_at ?? record.created_at),
210
+ });
211
+ this.running.delete(task.id);
212
+ }
213
+ else if (record.status === 'failed') {
214
+ this.results.set(task.id, {
215
+ taskId: task.id,
216
+ role: task.role,
217
+ success: false,
218
+ summary: record.result_summary || 'failed',
219
+ error: record.error,
220
+ duration: (record.finished_at ?? record.updated_at) - (record.started_at ?? record.created_at),
221
+ });
222
+ this.running.delete(task.id);
223
+ }
224
+ else if (record.status === 'skipped') {
225
+ this.results.set(task.id, {
226
+ taskId: task.id,
227
+ role: task.role,
228
+ success: true,
229
+ summary: record.error || 'skipped',
230
+ duration: 0,
231
+ });
232
+ this.running.delete(task.id);
233
+ }
234
+ else if (record.status === 'running') {
235
+ this.results.delete(task.id);
236
+ }
237
+ else {
238
+ this.results.delete(task.id);
239
+ this.running.delete(task.id);
240
+ }
241
+ }
150
242
  /**
151
243
  * 创建任务
152
244
  */
153
245
  createTask(task) {
154
- const id = randomUUID().slice(0, 8);
155
- const fullTask = { ...task, id };
246
+ const id = task.id ?? randomUUID().slice(0, 8);
247
+ const fullTask = { ...task, id, status: task.status ?? 'pending' };
156
248
  this.tasks.set(id, fullTask);
157
249
  this.taskTimestamps.set(id, Date.now());
158
- this.evictIfOverCapacity();
250
+ if (!fullTask.runId) {
251
+ this.evictIfOverCapacity();
252
+ }
159
253
  return fullTask;
160
254
  }
161
255
  /**
162
- * 释放任务元数据(子 Agent 仅借用调度器生成 prompt 时应在 finally 中调用)
256
+ * 释放任务元数据(仅用于无 runId 的临时 prompt 任务)
163
257
  */
164
258
  releaseTask(taskId) {
259
+ const task = this.tasks.get(taskId);
260
+ if (task?.runId)
261
+ return;
165
262
  this.tasks.delete(taskId);
166
263
  this.results.delete(taskId);
167
264
  this.running.delete(taskId);
@@ -267,11 +364,14 @@ export class AgentDispatcher {
267
364
  if (!depTask) {
268
365
  return { valid: false, reason: `依赖任务 ${depId} 不存在` };
269
366
  }
367
+ if (depTask.status === 'failed') {
368
+ return { valid: false, reason: `依赖任务 ${depId} 已失败,需 retry 或 skip 后才能继续` };
369
+ }
270
370
  const depResult = this.results.get(depId);
271
371
  if (!depResult) {
272
372
  return { valid: false, reason: `依赖任务 ${depId} 尚未完成` };
273
373
  }
274
- if (!depResult.success) {
374
+ if (!depResult.success && depTask.status !== 'skipped') {
275
375
  return { valid: false, reason: `依赖任务 ${depId} 执行失败` };
276
376
  }
277
377
  }
@@ -285,33 +385,107 @@ export class AgentDispatcher {
285
385
  if (!task) {
286
386
  return { canExecute: false, reason: '任务不存在' };
287
387
  }
288
- // 检查是否已在运行
289
388
  if (this.running.has(taskId)) {
290
389
  return { canExecute: false, reason: '任务已在运行中' };
291
390
  }
292
- // 检查是否已完成
293
391
  if (this.results.has(taskId)) {
294
392
  return { canExecute: false, reason: '任务已完成' };
295
393
  }
296
- // 检查依赖
297
394
  const depValidation = this.validateDependencies(task);
298
395
  if (!depValidation.valid) {
299
396
  return { canExecute: false, reason: depValidation.reason };
300
397
  }
398
+ if (task.isWriter && task.runId && this.runHasRunningWriter(task.runId, taskId)) {
399
+ return { canExecute: false, reason: 'Run 内已有 Writer 任务运行中' };
400
+ }
301
401
  return { canExecute: true };
302
402
  }
403
+ runHasRunningWriter(runId, excludeTaskId) {
404
+ for (const [id, t] of this.tasks.entries()) {
405
+ if (id === excludeTaskId || t.runId !== runId || !t.isWriter)
406
+ continue;
407
+ if (this.running.has(id) || t.status === 'running')
408
+ return true;
409
+ }
410
+ return false;
411
+ }
412
+ /**
413
+ * Async missions gate check (call before spawn).
414
+ */
415
+ async canExecuteMissions(taskId) {
416
+ const base = this.canExecute(taskId);
417
+ if (!base.canExecute)
418
+ return base;
419
+ const task = this.tasks.get(taskId);
420
+ if (!task?.runId || !this.repository)
421
+ return base;
422
+ const run = await this.repository.getRun(task.runId);
423
+ if (!run)
424
+ return base;
425
+ const { isMissionsTemplate } = await import('./mission-state.js');
426
+ if (!isMissionsTemplate(run))
427
+ return base;
428
+ const state = await this.repository.getMissionState(task.runId);
429
+ if (!state)
430
+ return base;
431
+ if (task.phase === 'develop' || task.isWriter) {
432
+ const { missionSpecGateSatisfied } = await import('./mission-state.js');
433
+ if (!missionSpecGateSatisfied(state)) {
434
+ return { canExecute: false, reason: 'Validation Spec 门禁未通过(需 spec 路径 + dry-run + assertion_count)' };
435
+ }
436
+ }
437
+ if (task.phase === 'negotiate') {
438
+ const failed = state.last_validation && state.last_validation.failed > 0;
439
+ if (!failed && task.role === 'planner') {
440
+ return { canExecute: false, reason: 'Validate 已通过,Negotiate 无需执行' };
441
+ }
442
+ }
443
+ return base;
444
+ }
303
445
  /**
304
446
  * 记录任务结果
305
447
  */
306
448
  recordResult(result) {
307
449
  this.results.set(result.taskId, result);
308
450
  this.running.delete(result.taskId);
451
+ const task = this.tasks.get(result.taskId);
452
+ if (task) {
453
+ task.status = result.success ? 'completed' : 'failed';
454
+ }
455
+ if (this.repository && task?.runId) {
456
+ void this.repository.updateTaskStatus(result.taskId, result.success ? 'completed' : 'failed', {
457
+ result_summary: result.summary,
458
+ error: result.error ?? '',
459
+ finished_at: Date.now(),
460
+ });
461
+ }
462
+ for (const listener of this.resultListeners) {
463
+ try {
464
+ listener(result);
465
+ }
466
+ catch {
467
+ // ignore listener errors
468
+ }
469
+ }
309
470
  }
310
471
  /**
311
472
  * 标记任务为运行中
312
473
  */
313
474
  markRunning(taskId, promise) {
314
475
  this.running.set(taskId, promise);
476
+ const task = this.tasks.get(taskId);
477
+ if (task)
478
+ task.status = 'running';
479
+ if (this.repository && task?.runId) {
480
+ void this.repository.updateTaskStatus(taskId, 'running', { started_at: Date.now() });
481
+ }
482
+ }
483
+ async hydrateRun(runId) {
484
+ if (!this.repository)
485
+ return;
486
+ const tasks = await this.repository.listTasksByRun(runId);
487
+ for (const t of tasks)
488
+ this.syncTaskFromRecord(t);
315
489
  }
316
490
  /**
317
491
  * 获取所有任务状态
@@ -343,12 +517,18 @@ export class AgentDispatcher {
343
517
  const now = Date.now();
344
518
  let cleaned = 0;
345
519
  for (const [taskId, result] of this.results.entries()) {
520
+ const task = this.tasks.get(taskId);
521
+ if (task?.runId)
522
+ continue;
346
523
  if (result.success) {
347
524
  this.releaseTask(taskId);
348
525
  cleaned++;
349
526
  }
350
527
  }
351
528
  for (const [taskId, createdAt] of this.taskTimestamps.entries()) {
529
+ const task = this.tasks.get(taskId);
530
+ if (task?.runId)
531
+ continue;
352
532
  if (now - createdAt > AgentDispatcher.TASK_TTL_MS) {
353
533
  this.releaseTask(taskId);
354
534
  cleaned++;
@@ -359,15 +539,25 @@ export class AgentDispatcher {
359
539
  }
360
540
  evictIfOverCapacity() {
361
541
  let cleaned = 0;
362
- while (this.tasks.size > AgentDispatcher.MAX_STORED_TASKS) {
363
- const oldest = [...this.taskTimestamps.entries()].sort((a, b) => a[1] - b[1])[0];
364
- if (!oldest)
542
+ while (this.countEphemeralTasks() > AgentDispatcher.MAX_STORED_TASKS) {
543
+ const ephemeral = [...this.taskTimestamps.entries()]
544
+ .filter(([id]) => !this.tasks.get(id)?.runId)
545
+ .sort((a, b) => a[1] - b[1])[0];
546
+ if (!ephemeral)
365
547
  break;
366
- this.releaseTask(oldest[0]);
548
+ this.releaseTask(ephemeral[0]);
367
549
  cleaned++;
368
550
  }
369
551
  return cleaned;
370
552
  }
553
+ countEphemeralTasks() {
554
+ let n = 0;
555
+ for (const task of this.tasks.values()) {
556
+ if (!task.runId)
557
+ n += 1;
558
+ }
559
+ return n;
560
+ }
371
561
  dispose() {
372
562
  if (this.cleanupTimer) {
373
563
  clearInterval(this.cleanupTimer);
@@ -1 +1 @@
1
- {"version":3,"file":"agent-dispatcher.js","sourceRoot":"","sources":["../../src/orchestrator/agent-dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-dispatcher.js","sourceRoot":"","sources":["../../src/orchestrator/agent-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { ZhinAgent } from '../zhin-agent/index.js';
2
+ export interface DelegationPayload {
3
+ title: string;
4
+ description: string;
5
+ acceptance_criteria?: string;
6
+ artifacts?: Array<{
7
+ name?: string;
8
+ content?: string;
9
+ mime?: string;
10
+ }>;
11
+ }
12
+ export interface DelegationProcessorOptions {
13
+ zhinAgent: ZhinAgent;
14
+ pollIntervalMs?: number;
15
+ }
16
+ export declare class DelegationProcessor {
17
+ private readonly options;
18
+ private timer;
19
+ private processing;
20
+ constructor(options: DelegationProcessorOptions);
21
+ start(): void;
22
+ stop(): void;
23
+ createDelegation(payload: DelegationPayload): Promise<{
24
+ remote_task_id: string;
25
+ run_id: string;
26
+ }>;
27
+ private buildDelegationPrompt;
28
+ tick(): Promise<void>;
29
+ private processTask;
30
+ }
31
+ export declare function initDelegationProcessor(options: DelegationProcessorOptions): DelegationProcessor;
32
+ export declare function getDelegationProcessor(): DelegationProcessor | null;
33
+ //# sourceMappingURL=delegation-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation-processor.d.ts","sourceRoot":"","sources":["../../src/orchestrator/delegation-processor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAOxD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAID,qBAAa,mBAAmB;IAIlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,UAAU,CAAqB;gBAEV,OAAO,EAAE,0BAA0B;IAEhE,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IAON,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA+BvG,OAAO,CAAC,qBAAqB;IAiBvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAeb,WAAW;CA0C1B;AAID,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,0BAA0B,GAAG,mBAAmB,CAIhG;AAED,wBAAgB,sBAAsB,IAAI,mBAAmB,GAAG,IAAI,CAEnE"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * DelegationProcessor — 处理入站 MCP agent.delegate_task 创建的待执行委托。
3
+ */
4
+ import { randomUUID } from 'node:crypto';
5
+ import { Logger } from '@zhin.js/logger';
6
+ import { getOrchestrationService } from './orchestration-service.js';
7
+ import { getAgentDispatcher } from './agent-dispatcher.js';
8
+ const logger = new Logger(null, 'DelegationProcessor');
9
+ const DELEGATION_SESSION_PREFIX = 'mesh:delegation:';
10
+ export class DelegationProcessor {
11
+ options;
12
+ timer = null;
13
+ processing = new Set();
14
+ constructor(options) {
15
+ this.options = options;
16
+ }
17
+ start() {
18
+ if (this.timer)
19
+ return;
20
+ const ms = this.options.pollIntervalMs ?? 5_000;
21
+ this.timer = setInterval(() => void this.tick(), ms);
22
+ if (this.timer && typeof this.timer === 'object' && 'unref' in this.timer) {
23
+ this.timer.unref();
24
+ }
25
+ }
26
+ stop() {
27
+ if (this.timer) {
28
+ clearInterval(this.timer);
29
+ this.timer = null;
30
+ }
31
+ }
32
+ async createDelegation(payload) {
33
+ const orch = getOrchestrationService();
34
+ if (!orch)
35
+ throw new Error('OrchestrationService not ready');
36
+ const taskId = randomUUID().slice(0, 8);
37
+ const sessionKey = `${DELEGATION_SESSION_PREFIX}${taskId}`;
38
+ const snapshot = await orch.startRun({
39
+ sessionKey,
40
+ title: payload.title,
41
+ });
42
+ const task = await orch.addTask({
43
+ runId: snapshot.run.id,
44
+ name: payload.title,
45
+ description: payload.description,
46
+ goal: payload.description,
47
+ role: 'main',
48
+ context: {
49
+ acceptance_criteria: payload.acceptance_criteria ?? '',
50
+ artifacts: payload.artifacts ?? [],
51
+ delegation: true,
52
+ },
53
+ });
54
+ void this.processTask(task.id, this.buildDelegationPrompt(payload), sessionKey);
55
+ return { remote_task_id: task.id, run_id: snapshot.run.id };
56
+ }
57
+ buildDelegationPrompt(payload) {
58
+ const lines = [
59
+ `# Delegated Task: ${payload.title}`,
60
+ payload.description,
61
+ ];
62
+ if (payload.acceptance_criteria) {
63
+ lines.push('', '## Acceptance Criteria', payload.acceptance_criteria);
64
+ }
65
+ if (payload.artifacts?.length) {
66
+ lines.push('', '## Artifacts');
67
+ for (const a of payload.artifacts) {
68
+ lines.push(`### ${a.name ?? 'artifact'}`, a.content ?? '');
69
+ }
70
+ }
71
+ return lines.join('\n');
72
+ }
73
+ async tick() {
74
+ const orch = getOrchestrationService();
75
+ if (!orch)
76
+ return;
77
+ const runs = await orch.repositoryHandle.listRunsBySessionKeyPrefix(DELEGATION_SESSION_PREFIX);
78
+ for (const run of runs) {
79
+ if (run.status !== 'active')
80
+ continue;
81
+ const tasks = await orch.repositoryHandle.listTasksByRun(run.id);
82
+ for (const task of tasks) {
83
+ if (task.status !== 'pending' || this.processing.has(task.id))
84
+ continue;
85
+ void this.processTask(task.id, task.goal || task.description, run.session_key);
86
+ }
87
+ }
88
+ }
89
+ async processTask(taskId, prompt, sessionKey) {
90
+ if (this.processing.has(taskId))
91
+ return;
92
+ this.processing.add(taskId);
93
+ const orch = getOrchestrationService();
94
+ const dispatcher = getAgentDispatcher();
95
+ try {
96
+ await orch?.repositoryHandle.updateTaskStatus(taskId, 'running', { started_at: Date.now() });
97
+ dispatcher.syncTaskFromRecord((await orch.repositoryHandle.getTask(taskId)));
98
+ const context = {
99
+ platform: 'mesh',
100
+ botId: 'delegation',
101
+ sceneId: sessionKey,
102
+ senderId: 'remote-delegate',
103
+ scope: 'private',
104
+ };
105
+ await this.options.zhinAgent.prompt(prompt, context);
106
+ const resultText = 'Delegation completed via main agent turn';
107
+ dispatcher.recordResult({
108
+ taskId,
109
+ role: 'main',
110
+ success: true,
111
+ summary: resultText,
112
+ duration: 0,
113
+ });
114
+ }
115
+ catch (err) {
116
+ dispatcher.recordResult({
117
+ taskId,
118
+ role: 'main',
119
+ success: false,
120
+ summary: 'delegation failed',
121
+ error: err instanceof Error ? err.message : String(err),
122
+ duration: 0,
123
+ });
124
+ logger.error(`Delegation task ${taskId} failed:`, err);
125
+ }
126
+ finally {
127
+ this.processing.delete(taskId);
128
+ }
129
+ }
130
+ }
131
+ let globalProcessor = null;
132
+ export function initDelegationProcessor(options) {
133
+ globalProcessor = new DelegationProcessor(options);
134
+ globalProcessor.start();
135
+ return globalProcessor;
136
+ }
137
+ export function getDelegationProcessor() {
138
+ return globalProcessor;
139
+ }
140
+ //# sourceMappingURL=delegation-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation-processor.js","sourceRoot":"","sources":["../../src/orchestrator/delegation-processor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Mission milestone IM delivery (ADR 0011 D7).
3
+ */
4
+ import type { SendOptions } from '@zhin.js/core';
5
+ import type { SubagentOrigin } from '../subagent.js';
6
+ export interface ParsedSessionKey {
7
+ platform: string;
8
+ botId: string;
9
+ scope: 'private' | 'group' | 'channel';
10
+ sceneId: string;
11
+ }
12
+ /** Parse `platform:botId:scope:sceneId` session keys. */
13
+ export declare function parseOrchestrationSessionKey(sessionKey: string): ParsedSessionKey | null;
14
+ export declare function formatMissionMilestoneMessage(kind: string, runId: string, message: string): string;
15
+ export declare function sessionKeyToSubagentOrigin(sessionKey: string): SubagentOrigin | null;
16
+ export declare function deliverMissionMilestoneIm(sessionKey: string, kind: string, runId: string, message: string, send: (options: SendOptions) => Promise<string>): Promise<boolean>;
17
+ //# sourceMappingURL=mission-milestone-notify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mission-milestone-notify.d.ts","sourceRoot":"","sources":["../../src/orchestrator/mission-milestone-notify.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,yDAAyD;AACzD,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAQxF;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,MAAM,CASR;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAUpF;AAED,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,GAC9C,OAAO,CAAC,OAAO,CAAC,CAYlB"}
@@ -0,0 +1,49 @@
1
+ /** Parse `platform:botId:scope:sceneId` session keys. */
2
+ export function parseOrchestrationSessionKey(sessionKey) {
3
+ const parts = sessionKey.split(':');
4
+ if (parts.length < 4)
5
+ return null;
6
+ const [platform, botId, scopeRaw, ...rest] = parts;
7
+ const scope = scopeRaw === 'group' || scopeRaw === 'channel' ? scopeRaw : 'private';
8
+ const sceneId = rest.join(':');
9
+ if (!platform || !botId || !sceneId)
10
+ return null;
11
+ return { platform, botId, scope, sceneId };
12
+ }
13
+ export function formatMissionMilestoneMessage(kind, runId, message) {
14
+ const labels = {
15
+ mission_complete: 'Mission 完成',
16
+ mission_failed: 'Mission 失败',
17
+ mission_started: 'Mission 已启动',
18
+ mission_spec_gate_failed: 'Spec 门禁失败',
19
+ };
20
+ const title = labels[kind] ?? 'Mission 里程碑';
21
+ return `[${title}] run=${runId}\n${message}`;
22
+ }
23
+ export function sessionKeyToSubagentOrigin(sessionKey) {
24
+ const parsed = parseOrchestrationSessionKey(sessionKey);
25
+ if (!parsed)
26
+ return null;
27
+ return {
28
+ platform: parsed.platform,
29
+ botId: parsed.botId,
30
+ sceneId: parsed.sceneId,
31
+ senderId: 'mission-milestone',
32
+ sceneType: parsed.scope,
33
+ };
34
+ }
35
+ export async function deliverMissionMilestoneIm(sessionKey, kind, runId, message, send) {
36
+ const parsed = parseOrchestrationSessionKey(sessionKey);
37
+ if (!parsed)
38
+ return false;
39
+ const text = formatMissionMilestoneMessage(kind, runId, message);
40
+ await send({
41
+ context: parsed.platform,
42
+ bot: parsed.botId,
43
+ id: parsed.sceneId,
44
+ type: parsed.scope,
45
+ content: text,
46
+ });
47
+ return true;
48
+ }
49
+ //# sourceMappingURL=mission-milestone-notify.js.map