@zhin.js/agent 0.1.29 → 0.1.30

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 (365) hide show
  1. package/README.md +1 -1
  2. package/lib/agent-prompt/resolver.d.ts.map +1 -1
  3. package/lib/agent-prompt/resolver.js +0 -1
  4. package/lib/agent-prompt/resolver.js.map +1 -1
  5. package/lib/assistant/config.d.ts +67 -0
  6. package/lib/assistant/config.d.ts.map +1 -0
  7. package/lib/assistant/config.js +47 -0
  8. package/lib/assistant/config.js.map +1 -0
  9. package/lib/assistant/domains/home-assistant.d.ts +37 -0
  10. package/lib/assistant/domains/home-assistant.d.ts.map +1 -0
  11. package/lib/assistant/domains/home-assistant.js +113 -0
  12. package/lib/assistant/domains/home-assistant.js.map +1 -0
  13. package/lib/assistant/event-ingress.d.ts +28 -0
  14. package/lib/assistant/event-ingress.d.ts.map +1 -0
  15. package/lib/assistant/event-ingress.js +132 -0
  16. package/lib/assistant/event-ingress.js.map +1 -0
  17. package/lib/assistant/event-types.d.ts +28 -0
  18. package/lib/assistant/event-types.d.ts.map +1 -0
  19. package/lib/assistant/event-types.js +2 -0
  20. package/lib/assistant/event-types.js.map +1 -0
  21. package/lib/assistant/home-config.d.ts +36 -0
  22. package/lib/assistant/home-config.d.ts.map +1 -0
  23. package/lib/assistant/home-config.js +21 -0
  24. package/lib/assistant/home-config.js.map +1 -0
  25. package/lib/assistant/home-mcp-bridge.d.ts +12 -0
  26. package/lib/assistant/home-mcp-bridge.d.ts.map +1 -0
  27. package/lib/assistant/home-mcp-bridge.js +26 -0
  28. package/lib/assistant/home-mcp-bridge.js.map +1 -0
  29. package/lib/assistant/home-policy.d.ts +16 -0
  30. package/lib/assistant/home-policy.d.ts.map +1 -0
  31. package/lib/assistant/home-policy.js +46 -0
  32. package/lib/assistant/home-policy.js.map +1 -0
  33. package/lib/assistant/home-tools.d.ts +15 -0
  34. package/lib/assistant/home-tools.d.ts.map +1 -0
  35. package/lib/assistant/home-tools.js +141 -0
  36. package/lib/assistant/home-tools.js.map +1 -0
  37. package/lib/assistant/index.d.ts +31 -0
  38. package/lib/assistant/index.d.ts.map +1 -0
  39. package/lib/assistant/index.js +18 -0
  40. package/lib/assistant/index.js.map +1 -0
  41. package/lib/assistant/job-engine.d.ts +40 -0
  42. package/lib/assistant/job-engine.d.ts.map +1 -0
  43. package/lib/assistant/job-engine.js +155 -0
  44. package/lib/assistant/job-engine.js.map +1 -0
  45. package/lib/assistant/job-scheduler.d.ts +6 -0
  46. package/lib/assistant/job-scheduler.d.ts.map +1 -0
  47. package/lib/assistant/job-scheduler.js +59 -0
  48. package/lib/assistant/job-scheduler.js.map +1 -0
  49. package/lib/assistant/job-store.d.ts +55 -0
  50. package/lib/assistant/job-store.d.ts.map +1 -0
  51. package/lib/assistant/job-store.js +280 -0
  52. package/lib/assistant/job-store.js.map +1 -0
  53. package/lib/assistant/job-worker.d.ts +20 -0
  54. package/lib/assistant/job-worker.d.ts.map +1 -0
  55. package/lib/assistant/job-worker.js +73 -0
  56. package/lib/assistant/job-worker.js.map +1 -0
  57. package/lib/assistant/legacy-convert.d.ts +48 -0
  58. package/lib/assistant/legacy-convert.d.ts.map +1 -0
  59. package/lib/assistant/legacy-convert.js +108 -0
  60. package/lib/assistant/legacy-convert.js.map +1 -0
  61. package/lib/assistant/notification-router.d.ts +34 -0
  62. package/lib/assistant/notification-router.d.ts.map +1 -0
  63. package/lib/assistant/notification-router.js +96 -0
  64. package/lib/assistant/notification-router.js.map +1 -0
  65. package/lib/assistant/profile-loader.d.ts +29 -0
  66. package/lib/assistant/profile-loader.d.ts.map +1 -0
  67. package/lib/assistant/profile-loader.js +168 -0
  68. package/lib/assistant/profile-loader.js.map +1 -0
  69. package/lib/assistant/profile-types.d.ts +56 -0
  70. package/lib/assistant/profile-types.d.ts.map +1 -0
  71. package/lib/assistant/profile-types.js +9 -0
  72. package/lib/assistant/profile-types.js.map +1 -0
  73. package/lib/assistant/runtime-registry.d.ts +20 -0
  74. package/lib/assistant/runtime-registry.d.ts.map +1 -0
  75. package/lib/assistant/runtime-registry.js +19 -0
  76. package/lib/assistant/runtime-registry.js.map +1 -0
  77. package/lib/assistant/types.d.ts +75 -0
  78. package/lib/assistant/types.d.ts.map +1 -0
  79. package/lib/assistant/types.js +6 -0
  80. package/lib/assistant/types.js.map +1 -0
  81. package/lib/bootstrap.d.ts +1 -5
  82. package/lib/bootstrap.d.ts.map +1 -1
  83. package/lib/bootstrap.js +1 -34
  84. package/lib/bootstrap.js.map +1 -1
  85. package/lib/builtin/analyze-media-tool.d.ts +13 -0
  86. package/lib/builtin/analyze-media-tool.d.ts.map +1 -0
  87. package/lib/builtin/analyze-media-tool.js +100 -0
  88. package/lib/builtin/analyze-media-tool.js.map +1 -0
  89. package/lib/builtin/ask-user-tool.d.ts +1 -1
  90. package/lib/builtin/ask-user-tool.d.ts.map +1 -1
  91. package/lib/builtin/ask-user-tool.js +1 -1
  92. package/lib/builtin/ask-user-tool.js.map +1 -1
  93. package/lib/builtin/edit-file-tool.d.ts.map +1 -1
  94. package/lib/builtin/edit-file-tool.js +5 -1
  95. package/lib/builtin/edit-file-tool.js.map +1 -1
  96. package/lib/builtin/generate-image-tool.d.ts +21 -0
  97. package/lib/builtin/generate-image-tool.d.ts.map +1 -0
  98. package/lib/builtin/generate-image-tool.js +138 -0
  99. package/lib/builtin/generate-image-tool.js.map +1 -0
  100. package/lib/builtin/read-file-tool.d.ts +1 -1
  101. package/lib/builtin/read-file-tool.d.ts.map +1 -1
  102. package/lib/builtin/read-file-tool.js +2 -7
  103. package/lib/builtin/read-file-tool.js.map +1 -1
  104. package/lib/builtin/spawn-task-tool.d.ts +1 -1
  105. package/lib/builtin/spawn-task-tool.d.ts.map +1 -1
  106. package/lib/builtin/spawn-task-tool.js +25 -4
  107. package/lib/builtin/spawn-task-tool.js.map +1 -1
  108. package/lib/builtin/write-file-tool.d.ts.map +1 -1
  109. package/lib/builtin/write-file-tool.js +6 -1
  110. package/lib/builtin/write-file-tool.js.map +1 -1
  111. package/lib/builtin-tools.d.ts.map +1 -1
  112. package/lib/builtin-tools.js +2 -0
  113. package/lib/builtin-tools.js.map +1 -1
  114. package/lib/config/agent-binding-registry.d.ts +14 -0
  115. package/lib/config/agent-binding-registry.d.ts.map +1 -0
  116. package/lib/config/agent-binding-registry.js +30 -0
  117. package/lib/config/agent-binding-registry.js.map +1 -0
  118. package/lib/config/agent-bindings.d.ts +4 -0
  119. package/lib/config/agent-bindings.d.ts.map +1 -0
  120. package/lib/config/agent-bindings.js +16 -0
  121. package/lib/config/agent-bindings.js.map +1 -0
  122. package/lib/config/normalize-ai-config.d.ts +11 -0
  123. package/lib/config/normalize-ai-config.d.ts.map +1 -0
  124. package/lib/config/normalize-ai-config.js +55 -0
  125. package/lib/config/normalize-ai-config.js.map +1 -0
  126. package/lib/config/provider-instance.d.ts +5 -0
  127. package/lib/config/provider-instance.d.ts.map +1 -0
  128. package/lib/config/provider-instance.js +46 -0
  129. package/lib/config/provider-instance.js.map +1 -0
  130. package/lib/config/types.d.ts +35 -0
  131. package/lib/config/types.d.ts.map +1 -0
  132. package/lib/config/types.js +2 -0
  133. package/lib/config/types.js.map +1 -0
  134. package/lib/config/validate-ai-config.d.ts +3 -0
  135. package/lib/config/validate-ai-config.d.ts.map +1 -0
  136. package/lib/config/validate-ai-config.js +35 -0
  137. package/lib/config/validate-ai-config.js.map +1 -0
  138. package/lib/cron-engine.d.ts +20 -18
  139. package/lib/cron-engine.d.ts.map +1 -1
  140. package/lib/cron-engine.js +42 -18
  141. package/lib/cron-engine.js.map +1 -1
  142. package/lib/deferred-worker-runner.d.ts.map +1 -1
  143. package/lib/deferred-worker-runner.js +0 -1
  144. package/lib/deferred-worker-runner.js.map +1 -1
  145. package/lib/discovery/agents.d.ts +2 -0
  146. package/lib/discovery/agents.d.ts.map +1 -1
  147. package/lib/discovery/agents.js +5 -0
  148. package/lib/discovery/agents.js.map +1 -1
  149. package/lib/hooks.d.ts +0 -1
  150. package/lib/hooks.d.ts.map +1 -1
  151. package/lib/hooks.js.map +1 -1
  152. package/lib/index.d.ts +12 -4
  153. package/lib/index.d.ts.map +1 -1
  154. package/lib/index.js +7 -2
  155. package/lib/index.js.map +1 -1
  156. package/lib/init/create-zhin-agent.d.ts.map +1 -1
  157. package/lib/init/create-zhin-agent.js +164 -68
  158. package/lib/init/create-zhin-agent.js.map +1 -1
  159. package/lib/init/introspection-commands-format.d.ts +40 -0
  160. package/lib/init/introspection-commands-format.d.ts.map +1 -0
  161. package/lib/init/introspection-commands-format.js +93 -0
  162. package/lib/init/introspection-commands-format.js.map +1 -0
  163. package/lib/init/message-media.d.ts.map +1 -1
  164. package/lib/init/message-media.js +12 -0
  165. package/lib/init/message-media.js.map +1 -1
  166. package/lib/init/output-renderer.d.ts +4 -0
  167. package/lib/init/output-renderer.d.ts.map +1 -1
  168. package/lib/init/output-renderer.js +6 -0
  169. package/lib/init/output-renderer.js.map +1 -1
  170. package/lib/init/register-ai-trigger.d.ts.map +1 -1
  171. package/lib/init/register-ai-trigger.js +155 -8
  172. package/lib/init/register-ai-trigger.js.map +1 -1
  173. package/lib/init/register-builtin-tools.d.ts.map +1 -1
  174. package/lib/init/register-builtin-tools.js +13 -3
  175. package/lib/init/register-builtin-tools.js.map +1 -1
  176. package/lib/init/register-home-tools.d.ts +2 -0
  177. package/lib/init/register-home-tools.d.ts.map +1 -0
  178. package/lib/init/register-home-tools.js +51 -0
  179. package/lib/init/register-home-tools.js.map +1 -0
  180. package/lib/init/register-introspection-commands.d.ts +3 -0
  181. package/lib/init/register-introspection-commands.d.ts.map +1 -0
  182. package/lib/init/register-introspection-commands.js +97 -0
  183. package/lib/init/register-introspection-commands.js.map +1 -0
  184. package/lib/init/register-management-tools.d.ts +1 -1
  185. package/lib/init/register-management-tools.js +2 -2
  186. package/lib/init/register-management-tools.js.map +1 -1
  187. package/lib/init/register-mcp-memory-default.d.ts.map +1 -1
  188. package/lib/init/register-mcp-memory-default.js +1 -0
  189. package/lib/init/register-mcp-memory-default.js.map +1 -1
  190. package/lib/init/register-owner-approve-commands.d.ts.map +1 -1
  191. package/lib/init/register-owner-approve-commands.js +103 -111
  192. package/lib/init/register-owner-approve-commands.js.map +1 -1
  193. package/lib/init/register-typing-indicator.d.ts.map +1 -1
  194. package/lib/init/register-typing-indicator.js +111 -115
  195. package/lib/init/register-typing-indicator.js.map +1 -1
  196. package/lib/init.d.ts.map +1 -1
  197. package/lib/init.js +4 -0
  198. package/lib/init.js.map +1 -1
  199. package/lib/media/constants.d.ts +3 -0
  200. package/lib/media/constants.d.ts.map +1 -0
  201. package/lib/media/constants.js +3 -0
  202. package/lib/media/constants.js.map +1 -0
  203. package/lib/media/deliver-subagent-result.d.ts +15 -0
  204. package/lib/media/deliver-subagent-result.d.ts.map +1 -0
  205. package/lib/media/deliver-subagent-result.js +35 -0
  206. package/lib/media/deliver-subagent-result.js.map +1 -0
  207. package/lib/media/index.d.ts +14 -0
  208. package/lib/media/index.d.ts.map +1 -0
  209. package/lib/media/index.js +14 -0
  210. package/lib/media/index.js.map +1 -0
  211. package/lib/media/media-capabilities.d.ts +3 -0
  212. package/lib/media/media-capabilities.d.ts.map +1 -0
  213. package/lib/media/media-capabilities.js +15 -0
  214. package/lib/media/media-capabilities.js.map +1 -0
  215. package/lib/media/media-normalize.d.ts +10 -0
  216. package/lib/media/media-normalize.d.ts.map +1 -0
  217. package/lib/media/media-normalize.js +108 -0
  218. package/lib/media/media-normalize.js.map +1 -0
  219. package/lib/media/media-publisher.d.ts +8 -0
  220. package/lib/media/media-publisher.d.ts.map +1 -0
  221. package/lib/media/media-publisher.js +254 -0
  222. package/lib/media/media-publisher.js.map +1 -0
  223. package/lib/media/media-router.d.ts +7 -0
  224. package/lib/media/media-router.d.ts.map +1 -0
  225. package/lib/media/media-router.js +59 -0
  226. package/lib/media/media-router.js.map +1 -0
  227. package/lib/media/media-spool.d.ts +3 -0
  228. package/lib/media/media-spool.d.ts.map +1 -0
  229. package/lib/media/media-spool.js +25 -0
  230. package/lib/media/media-spool.js.map +1 -0
  231. package/lib/media/media-tool-bridge.d.ts +9 -0
  232. package/lib/media/media-tool-bridge.d.ts.map +1 -0
  233. package/lib/media/media-tool-bridge.js +61 -0
  234. package/lib/media/media-tool-bridge.js.map +1 -0
  235. package/lib/media/media-types.d.ts +50 -0
  236. package/lib/media/media-types.d.ts.map +1 -0
  237. package/lib/media/media-types.js +18 -0
  238. package/lib/media/media-types.js.map +1 -0
  239. package/lib/media/resolve-config.d.ts +3 -0
  240. package/lib/media/resolve-config.d.ts.map +1 -0
  241. package/lib/media/resolve-config.js +32 -0
  242. package/lib/media/resolve-config.js.map +1 -0
  243. package/lib/media/subagent-inbound.d.ts +20 -0
  244. package/lib/media/subagent-inbound.d.ts.map +1 -0
  245. package/lib/media/subagent-inbound.js +88 -0
  246. package/lib/media/subagent-inbound.js.map +1 -0
  247. package/lib/media/subagent-user-delivery.d.ts +23 -0
  248. package/lib/media/subagent-user-delivery.d.ts.map +1 -0
  249. package/lib/media/subagent-user-delivery.js +62 -0
  250. package/lib/media/subagent-user-delivery.js.map +1 -0
  251. package/lib/media/vision-capability.d.ts +5 -0
  252. package/lib/media/vision-capability.d.ts.map +1 -0
  253. package/lib/media/vision-capability.js +19 -0
  254. package/lib/media/vision-capability.js.map +1 -0
  255. package/lib/memory-layers.d.ts +57 -0
  256. package/lib/memory-layers.d.ts.map +1 -0
  257. package/lib/memory-layers.js +327 -0
  258. package/lib/memory-layers.js.map +1 -0
  259. package/lib/orchestrator/agent-dispatcher.d.ts.map +1 -1
  260. package/lib/orchestrator/agent-dispatcher.js +2 -0
  261. package/lib/orchestrator/agent-dispatcher.js.map +1 -1
  262. package/lib/orchestrator/mcp-lifecycle.d.ts +3 -0
  263. package/lib/orchestrator/mcp-lifecycle.d.ts.map +1 -1
  264. package/lib/orchestrator/mcp-lifecycle.js +34 -0
  265. package/lib/orchestrator/mcp-lifecycle.js.map +1 -1
  266. package/lib/orchestrator/resolve-subagent-tools.d.ts +20 -0
  267. package/lib/orchestrator/resolve-subagent-tools.d.ts.map +1 -0
  268. package/lib/orchestrator/resolve-subagent-tools.js +52 -0
  269. package/lib/orchestrator/resolve-subagent-tools.js.map +1 -0
  270. package/lib/orchestrator/task-queue.d.ts +4 -0
  271. package/lib/orchestrator/task-queue.d.ts.map +1 -1
  272. package/lib/orchestrator/task-queue.js +24 -0
  273. package/lib/orchestrator/task-queue.js.map +1 -1
  274. package/lib/orchestrator/tool-selection.d.ts +1 -1
  275. package/lib/orchestrator/tool-selection.d.ts.map +1 -1
  276. package/lib/orchestrator/tool-selection.js +2 -0
  277. package/lib/orchestrator/tool-selection.js.map +1 -1
  278. package/lib/routing/route-matcher.d.ts +12 -0
  279. package/lib/routing/route-matcher.d.ts.map +1 -0
  280. package/lib/routing/route-matcher.js +72 -0
  281. package/lib/routing/route-matcher.js.map +1 -0
  282. package/lib/routing/runtime-binding.d.ts +10 -0
  283. package/lib/routing/runtime-binding.d.ts.map +1 -0
  284. package/lib/routing/runtime-binding.js +6 -0
  285. package/lib/routing/runtime-binding.js.map +1 -0
  286. package/lib/routing/subagent-summarize.d.ts +6 -0
  287. package/lib/routing/subagent-summarize.d.ts.map +1 -0
  288. package/lib/routing/subagent-summarize.js +23 -0
  289. package/lib/routing/subagent-summarize.js.map +1 -0
  290. package/lib/security/file-policy.d.ts +7 -1
  291. package/lib/security/file-policy.d.ts.map +1 -1
  292. package/lib/security/file-policy.js +34 -1
  293. package/lib/security/file-policy.js.map +1 -1
  294. package/lib/service.d.ts +13 -3
  295. package/lib/service.d.ts.map +1 -1
  296. package/lib/service.js +45 -37
  297. package/lib/service.js.map +1 -1
  298. package/lib/subagent-ai-events.d.ts +30 -0
  299. package/lib/subagent-ai-events.d.ts.map +1 -0
  300. package/lib/subagent-ai-events.js +114 -0
  301. package/lib/subagent-ai-events.js.map +1 -0
  302. package/lib/subagent-goal-notify.d.ts +27 -6
  303. package/lib/subagent-goal-notify.d.ts.map +1 -1
  304. package/lib/subagent-goal-notify.js +46 -12
  305. package/lib/subagent-goal-notify.js.map +1 -1
  306. package/lib/subagent.d.ts +43 -3
  307. package/lib/subagent.d.ts.map +1 -1
  308. package/lib/subagent.js +167 -49
  309. package/lib/subagent.js.map +1 -1
  310. package/lib/task-executor.d.ts +10 -18
  311. package/lib/task-executor.d.ts.map +1 -1
  312. package/lib/task-executor.js +11 -34
  313. package/lib/task-executor.js.map +1 -1
  314. package/lib/typing-indicator/adapter-integration.d.ts.map +1 -1
  315. package/lib/typing-indicator/adapter-integration.js +2 -1
  316. package/lib/typing-indicator/adapter-integration.js.map +1 -1
  317. package/lib/typing-indicator/index.d.ts.map +1 -1
  318. package/lib/typing-indicator/index.js +18 -5
  319. package/lib/typing-indicator/index.js.map +1 -1
  320. package/lib/zhin-agent/config.d.ts +15 -12
  321. package/lib/zhin-agent/config.d.ts.map +1 -1
  322. package/lib/zhin-agent/config.js +16 -11
  323. package/lib/zhin-agent/config.js.map +1 -1
  324. package/lib/zhin-agent/event-emitter.d.ts.map +1 -1
  325. package/lib/zhin-agent/event-emitter.js +3 -2
  326. package/lib/zhin-agent/event-emitter.js.map +1 -1
  327. package/lib/zhin-agent/index.d.ts +10 -0
  328. package/lib/zhin-agent/index.d.ts.map +1 -1
  329. package/lib/zhin-agent/index.js +42 -0
  330. package/lib/zhin-agent/index.js.map +1 -1
  331. package/lib/zhin-agent/llm-runner.d.ts +3 -1
  332. package/lib/zhin-agent/llm-runner.d.ts.map +1 -1
  333. package/lib/zhin-agent/llm-runner.js +78 -0
  334. package/lib/zhin-agent/llm-runner.js.map +1 -1
  335. package/lib/zhin-agent/prompt-assembly.d.ts.map +1 -1
  336. package/lib/zhin-agent/prompt-assembly.js +0 -2
  337. package/lib/zhin-agent/prompt-assembly.js.map +1 -1
  338. package/lib/zhin-agent/prompt.d.ts.map +1 -1
  339. package/lib/zhin-agent/prompt.js +49 -16
  340. package/lib/zhin-agent/prompt.js.map +1 -1
  341. package/lib/zhin-agent/tool-calls-user-format.d.ts.map +1 -1
  342. package/lib/zhin-agent/tool-calls-user-format.js +5 -1
  343. package/lib/zhin-agent/tool-calls-user-format.js.map +1 -1
  344. package/lib/zhin-agent/tool-orchestration.d.ts.map +1 -1
  345. package/lib/zhin-agent/tool-orchestration.js +10 -7
  346. package/lib/zhin-agent/tool-orchestration.js.map +1 -1
  347. package/lib/zhin-agent/tool-runtime.d.ts +0 -2
  348. package/lib/zhin-agent/tool-runtime.d.ts.map +1 -1
  349. package/lib/zhin-agent/tool-runtime.js +1 -4
  350. package/lib/zhin-agent/tool-runtime.js.map +1 -1
  351. package/lib/zhin-agent/tool-search-orchestrator.d.ts +3 -0
  352. package/lib/zhin-agent/tool-search-orchestrator.d.ts.map +1 -1
  353. package/lib/zhin-agent/tool-search-orchestrator.js +8 -3
  354. package/lib/zhin-agent/tool-search-orchestrator.js.map +1 -1
  355. package/lib/zhin-agent/turn-pipeline.d.ts.map +1 -1
  356. package/lib/zhin-agent/turn-pipeline.js +78 -28
  357. package/lib/zhin-agent/turn-pipeline.js.map +1 -1
  358. package/lib/zhin-agent/turn-tracker.d.ts +2 -0
  359. package/lib/zhin-agent/turn-tracker.d.ts.map +1 -1
  360. package/lib/zhin-agent/turn-tracker.js +11 -6
  361. package/lib/zhin-agent/turn-tracker.js.map +1 -1
  362. package/lib/zhin-agent/zhin-agent-private.d.ts +7 -1
  363. package/lib/zhin-agent/zhin-agent-private.d.ts.map +1 -1
  364. package/lib/zhin-agent/zhin-agent-private.js.map +1 -1
  365. package/package.json +3 -3
