@zhin.js/agent 1.1.35 → 1.1.38

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 (1285) hide show
  1. package/lib/activity-feedback/adapter-integration.d.ts +0 -1
  2. package/lib/activity-feedback/adapter-integration.js.map +1 -1
  3. package/lib/activity-feedback/config-resolver.d.ts +0 -1
  4. package/lib/activity-feedback/config-resolver.js.map +1 -1
  5. package/lib/activity-feedback/event-context.d.ts +0 -1
  6. package/lib/activity-feedback/event-context.js.map +1 -1
  7. package/lib/activity-feedback/index.d.ts +0 -1
  8. package/lib/activity-feedback/index.js.map +1 -1
  9. package/lib/activity-feedback/manager.d.ts +0 -1
  10. package/lib/activity-feedback/manager.js.map +1 -1
  11. package/lib/activity-feedback/schedule-guard.d.ts +0 -1
  12. package/lib/activity-feedback/schedule-guard.js.map +1 -1
  13. package/lib/activity-feedback/subagent-prefix.d.ts +0 -1
  14. package/lib/activity-feedback/subagent-prefix.js.map +1 -1
  15. package/lib/activity-feedback/turn-event-projector.d.ts +0 -1
  16. package/lib/activity-feedback/turn-event-projector.js.map +1 -1
  17. package/lib/activity-feedback/types.d.ts +0 -1
  18. package/lib/activity-feedback/types.js.map +1 -1
  19. package/lib/ai-event-bus.d.ts +0 -1
  20. package/lib/ai-event-bus.js.map +1 -1
  21. package/lib/ai-event-contract.d.ts +0 -1
  22. package/lib/ai-event-contract.js.map +1 -1
  23. package/lib/ai-event-subscriber.d.ts +0 -1
  24. package/lib/ai-event-subscriber.js.map +1 -1
  25. package/lib/ai-hook-runtime-bus.d.ts +0 -1
  26. package/lib/ai-hook-runtime-bus.js.map +1 -1
  27. package/lib/assistant/bootstrap-assistant-home.d.ts +0 -1
  28. package/lib/assistant/bootstrap-assistant-home.js.map +1 -1
  29. package/lib/assistant/config.d.ts +0 -1
  30. package/lib/assistant/config.js.map +1 -1
  31. package/lib/assistant/deliver-schedule-to-adapter.d.ts +0 -1
  32. package/lib/assistant/deliver-schedule-to-adapter.js.map +1 -1
  33. package/lib/assistant/domains/ha-home-backend.d.ts +0 -1
  34. package/lib/assistant/domains/ha-home-backend.js.map +1 -1
  35. package/lib/assistant/domains/ha-ws-transport.d.ts +0 -1
  36. package/lib/assistant/domains/ha-ws-transport.js.map +1 -1
  37. package/lib/assistant/domains/home-entity.d.ts +0 -1
  38. package/lib/assistant/domains/home-entity.js.map +1 -1
  39. package/lib/assistant/domains/home-state-watch.d.ts +0 -1
  40. package/lib/assistant/domains/home-state-watch.js.map +1 -1
  41. package/lib/assistant/event-ingress.d.ts +0 -1
  42. package/lib/assistant/event-ingress.js.map +1 -1
  43. package/lib/assistant/event-types.d.ts +0 -1
  44. package/lib/assistant/event-types.js.map +1 -1
  45. package/lib/assistant/home-config.d.ts +0 -1
  46. package/lib/assistant/home-config.js.map +1 -1
  47. package/lib/assistant/home-facade.d.ts +0 -1
  48. package/lib/assistant/home-facade.js.map +1 -1
  49. package/lib/assistant/home-mcp-bridge.d.ts +0 -1
  50. package/lib/assistant/home-mcp-bridge.js.map +1 -1
  51. package/lib/assistant/home-policy.d.ts +0 -1
  52. package/lib/assistant/home-policy.js.map +1 -1
  53. package/lib/assistant/home-tools.d.ts +0 -1
  54. package/lib/assistant/home-tools.js.map +1 -1
  55. package/lib/assistant/index.d.ts +0 -1
  56. package/lib/assistant/index.js.map +1 -1
  57. package/lib/assistant/job-creator.d.ts +0 -1
  58. package/lib/assistant/job-creator.js.map +1 -1
  59. package/lib/assistant/job-engine.d.ts +0 -1
  60. package/lib/assistant/job-engine.js.map +1 -1
  61. package/lib/assistant/job-scheduler.d.ts +0 -1
  62. package/lib/assistant/job-scheduler.js.map +1 -1
  63. package/lib/assistant/job-store.d.ts +0 -1
  64. package/lib/assistant/job-store.js.map +1 -1
  65. package/lib/assistant/job-utils.d.ts +0 -1
  66. package/lib/assistant/job-utils.js.map +1 -1
  67. package/lib/assistant/job-worker.d.ts +0 -1
  68. package/lib/assistant/job-worker.js.map +1 -1
  69. package/lib/assistant/notification-router.d.ts +0 -1
  70. package/lib/assistant/notification-router.js.map +1 -1
  71. package/lib/assistant/profile-loader.d.ts +0 -1
  72. package/lib/assistant/profile-loader.js.map +1 -1
  73. package/lib/assistant/profile-types.d.ts +0 -1
  74. package/lib/assistant/profile-types.js.map +1 -1
  75. package/lib/assistant/runtime-contract.d.ts +0 -1
  76. package/lib/assistant/runtime-contract.js.map +1 -1
  77. package/lib/assistant/schedule-execution.d.ts +0 -1
  78. package/lib/assistant/schedule-execution.js.map +1 -1
  79. package/lib/assistant/schedule-job-service.d.ts +0 -1
  80. package/lib/assistant/schedule-job-service.js.map +1 -1
  81. package/lib/assistant/schedule-skills.d.ts +0 -1
  82. package/lib/assistant/schedule-skills.js.map +1 -1
  83. package/lib/assistant/types.d.ts +0 -1
  84. package/lib/assistant/types.js.map +1 -1
  85. package/lib/authoring/bridge.d.ts +0 -1
  86. package/lib/authoring/bridge.js.map +1 -1
  87. package/lib/authoring/define-eval.d.ts +0 -1
  88. package/lib/authoring/define-eval.js.map +1 -1
  89. package/lib/authoring/define-hook.d.ts +0 -1
  90. package/lib/authoring/define-hook.js.map +1 -1
  91. package/lib/authoring/define-skill.d.ts +0 -1
  92. package/lib/authoring/define-skill.js.map +1 -1
  93. package/lib/authoring/disable-tool.d.ts +0 -1
  94. package/lib/authoring/disable-tool.js.map +1 -1
  95. package/lib/authoring/entries/evals.d.ts +0 -1
  96. package/lib/authoring/entries/evals.js.map +1 -1
  97. package/lib/authoring/entries/hooks.d.ts +0 -1
  98. package/lib/authoring/entries/hooks.js.map +1 -1
  99. package/lib/authoring/entries/skills.d.ts +0 -1
  100. package/lib/authoring/entries/skills.js.map +1 -1
  101. package/lib/authoring/index.d.ts +0 -1
  102. package/lib/authoring/index.js.map +1 -1
  103. package/lib/authoring/types.d.ts +0 -1
  104. package/lib/authoring/types.js.map +1 -1
  105. package/lib/bootstrap.d.ts +0 -1
  106. package/lib/bootstrap.js.map +1 -1
  107. package/lib/builtins/builtin-tool-service.d.ts +0 -1
  108. package/lib/builtins/builtin-tool-service.js.map +1 -1
  109. package/lib/common-adapter-tools.d.ts +0 -1
  110. package/lib/common-adapter-tools.js.map +1 -1
  111. package/lib/config/agent-binding-registry.d.ts +0 -1
  112. package/lib/config/agent-binding-registry.js.map +1 -1
  113. package/lib/config/agent-bindings.d.ts +0 -1
  114. package/lib/config/agent-bindings.js.map +1 -1
  115. package/lib/config/agent-interfaces.d.ts +0 -1
  116. package/lib/config/agent-interfaces.js.map +1 -1
  117. package/lib/config/deprecated-agent-binding-keys.d.ts +0 -1
  118. package/lib/config/deprecated-agent-binding-keys.js.map +1 -1
  119. package/lib/config/deprecated-agent-keys.d.ts +0 -1
  120. package/lib/config/deprecated-agent-keys.js.map +1 -1
  121. package/lib/config/fix-ai-config.d.ts +0 -1
  122. package/lib/config/fix-ai-config.js.map +1 -1
  123. package/lib/config/index.d.ts +0 -1
  124. package/lib/config/index.js.map +1 -1
  125. package/lib/config/keyword-triggers.d.ts +0 -1
  126. package/lib/config/keyword-triggers.js.map +1 -1
  127. package/lib/config/model-harness-runtime.d.ts +0 -1
  128. package/lib/config/model-harness-runtime.js.map +1 -1
  129. package/lib/config/model-harness.d.ts +0 -1
  130. package/lib/config/model-harness.js.map +1 -1
  131. package/lib/config/normalize-ai-config.d.ts +0 -1
  132. package/lib/config/normalize-ai-config.js.map +1 -1
  133. package/lib/config/perception-config.d.ts +0 -1
  134. package/lib/config/perception-config.js.map +1 -1
  135. package/lib/config/provider-instance.d.ts +0 -1
  136. package/lib/config/provider-instance.js.map +1 -1
  137. package/lib/config/resolve-five-agent-binding.d.ts +0 -1
  138. package/lib/config/resolve-five-agent-binding.js.map +1 -1
  139. package/lib/config/types.d.ts +0 -1
  140. package/lib/config/types.js.map +1 -1
  141. package/lib/config/validate-ai-config.d.ts +0 -1
  142. package/lib/config/validate-ai-config.js.map +1 -1
  143. package/lib/config/zhin-agent-config.d.ts +0 -1
  144. package/lib/config/zhin-agent-config.js.map +1 -1
  145. package/lib/config/zhin-agent-constants.d.ts +0 -1
  146. package/lib/config/zhin-agent-constants.js.map +1 -1
  147. package/lib/config/zhin-agent-defaults.d.ts +0 -1
  148. package/lib/config/zhin-agent-defaults.js +1 -1
  149. package/lib/config/zhin-agent-defaults.js.map +1 -1
  150. package/lib/config/zhin-agent-dependencies.d.ts +0 -1
  151. package/lib/config/zhin-agent-dependencies.js.map +1 -1
  152. package/lib/config/zhin-agent-runtime.d.ts +0 -1
  153. package/lib/config/zhin-agent-runtime.js.map +1 -1
  154. package/lib/context/agents-instruction.d.ts +0 -1
  155. package/lib/context/agents-instruction.js.map +1 -1
  156. package/lib/context/context-system.d.ts +0 -1
  157. package/lib/context/context-system.js.map +1 -1
  158. package/lib/context/context-tail-limit.d.ts +0 -1
  159. package/lib/context/context-tail-limit.js.map +1 -1
  160. package/lib/context/contracts.d.ts +0 -1
  161. package/lib/context/contracts.js.map +1 -1
  162. package/lib/context/default-builders.d.ts +0 -1
  163. package/lib/context/default-builders.js.map +1 -1
  164. package/lib/context/envelope-parts.d.ts +0 -1
  165. package/lib/context/envelope-parts.js.map +1 -1
  166. package/lib/context/im-turn-context-adapter.d.ts +0 -1
  167. package/lib/context/im-turn-context-adapter.js.map +1 -1
  168. package/lib/context/index.d.ts +0 -1
  169. package/lib/context/index.js.map +1 -1
  170. package/lib/context/model-resolver.d.ts +0 -1
  171. package/lib/context/model-resolver.js.map +1 -1
  172. package/lib/context/turn-envelope.d.ts +0 -1
  173. package/lib/context/turn-envelope.js.map +1 -1
  174. package/lib/context/turn-user-message.d.ts +0 -1
  175. package/lib/context/turn-user-message.js.map +1 -1
  176. package/lib/core/agent-core-run.d.ts +3 -1
  177. package/lib/core/agent-core-run.js +52 -45
  178. package/lib/core/agent-core-run.js.map +1 -1
  179. package/lib/core/agent-core.d.ts +0 -1
  180. package/lib/core/agent-core.js.map +1 -1
  181. package/lib/core/agent-loop-standalone.d.ts +0 -1
  182. package/lib/core/agent-loop-standalone.js.map +1 -1
  183. package/lib/core/agent-loop-turn.d.ts +0 -1
  184. package/lib/core/agent-loop-turn.js.map +1 -1
  185. package/lib/core/agent-run-shared.d.ts +0 -1
  186. package/lib/core/agent-run-shared.js.map +1 -1
  187. package/lib/core/compose-deps.d.ts +0 -1
  188. package/lib/core/compose-deps.js.map +1 -1
  189. package/lib/core/contracts.d.ts +0 -1
  190. package/lib/core/contracts.js.map +1 -1
  191. package/lib/core/exhausted-turn-reply.d.ts +0 -1
  192. package/lib/core/exhausted-turn-reply.js.map +1 -1
  193. package/lib/core/exploration-budget.d.ts +0 -1
  194. package/lib/core/exploration-budget.js.map +1 -1
  195. package/lib/core/index.d.ts +0 -1
  196. package/lib/core/index.js.map +1 -1
  197. package/lib/core/missing-tool-resolver.d.ts +0 -1
  198. package/lib/core/missing-tool-resolver.js.map +1 -1
  199. package/lib/core/progress-reporter.d.ts +0 -1
  200. package/lib/core/progress-reporter.js.map +1 -1
  201. package/lib/core/spawn-delegation.d.ts +0 -1
  202. package/lib/core/spawn-delegation.js.map +1 -1
  203. package/lib/core/structured-reply-recovery.d.ts +9 -3
  204. package/lib/core/structured-reply-recovery.js +5 -6
  205. package/lib/core/structured-reply-recovery.js.map +1 -1
  206. package/lib/core/text-sanitize.d.ts +0 -1
  207. package/lib/core/text-sanitize.js.map +1 -1
  208. package/lib/core/tool-calls-user-format.d.ts +0 -1
  209. package/lib/core/tool-calls-user-format.js.map +1 -1
  210. package/lib/core/tool-execution-authority.d.ts +0 -1
  211. package/lib/core/tool-execution-authority.js.map +1 -1
  212. package/lib/core/turn-completion-usage.d.ts +8 -0
  213. package/lib/core/turn-completion-usage.js +35 -0
  214. package/lib/core/turn-completion-usage.js.map +1 -0
  215. package/lib/core/turn-event-mapper.d.ts +3 -3
  216. package/lib/core/turn-event-mapper.js +13 -10
  217. package/lib/core/turn-event-mapper.js.map +1 -1
  218. package/lib/core/turn-progress.d.ts +0 -1
  219. package/lib/core/turn-progress.js.map +1 -1
  220. package/lib/create-agent-session.d.ts +0 -1
  221. package/lib/create-agent-session.js.map +1 -1
  222. package/lib/decision/approval-judgment.d.ts +0 -1
  223. package/lib/decision/approval-judgment.js.map +1 -1
  224. package/lib/decision/approval.d.ts +0 -1
  225. package/lib/decision/approval.js.map +1 -1
  226. package/lib/decision/config.d.ts +0 -1
  227. package/lib/decision/config.js.map +1 -1
  228. package/lib/decision/index.d.ts +0 -1
  229. package/lib/decision/index.js.map +1 -1
  230. package/lib/decision/rank.d.ts +0 -1
  231. package/lib/decision/rank.js.map +1 -1
  232. package/lib/decision/retrieval.d.ts +0 -1
  233. package/lib/decision/retrieval.js.map +1 -1
  234. package/lib/decision/types.d.ts +0 -1
  235. package/lib/decision/types.js.map +1 -1
  236. package/lib/deferred-worker-runner.d.ts +0 -1
  237. package/lib/deferred-worker-runner.js.map +1 -1
  238. package/lib/deferred-worker-tool-load.d.ts +0 -1
  239. package/lib/deferred-worker-tool-load.js.map +1 -1
  240. package/lib/detached-task/index.d.ts +0 -1
  241. package/lib/detached-task/index.js.map +1 -1
  242. package/lib/detached-task/interjection.d.ts +0 -1
  243. package/lib/detached-task/interjection.js.map +1 -1
  244. package/lib/detached-task/runner.d.ts +0 -1
  245. package/lib/detached-task/runner.js.map +1 -1
  246. package/lib/detached-task/store.d.ts +0 -1
  247. package/lib/detached-task/store.js.map +1 -1
  248. package/lib/detached-task/token.d.ts +0 -1
  249. package/lib/detached-task/token.js.map +1 -1
  250. package/lib/detached-task/types.d.ts +0 -1
  251. package/lib/detached-task/types.js.map +1 -1
  252. package/lib/discovery/agent-surface-info.d.ts +0 -1
  253. package/lib/discovery/agent-surface-info.js.map +1 -1
  254. package/lib/discovery/agent-surface.d.ts +0 -1
  255. package/lib/discovery/agent-surface.js.map +1 -1
  256. package/lib/discovery/agents.d.ts +0 -1
  257. package/lib/discovery/agents.js.map +1 -1
  258. package/lib/discovery/utils.d.ts +0 -1
  259. package/lib/discovery/utils.js.map +1 -1
  260. package/lib/event/agent-stream-bus.d.ts +0 -1
  261. package/lib/event/agent-stream-bus.js.map +1 -1
  262. package/lib/event/agent-stream-hooks.d.ts +0 -1
  263. package/lib/event/agent-stream-hooks.js.map +1 -1
  264. package/lib/event/ai-event-bus.d.ts +0 -1
  265. package/lib/event/ai-event-bus.js.map +1 -1
  266. package/lib/event/contracts.d.ts +0 -1
  267. package/lib/event/contracts.js.map +1 -1
  268. package/lib/event/event-emitter.d.ts +0 -1
  269. package/lib/event/event-emitter.js.map +1 -1
  270. package/lib/event/event-system.d.ts +0 -1
  271. package/lib/event/event-system.js.map +1 -1
  272. package/lib/event/filtering-middleware.d.ts +0 -1
  273. package/lib/event/filtering-middleware.js.map +1 -1
  274. package/lib/event/hook-stream-sink.d.ts +0 -1
  275. package/lib/event/hook-stream-sink.js.map +1 -1
  276. package/lib/event/index.d.ts +0 -1
  277. package/lib/event/index.js.map +1 -1
  278. package/lib/event/logging-middleware.d.ts +0 -1
  279. package/lib/event/logging-middleware.js.map +1 -1
  280. package/lib/event/publish-agent-stream.d.ts +0 -1
  281. package/lib/event/publish-agent-stream.js.map +1 -1
  282. package/lib/event/session-events.d.ts +0 -1
  283. package/lib/event/session-events.js.map +1 -1
  284. package/lib/event/turn-event.d.ts +0 -1
  285. package/lib/event/turn-event.js.map +1 -1
  286. package/lib/event/turn-to-agent-stream.d.ts +0 -1
  287. package/lib/event/turn-to-agent-stream.js.map +1 -1
  288. package/lib/index.d.ts +4 -5
  289. package/lib/index.js +2 -2
  290. package/lib/index.js.map +1 -1
  291. package/lib/init/activate-ai-database-storage.d.ts +0 -1
  292. package/lib/init/activate-ai-database-storage.js.map +1 -1
  293. package/lib/init/compose-zhin-agent-runtime.d.ts +0 -1
  294. package/lib/init/compose-zhin-agent-runtime.js.map +1 -1
  295. package/lib/init/configure-zhin-agent.d.ts +0 -1
  296. package/lib/init/configure-zhin-agent.js.map +1 -1
  297. package/lib/init/define-ai-database-models.d.ts +0 -1
  298. package/lib/init/define-ai-database-models.js.map +1 -1
  299. package/lib/init/dispose-zhin-agent.d.ts +0 -1
  300. package/lib/init/dispose-zhin-agent.js.map +1 -1
  301. package/lib/init/introspection-output.d.ts +0 -1
  302. package/lib/init/introspection-output.js.map +1 -1
  303. package/lib/init/runtime-management-commands.d.ts +0 -1
  304. package/lib/init/runtime-management-commands.js.map +1 -1
  305. package/lib/interaction/index.d.ts +0 -1
  306. package/lib/interaction/index.js.map +1 -1
  307. package/lib/interaction/interaction-router.d.ts +0 -1
  308. package/lib/interaction/interaction-router.js.map +1 -1
  309. package/lib/internal/agent-host.d.ts +0 -1
  310. package/lib/internal/agent-host.js.map +1 -1
  311. package/lib/internal/ai-service-refs.d.ts +0 -1
  312. package/lib/internal/ai-service-refs.js.map +1 -1
  313. package/lib/internal/as-private.d.ts +0 -1
  314. package/lib/internal/as-private.js.map +1 -1
  315. package/lib/internal/host-types.d.ts +0 -1
  316. package/lib/internal/host-types.js.map +1 -1
  317. package/lib/internal/phase-trace.d.ts +0 -1
  318. package/lib/internal/phase-trace.js.map +1 -1
  319. package/lib/internal/prompt-trace.d.ts +0 -1
  320. package/lib/internal/prompt-trace.js.map +1 -1
  321. package/lib/internal/turn-context.d.ts +0 -1
  322. package/lib/internal/turn-context.js.map +1 -1
  323. package/lib/journal/file-journal-store.d.ts +0 -1
  324. package/lib/journal/file-journal-store.js.map +1 -1
  325. package/lib/journal/index.d.ts +0 -1
  326. package/lib/journal/index.js.map +1 -1
  327. package/lib/journal/persistent-turn-journal.d.ts +0 -1
  328. package/lib/journal/persistent-turn-journal.js.map +1 -1
  329. package/lib/mcp-client/bridge.d.ts +0 -1
  330. package/lib/mcp-client/bridge.js.map +1 -1
  331. package/lib/mcp-client/connection.d.ts +0 -1
  332. package/lib/mcp-client/connection.js.map +1 -1
  333. package/lib/mcp-client/index.d.ts +0 -1
  334. package/lib/mcp-client/index.js.map +1 -1
  335. package/lib/media/deliver-subagent-result.d.ts +0 -1
  336. package/lib/media/deliver-subagent-result.js +4 -1
  337. package/lib/media/deliver-subagent-result.js.map +1 -1
  338. package/lib/media/inbound-refs.d.ts +0 -1
  339. package/lib/media/inbound-refs.js.map +1 -1
  340. package/lib/media/index.d.ts +0 -1
  341. package/lib/media/index.js.map +1 -1
  342. package/lib/media/media-capabilities.d.ts +0 -1
  343. package/lib/media/media-capabilities.js.map +1 -1
  344. package/lib/media/media-normalize.d.ts +31 -3
  345. package/lib/media/media-normalize.js +38 -5
  346. package/lib/media/media-normalize.js.map +1 -1
  347. package/lib/media/media-publisher.d.ts +4 -2
  348. package/lib/media/media-publisher.js +50 -31
  349. package/lib/media/media-publisher.js.map +1 -1
  350. package/lib/media/media-router.d.ts +0 -1
  351. package/lib/media/media-router.js.map +1 -1
  352. package/lib/media/media-spool.d.ts +0 -1
  353. package/lib/media/media-spool.js.map +1 -1
  354. package/lib/media/media-tool-bridge.d.ts +0 -1
  355. package/lib/media/media-tool-bridge.js.map +1 -1
  356. package/lib/media/media-types.d.ts +0 -1
  357. package/lib/media/media-types.js.map +1 -1
  358. package/lib/media/perception.d.ts +8 -2
  359. package/lib/media/perception.js +55 -5
  360. package/lib/media/perception.js.map +1 -1
  361. package/lib/media/resolve-config.d.ts +0 -1
  362. package/lib/media/resolve-config.js.map +1 -1
  363. package/lib/media/subagent-inbound.d.ts +0 -1
  364. package/lib/media/subagent-inbound.js.map +1 -1
  365. package/lib/media/subagent-user-delivery.d.ts +0 -1
  366. package/lib/media/subagent-user-delivery.js.map +1 -1
  367. package/lib/media/vision-capability.d.ts +0 -1
  368. package/lib/media/vision-capability.js.map +1 -1
  369. package/lib/memory/ai-compaction-strategy.d.ts +0 -1
  370. package/lib/memory/ai-compaction-strategy.js.map +1 -1
  371. package/lib/memory/compaction-runtime.d.ts +0 -1
  372. package/lib/memory/compaction-runtime.js.map +1 -1
  373. package/lib/memory/context-repository-store.d.ts +0 -1
  374. package/lib/memory/context-repository-store.js.map +1 -1
  375. package/lib/memory/contracts.d.ts +0 -1
  376. package/lib/memory/contracts.js.map +1 -1
  377. package/lib/memory/index.d.ts +0 -1
  378. package/lib/memory/index.js.map +1 -1
  379. package/lib/memory/memory-system.d.ts +0 -1
  380. package/lib/memory/memory-system.js.map +1 -1
  381. package/lib/memory/memory-write-policy.d.ts +0 -1
  382. package/lib/memory/memory-write-policy.js.map +1 -1
  383. package/lib/memory/semantic-recall.d.ts +0 -1
  384. package/lib/memory/semantic-recall.js.map +1 -1
  385. package/lib/memory/told-ledger.d.ts +0 -1
  386. package/lib/memory/told-ledger.js.map +1 -1
  387. package/lib/memory-layers.d.ts +0 -1
  388. package/lib/memory-layers.js.map +1 -1
  389. package/lib/orchestration/five-agent/index.d.ts +0 -1
  390. package/lib/orchestration/five-agent/index.js.map +1 -1
  391. package/lib/orchestration/five-agent/prompts.d.ts +0 -1
  392. package/lib/orchestration/five-agent/prompts.js.map +1 -1
  393. package/lib/orchestration/five-agent/role-capability-policy.d.ts +0 -1
  394. package/lib/orchestration/five-agent/role-capability-policy.js.map +1 -1
  395. package/lib/orchestration/five-agent/roles.d.ts +0 -1
  396. package/lib/orchestration/five-agent/roles.js.map +1 -1
  397. package/lib/outbound/agent-output.d.ts +5 -1
  398. package/lib/outbound/agent-output.js +14 -0
  399. package/lib/outbound/agent-output.js.map +1 -1
  400. package/lib/outbound/send-proactive.d.ts +0 -1
  401. package/lib/outbound/send-proactive.js.map +1 -1
  402. package/lib/outbound/structured-reply.d.ts +6 -2
  403. package/lib/outbound/structured-reply.js +65 -14
  404. package/lib/outbound/structured-reply.js.map +1 -1
  405. package/lib/plugin-ai-hook-bus.d.ts +0 -1
  406. package/lib/plugin-ai-hook-bus.js.map +1 -1
  407. package/lib/plugin-loop-hooks.d.ts +0 -1
  408. package/lib/plugin-loop-hooks.js.map +1 -1
  409. package/lib/plugin-runtime/agent-event-bus.d.ts +0 -1
  410. package/lib/plugin-runtime/agent-event-bus.js.map +1 -1
  411. package/lib/plugin-runtime/agent-host-port.d.ts +0 -1
  412. package/lib/plugin-runtime/agent-host-port.js.map +1 -1
  413. package/lib/plugin-runtime/agent-runtime.d.ts +0 -1
  414. package/lib/plugin-runtime/agent-runtime.js.map +1 -1
  415. package/lib/plugin-runtime/agent-trace-runtime.d.ts +0 -1
  416. package/lib/plugin-runtime/agent-trace-runtime.js.map +1 -1
  417. package/lib/plugin-runtime/ai-completion.d.ts +11 -43
  418. package/lib/plugin-runtime/ai-completion.js +28 -10
  419. package/lib/plugin-runtime/ai-completion.js.map +1 -1
  420. package/lib/plugin-runtime/capability-ingress.d.ts +0 -1
  421. package/lib/plugin-runtime/capability-ingress.js.map +1 -1
  422. package/lib/plugin-runtime/capability-tools.d.ts +0 -1
  423. package/lib/plugin-runtime/capability-tools.js.map +1 -1
  424. package/lib/plugin-runtime/decision-runtime.d.ts +0 -1
  425. package/lib/plugin-runtime/decision-runtime.js.map +1 -1
  426. package/lib/plugin-runtime/deferred-capability-plan.d.ts +20 -1
  427. package/lib/plugin-runtime/deferred-capability-plan.js +40 -0
  428. package/lib/plugin-runtime/deferred-capability-plan.js.map +1 -1
  429. package/lib/plugin-runtime/file-edit-quote-utils.d.ts +0 -1
  430. package/lib/plugin-runtime/file-edit-quote-utils.js.map +1 -1
  431. package/lib/plugin-runtime/file-search-scope.d.ts +0 -1
  432. package/lib/plugin-runtime/file-search-scope.js.map +1 -1
  433. package/lib/plugin-runtime/full-agent-turn-engine.d.ts +0 -1
  434. package/lib/plugin-runtime/full-agent-turn-engine.js +13 -3
  435. package/lib/plugin-runtime/full-agent-turn-engine.js.map +1 -1
  436. package/lib/plugin-runtime/host-mcp-projection.d.ts +0 -1
  437. package/lib/plugin-runtime/host-mcp-projection.js.map +1 -1
  438. package/lib/plugin-runtime/host-tool-projection.d.ts +0 -1
  439. package/lib/plugin-runtime/host-tool-projection.js.map +1 -1
  440. package/lib/plugin-runtime/index.d.ts +0 -1
  441. package/lib/plugin-runtime/index.js.map +1 -1
  442. package/lib/plugin-runtime/native-bash-tool.d.ts +0 -1
  443. package/lib/plugin-runtime/native-bash-tool.js.map +1 -1
  444. package/lib/plugin-runtime/native-file-tools.d.ts +0 -1
  445. package/lib/plugin-runtime/native-file-tools.js.map +1 -1
  446. package/lib/plugin-runtime/native-image-tool.d.ts +0 -1
  447. package/lib/plugin-runtime/native-image-tool.js.map +1 -1
  448. package/lib/plugin-runtime/native-interaction-tools.d.ts +0 -1
  449. package/lib/plugin-runtime/native-interaction-tools.js.map +1 -1
  450. package/lib/plugin-runtime/native-knowledge-tool.d.ts +0 -1
  451. package/lib/plugin-runtime/native-knowledge-tool.js.map +1 -1
  452. package/lib/plugin-runtime/native-semantic-memory-tools.d.ts +0 -1
  453. package/lib/plugin-runtime/native-semantic-memory-tools.js.map +1 -1
  454. package/lib/plugin-runtime/native-todo-tools.d.ts +0 -1
  455. package/lib/plugin-runtime/native-todo-tools.js.map +1 -1
  456. package/lib/plugin-runtime/native-tool-suite.d.ts +0 -1
  457. package/lib/plugin-runtime/native-tool-suite.js.map +1 -1
  458. package/lib/plugin-runtime/native-web-tools.d.ts +0 -1
  459. package/lib/plugin-runtime/native-web-tools.js.map +1 -1
  460. package/lib/plugin-runtime/schedule-capability-plan.d.ts +0 -1
  461. package/lib/plugin-runtime/schedule-capability-plan.js.map +1 -1
  462. package/lib/plugin-runtime/subagent-turn-capability.d.ts +0 -1
  463. package/lib/plugin-runtime/subagent-turn-capability.js.map +1 -1
  464. package/lib/plugin-runtime/turn-intent-resolver.d.ts +0 -1
  465. package/lib/plugin-runtime/turn-intent-resolver.js.map +1 -1
  466. package/lib/prompt/assembly.d.ts +0 -1
  467. package/lib/prompt/assembly.js +2 -2
  468. package/lib/prompt/assembly.js.map +1 -1
  469. package/lib/prompt/estimate-tokens.d.ts +0 -1
  470. package/lib/prompt/estimate-tokens.js.map +1 -1
  471. package/lib/prompt/git-context.d.ts +0 -1
  472. package/lib/prompt/git-context.js.map +1 -1
  473. package/lib/prompt/index.d.ts +0 -1
  474. package/lib/prompt/index.js.map +1 -1
  475. package/lib/prompt/model-aware-builder.d.ts +0 -1
  476. package/lib/prompt/model-aware-builder.js.map +1 -1
  477. package/lib/prompt/model-prompt-strategy.d.ts +0 -1
  478. package/lib/prompt/model-prompt-strategy.js.map +1 -1
  479. package/lib/prompt/prompt-assembly-registry.d.ts +0 -1
  480. package/lib/prompt/prompt-assembly-registry.js.map +1 -1
  481. package/lib/prompt/prompt-budget.d.ts +0 -1
  482. package/lib/prompt/prompt-budget.js.map +1 -1
  483. package/lib/prompt/prompt-builder.d.ts +0 -1
  484. package/lib/prompt/prompt-builder.js.map +1 -1
  485. package/lib/prompt/rules/chat-rules.d.ts +6 -0
  486. package/lib/prompt/rules/chat-rules.js +20 -0
  487. package/lib/prompt/rules/chat-rules.js.map +1 -0
  488. package/lib/prompt/rules/code-references.d.ts +0 -1
  489. package/lib/prompt/rules/code-references.js.map +1 -1
  490. package/lib/prompt/rules/critical-rules.d.ts +0 -1
  491. package/lib/prompt/rules/critical-rules.js +2 -2
  492. package/lib/prompt/rules/critical-rules.js.map +1 -1
  493. package/lib/prompt/rules/editing.d.ts +0 -1
  494. package/lib/prompt/rules/editing.js.map +1 -1
  495. package/lib/prompt/rules/error-handling.d.ts +0 -1
  496. package/lib/prompt/rules/error-handling.js.map +1 -1
  497. package/lib/prompt/rules/index.d.ts +1 -1
  498. package/lib/prompt/rules/index.js +1 -0
  499. package/lib/prompt/rules/index.js.map +1 -1
  500. package/lib/prompt/rules/memory.d.ts +0 -1
  501. package/lib/prompt/rules/memory.js.map +1 -1
  502. package/lib/prompt/rules/task-completion.d.ts +0 -1
  503. package/lib/prompt/rules/task-completion.js.map +1 -1
  504. package/lib/prompt/rules/workflow-rules.d.ts +0 -1
  505. package/lib/prompt/rules/workflow-rules.js.map +1 -1
  506. package/lib/prompt/system-prompt.d.ts +7 -1
  507. package/lib/prompt/system-prompt.js +31 -12
  508. package/lib/prompt/system-prompt.js.map +1 -1
  509. package/lib/prompt/templates.d.ts +0 -1
  510. package/lib/prompt/templates.js.map +1 -1
  511. package/lib/prompt/tokens.d.ts +0 -1
  512. package/lib/prompt/tokens.js.map +1 -1
  513. package/lib/prompt/turn-prompt-profile.d.ts +0 -1
  514. package/lib/prompt/turn-prompt-profile.js.map +1 -1
  515. package/lib/prompt/workspace-prompt.d.ts +0 -1
  516. package/lib/prompt/workspace-prompt.js.map +1 -1
  517. package/lib/reserved-tools.d.ts +0 -1
  518. package/lib/reserved-tools.js.map +1 -1
  519. package/lib/resource-hub/hook-registry.d.ts +0 -1
  520. package/lib/resource-hub/hook-registry.js.map +1 -1
  521. package/lib/resource-hub/index.d.ts +0 -1
  522. package/lib/resource-hub/index.js.map +1 -1
  523. package/lib/resource-hub/mcp-lifecycle.d.ts +0 -1
  524. package/lib/resource-hub/mcp-lifecycle.js.map +1 -1
  525. package/lib/resource-hub/mcp-registry.d.ts +0 -1
  526. package/lib/resource-hub/mcp-registry.js.map +1 -1
  527. package/lib/resource-hub/public-api.d.ts +0 -1
  528. package/lib/resource-hub/public-api.js.map +1 -1
  529. package/lib/resource-hub/resolve-subagent-tools.d.ts +0 -1
  530. package/lib/resource-hub/resolve-subagent-tools.js.map +1 -1
  531. package/lib/resource-hub/resource-registry.d.ts +0 -1
  532. package/lib/resource-hub/resource-registry.js.map +1 -1
  533. package/lib/resource-hub/role-configs.d.ts +0 -1
  534. package/lib/resource-hub/role-configs.js.map +1 -1
  535. package/lib/resource-hub/skill-registry.d.ts +0 -1
  536. package/lib/resource-hub/skill-registry.js.map +1 -1
  537. package/lib/resource-hub/subagent-registry.d.ts +0 -1
  538. package/lib/resource-hub/subagent-registry.js.map +1 -1
  539. package/lib/resource-hub/tool-selection.d.ts +0 -1
  540. package/lib/resource-hub/tool-selection.js.map +1 -1
  541. package/lib/resource-hub/types.d.ts +0 -1
  542. package/lib/resource-hub/types.js.map +1 -1
  543. package/lib/routing/runtime-binding.d.ts +0 -1
  544. package/lib/routing/runtime-binding.js.map +1 -1
  545. package/lib/routing/subagent-summarize.d.ts +0 -1
  546. package/lib/routing/subagent-summarize.js.map +1 -1
  547. package/lib/schedule-cron.d.ts +0 -1
  548. package/lib/schedule-cron.js.map +1 -1
  549. package/lib/schedule-domain/audit-logger.d.ts +0 -1
  550. package/lib/schedule-domain/audit-logger.js.map +1 -1
  551. package/lib/schedule-domain/budget-guard.d.ts +0 -1
  552. package/lib/schedule-domain/budget-guard.js.map +1 -1
  553. package/lib/schedule-domain/execution-domain.d.ts +0 -1
  554. package/lib/schedule-domain/execution-domain.js.map +1 -1
  555. package/lib/schedule-domain/index.d.ts +0 -1
  556. package/lib/schedule-domain/index.js.map +1 -1
  557. package/lib/schedule-domain/output-validator.d.ts +0 -1
  558. package/lib/schedule-domain/output-validator.js.map +1 -1
  559. package/lib/schedule-domain/prompt-assembler.d.ts +0 -1
  560. package/lib/schedule-domain/prompt-assembler.js.map +1 -1
  561. package/lib/schedule-domain/schedule-execution-queue.d.ts +0 -1
  562. package/lib/schedule-domain/schedule-execution-queue.js.map +1 -1
  563. package/lib/schedule-domain/security-harness.d.ts +0 -1
  564. package/lib/schedule-domain/security-harness.js.map +1 -1
  565. package/lib/schedule-manager.d.ts +0 -1
  566. package/lib/schedule-manager.js.map +1 -1
  567. package/lib/seam/index.d.ts +0 -1
  568. package/lib/seam/index.js.map +1 -1
  569. package/lib/seam/seam-integration.d.ts +0 -1
  570. package/lib/seam/seam-integration.js.map +1 -1
  571. package/lib/seam/seam-provider.d.ts +0 -1
  572. package/lib/seam/seam-provider.js.map +1 -1
  573. package/lib/seam/skill-service.d.ts +0 -1
  574. package/lib/seam/skill-service.js.map +1 -1
  575. package/lib/seam/tokens.d.ts +0 -1
  576. package/lib/seam/tokens.js.map +1 -1
  577. package/lib/seam/tool-service.d.ts +0 -1
  578. package/lib/seam/tool-service.js.map +1 -1
  579. package/lib/security/anomaly-detection.d.ts +0 -1
  580. package/lib/security/anomaly-detection.js.map +1 -1
  581. package/lib/security/audit-logger.d.ts +0 -1
  582. package/lib/security/audit-logger.js.map +1 -1
  583. package/lib/security/comm-message-context.d.ts +0 -1
  584. package/lib/security/comm-message-context.js.map +1 -1
  585. package/lib/security/dangerous-tool-policy.d.ts +0 -1
  586. package/lib/security/dangerous-tool-policy.js.map +1 -1
  587. package/lib/security/exec-policy.d.ts +0 -1
  588. package/lib/security/exec-policy.js.map +1 -1
  589. package/lib/security/file-policy.d.ts +0 -1
  590. package/lib/security/file-policy.js.map +1 -1
  591. package/lib/security/file-role-policy.d.ts +0 -1
  592. package/lib/security/file-role-policy.js.map +1 -1
  593. package/lib/security/index.d.ts +0 -1
  594. package/lib/security/index.js.map +1 -1
  595. package/lib/security/network-authority.d.ts +0 -1
  596. package/lib/security/network-authority.js.map +1 -1
  597. package/lib/security/network-policy-context.d.ts +0 -1
  598. package/lib/security/network-policy-context.js.map +1 -1
  599. package/lib/security/network-policy.d.ts +0 -1
  600. package/lib/security/network-policy.js.map +1 -1
  601. package/lib/security/outbound-leak-guard.d.ts +0 -1
  602. package/lib/security/outbound-leak-guard.js.map +1 -1
  603. package/lib/security/owner-approval-contracts.d.ts +0 -1
  604. package/lib/security/owner-approval-contracts.js.map +1 -1
  605. package/lib/security/owner-approval-runtime.d.ts +0 -1
  606. package/lib/security/owner-approval-runtime.js.map +1 -1
  607. package/lib/security/owner-approval-store.d.ts +0 -1
  608. package/lib/security/owner-approval-store.js.map +1 -1
  609. package/lib/security/policy-facade.d.ts +0 -1
  610. package/lib/security/policy-facade.js.map +1 -1
  611. package/lib/security/policy-narrowing.d.ts +0 -1
  612. package/lib/security/policy-narrowing.js.map +1 -1
  613. package/lib/security/provenance.d.ts +0 -1
  614. package/lib/security/provenance.js.map +1 -1
  615. package/lib/security/sandbox-docker.d.ts +0 -1
  616. package/lib/security/sandbox-docker.js.map +1 -1
  617. package/lib/security/sandbox.d.ts +0 -1
  618. package/lib/security/sandbox.js.map +1 -1
  619. package/lib/security/trust-level.d.ts +0 -1
  620. package/lib/security/trust-level.js.map +1 -1
  621. package/lib/security/turn-file-authority.d.ts +0 -1
  622. package/lib/security/turn-file-authority.js.map +1 -1
  623. package/lib/security/turn-network-client.d.ts +0 -1
  624. package/lib/security/turn-network-client.js.map +1 -1
  625. package/lib/security/usage-quota.d.ts +3 -7
  626. package/lib/security/usage-quota.js.map +1 -1
  627. package/lib/segment/filter-im-delivery.d.ts +0 -1
  628. package/lib/segment/filter-im-delivery.js.map +1 -1
  629. package/lib/service.d.ts +0 -1
  630. package/lib/service.js.map +1 -1
  631. package/lib/session/approval-port.d.ts +0 -1
  632. package/lib/session/approval-port.js.map +1 -1
  633. package/lib/session/approval-review-agent.d.ts +0 -1
  634. package/lib/session/approval-review-agent.js.map +1 -1
  635. package/lib/session/branch-summarization-runtime.d.ts +0 -1
  636. package/lib/session/branch-summarization-runtime.js.map +1 -1
  637. package/lib/session/contracts.d.ts +0 -1
  638. package/lib/session/contracts.js.map +1 -1
  639. package/lib/session/index.d.ts +0 -1
  640. package/lib/session/index.js.map +1 -1
  641. package/lib/session/session-io.d.ts +0 -1
  642. package/lib/session/session-io.js.map +1 -1
  643. package/lib/session/session-key.d.ts +0 -1
  644. package/lib/session/session-key.js.map +1 -1
  645. package/lib/session/session-system.d.ts +7 -1
  646. package/lib/session/session-system.js +26 -12
  647. package/lib/session/session-system.js.map +1 -1
  648. package/lib/session/session-tree-commands.d.ts +0 -1
  649. package/lib/session/session-tree-commands.js.map +1 -1
  650. package/lib/session/strategies.d.ts +0 -1
  651. package/lib/session/strategies.js.map +1 -1
  652. package/lib/session/turn-ingress-session.d.ts +0 -1
  653. package/lib/session/turn-ingress-session.js.map +1 -1
  654. package/lib/session-tree-runtime.d.ts +0 -1
  655. package/lib/session-tree-runtime.js.map +1 -1
  656. package/lib/skill/capability-catalog.d.ts +0 -1
  657. package/lib/skill/capability-catalog.js.map +1 -1
  658. package/lib/skill/contracts.d.ts +0 -1
  659. package/lib/skill/contracts.js.map +1 -1
  660. package/lib/skill/index.d.ts +0 -1
  661. package/lib/skill/index.js.map +1 -1
  662. package/lib/skill/progressive-disclosure.d.ts +0 -1
  663. package/lib/skill/progressive-disclosure.js.map +1 -1
  664. package/lib/skill/skill-instruction-reader-factory.d.ts +0 -1
  665. package/lib/skill/skill-instruction-reader-factory.js.map +1 -1
  666. package/lib/skill/skill-instruction-reader.d.ts +0 -1
  667. package/lib/skill/skill-instruction-reader.js.map +1 -1
  668. package/lib/skill/skill-instructions.d.ts +0 -1
  669. package/lib/skill/skill-instructions.js.map +1 -1
  670. package/lib/skill/skill-registry-as-service.d.ts +0 -1
  671. package/lib/skill/skill-registry-as-service.js.map +1 -1
  672. package/lib/skill/skill-system.d.ts +0 -1
  673. package/lib/skill/skill-system.js.map +1 -1
  674. package/lib/spawn/permission-task.d.ts +0 -1
  675. package/lib/spawn/permission-task.js.map +1 -1
  676. package/lib/spawn/spawn-task-tool.d.ts +0 -1
  677. package/lib/spawn/spawn-task-tool.js.map +1 -1
  678. package/lib/stability/memory-pressure.d.ts +0 -1
  679. package/lib/stability/memory-pressure.js.map +1 -1
  680. package/lib/standalone/standalone-tool-catalog.d.ts +0 -1
  681. package/lib/standalone/standalone-tool-catalog.js.map +1 -1
  682. package/lib/subagent/contracts.d.ts +0 -1
  683. package/lib/subagent/contracts.js.map +1 -1
  684. package/lib/subagent/im-result-sink.d.ts +0 -1
  685. package/lib/subagent/im-result-sink.js.map +1 -1
  686. package/lib/subagent/index.d.ts +0 -1
  687. package/lib/subagent/index.js.map +1 -1
  688. package/lib/subagent/subagent-runtime.d.ts +0 -1
  689. package/lib/subagent/subagent-runtime.js.map +1 -1
  690. package/lib/subagent/subagent-system-init.d.ts +0 -1
  691. package/lib/subagent/subagent-system-init.js.map +1 -1
  692. package/lib/subagent/subagent-system.d.ts +0 -1
  693. package/lib/subagent/subagent-system.js.map +1 -1
  694. package/lib/subagent-ai-events.d.ts +0 -1
  695. package/lib/subagent-ai-events.js.map +1 -1
  696. package/lib/subagent-artifact.d.ts +0 -1
  697. package/lib/subagent-artifact.js.map +1 -1
  698. package/lib/subagent-goal-notify.d.ts +0 -1
  699. package/lib/subagent-goal-notify.js.map +1 -1
  700. package/lib/subagent-parent-context.d.ts +0 -1
  701. package/lib/subagent-parent-context.js.map +1 -1
  702. package/lib/subagent-preset.d.ts +0 -1
  703. package/lib/subagent-preset.js.map +1 -1
  704. package/lib/subagent-prompt.d.ts +0 -1
  705. package/lib/subagent-prompt.js.map +1 -1
  706. package/lib/task-executor.d.ts +0 -1
  707. package/lib/task-executor.js.map +1 -1
  708. package/lib/tool/builtin-policy-extractors.d.ts +0 -1
  709. package/lib/tool/builtin-policy-extractors.js.map +1 -1
  710. package/lib/tool/context-tools.d.ts +0 -1
  711. package/lib/tool/context-tools.js.map +1 -1
  712. package/lib/tool/contracts.d.ts +0 -1
  713. package/lib/tool/contracts.js.map +1 -1
  714. package/lib/tool/conversation-reference-tool.d.ts +0 -1
  715. package/lib/tool/conversation-reference-tool.js.map +1 -1
  716. package/lib/tool/deferred-resolution.d.ts +0 -1
  717. package/lib/tool/deferred-resolution.js.map +1 -1
  718. package/lib/tool/executable-tool-registry.d.ts +0 -1
  719. package/lib/tool/executable-tool-registry.js.map +1 -1
  720. package/lib/tool/index.d.ts +0 -1
  721. package/lib/tool/index.js.map +1 -1
  722. package/lib/tool/pre-exec.d.ts +0 -1
  723. package/lib/tool/pre-exec.js.map +1 -1
  724. package/lib/tool/prepare-turn-tools.d.ts +0 -1
  725. package/lib/tool/prepare-turn-tools.js.map +1 -1
  726. package/lib/tool/runtime.d.ts +0 -1
  727. package/lib/tool/runtime.js.map +1 -1
  728. package/lib/tool/sources.d.ts +0 -1
  729. package/lib/tool/sources.js.map +1 -1
  730. package/lib/tool/tool-approval-gate.d.ts +0 -1
  731. package/lib/tool/tool-approval-gate.js.map +1 -1
  732. package/lib/tool/tool-approval-once-store.d.ts +0 -1
  733. package/lib/tool/tool-approval-once-store.js.map +1 -1
  734. package/lib/tool/tool-execution-authority.d.ts +0 -1
  735. package/lib/tool/tool-execution-authority.js.map +1 -1
  736. package/lib/tool/tool-model-output.d.ts +0 -1
  737. package/lib/tool/tool-model-output.js.map +1 -1
  738. package/lib/tool/tool-runtime.d.ts +0 -1
  739. package/lib/tool/tool-runtime.js.map +1 -1
  740. package/lib/tool/tool-system.d.ts +0 -1
  741. package/lib/tool/tool-system.js.map +1 -1
  742. package/lib/tool/turn-tool-runtime.d.ts +0 -1
  743. package/lib/tool/turn-tool-runtime.js.map +1 -1
  744. package/lib/tool-bridge.d.ts +0 -1
  745. package/lib/tool-bridge.js.map +1 -1
  746. package/lib/tool-catalog/deferred-turn-controller.d.ts +0 -1
  747. package/lib/tool-catalog/deferred-turn-controller.js.map +1 -1
  748. package/lib/tool-catalog/index.d.ts +0 -1
  749. package/lib/tool-catalog/index.js.map +1 -1
  750. package/lib/tool-catalog/resolve-config.d.ts +0 -1
  751. package/lib/tool-catalog/resolve-config.js.map +1 -1
  752. package/lib/tool-catalog/session-deferred-store.d.ts +0 -1
  753. package/lib/tool-catalog/session-deferred-store.js.map +1 -1
  754. package/lib/tool-catalog/tool-catalog.d.ts +8 -1
  755. package/lib/tool-catalog/tool-catalog.js +15 -0
  756. package/lib/tool-catalog/tool-catalog.js.map +1 -1
  757. package/lib/tool-catalog/types.d.ts +0 -1
  758. package/lib/tool-catalog/types.js.map +1 -1
  759. package/lib/trace/context-budget.d.ts +0 -1
  760. package/lib/trace/context-budget.js.map +1 -1
  761. package/lib/trace/index.d.ts +0 -1
  762. package/lib/trace/index.js.map +1 -1
  763. package/lib/trace/turn-trace-archive.d.ts +0 -1
  764. package/lib/trace/turn-trace-archive.js.map +1 -1
  765. package/lib/trace/turn-trace-format.d.ts +0 -1
  766. package/lib/trace/turn-trace-format.js.map +1 -1
  767. package/lib/trace/turn-trace-registry.d.ts +0 -1
  768. package/lib/trace/turn-trace-registry.js.map +1 -1
  769. package/lib/trace/turn-trace-store.d.ts +0 -1
  770. package/lib/trace/turn-trace-store.js.map +1 -1
  771. package/lib/trace/turn-trace.d.ts +0 -1
  772. package/lib/trace/turn-trace.js.map +1 -1
  773. package/lib/turn/agent-turn-context.d.ts +0 -1
  774. package/lib/turn/agent-turn-context.js.map +1 -1
  775. package/lib/turn/auto-continue.d.ts +0 -1
  776. package/lib/turn/auto-continue.js.map +1 -1
  777. package/lib/turn/cancel-intent.d.ts +0 -1
  778. package/lib/turn/cancel-intent.js.map +1 -1
  779. package/lib/turn/deferred-auto-continue.d.ts +0 -1
  780. package/lib/turn/deferred-auto-continue.js.map +1 -1
  781. package/lib/turn/deferred-delivery.d.ts +0 -1
  782. package/lib/turn/deferred-delivery.js.map +1 -1
  783. package/lib/turn/deferred-turn-state.d.ts +0 -1
  784. package/lib/turn/deferred-turn-state.js.map +1 -1
  785. package/lib/turn/execute-agent-turn.d.ts +0 -1
  786. package/lib/turn/execute-agent-turn.js.map +1 -1
  787. package/lib/turn/inbound-media.d.ts +3 -2
  788. package/lib/turn/inbound-media.js +15 -2
  789. package/lib/turn/inbound-media.js.map +1 -1
  790. package/lib/turn/inbound-queue-config.d.ts +0 -1
  791. package/lib/turn/inbound-queue-config.js.map +1 -1
  792. package/lib/turn/inbound-queue-runtime.d.ts +0 -1
  793. package/lib/turn/inbound-queue-runtime.js.map +1 -1
  794. package/lib/turn/inbound-turn-queue.d.ts +0 -1
  795. package/lib/turn/inbound-turn-queue.js.map +1 -1
  796. package/lib/turn/index.d.ts +0 -1
  797. package/lib/turn/index.js.map +1 -1
  798. package/lib/turn/journal-feed.d.ts +0 -1
  799. package/lib/turn/journal-feed.js.map +1 -1
  800. package/lib/turn/journal-integrity.d.ts +0 -1
  801. package/lib/turn/journal-integrity.js.map +1 -1
  802. package/lib/turn/persist-deferred-context.d.ts +0 -1
  803. package/lib/turn/persist-deferred-context.js.map +1 -1
  804. package/lib/turn/persist-subagent-context.d.ts +0 -1
  805. package/lib/turn/persist-subagent-context.js.map +1 -1
  806. package/lib/turn/process-stream.d.ts +0 -1
  807. package/lib/turn/process-stream.js.map +1 -1
  808. package/lib/turn/prompt-access.d.ts +0 -1
  809. package/lib/turn/prompt-access.js.map +1 -1
  810. package/lib/turn/prompt-api.d.ts +0 -1
  811. package/lib/turn/prompt-api.js.map +1 -1
  812. package/lib/turn/prompt-controller.d.ts +0 -1
  813. package/lib/turn/prompt-controller.js.map +1 -1
  814. package/lib/turn/prompt-input.d.ts +0 -1
  815. package/lib/turn/prompt-input.js.map +1 -1
  816. package/lib/turn/session-message-queue.d.ts +0 -1
  817. package/lib/turn/session-message-queue.js.map +1 -1
  818. package/lib/turn/subagent-auto-continue.d.ts +0 -1
  819. package/lib/turn/subagent-auto-continue.js.map +1 -1
  820. package/lib/turn/task-continuation.d.ts +0 -1
  821. package/lib/turn/task-continuation.js.map +1 -1
  822. package/lib/turn/trigger-cancelled-error.d.ts +0 -1
  823. package/lib/turn/trigger-cancelled-error.js.map +1 -1
  824. package/lib/turn/turn-admission-gate.d.ts +0 -1
  825. package/lib/turn/turn-admission-gate.js.map +1 -1
  826. package/lib/turn/turn-complete.d.ts +0 -1
  827. package/lib/turn/turn-complete.js.map +1 -1
  828. package/lib/turn/turn-context-bridge.d.ts +0 -1
  829. package/lib/turn/turn-context-bridge.js.map +1 -1
  830. package/lib/turn/turn-deferred-delta.d.ts +0 -1
  831. package/lib/turn/turn-deferred-delta.js.map +1 -1
  832. package/lib/turn/turn-event-source.d.ts +0 -1
  833. package/lib/turn/turn-event-source.js.map +1 -1
  834. package/lib/turn/turn-ingress.d.ts +3 -1
  835. package/lib/turn/turn-ingress.js.map +1 -1
  836. package/lib/turn/turn-metrics.d.ts +0 -1
  837. package/lib/turn/turn-metrics.js.map +1 -1
  838. package/lib/turn/turn-pipeline.d.ts +0 -1
  839. package/lib/turn/turn-pipeline.js.map +1 -1
  840. package/lib/turn/turn-terminal.d.ts +0 -1
  841. package/lib/turn/turn-terminal.js.map +1 -1
  842. package/lib/turn/turn-tracker.d.ts +0 -1
  843. package/lib/turn/turn-tracker.js.map +1 -1
  844. package/lib/types/disposable.d.ts +0 -1
  845. package/lib/types/disposable.js.map +1 -1
  846. package/lib/typing-indicator/adapter-integration.d.ts +0 -1
  847. package/lib/typing-indicator/adapter-integration.js.map +1 -1
  848. package/lib/typing-indicator/index.d.ts +0 -1
  849. package/lib/typing-indicator/index.js.map +1 -1
  850. package/lib/user-profile.d.ts +0 -1
  851. package/lib/user-profile.js.map +1 -1
  852. package/lib/utils/config-env.d.ts +0 -1
  853. package/lib/utils/config-env.js.map +1 -1
  854. package/lib/utils/keyed-mutex.d.ts +0 -1
  855. package/lib/utils/keyed-mutex.js.map +1 -1
  856. package/lib/web/bing-search-html.d.ts +0 -1
  857. package/lib/web/bing-search-html.js.map +1 -1
  858. package/lib/web/web-search-locale.d.ts +0 -1
  859. package/lib/web/web-search-locale.js.map +1 -1
  860. package/lib/web/web-tool-utils.d.ts +0 -1
  861. package/lib/web/web-tool-utils.js.map +1 -1
  862. package/lib/zhin-agent/index.d.ts +0 -1
  863. package/lib/zhin-agent/index.js.map +1 -1
  864. package/lib/zhin-agent/runtime-modules.d.ts +0 -1
  865. package/lib/zhin-agent/runtime-modules.js.map +1 -1
  866. package/package.json +12 -12
  867. package/lib/activity-feedback/adapter-integration.d.ts.map +0 -1
  868. package/lib/activity-feedback/config-resolver.d.ts.map +0 -1
  869. package/lib/activity-feedback/event-context.d.ts.map +0 -1
  870. package/lib/activity-feedback/index.d.ts.map +0 -1
  871. package/lib/activity-feedback/manager.d.ts.map +0 -1
  872. package/lib/activity-feedback/schedule-guard.d.ts.map +0 -1
  873. package/lib/activity-feedback/subagent-prefix.d.ts.map +0 -1
  874. package/lib/activity-feedback/turn-event-projector.d.ts.map +0 -1
  875. package/lib/activity-feedback/types.d.ts.map +0 -1
  876. package/lib/ai-event-bus.d.ts.map +0 -1
  877. package/lib/ai-event-contract.d.ts.map +0 -1
  878. package/lib/ai-event-subscriber.d.ts.map +0 -1
  879. package/lib/ai-hook-runtime-bus.d.ts.map +0 -1
  880. package/lib/assistant/bootstrap-assistant-home.d.ts.map +0 -1
  881. package/lib/assistant/config.d.ts.map +0 -1
  882. package/lib/assistant/deliver-schedule-to-adapter.d.ts.map +0 -1
  883. package/lib/assistant/domains/ha-home-backend.d.ts.map +0 -1
  884. package/lib/assistant/domains/ha-ws-transport.d.ts.map +0 -1
  885. package/lib/assistant/domains/home-entity.d.ts.map +0 -1
  886. package/lib/assistant/domains/home-state-watch.d.ts.map +0 -1
  887. package/lib/assistant/event-ingress.d.ts.map +0 -1
  888. package/lib/assistant/event-types.d.ts.map +0 -1
  889. package/lib/assistant/home-config.d.ts.map +0 -1
  890. package/lib/assistant/home-facade.d.ts.map +0 -1
  891. package/lib/assistant/home-mcp-bridge.d.ts.map +0 -1
  892. package/lib/assistant/home-policy.d.ts.map +0 -1
  893. package/lib/assistant/home-tools.d.ts.map +0 -1
  894. package/lib/assistant/index.d.ts.map +0 -1
  895. package/lib/assistant/job-creator.d.ts.map +0 -1
  896. package/lib/assistant/job-engine.d.ts.map +0 -1
  897. package/lib/assistant/job-scheduler.d.ts.map +0 -1
  898. package/lib/assistant/job-store.d.ts.map +0 -1
  899. package/lib/assistant/job-utils.d.ts.map +0 -1
  900. package/lib/assistant/job-worker.d.ts.map +0 -1
  901. package/lib/assistant/notification-router.d.ts.map +0 -1
  902. package/lib/assistant/profile-loader.d.ts.map +0 -1
  903. package/lib/assistant/profile-types.d.ts.map +0 -1
  904. package/lib/assistant/runtime-contract.d.ts.map +0 -1
  905. package/lib/assistant/schedule-execution.d.ts.map +0 -1
  906. package/lib/assistant/schedule-job-service.d.ts.map +0 -1
  907. package/lib/assistant/schedule-skills.d.ts.map +0 -1
  908. package/lib/assistant/types.d.ts.map +0 -1
  909. package/lib/authoring/bridge.d.ts.map +0 -1
  910. package/lib/authoring/define-eval.d.ts.map +0 -1
  911. package/lib/authoring/define-hook.d.ts.map +0 -1
  912. package/lib/authoring/define-skill.d.ts.map +0 -1
  913. package/lib/authoring/disable-tool.d.ts.map +0 -1
  914. package/lib/authoring/entries/evals.d.ts.map +0 -1
  915. package/lib/authoring/entries/hooks.d.ts.map +0 -1
  916. package/lib/authoring/entries/skills.d.ts.map +0 -1
  917. package/lib/authoring/index.d.ts.map +0 -1
  918. package/lib/authoring/types.d.ts.map +0 -1
  919. package/lib/bootstrap.d.ts.map +0 -1
  920. package/lib/builtins/builtin-tool-service.d.ts.map +0 -1
  921. package/lib/common-adapter-tools.d.ts.map +0 -1
  922. package/lib/config/agent-binding-registry.d.ts.map +0 -1
  923. package/lib/config/agent-bindings.d.ts.map +0 -1
  924. package/lib/config/agent-interfaces.d.ts.map +0 -1
  925. package/lib/config/deprecated-agent-binding-keys.d.ts.map +0 -1
  926. package/lib/config/deprecated-agent-keys.d.ts.map +0 -1
  927. package/lib/config/fix-ai-config.d.ts.map +0 -1
  928. package/lib/config/index.d.ts.map +0 -1
  929. package/lib/config/keyword-triggers.d.ts.map +0 -1
  930. package/lib/config/model-harness-runtime.d.ts.map +0 -1
  931. package/lib/config/model-harness.d.ts.map +0 -1
  932. package/lib/config/normalize-ai-config.d.ts.map +0 -1
  933. package/lib/config/perception-config.d.ts.map +0 -1
  934. package/lib/config/provider-instance.d.ts.map +0 -1
  935. package/lib/config/resolve-five-agent-binding.d.ts.map +0 -1
  936. package/lib/config/types.d.ts.map +0 -1
  937. package/lib/config/validate-ai-config.d.ts.map +0 -1
  938. package/lib/config/zhin-agent-config.d.ts.map +0 -1
  939. package/lib/config/zhin-agent-constants.d.ts.map +0 -1
  940. package/lib/config/zhin-agent-defaults.d.ts.map +0 -1
  941. package/lib/config/zhin-agent-dependencies.d.ts.map +0 -1
  942. package/lib/config/zhin-agent-runtime.d.ts.map +0 -1
  943. package/lib/context/agents-instruction.d.ts.map +0 -1
  944. package/lib/context/context-system.d.ts.map +0 -1
  945. package/lib/context/context-tail-limit.d.ts.map +0 -1
  946. package/lib/context/contracts.d.ts.map +0 -1
  947. package/lib/context/default-builders.d.ts.map +0 -1
  948. package/lib/context/envelope-parts.d.ts.map +0 -1
  949. package/lib/context/im-turn-context-adapter.d.ts.map +0 -1
  950. package/lib/context/index.d.ts.map +0 -1
  951. package/lib/context/model-resolver.d.ts.map +0 -1
  952. package/lib/context/turn-envelope.d.ts.map +0 -1
  953. package/lib/context/turn-user-message.d.ts.map +0 -1
  954. package/lib/core/agent-core-run.d.ts.map +0 -1
  955. package/lib/core/agent-core.d.ts.map +0 -1
  956. package/lib/core/agent-loop-standalone.d.ts.map +0 -1
  957. package/lib/core/agent-loop-turn.d.ts.map +0 -1
  958. package/lib/core/agent-run-shared.d.ts.map +0 -1
  959. package/lib/core/compose-deps.d.ts.map +0 -1
  960. package/lib/core/contracts.d.ts.map +0 -1
  961. package/lib/core/exhausted-turn-reply.d.ts.map +0 -1
  962. package/lib/core/exploration-budget.d.ts.map +0 -1
  963. package/lib/core/index.d.ts.map +0 -1
  964. package/lib/core/missing-tool-resolver.d.ts.map +0 -1
  965. package/lib/core/progress-reporter.d.ts.map +0 -1
  966. package/lib/core/spawn-delegation.d.ts.map +0 -1
  967. package/lib/core/structured-reply-recovery.d.ts.map +0 -1
  968. package/lib/core/text-sanitize.d.ts.map +0 -1
  969. package/lib/core/tool-calls-user-format.d.ts.map +0 -1
  970. package/lib/core/tool-execution-authority.d.ts.map +0 -1
  971. package/lib/core/turn-event-mapper.d.ts.map +0 -1
  972. package/lib/core/turn-progress.d.ts.map +0 -1
  973. package/lib/create-agent-session.d.ts.map +0 -1
  974. package/lib/decision/approval-judgment.d.ts.map +0 -1
  975. package/lib/decision/approval.d.ts.map +0 -1
  976. package/lib/decision/config.d.ts.map +0 -1
  977. package/lib/decision/index.d.ts.map +0 -1
  978. package/lib/decision/rank.d.ts.map +0 -1
  979. package/lib/decision/retrieval.d.ts.map +0 -1
  980. package/lib/decision/types.d.ts.map +0 -1
  981. package/lib/deferred-worker-runner.d.ts.map +0 -1
  982. package/lib/deferred-worker-tool-load.d.ts.map +0 -1
  983. package/lib/detached-task/index.d.ts.map +0 -1
  984. package/lib/detached-task/interjection.d.ts.map +0 -1
  985. package/lib/detached-task/runner.d.ts.map +0 -1
  986. package/lib/detached-task/store.d.ts.map +0 -1
  987. package/lib/detached-task/token.d.ts.map +0 -1
  988. package/lib/detached-task/types.d.ts.map +0 -1
  989. package/lib/discovery/agent-surface-info.d.ts.map +0 -1
  990. package/lib/discovery/agent-surface.d.ts.map +0 -1
  991. package/lib/discovery/agents.d.ts.map +0 -1
  992. package/lib/discovery/utils.d.ts.map +0 -1
  993. package/lib/event/agent-stream-bus.d.ts.map +0 -1
  994. package/lib/event/agent-stream-hooks.d.ts.map +0 -1
  995. package/lib/event/ai-event-bus.d.ts.map +0 -1
  996. package/lib/event/contracts.d.ts.map +0 -1
  997. package/lib/event/event-emitter.d.ts.map +0 -1
  998. package/lib/event/event-system.d.ts.map +0 -1
  999. package/lib/event/filtering-middleware.d.ts.map +0 -1
  1000. package/lib/event/hook-stream-sink.d.ts.map +0 -1
  1001. package/lib/event/index.d.ts.map +0 -1
  1002. package/lib/event/logging-middleware.d.ts.map +0 -1
  1003. package/lib/event/publish-agent-stream.d.ts.map +0 -1
  1004. package/lib/event/session-events.d.ts.map +0 -1
  1005. package/lib/event/turn-event.d.ts.map +0 -1
  1006. package/lib/event/turn-to-agent-stream.d.ts.map +0 -1
  1007. package/lib/index.d.ts.map +0 -1
  1008. package/lib/init/activate-ai-database-storage.d.ts.map +0 -1
  1009. package/lib/init/compose-zhin-agent-runtime.d.ts.map +0 -1
  1010. package/lib/init/configure-zhin-agent.d.ts.map +0 -1
  1011. package/lib/init/define-ai-database-models.d.ts.map +0 -1
  1012. package/lib/init/dispose-zhin-agent.d.ts.map +0 -1
  1013. package/lib/init/introspection-output.d.ts.map +0 -1
  1014. package/lib/init/runtime-management-commands.d.ts.map +0 -1
  1015. package/lib/interaction/index.d.ts.map +0 -1
  1016. package/lib/interaction/interaction-router.d.ts.map +0 -1
  1017. package/lib/internal/agent-host.d.ts.map +0 -1
  1018. package/lib/internal/ai-service-refs.d.ts.map +0 -1
  1019. package/lib/internal/as-private.d.ts.map +0 -1
  1020. package/lib/internal/host-types.d.ts.map +0 -1
  1021. package/lib/internal/phase-trace.d.ts.map +0 -1
  1022. package/lib/internal/prompt-trace.d.ts.map +0 -1
  1023. package/lib/internal/turn-context.d.ts.map +0 -1
  1024. package/lib/journal/file-journal-store.d.ts.map +0 -1
  1025. package/lib/journal/index.d.ts.map +0 -1
  1026. package/lib/journal/persistent-turn-journal.d.ts.map +0 -1
  1027. package/lib/mcp-client/bridge.d.ts.map +0 -1
  1028. package/lib/mcp-client/connection.d.ts.map +0 -1
  1029. package/lib/mcp-client/index.d.ts.map +0 -1
  1030. package/lib/media/deliver-subagent-result.d.ts.map +0 -1
  1031. package/lib/media/inbound-refs.d.ts.map +0 -1
  1032. package/lib/media/index.d.ts.map +0 -1
  1033. package/lib/media/media-capabilities.d.ts.map +0 -1
  1034. package/lib/media/media-normalize.d.ts.map +0 -1
  1035. package/lib/media/media-publisher.d.ts.map +0 -1
  1036. package/lib/media/media-router.d.ts.map +0 -1
  1037. package/lib/media/media-spool.d.ts.map +0 -1
  1038. package/lib/media/media-tool-bridge.d.ts.map +0 -1
  1039. package/lib/media/media-types.d.ts.map +0 -1
  1040. package/lib/media/perception.d.ts.map +0 -1
  1041. package/lib/media/resolve-config.d.ts.map +0 -1
  1042. package/lib/media/subagent-inbound.d.ts.map +0 -1
  1043. package/lib/media/subagent-user-delivery.d.ts.map +0 -1
  1044. package/lib/media/vision-capability.d.ts.map +0 -1
  1045. package/lib/memory/ai-compaction-strategy.d.ts.map +0 -1
  1046. package/lib/memory/compaction-runtime.d.ts.map +0 -1
  1047. package/lib/memory/context-repository-store.d.ts.map +0 -1
  1048. package/lib/memory/contracts.d.ts.map +0 -1
  1049. package/lib/memory/index.d.ts.map +0 -1
  1050. package/lib/memory/memory-system.d.ts.map +0 -1
  1051. package/lib/memory/memory-write-policy.d.ts.map +0 -1
  1052. package/lib/memory/semantic-recall.d.ts.map +0 -1
  1053. package/lib/memory/told-ledger.d.ts.map +0 -1
  1054. package/lib/memory-layers.d.ts.map +0 -1
  1055. package/lib/orchestration/five-agent/index.d.ts.map +0 -1
  1056. package/lib/orchestration/five-agent/prompts.d.ts.map +0 -1
  1057. package/lib/orchestration/five-agent/role-capability-policy.d.ts.map +0 -1
  1058. package/lib/orchestration/five-agent/roles.d.ts.map +0 -1
  1059. package/lib/outbound/agent-output.d.ts.map +0 -1
  1060. package/lib/outbound/send-proactive.d.ts.map +0 -1
  1061. package/lib/outbound/structured-reply.d.ts.map +0 -1
  1062. package/lib/plugin-ai-hook-bus.d.ts.map +0 -1
  1063. package/lib/plugin-loop-hooks.d.ts.map +0 -1
  1064. package/lib/plugin-runtime/agent-event-bus.d.ts.map +0 -1
  1065. package/lib/plugin-runtime/agent-host-port.d.ts.map +0 -1
  1066. package/lib/plugin-runtime/agent-runtime.d.ts.map +0 -1
  1067. package/lib/plugin-runtime/agent-trace-runtime.d.ts.map +0 -1
  1068. package/lib/plugin-runtime/ai-completion.d.ts.map +0 -1
  1069. package/lib/plugin-runtime/capability-ingress.d.ts.map +0 -1
  1070. package/lib/plugin-runtime/capability-tools.d.ts.map +0 -1
  1071. package/lib/plugin-runtime/decision-runtime.d.ts.map +0 -1
  1072. package/lib/plugin-runtime/deferred-capability-plan.d.ts.map +0 -1
  1073. package/lib/plugin-runtime/file-edit-quote-utils.d.ts.map +0 -1
  1074. package/lib/plugin-runtime/file-search-scope.d.ts.map +0 -1
  1075. package/lib/plugin-runtime/full-agent-turn-engine.d.ts.map +0 -1
  1076. package/lib/plugin-runtime/host-mcp-projection.d.ts.map +0 -1
  1077. package/lib/plugin-runtime/host-tool-projection.d.ts.map +0 -1
  1078. package/lib/plugin-runtime/index.d.ts.map +0 -1
  1079. package/lib/plugin-runtime/native-bash-tool.d.ts.map +0 -1
  1080. package/lib/plugin-runtime/native-file-tools.d.ts.map +0 -1
  1081. package/lib/plugin-runtime/native-image-tool.d.ts.map +0 -1
  1082. package/lib/plugin-runtime/native-interaction-tools.d.ts.map +0 -1
  1083. package/lib/plugin-runtime/native-knowledge-tool.d.ts.map +0 -1
  1084. package/lib/plugin-runtime/native-semantic-memory-tools.d.ts.map +0 -1
  1085. package/lib/plugin-runtime/native-todo-tools.d.ts.map +0 -1
  1086. package/lib/plugin-runtime/native-tool-suite.d.ts.map +0 -1
  1087. package/lib/plugin-runtime/native-web-tools.d.ts.map +0 -1
  1088. package/lib/plugin-runtime/schedule-capability-plan.d.ts.map +0 -1
  1089. package/lib/plugin-runtime/subagent-turn-capability.d.ts.map +0 -1
  1090. package/lib/plugin-runtime/turn-intent-resolver.d.ts.map +0 -1
  1091. package/lib/prompt/assembly.d.ts.map +0 -1
  1092. package/lib/prompt/estimate-tokens.d.ts.map +0 -1
  1093. package/lib/prompt/git-context.d.ts.map +0 -1
  1094. package/lib/prompt/index.d.ts.map +0 -1
  1095. package/lib/prompt/model-aware-builder.d.ts.map +0 -1
  1096. package/lib/prompt/model-prompt-strategy.d.ts.map +0 -1
  1097. package/lib/prompt/prompt-assembly-registry.d.ts.map +0 -1
  1098. package/lib/prompt/prompt-budget.d.ts.map +0 -1
  1099. package/lib/prompt/prompt-builder.d.ts.map +0 -1
  1100. package/lib/prompt/rules/code-references.d.ts.map +0 -1
  1101. package/lib/prompt/rules/critical-rules.d.ts.map +0 -1
  1102. package/lib/prompt/rules/editing.d.ts.map +0 -1
  1103. package/lib/prompt/rules/error-handling.d.ts.map +0 -1
  1104. package/lib/prompt/rules/index.d.ts.map +0 -1
  1105. package/lib/prompt/rules/memory.d.ts.map +0 -1
  1106. package/lib/prompt/rules/task-completion.d.ts.map +0 -1
  1107. package/lib/prompt/rules/workflow-rules.d.ts.map +0 -1
  1108. package/lib/prompt/system-prompt.d.ts.map +0 -1
  1109. package/lib/prompt/templates.d.ts.map +0 -1
  1110. package/lib/prompt/tokens.d.ts.map +0 -1
  1111. package/lib/prompt/turn-prompt-profile.d.ts.map +0 -1
  1112. package/lib/prompt/workspace-prompt.d.ts.map +0 -1
  1113. package/lib/reserved-tools.d.ts.map +0 -1
  1114. package/lib/resource-hub/hook-registry.d.ts.map +0 -1
  1115. package/lib/resource-hub/index.d.ts.map +0 -1
  1116. package/lib/resource-hub/mcp-lifecycle.d.ts.map +0 -1
  1117. package/lib/resource-hub/mcp-registry.d.ts.map +0 -1
  1118. package/lib/resource-hub/public-api.d.ts.map +0 -1
  1119. package/lib/resource-hub/resolve-subagent-tools.d.ts.map +0 -1
  1120. package/lib/resource-hub/resource-registry.d.ts.map +0 -1
  1121. package/lib/resource-hub/role-configs.d.ts.map +0 -1
  1122. package/lib/resource-hub/skill-registry.d.ts.map +0 -1
  1123. package/lib/resource-hub/subagent-registry.d.ts.map +0 -1
  1124. package/lib/resource-hub/tool-selection.d.ts.map +0 -1
  1125. package/lib/resource-hub/types.d.ts.map +0 -1
  1126. package/lib/routing/runtime-binding.d.ts.map +0 -1
  1127. package/lib/routing/subagent-summarize.d.ts.map +0 -1
  1128. package/lib/schedule-cron.d.ts.map +0 -1
  1129. package/lib/schedule-domain/audit-logger.d.ts.map +0 -1
  1130. package/lib/schedule-domain/budget-guard.d.ts.map +0 -1
  1131. package/lib/schedule-domain/execution-domain.d.ts.map +0 -1
  1132. package/lib/schedule-domain/index.d.ts.map +0 -1
  1133. package/lib/schedule-domain/output-validator.d.ts.map +0 -1
  1134. package/lib/schedule-domain/prompt-assembler.d.ts.map +0 -1
  1135. package/lib/schedule-domain/schedule-execution-queue.d.ts.map +0 -1
  1136. package/lib/schedule-domain/security-harness.d.ts.map +0 -1
  1137. package/lib/schedule-manager.d.ts.map +0 -1
  1138. package/lib/seam/index.d.ts.map +0 -1
  1139. package/lib/seam/seam-integration.d.ts.map +0 -1
  1140. package/lib/seam/seam-provider.d.ts.map +0 -1
  1141. package/lib/seam/skill-service.d.ts.map +0 -1
  1142. package/lib/seam/tokens.d.ts.map +0 -1
  1143. package/lib/seam/tool-service.d.ts.map +0 -1
  1144. package/lib/security/anomaly-detection.d.ts.map +0 -1
  1145. package/lib/security/audit-logger.d.ts.map +0 -1
  1146. package/lib/security/comm-message-context.d.ts.map +0 -1
  1147. package/lib/security/dangerous-tool-policy.d.ts.map +0 -1
  1148. package/lib/security/exec-policy.d.ts.map +0 -1
  1149. package/lib/security/file-policy.d.ts.map +0 -1
  1150. package/lib/security/file-role-policy.d.ts.map +0 -1
  1151. package/lib/security/index.d.ts.map +0 -1
  1152. package/lib/security/network-authority.d.ts.map +0 -1
  1153. package/lib/security/network-policy-context.d.ts.map +0 -1
  1154. package/lib/security/network-policy.d.ts.map +0 -1
  1155. package/lib/security/outbound-leak-guard.d.ts.map +0 -1
  1156. package/lib/security/owner-approval-contracts.d.ts.map +0 -1
  1157. package/lib/security/owner-approval-runtime.d.ts.map +0 -1
  1158. package/lib/security/owner-approval-store.d.ts.map +0 -1
  1159. package/lib/security/policy-facade.d.ts.map +0 -1
  1160. package/lib/security/policy-narrowing.d.ts.map +0 -1
  1161. package/lib/security/provenance.d.ts.map +0 -1
  1162. package/lib/security/sandbox-docker.d.ts.map +0 -1
  1163. package/lib/security/sandbox.d.ts.map +0 -1
  1164. package/lib/security/trust-level.d.ts.map +0 -1
  1165. package/lib/security/turn-file-authority.d.ts.map +0 -1
  1166. package/lib/security/turn-network-client.d.ts.map +0 -1
  1167. package/lib/security/usage-quota.d.ts.map +0 -1
  1168. package/lib/segment/filter-im-delivery.d.ts.map +0 -1
  1169. package/lib/service.d.ts.map +0 -1
  1170. package/lib/session/approval-port.d.ts.map +0 -1
  1171. package/lib/session/approval-review-agent.d.ts.map +0 -1
  1172. package/lib/session/branch-summarization-runtime.d.ts.map +0 -1
  1173. package/lib/session/contracts.d.ts.map +0 -1
  1174. package/lib/session/index.d.ts.map +0 -1
  1175. package/lib/session/session-io.d.ts.map +0 -1
  1176. package/lib/session/session-key.d.ts.map +0 -1
  1177. package/lib/session/session-system.d.ts.map +0 -1
  1178. package/lib/session/session-tree-commands.d.ts.map +0 -1
  1179. package/lib/session/strategies.d.ts.map +0 -1
  1180. package/lib/session/turn-ingress-session.d.ts.map +0 -1
  1181. package/lib/session-tree-runtime.d.ts.map +0 -1
  1182. package/lib/skill/capability-catalog.d.ts.map +0 -1
  1183. package/lib/skill/contracts.d.ts.map +0 -1
  1184. package/lib/skill/index.d.ts.map +0 -1
  1185. package/lib/skill/progressive-disclosure.d.ts.map +0 -1
  1186. package/lib/skill/skill-instruction-reader-factory.d.ts.map +0 -1
  1187. package/lib/skill/skill-instruction-reader.d.ts.map +0 -1
  1188. package/lib/skill/skill-instructions.d.ts.map +0 -1
  1189. package/lib/skill/skill-registry-as-service.d.ts.map +0 -1
  1190. package/lib/skill/skill-system.d.ts.map +0 -1
  1191. package/lib/spawn/permission-task.d.ts.map +0 -1
  1192. package/lib/spawn/spawn-task-tool.d.ts.map +0 -1
  1193. package/lib/stability/memory-pressure.d.ts.map +0 -1
  1194. package/lib/standalone/standalone-tool-catalog.d.ts.map +0 -1
  1195. package/lib/subagent/contracts.d.ts.map +0 -1
  1196. package/lib/subagent/im-result-sink.d.ts.map +0 -1
  1197. package/lib/subagent/index.d.ts.map +0 -1
  1198. package/lib/subagent/subagent-runtime.d.ts.map +0 -1
  1199. package/lib/subagent/subagent-system-init.d.ts.map +0 -1
  1200. package/lib/subagent/subagent-system.d.ts.map +0 -1
  1201. package/lib/subagent-ai-events.d.ts.map +0 -1
  1202. package/lib/subagent-artifact.d.ts.map +0 -1
  1203. package/lib/subagent-goal-notify.d.ts.map +0 -1
  1204. package/lib/subagent-parent-context.d.ts.map +0 -1
  1205. package/lib/subagent-preset.d.ts.map +0 -1
  1206. package/lib/subagent-prompt.d.ts.map +0 -1
  1207. package/lib/task-executor.d.ts.map +0 -1
  1208. package/lib/tool/builtin-policy-extractors.d.ts.map +0 -1
  1209. package/lib/tool/context-tools.d.ts.map +0 -1
  1210. package/lib/tool/contracts.d.ts.map +0 -1
  1211. package/lib/tool/conversation-reference-tool.d.ts.map +0 -1
  1212. package/lib/tool/deferred-resolution.d.ts.map +0 -1
  1213. package/lib/tool/executable-tool-registry.d.ts.map +0 -1
  1214. package/lib/tool/index.d.ts.map +0 -1
  1215. package/lib/tool/pre-exec.d.ts.map +0 -1
  1216. package/lib/tool/prepare-turn-tools.d.ts.map +0 -1
  1217. package/lib/tool/runtime.d.ts.map +0 -1
  1218. package/lib/tool/sources.d.ts.map +0 -1
  1219. package/lib/tool/tool-approval-gate.d.ts.map +0 -1
  1220. package/lib/tool/tool-approval-once-store.d.ts.map +0 -1
  1221. package/lib/tool/tool-execution-authority.d.ts.map +0 -1
  1222. package/lib/tool/tool-model-output.d.ts.map +0 -1
  1223. package/lib/tool/tool-runtime.d.ts.map +0 -1
  1224. package/lib/tool/tool-system.d.ts.map +0 -1
  1225. package/lib/tool/turn-tool-runtime.d.ts.map +0 -1
  1226. package/lib/tool-bridge.d.ts.map +0 -1
  1227. package/lib/tool-catalog/deferred-turn-controller.d.ts.map +0 -1
  1228. package/lib/tool-catalog/index.d.ts.map +0 -1
  1229. package/lib/tool-catalog/resolve-config.d.ts.map +0 -1
  1230. package/lib/tool-catalog/session-deferred-store.d.ts.map +0 -1
  1231. package/lib/tool-catalog/tool-catalog.d.ts.map +0 -1
  1232. package/lib/tool-catalog/types.d.ts.map +0 -1
  1233. package/lib/trace/context-budget.d.ts.map +0 -1
  1234. package/lib/trace/index.d.ts.map +0 -1
  1235. package/lib/trace/turn-trace-archive.d.ts.map +0 -1
  1236. package/lib/trace/turn-trace-format.d.ts.map +0 -1
  1237. package/lib/trace/turn-trace-registry.d.ts.map +0 -1
  1238. package/lib/trace/turn-trace-store.d.ts.map +0 -1
  1239. package/lib/trace/turn-trace.d.ts.map +0 -1
  1240. package/lib/turn/agent-turn-context.d.ts.map +0 -1
  1241. package/lib/turn/auto-continue.d.ts.map +0 -1
  1242. package/lib/turn/cancel-intent.d.ts.map +0 -1
  1243. package/lib/turn/deferred-auto-continue.d.ts.map +0 -1
  1244. package/lib/turn/deferred-delivery.d.ts.map +0 -1
  1245. package/lib/turn/deferred-turn-state.d.ts.map +0 -1
  1246. package/lib/turn/execute-agent-turn.d.ts.map +0 -1
  1247. package/lib/turn/inbound-media.d.ts.map +0 -1
  1248. package/lib/turn/inbound-queue-config.d.ts.map +0 -1
  1249. package/lib/turn/inbound-queue-runtime.d.ts.map +0 -1
  1250. package/lib/turn/inbound-turn-queue.d.ts.map +0 -1
  1251. package/lib/turn/index.d.ts.map +0 -1
  1252. package/lib/turn/journal-feed.d.ts.map +0 -1
  1253. package/lib/turn/journal-integrity.d.ts.map +0 -1
  1254. package/lib/turn/persist-deferred-context.d.ts.map +0 -1
  1255. package/lib/turn/persist-subagent-context.d.ts.map +0 -1
  1256. package/lib/turn/process-stream.d.ts.map +0 -1
  1257. package/lib/turn/prompt-access.d.ts.map +0 -1
  1258. package/lib/turn/prompt-api.d.ts.map +0 -1
  1259. package/lib/turn/prompt-controller.d.ts.map +0 -1
  1260. package/lib/turn/prompt-input.d.ts.map +0 -1
  1261. package/lib/turn/session-message-queue.d.ts.map +0 -1
  1262. package/lib/turn/subagent-auto-continue.d.ts.map +0 -1
  1263. package/lib/turn/task-continuation.d.ts.map +0 -1
  1264. package/lib/turn/trigger-cancelled-error.d.ts.map +0 -1
  1265. package/lib/turn/turn-admission-gate.d.ts.map +0 -1
  1266. package/lib/turn/turn-complete.d.ts.map +0 -1
  1267. package/lib/turn/turn-context-bridge.d.ts.map +0 -1
  1268. package/lib/turn/turn-deferred-delta.d.ts.map +0 -1
  1269. package/lib/turn/turn-event-source.d.ts.map +0 -1
  1270. package/lib/turn/turn-ingress.d.ts.map +0 -1
  1271. package/lib/turn/turn-metrics.d.ts.map +0 -1
  1272. package/lib/turn/turn-pipeline.d.ts.map +0 -1
  1273. package/lib/turn/turn-terminal.d.ts.map +0 -1
  1274. package/lib/turn/turn-tracker.d.ts.map +0 -1
  1275. package/lib/types/disposable.d.ts.map +0 -1
  1276. package/lib/typing-indicator/adapter-integration.d.ts.map +0 -1
  1277. package/lib/typing-indicator/index.d.ts.map +0 -1
  1278. package/lib/user-profile.d.ts.map +0 -1
  1279. package/lib/utils/config-env.d.ts.map +0 -1
  1280. package/lib/utils/keyed-mutex.d.ts.map +0 -1
  1281. package/lib/web/bing-search-html.d.ts.map +0 -1
  1282. package/lib/web/web-search-locale.d.ts.map +0 -1
  1283. package/lib/web/web-tool-utils.d.ts.map +0 -1
  1284. package/lib/zhin-agent/index.d.ts.map +0 -1
  1285. package/lib/zhin-agent/runtime-modules.d.ts.map +0 -1
