@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
@@ -1,4 +1,6 @@
1
- import { formatSenderRolesForLabel, stripUserSpoofedSenderPrefix, } from '@zhin.js/core';
1
+ import { agentMessagesToOpenAi } from '@zhin.js/ai';
2
+ import { createUserMessage, renderUserMessageForLlm, } from '@zhin.js/ai';
3
+ import { formatSenderRolesForLabel, QUOTE_CONTEXT_BLOCK_EXTRA_KEY, stripUserSpoofedSenderPrefix, } from '@zhin.js/core';
2
4
  function sanitizeSenderAttr(value) {
3
5
  const trimmed = value.trim().replace(/[\]\s]+/g, '_');
4
6
  return trimmed.length > 0 ? trimmed.slice(0, 64) : 'unknown';
@@ -10,19 +12,51 @@ function resolveSenderDisplayName(message) {
10
12
  const raw = sender.nickname || sender.name || sender.id;
11
13
  return raw != null ? sanitizeSenderAttr(String(raw)) : 'unknown';
12
14
  }
13
- /**
14
- * 群/频道共享 session 写入时,为 user 消息附加结构化发言者前缀
15
- */
16
- export function formatUserContentForSession(context, rawContent) {
15
+ /** 群/频道 user 消息的 sender 元数据(写入 `agent_messages.extra`) */
16
+ export function buildUserMessageExtra(context) {
17
17
  const scope = context.scope || 'private';
18
- const body = stripUserSpoofedSenderPrefix(rawContent);
19
- if (scope !== 'group' && scope !== 'channel') {
20
- return body;
21
- }
22
- const senderId = sanitizeSenderAttr(String(context.senderId || 'unknown'));
23
- const name = resolveSenderDisplayName(context.message);
24
- const roles = formatSenderRolesForLabel(context.roles ?? ['user']);
25
- return `[sender:id=${senderId} name=${name} roles=${roles}] ${body}`;
18
+ if (scope !== 'group' && scope !== 'channel')
19
+ return undefined;
20
+ const sender = {
21
+ id: sanitizeSenderAttr(String(context.senderId || 'unknown')),
22
+ name: resolveSenderDisplayName(context.message),
23
+ roles: formatSenderRolesForLabel(context.roles ?? ['user'])
24
+ .split(',')
25
+ .map((r) => r.trim())
26
+ .filter(Boolean),
27
+ scope,
28
+ };
29
+ if (sender.roles.length === 0)
30
+ sender.roles = ['user'];
31
+ return { sender };
32
+ }
33
+ /** 剥离伪造前缀后的用户正文 + 可选 extra(入库 payload 用) */
34
+ export function prepareUserContentForSession(context, rawContent) {
35
+ const content = stripUserSpoofedSenderPrefix(rawContent);
36
+ const extra = buildUserMessageExtra(context);
37
+ return { content, extra };
38
+ }
39
+ /** 本轮 user 消息:干净正文 + extra + LLM 渲染(引用/sender 仅 extra + 加载时拼接) */
40
+ export function resolveTurnUserMessage(context, rawContent) {
41
+ const { content, extra: senderExtra } = prepareUserContentForSession(context, rawContent);
42
+ const quoteBlock = context.extra?.[QUOTE_CONTEXT_BLOCK_EXTRA_KEY];
43
+ const extra = {
44
+ ...senderExtra,
45
+ ...(typeof quoteBlock === 'string' && quoteBlock.trim()
46
+ ? { quote: { block: quoteBlock.trim(), messageId: context.message?.$quote_id } }
47
+ : {}),
48
+ };
49
+ const hasExtra = !!(extra.sender || extra.quote);
50
+ const llmMessage = renderUserMessageForLlm(createUserMessage(content), hasExtra ? extra : undefined);
51
+ return { content, extra: hasExtra ? extra : undefined, llmMessage };
52
+ }
53
+ /** @deprecated 使用 `resolveTurnUserMessage` */
54
+ export function formatUserContentForSession(context, rawContent) {
55
+ const { llmMessage } = resolveTurnUserMessage(context, rawContent);
56
+ if (llmMessage.role !== 'user')
57
+ return rawContent;
58
+ const block = llmMessage.content.find((b) => b.type === 'text');
59
+ return block?.type === 'text' ? block.text : rawContent;
26
60
  }
27
61
  export function buildSessionCreateInput(sessionKey, context) {
28
62
  return {
@@ -33,33 +67,35 @@ export function buildSessionCreateInput(sessionKey, context) {
33
67
  scene_type: context.scope || 'private',
34
68
  };
35
69
  }
36
- export function buildChatHistoryQuery(sessionId, context) {
70
+ export function buildImTranscriptQuery(context) {
37
71
  return {
38
- sessionId,
39
72
  platform: context.platform || '',
40
73
  botId: context.botId || '',
41
74
  sceneId: context.sceneId || '',
42
75
  };
43
76
  }
44
- export async function buildHistoryMessages(deps, sessionId, context, currentUserContent) {
45
- const history = deps.chatHistory != null
46
- ? await deps.chatHistory.buildHistoryMessages(buildChatHistoryQuery(sessionId, context))
47
- : [];
77
+ export async function buildHistoryMessagesFromContext(deps, sessionId, currentUserContent) {
78
+ const loaded = await deps.contextRepository.loadContext(sessionId);
79
+ const history = agentMessagesToOpenAi(loaded.messages);
48
80
  return [...history, { role: 'user', content: currentUserContent }];
49
81
  }
50
82
  /**
51
83
  * 在 `getOrCreateActive` 之前调用:是否视为新会话纪元(用于 ai.session.new)。
52
- * 须在 beginTurnSession 之前判定,否则同轮创建会令 hasAnySession 恒为 true。
53
84
  */
54
- export async function resolveSessionIsNewBeforeCreate(deps, sessionKey, context) {
55
- if (await deps.imSessionStore.hasAnySession(sessionKey))
56
- return false;
57
- if (!deps.chatHistory)
58
- return true;
59
- const hasMessages = await deps.chatHistory.hasStoredMessages(buildChatHistoryQuery('new-check', context));
60
- return !hasMessages;
85
+ export async function resolveSessionIsNewBeforeCreate(deps, sessionKey) {
86
+ const active = await deps.agentSessionStore.findActive(sessionKey);
87
+ return !active;
88
+ }
89
+ export async function beginTurnSession(deps, sessionKey, context) {
90
+ const input = buildSessionCreateInput(sessionKey, context);
91
+ const record = await deps.agentSessionStore.getOrCreateActive(input);
92
+ return { sessionKey, sessionId: record.session_id };
61
93
  }
62
94
  export async function touchSession(deps, sessionId) {
63
- await deps.imSessionStore.touch(sessionId);
95
+ await deps.agentSessionStore.touch(sessionId);
96
+ }
97
+ export async function archiveSessionByKey(deps, sessionKey) {
98
+ await deps.contextRepository.archiveSession(sessionKey);
99
+ return deps.agentSessionStore.archiveByKey(sessionKey);
64
100
  }
65
101
  //# sourceMappingURL=session-io.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-io.js","sourceRoot":"","sources":["../../src/zhin-agent/session-io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-io.js","sourceRoot":"","sources":["../../src/zhin-agent/session-io.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { AgentMessage } from '@zhin.js/ai';
2
+ import type { QueueMode } from '@zhin.js/ai';
3
+ /** Per-sessionKey steering / follow-up queues (ADR 0009 D6 / Grill #13). */
4
+ export declare class SessionMessageQueue {
5
+ readonly steeringMode: QueueMode;
6
+ readonly followUpMode: QueueMode;
7
+ private steering;
8
+ private followUp;
9
+ constructor(steeringMode: QueueMode, followUpMode: QueueMode);
10
+ pushSteering(input: AgentMessage | AgentMessage[]): void;
11
+ pushFollowUp(input: AgentMessage | AgentMessage[]): void;
12
+ drainSteering(): AgentMessage[];
13
+ drainFollowUp(): AgentMessage[];
14
+ clearSteering(): void;
15
+ clearFollowUp(): void;
16
+ hasFollowUp(): boolean;
17
+ steeringDepth(): number;
18
+ followUpDepth(): number;
19
+ }
20
+ //# sourceMappingURL=session-message-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-message-queue.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/session-message-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,4EAA4E;AAC5E,qBAAa,mBAAmB;IAK5B,QAAQ,CAAC,YAAY,EAAE,SAAS;IAChC,QAAQ,CAAC,YAAY,EAAE,SAAS;IALlC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,QAAQ,CAAsB;gBAG3B,YAAY,EAAE,SAAS,EACvB,YAAY,EAAE,SAAS;IAGlC,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,IAAI;IAIxD,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,IAAI;IAIxD,aAAa,IAAI,YAAY,EAAE;IAQ/B,aAAa,IAAI,YAAY,EAAE;IAQ/B,aAAa,IAAI,IAAI;IAIrB,aAAa,IAAI,IAAI;IAIrB,WAAW,IAAI,OAAO;IAItB,aAAa,IAAI,MAAM;IAIvB,aAAa,IAAI,MAAM;CAGxB"}
@@ -0,0 +1,52 @@
1
+ function normalizeMessages(input) {
2
+ return Array.isArray(input) ? input : [input];
3
+ }
4
+ /** Per-sessionKey steering / follow-up queues (ADR 0009 D6 / Grill #13). */
5
+ export class SessionMessageQueue {
6
+ steeringMode;
7
+ followUpMode;
8
+ steering = [];
9
+ followUp = [];
10
+ constructor(steeringMode, followUpMode) {
11
+ this.steeringMode = steeringMode;
12
+ this.followUpMode = followUpMode;
13
+ }
14
+ pushSteering(input) {
15
+ this.steering.push(...normalizeMessages(input));
16
+ }
17
+ pushFollowUp(input) {
18
+ this.followUp.push(...normalizeMessages(input));
19
+ }
20
+ drainSteering() {
21
+ if (this.steering.length === 0)
22
+ return [];
23
+ if (this.steeringMode === 'all') {
24
+ return this.steering.splice(0);
25
+ }
26
+ return this.steering.splice(0, 1);
27
+ }
28
+ drainFollowUp() {
29
+ if (this.followUp.length === 0)
30
+ return [];
31
+ if (this.followUpMode === 'all') {
32
+ return this.followUp.splice(0);
33
+ }
34
+ return this.followUp.splice(0, 1);
35
+ }
36
+ clearSteering() {
37
+ this.steering = [];
38
+ }
39
+ clearFollowUp() {
40
+ this.followUp = [];
41
+ }
42
+ hasFollowUp() {
43
+ return this.followUp.length > 0;
44
+ }
45
+ steeringDepth() {
46
+ return this.steering.length;
47
+ }
48
+ followUpDepth() {
49
+ return this.followUp.length;
50
+ }
51
+ }
52
+ //# sourceMappingURL=session-message-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-message-queue.js","sourceRoot":"","sources":["../../src/zhin-agent/session-message-queue.ts"],"names":[],"mappings":"AAGA,SAAS,iBAAiB,CAAC,KAAoC;IAC7D,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,4EAA4E;AAC5E,MAAM,OAAO,mBAAmB;IAKnB;IACA;IALH,QAAQ,GAAmB,EAAE,CAAC;IAC9B,QAAQ,GAAmB,EAAE,CAAC;IAEtC,YACW,YAAuB,EACvB,YAAuB;QADvB,iBAAY,GAAZ,YAAY,CAAW;QACvB,iBAAY,GAAZ,YAAY,CAAW;IAC/B,CAAC;IAEJ,YAAY,CAAC,KAAoC;QAC/C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,YAAY,CAAC,KAAoC;QAC/C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ import type { ToolContext } from '@zhin.js/core';
2
+ import type { ZhinAgentPrivate } from './zhin-agent-private.js';
3
+ export declare function listSessionTreeForContext(host: ZhinAgentPrivate, context: ToolContext): Promise<string>;
4
+ export declare function jumpSessionTreeForContext(host: ZhinAgentPrivate, context: ToolContext, index: number): Promise<string>;
5
+ //# sourceMappingURL=session-tree-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-tree-commands.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/session-tree-commands.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAShE,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAgBjB"}
@@ -0,0 +1,44 @@
1
+ import { resolveIMSessionIdFromToolContext } from '@zhin.js/ai';
2
+ import { beginTurnSession } from './session-io.js';
3
+ function formatBranchList(points) {
4
+ if (points.length === 0)
5
+ return '当前会话无 user 分支点';
6
+ return points
7
+ .map(p => `${p.index}. ${p.preview}`)
8
+ .join('\n');
9
+ }
10
+ export async function listSessionTreeForContext(host, context) {
11
+ const sessionKey = resolveIMSessionIdFromToolContext({
12
+ platform: context.platform,
13
+ botId: context.botId,
14
+ scope: context.scope,
15
+ sceneId: context.sceneId,
16
+ senderId: context.senderId,
17
+ });
18
+ const deps = {
19
+ imSessionStore: host.imSessionStore,
20
+ agentSessionStore: host.agentSessionStore,
21
+ contextRepository: host.contextRepository,
22
+ };
23
+ const { sessionId } = await beginTurnSession(deps, sessionKey, context);
24
+ const points = await host.contextRepository.listBranchPoints(sessionId);
25
+ return `🌳 会话分支点(/tree N 跳转,/fork N 从该点继续):\n${formatBranchList(points)}`;
26
+ }
27
+ export async function jumpSessionTreeForContext(host, context, index) {
28
+ const sessionKey = resolveIMSessionIdFromToolContext({
29
+ platform: context.platform,
30
+ botId: context.botId,
31
+ scope: context.scope,
32
+ sceneId: context.sceneId,
33
+ senderId: context.senderId,
34
+ });
35
+ const deps = {
36
+ imSessionStore: host.imSessionStore,
37
+ agentSessionStore: host.agentSessionStore,
38
+ contextRepository: host.contextRepository,
39
+ };
40
+ const { sessionId } = await beginTurnSession(deps, sessionKey, context);
41
+ const result = await host.contextRepository.jumpToBranchIndex(sessionId, index);
42
+ return result.ok ? `✅ ${result.message}` : `ℹ️ ${result.message}`;
43
+ }
44
+ //# sourceMappingURL=session-tree-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-tree-commands.js","sourceRoot":"","sources":["../../src/zhin-agent/session-tree-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAsB,MAAM,iBAAiB,CAAC;AAGvE,SAAS,gBAAgB,CAAC,MAA4B;IACpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACjD,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACpC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAAsB,EACtB,OAAoB;IAEpB,MAAM,UAAU,GAAG,iCAAiC,CAAC;QACnD,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC;IACH,MAAM,IAAI,GAAkB;QAC1B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC;IACF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACxE,OAAO,wCAAwC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAAsB,EACtB,OAAoB,EACpB,KAAa;IAEb,MAAM,UAAU,GAAG,iCAAiC,CAAC;QACnD,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC;IACH,MAAM,IAAI,GAAkB;QAC1B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC;IACF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAChF,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AACpE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-calls-user-format.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-calls-user-format.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAwED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,CA6C1E;AAED,2EAA2E;AAC3E,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAS/D"}
1
+ {"version":3,"file":"tool-calls-user-format.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-calls-user-format.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AA2ED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,CA6C1E;AAED,2EAA2E;AAC3E,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAS/D"}
@@ -36,6 +36,9 @@ function formatRunDeferredTaskResult(result) {
36
36
  const raw = asString(result);
37
37
  const parsed = parseRunDeferredPayload(raw);
38
38
  if (parsed) {
39
+ if (parsed.status === 'delegated') {
40
+ return undefined;
41
+ }
39
42
  if (parsed.status === 'error') {
40
43
  return parsed.error || '子任务执行失败。';
41
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-calls-user-format.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-calls-user-format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-calls-user-format.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-calls-user-format.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-orchestration.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-orchestration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAK5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,SAAS,EAAE,EACrB,OAAO,EAAE,WAAW,GACnB;IAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBhD;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,SAAS,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,CAiDjB"}
1
+ {"version":3,"file":"tool-orchestration.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-orchestration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAK5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,SAAS,EAAE,EACrB,OAAO,EAAE,WAAW,GACnB;IAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBhD;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,SAAS,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,CA8EjB"}
@@ -1,5 +1,5 @@
1
1
  import { randomUUID } from 'node:crypto';
2
- import { formatCompact, Logger } from '@zhin.js/logger';
2
+ import { formatCompact, Logger, truncatePreview } from '@zhin.js/logger';
3
3
  import { notifySubagentGoal, resolveSubagentDisplayLabel } from '../subagent-goal-notify.js';
4
4
  import { resolveIMSessionIdFromToolContext } from '@zhin.js/ai';
5
5
  import { buildOrchestratorAgentTools } from './tool-search-orchestrator.js';
@@ -23,10 +23,12 @@ export function resolveAgentToolsForTurn(agent, allTools, context) {
23
23
  return { tools: built.orchestratorTools, deferredStats: built.domainStats };
24
24
  }
25
25
  export async function runDeferredWorker(agent, goal, toolQuery, context, allTools) {
26
+ const taskId = randomUUID().slice(0, 8);
27
+ const label = resolveSubagentDisplayLabel(undefined, goal);
26
28
  await notifySubagentGoal(context, {
27
- taskId: randomUUID().slice(0, 8),
29
+ taskId,
28
30
  kind: 'deferred',
29
- label: resolveSubagentDisplayLabel(undefined, goal),
31
+ label,
30
32
  });
31
33
  const allByName = new Map(allTools.map(t => [t.name, t]));
32
34
  const workerBase = [];
@@ -35,7 +37,7 @@ export async function runDeferredWorker(agent, goal, toolQuery, context, allTool
35
37
  if (t)
36
38
  workerBase.push(t);
37
39
  }
38
- const result = await agent.deferredWorkerRunner.runSync({
40
+ const runOptions = {
39
41
  goal,
40
42
  toolQuery,
41
43
  deferredCatalog: agent.deferredCatalog,
@@ -63,6 +65,7 @@ export async function runDeferredWorker(agent, goal, toolQuery, context, allTool
63
65
  status: event.status,
64
66
  iterations: event.iterations,
65
67
  error: event.error,
68
+ taskId,
66
69
  });
67
70
  if (event.phase === 'start') {
68
71
  agent.emitter.emit('ai.deferred.start', payload);
@@ -71,7 +74,23 @@ export async function runDeferredWorker(agent, goal, toolQuery, context, allTool
71
74
  agent.emitter.emit('ai.deferred.finish', payload);
72
75
  }
73
76
  },
74
- });
75
- return result.summary;
77
+ };
78
+ try {
79
+ const result = await agent.deferredWorkerRunner.runSync(runOptions);
80
+ return result.summary;
81
+ }
82
+ catch (err) {
83
+ const errorMsg = err instanceof Error ? err.message : String(err);
84
+ logger.error(formatCompact({
85
+ deferred: 'worker_failed',
86
+ task_id: taskId,
87
+ error: truncatePreview(errorMsg, 200),
88
+ }));
89
+ return JSON.stringify({
90
+ status: 'error',
91
+ task_id: taskId,
92
+ error: errorMsg,
93
+ });
94
+ }
76
95
  }
77
96
  //# sourceMappingURL=tool-orchestration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-orchestration.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-orchestration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-orchestration.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-orchestration.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { type AgentTool } from '@zhin.js/ai';
2
2
  import type { Tool, ToolContext } from '../orchestrator/types.js';
3
3
  import type { SkillRegistry } from '../orchestrator/skill-registry.js';
4
4
  import type { ZhinAgentConfig } from './config.js';
5
- import type { ChatHistoryContext } from '@zhin.js/ai';
5
+ import type { ImTranscriptStore, MemoryImTranscriptStore } from '@zhin.js/ai';
6
6
  import type { UserProfileStore } from '../user-profile.js';
7
7
  import { type PreExecuteResult } from './pre-exec.js';
8
8
  export interface CollectRuntimeToolsOptions {
@@ -14,7 +14,7 @@ export interface CollectRuntimeToolsOptions {
14
14
  externalRegistered: Map<string, AgentTool>;
15
15
  sessionId: string;
16
16
  userId: string;
17
- chatHistory: ChatHistoryContext | null;
17
+ imTranscriptStore: ImTranscriptStore | MemoryImTranscriptStore;
18
18
  userProfiles: UserProfileStore;
19
19
  /** MCP tools from connected servers (merged after skill/tool selection). */
20
20
  mcpTools?: AgentTool[];
@@ -1 +1 @@
1
- {"version":3,"file":"tool-runtime.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAMnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAM7E,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,gBAAgB,CAAC;IAC/B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;CACxB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,SAAS,EAAE,CAqCpF;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,OAAO,CAAC;CAC/C;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,SAAS,EAAE,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,CAAC,CAWtB;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOnF"}
1
+ {"version":3,"file":"tool-runtime.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAMnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAM7E,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,iBAAiB,GAAG,uBAAuB,CAAC;IAC/D,YAAY,EAAE,gBAAgB,CAAC;IAC/B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;CACxB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,SAAS,EAAE,CAqCpF;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,OAAO,CAAC;CAC/C;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,SAAS,EAAE,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,CAAC,CAWtB;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOnF"}
@@ -1,8 +1,8 @@
1
1
  import { isReservedToolName } from '@zhin.js/ai';
2
2
  import { Logger } from '@zhin.js/core';
3
3
  import { KEYWORD_TRIGGERS } from './config.js';
4
- import { createChatHistoryTool, createUserProfileTool, } from './builtin-tools.js';
5
- import { buildChatHistoryQuery } from './session-io.js';
4
+ import { createImTranscriptHistoryTool, createUserProfileTool, } from './builtin-tools.js';
5
+ import { buildImTranscriptQuery } from './session-io.js';
6
6
  import { runPreExecutableTools } from './pre-exec.js';
7
7
  import { sharedToolSelection } from '../orchestrator/tool-selection.js';
8
8
  import { RESERVED_TOOL_NAMES, RESERVED_TOOL_NAME_PREFIXES } from '../reserved-tools.js';
@@ -20,8 +20,8 @@ export function collectRuntimeTools(options) {
20
20
  tools.push(tool);
21
21
  names.add(tool.name);
22
22
  };
23
- if (KEYWORD_TRIGGERS.chatHistory.test(options.content) && options.chatHistory) {
24
- add(createChatHistoryTool(options.chatHistory, buildChatHistoryQuery(options.sessionId, options.context)));
23
+ if (KEYWORD_TRIGGERS.chatHistory.test(options.content)) {
24
+ add(createImTranscriptHistoryTool(options.imTranscriptStore, buildImTranscriptQuery(options.context)));
25
25
  }
26
26
  if (KEYWORD_TRIGGERS.userProfile.test(options.content)) {
27
27
  add(createUserProfileTool(options.userId, options.userProfiles));
@@ -1 +1 @@
1
- {"version":3,"file":"tool-runtime.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-runtime.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-search-orchestrator.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-search-orchestrator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,uDAAuD;AACvD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAczE;AASD,wBAAgB,uCAAuC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAyB5E;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClC,OAAO,EAAE,WAAW,CAAC;IACrB,kBAAkB,EAAE,MAAM,SAAS,EAAE,CAAC;IACtC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,iDAAiD;IACjD,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,4BAA4B;IAC3C,iBAAiB,EAAE,SAAS,EAAE,CAAC;IAC/B,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,4BAA4B,GAAG,4BAA4B,CAsD9G"}
1
+ {"version":3,"file":"tool-search-orchestrator.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-search-orchestrator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,uDAAuD;AACvD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAczE;AASD,wBAAgB,uCAAuC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAyB5E;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClC,OAAO,EAAE,WAAW,CAAC;IACrB,kBAAkB,EAAE,MAAM,SAAS,EAAE,CAAC;IACtC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,iDAAiD;IACjD,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,4BAA4B;IAC3C,iBAAiB,EAAE,SAAS,EAAE,CAAC;IAC/B,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,4BAA4B,GAAG,4BAA4B,CAqE9G"}
@@ -1,5 +1,6 @@
1
1
  import { createRunDeferredTaskTool } from '../builtin/run-deferred-task-tool.js';
2
2
  import { createSpawnTaskTool } from '../builtin/spawn-task-tool.js';
3
+ import { createOrchestrationTools, ORCHESTRATION_TOOL_NAMES, } from '../builtin/orchestration-tools.js';
3
4
  import { createToolSearchTool } from '../builtin/tool-search-tool.js';
4
5
  import { normalizeTool } from '../orchestrator/tool-selection.js';
5
6
  import { resolveDeferredTaskToolTimeout } from './config.js';
@@ -75,6 +76,18 @@ export function buildOrchestratorAgentTools(params) {
75
76
  && params.config.orchestratorTools.includes('spawn_task')) {
76
77
  byName.set('spawn_task', normalizeTool(createSpawnTaskTool(context, params.subagentManager), context));
77
78
  }
79
+ for (const tool of createOrchestrationTools(context)) {
80
+ if (params.config.orchestratorTools.includes(tool.name)) {
81
+ byName.set(tool.name, normalizeTool(tool, context));
82
+ }
83
+ }
84
+ for (const name of ORCHESTRATION_TOOL_NAMES) {
85
+ if (params.config.orchestratorTools.includes(name) && !byName.has(name)) {
86
+ const found = createOrchestrationTools(context).find((t) => t.name === name);
87
+ if (found)
88
+ byName.set(name, normalizeTool(found, context));
89
+ }
90
+ }
78
91
  const orchestratorTools = [];
79
92
  for (const name of config.orchestratorTools) {
80
93
  let tool = byName.get(name);
@@ -1 +1 @@
1
- {"version":3,"file":"tool-search-orchestrator.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-search-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-search-orchestrator.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-search-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { TurnTracker } from './turn-tracker.js';
2
+ export interface TurnContextStore {
3
+ turnId: string;
4
+ tracker: TurnTracker;
5
+ }
6
+ export declare function runInTurnContext<T>(turnId: string, tracker: TurnTracker, fn: () => Promise<T>): Promise<T>;
7
+ export declare function getActiveTurnContext(): TurnContextStore | undefined;
8
+ export declare function getActiveTurnTracker(): TurnTracker | undefined;
9
+ //# sourceMappingURL=turn-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-context.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/turn-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;CACtB;AAID,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,wBAAgB,oBAAoB,IAAI,gBAAgB,GAAG,SAAS,CAEnE;AAED,wBAAgB,oBAAoB,IAAI,WAAW,GAAG,SAAS,CAE9D"}
@@ -0,0 +1,12 @@
1
+ import { AsyncLocalStorage } from 'node:async_hooks';
2
+ const turnContextStorage = new AsyncLocalStorage();
3
+ export function runInTurnContext(turnId, tracker, fn) {
4
+ return turnContextStorage.run({ turnId, tracker }, fn);
5
+ }
6
+ export function getActiveTurnContext() {
7
+ return turnContextStorage.getStore();
8
+ }
9
+ export function getActiveTurnTracker() {
10
+ return turnContextStorage.getStore()?.tracker;
11
+ }
12
+ //# sourceMappingURL=turn-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-context.js","sourceRoot":"","sources":["../../src/zhin-agent/turn-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAQrD,MAAM,kBAAkB,GAAG,IAAI,iBAAiB,EAAoB,CAAC;AAErE,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,OAAoB,EACpB,EAAoB;IAEpB,OAAO,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC;AAChD,CAAC"}
@@ -1,5 +1,11 @@
1
1
  import type { ContentPart } from '@zhin.js/ai';
2
2
  import type { ZhinAgentPrivate, OnChunkCallback, OutputElement, Tool, ToolContext } from './zhin-agent-private.js';
3
- export declare function processTextTurn(host: ZhinAgentPrivate, content: string, context: ToolContext, externalTools?: Tool[], onChunk?: OnChunkCallback): Promise<OutputElement[]>;
3
+ export interface ProcessTextTurnOptions {
4
+ prebuiltMessages?: import('@zhin.js/ai').AgentMessage[];
5
+ /** Deferred worker 完成后的内部自动续聊 turn(跳过速率限制、不重置续聊深度) */
6
+ deferredAutoContinue?: boolean;
7
+ }
8
+ export declare function processTextTurn(host: ZhinAgentPrivate, content: string, context: ToolContext, externalTools?: Tool[], onChunk?: OnChunkCallback, extras?: ProcessTextTurnOptions): Promise<OutputElement[]>;
9
+ /** @deprecated 仅保留类型引用;多模态 turn 已统一 agentLoop */
4
10
  export declare function processMultimodalTurn(host: ZhinAgentPrivate, parts: ContentPart[], context: ToolContext, onChunk?: OnChunkCallback): Promise<OutputElement[]>;
5
11
  //# sourceMappingURL=turn-pipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"turn-pipeline.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/turn-pipeline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA0B,WAAW,EAAS,MAAM,aAAa,CAAC;AA6C9E,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAuBjC,wBAAsB,eAAe,CACnC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,EACpB,aAAa,GAAE,IAAI,EAAO,EAC1B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,aAAa,EAAE,CAAC,CA+b1B;AAsBD,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,WAAW,EAAE,EACpB,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,aAAa,EAAE,CAAC,CAmM1B"}
1
+ {"version":3,"file":"turn-pipeline.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/turn-pipeline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA8B/C,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAKjC,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,CAAC,EAAE,OAAO,aAAa,EAAE,YAAY,EAAE,CAAC;IACxD,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAqBD,wBAAsB,eAAe,CACnC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,EACpB,aAAa,GAAE,IAAI,EAAO,EAC1B,OAAO,CAAC,EAAE,eAAe,EACzB,MAAM,CAAC,EAAE,sBAAsB,GAC9B,OAAO,CAAC,aAAa,EAAE,CAAC,CAsM1B;AAED,iDAAiD;AAEjD,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,WAAW,EAAE,EACpB,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,aAAa,EAAE,CAAC,CA2H1B"}