@@ -1,4 +1,5 @@
1
1
  import { createRunDeferredTaskTool } from '../builtin/run-deferred-task-tool.js';
2
+ import { createSpawnTaskTool } from '../builtin/spawn-task-tool.js';
2
3
  import { createToolSearchTool } from '../builtin/tool-search-tool.js';
3
4
  import { normalizeTool } from '../orchestrator/tool-selection.js';
4
5
  import { resolveDeferredTaskToolTimeout } from './config.js';
@@ -56,22 +57,26 @@ export function compactActivateSkillResultForToolSearch(full) {
56
57
  export function buildOrchestratorAgentTools(params) {
57
58
  const { allTools, config, context, getDeferredCatalog, runWorker } = params;
58
59
  const catalog = filterToolsForToolSearchCatalog(allTools);
59
- const part = partitionToolsForToolSearch(catalog, config.toolSearchOrchestratorTools);
60
+ const part = partitionToolsForToolSearch(catalog, config.orchestratorTools);
60
61
  const byName = new Map();
61
62
  for (const tool of part.orchestrator) {
62
63
  byName.set(tool.name, normalizeTool(tool, context));
63
64
  }
64
65
  byName.set('tool_search', normalizeTool(createToolSearchTool({
65
66
  getDeferredCatalog,
66
- maxResults: config.toolSearchMaxResults,
67
+ maxResults: config.deferredToolMaxResults,
67
68
  }), context));
68
69
  const runDeferred = normalizeTool(createRunDeferredTaskTool({
69
70
  runWorker,
70
71
  timeoutMs: resolveDeferredTaskToolTimeout(config),
71
72
  }), context);
72
73
  byName.set('run_deferred_task', runDeferred);
74
+ if (params.subagentManager
75
+ && params.config.orchestratorTools.includes('spawn_task')) {
76
+ byName.set('spawn_task', normalizeTool(createSpawnTaskTool(context, params.subagentManager), context));
77
+ }
73
78
  const orchestratorTools = [];
74
- for (const name of config.toolSearchOrchestratorTools) {
79
+ for (const name of config.orchestratorTools) {
75
80
  let tool = byName.get(name);
76
81
  if (!tool)
77
82
  continue;
@@ -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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"}
@@ -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;AAsC9E,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,CA8Z1B;AAQD,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,CAgM1B"}
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"}
@@ -4,12 +4,15 @@ import { createAgent } from '@zhin.js/ai';
4
4
  import { resolveIMSessionIdFromToolContext } from '@zhin.js/ai';
5
5
  import { parseOutput } from '@zhin.js/ai';
6
6
  import { detectTone } from '@zhin.js/ai';
7
- import { ensureMcpConnections } from '../orchestrator/mcp-lifecycle.js';
7
+ import { ensureMcpConnectionsForBinding, getMcpToolsForBinding, } from '../orchestrator/mcp-lifecycle.js';
8
8
  import { applyExecPolicyToTools } from '../security/exec-policy.js';
9
9
  import { runWithBashToolContext } from '../security/bash-tool-context.js';
10
10
  import { triggerAIHook, createAIHookEvent } from '../hooks.js';
11
11
  import { resolveModelCandidates } from './model-resolver.js';
12
- import { streamChatWithHistory } from './llm-runner.js';
12
+ import { streamChatWithHistory, streamChatWithVisionMedia } from './llm-runner.js';
13
+ import { INBOUND_MEDIA_PARTS_EXTRA_KEY } from '../media/constants.js';
14
+ import { mergeToolOutboundElements } from '../media/media-tool-bridge.js';
15
+ import { providerSupportsVision } from '../media/vision-capability.js';
13
16
  import { buildSessionCreateInput, touchSession, buildHistoryMessages, formatUserContentForSession, resolveSessionIsNewBeforeCreate, } from './session-io.js';
14
17
  import { buildEnhancedPersona } from './prompt.js';
15
18
  import { collectRuntimeTools, planToolRun } from './tool-runtime.js';
@@ -61,7 +64,7 @@ export async function processTextTurn(host, content, context, externalTools = []
61
64
  }));
62
65
  logPhase(host.phaseConfig, 'turn.start', sessionId, {
63
66
  mode: 'text',
64
- provider: host.provider.name,
67
+ provider: host.getTurnProvider().name,
65
68
  });
66
69
  // 0. Rate limit
67
70
  const rateCheck = host.rateLimiter.check(userId);
@@ -88,9 +91,11 @@ export async function processTextTurn(host, content, context, externalTools = []
88
91
  content,
89
92
  platform: platform || '',
90
93
  })).catch(() => { });