@@ -12,4 +12,3 @@ export declare function defaultTurnTraceFile(projectRoot: string): string;
12
12
  export declare function createFileTurnTraceStore(file: string, options?: Readonly<{
13
13
  limit?: number;
14
14
  }>): TurnTraceStore;
15
- //# sourceMappingURL=turn-trace-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"turn-trace-store.js","sourceRoot":"","sources":["../../src/trace/turn-trace-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-trace-store.js","sourceRoot":"","sources":["../../src/trace/turn-trace-store.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Lightweight store of the most recent N TurnTraces in one JSON file\n * (`data/agent-traces/recent.json`). Written by the running bot, read by\n * `zhin trace`. Full persistence with retention is #728.\n */\nimport { mkdir, readFile, rename, writeFile } from 'node:fs/promises';\nimport { dirname, join } from 'node:path';\nimport { TURN_TRACE_VERSION, type TurnTrace } from './turn-trace.js';\n\nexport const DEFAULT_TURN_TRACE_LIMIT = 50;\n\nexport interface TurnTraceStore {\n save(trace: TurnTrace): Promise<void>;\n /** Oldest first. */\n list(): Promise<readonly TurnTrace[]>;\n latest(): Promise<TurnTrace | undefined>;\n /** Exact turn id, or a unique prefix of one. */\n find(turnId: string): Promise<TurnTrace | undefined>;\n}\n\ninterface TurnTraceFile {\n readonly version: typeof TURN_TRACE_VERSION;\n readonly traces: readonly TurnTrace[];\n}\n\nexport function defaultTurnTraceFile(projectRoot: string): string {\n return join(projectRoot, 'data', 'agent-traces', 'recent.json');\n}\n\nexport function createFileTurnTraceStore(\n file: string,\n options: Readonly<{ limit?: number }> = {},\n): TurnTraceStore {\n const limit = Number.isInteger(options.limit) && Number(options.limit) > 0\n ? Number(options.limit)\n : DEFAULT_TURN_TRACE_LIMIT;\n let tail: Promise<void> = Promise.resolve();\n\n const read = async (): Promise<readonly TurnTrace[]> => {\n let raw: string;\n try {\n raw = await readFile(file, 'utf8');\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === 'ENOENT') return [];\n throw error;\n }\n try {\n const parsed = JSON.parse(raw) as Partial<TurnTraceFile>;\n return Array.isArray(parsed.traces) ? parsed.traces : [];\n } catch {\n // A torn or hand-edited file must not break the bot or the CLI.\n return [];\n }\n };\n\n const write = async (traces: readonly TurnTrace[]): Promise<void> => {\n await mkdir(dirname(file), { recursive: true });\n const temporary = `${file}.${process.pid}.tmp`;\n const body: TurnTraceFile = { version: TURN_TRACE_VERSION, traces };\n await writeFile(temporary, `${JSON.stringify(body)}\\n`, 'utf8');\n await rename(temporary, file);\n };\n\n return Object.freeze({\n save(trace: TurnTrace): Promise<void> {\n const operation = tail.then(async () => {\n const existing = (await read()).filter(item => item.turn_id !== trace.turn_id);\n await write([...existing, trace].slice(-limit));\n });\n tail = operation.catch(() => undefined);\n return operation;\n },\n list: read,\n async latest() {\n return (await read()).at(-1);\n },\n async find(turnId: string) {\n const traces = await read();\n const exact = traces.find(trace => trace.turn_id === turnId);\n if (exact) return exact;\n const matches = traces.filter(trace => trace.turn_id.startsWith(turnId));\n return matches.length === 1 ? matches[0] : undefined;\n },\n });\n}\n"]}
@@ -144,4 +144,3 @@ export declare class TurnTraceCollector {
144
144
  export declare function summarizeArgs(args: unknown): string;
145
145
  /** Masks credentials that appear inline in free text (error messages, string args). */
146
146
  export declare function scrubSecrets(text: string): string;
147
- //# sourceMappingURL=turn-trace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"turn-trace.js","sourceRoot":"","sources":["../../src/trace/turn-trace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-trace.js","sourceRoot":"","sources":["../../src/trace/turn-trace.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * TurnTrace — one readable, redacted record of what happened in a single\n * Agent turn: who asked, every model call and its tokens, every tool call\n * with an argument summary, duration and result size, approval denials,\n * budget extensions, nested sub-agent turns and how the turn ended.\n *\n * The collector only folds TurnEvents (plus a few trace notes), so it never\n * influences execution. Persisted JSON uses snake_case keys.\n */\nimport type { TurnEvent } from '../event/turn-event.js';\nimport { redactTraceValue } from '../plugin-runtime/agent-trace-runtime.js';\nimport type { ContextBudgetReport } from './context-budget.js';\n\nexport const TURN_TRACE_VERSION = 1;\n\nconst MAX_TOOL_CALLS = 200;\nconst MAX_TIMELINE_ENTRIES = 300;\nconst MAX_SUBAGENTS = 20;\nconst ARGS_SUMMARY_LENGTH = 200;\nconst TEXT_SUMMARY_LENGTH = 300;\n\nexport type TurnTraceStatus = 'running' | 'completed' | 'failed' | 'cancelled' | 'budget_exceeded' | 'unknown';\nexport type TurnTraceToolStatus = 'running' | 'ok' | 'failed' | 'denied' | 'cancelled';\n\nexport interface TurnTracePrincipal {\n readonly subject_id: string;\n readonly display_name?: string;\n readonly roles: readonly string[];\n /** Initiator trust level (#726); every tool call in this trace ran under it. */\n readonly trust_level?: string;\n}\n\nexport interface TurnTraceModelCall {\n readonly index: number;\n readonly prompt_tokens: number;\n readonly completion_tokens: number;\n readonly total_tokens: number;\n /** Prompt tokens served from the provider cache (#730). */\n readonly cache_read_tokens?: number;\n /** Completion tokens spent on reasoning (e.g. Gemini thoughtsTokenCount). */\n readonly reasoning_tokens?: number;\n}\n\nexport interface TurnTraceToolCall {\n readonly tool_use_id: string;\n readonly tool_name: string;\n readonly args_summary: string;\n readonly status: TurnTraceToolStatus;\n /** Milliseconds since the turn started. */\n readonly started_at_ms: number;\n readonly duration_ms?: number;\n /** Size of the tool output in characters (output itself is never stored). */\n readonly result_size?: number;\n readonly error?: string;\n /** Policy that denied the call, for `denied`. */\n readonly policy?: string;\n}\n\nexport interface TurnTraceBudgetExtension {\n readonly from: number;\n readonly to: number;\n readonly at_ms: number;\n}\n\nexport interface TurnTraceSubagentTask {\n readonly task_id: string;\n readonly agent_name?: string;\n readonly description: string;\n readonly status: 'running' | 'ok' | 'error';\n readonly result_summary?: string;\n}\n\nexport interface TurnTraceTimelineEntry {\n readonly at_ms: number;\n readonly kind: string;\n readonly detail: string;\n}\n\nexport interface TurnTraceTermination {\n readonly status: TurnTraceStatus;\n readonly code?: string;\n readonly reason?: string;\n}\n\nexport interface TurnTrace {\n readonly version: typeof TURN_TRACE_VERSION;\n readonly turn_id: string;\n readonly session_key: string;\n readonly principal?: TurnTracePrincipal;\n /** Epoch milliseconds. */\n readonly started_at: number;\n readonly ended_at?: number;\n readonly duration_ms?: number;\n readonly model_calls: readonly TurnTraceModelCall[];\n readonly usage: Readonly<{ prompt_tokens: number; completion_tokens: number; total_tokens: number }>;\n /** Estimated prompt cost by segment for the turn's first model request (#729). */\n readonly context_budget?: ContextBudgetReport;\n readonly tool_calls: readonly TurnTraceToolCall[];\n readonly budget: Readonly<{ extensions: readonly TurnTraceBudgetExtension[]; continuations: number }>;\n readonly subagent_tasks: readonly TurnTraceSubagentTask[];\n /** Nested sub-agent turns (`<parent>:subagent:<n>`). */\n readonly subagents: readonly TurnTrace[];\n readonly timeline: readonly TurnTraceTimelineEntry[];\n readonly termination: TurnTraceTermination;\n /** Entries dropped because a bounded list was full. */\n readonly dropped: number;\n}\n\n/** Facts that are not TurnEvents but belong in the trace. */\nexport type TurnTraceNote =\n | Readonly<{ kind: 'budget_extended'; from: number; to: number }>\n | Readonly<{ kind: 'continuation'; index: number }>\n | Readonly<{ kind: 'context_budget'; report: ContextBudgetReport }>\n /** How the turn was admitted behind other turns of its session (#725). */\n | Readonly<{ kind: 'admission'; queued_ms: number; merged_messages: number; superseded_previous: boolean }>;\n\nexport interface TurnTraceInit {\n readonly turnId: string;\n readonly sessionKey: string;\n readonly principal?: Readonly<{\n subjectId: string;\n displayName?: string;\n roles: readonly string[];\n trustLevel?: string;\n }>;\n}\n\ninterface MutableToolCall {\n tool_use_id: string;\n tool_name: string;\n args_summary: string;\n status: TurnTraceToolStatus;\n started_at_ms: number;\n duration_ms?: number;\n result_size?: number;\n error?: string;\n policy?: string;\n}\n\n/** Folds the events of one turn (and its sub-agent turns) into a TurnTrace. */\nexport class TurnTraceCollector {\n readonly turnId: string;\n readonly sessionKey: string;\n readonly #principal?: TurnTracePrincipal;\n readonly #now: () => number;\n readonly #startedAt: number;\n #endedAt: number | undefined;\n #termination: TurnTraceTermination = { status: 'running' };\n readonly #modelCalls: TurnTraceModelCall[] = [];\n readonly #toolCalls = new Map<string, MutableToolCall>();\n readonly #extensions: TurnTraceBudgetExtension[] = [];\n #continuations = 0;\n #contextBudget: ContextBudgetReport | undefined;\n readonly #subagentTasks = new Map<string, TurnTraceSubagentTask>();\n readonly #children = new Map<string, TurnTraceCollector>();\n readonly #timeline: TurnTraceTimelineEntry[] = [];\n #dropped = 0;\n\n constructor(init: TurnTraceInit, now: () => number = Date.now) {\n this.turnId = init.turnId;\n this.sessionKey = init.sessionKey;\n this.#now = now;\n this.#startedAt = now();\n if (init.principal) {\n this.#principal = Object.freeze({\n subject_id: init.principal.subjectId,\n ...(init.principal.displayName ? { display_name: init.principal.displayName } : {}),\n roles: Object.freeze([...init.principal.roles]),\n ...(init.principal.trustLevel ? { trust_level: init.principal.trustLevel } : {}),\n });\n }\n }\n\n get finished(): boolean {\n return this.#endedAt !== undefined;\n }\n\n /** Nested collector for a sub-agent turn; created on first use. */\n child(turnId: string, sessionKey = `${this.sessionKey}#subagent`): TurnTraceCollector {\n const existing = this.#children.get(turnId);\n if (existing) return existing;\n const created = new TurnTraceCollector({ turnId, sessionKey, principal: this.#principalInit() }, this.#now);\n if (this.#children.size >= MAX_SUBAGENTS) {\n this.#dropped += 1;\n return created;\n }\n this.#children.set(turnId, created);\n this.#addTimeline('subagent_turn', turnId);\n return created;\n }\n\n /** Finds this collector or a nested one by turn id. */\n find(turnId: string): TurnTraceCollector | undefined {\n if (turnId === this.turnId) return this;\n for (const child of this.#children.values()) {\n const found = child.find(turnId);\n if (found) return found;\n }\n return undefined;\n }\n\n note(note: TurnTraceNote): void {\n const at = this.#elapsed();\n if (note.kind === 'budget_extended') {\n this.#extensions.push(Object.freeze({ from: note.from, to: note.to, at_ms: at }));\n this.#addTimeline('budget_extended', `${note.from} → ${note.to} steps`);\n } else if (note.kind === 'context_budget') {\n // Keep the first request's report: it is the fixed cost of the turn.\n if (this.#contextBudget) return;\n this.#contextBudget = note.report;\n this.#addTimeline('context_budget', `~${note.report.total_tokens} tokens (fixed ~${note.report.fixed_tokens})`);\n } else if (note.kind === 'continuation') {\n this.#continuations = Math.max(this.#continuations, note.index);\n this.#addTimeline('continuation', `#${note.index}`);\n } else {\n this.#addTimeline('admission', describeAdmission(note));\n }\n }\n\n record(event: TurnEvent): void {\n switch (event.type) {\n case 'turn_start':\n case 'chunk':\n case 'thinking':\n return;\n case 'iteration_start':\n this.#addTimeline('iteration', `${event.iteration}/${event.maxIterations}`);\n return;\n case 'usage': {\n const call = Object.freeze({\n index: this.#modelCalls.length + 1,\n prompt_tokens: event.usage.promptTokens,\n completion_tokens: event.usage.completionTokens,\n total_tokens: event.usage.totalTokens,\n ...(event.usage.cacheReadTokens ? { cache_read_tokens: event.usage.cacheReadTokens } : {}),\n ...(event.usage.reasoningTokens ? { reasoning_tokens: event.usage.reasoningTokens } : {}),\n });\n this.#modelCalls.push(call);\n this.#addTimeline('model_call', `#${call.index} in=${call.prompt_tokens} out=${call.completion_tokens}`);\n return;\n }\n case 'tool_call':\n this.#startTool(event.toolUseId, event.toolName, summarizeArgs(event.args));\n this.#addTimeline('tool_call', `${event.toolName} ${summarizeArgs(event.args)}`);\n return;\n case 'tool_result': {\n const tool = this.#tool(event.toolUseId, event.toolName);\n if (!tool) return;\n tool.status = 'ok';\n tool.duration_ms = Math.round(event.durationMs);\n tool.result_size = outputSize(event.output);\n this.#addTimeline('tool_result', `${event.toolName} ok ${tool.duration_ms}ms ${tool.result_size} chars`);\n return;\n }\n case 'tool_failed': {\n const tool = this.#tool(event.toolUseId, event.toolName);\n if (!tool) return;\n tool.status = 'failed';\n tool.duration_ms = Math.round(event.durationMs);\n tool.error = summarizeText(event.error);\n this.#addTimeline('tool_failed', `${event.toolName}: ${tool.error}`);\n return;\n }\n case 'tool_denied': {\n const tool = this.#tool(event.toolUseId, event.toolName);\n if (!tool) return;\n tool.status = 'denied';\n tool.policy = event.policy;\n tool.error = summarizeText(event.reason);\n this.#addTimeline('tool_denied', `${event.toolName} (${event.policy}): ${tool.error}`);\n return;\n }\n case 'tool_cancelled': {\n const tool = this.#tool(event.toolUseId, event.toolName);\n if (!tool) return;\n tool.status = 'cancelled';\n tool.duration_ms = Math.round(event.durationMs);\n tool.error = summarizeText(event.reason);\n this.#addTimeline('tool_cancelled', `${event.toolName}: ${tool.error}`);\n return;\n }\n case 'subagent_start':\n this.#subagentTasks.set(event.taskId, Object.freeze({\n task_id: event.taskId,\n ...(event.agentName ? { agent_name: event.agentName } : {}),\n description: summarizeText(event.description),\n status: 'running',\n }));\n this.#addTimeline('subagent_start', `${event.taskId} ${summarizeText(event.description, 80)}`);\n return;\n case 'subagent_progress':\n this.#addTimeline('subagent_progress', `${event.taskId} ${summarizeText(event.summary, 80)}`);\n return;\n case 'subagent_end': {\n const task = this.#subagentTasks.get(event.taskId);\n this.#subagentTasks.set(event.taskId, Object.freeze({\n task_id: event.taskId,\n ...(task?.agent_name ? { agent_name: task.agent_name } : {}),\n description: task?.description ?? '',\n status: event.status,\n ...(event.result ? { result_summary: summarizeText(event.result) } : {}),\n }));\n this.#addTimeline('subagent_end', `${event.taskId} ${event.status}`);\n return;\n }\n case 'turn_end':\n this.#finish({ status: 'completed' });\n return;\n case 'error':\n this.#finish({\n status: 'failed',\n ...(event.code ? { code: event.code } : {}),\n reason: summarizeText(event.error?.message ?? String(event.error)),\n });\n return;\n case 'turn_cancelled':\n this.#finish({ status: 'cancelled', code: event.code, reason: summarizeText(event.reason) });\n return;\n case 'budget_exceeded':\n this.#finish({ status: 'budget_exceeded', code: event.budget });\n return;\n default:\n this.#addTimeline(event.type, summarizeText(JSON.stringify(redactTraceValue(withoutType(event))), 120));\n }\n }\n\n /** Closes the trace when the turn ended without a terminal event. */\n finalize(fallback: TurnTraceTermination = { status: 'unknown' }): void {\n for (const child of this.#children.values()) child.finalize();\n if (this.finished) return;\n this.#finish(fallback);\n }\n\n snapshot(): TurnTrace {\n const usage = this.#modelCalls.reduce(\n (total, call) => ({\n prompt_tokens: total.prompt_tokens + call.prompt_tokens,\n completion_tokens: total.completion_tokens + call.completion_tokens,\n total_tokens: total.total_tokens + call.total_tokens,\n }),\n { prompt_tokens: 0, completion_tokens: 0, total_tokens: 0 },\n );\n return Object.freeze({\n version: TURN_TRACE_VERSION,\n turn_id: this.turnId,\n session_key: this.sessionKey,\n ...(this.#principal ? { principal: this.#principal } : {}),\n started_at: this.#startedAt,\n ...(this.#endedAt !== undefined\n ? { ended_at: this.#endedAt, duration_ms: this.#endedAt - this.#startedAt }\n : {}),\n model_calls: Object.freeze([...this.#modelCalls]),\n usage: Object.freeze(usage),\n ...(this.#contextBudget ? { context_budget: this.#contextBudget } : {}),\n tool_calls: Object.freeze([...this.#toolCalls.values()].map(tool => Object.freeze({ ...tool }))),\n budget: Object.freeze({\n extensions: Object.freeze([...this.#extensions]),\n continuations: this.#continuations,\n }),\n subagent_tasks: Object.freeze([...this.#subagentTasks.values()]),\n subagents: Object.freeze([...this.#children.values()].map(child => child.snapshot())),\n timeline: Object.freeze([...this.#timeline]),\n termination: Object.freeze({ ...this.#termination }),\n dropped: this.#dropped,\n });\n }\n\n #startTool(toolUseId: string, toolName: string, argsSummary: string): MutableToolCall | undefined {\n if (this.#toolCalls.size >= MAX_TOOL_CALLS && !this.#toolCalls.has(toolUseId)) {\n this.#dropped += 1;\n return undefined;\n }\n const existing = this.#toolCalls.get(toolUseId);\n if (existing) return existing;\n const created: MutableToolCall = {\n tool_use_id: toolUseId,\n tool_name: toolName,\n args_summary: argsSummary,\n status: 'running',\n started_at_ms: this.#elapsed(),\n };\n this.#toolCalls.set(toolUseId, created);\n return created;\n }\n\n /** Result/denial events may arrive without a prior tool_call (e.g. pre-call denial). */\n #tool(toolUseId: string, toolName: string): MutableToolCall | undefined {\n return this.#toolCalls.get(toolUseId) ?? this.#startTool(toolUseId, toolName, '');\n }\n\n #finish(termination: TurnTraceTermination): void {\n if (this.finished) return;\n this.#termination = Object.freeze(termination);\n this.#endedAt = this.#now();\n for (const tool of this.#toolCalls.values()) {\n if (tool.status === 'running') tool.status = 'cancelled';\n }\n this.#addTimeline('end', [termination.status, termination.code, termination.reason].filter(Boolean).join(' '));\n }\n\n #addTimeline(kind: string, detail: string): void {\n if (this.#timeline.length >= MAX_TIMELINE_ENTRIES) {\n this.#dropped += 1;\n return;\n }\n this.#timeline.push(Object.freeze({ at_ms: this.#elapsed(), kind, detail }));\n }\n\n #elapsed(): number {\n return Math.max(0, this.#now() - this.#startedAt);\n }\n\n #principalInit(): TurnTraceInit['principal'] {\n if (!this.#principal) return undefined;\n return {\n subjectId: this.#principal.subject_id,\n ...(this.#principal.display_name ? { displayName: this.#principal.display_name } : {}),\n roles: this.#principal.roles,\n ...(this.#principal.trust_level ? { trustLevel: this.#principal.trust_level } : {}),\n };\n }\n}\n\n/** Redacted, single-line, length-bounded summary of tool arguments. */\nfunction describeAdmission(note: Extract<TurnTraceNote, { kind: 'admission' }>): string {\n const parts = [`queued ${Math.round(note.queued_ms)}ms`];\n if (note.merged_messages > 1) parts.push(`merged ${note.merged_messages} messages`);\n if (note.superseded_previous) parts.push('replaced the sender\\'s unanswered turn');\n return parts.join(', ');\n}\n\nexport function summarizeArgs(args: unknown): string {\n if (args == null) return '';\n const redacted = redactTraceValue(args);\n const text = typeof redacted === 'string' ? redacted : JSON.stringify(redacted);\n return clip(scrubSecrets(text ?? ''), ARGS_SUMMARY_LENGTH);\n}\n\nfunction summarizeText(value: unknown, max = TEXT_SUMMARY_LENGTH): string {\n const redacted = redactTraceValue(value);\n const text = typeof redacted === 'string' ? redacted : JSON.stringify(redacted) ?? '';\n return clip(scrubSecrets(text.replace(/\\s+/g, ' ').trim()), max);\n}\n\nconst INLINE_SECRET_RULES: ReadonlyArray<readonly [RegExp, string]> = [\n [/\\b(bearer|basic)\\s+[A-Za-z0-9._~+/=-]{8,}/gi, '$1 [redacted]'],\n [/\\b(?:sk|pk|rk)-[A-Za-z0-9_-]{12,}/g, '[redacted]'],\n [/\\b(?:ghp|gho|ghs|github_pat|xox[abpr])[_-][A-Za-z0-9_-]{12,}/g, '[redacted]'],\n [/(\"?(?:api[_-]?key|access[_-]?token|refresh[_-]?token|password|secret)\"?\\s*[:=]\\s*\"?)[^\"\\s,}]+/gi, '$1[redacted]'],\n];\n\n/** Masks credentials that appear inline in free text (error messages, string args). */\nexport function scrubSecrets(text: string): string {\n return INLINE_SECRET_RULES.reduce((current, [pattern, replacement]) => current.replace(pattern, replacement), text);\n}\n\nfunction outputSize(output: unknown): number {\n if (output == null) return 0;\n if (typeof output === 'string') return output.length;\n try {\n return JSON.stringify(output)?.length ?? 0;\n } catch {\n return 0;\n }\n}\n\nfunction clip(text: string, max: number): string {\n return text.length <= max ? text : `${text.slice(0, max)}…`;\n}\n\nfunction withoutType(event: TurnEvent): Record<string, unknown> {\n const { type: _type, ...rest } = event as unknown as Record<string, unknown>;\n return rest;\n}\n"]}
@@ -10,4 +10,3 @@ export interface AgentTurnConfiguration {
10
10
  */
11
11
  export declare function runWithAgentTurnConfiguration<T>(configuration: AgentTurnConfiguration, fn: () => Promise<T>): Promise<T>;
12
12
  export declare function getAgentTurnConfiguration(): AgentTurnConfiguration | undefined;
13
- //# sourceMappingURL=agent-turn-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn-context.js","sourceRoot":"","sources":["../../src/turn/agent-turn-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AASrD,MAAM,gBAAgB,GAAG,IAAI,iBAAiB,EAA0B,CAAC;AAEzE;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAC3C,aAAqC,EACrC,EAAoB;IAEpB,OAAO,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"agent-turn-context.js","sourceRoot":"","sources":["../../src/turn/agent-turn-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AASrD,MAAM,gBAAgB,GAAG,IAAI,iBAAiB,EAA0B,CAAC;AAEzE;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAC3C,aAAqC,EACrC,EAAoB;IAEpB,OAAO,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,CAAC;AACrC,CAAC","sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks';\nimport type { ResolvedAgentBinding } from '../config/types.js';\n\n/** Immutable configuration attached to one Agent turn. */\nexport interface AgentTurnConfiguration {\n readonly activeBinding?: ResolvedAgentBinding;\n readonly bootstrapContext?: string;\n}\n\nconst agentTurnStorage = new AsyncLocalStorage<AgentTurnConfiguration>();\n\n/**\n * Runs work with its configuration isolated from concurrent turns. Runtime\n * setup remains mutable; per-message routing must use this context instead.\n */\nexport function runWithAgentTurnConfiguration<T>(\n configuration: AgentTurnConfiguration,\n fn: () => Promise<T>,\n): Promise<T> {\n return agentTurnStorage.run(Object.freeze({ ...configuration }), fn);\n}\n\nexport function getAgentTurnConfiguration(): AgentTurnConfiguration | undefined {\n return agentTurnStorage.getStore();\n}\n"]}
@@ -6,4 +6,3 @@ import type { AgentTurnLifecycleHost, ZhinAgentPrivate } from '../internal/agent
6
6
  export type AutoContinueHost = AgentTurnLifecycleHost & Pick<ZhinAgentPrivate, 'config' | 'deferred'>;
7
7
  export declare function continueAfterDeferredWorker(agent: ZhinAgentPrivate, commMessage: Message, taskId: string, goal: string, result: DeferredWorkerResult): Promise<void>;
8
8
  export declare function continueAfterSubagent(agent: ZhinAgentPrivate, payload: SubagentCompletePayload): Promise<void>;
9
- //# sourceMappingURL=auto-continue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto-continue.js","sourceRoot":"","sources":["../../src/turn/auto-continue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-continue.js","sourceRoot":"","sources":["../../src/turn/auto-continue.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport { formatCompact, getLogger } from '@zhin.js/logger';\nimport type { UserMessage } from '@zhin.js/ai';\nimport type { Message } from '../resource-hub/types.js';\nimport type { SubagentCompletePayload } from '../subagent/index.js';\nimport type { DeferredWorkerResult } from '../deferred-worker-runner.js';\nimport { resolveAgentTurnSessionKey } from '../session/session-key.js';\nimport { deliverDeferredAutoContinueReply } from './deferred-delivery.js';\nimport { buildDeferredAutoContinueUserMessage, shouldDeferredAutoContinue } from './deferred-auto-continue.js';\nimport {\n buildSubagentAutoContinueUserMessage,\n buildSubagentAutoContinueRetryMessage,\n} from './subagent-auto-continue.js';\nimport { persistSubagentResultToContext } from './persist-subagent-context.js';\nimport { persistDeferredWorkerResultToContext } from './persist-deferred-context.js';\nimport { processTextTurn } from './turn-pipeline.js';\nimport type { AgentTurnLifecycleHost, ZhinAgentPrivate } from '../internal/agent-host.js';\n\nconst logger = getLogger('ZhinAgent');\n\n/** auto-continue 实际读取的窄面(turn 生命周期域 + config/deferred)。 */\nexport type AutoContinueHost = AgentTurnLifecycleHost\n & Pick<ZhinAgentPrivate, 'config' | 'deferred'>;\n\ntype AutoContinueKind = 'deferred' | 'subagent';\n\nasync function runAutoContinueProcess(\n agent: ZhinAgentPrivate,\n commMessage: Message,\n buildMessage: () => UserMessage,\n) {\n return agent.runInTurnContext(randomUUID(), () =>\n processTextTurn(agent, '', commMessage, [], undefined, {\n prebuiltMessages: [buildMessage()],\n deferredAutoContinue: true,\n }),\n );\n}\n\nasync function executeAutoContinueTurn(\n agent: ZhinAgentPrivate,\n commMessage: Message,\n sessionKey: string,\n taskId: string,\n depth: number,\n kind: AutoContinueKind,\n buildMessage: () => UserMessage,\n /** 仅 subagent:首轮空回复时再催一次主 Agent 汇总(仍不直接转发子 Agent 原文) */\n buildRetryMessage?: () => UserMessage,\n): Promise<void> {\n const host: AutoContinueHost = agent;\n await host.promptController.waitForIdle();\n host.deferred.setAutoContinueDepth(sessionKey, depth + 1);\n\n logger.info(formatCompact({ op: `${kind}_auto_continue`, task: taskId, depth: depth + 1 }));\n\n let elements = await runAutoContinueProcess(agent, commMessage, buildMessage);\n\n if (elements.length === 0 && buildRetryMessage) {\n logger.warn(formatCompact({\n op: `${kind}_auto_continue_retry`,\n task: taskId,\n reason: 'empty_outbound',\n }));\n elements = await runAutoContinueProcess(agent, commMessage, buildRetryMessage);\n }\n\n const sender = host.deferred.resultSender;\n if (sender && elements.length > 0) {\n await deliverDeferredAutoContinueReply(sender, commMessage, elements);\n } else if (elements.length === 0) {\n logger.warn(formatCompact({\n op: `${kind}_auto_continue_empty`,\n task: taskId,\n reason: 'main_agent_no_user_reply',\n }));\n }\n\n logger.info(formatCompact({ op: `${kind}_auto_continue_done`, task: taskId, outbound: elements.length }));\n}\n\nexport async function continueAfterDeferredWorker(\n agent: ZhinAgentPrivate,\n commMessage: Message,\n taskId: string,\n goal: string,\n result: DeferredWorkerResult,\n): Promise<void> {\n const host: AutoContinueHost = agent;\n const sessionKey = resolveAgentTurnSessionKey(commMessage);\n const depth = host.deferred.getAutoContinueDepth(sessionKey);\n\n const persisted = await persistDeferredWorkerResultToContext(agent, commMessage, taskId, goal, result);\n if (!shouldDeferredAutoContinue(host.config, result, depth, persisted)) {\n logger.warn(formatCompact({\n op: 'deferred_auto_continue_skip',\n task: taskId,\n depth,\n status: result.status,\n }));\n return;\n }\n\n await executeAutoContinueTurn(\n agent,\n commMessage,\n sessionKey,\n taskId,\n depth,\n 'deferred',\n () => buildDeferredAutoContinueUserMessage(taskId, goal, result.status),\n );\n}\n\nexport async function continueAfterSubagent(\n agent: ZhinAgentPrivate,\n payload: SubagentCompletePayload,\n): Promise<void> {\n const host: AutoContinueHost = agent;\n if (host.config.subagentAutoContinue === false) return;\n\n const commMessage = payload.origin.message;\n const sessionKey = resolveAgentTurnSessionKey(commMessage);\n const depth = host.deferred.getAutoContinueDepth(sessionKey);\n if (depth >= host.config.deferredAutoContinueMaxDepth) {\n logger.warn(formatCompact({\n op: 'subagent_auto_continue_skip',\n task: payload.taskId,\n reason: 'max_depth',\n }));\n return;\n }\n\n const persisted = await persistSubagentResultToContext(agent, commMessage, payload);\n if (!persisted) {\n logger.warn(formatCompact({\n op: 'subagent_auto_continue_skip',\n task: payload.taskId,\n reason: 'persist_failed',\n }));\n return;\n }\n\n await executeAutoContinueTurn(\n agent,\n commMessage,\n sessionKey,\n payload.taskId,\n depth,\n 'subagent',\n () => buildSubagentAutoContinueUserMessage(payload.taskId, payload.label, payload.status),\n () => buildSubagentAutoContinueRetryMessage(payload.taskId, payload.label, payload.status),\n );\n}\n"]}
@@ -1,2 +1 @@
1
1
  export declare function isCancelIntent(text: string): boolean;
2
- //# sourceMappingURL=cancel-intent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cancel-intent.js","sourceRoot":"","sources":["../../src/turn/cancel-intent.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE7D,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"cancel-intent.js","sourceRoot":"","sources":["../../src/turn/cancel-intent.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE7D,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACxD,CAAC","sourcesContent":["const CANCEL_KEYWORDS = new Set(['取消', '/cancel', 'cancel']);\n\nexport function isCancelIntent(text: string): boolean {\n return CANCEL_KEYWORDS.has(text.trim().toLowerCase());\n}\n"]}
@@ -8,4 +8,3 @@ export declare const DEFERRED_AUTO_CONTINUE_MARKER = "[Deferred worker \u5B8C\u6
8
8
  export declare function isDeferredAutoContinueEnabled(config: Required<ZhinAgentConfig>, env?: NodeJS.ProcessEnv): boolean;
9
9
  export declare function shouldDeferredAutoContinue(config: Required<ZhinAgentConfig>, result: DeferredWorkerResult, depth: number, persisted: boolean, env?: NodeJS.ProcessEnv): boolean;
10
10
  export declare function buildDeferredAutoContinueUserMessage(taskId: string, goal: string, status: DeferredWorkerResult['status']): UserMessage;
11
- //# sourceMappingURL=deferred-auto-continue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deferred-auto-continue.js","sourceRoot":"","sources":["../../src/turn/deferred-auto-continue.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAoB,MAAM,aAAa,CAAC;AAElE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,CAAC,MAAM,6BAA6B,GAAG,6BAA6B,CAAC;AAE3E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACvD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAErD,MAAM,UAAU,6BAA6B,CAC3C,MAAiC,EACjC,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,GAAG,GAAG,GAAG,CAAC,2BAA2B,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClE,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,MAAM,CAAC,oBAAoB,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAAiC,EACjC,MAA4B,EAC5B,KAAa,EACb,SAAkB,EAClB,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,CAAC,6BAA6B,CAAC,MAAM,EAAE,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,IAAI,MAAM,CAAC,4BAA4B;QAAE,OAAO,KAAK,CAAC;IAC/D,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,MAAc,EACd,IAAY,EACZ,MAAsC;IAEtC,MAAM,KAAK,GAAG,2BAA2B,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG;QACX,6BAA6B;QAC7B,MAAM,MAAM,MAAM,KAAK,EAAE;QACzB,aAAa,MAAM,GAAG;QACtB,8EAA8E;QAC9E,oDAAoD;QACpD,2BAA2B;KAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"deferred-auto-continue.js","sourceRoot":"","sources":["../../src/turn/deferred-auto-continue.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAoB,MAAM,aAAa,CAAC;AAElE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,CAAC,MAAM,6BAA6B,GAAG,6BAA6B,CAAC;AAE3E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACvD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAErD,MAAM,UAAU,6BAA6B,CAC3C,MAAiC,EACjC,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,GAAG,GAAG,GAAG,CAAC,2BAA2B,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClE,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,MAAM,CAAC,oBAAoB,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAAiC,EACjC,MAA4B,EAC5B,KAAa,EACb,SAAkB,EAClB,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,CAAC,6BAA6B,CAAC,MAAM,EAAE,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,IAAI,MAAM,CAAC,4BAA4B;QAAE,OAAO,KAAK,CAAC;IAC/D,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,MAAc,EACd,IAAY,EACZ,MAAsC;IAEtC,MAAM,KAAK,GAAG,2BAA2B,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG;QACX,6BAA6B;QAC7B,MAAM,MAAM,MAAM,KAAK,EAAE;QACzB,aAAa,MAAM,GAAG;QACtB,8EAA8E;QAC9E,oDAAoD;QACpD,2BAA2B;KAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC","sourcesContent":["/**\n * Deferred worker 完成后自动唤醒主 Agent 续聊(方案 B)。\n */\nimport { createUserMessage, type UserMessage } from '@zhin.js/ai';\nimport type { DeferredWorkerResult } from '../deferred-worker-runner.js';\nimport { resolveSubagentDisplayLabel } from '../subagent-goal-notify.js';\nimport { extractDeferredBody } from './deferred-delivery.js';\nimport type { ZhinAgentConfig } from '../config/index.js';\n\nexport const DEFERRED_AUTO_CONTINUE_MARKER = '[Deferred worker 完成 — 自动续聊]';\n\nconst FALSE_ENV = new Set(['0', 'false', 'off', 'no']);\nconst TRUE_ENV = new Set(['1', 'true', 'on', 'yes']);\n\nexport function isDeferredAutoContinueEnabled(\n config: Required<ZhinAgentConfig>,\n env: NodeJS.ProcessEnv = process.env,\n): boolean {\n const raw = env.ZHIN_DEFERRED_AUTO_CONTINUE?.trim().toLowerCase();\n if (raw && FALSE_ENV.has(raw)) return false;\n if (raw && TRUE_ENV.has(raw)) return true;\n return config.deferredAutoContinue;\n}\n\nexport function shouldDeferredAutoContinue(\n config: Required<ZhinAgentConfig>,\n result: DeferredWorkerResult,\n depth: number,\n persisted: boolean,\n env: NodeJS.ProcessEnv = process.env,\n): boolean {\n if (!isDeferredAutoContinueEnabled(config, env)) return false;\n if (!persisted) return false;\n if (result.status === 'error') return false;\n if (depth >= config.deferredAutoContinueMaxDepth) return false;\n return extractDeferredBody(result).trim().length > 0;\n}\n\nexport function buildDeferredAutoContinueUserMessage(\n taskId: string,\n goal: string,\n status: DeferredWorkerResult['status'],\n): UserMessage {\n const label = resolveSubagentDisplayLabel(undefined, goal);\n const text = [\n DEFERRED_AUTO_CONTINUE_MARKER,\n `任务【${taskId}】· ${label}`,\n `Worker 状态:${status}。`,\n '请根据上下文中 `[Deferred worker 完成]` 的 Worker 输出继续推进任务(含答题、提交、后续 API 调用);无需等待用户输入。',\n '若任务已全部完成,向用户简要汇报结果;否则继续调用当前可用工具或 spawn_task 执行下一步。',\n '不要向用户重复粘贴 Worker 的完整原始输出。',\n ].join('\\n');\n return createUserMessage(text);\n}\n"]}
@@ -6,4 +6,3 @@ export declare function extractDeferredBody(result: DeferredWorkerResult): strin
6
6
  export declare function deliverDeferredWorkerResult(sender: SubagentResultSender, commMessage: Message, goal: string, taskId: string, result: DeferredWorkerResult): Promise<void>;
7
7
  /** deferred auto-continue 完成后将主 Agent 续聊回复推送到 IM */
8
8
  export declare function deliverDeferredAutoContinueReply(sender: SubagentResultSender, commMessage: Message, elements: AgentOutputElement[]): Promise<void>;
9
- //# sourceMappingURL=deferred-delivery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deferred-delivery.js","sourceRoot":"","sources":["../../src/turn/deferred-delivery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,MAAM,UAAU,mBAAmB,CAAC,MAA4B;IAC9D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAIvC,CAAC;QACF,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAA4B,EAC5B,WAAoB,EACpB,IAAY,EACZ,MAAc,EACd,MAA4B;IAE5B,MAAM,KAAK,GAAG,2BAA2B,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,yBAAyB,CAAC;QACzC,KAAK,EAAE,YAAY,MAAM,IAAI,KAAK,EAAE;QACpC,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAClD,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;KAClC,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,MAA4B,EAC5B,WAAoB,EACpB,QAA8B;IAE9B,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO;IAC7B,MAAM,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"deferred-delivery.js","sourceRoot":"","sources":["../../src/turn/deferred-delivery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,MAAM,UAAU,mBAAmB,CAAC,MAA4B;IAC9D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAIvC,CAAC;QACF,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAA4B,EAC5B,WAAoB,EACpB,IAAY,EACZ,MAAc,EACd,MAA4B;IAE5B,MAAM,KAAK,GAAG,2BAA2B,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,yBAAyB,CAAC;QACzC,KAAK,EAAE,YAAY,MAAM,IAAI,KAAK,EAAE;QACpC,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAClD,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;KAClC,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,MAA4B,EAC5B,WAAoB,EACpB,QAA8B;IAE9B,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO;IAC7B,MAAM,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AACvE,CAAC","sourcesContent":["import type { AgentOutputElement } from '../outbound/agent-output.js';\n\nimport { truncatePreview } from '@zhin.js/logger';\nimport type { DeferredWorkerResult } from '../deferred-worker-runner.js';\nimport { originFromMessage } from '../spawn/spawn-task-tool.js';\nimport type { Message } from '../resource-hub/types.js';\nimport { buildSubagentUserDelivery } from '../media/subagent-user-delivery.js';\nimport type { SubagentResultSender } from '../subagent/index.js';\nimport { resolveSubagentDisplayLabel } from '../subagent-goal-notify.js';\n\nexport function extractDeferredBody(result: DeferredWorkerResult): string {\n try {\n const parsed = JSON.parse(result.summary) as {\n summary?: string;\n error?: string;\n status?: string;\n };\n if (parsed.error?.trim()) return parsed.error.trim();\n if (parsed.summary?.trim()) return parsed.summary.trim();\n } catch {\n // fall through\n }\n return result.summary.trim();\n}\n\nexport async function deliverDeferredWorkerResult(\n sender: SubagentResultSender,\n commMessage: Message,\n goal: string,\n taskId: string,\n result: DeferredWorkerResult,\n): Promise<void> {\n const label = resolveSubagentDisplayLabel(undefined, goal);\n const body = extractDeferredBody(result) || truncatePreview(goal, 300);\n const delivery = buildSubagentUserDelivery({\n label: `deferred:${taskId} ${label}`,\n status: result.status === 'error' ? 'error' : 'ok',\n result: body,\n toolCalls: result.toolCalls ?? [],\n });\n await sender(originFromMessage(commMessage), delivery);\n}\n\n/** deferred auto-continue 完成后将主 Agent 续聊回复推送到 IM */\nexport async function deliverDeferredAutoContinueReply(\n sender: SubagentResultSender,\n commMessage: Message,\n elements: AgentOutputElement[],\n): Promise<void> {\n if (!elements.length) return;\n await sender(originFromMessage(commMessage), { text: '', elements });\n}\n"]}
@@ -26,4 +26,3 @@ export declare class DeferredTurnState {
26
26
  /** Generation/实例 teardown:清空全部跨 turn 状态。 */
27
27
  clear(): void;
28
28
  }
29
- //# sourceMappingURL=deferred-turn-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deferred-turn-state.js","sourceRoot":"","sources":["../../src/turn/deferred-turn-state.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,iBAAiB;IAC5B,6CAA6C;IAC7C,OAAO,GAAgB,EAAE,CAAC;IAC1B,kCAAkC;IAClC,WAAW,CAAqB;IAChC,8BAA8B;IAC9B,mBAAmB,CAA+B;IAClD,4BAA4B;IAC5B,kBAAkB,CAA+B;IACjD,uCAAuC;IACvC,mBAAmB,CAAU;IAC7B,qDAAqD;IACrD,YAAY,GAAgC,IAAI,CAAC;IAEjD,2BAA2B,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExD,oBAAoB,CAAC,UAAkB;QACrC,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,oBAAoB,CAAC,UAAkB,EAAE,KAAa;QACpD,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,sBAAsB,CAAC,UAAkB;QACvC,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,4CAA4C;IAC5C,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;CACF"}
1
+ {"version":3,"file":"deferred-turn-state.js","sourceRoot":"","sources":["../../src/turn/deferred-turn-state.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,iBAAiB;IAC5B,6CAA6C;IAC7C,OAAO,GAAgB,EAAE,CAAC;IAC1B,kCAAkC;IAClC,WAAW,CAAqB;IAChC,8BAA8B;IAC9B,mBAAmB,CAA+B;IAClD,4BAA4B;IAC5B,kBAAkB,CAA+B;IACjD,uCAAuC;IACvC,mBAAmB,CAAU;IAC7B,qDAAqD;IACrD,YAAY,GAAgC,IAAI,CAAC;IAEjD,2BAA2B,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExD,oBAAoB,CAAC,UAAkB;QACrC,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,oBAAoB,CAAC,UAAkB,EAAE,KAAa;QACpD,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,sBAAsB,CAAC,UAAkB;QACvC,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,4CAA4C;IAC5C,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;CACF","sourcesContent":["/**\n * DeferredTurnState — deferred 工具族的跨 turn 可变状态。\n * 从 ZhinAgentPrivate 的散字段收敛而来(第一刀);由 ZhinAgent 持有一个实例,\n * 消费方经 `priv.deferred` 访问。\n */\nimport type { AgentTool, DeferredToolSessionSnapshot } from '@zhin.js/ai';\nimport type { ToolCatalogItem } from '../tool-catalog/types.js';\nimport type { SubagentResultSender } from '../subagent/index.js';\n\nexport class DeferredTurnState {\n /** 当前 turn 可用的 deferred 工具目录(全量 Tool 形态)。 */\n catalog: AgentTool[] = [];\n /** 最近一次展示的目录条目(toolSearch 结果)。 */\n lastCatalog?: ToolCatalogItem[];\n /** 最近一次写入的会话级 deferred 快照。 */\n lastSessionSnapshot?: DeferredToolSessionSnapshot;\n /** 上turn 快照(计算 delta 用)。 */\n lastSnapshotBefore?: DeferredToolSessionSnapshot;\n /** 最近一次 toolSearch 的 deferred 统计文本。 */\n lastToolSearchStats?: string;\n /** deferred/subagent 结果回投器(未装配时为 null,调用方按无回投降级)。 */\n resultSender: SubagentResultSender | null = null;\n\n #autoContinueDepthBySession = new Map<string, number>();\n\n getAutoContinueDepth(sessionKey: string): number {\n return this.#autoContinueDepthBySession.get(sessionKey) ?? 0;\n }\n\n setAutoContinueDepth(sessionKey: string, depth: number): void {\n this.#autoContinueDepthBySession.set(sessionKey, depth);\n }\n\n resetAutoContinueDepth(sessionKey: string): void {\n this.#autoContinueDepthBySession.delete(sessionKey);\n }\n\n /** Generation/实例 teardown:清空全部跨 turn 状态。 */\n clear(): void {\n this.catalog = [];\n this.lastCatalog = undefined;\n this.lastSessionSnapshot = undefined;\n this.lastSnapshotBefore = undefined;\n this.lastToolSearchStats = undefined;\n this.resultSender = null;\n this.#autoContinueDepthBySession.clear();\n }\n}\n"]}
@@ -11,4 +11,3 @@ export type TurnEventObserver = (event: TurnEvent) => void | Promise<void>;
11
11
  * they cannot replace or fabricate the terminal result.
12
12
  */
13
13
  export declare function executeAgentTurn(turn: TurnIngress, run: TurnEventSource, observe?: TurnEventObserver): Promise<TurnOutcome>;
14
- //# sourceMappingURL=execute-agent-turn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute-agent-turn.js","sourceRoot":"","sources":["../../src/turn/execute-agent-turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute-agent-turn.js","sourceRoot":"","sources":["../../src/turn/execute-agent-turn.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Usage } from '@zhin.js/ai';\nimport type { TurnEvent, TurnTerminalEvent } from '../event/turn-event.js';\nimport type { TurnIngress, TurnOutcome } from './turn-ingress.js';\nimport { TurnTerminalGate } from './turn-terminal.js';\nimport { TurnJournalCommitError } from './journal-integrity.js';\nimport { journalFeedOf } from './journal-feed.js';\n\nexport interface TurnTerminalProjection {\n project(): void | Promise<void>;\n}\n\nexport type TurnEventSource = (\n turn: TurnIngress,\n) => AsyncGenerator<TurnEvent, TurnTerminalProjection | void>;\nexport type TurnEventObserver = (event: TurnEvent) => void | Promise<void>;\n\nconst emptyUsage: Usage = Object.freeze({\n prompt_tokens: 0,\n completion_tokens: 0,\n total_tokens: 0,\n});\n\n/**\n * Agent's single public execution algebra: one immutable ingress enters and\n * exactly one discriminated outcome leaves. Event observers are projections;\n * they cannot replace or fabricate the terminal result.\n */\nexport async function executeAgentTurn(\n turn: TurnIngress,\n run: TurnEventSource,\n observe?: TurnEventObserver,\n): Promise<TurnOutcome> {\n const gate = new TurnTerminalGate();\n let observedUsage = emptyUsage;\n let stream: ReturnType<TurnEventSource> | undefined;\n // When the journal carries a feed, observers read committed journal facts\n // (including authority tool events) instead of the raw engine stream.\n const feed = journalFeedOf(turn.ports.journal);\n const closeFeed = feed?.open();\n try {\n stream = run(turn);\n while (true) {\n const step = await stream.next();\n if (step.done) break;\n const event = step.value;\n try {\n await turn.ports.journal.append(event);\n } catch (error) {\n return failedOutcome('turn_journal_commit_failed', error, true, observedUsage);\n }\n const committed = feed ? feed.drain() : [event];\n for (const fact of committed) {\n if (!gate.accept(fact)) continue;\n if (fact.type === 'usage') observedUsage = addUsage(observedUsage, fact.usage);\n try {\n await observe?.(fact);\n } catch {\n // Observers are projections. Once an event is accepted by the terminal\n // gate, projection failure cannot rewrite the execution fact.\n }\n if (gate.terminal) break;\n }\n if (gate.terminal) {\n try {\n const completion = await stream.next();\n if (!completion.done) {\n await publishProjectionFailure(turn, new Error('Agent engine emitted an event after terminal'));\n } else if (completion.value) {\n await runProjection(turn, completion.value);\n }\n } catch (error) {\n await publishProjectionFailure(turn, error);\n }\n break;\n }\n }\n } catch (error) {\n if (gate.terminal) return outcomeFromTerminal(gate.terminal, observedUsage);\n const terminal: TurnTerminalEvent = turn.signal.aborted\n ? {\n type: 'turn_cancelled',\n code: 'cancelled',\n reason: errorMessage(turn.signal.reason ?? error, 'cancelled'),\n }\n : {\n type: 'error',\n code: error instanceof TurnJournalCommitError\n ? 'turn_journal_commit_failed'\n : 'turn_engine_failed',\n error: asError(error),\n recoverable: !(error instanceof TurnJournalCommitError),\n };\n return commitSyntheticTerminal(turn, gate, terminal, observedUsage);\n } finally {\n closeFeed?.();\n try {\n await stream?.return(undefined);\n } catch {\n // Cleanup cannot replace an already recorded execution outcome.\n }\n }\n\n if (gate.terminal) return outcomeFromTerminal(gate.terminal, observedUsage);\n return commitSyntheticTerminal(turn, gate, {\n type: 'error',\n code: 'turn_terminal_missing',\n error: new Error('Agent turn engine ended without a terminal event'),\n recoverable: false,\n }, observedUsage);\n}\n\nasync function runProjection(turn: TurnIngress, projection: TurnTerminalProjection): Promise<void> {\n try {\n await projection.project();\n } catch (error) {\n await publishProjectionFailure(turn, error);\n }\n}\n\nasync function publishProjectionFailure(turn: TurnIngress, error: unknown): Promise<void> {\n try {\n await turn.ports.activity?.publish({\n type: 'turn_projection_failed',\n data: errorMessage(error, 'turn projection failed'),\n });\n } catch {\n // Diagnostics are projections too; the durable terminal remains authority.\n }\n}\n\nasync function commitSyntheticTerminal(\n turn: TurnIngress,\n gate: TurnTerminalGate,\n terminal: TurnTerminalEvent,\n usage: Usage,\n): Promise<TurnOutcome> {\n try {\n await turn.ports.journal.append(terminal);\n } catch (error) {\n return failedOutcome('turn_journal_commit_failed', error, true, usage);\n }\n if (!gate.accept(terminal) || !gate.terminal) {\n return failedOutcome(\n 'turn_terminal_commit_rejected',\n new Error('Turn terminal gate rejected a synthesized terminal fact'),\n false,\n usage,\n );\n }\n return outcomeFromTerminal(gate.terminal, usage);\n}\n\nfunction outcomeFromTerminal(event: TurnTerminalEvent, observedUsage: Usage): TurnOutcome {\n switch (event.type) {\n case 'turn_end':\n return Object.freeze({\n status: 'completed',\n output: Object.freeze([...event.output]),\n usage: usageFromTurn(event.usage),\n });\n case 'turn_cancelled':\n return Object.freeze({\n status: 'cancelled',\n reason: event.reason,\n usage: observedUsage,\n });\n case 'error':\n return failedOutcome(event.code ?? 'turn_failed', event.error, event.recoverable, observedUsage);\n case 'budget_exceeded':\n return Object.freeze({\n status: 'budget_exceeded',\n budget: event.budget,\n usage: usageFromTurn(event.usage),\n });\n }\n}\n\nfunction usageFromTurn(usage: {\n promptTokens: number;\n completionTokens: number;\n totalTokens: number;\n}): Usage {\n return Object.freeze({\n prompt_tokens: usage.promptTokens,\n completion_tokens: usage.completionTokens,\n total_tokens: usage.totalTokens,\n });\n}\n\nfunction failedOutcome(code: string, error: unknown, retryable: boolean, usage: Usage): TurnOutcome {\n return Object.freeze({\n status: 'failed',\n error: Object.freeze({\n code,\n message: error instanceof Error ? error.message : String(error),\n retryable,\n }),\n usage,\n });\n}\n\nfunction asError(error: unknown): Error {\n return error instanceof Error ? error : new Error(String(error));\n}\n\nfunction errorMessage(reason: unknown, fallback: string): string {\n return reason instanceof Error ? reason.message : String(reason ?? fallback);\n}\n\nfunction addUsage(current: Usage, next: {\n promptTokens: number;\n completionTokens: number;\n totalTokens: number;\n}): Usage {\n return Object.freeze({\n prompt_tokens: current.prompt_tokens + next.promptTokens,\n completion_tokens: current.completion_tokens + next.completionTokens,\n total_tokens: current.total_tokens + next.totalTokens,\n });\n}\n"]}
@@ -10,7 +10,7 @@
10
10
  * `ai.multimodal.perception` 时,图片 / 视频 / PDF 由感知模型描述后以
11
11
  * untrusted 文本注入(`[图片描述]` 等),失败或超出单回合上限时保持原占位。
12
12
  */
13
- import { type MediaContentBlock, type ModelInputModality } from '@zhin.js/ai';
13
+ import { type Usage, type MediaContentBlock, type ModelInputModality } from '@zhin.js/ai';
14
14
  import type { AudioTranscriptionPort } from '../media/media-types.js';
15
15
  import { type MediaPerceptionPort } from '../media/perception.js';
16
16
  import type { ReferencePort, TurnMedia } from './turn-ingress.js';
@@ -21,6 +21,8 @@ export interface InboundMediaInjection {
21
21
  readonly textAppends: string[];
22
22
  /** 与输入媒体一一对应的终态。 */
23
23
  readonly outcomes: InboundMediaOutcome[];
24
+ /** Tokens spent by the perception pre-pass (not part of the turn's own completion usage). */
25
+ readonly perceptionUsage?: Usage;
24
26
  }
25
27
  export interface InboundMediaOutcome {
26
28
  readonly kind: TurnMedia['kind'];
@@ -49,4 +51,3 @@ export declare function resolveTurnMediaInjection(turnMedia: readonly TurnMedia[
49
51
  * textAppends 以独立 text 块追加在其后(不改动历史消息)。
50
52
  */
51
53
  export declare function applyInboundMediaInjection(userMessages: readonly import('@zhin.js/ai').AgentMessage[], injection: InboundMediaInjection): import('@zhin.js/ai').AgentMessage[];
52
- //# sourceMappingURL=inbound-media.d.ts.map
@@ -15,7 +15,7 @@ import { formatCompact, getLogger } from '@zhin.js/logger';
15
15
  import { normalizeMediaRefsToPayloads, } from '../media/media-normalize.js';
16
16
  import { transcribeAudioPayload } from '../media/media-router.js';
17
17
  import { resolveMultimodalConfig } from '../media/resolve-config.js';
18
- import { renderPerceptionCaption } from '../media/perception.js';
18
+ import { MediaPerceptionFailedError, renderPerceptionCaption } from '../media/perception.js';
19
19
  const logger = getLogger('ZhinAgent');
20
20
  const EMPTY_INJECTION = Object.freeze({
21
21
  blocks: Object.freeze([]),
@@ -60,6 +60,7 @@ export async function resolveTurnMediaInjection(turnMedia, options = {}) {
60
60
  const textAppends = [];
61
61
  const outcomes = [];
62
62
  let perceived = 0;
63
+ let perceptionUsage;
63
64
  for (const { entry, type, media: initialMedia } of refs) {
64
65
  let media = initialMedia;
65
66
  if (entry.source.kind === 'platform_ref') {
@@ -126,6 +127,8 @@ export async function resolveTurnMediaInjection(turnMedia, options = {}) {
126
127
  perceived += 1;
127
128
  try {
128
129
  const result = await perception.describe(payload, signal);
130
+ if (result?.usage)
131
+ perceptionUsage = addUsage(perceptionUsage, result.usage);
129
132
  if (result?.text.trim()) {
130
133
  textAppends.push(renderPerceptionCaption(type, result.text));
131
134
  outcomes.push({
@@ -143,6 +146,9 @@ export async function resolveTurnMediaInjection(turnMedia, options = {}) {
143
146
  }
144
147
  }
145
148
  catch (error) {
149
+ // A call that failed after reaching the provider still counts against the quota.
150
+ if (error instanceof MediaPerceptionFailedError)
151
+ perceptionUsage = addUsage(perceptionUsage, error.usage);
146
152
  signal.throwIfAborted();
147
153
  logger.warn(formatCompact({
148
154
  op: 'inbound_perception_failed',
@@ -161,7 +167,14 @@ export async function resolveTurnMediaInjection(turnMedia, options = {}) {
161
167
  }
162
168
  if (blocks.length === 0 && textAppends.length === 0 && outcomes.length === 0)
163
169
  return EMPTY_INJECTION;
164
- return { blocks, textAppends, outcomes };
170
+ return { blocks, textAppends, outcomes, ...(perceptionUsage ? { perceptionUsage } : {}) };
171
+ }
172
+ function addUsage(a, b) {
173
+ return {
174
+ prompt_tokens: (a?.prompt_tokens ?? 0) + b.prompt_tokens,
175
+ completion_tokens: (a?.completion_tokens ?? 0) + b.completion_tokens,
176
+ total_tokens: (a?.total_tokens ?? 0) + b.total_tokens,
177
+ };
165
178
  }
166
179
  /**
167
180
  * 把注入结果合入 LLM 绑定的 userMessages:最后一个 user 消息挂 media 块,
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-media.js","sourceRoot":"","sources":["../../src/turn/inbound-media.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbound-media.js","sourceRoot":"","sources":["../../src/turn/inbound-media.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * 入站媒体注入 — TurnIngress 的 canonical media → 当前 turn 的\n * `UserMessage.media`(MediaContentBlock,不随 session 持久化)。\n *\n * 策略(`ai.multimodal`):\n * 每个输入媒体必须产生 accepted / derived / unsupported / rejected / failed\n * 之一;失败不得伪装成已经被模型识别的媒体占位。\n *\n * 当前模型收不了的媒体:音频先走 STT(`[语音转写]`);配置了\n * `ai.multimodal.perception` 时,图片 / 视频 / PDF 由感知模型描述后以\n * untrusted 文本注入(`[图片描述]` 等),失败或超出单回合上限时保持原占位。\n */\nimport { isMediaBlockRef, type Usage, type MediaContentBlock, type MediaBlockRef, type ModelInputModality } from '@zhin.js/ai';\nimport { formatCompact, getLogger } from '@zhin.js/logger';\nimport {\n normalizeMediaRefsToPayloads,\n} from '../media/media-normalize.js';\nimport type { AudioTranscriptionPort, MediaBinaryPayload } from '../media/media-types.js';\nimport { transcribeAudioPayload } from '../media/media-router.js';\nimport { resolveMultimodalConfig } from '../media/resolve-config.js';\nimport { MediaPerceptionFailedError, renderPerceptionCaption, type MediaPerceptionPort } from '../media/perception.js';\nimport type { ReferencePort, TurnMedia } from './turn-ingress.js';\n\nconst logger = getLogger('ZhinAgent');\n\nexport interface InboundMediaInjection {\n /** 挂到当前 turn UserMessage.media 的媒体块 */\n readonly blocks: MediaContentBlock[];\n /** 需要拼进用户消息文本的补充(STT 转写 / 占位) */\n readonly textAppends: string[];\n /** 与输入媒体一一对应的终态。 */\n readonly outcomes: InboundMediaOutcome[];\n /** Tokens spent by the perception pre-pass (not part of the turn's own completion usage). */\n readonly perceptionUsage?: Usage;\n}\n\nexport interface InboundMediaOutcome {\n readonly kind: TurnMedia['kind'];\n readonly status: 'accepted' | 'derived' | 'unsupported' | 'rejected' | 'failed';\n readonly code: string;\n /** Where derived text came from (perception pre-pass); the text is untrusted external content. */\n readonly provenance?: InboundMediaProvenance;\n}\n\nexport interface InboundMediaProvenance {\n readonly source: 'media_perception';\n readonly provider: string;\n readonly model: string;\n readonly cached: boolean;\n}\n\nexport interface ResolveTurnMediaOptions {\n readonly references?: ReferencePort;\n readonly signal?: AbortSignal;\n readonly providerInput?: readonly ModelInputModality[];\n readonly transcriber?: AudioTranscriptionPort;\n /** `ai.multimodal.perception`: describes media the turn's model cannot take. Absent = placeholders. */\n readonly perception?: MediaPerceptionPort;\n}\n\nconst EMPTY_INJECTION: InboundMediaInjection = Object.freeze({\n blocks: Object.freeze([]) as unknown as MediaContentBlock[],\n textAppends: Object.freeze([]) as unknown as string[],\n outcomes: Object.freeze([]) as unknown as InboundMediaOutcome[],\n});\n\nfunction failureText(type: string, code: string, ref: MediaBlockRef): string {\n const label = ref.file_name ? `; ${ref.file_name}` : '';\n return `[Media ${code}: ${type}${label}]`;\n}\n\nfunction toBase64Block(\n type: MediaContentBlock['type'],\n payload: MediaBinaryPayload,\n alt?: string,\n): MediaContentBlock {\n return {\n type,\n data: {\n media: {\n kind: 'base64',\n value: payload.base64,\n mime_type: payload.mimeType,\n ...(payload.fileName ? { file_name: payload.fileName } : {}),\n },\n ...(alt ? { alt } : {}),\n },\n };\n}\n\nexport async function resolveTurnMediaInjection(\n turnMedia: readonly TurnMedia[] | undefined,\n options: ResolveTurnMediaOptions = {},\n): Promise<InboundMediaInjection> {\n const {\n references,\n signal = new AbortController().signal,\n providerInput,\n transcriber,\n perception,\n } = options;\n const refs = (turnMedia ?? []).map((entry) => ({\n entry,\n type: entry.kind,\n media: {\n kind: entry.source.kind === 'platform_ref' ? 'file' as const : entry.source.kind,\n value: entry.source.value,\n ...(entry.mimeType ? { mime_type: entry.mimeType } : {}),\n ...(entry.name ? { file_name: entry.name } : {}),\n } satisfies MediaBlockRef,\n }));\n if (refs.length === 0) return EMPTY_INJECTION;\n\n const config = resolveMultimodalConfig();\n const supportedInput = new Set<ModelInputModality>(providerInput ?? ['text']);\n const blocks: MediaContentBlock[] = [];\n const textAppends: string[] = [];\n const outcomes: InboundMediaOutcome[] = [];\n let perceived = 0;\n let perceptionUsage: Usage | undefined;\n\n for (const { entry, type, media: initialMedia } of refs) {\n let media = initialMedia;\n if (entry.source.kind === 'platform_ref') {\n if (!entry.referenceKey || !references) {\n textAppends.push(failureText(type, 'unsupported:unresolved_platform_reference', media));\n outcomes.push({ kind: type, status: 'unsupported', code: 'unresolved_platform_reference' });\n continue;\n }\n const resolution = await references.resolve(entry.referenceKey, {\n depth: 0,\n maxEntries: 1,\n maxChars: 0,\n }, signal);\n if (resolution.status !== 'resolved' || !isMediaBlockRef(resolution.content)) {\n const code = resolution.status === 'resolved' ? 'invalid_platform_media' : resolution.code;\n textAppends.push(failureText(type, `failed:${code}`, media));\n outcomes.push({ kind: type, status: resolution.status === 'forbidden' ? 'rejected' : 'failed', code });\n continue;\n }\n media = resolution.content;\n }\n signal.throwIfAborted();\n const payload = (await normalizeMediaRefsToPayloads(\n [{ type, media: media as never }],\n config.maxFileBytes,\n signal,\n ))[0];\n signal.throwIfAborted();\n if (!payload) {\n const code = media.kind === 'file' ? 'unmaterialized_platform_reference' : 'media_validation_failed';\n logger.warn(formatCompact({ op: 'inbound_media_rejected', type, reason: code }));\n textAppends.push(failureText(type, `rejected:${code}`, media));\n outcomes.push({ kind: type, status: 'rejected', code });\n continue;\n }\n\n if (type === 'audio') {\n if (config.audio.strategy === 'transcribe') {\n try {\n const text = await transcribeAudioPayload(payload, transcriber, signal);\n if (text?.trim()) {\n textAppends.push(`[语音转写] ${text.trim()}`);\n outcomes.push({ kind: type, status: 'derived', code: 'speech_transcription' });\n continue;\n }\n } catch (error) {\n logger.warn(formatCompact({\n op: 'inbound_stt_failed',\n error: error instanceof Error ? error.message : String(error),\n }));\n }\n }\n if (!supportedInput.has('audio')) {\n textAppends.push(failureText(type, 'unsupported:provider_input', media));\n outcomes.push({ kind: type, status: 'unsupported', code: 'provider_input' });\n continue;\n }\n blocks.push(toBase64Block('audio', payload));\n outcomes.push({ kind: type, status: 'accepted', code: 'validated_provider_input' });\n continue;\n }\n\n if (!supportedInput.has(type)) {\n if (perception?.accepts(payload)) {\n if (perceived >= perception.maxItemsPerTurn) {\n logger.warn(formatCompact({ op: 'inbound_perception_skipped', type, reason: 'max_items_per_turn' }));\n } else {\n perceived += 1;\n try {\n const result = await perception.describe(payload, signal);\n if (result?.usage) perceptionUsage = addUsage(perceptionUsage, result.usage);\n if (result?.text.trim()) {\n textAppends.push(renderPerceptionCaption(type, result.text));\n outcomes.push({\n kind: type,\n status: 'derived',\n code: 'media_perception',\n provenance: Object.freeze({\n source: 'media_perception' as const,\n provider: result.provider,\n model: result.model,\n cached: result.cached,\n }),\n });\n continue;\n }\n } catch (error) {\n // A call that failed after reaching the provider still counts against the quota.\n if (error instanceof MediaPerceptionFailedError) perceptionUsage = addUsage(perceptionUsage, error.usage);\n signal.throwIfAborted();\n logger.warn(formatCompact({\n op: 'inbound_perception_failed',\n type,\n error: error instanceof Error ? error.message : String(error),\n }));\n }\n }\n }\n textAppends.push(failureText(type, 'unsupported:provider_input', media));\n outcomes.push({ kind: type, status: 'unsupported', code: 'provider_input' });\n continue;\n }\n blocks.push(toBase64Block(type, payload));\n outcomes.push({ kind: type, status: 'accepted', code: 'validated_provider_input' });\n }\n\n if (blocks.length === 0 && textAppends.length === 0 && outcomes.length === 0) return EMPTY_INJECTION;\n return { blocks, textAppends, outcomes, ...(perceptionUsage ? { perceptionUsage } : {}) };\n}\n\nfunction addUsage(a: Usage | undefined, b: Usage): Usage {\n return {\n prompt_tokens: (a?.prompt_tokens ?? 0) + b.prompt_tokens,\n completion_tokens: (a?.completion_tokens ?? 0) + b.completion_tokens,\n total_tokens: (a?.total_tokens ?? 0) + b.total_tokens,\n };\n}\n\n/**\n * 把注入结果合入 LLM 绑定的 userMessages:最后一个 user 消息挂 media 块,\n * textAppends 以独立 text 块追加在其后(不改动历史消息)。\n */\nexport function applyInboundMediaInjection(\n userMessages: readonly import('@zhin.js/ai').AgentMessage[],\n injection: InboundMediaInjection,\n): import('@zhin.js/ai').AgentMessage[] {\n if (!injection.blocks.length && !injection.textAppends.length) {\n return [...userMessages];\n }\n const out = [...userMessages];\n for (let i = out.length - 1; i >= 0; i -= 1) {\n const msg = out[i]!;\n if (msg.role !== 'user') continue;\n const content = Array.isArray(msg.content) ? msg.content : [];\n out[i] = {\n ...msg,\n content: [\n ...content,\n ...injection.textAppends.map((text) => ({ type: 'text' as const, text })),\n ],\n ...(injection.blocks.length ? { media: injection.blocks } : {}),\n };\n break;\n }\n return out;\n}\n"]}
@@ -12,4 +12,3 @@ export declare function normalizeInboundQueueConfig(raw?: InboundQueueConfig | n
12
12
  export declare function validateInboundQueueConfig(raw?: InboundQueueConfig | null): string[];
13
13
  export declare function isGroupOrChannelMessage(message: Message): boolean;
14
14
  export declare function shouldUseGroupFifoQueue(message: Message, config: ResolvedInboundQueueConfig): boolean;
15
- //# sourceMappingURL=inbound-queue-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-queue-config.js","sourceRoot":"","sources":["../../src/turn/inbound-queue-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbound-queue-config.js","sourceRoot":"","sources":["../../src/turn/inbound-queue-config.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Message } from '../resource-hub/types.js';\n\nimport type { InboundQueueConfig, InboundGroupQueueMode } from '../config/zhin-agent-config.js';\n\nexport type { InboundQueueConfig, InboundGroupQueueMode } from '../config/zhin-agent-config.js';\n\nexport interface ResolvedInboundQueueConfig {\n groupMode: InboundGroupQueueMode;\n ttlMs: number;\n coalesceWindowMs: number;\n maxQueuedTurns: number;\n}\n\nexport const DEFAULT_INBOUND_QUEUE_CONFIG: ResolvedInboundQueueConfig = {\n groupMode: 'supersede',\n ttlMs: 180_000,\n coalesceWindowMs: 30_000,\n maxQueuedTurns: 5,\n};\n\nexport function normalizeInboundQueueConfig(\n raw?: InboundQueueConfig | null,\n): ResolvedInboundQueueConfig {\n const groupMode = raw?.groupMode === 'fifo' ? 'fifo' : 'supersede';\n const ttlMs = typeof raw?.ttlMs === 'number' && raw.ttlMs >= 0\n ? raw.ttlMs\n : DEFAULT_INBOUND_QUEUE_CONFIG.ttlMs;\n const coalesceWindowMs = typeof raw?.coalesceWindowMs === 'number' && raw.coalesceWindowMs >= 0\n ? raw.coalesceWindowMs\n : DEFAULT_INBOUND_QUEUE_CONFIG.coalesceWindowMs;\n const maxQueuedTurns = typeof raw?.maxQueuedTurns === 'number' && Number.isInteger(raw.maxQueuedTurns) && raw.maxQueuedTurns >= 0\n ? raw.maxQueuedTurns\n : DEFAULT_INBOUND_QUEUE_CONFIG.maxQueuedTurns;\n return { groupMode, ttlMs, coalesceWindowMs, maxQueuedTurns };\n}\n\nexport function validateInboundQueueConfig(raw?: InboundQueueConfig | null): string[] {\n const errors: string[] = [];\n if (!raw) return errors;\n if (raw.groupMode !== undefined && raw.groupMode !== 'supersede' && raw.groupMode !== 'fifo') {\n errors.push('ai.agent.inboundQueue.groupMode must be supersede or fifo');\n }\n if (raw.ttlMs !== undefined && (typeof raw.ttlMs !== 'number' || !Number.isFinite(raw.ttlMs) || raw.ttlMs < 0)) {\n errors.push('ai.agent.inboundQueue.ttlMs must be a non-negative number');\n }\n if (\n raw.coalesceWindowMs !== undefined\n && (typeof raw.coalesceWindowMs !== 'number' || !Number.isFinite(raw.coalesceWindowMs) || raw.coalesceWindowMs < 0)\n ) {\n errors.push('ai.agent.inboundQueue.coalesceWindowMs must be a non-negative number');\n }\n if (\n raw.maxQueuedTurns !== undefined\n && (typeof raw.maxQueuedTurns !== 'number' || !Number.isInteger(raw.maxQueuedTurns) || raw.maxQueuedTurns < 0)\n ) {\n errors.push('ai.agent.inboundQueue.maxQueuedTurns must be a non-negative integer');\n }\n return errors;\n}\n\nexport function isGroupOrChannelMessage(message: Message): boolean {\n const kind = message.conversation.kind;\n return kind === 'group' || kind === 'channel';\n}\n\nexport function shouldUseGroupFifoQueue(\n message: Message,\n config: ResolvedInboundQueueConfig,\n): boolean {\n return config.groupMode === 'fifo' && isGroupOrChannelMessage(message);\n}\n"]}
@@ -13,4 +13,3 @@ export declare function runWithInboundQueue<T>(commMessage: Message, inboundQueu
13
13
  signal?: AbortSignal;
14
14
  run: (mergedContent: string) => Promise<T>;
15
15
  }): Promise<T>;
16
- //# sourceMappingURL=inbound-queue-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-queue-runtime.js","sourceRoot":"","sources":["../../src/turn/inbound-queue-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,GAExB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,UAAU,sBAAsB,CACpC,MAAiC,EACjC,OAA8B;IAE9B,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,kBAAkB,EAAE;QACrD,eAAe,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE;YAC3C,OAAO,CAAC,IAAI,CACV,0BAA0B,EAC1B,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE;gBACrD,WAAW,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE;aAChD,CAAC,CACH,CAAC;QACJ,CAAC;QACD,eAAe,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE;YAC3C,OAAO,CAAC,IAAI,CACV,0BAA0B,EAC1B,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE;gBACrD,WAAW,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE;aAChD,CAAC,CACH,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAoB,EACpB,kBAA8C,EAC9C,KAAuB,EACvB,IAKC;IAED,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,UAAU,GAAG,6BAA6B,CAAC,WAAW,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC,QAAQ,CAAC;QACpB,UAAU;QACV,WAAW;QACX,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"inbound-queue-runtime.js","sourceRoot":"","sources":["../../src/turn/inbound-queue-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,GAExB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,UAAU,sBAAsB,CACpC,MAAiC,EACjC,OAA8B;IAE9B,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,kBAAkB,EAAE;QACrD,eAAe,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE;YAC3C,OAAO,CAAC,IAAI,CACV,0BAA0B,EAC1B,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE;gBACrD,WAAW,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE;aAChD,CAAC,CACH,CAAC;QACJ,CAAC;QACD,eAAe,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE;YAC3C,OAAO,CAAC,IAAI,CACV,0BAA0B,EAC1B,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE;gBACrD,WAAW,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE;aAChD,CAAC,CACH,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAoB,EACpB,kBAA8C,EAC9C,KAAuB,EACvB,IAKC;IAED,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,UAAU,GAAG,6BAA6B,CAAC,WAAW,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC,QAAQ,CAAC;QACpB,UAAU;QACV,WAAW;QACX,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { resolveIMSessionIdFromMessage } from '@zhin.js/core';\nimport type { Message } from '../resource-hub/types.js';\nimport type { ZhinAgentEventEmitter } from '../event/event-emitter.js';\nimport { InboundTurnQueue } from './inbound-turn-queue.js';\nimport {\n normalizeInboundQueueConfig,\n shouldUseGroupFifoQueue,\n type ResolvedInboundQueueConfig,\n} from './inbound-queue-config.js';\nimport type { ZhinAgentConfig } from '../config/index.js';\n\nexport function createInboundTurnQueue(\n config: Required<ZhinAgentConfig>,\n emitter: ZhinAgentEventEmitter,\n): { config: ResolvedInboundQueueConfig; queue: InboundTurnQueue } {\n const inboundQueueConfig = normalizeInboundQueueConfig(config.inboundQueue);\n const queue = new InboundTurnQueue(inboundQueueConfig, {\n emitQueuedStart: (commMessage, sessionKey) => {\n emitter.emit(\n 'ai.activity.queued.start',\n emitter.createPayload(sessionKey, commMessage, 'text', {\n hookContext: { activityFeedbackEligible: true },\n }),\n );\n },\n emitQueuedClear: (commMessage, sessionKey) => {\n emitter.emit(\n 'ai.activity.queued.clear',\n emitter.createPayload(sessionKey, commMessage, 'text', {\n hookContext: { activityFeedbackEligible: true },\n }),\n );\n },\n });\n return { config: inboundQueueConfig, queue };\n}\n\nexport async function runWithInboundQueue<T>(\n commMessage: Message,\n inboundQueueConfig: ResolvedInboundQueueConfig,\n queue: InboundTurnQueue,\n opts: {\n content?: string;\n coalesce?: boolean;\n signal?: AbortSignal;\n run: (mergedContent: string) => Promise<T>;\n },\n): Promise<T> {\n if (!shouldUseGroupFifoQueue(commMessage, inboundQueueConfig)) {\n return opts.run(opts.content ?? '');\n }\n const sessionKey = resolveIMSessionIdFromMessage(commMessage);\n return queue.schedule({\n sessionKey,\n commMessage,\n content: opts.content,\n coalesce: opts.coalesce,\n signal: opts.signal,\n run: opts.run,\n });\n}\n"]}
@@ -32,4 +32,3 @@ export declare class InboundTurnQueue {
32
32
  private cancelQueuedEntry;
33
33
  private clearQueuedFeedback;
34
34
  }
35
- //# sourceMappingURL=inbound-turn-queue.d.ts.map