91
- // 0.9 Lazy-connect configured MCP servers before tool collection
92
- if (host.orchestrator) {
93
- await ensureMcpConnections(host.orchestrator.mcps, (event) => {
94
+ const turnBinding = host.activeBinding;
95
+ const mcpServerNames = turnBinding?.mcpServers ?? [];
96
+ // 0.9 Lazy-connect MCP servers listed on active agent binding
97
+ if (host.orchestrator && mcpServerNames.length > 0) {
98
+ await ensureMcpConnectionsForBinding(host.orchestrator.mcps, mcpServerNames, (event) => {
94
99
  const payload = host.emitter.createPayload(sessionId, contextForTools, 'text', {
95
100
  path: 'agent',
96
101
  serverName: event.serverName,
@@ -111,8 +116,10 @@ export async function processTextTurn(host, content, context, externalTools = []
111
116
  }
112
117
  // 1. Collect tools
113
118
  const tFilter = now();
114
- const mcpTools = host.orchestrator?.mcps.getAllMcpTools() ?? [];
115
- const allTools = collectRuntimeTools({
119
+ const mcpTools = host.orchestrator && mcpServerNames.length > 0
120
+ ? getMcpToolsForBinding(host.orchestrator.mcps, mcpServerNames)
121
+ : [];
122
+ let allTools = collectRuntimeTools({
116
123
  content,
117
124
  context: contextForTools,
118
125
  externalTools,
@@ -123,7 +130,6 @@ export async function processTextTurn(host, content, context, externalTools = []
123
130
  userId,
124
131
  chatHistory: host.chatHistory,
125
132
  userProfiles: host.userProfiles,
126
- subagentManager: host.subagentManager,
127
133
  mcpTools,
128
134
  });
129
135
  const { tools: resolvedTools, deferredStats } = resolveAgentToolsForTurn(host, allTools, contextForTools);
@@ -132,7 +138,7 @@ export async function processTextTurn(host, content, context, externalTools = []
132
138
  logPhase(host.phaseConfig, 'tools.collected', sessionId, { count: resolvedTools.length });
133
139
  logger.debug(formatCompact({
134
140
  tools: resolvedTools.length,
135
- tool_search: host.config.toolSearch || undefined,
141
+ tool_search: true,
136
142
  names: resolvedTools.map(t => t.name).join(',') || '(none)',
137
143
  }));
138
144
  // 2. History + profile (parallel)
@@ -141,11 +147,11 @@ export async function processTextTurn(host, content, context, externalTools = []
141
147
  buildHistoryMessages(sessionDeps(host), sessionId, context, sessionUserContent),
142
148
  host.userProfiles.buildProfileSummary(userId),
143
149
  ]);
144
- const chatCandidates = resolveModelCandidates(host.provider.models, host.modelRegistry, host.provider.name, host.config, 'chat');
150
+ const chatCandidates = resolveModelCandidates(host.getTurnProvider().models, host.modelRegistry, host.getTurnProvider().name, host.config, 'chat');
145
151
  const { messages: historyMessages, result: pruneResult, budget: contextBudget, } = pruneHistoryWithBudget({
146
152
  messages: rawHistoryMessages,
147
153
  config: host.config,
148
- provider: host.provider,
154
+ provider: host.getTurnProvider(),
149
155
  modelRegistry: host.modelRegistry,
150
156
  model: chatCandidates[0],
151
157
  });
@@ -169,7 +175,10 @@ export async function processTextTurn(host, content, context, externalTools = []
169
175
  }));
170
176
  const tLLM = now();
171
177
  logPhase(host.phaseConfig, 'chat.llm.start', sessionId, { model: liteModel || chatCandidates[0] || '' });
172
- const chatResult = await streamChatWithHistory({ provider: host.provider, modelRegistry: host.modelRegistry, config: host.config }, sessionUserContent, chatSystemPrompt, historyMessages, onChunk, liteModel);
178
+ const inboundVision = contextForTools.extra?.[INBOUND_MEDIA_PARTS_EXTRA_KEY];
179
+ const chatResult = inboundVision?.length
180
+ ? await streamChatWithVisionMedia({ provider: host.getTurnProvider(), modelRegistry: host.modelRegistry, config: host.config }, sessionUserContent, inboundVision, chatSystemPrompt, historyMessages, onChunk, liteModel || host.config.visionModel)
181
+ : await streamChatWithHistory({ provider: host.getTurnProvider(), modelRegistry: host.modelRegistry, config: host.config }, sessionUserContent, chatSystemPrompt, historyMessages, onChunk, liteModel);
173
182
  let reply = sanitizeAssistantReply(chatResult.content);
174
183
  await host.emitter.dispatch('ai.response', host.emitter.createPayload(sessionId, context, 'text', {
175
184
  path: 'chat',
@@ -226,6 +235,7 @@ export async function processTextTurn(host, content, context, externalTools = []
226
235
  }
227
236
  // 6. Path selection
228
237
  let reply;
238
+ let agentToolCalls = [];
229
239
  if (toolRun.mode === 'pre-exec-fast-path') {
230
240
  logPhase(host.phaseConfig, 'path.pre_exec_fast', sessionId, { toolCount: allTools.length });
231
241
  // Fast path
@@ -233,7 +243,7 @@ export async function processTextTurn(host, content, context, externalTools = []
233
243
  const prompt = buildFastPathSystemPrompt(host, personaEnhanced, preData, contextForTools);
234
244
  logger.debug(formatCompact({ mode: 'fast', prompt_chars: prompt.length }));
235
245
  logPhase(host.phaseConfig, 'fast.llm.start', sessionId, { model: chatCandidates[0] || '' });
236
- const fastResult = await streamChatWithHistory({ provider: host.provider, modelRegistry: host.modelRegistry, config: host.config }, sessionUserContent, prompt, historyMessages, onChunk);
246
+ const fastResult = await streamChatWithHistory({ provider: host.getTurnProvider(), modelRegistry: host.modelRegistry, config: host.config }, sessionUserContent, prompt, historyMessages, onChunk);
237
247
  reply = sanitizeAssistantReply(fastResult.content);
238
248
  logPhase(host.phaseConfig, 'fast.llm.end', sessionId, {
239
249
  durationMs: Math.round(now() - tLLM),
@@ -266,7 +276,7 @@ export async function processTextTurn(host, content, context, externalTools = []
266
276
  // Adaptive maxIterations: boost when skills are active (multi-step skill flows)
267
277
  const SKILL_ITERATION_BOOST = 3;
268
278
  const hasSkillActivation = agentTools.some(t => t.name === 'activate_skill' || t.name === 'install_skill');
269
- const harness = resolveModelHarness(host.provider.name, chatCandidates[0] || '', host.config.modelHarness);
279
+ const harness = resolveModelHarness(host.getTurnProvider().name, chatCandidates[0] || '', host.config.modelHarness);
270
280
  const baseIterations = harness.maxIterations ?? host.config.maxIterations;
271
281
  const effectiveMaxIterations = hasSkillActivation
272
282
  ? baseIterations + SKILL_ITERATION_BOOST
@@ -285,7 +295,7 @@ export async function processTextTurn(host, content, context, externalTools = []
285
295
  logger.warn(formatCompact({ warn: 'no_host_plugin' }));
286
296
  }
287
297
  }
288
- const llmAgent = createAgent(host.provider, {
298
+ const llmAgent = createAgent(host.getTurnProvider(), {
289
299
  model: chatCandidates[0],
290
300
  modelFallbacks: chatCandidates.slice(1),
291
301
  systemPrompt,
@@ -355,9 +365,25 @@ export async function processTextTurn(host, content, context, externalTools = []
355
365
  finally {
356
366
  llmAgent.dispose();
357
367
  }
358
- reply = sanitizeAssistantReply(result.content, {
359
- toolSummary: formatToolCallsForUser(result.toolCalls),
360
- });
368
+ agentToolCalls = result.toolCalls;
369
+ const spawnedSubagent = result.toolCalls.some(tc => tc.tool === 'spawn_task');
370
+ if (spawnedSubagent) {
371
+ await host.turnTracker.waitForPendingSubagents();
372
+ }
373
+ const delegatedOnly = spawnedSubagent
374
+ && !result.toolCalls.some(tc => tc.tool === 'run_deferred_task')
375
+ && !result.toolCalls.some(tc => tc.tool === 'generate_image'
376
+ && tc.result
377
+ && typeof tc.result === 'object'
378
+ && typeof tc.result.image === 'string');
379
+ if (delegatedOnly) {
380
+ reply = '';
381
+ }
382
+ else {
383
+ reply = sanitizeAssistantReply(result.content, {
384
+ toolSummary: formatToolCallsForUser(result.toolCalls),
385
+ });
386
+ }
361
387
  await host.emitter.dispatch('ai.response', host.emitter.createPayload(sessionId, contextForTools, 'text', {
362
388
  path: 'agent',
363
389
  model: result.model ?? (chatCandidates[0] || undefined),
@@ -372,9 +398,10 @@ export async function processTextTurn(host, content, context, externalTools = []
372
398
  : {}),
373
399
  }));
374
400
  for (const tc of result.toolCalls) {
401
+ const preview = toolCallResultDebugPreview(tc);
375
402
  logger.debug(formatCompact({
376
403
  tool_result: tc.tool,
377
- preview: truncatePreview(typeof tc.result === 'string' ? tc.result : JSON.stringify(tc.result), 480),
404
+ preview: truncatePreview(preview, 480),
378
405
  }));
379
406
  }
380
407
  logger.debug(`[Agent 路径] 过滤=${filterMs}ms, 记忆=${memMs}ms, Agent=${(now() - tAgent).toFixed(0)}ms, 总=${(now() - t0).toFixed(0)}ms`);
@@ -402,7 +429,23 @@ export async function processTextTurn(host, content, context, externalTools = []
402
429
  host.emitter.emit('ai.typing.stop', host.emitter.createPayload(sessionId, context, 'text', {
403
430
  reason: 'processing_complete',
404
431
  }));
405
- return parseOutput(reply);
432
+ const outbound = mergeToolOutboundElements(parseOutput(reply), agentToolCalls);
433
+ if (!reply.trim() && outbound.length === 0)
434
+ return [];
435
+ return outbound;
436
+ }
437
+ function toolCallResultDebugPreview(tc) {
438
+ if (tc.tool === 'generate_image' && tc.result && typeof tc.result === 'object' && !Array.isArray(tc.result)) {
439
+ const image = tc.result.image;
440
+ const len = typeof image === 'string' ? image.length : 0;
441
+ return len > 0 ? `[image generated, ${len} b64 chars]` : '[generate_image: no image field]';
442
+ }
443
+ if (tc.tool === 'voice_tts' && tc.result && typeof tc.result === 'object' && !Array.isArray(tc.result)) {
444
+ const audio = tc.result.audio;
445
+ const len = typeof audio === 'string' ? audio.length : 0;
446
+ return len > 0 ? `[audio generated, ${len} b64 chars]` : '[voice_tts: no audio field]';
447
+ }
448
+ return typeof tc.result === 'string' ? tc.result : JSON.stringify(tc.result);
406
449
  }
407
450
  export async function processMultimodalTurn(host, parts, context, onChunk) {
408
451
  const { senderId, sceneId, platform, botId } = context;
@@ -444,6 +487,7 @@ export async function processMultimodalTurn(host, parts, context, onChunk) {
444
487
  const personaEnhanced = host.buildDisciplinedPrompt(buildEnhancedPersona(host.config, profileSummary, ''));
445
488
  const textFragments = [];
446
489
  const llmParts = [];
490
+ const supportsVision = providerSupportsVision(host.getTurnProvider());
447
491
  for (const p of parts) {
448
492
  switch (p.type) {
449
493
  case 'text':
@@ -452,7 +496,10 @@ export async function processMultimodalTurn(host, parts, context, onChunk) {
452
496
  break;
453
497
  case 'image_url':
454
498
  textFragments.push('[图片]');
455
- llmParts.push(p);
499
+ if (supportsVision)
500
+ llmParts.push(p);
501
+ else
502
+ llmParts.push({ type: 'text', text: '[用户发送了一张图片]' });
456
503
  break;
457
504
  case 'video_url':
458
505
  textFragments.push('[视频]');
@@ -460,7 +507,10 @@ export async function processMultimodalTurn(host, parts, context, onChunk) {
460
507
  break;
461
508
  case 'audio':
462
509
  textFragments.push('[音频]');
463
- llmParts.push(p);
510
+ if (supportsVision)
511
+ llmParts.push(p);
512
+ else
513
+ llmParts.push({ type: 'text', text: '[用户发送了一段音频]' });
464
514
  break;
465
515
  case 'face':
466
516
  textFragments.push(p.face.text || `[表情:${p.face.id}]`);
@@ -479,11 +529,11 @@ export async function processMultimodalTurn(host, parts, context, onChunk) {
479
529
  textContent,
480
530
  personaEnhanced,
481
531
  });
482
- const visionCandidates = resolveModelCandidates(host.provider.models, host.modelRegistry, host.provider.name, host.config, 'vision');
532
+ const visionCandidates = resolveModelCandidates(host.getTurnProvider().models, host.modelRegistry, host.getTurnProvider().name, host.config, 'vision');
483
533
  const { messages: historyMessages, result: pruneResult } = pruneHistoryWithBudget({
484
534
  messages: rawHistoryMessages,
485
535
  config: host.config,
486
- provider: host.provider,
536
+ provider: host.getTurnProvider(),
487
537
  modelRegistry: host.modelRegistry,
488
538
  model: visionCandidates[0],
489
539
  });
@@ -503,7 +553,7 @@ export async function processMultimodalTurn(host, parts, context, onChunk) {
503
553
  usedVisionModel = visionModel;
504
554
  try {
505
555
  reply = '';
506
- for await (const chunk of host.provider.chatStream({ model: visionModel, messages })) {
556
+ for await (const chunk of host.getTurnProvider().chatStream({ model: visionModel, messages })) {
507
557
  if (chunk.usage)
508
558
  lastUsage = chunk.usage;
509
559
  const delta = chunk.choices?.[0]?.delta;
@@ -519,7 +569,7 @@ export async function processMultimodalTurn(host, parts, context, onChunk) {
519
569
  reply = stripThinkBlocks(reply);
520
570
  if (!reply) {
521
571
  logger.warn(formatCompact({ mode: 'multimodal', fallback: visionModel, reason: 'empty_stream' }));
522
- const response = await host.provider.chat({ model: visionModel, messages });
572
+ const response = await host.getTurnProvider().chat({ model: visionModel, messages });
523
573
  if (response.usage)
524
574
  lastUsage = response.usage;
525
575
  const msg = response.choices[0]?.message?.content;
@@ -532,7 +582,7 @@ export async function processMultimodalTurn(host, parts, context, onChunk) {
532
582
  const isLast = i === visionCandidates.length - 1;
533
583
  if (isLast) {
534
584
  try {
535
- const response = await host.provider.chat({ model: visionModel, messages });
585
+ const response = await host.getTurnProvider().chat({ model: visionModel, messages });
536
586
  if (response.usage)
537
587
  lastUsage = response.usage;
538
588
  const msg = response.choices[0]?.message?.content;
@@ -1 +1 @@
1
- {"version":3,"file":"turn-pipeline.js","sourceRoot":"","sources":["../../src/zhin-agent/turn-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-pipeline.js","sourceRoot":"","sources":["../../src/zhin-agent/turn-pipeline.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ export declare class TurnTracker {
9
9
  begin(): void;
10
10
  addSubagentUsage(usage: Usage): void;
11
11
  trackSubagent(done: Promise<void>): void;
12
+ /** 主回合在生成最终回复前等待本轮 spawn 的子 agent(与 finalize 内逻辑相同) */
13
+ waitForPendingSubagents(): Promise<void>;
12
14
  finalize(partial: Omit<ZhinAgentTurnMetrics, 'usage' | 'mainUsage' | 'subagentUsage'> & {
13
15
  usage: Usage;
14
16
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"turn-tracker.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/turn-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAErF,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,EAAE,MAAM;IAI1B,KAAK,IAAI,IAAI;IAKb,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAKpC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAKlC,QAAQ,CACZ,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,WAAW,GAAG,eAAe,CAAC,GAAG;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,GAC9F,OAAO,CAAC,IAAI,CAAC;IA8BhB,IAAI,WAAW,IAAI,oBAAoB,GAAG,IAAI,CAE7C;CACF"}
1
+ {"version":3,"file":"turn-tracker.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/turn-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAErF,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,EAAE,MAAM;IAI1B,KAAK,IAAI,IAAI;IAKb,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAKpC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAKxC,uDAAuD;IACjD,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IASxC,QAAQ,CACZ,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,WAAW,GAAG,eAAe,CAAC,GAAG;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,GAC9F,OAAO,CAAC,IAAI,CAAC;IAyBhB,IAAI,WAAW,IAAI,oBAAoB,GAAG,IAAI,CAE7C;CACF"}
@@ -21,13 +21,18 @@ export class TurnTracker {
21
21
  return;
22
22
  this.activeWaits.push(done);
23
23
  }
24
+ /** 主回合在生成最终回复前等待本轮 spawn 的子 agent(与 finalize 内逻辑相同) */
25
+ async waitForPendingSubagents() {
26
+ if (this.activeWaits.length === 0 || this.waitMs <= 0)
27
+ return;
28
+ await Promise.race([
29
+ Promise.allSettled(this.activeWaits),
30
+ new Promise(resolve => setTimeout(resolve, this.waitMs)),
31
+ ]);
32
+ this.activeWaits = [];
33
+ }
24
34
  async finalize(partial) {
25
- if (this.activeWaits.length > 0 && this.waitMs > 0) {
26
- await Promise.race([
27
- Promise.allSettled(this.activeWaits),
28
- new Promise(resolve => setTimeout(resolve, this.waitMs)),
29
- ]);
30
- }
35
+ await this.waitForPendingSubagents();
31
36
  const mainUsage = { ...partial.usage };
32
37
  const subagentUsage = this.activeUsage
33
38
  && (this.activeUsage.total_tokens > 0
@@ -1 +1 @@
1
- {"version":3,"file":"turn-tracker.js","sourceRoot":"","sources":["../../src/zhin-agent/turn-tracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAA6B,MAAM,mBAAmB,CAAC;AAErF,MAAM,OAAO,WAAW;IACd,YAAY,GAAgC,IAAI,CAAC;IACjD,WAAW,GAAiB,IAAI,CAAC;IACjC,WAAW,GAAoB,EAAE,CAAC;IACzB,MAAM,CAAS;IAEhC,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,gBAAgB,CAAC,KAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,aAAa,CAAC,IAAmB;QAC/B,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,OAA+F;QAE/F,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;gBACpC,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aAC/D,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW;eACjC,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC;mBAChC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,CAAC;mBAClC,IAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC5C,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE;YACzB,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,UAAU,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;QACpC,IAAI,aAAa;YAAE,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAEvD,IAAI,CAAC,YAAY,GAAG;YAClB,GAAG,OAAO;YACV,KAAK,EAAE,UAAU;YACjB,SAAS;YACT,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"turn-tracker.js","sourceRoot":"","sources":["../../src/zhin-agent/turn-tracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAA6B,MAAM,mBAAmB,CAAC;AAErF,MAAM,OAAO,WAAW;IACd,YAAY,GAAgC,IAAI,CAAC;IACjD,WAAW,GAAiB,IAAI,CAAC;IACjC,WAAW,GAAoB,EAAE,CAAC;IACzB,MAAM,CAAS;IAEhC,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,gBAAgB,CAAC,KAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,aAAa,CAAC,IAAmB;QAC/B,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,uDAAuD;IACvD,KAAK,CAAC,uBAAuB;QAC3B,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QAC9D,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;YACpC,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SAC/D,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,OAA+F;QAE/F,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,SAAS,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW;eACjC,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC;mBAChC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,CAAC;mBAClC,IAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC5C,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE;YACzB,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,UAAU,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;QACpC,IAAI,aAAa;YAAE,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAEvD,IAAI,CAAC,YAAY,GAAG;YAClB,GAAG,OAAO;YACV,KAAK,EAAE,UAAU;YACjB,SAAS;YACT,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF"}
@@ -22,9 +22,12 @@ import type { DeferredWorkerRunner } from '../deferred-worker-runner.js';
22
22
  import type { ZhinAgentConfig, OnChunkCallback } from './config.js';
23
23
  import type { PhaseTraceConfig } from './phase-trace.js';
24
24
  import type { ZhinAgentTurnMetrics } from './turn-metrics.js';
25
+ import type { ResolvedAgentBinding } from '../config/types.js';
25
26
  export interface ZhinAgentPrivate {
26
27
  readonly config: Required<ZhinAgentConfig>;
27
28
  readonly provider: AIProvider;
29
+ readonly activeBinding: ResolvedAgentBinding | null;
30
+ getTurnProvider(): AIProvider;
28
31
  readonly skillRegistry: SkillRegistry | null;
29
32
  readonly orchestrator: AgentOrchestrator | null;
30
33
  readonly sessions: SessionManager;
@@ -64,6 +67,9 @@ export interface ZhinAgentPrivate {
64
67
  };
65
68
  runDeferredWorker(goal: string, toolQuery: string | undefined, context: ToolContext, allTools: AgentTool[]): Promise<string>;
66
69
  }
67
- export declare function asPrivate(agent: unknown): ZhinAgentPrivate;
70
+ export declare function asPrivate(agent: {
71
+ getTurnProvider(): AIProvider;
72
+ getActiveBinding(): ResolvedAgentBinding | null;
73
+ }): ZhinAgentPrivate;
68
74
  export type { OnChunkCallback, OutputElement, Tool, ToolContext, Plugin, ContentPart };
69
75
  //# sourceMappingURL=zhin-agent-private.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zhin-agent-private.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/zhin-agent-private.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zhin-agent-private.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/zhin-agent-private.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zhin-agent-private.js","sourceRoot":"","sources":["../../src/zhin-agent/zhin-agent-private.ts"],"names":[],"mappings":"AAqFA,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,KAAyB,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"zhin-agent-private.js","sourceRoot":"","sources":["../../src/zhin-agent/zhin-agent-private.ts"],"names":[],"mappings":"AAwFA,MAAM,UAAU,SAAS,CAAC,KAGzB;IACC,OAAO,KAAoC,CAAC;AAC9C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/agent",
3
- "version": "0.1.29",
3
+ "version": "0.1.30",
4
4
  "description": "Zhin AI Agent — session, ZhinAgent, init; composes @zhin.js/core providers and tools",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -18,8 +18,8 @@
18
18
  "dependencies": {
19
19
  "he": "^1.2.0",
20
20
  "js-yaml": "^4.2.0",
21
- "@zhin.js/core": "1.1.31",
22
- "@zhin.js/ai": "1.1.29",
21
+ "@zhin.js/ai": "1.1.30",
22
+ "@zhin.js/core": "1.1.32",
23
23
  "@zhin.js/logger": "0.1.70"
24
24
  },
25
25
  "peerDependencies": {