@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
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-subagent-tools.js","sourceRoot":"","sources":["../../src/resource-hub/resolve-subagent-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-subagent-tools.js","sourceRoot":"","sources":["../../src/resource-hub/resolve-subagent-tools.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * 子 Agent 工具集:角色限制 + 编排黑名单 + AgentMeta disallowedTools。\n */\nimport type { AgentTool } from '@zhin.js/ai';\nimport type { ZhinAgentConfig } from '../config/index.js';\nimport type { AgentRole } from './role-configs.js';\nimport type { AgentMeta } from '../discovery/agents.js';\nimport { DEFAULT_SUBAGENT_TOOL_NAMES } from './tool-selection.js';\n\n/** 仅主编排使用的工具,子 Agent 不可直接调用 */\nexport const SUBAGENT_BLOCKED_TOOL_NAMES = new Set<string>([\n 'discover',\n 'spawn_task',\n]);\n\nconst BLOCKED = SUBAGENT_BLOCKED_TOOL_NAMES;\n\n/** 子 Agent 可用来按需加载 schema 的元工具 */\nconst SUBAGENT_DEFER_META_TOOLS = ['load_tool', 'load_skill'] as const;\n\nexport interface ResolveSubagentToolsParams {\n allTools: AgentTool[];\n task: string;\n role: AgentRole;\n config: Required<ZhinAgentConfig>;\n agentMeta?: AgentMeta;\n requestedTools?: string[];\n parentSessionLoaded?: string[];\n}\n\nfunction stripBlocked(tools: AgentTool[]): AgentTool[] {\n return tools.filter(t => !BLOCKED.has(t.name));\n}\n\nfunction applyDisallowedTools(pool: AgentTool[], meta?: AgentMeta): AgentTool[] {\n if (!meta?.disallowedTools?.length) return pool;\n const blocked = new Set(meta.disallowedTools);\n return pool.filter(t => !blocked.has(t.name));\n}\n\nfunction applyExplicitCapabilityBoundary(\n pool: AgentTool[],\n config: Required<ZhinAgentConfig>,\n meta?: AgentMeta,\n): AgentTool[] {\n const privatePrefix = meta ? `agent__${meta.name}__` : undefined;\n const privateSkillPrefix = privatePrefix ? `${privatePrefix}skill__` : undefined;\n const configured = new Set([\n ...DEFAULT_SUBAGENT_TOOL_NAMES,\n ...config.subagentTools,\n ...SUBAGENT_DEFER_META_TOOLS,\n ...(meta?.toolNames ?? []),\n ]);\n const definition = meta?.toolNames?.length ? new Set(meta.toolNames) : null;\n return pool.filter(tool => (privatePrefix\n && tool.name.includes(privatePrefix)\n && !tool.name.includes(privateSkillPrefix!)) || ([...configured].some(\n name => tool.name === name || tool.name.endsWith(`__${name}`),\n ) && (!definition || [...definition].some(\n name => tool.name === name || tool.name.endsWith(`__${name}`),\n ))));\n}\n\nfunction applySpawnDeclaredTools(\n pool: AgentTool[],\n requestedTools: string[] | undefined,\n parentSessionLoaded: string[] | undefined,\n): AgentTool[] {\n if (!requestedTools?.length) return pool;\n const byNamePool = new Map(pool.map(t => [t.name, t]));\n const parentLoaded = new Set(parentSessionLoaded ?? []);\n const picked: AgentTool[] = [];\n for (const metaName of SUBAGENT_DEFER_META_TOOLS) {\n const tool = byNamePool.get(metaName);\n if (tool) picked.push(tool);\n }\n for (const name of requestedTools) {\n if (!parentLoaded.has(name)) continue;\n const tool = byNamePool.get(name);\n if (tool) picked.push(tool);\n }\n return picked;\n}\n\n/**\n * Resolve the explicit subagent capability set. A display role is not an\n * authority source; Agent Definition deny rules and parent-declared tools are.\n */\nexport function resolveSubagentAgentTools(params: ResolveSubagentToolsParams): AgentTool[] {\n let pool = stripBlocked(params.allTools);\n pool = applyExplicitCapabilityBoundary(pool, params.config, params.agentMeta);\n pool = applyDisallowedTools(pool, params.agentMeta);\n pool = applySpawnDeclaredTools(pool, params.requestedTools, params.parentSessionLoaded);\n return pool;\n}\n"]}
@@ -29,4 +29,3 @@ export declare class ResourceRegistry<T extends {
29
29
  protected getEntry(name: string, scope?: ResourceScope): ResourceEntry<T> | undefined;
30
30
  }
31
31
  export {};
32
- //# sourceMappingURL=resource-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource-registry.js","sourceRoot":"","sources":["../../src/resource-hub/resource-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-registry.js","sourceRoot":"","sources":["../../src/resource-hub/resource-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,MAAM,OAAO,gBAAgB;IACR,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC7C,WAAW,GAAG,IAAI,GAAG,EAAyC,CAAC;IACjE,SAAS,GAAG,IAAI,GAAG,EAA2C,CAAC;IAEhF,GAAG,CAAC,QAAW,EAAE,KAAqB,EAAE,SAAiB,SAAS;QAChE,MAAM,KAAK,GAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC;QACzE,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,CAAC;QAE/B,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC1C,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,KAAqB;QACxC,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,CAAC;QAC/B,IAAI,KAAmC,CAAC;QAExC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3B,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACtB,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;oBAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAa,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GAAG,IAAI,GAAG,EAAa,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9E,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,KAAqB;QACrC,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,CAAC;QAC/B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,KAAqB;QACrC,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,CAAC;QAC/B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzC,CAAC;IAED,IAAI,IAAI;QACN,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAAE,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,EAAE,CAAC,KAAoB,EAAE,OAA4B;QACnD,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjB,OAAO,GAAG,EAAE,CAAC,GAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEO,IAAI,CAAC,KAAoB,EAAE,KAAuB;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAES,QAAQ,CAAC,IAAY,EAAE,KAAqB;QACpD,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,CAAC;QAC/B,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF","sourcesContent":["/**\n * ResourceRegistry<T> — unified base class for all five resource types.\n *\n * Supports:\n * - common resources (agentId omitted) — available to all agents\n * - specialized resources (agentId set) — only for the specified agent\n * - event listeners for add/remove\n */\n\nimport type { ResourceScope, ResourceEntry } from './types.js';\n\ntype RegistryEvent = 'add' | 'remove';\ntype RegistryListener<T> = (entry: ResourceEntry<T>) => void;\n\nexport class ResourceRegistry<T extends { name: string }> {\n protected readonly common = new Map<string, ResourceEntry<T>>();\n protected readonly specialized = new Map<string, Map<string, ResourceEntry<T>>>();\n private readonly listeners = new Map<RegistryEvent, Set<RegistryListener<T>>>();\n\n add(resource: T, scope?: ResourceScope, source: string = 'unknown'): () => void {\n const entry: ResourceEntry<T> = { resource, scope: scope ?? {}, source };\n const agentId = scope?.agentId;\n\n if (agentId) {\n let agentMap = this.specialized.get(agentId);\n if (!agentMap) {\n agentMap = new Map();\n this.specialized.set(agentId, agentMap);\n }\n agentMap.set(resource.name, entry);\n } else {\n this.common.set(resource.name, entry);\n }\n\n this.emit('add', entry);\n return () => this.remove(resource.name, scope);\n }\n\n remove(name: string, scope?: ResourceScope): boolean {\n const agentId = scope?.agentId;\n let entry: ResourceEntry<T> | undefined;\n\n if (agentId) {\n const agentMap = this.specialized.get(agentId);\n if (agentMap) {\n entry = agentMap.get(name);\n agentMap.delete(name);\n if (agentMap.size === 0) this.specialized.delete(agentId);\n }\n } else {\n entry = this.common.get(name);\n this.common.delete(name);\n }\n\n if (entry) {\n this.emit('remove', entry);\n return true;\n }\n return false;\n }\n\n getCommon(): T[] {\n return Array.from(this.common.values()).map(e => e.resource);\n }\n\n getForAgent(agentId: string): T[] {\n const result = new Map<string, T>();\n for (const e of this.common.values()) result.set(e.resource.name, e.resource);\n const agentMap = this.specialized.get(agentId);\n if (agentMap) {\n for (const e of agentMap.values()) result.set(e.resource.name, e.resource);\n }\n return Array.from(result.values());\n }\n\n getAll(): T[] {\n const result = new Map<string, T>();\n for (const e of this.common.values()) result.set(e.resource.name, e.resource);\n for (const agentMap of this.specialized.values()) {\n for (const e of agentMap.values()) result.set(e.resource.name, e.resource);\n }\n return Array.from(result.values());\n }\n\n has(name: string, scope?: ResourceScope): boolean {\n const agentId = scope?.agentId;\n if (agentId) {\n return this.specialized.get(agentId)?.has(name) ?? false;\n }\n return this.common.has(name);\n }\n\n get(name: string, scope?: ResourceScope): T | undefined {\n const agentId = scope?.agentId;\n if (agentId) {\n return this.specialized.get(agentId)?.get(name)?.resource;\n }\n return this.common.get(name)?.resource;\n }\n\n get size(): number {\n let count = this.common.size;\n for (const m of this.specialized.values()) count += m.size;\n return count;\n }\n\n on(event: RegistryEvent, handler: RegistryListener<T>): () => void {\n let set = this.listeners.get(event);\n if (!set) {\n set = new Set();\n this.listeners.set(event, set);\n }\n set.add(handler);\n return () => set!.delete(handler);\n }\n\n dispose(): void {\n this.common.clear();\n this.specialized.clear();\n this.listeners.clear();\n }\n\n private emit(event: RegistryEvent, entry: ResourceEntry<T>): void {\n const set = this.listeners.get(event);\n if (!set) return;\n for (const handler of set) {\n try {\n handler(entry);\n } catch {\n // swallow listener errors\n }\n }\n }\n\n protected getEntry(name: string, scope?: ResourceScope): ResourceEntry<T> | undefined {\n const agentId = scope?.agentId;\n if (agentId) return this.specialized.get(agentId)?.get(name);\n return this.common.get(name);\n }\n}\n"]}
@@ -27,4 +27,3 @@ export interface AgentRoleConfig {
27
27
  timeout: number;
28
28
  }
29
29
  export declare const AGENT_ROLE_CONFIGS: Record<AgentRole, AgentRoleConfig>;
30
- //# sourceMappingURL=role-configs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"role-configs.js","sourceRoot":"","sources":["../../src/resource-hub/role-configs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role-configs.js","sourceRoot":"","sources":["../../src/resource-hub/role-configs.ts"],"names":[],"mappings":"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","sourcesContent":["/** Agent 角色定义与预定义配置(数据表;从 agent-dispatcher.ts 拆出,零依赖模块)。 */\n\n\nexport type AgentRole =\n | 'subtask' // 子任务 Agent(后台执行)\n | 'worker' // 工作 Agent(延迟任务)\n | 'researcher' // 研究 Agent(只读检索)\n | 'evaluator' // 评估 Agent(纯推理,零外部工具,ADR 0024)\n | 'executor' // 执行 Agent(写操作)\n | 'reviewer' // 审查 Agent(质检;仅读 artifact)\n | 'planner'; // 规划 Agent(总控/路由,ADR 0024 director)\n\nexport interface AgentRoleConfig {\n /** 角色名称 */\n role: AgentRole;\n /** 角色描述 */\n description: string;\n /** 允许的工具集 */\n allowedTools: string[];\n /** 禁止的工具集 */\n blockedTools: string[];\n /** 是否允许发送消息给用户 */\n canSendMessage: boolean;\n /** 是否允许 spawn 子 Agent */\n canSpawnSubagents: boolean;\n /** 是否允许访问主 Agent 历史 */\n canAccessMainHistory: boolean;\n /** 是否允许执行写操作 */\n canWrite: boolean;\n /** 是否允许执行危险操作 */\n canExecuteDangerous: boolean;\n /** 最大迭代次数 */\n maxIterations: number;\n /** 最大工具调用次数 */\n maxToolCalls: number;\n /** 超时时间(毫秒) */\n timeout: number;\n}\n\nexport const AGENT_ROLE_CONFIGS: Record<AgentRole, AgentRoleConfig> = {\n subtask: {\n role: 'subtask',\n description: '子任务 Agent,后台执行特定任务',\n allowedTools: [\n 'read_file', 'write_file', 'edit_file',\n 'list_dir', 'glob', 'grep',\n 'bash', 'web_search', 'web_fetch',\n 'generate_image',\n ],\n blockedTools: ['send_message', 'spawn_subagent', 'discover'],\n canSendMessage: false,\n canSpawnSubagents: false,\n canAccessMainHistory: false,\n canWrite: true,\n canExecuteDangerous: false,\n maxIterations: 15,\n maxToolCalls: 50,\n timeout: 300000, // 5 分钟\n },\n\n worker: {\n role: 'worker',\n description: '工作 Agent,执行延迟任务',\n allowedTools: [\n 'read_file', 'write_file', 'edit_file',\n 'list_dir', 'glob', 'grep',\n 'bash', 'web_search', 'web_fetch',\n 'generate_image',\n ],\n blockedTools: ['send_message', 'spawn_subagent'],\n canSendMessage: false,\n canSpawnSubagents: false,\n canAccessMainHistory: false,\n canWrite: true,\n canExecuteDangerous: false,\n maxIterations: 10,\n maxToolCalls: 30,\n timeout: 180000, // 3 分钟\n },\n\n researcher: {\n role: 'researcher',\n description: '研究 Agent,只读检索 + 事实交叉验证(ADR 0024)',\n allowedTools: [\n 'read_file', 'list_dir', 'glob', 'grep',\n 'web_search', 'web_fetch',\n ],\n blockedTools: ['write_file', 'edit_file', 'bash', 'send_message', 'spawn_subagent'],\n canSendMessage: false,\n canSpawnSubagents: false,\n canAccessMainHistory: false,\n canWrite: false,\n canExecuteDangerous: false,\n maxIterations: 10,\n maxToolCalls: 30,\n timeout: 180000,\n },\n\n evaluator: {\n role: 'evaluator',\n description: '评估 Agent,纯逻辑推理与方案评估;只读文件 + artifact(ADR 0024)',\n allowedTools: [\n 'read_file', 'list_dir', 'glob', 'grep',\n ],\n blockedTools: [\n 'write_file', 'edit_file',\n 'bash', 'web_search', 'web_fetch', 'send_message', 'spawn_subagent',\n 'generate_image',\n ],\n canSendMessage: false,\n canSpawnSubagents: false,\n canAccessMainHistory: false,\n canWrite: false,\n canExecuteDangerous: false,\n maxIterations: 8,\n maxToolCalls: 16,\n timeout: 180000,\n },\n\n executor: {\n role: 'executor',\n description: '执行 Agent,物理落地与工具调用(写/bash/MCP/生图)(ADR 0024)',\n allowedTools: [\n 'read_file', 'write_file', 'edit_file',\n 'list_dir', 'glob', 'grep',\n 'bash',\n 'generate_image',\n ],\n blockedTools: ['send_message', 'spawn_subagent'],\n canSendMessage: false,\n canSpawnSubagents: false,\n canAccessMainHistory: false,\n canWrite: true,\n canExecuteDangerous: false,\n maxIterations: 10,\n maxToolCalls: 30,\n timeout: 180000,\n },\n\n reviewer: {\n role: 'reviewer',\n description: '审查 Agent,质检合规;只读文件(禁搜网,ADR 0024)',\n allowedTools: ['read_file', 'list_dir', 'glob', 'grep'],\n blockedTools: [\n 'write_file', 'edit_file',\n 'bash', 'web_search', 'web_fetch', 'send_message', 'spawn_subagent',\n ],\n canSendMessage: false,\n canSpawnSubagents: false,\n canAccessMainHistory: false,\n canWrite: false,\n canExecuteDangerous: false,\n maxIterations: 8,\n maxToolCalls: 20,\n timeout: 180000,\n },\n\n planner: {\n role: 'planner',\n description: '规划 Agent,全局总控 + 动态路由(ADR 0024 director)',\n allowedTools: [\n 'spawn_task', 'ask_user',\n ],\n blockedTools: ['write_file', 'edit_file', 'bash', 'web_search', 'web_fetch', 'generate_image'],\n canSendMessage: true,\n canSpawnSubagents: true,\n canAccessMainHistory: true,\n canWrite: false,\n canExecuteDangerous: false,\n maxIterations: 12,\n maxToolCalls: 40,\n timeout: 300000,\n },\n};\n"]}
@@ -29,4 +29,3 @@ export declare class SkillRegistry extends ResourceRegistry<Skill> {
29
29
  getAlwaysSkills(agentId?: string): Skill[];
30
30
  dispose(): void;
31
31
  }
32
- //# sourceMappingURL=skill-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-registry.js","sourceRoot":"","sources":["../../src/resource-hub/skill-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-registry.js","sourceRoot":"","sources":["../../src/resource-hub/skill-registry.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SkillRegistry — AI skill management with common/specialized support.\n *\n * Owns Agent-side Skill lookup and search scoring.\n */\n\nimport {\n buildDocumentFrequency,\n collectSkillWeightedTerms,\n collectTermSet,\n createIdfFn,\n scoreWeightedTfidfOverlap,\n} from '@zhin.js/ai';\nimport { ResourceRegistry } from './resource-registry.js';\nimport type { ResourceScope, Skill, Tool } from './types.js';\n\nexport interface SkillSearchScoredResult {\n skill: Skill;\n score: number;\n}\n\nexport class SkillRegistry extends ResourceRegistry<Skill> {\n private readonly byName = new Map<string, Skill>();\n\n override add(skill: Skill, scope?: ResourceScope, source?: string): () => void {\n this.byName.set(skill.name, skill);\n return super.add(skill, scope, source);\n }\n\n override remove(name: string, scope?: ResourceScope): boolean {\n this.byName.delete(name);\n return super.remove(name, scope);\n }\n\n getByName(name: string): Skill | undefined {\n return this.byName.get(name);\n }\n\n searchScored(\n query: string,\n options?: { maxResults?: number; platform?: string; agentId?: string; minScore?: number },\n ): SkillSearchScoredResult[] {\n const maxResults = options?.maxResults ?? 5;\n const minScore = options?.minScore ?? 0.1;\n const platform = options?.platform;\n const pool = options?.agentId ? this.getForAgent(options.agentId) : this.getAll();\n\n const filtered = pool.filter(skill => {\n if (platform && skill.platforms?.length) return skill.platforms.includes(platform);\n return true;\n });\n if (filtered.length === 0) return [];\n\n const weightedBySkill = new Map<Skill, Map<string, number>>();\n const corpusSets: Set<string>[] = [];\n for (const skill of filtered) {\n const weighted = collectSkillWeightedTerms(skill);\n weightedBySkill.set(skill, weighted);\n corpusSets.push(collectTermSet(weighted));\n }\n\n const df = buildDocumentFrequency(corpusSets);\n const idf = createIdfFn(filtered.length, df);\n\n const scored = filtered\n .map(skill => ({\n skill,\n score: scoreWeightedTfidfOverlap(query, weightedBySkill.get(skill)!, idf),\n }))\n .filter(({ score }) => score >= minScore)\n .sort((a, b) => b.score - a.score)\n .slice(0, maxResults);\n\n return scored;\n }\n\n search(query: string, options?: { maxResults?: number; platform?: string; agentId?: string }): Skill[] {\n return this.searchScored(query, options).map(({ skill }) => skill);\n }\n\n collectAllTools(agentId?: string): Tool[] {\n const pool = agentId ? this.getForAgent(agentId) : this.getAll();\n const tools: Tool[] = [];\n for (const skill of pool) tools.push(...skill.tools);\n return tools;\n }\n\n getAlwaysSkills(agentId?: string): Skill[] {\n const pool = agentId ? this.getForAgent(agentId) : this.getAll();\n return pool.filter(s => s.always);\n }\n\n override dispose(): void {\n this.byName.clear();\n super.dispose();\n }\n}\n"]}
@@ -15,4 +15,3 @@ export declare class SubAgentRegistry extends ResourceRegistry<SubAgentDef> {
15
15
  dispose(): void;
16
16
  private scorePreset;
17
17
  }
18
- //# sourceMappingURL=subagent-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-registry.js","sourceRoot":"","sources":["../../src/resource-hub/subagent-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,MAAM,OAAO,gBAAiB,SAAQ,gBAA6B;IAChD,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE1D,SAAS,CAAC,MAAmB,EAAE,KAAqB,EAAE,MAAe;QACnE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,MAAM,GAAG,GAAgB;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,YAAY,EAAE,MAAM,CAAC,KAAK;YAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,KAAqB;QAC9C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,aAAa;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,KAAa,EAAE,OAAiC;QAC5D,MAAM,GAAG,GAAG,OAAO,EAAE,UAAU,IAAI,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,aAAa,EAAE;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;aACzD,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;aAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;aACb,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAEO,WAAW,CAAC,CAAc,EAAE,EAAU;QAC5C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAAE,KAAK,IAAI,GAAG,CAAC;QACpD,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,KAAK,IAAI,GAAG,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"subagent-registry.js","sourceRoot":"","sources":["../../src/resource-hub/subagent-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,MAAM,OAAO,gBAAiB,SAAQ,gBAA6B;IAChD,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE1D,SAAS,CAAC,MAAmB,EAAE,KAAqB,EAAE,MAAe;QACnE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,MAAM,GAAG,GAAgB;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,YAAY,EAAE,MAAM,CAAC,KAAK;YAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,KAAqB;QAC9C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,aAAa;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,KAAa,EAAE,OAAiC;QAC5D,MAAM,GAAG,GAAG,OAAO,EAAE,UAAU,IAAI,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,aAAa,EAAE;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;aACzD,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;aAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;aACb,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAEO,WAAW,CAAC,CAAc,EAAE,EAAU;QAC5C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAAE,KAAK,IAAI,GAAG,CAAC;QACpD,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,KAAK,IAAI,GAAG,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;CACF","sourcesContent":["/**\n * SubAgentRegistry — sub-agent definition management with common/specialized support.\n */\n\nimport { ResourceRegistry } from './resource-registry.js';\nimport type { ResourceScope, SubAgentDef, AgentPreset } from './types.js';\n\nexport class SubAgentRegistry extends ResourceRegistry<SubAgentDef> {\n private readonly presets = new Map<string, AgentPreset>();\n\n addPreset(preset: AgentPreset, scope?: ResourceScope, source?: string): () => void {\n this.presets.set(preset.name, preset);\n const def: SubAgentDef = {\n name: preset.name,\n description: preset.description,\n systemPrompt: preset.systemPrompt,\n allowedTools: preset.tools,\n model: preset.model,\n };\n return this.add(def, scope, source);\n }\n\n removePreset(name: string, scope?: ResourceScope): boolean {\n this.presets.delete(name);\n return this.remove(name, scope);\n }\n\n getPreset(name: string): AgentPreset | undefined {\n return this.presets.get(name);\n }\n\n getAllPresets(): AgentPreset[] {\n return Array.from(this.presets.values());\n }\n\n searchPresets(query: string, options?: { maxResults?: number }): AgentPreset[] {\n const max = options?.maxResults ?? 5;\n const lq = query.toLowerCase();\n return this.getAllPresets()\n .map(p => ({ preset: p, score: this.scorePreset(p, lq) }))\n .filter(({ score }) => score > 0)\n .sort((a, b) => b.score - a.score)\n .slice(0, max)\n .map(({ preset }) => preset);\n }\n\n override dispose(): void {\n this.presets.clear();\n super.dispose();\n }\n\n private scorePreset(p: AgentPreset, lq: string): number {\n let score = 0;\n if (lq.includes(p.name.toLowerCase())) score += 1.0;\n if (p.description.toLowerCase().includes(lq)) score += 0.5;\n return score;\n }\n}\n"]}
@@ -9,4 +9,3 @@ export type NormalizableTool = Tool | AgentTool;
9
9
  export declare const DEFAULT_SUBAGENT_TOOL_NAMES: readonly ["read_file", "write_file", "edit_file", "list_dir", "glob", "grep", "bash", "web_search", "web_fetch", "generate_image", "knowledge_search"];
10
10
  export declare function canAccessTool(tool: Tool, message?: Message, host?: PermissionHost | null): Promise<boolean>;
11
11
  export declare function normalizeTool(input: NormalizableTool, message?: Message): AgentTool;
12
- //# sourceMappingURL=tool-selection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-selection.js","sourceRoot":"","sources":["../../src/resource-hub/tool-selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-selection.js","sourceRoot":"","sources":["../../src/resource-hub/tool-selection.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Tool selection — normalization, permission checks, context injection and relevance caching.\n */\n\nimport { canAccessTool as coreCanAccessTool, resolveContextKey, type Message } from '@zhin.js/core';\nimport type { PermissionHost } from '@zhin.js/permission';\nimport type { AgentTool } from '@zhin.js/ai';\nimport type { Tool } from './types.js';\n\nexport type NormalizableTool = Tool | AgentTool;\n\nexport const DEFAULT_SUBAGENT_TOOL_NAMES = [\n 'read_file',\n 'write_file',\n 'edit_file',\n 'list_dir',\n 'glob',\n 'grep',\n 'bash',\n 'web_search',\n 'web_fetch',\n 'generate_image',\n 'knowledge_search',\n] as const;\n\nexport async function canAccessTool(tool: Tool, message?: Message, host?: PermissionHost | null): Promise<boolean> {\n return coreCanAccessTool(tool as import('@zhin.js/core').Tool, message, host);\n}\n\nfunction hasToolShape(input: unknown): input is Tool {\n const obj = input as Partial<Tool> | undefined;\n return !!obj\n && typeof obj.name === 'string'\n && typeof obj.description === 'string'\n && typeof obj.execute === 'function'\n && !!obj.parameters;\n}\n\nfunction isIMTool(input: unknown): input is Tool {\n if (!hasToolShape(input)) return false;\n const obj = input as Partial<Tool>;\n return 'platforms' in obj\n || 'scopes' in obj\n || 'permissions' in obj\n || 'hidden' in obj\n || 'source' in obj;\n}\n\nfunction stripContextParameters(tool: Tool, message?: Message): {\n parameters: AgentTool['parameters'];\n injections: Array<{ paramName: string; contextKey: string; paramType: string }>;\n} {\n const injections: Array<{ paramName: string; contextKey: string; paramType: string }> = [];\n let parameters: AgentTool['parameters'] = tool.parameters;\n\n if (!message || !tool.parameters?.properties) {\n return { parameters, injections };\n }\n\n const props = tool.parameters.properties as Record<string, any>;\n const filteredProps: Record<string, any> = {};\n const filteredRequired: string[] = [];\n\n for (const [key, schema] of Object.entries(props)) {\n if (schema.contextKey && resolveContextKey(message, schema.contextKey) != null) {\n injections.push({\n paramName: key,\n contextKey: schema.contextKey,\n paramType: schema.type || 'string',\n });\n continue;\n }\n filteredProps[key] = schema;\n if (tool.parameters.required?.includes(key)) {\n filteredRequired.push(key);\n }\n }\n\n if (injections.length > 0) {\n parameters = {\n ...tool.parameters,\n properties: filteredProps,\n required: filteredRequired.length > 0 ? filteredRequired : undefined,\n };\n }\n\n return { parameters, injections };\n}\n\nexport function normalizeTool(input: NormalizableTool, message?: Message): AgentTool {\n if (!isIMTool(input) && !(message && hasToolShape(input))) {\n return input as AgentTool;\n }\n\n const tool = input;\n const originalExecute = tool.execute;\n const { parameters, injections } = stripContextParameters(tool, message);\n\n const agentTool: AgentTool = {\n name: tool.name,\n description: tool.description,\n parameters,\n execute: message\n ? async (args: Record<string, any>) => {\n const enrichedArgs = { ...args };\n for (const { paramName, contextKey, paramType } of injections) {\n let value = resolveContextKey(message, contextKey);\n if (paramType === 'number' && typeof value === 'string') {\n value = Number(value);\n } else if (paramType === 'string' && typeof value !== 'string') {\n value = String(value);\n }\n enrichedArgs[paramName] = value;\n }\n return originalExecute(enrichedArgs, message);\n }\n : async (args: Record<string, any>) => originalExecute(args),\n };\n\n if (tool.tags?.length) agentTool.tags = tool.tags;\n if (tool.keywords?.length) agentTool.keywords = tool.keywords;\n if (tool.permissions?.length) agentTool.permissions = [...tool.permissions];\n if (tool.preExecutable) agentTool.preExecutable = true;\n if (tool.kind) agentTool.kind = tool.kind;\n if (tool.source) agentTool.source = tool.source;\n if (tool.requiresApproval) agentTool.requiresApproval = tool.requiresApproval;\n if (tool.toModelOutput) agentTool.toModelOutput = tool.toModelOutput;\n const toolTimeout = (tool as { timeout?: number }).timeout;\n if (toolTimeout != null) agentTool.timeout = toolTimeout;\n const toolGeneration = (tool as { generation?: number }).generation;\n if (toolGeneration != null) agentTool.generation = toolGeneration;\n return agentTool;\n}\n"]}
@@ -212,4 +212,3 @@ export interface PostToolUseHook extends ToolHook {
212
212
  type: 'postToolUse';
213
213
  handler: PostToolUseHandler;
214
214
  }
215
- //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/resource-hub/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/resource-hub/types.ts"],"names":[],"mappings":"AAAA;;GAEG","sourcesContent":["/**\n * Orchestrator Types — 五类资源的类型定义\n */\n\nimport type { AgentTool, JsonSchema } from '@zhin.js/ai';\nimport type { ToolApprovalPolicy, ToolToModelOutputFn } from '@zhin.js/ai/tool-policy';\n\n// ============================================================================\n// Common\n// ============================================================================\n\nexport interface ResourceScope {\n agentId?: string;\n}\n\nexport interface ResourceEntry<T> {\n resource: T;\n scope: ResourceScope;\n source: string;\n}\n\n// ============================================================================\n// Skill\n// ============================================================================\n\nimport type { SenderRole, Message } from '@zhin.js/core';\nimport type { TurnContextView } from '../context/turn-envelope.js';\nexport type { SenderRole, Message };\n\n/**\n * 文件操作角色 — 在 IM 场景中对文件操作的权限分级\n * @see {@link FileRole} in @zhin.js/core for full documentation\n */\nexport type FileRole = 'owner' | 'admin' | 'user';\nexport type ToolScope = 'private' | 'group' | 'channel';\n\nexport interface ToolParametersSchema extends JsonSchema {\n type: 'object';\n properties?: Record<string, PropertySchema>;\n required?: string[];\n}\n\nexport interface PropertySchema {\n type: string;\n description?: string;\n default?: unknown;\n enum?: unknown[];\n items?: PropertySchema;\n contextKey?: string;\n [key: string]: unknown;\n}\n\n/**\n * IM-facing tool definition.\n * Mirrors @zhin.js/core Tool but with resource-hub-specific ToolParametersSchema.\n * The canonical definition is `Tool` from `@zhin.js/core`.\n */\nexport interface Tool<TArgs extends Record<string, any> = Record<string, any>> {\n name: string;\n description: string;\n parameters: ToolParametersSchema;\n execute: (args: TArgs, message?: Message) => unknown | Promise<unknown>;\n platforms?: string[];\n scopes?: ToolScope[];\n permissions?: string[];\n tags?: string[];\n keywords?: string[];\n hidden?: boolean;\n source?: string;\n preExecutable?: boolean;\n kind?: string;\n /** Per-tool approval (ADR 0039 P1); stacks with ExecPolicy. */\n requiresApproval?: ToolApprovalPolicy;\n /** Model-facing output shaping (ADR 0039 P1). */\n toModelOutput?: ToolToModelOutputFn<TArgs>;\n}\n\n/** @internal Legacy parameter inspection metadata. */\nexport namespace Tool {\n export interface ParamInfo {\n name: string;\n type: string;\n required: boolean;\n description?: string;\n default?: unknown;\n enum?: unknown[];\n }\n}\n\nexport interface ToolJsonSchema extends JsonSchema {\n type: 'object';\n properties?: Record<string, PropertySchema>;\n required?: string[];\n}\n\nexport interface Skill {\n name: string;\n description: string;\n tools: Tool[];\n platforms?: string[];\n keywords?: string[];\n tags?: string[];\n pluginName: string;\n filePath?: string;\n always?: boolean;\n}\n\nexport interface SkillMetadata {\n /** Catalog / lookup name(Seam `catalog()` 等目录面使用;frontmatter 侧可省略) */\n name?: string;\n description: string;\n keywords?: string[];\n tags?: string[];\n toolNames?: string[];\n platforms?: string[];\n scopes?: ToolScope[];\n permissions?: string[];\n always?: boolean;\n category?: string;\n /** 依赖的其他 skill */\n prerequisites?: string[];\n examples?: Array<{\n input: string;\n output: string;\n }>;\n}\n\n// ============================================================================\n// SubAgent\n// ============================================================================\n\nexport interface SubAgentDef {\n name: string;\n description: string;\n systemPrompt?: string;\n allowedTools?: string[];\n model?: string;\n maxIterations?: number;\n}\n\nexport interface AgentPreset {\n name: string;\n description: string;\n systemPrompt: string;\n tools?: string[];\n model?: string;\n filePath?: string;\n pluginName?: string;\n}\n\n// ============================================================================\n// MCP\n// ============================================================================\n\nexport interface McpServerEntry {\n name: string;\n transport: 'stdio' | 'streamable-http' | 'sse';\n url?: string;\n command?: string;\n args?: string[];\n env?: Record<string, string>;\n headers?: Record<string, string>;\n}\n\nexport interface McpResource {\n uri: string;\n name: string;\n description?: string;\n mimeType?: string;\n}\n\nexport interface McpPrompt {\n name: string;\n description?: string;\n arguments?: Array<{ name: string; description?: string; required?: boolean }>;\n}\n\n// ============================================================================\n// Hook\n// ============================================================================\n\nexport type AIHookEventType =\n | 'message'\n | 'session'\n | 'agent'\n | 'tool'\n | 'turn'\n | 'actions'\n | 'action'\n | 'reasoning'\n | 'subagent';\n\nexport interface AIHookEvent {\n type: AIHookEventType;\n action: string;\n sessionId?: string;\n context: Record<string, unknown>;\n timestamp: Date;\n messages: string[];\n}\n\nexport type AIHookHandler = (event: AIHookEvent) => Promise<void> | void;\n\nexport interface AIHook {\n name: string;\n event: string;\n handler: AIHookHandler;\n}\n\n// ============================================================================\n// Tool Hook (PreToolUse / PostToolUse interception)\n// ============================================================================\n\nexport type ToolHookDecision =\n | { decision: 'allow' }\n | { decision: 'deny'; reason: string }\n | { decision: 'modify'; modifiedInput: Record<string, unknown> }\n | { decision: 'skip' };\n\nexport type PostToolHookDecision =\n | { decision: 'accept' }\n | { decision: 'reject'; reason: string }\n | { decision: 'modify'; modifiedOutput: unknown };\n\nexport interface PreToolUseEvent {\n type: 'preToolUse';\n toolName: string;\n toolInput: Record<string, unknown>;\n toolSource?: string;\n sessionId: string;\n turn: TurnContextView;\n}\n\nexport interface PostToolUseEvent {\n type: 'postToolUse';\n toolName: string;\n toolInput: Record<string, unknown>;\n toolOutput: unknown;\n durationMs: number;\n sessionId: string;\n turn: TurnContextView;\n}\n\nexport type PreToolUseHandler = (event: PreToolUseEvent) => Promise<ToolHookDecision> | ToolHookDecision;\nexport type PostToolUseHandler = (event: PostToolUseEvent) => Promise<PostToolHookDecision> | PostToolHookDecision;\n\nexport interface ToolHook {\n name: string;\n /** Higher priority hooks run first. Default: 0. Security hooks use 1000+. */\n priority: number;\n}\n\nexport interface PreToolUseHook extends ToolHook {\n type: 'preToolUse';\n handler: PreToolUseHandler;\n}\n\nexport interface PostToolUseHook extends ToolHook {\n type: 'postToolUse';\n handler: PostToolUseHandler;\n}\n"]}
@@ -7,4 +7,3 @@ export interface TurnRuntimeBinding {
7
7
  model: string;
8
8
  }
9
9
  export declare function bindingToModelConfig(binding: ResolvedAgentBinding): Pick<ZhinAgentConfig, 'chatModel'>;
10
- //# sourceMappingURL=runtime-binding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-binding.js","sourceRoot":"","sources":["../../src/routing/runtime-binding.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,oBAAoB,CAAC,OAA6B;IAChE,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"runtime-binding.js","sourceRoot":"","sources":["../../src/routing/runtime-binding.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,oBAAoB,CAAC,OAA6B;IAChE,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC","sourcesContent":["import type { AIProvider } from '@zhin.js/ai';\nimport type { ResolvedAgentBinding } from '../config/types.js';\nimport type { ZhinAgentConfig } from '../config/index.js';\n\nexport interface TurnRuntimeBinding {\n binding: ResolvedAgentBinding;\n provider: AIProvider;\n model: string;\n}\n\nexport function bindingToModelConfig(binding: ResolvedAgentBinding): Pick<ZhinAgentConfig, 'chatModel'> {\n return {\n chatModel: binding.model,\n };\n}\n"]}
@@ -3,4 +3,3 @@ import type { AIService } from '../service.js';
3
3
  * 主 ZhinAgent 绑定下对子 agent 结果做轻量摘要后回复用户。
4
4
  */
5
5
  export declare function summarizeSubagentResultForUser(ai: AIService, subagentName: string, userRequest: string, subagentResult: string, signal?: AbortSignal): Promise<string>;
6
- //# sourceMappingURL=subagent-summarize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-summarize.js","sourceRoot":"","sources":["../../src/routing/subagent-summarize.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,EAAa,EACb,YAAoB,EACpB,WAAmB,EACnB,cAAsB,EACtB,MAAoB;IAEpB,MAAM,WAAW,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,CAAC;IACjE,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,uBAAuB,YAAY,qDAAqD,CAAC;IACxG,MAAM,IAAI,GAAG,UAAU,WAAW,sBAAsB,cAAc,EAAE,CAAC;IACzE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,cAAc,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC;IACxB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"subagent-summarize.js","sourceRoot":"","sources":["../../src/routing/subagent-summarize.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,EAAa,EACb,YAAoB,EACpB,WAAmB,EACnB,cAAsB,EACtB,MAAoB;IAEpB,MAAM,WAAW,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,CAAC;IACjE,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,uBAAuB,YAAY,qDAAqD,CAAC;IACxG,MAAM,IAAI,GAAG,UAAU,WAAW,sBAAsB,cAAc,EAAE,CAAC;IACzE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,cAAc,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC;IACxB,CAAC;AACH,CAAC","sourcesContent":["import type { AIService } from '../service.js';\nimport type { ResolvedAgentBinding } from '../config/types.js';\n/**\n * 主 ZhinAgent 绑定下对子 agent 结果做轻量摘要后回复用户。\n */\nexport async function summarizeSubagentResultForUser(\n ai: AIService,\n subagentName: string,\n userRequest: string,\n subagentResult: string,\n signal?: AbortSignal,\n): Promise<string> {\n const zhinBinding = ai.getBindingRegistry().requireZhinBinding();\n const provider = ai.getProvider(zhinBinding.providerAlias);\n const model = zhinBinding.model || provider.models[0];\n const system = `你是 Zhin 主助手。子 agent「${subagentName}」已完成任务,请将结果整理成面向用户的简洁回复(中文),保留关键事实,不要暴露内部工具名或 JSON。`;\n const user = `用户请求:\\n${userRequest}\\n\\n子 agent 原始输出:\\n${subagentResult}`;\n try {\n const text = await provider.completeText(system, user, { model, temperature: 0.3, signal });\n return text.trim() || subagentResult;\n } catch {\n return subagentResult;\n }\n}\n"]}
@@ -15,4 +15,3 @@ export declare function normalizeCronForScheduleKind(kind: CronScheduleKind, cro
15
15
  export declare function buildJobScheduleFromCronInput(kindInput: string | undefined, cron: string, tz?: string): JobSchedule | {
16
16
  error: string;
17
17
  };
18
- //# sourceMappingURL=schedule-cron.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-cron.js","sourceRoot":"","sources":["../src/schedule-cron.ts"],"names":[],"mappings":"AAOA,+CAA+C;AAC/C,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;AAEzD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAEpF,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAwB,EACxB,IAAY;IAEZ,MAAM,UAAU,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,WAAW,EAAsB,CAAC;IACvE,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,UAAU,CAAC;IAC9C,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,IAAI,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,4BAA4B,CAAC,IAAsB,EAAE,IAAY;IAC/E,IAAI,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACf,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACf,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,SAA6B,EAC7B,IAAY,EACZ,EAAW;IAEX,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;IAEhE,MAAM,IAAI,GAAG,yBAAyB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,CAAC;QAC3D,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,CAAC;QAC7D,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,CAAC;QAC7D,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,CAAC;QAC7D;YACE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,CAAC;IAC7D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"schedule-cron.js","sourceRoot":"","sources":["../src/schedule-cron.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Schedule cron 规范化 — profile / schedule_add 共用\n */\nimport type { JobSchedule } from './assistant/types.js';\n\nexport type CronScheduleKind = 'solar' | 'lunar' | 'workday' | 'freeDay' | 'holiday';\n\n/** solar + 周一到周五 cron 的常见误用(应使用 workday 语义) */\nconst SOLAR_WEEKDAY_RANGE = /^(1-5|mon-fri|1,2,3,4,5)$/i;\n\nconst CALENDAR_KINDS = new Set<CronScheduleKind>(['workday', 'freeDay', 'holiday']);\n\nfunction splitCronFields(cron: string): string[] {\n return cron.trim().split(/\\s+/).filter(Boolean);\n}\n\n/** 5 段 cron 补秒字段为 6 段 */\nexport function toSixFieldCron(cron: string): string {\n const parts = splitCronFields(cron);\n if (parts.length === 5) return ['0', ...parts].join(' ');\n return cron.trim();\n}\n\n/**\n * 未显式指定 schedule_kind 时:solar + 周一段 `1-5` → workday\n * (中国大陆法定工作日,含调休上班日,不是公历周一至周五)\n */\nexport function inferScheduleKindFromCron(\n kind: string | undefined,\n cron: string,\n): CronScheduleKind {\n const normalized = (kind || 'solar').toLowerCase() as CronScheduleKind;\n if (normalized !== 'solar') return normalized;\n const parts = splitCronFields(cron);\n const dow = parts.length === 6 ? parts[5] : parts.length === 5 ? parts[4] : '';\n if (dow && SOLAR_WEEKDAY_RANGE.test(dow.trim())) return 'workday';\n return 'solar';\n}\n\n/** workday/freeDay/holiday 的日/月/周应为 `*`,仅时刻由 cron 决定 */\nexport function normalizeCronForScheduleKind(kind: CronScheduleKind, cron: string): string {\n let parts = splitCronFields(cron);\n if (parts.length === 5) parts = ['0', ...parts];\n if (parts.length !== 6) return cron.trim();\n if (CALENDAR_KINDS.has(kind)) {\n parts[3] = '*';\n parts[4] = '*';\n parts[5] = '*';\n }\n return parts.join(' ');\n}\n\nexport function buildJobScheduleFromCronInput(\n kindInput: string | undefined,\n cron: string,\n tz?: string,\n): JobSchedule | { error: string } {\n const trimmed = cron?.trim();\n if (!trimmed) return { error: '请提供 6 段 cron 表达式(秒 分 时 日 月 周)' };\n\n const kind = inferScheduleKindFromCron(kindInput, trimmed);\n const normalizedCron = normalizeCronForScheduleKind(kind, trimmed);\n const tzOpt = tz ? { tz } : {};\n\n switch (kind) {\n case 'lunar':\n return { kind: 'lunar', cron: normalizedCron, ...tzOpt };\n case 'workday':\n return { kind: 'workday', cron: normalizedCron, ...tzOpt };\n case 'freeDay':\n return { kind: 'freeDay', cron: normalizedCron, ...tzOpt };\n case 'holiday':\n return { kind: 'holiday', cron: normalizedCron, ...tzOpt };\n default:\n return { kind: 'solar', cron: normalizedCron, ...tzOpt };\n }\n}\n"]}
@@ -35,4 +35,3 @@ export declare class JsonlScheduleAuditLogger implements ScheduleAuditLogger {
35
35
  constructor(dataDir?: string);
36
36
  write(record: ScheduleAuditRecord): Promise<void>;
37
37
  }
38
- //# sourceMappingURL=audit-logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit-logger.js","sourceRoot":"","sources":["../../src/schedule-domain/audit-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AA4B1C,MAAM,UAAU,yBAAyB,CACvC,KACqJ;IAErJ,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACxC,OAAO;QACL,GAAG,KAAK;QACR,SAAS;QACT,aAAa,EAAE,SAAS,CAAC,MAAM;QAC/B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACvD,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC;QACjC,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,EAAE;QAC5C,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK;QAC/B,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC;QACrC,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,EAAE;KAC3C,CAAC;AACJ,CAAC;AAMD,MAAM,OAAO,wBAAwB;IAC1B,QAAQ,CAAS;IAE1B,YAAY,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAA2B;QACrC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;CACF"}
1
+ {"version":3,"file":"audit-logger.js","sourceRoot":"","sources":["../../src/schedule-domain/audit-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AA4B1C,MAAM,UAAU,yBAAyB,CACvC,KACqJ;IAErJ,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACxC,OAAO;QACL,GAAG,KAAK;QACR,SAAS;QACT,aAAa,EAAE,SAAS,CAAC,MAAM;QAC/B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACvD,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC;QACjC,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,EAAE;QAC5C,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK;QAC/B,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC;QACrC,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,EAAE;KAC3C,CAAC;AACJ,CAAC;AAMD,MAAM,OAAO,wBAAwB;IAC1B,QAAQ,CAAS;IAE1B,YAAY,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAA2B;QACrC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;CACF","sourcesContent":["import { mkdir, appendFile } from 'node:fs/promises';\nimport { dirname, join } from 'node:path';\nimport type { ScheduleJobCreator } from '../assistant/types.js';\nimport type { ScheduleBudgetTermination } from './budget-guard.js';\nimport type { ScheduleSecurityDenial } from './security-harness.js';\n\nexport interface ScheduleAuditRecord {\n jobId: string;\n executionId: string;\n timestamp: number;\n createdBy?: ScheduleJobCreator;\n prompt: string;\n toolsResolved: string[];\n toolsResolvedBy: 'execution-plan' | 'affinity';\n skillsResolved: string[];\n missingTools: string[];\n missingSkills: string[];\n toolsUsed: string[];\n toolCallCount: number;\n tokenUsage: { input: number; output: number };\n durationMs: number;\n budgetTerminated?: ScheduleBudgetTermination;\n securityDenials: ScheduleSecurityDenial[];\n success: boolean;\n outputLength: number;\n outputStripped: string[];\n error?: string;\n}\n\nexport function createScheduleAuditRecord(\n input: Omit<ScheduleAuditRecord, 'toolsUsed' | 'toolCallCount' | 'tokenUsage' | 'durationMs' | 'securityDenials' | 'success' | 'outputLength' | 'outputStripped'>\n & Partial<Pick<ScheduleAuditRecord, 'toolsUsed' | 'tokenUsage' | 'durationMs' | 'securityDenials' | 'success' | 'outputLength' | 'outputStripped'>>,\n): ScheduleAuditRecord {\n const toolsUsed = input.toolsUsed ?? [];\n return {\n ...input,\n toolsUsed,\n toolCallCount: toolsUsed.length,\n tokenUsage: input.tokenUsage ?? { input: 0, output: 0 },\n durationMs: input.durationMs ?? 0,\n securityDenials: input.securityDenials ?? [],\n success: input.success ?? false,\n outputLength: input.outputLength ?? 0,\n outputStripped: input.outputStripped ?? [],\n };\n}\n\nexport interface ScheduleAuditLogger {\n write(record: ScheduleAuditRecord): Promise<void>;\n}\n\nexport class JsonlScheduleAuditLogger implements ScheduleAuditLogger {\n readonly filePath: string;\n\n constructor(dataDir = join(process.cwd(), 'data')) {\n this.filePath = join(dataDir, 'schedule-audit.jsonl');\n }\n\n async write(record: ScheduleAuditRecord): Promise<void> {\n await mkdir(dirname(this.filePath), { recursive: true });\n await appendFile(this.filePath, `${JSON.stringify(record)}\\n`, 'utf8');\n }\n}\n"]}
@@ -24,4 +24,3 @@ export declare class BudgetGuard {
24
24
  constructor(budget: ScheduleExecutionBudget);
25
25
  run<T>(operation: (context: BudgetRunContext) => Promise<T>, externalSignal?: AbortSignal): Promise<BudgetRunResult<T>>;
26
26
  }
27
- //# sourceMappingURL=budget-guard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"budget-guard.js","sourceRoot":"","sources":["../../src/schedule-domain/budget-guard.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAO,WAAW;IACD;IAArB,YAAqB,MAA+B;QAA/B,WAAM,GAAN,MAAM,CAAyB;IAAG,CAAC;IAExD,KAAK,CAAC,GAAG,CACP,SAAoD,EACpD,cAA4B;QAE5B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,YAAmD,CAAC;QACxD,IAAI,UAAU,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACzC,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,CAAC,MAAiC,EAAE,EAAE;YACtD,IAAI,YAAY;gBAAE,OAAO;YACzB,YAAY,GAAG,MAAM,CAAC;YACtB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAClB,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,cAAc,EAAE,OAAO;YAAE,cAAc,EAAE,CAAC;;YACzC,cAAc,EAAE,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/E,IAAI,CAAC;YACH,cAAc,EAAE,cAAc,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC;gBAC5B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;oBACzB,UAAU,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;oBAC/B,IAAI,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;wBAAE,SAAS,CAAC,aAAa,CAAC,CAAC;gBACvE,CAAC;gBACD,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrB,IAAI,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY;wBAAE,SAAS,CAAC,YAAY,CAAC,CAAC;gBAC3E,CAAC;aACF,CAAC,CAAC;YACH,cAAc,EAAE,cAAc,EAAE,CAAC;YACjC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChE,YAAY;gBACZ,UAAU;gBACV,SAAS;aACV,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,cAAc,EAAE,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"budget-guard.js","sourceRoot":"","sources":["../../src/schedule-domain/budget-guard.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAO,WAAW;IACD;IAArB,YAAqB,MAA+B;QAA/B,WAAM,GAAN,MAAM,CAAyB;IAAG,CAAC;IAExD,KAAK,CAAC,GAAG,CACP,SAAoD,EACpD,cAA4B;QAE5B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,YAAmD,CAAC;QACxD,IAAI,UAAU,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACzC,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,CAAC,MAAiC,EAAE,EAAE;YACtD,IAAI,YAAY;gBAAE,OAAO;YACzB,YAAY,GAAG,MAAM,CAAC;YACtB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAClB,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,cAAc,EAAE,OAAO;YAAE,cAAc,EAAE,CAAC;;YACzC,cAAc,EAAE,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/E,IAAI,CAAC;YACH,cAAc,EAAE,cAAc,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC;gBAC5B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;oBACzB,UAAU,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;oBAC/B,IAAI,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;wBAAE,SAAS,CAAC,aAAa,CAAC,CAAC;gBACvE,CAAC;gBACD,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrB,IAAI,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY;wBAAE,SAAS,CAAC,YAAY,CAAC,CAAC;gBAC3E,CAAC;aACF,CAAC,CAAC;YACH,cAAc,EAAE,cAAc,EAAE,CAAC;YACjC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChE,YAAY;gBACZ,UAAU;gBACV,SAAS;aACV,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,cAAc,EAAE,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;CACF","sourcesContent":["export type ScheduleBudgetTermination = 'token_limit' | 'tool_limit' | 'timeout';\n\nexport interface ScheduleExecutionBudget {\n maxTokens: number;\n maxToolCalls: number;\n timeoutMs: number;\n}\n\nexport interface BudgetRunContext {\n signal: AbortSignal;\n onUsage(input: number, output: number): void;\n onToolCall(name: string): void;\n}\n\nexport interface BudgetRunResult<T> {\n value?: T;\n error?: Error;\n terminatedBy?: ScheduleBudgetTermination;\n tokenUsage: { input: number; output: number };\n toolCalls: string[];\n}\n\nexport class BudgetGuard {\n constructor(readonly budget: ScheduleExecutionBudget) {}\n\n async run<T>(\n operation: (context: BudgetRunContext) => Promise<T>,\n externalSignal?: AbortSignal,\n ): Promise<BudgetRunResult<T>> {\n const controller = new AbortController();\n let terminatedBy: ScheduleBudgetTermination | undefined;\n let tokenUsage = { input: 0, output: 0 };\n const toolCalls: string[] = [];\n const terminate = (reason: ScheduleBudgetTermination) => {\n if (terminatedBy) return;\n terminatedBy = reason;\n controller.abort(reason);\n };\n const timeout = setTimeout(() => terminate('timeout'), this.budget.timeoutMs);\n timeout.unref?.();\n const abortFromOwner = () => controller.abort(externalSignal?.reason);\n if (externalSignal?.aborted) abortFromOwner();\n else externalSignal?.addEventListener('abort', abortFromOwner, { once: true });\n\n try {\n externalSignal?.throwIfAborted();\n const value = await operation({\n signal: controller.signal,\n onUsage: (input, output) => {\n tokenUsage = { input, output };\n if (input + output > this.budget.maxTokens) terminate('token_limit');\n },\n onToolCall: (name) => {\n toolCalls.push(name);\n if (toolCalls.length > this.budget.maxToolCalls) terminate('tool_limit');\n },\n });\n externalSignal?.throwIfAborted();\n return { value, terminatedBy, tokenUsage, toolCalls };\n } catch (error) {\n return {\n error: error instanceof Error ? error : new Error(String(error)),\n terminatedBy,\n tokenUsage,\n toolCalls,\n };\n } finally {\n clearTimeout(timeout);\n externalSignal?.removeEventListener('abort', abortFromOwner);\n }\n }\n}\n"]}
@@ -51,4 +51,3 @@ export declare class ScheduleExecutionDomainImpl implements ScheduleExecutionDom
51
51
  constructor(deps: ScheduleExecutionDomainDeps);
52
52
  execute(job: ScheduleJob, options?: ScheduleExecutionOptions): Promise<ScheduleExecutionResult>;
53
53
  }
54
- //# sourceMappingURL=execution-domain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution-domain.js","sourceRoot":"","sources":["../../src/schedule-domain/execution-domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-domain.js","sourceRoot":"","sources":["../../src/schedule-domain/execution-domain.ts"],"names":[],"mappings":"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","sourcesContent":["import { renderAgentOutput, type AgentOutputElement } from '../outbound/agent-output.js';\nimport { randomUUID } from 'node:crypto';\n\nimport type { TurnEvent } from '../event/turn-event.js';\nimport type { ScheduleJob, ScheduleJobCreator, ScheduleJobExecutionPlan } from '../assistant/types.js';\nimport type { ZhinAgentConfig } from '../config/zhin-agent-config.js';\nimport { DEFAULT_CONFIG } from '../config/zhin-agent-defaults.js';\nimport { BudgetGuard, type ScheduleExecutionBudget } from './budget-guard.js';\nimport {\n JsonlScheduleAuditLogger,\n createScheduleAuditRecord,\n type ScheduleAuditLogger,\n type ScheduleAuditRecord,\n} from './audit-logger.js';\nimport { validateScheduleOutput } from './output-validator.js';\nimport { createScheduleSecurityContext, type ScheduleSecurityDenial } from './security-harness.js';\nimport type { TurnOutcome } from '../turn/turn-ingress.js';\n\nexport interface ScheduleExecutionResult {\n success: boolean;\n output: string;\n durationMs: number;\n toolsUsed: string[];\n tokenUsage: { input: number; output: number };\n error?: string;\n audit: ScheduleAuditRecord;\n}\n\nexport interface ScheduleExecutionOptions {\n preview?: boolean;\n signal?: AbortSignal;\n}\n\nexport interface ScheduleExecutionDomain {\n execute(job: ScheduleJob, options?: ScheduleExecutionOptions): Promise<ScheduleExecutionResult>;\n}\n\nexport interface ScheduleTurnExecutionRequest {\n readonly executionId: string;\n readonly jobId: string;\n readonly prompt: string;\n readonly agent?: string;\n readonly preview: boolean;\n readonly createdBy?: ScheduleJobCreator;\n readonly executionPlan?: ScheduleJobExecutionPlan;\n readonly security: ReturnType<typeof createScheduleSecurityContext>;\n readonly signal: AbortSignal;\n readonly onTurnEvent: (event: TurnEvent) => void;\n}\n\nexport interface ScheduleTurnPort {\n execute(request: ScheduleTurnExecutionRequest): Promise<TurnOutcome>;\n}\n\nexport interface ScheduleExecutionDomainDeps {\n turn: ScheduleTurnPort;\n config: Required<ZhinAgentConfig>;\n auditLogger?: ScheduleAuditLogger;\n now?: () => number;\n}\n\nfunction textFromElements(elements: AgentOutputElement[]): string {\n return elements.map(element => {\n if (element.type === 'message') return renderAgentOutput([element]);\n if (element.type === 'text') return element.content || '';\n if (element.type === 'image') return `<image url=\"${element.url}\"/>`;\n return '';\n }).join('\\n').trim();\n}\n\nfunction resolveBudget(config: Required<ZhinAgentConfig>, job: ScheduleJob): ScheduleExecutionBudget {\n const global = config.schedule?.budget ?? DEFAULT_CONFIG.schedule?.budget ?? {};\n return {\n maxTokens: job.budget?.maxTokens ?? global.maxTokens ?? 32_000,\n maxToolCalls: job.budget?.maxToolCalls ?? global.maxToolCalls ?? 15,\n timeoutMs: job.budget?.timeoutMs ?? global.timeoutMs ?? 120_000,\n };\n}\n\nfunction terminationLabel(reason: NonNullable<ScheduleAuditRecord['budgetTerminated']>): string {\n if (reason === 'token_limit') return 'token 预算耗尽';\n if (reason === 'tool_limit') return '工具调用预算耗尽';\n return '执行超时';\n}\n\nexport class ScheduleExecutionDomainImpl implements ScheduleExecutionDomain {\n private readonly auditLogger: ScheduleAuditLogger;\n private readonly now: () => number;\n\n constructor(private readonly deps: ScheduleExecutionDomainDeps) {\n this.auditLogger = deps.auditLogger ?? new JsonlScheduleAuditLogger();\n this.now = deps.now ?? Date.now;\n }\n\n async execute(\n job: ScheduleJob,\n options: ScheduleExecutionOptions = {},\n ): Promise<ScheduleExecutionResult> {\n options.signal?.throwIfAborted();\n const startedAt = this.now();\n const executionId = randomUUID();\n const prompt = job.executionPlan?.prompt?.trim() || job.action.prompt.trim();\n const security = createScheduleSecurityContext(\n this.deps.config.schedule?.security?.execPreset ?? 'readonly',\n this.deps.config.schedule?.security?.allowedDomains ?? [],\n );\n const securityDenials: ScheduleSecurityDenial[] = [];\n let resolution: ScheduleToolResolution = {\n tools: [], skills: [], resolvedBy: 'affinity', missingTools: [], missingSkills: [],\n };\n const guard = new BudgetGuard(resolveBudget(this.deps.config, job));\n let streamed = '';\n let usageSeen = false;\n let cumulativeUsage = { input: 0, output: 0 };\n\n const guarded = await guard.run(async budget => this.deps.turn.execute({\n executionId,\n jobId: job.id,\n prompt,\n agent: job.action.kind === 'agent' ? job.action.agent : undefined,\n preview: options.preview === true,\n createdBy: job.createdBy,\n executionPlan: job.executionPlan,\n security,\n signal: budget.signal,\n onTurnEvent: (event: TurnEvent) => {\n if (event.type === 'chunk') streamed = event.accumulated;\n if (event.type === 'capability_resolution') {\n resolution = {\n tools: [...event.tools],\n skills: [...event.skills],\n resolvedBy: event.resolvedBy === 'session' ? 'affinity' : event.resolvedBy,\n missingTools: [...event.missingTools],\n missingSkills: [...event.missingSkills],\n };\n }\n if (event.type === 'tool_call') budget.onToolCall(event.toolName);\n if (event.type === 'tool_denied') {\n securityDenials.push({ tool: event.toolName, policy: event.policy, reason: event.reason });\n }\n if (event.type === 'usage') {\n usageSeen = true;\n cumulativeUsage = {\n input: cumulativeUsage.input + event.usage.promptTokens,\n output: cumulativeUsage.output + event.usage.completionTokens,\n };\n budget.onUsage(cumulativeUsage.input, cumulativeUsage.output);\n } else if (event.type === 'turn_end' && !usageSeen) {\n budget.onUsage(event.usage.promptTokens, event.usage.completionTokens);\n }\n },\n }), options.signal);\n options.signal?.throwIfAborted();\n const outcome = guarded.value;\n const completedOutput = outcome?.status === 'completed' ? outcome.output : [];\n const raw = completedOutput.length > 0 ? textFromElements([...completedOutput]) : streamed;\n const validation = validateScheduleOutput(raw);\n const suffix = guarded.terminatedBy ? `\\n\\n[任务因${terminationLabel(guarded.terminatedBy)}被终止]` : '';\n const output = validation.valid ? `${validation.cleaned}${suffix}` : '';\n const durationMs = this.now() - startedAt;\n const acceptedPartial = Boolean(guarded.terminatedBy && validation.valid);\n const outcomeError = outcome && outcome.status !== 'completed'\n ? outcome.status === 'failed' ? outcome.error.message\n : outcome.status === 'cancelled' ? outcome.reason\n : `budget exceeded: ${outcome.budget}`\n : undefined;\n const error = acceptedPartial\n ? undefined\n : guarded.error?.message ?? outcomeError\n ?? (validation.valid ? undefined : 'schedule output is empty after validation');\n const audit = createScheduleAuditRecord({\n jobId: job.id,\n executionId,\n timestamp: startedAt,\n createdBy: job.createdBy,\n prompt,\n toolsResolved: resolution.tools,\n toolsResolvedBy: resolution.resolvedBy,\n skillsResolved: resolution.skills,\n missingTools: resolution.missingTools,\n missingSkills: resolution.missingSkills,\n toolsUsed: guarded.toolCalls,\n tokenUsage: guarded.tokenUsage,\n durationMs,\n budgetTerminated: guarded.terminatedBy,\n securityDenials,\n success: Boolean(acceptedPartial || (!guarded.error && outcome?.status === 'completed' && validation.valid)),\n outputLength: output.length,\n outputStripped: validation.stripped,\n error,\n });\n await this.auditLogger.write(audit);\n return {\n success: audit.success,\n output,\n durationMs,\n toolsUsed: guarded.toolCalls,\n tokenUsage: guarded.tokenUsage,\n error: audit.error,\n audit,\n };\n }\n}\n\ninterface ScheduleToolResolution {\n tools: string[];\n skills: string[];\n resolvedBy: 'execution-plan' | 'affinity';\n missingTools: string[];\n missingSkills: string[];\n}\n"]}
@@ -4,4 +4,3 @@ export * from './execution-domain.js';
4
4
  export * from './output-validator.js';
5
5
  export * from './prompt-assembler.js';
6
6
  export * from './security-harness.js';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schedule-domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schedule-domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC","sourcesContent":["export * from './audit-logger.js';\nexport * from './budget-guard.js';\nexport * from './execution-domain.js';\nexport * from './output-validator.js';\nexport * from './prompt-assembler.js';\nexport * from './security-harness.js';\n"]}
@@ -4,4 +4,3 @@ export interface OutputValidation {
4
4
  stripped: string[];
5
5
  }
6
6
  export declare function validateScheduleOutput(output: string): OutputValidation;
7
- //# sourceMappingURL=output-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"output-validator.js","sourceRoot":"","sources":["../../src/schedule-domain/output-validator.ts"],"names":[],"mappings":"AAMA,MAAM,YAAY,GAAG,gDAAgD,CAAC;AACtE,MAAM,aAAa,GAAG,qCAAqC,CAAC;AAC5D,MAAM,aAAa,GAAG,oCAAoC,CAAC;AAE3D,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,MAAM;SACtB,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;SACvB,KAAK,CAAC,YAAY,CAAC;SACnB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACxB,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAG,CAAC,CAAC;YACnC,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAG,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"output-validator.js","sourceRoot":"","sources":["../../src/schedule-domain/output-validator.ts"],"names":[],"mappings":"AAMA,MAAM,YAAY,GAAG,gDAAgD,CAAC;AACtE,MAAM,aAAa,GAAG,qCAAqC,CAAC;AAC5D,MAAM,aAAa,GAAG,oCAAoC,CAAC;AAE3D,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,MAAM;SACtB,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;SACvB,KAAK,CAAC,YAAY,CAAC;SACnB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACxB,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAG,CAAC,CAAC;YACnC,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAG,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC1D,CAAC","sourcesContent":["export interface OutputValidation {\n valid: boolean;\n cleaned: string;\n stripped: string[];\n}\n\nconst LEADING_META = /^(收到|好的|好[,,。!!]|没问题|正在|已完成|为您|帮你|我(?:来|会|将))/u;\nconst TRAILING_META = /^(?:如果.*(?:可以|请|告诉)|还有.*需要|希望.*帮助)/u;\nconst SYSTEM_MARKER = /^\\s*\\[(?:系统|任务|调度|schedule)\\]\\s*/iu;\n\nexport function validateScheduleOutput(output: string): OutputValidation {\n const stripped: string[] = [];\n const paragraphs = output\n .replace(/\\r\\n?/g, '\\n')\n .split(/\\n\\s*\\n|\\n/)\n .map(part => part.trim())\n .map(part => {\n if (!SYSTEM_MARKER.test(part)) return part;\n const cleaned = part.replace(SYSTEM_MARKER, '').trim();\n if (!cleaned || LEADING_META.test(cleaned)) {\n stripped.push(part);\n return '';\n }\n stripped.push(part.slice(0, part.length - cleaned.length));\n return cleaned;\n })\n .filter(Boolean);\n while (paragraphs.length > 0) {\n const first = paragraphs[0];\n if (LEADING_META.test(first)) {\n stripped.push(paragraphs.shift()!);\n continue;\n }\n break;\n }\n while (paragraphs.length > 0 && TRAILING_META.test(paragraphs[paragraphs.length - 1])) {\n stripped.push(paragraphs.pop()!);\n }\n\n const cleaned = paragraphs.join('\\n\\n').trim();\n return { valid: cleaned.length > 0, cleaned, stripped };\n}\n"]}
@@ -18,4 +18,3 @@ export interface SchedulePromptAssembly {
18
18
  userPrompt: string;
19
19
  }
20
20
  export declare function assembleSchedulePrompt(input: SchedulePromptAssemblerInput): SchedulePromptAssembly;
21
- //# sourceMappingURL=prompt-assembler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-assembler.js","sourceRoot":"","sources":["../../src/schedule-domain/prompt-assembler.ts"],"names":[],"mappings":"AAoBA,SAAS,UAAU,CAAC,GAAS,EAAE,QAAiB;IAC9C,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QACtC,QAAQ;QACR,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,KAAK;KACd,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,OAAgB;IAC9C,MAAM,KAAK,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAmC;IACxE,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS;QAC7B,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,GAAG;QACzG,CAAC,CAAC,mBAAmB,CAAC;IACxB,MAAM,QAAQ,GAAG;QACf,WAAW;QACX,6BAA6B;QAC7B,0BAA0B;QAC1B,uCAAuC;KACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,OAAO,GAAG;QACd,SAAS;QACT,SAAS,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC9D,UAAU,KAAK,CAAC,KAAK,EAAE;QACvB,QAAQ,OAAO,EAAE;KAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,UAAU,IAAI,UAAU,CAAC;IAC5D,MAAM,MAAM,GAAG;QACb,QAAQ;QACR,qBAAqB;QACrB,eAAe,UAAU,qBAAqB;QAC9C,+BAA+B;KAChC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,MAAM,GAAG;QACb,QAAQ;QACR,8BAA8B;KAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;QACL,YAAY,EAAE;YACZ,QAAQ;YACR,OAAO;YACP,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC;YACvC,MAAM;YACN,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC;YACnC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC;YAClC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC;YAC/C,MAAM;SACP,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACjE,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;KAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"prompt-assembler.js","sourceRoot":"","sources":["../../src/schedule-domain/prompt-assembler.ts"],"names":[],"mappings":"AAoBA,SAAS,UAAU,CAAC,GAAS,EAAE,QAAiB;IAC9C,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QACtC,QAAQ;QACR,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,KAAK;KACd,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,OAAgB;IAC9C,MAAM,KAAK,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAmC;IACxE,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS;QAC7B,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,GAAG;QACzG,CAAC,CAAC,mBAAmB,CAAC;IACxB,MAAM,QAAQ,GAAG;QACf,WAAW;QACX,6BAA6B;QAC7B,0BAA0B;QAC1B,uCAAuC;KACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,OAAO,GAAG;QACd,SAAS;QACT,SAAS,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC9D,UAAU,KAAK,CAAC,KAAK,EAAE;QACvB,QAAQ,OAAO,EAAE;KAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,UAAU,IAAI,UAAU,CAAC;IAC5D,MAAM,MAAM,GAAG;QACb,QAAQ;QACR,qBAAqB;QACrB,eAAe,UAAU,qBAAqB;QAC9C,+BAA+B;KAChC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,MAAM,GAAG;QACb,QAAQ;QACR,8BAA8B;KAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;QACL,YAAY,EAAE;YACZ,QAAQ;YACR,OAAO;YACP,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC;YACvC,MAAM;YACN,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC;YACnC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC;YAClC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC;YAC/C,MAAM;SACP,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACjE,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;KAChC,CAAC;AACJ,CAAC","sourcesContent":["import type { ScheduleJobCreator } from '../assistant/types.js';\n\nexport interface SchedulePromptAssemblerInput {\n jobId: string;\n prompt: string;\n createdBy?: ScheduleJobCreator;\n now?: Date;\n timeZone?: string;\n platformContext?: string;\n memoryContext?: string;\n skillContext?: string;\n bootstrapContext?: string;\n security?: Readonly<{ execPreset: 'readonly' | 'network' }>;\n}\n\nexport interface SchedulePromptAssembly {\n systemPrompt: string;\n userPrompt: string;\n}\n\nfunction formatTime(now: Date, timeZone?: string): string {\n return new Intl.DateTimeFormat('zh-CN', {\n timeZone,\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n weekday: 'long',\n hour12: false,\n }).format(now);\n}\n\nfunction section(title: string, content?: string): string | null {\n const value = content?.trim();\n return value ? `# ${title}\\n${value}` : null;\n}\n\nexport function assembleSchedulePrompt(input: SchedulePromptAssemblerInput): SchedulePromptAssembly {\n const creator = input.createdBy\n ? `${input.createdBy.name ?? input.createdBy.userId} (${input.createdBy.roles.join(', ') || 'readonly'})`\n : 'system (readonly)';\n const identity = [\n '# 执行身份与约束',\n '你是一个定时任务执行引擎。直接完成任务并输出最终结果。',\n '禁止确认语、进度报告、寒暄、元评论和对话式措辞。',\n '不得请求用户确认,不得派生子任务。工具或权限不足时明确失败,不得虚构结果。',\n ].join('\\n');\n const runtime = [\n '# 执行上下文',\n `当前时间: ${formatTime(input.now ?? new Date(), input.timeZone)}`,\n `任务 ID: ${input.jobId}`,\n `创建者: ${creator}`,\n ].join('\\n');\n const execPreset = input.security?.execPreset ?? 'readonly';\n const safety = [\n '# 安全约束',\n '- 文件访问仅限 workspace。',\n `- Shell 仅允许 ${execPreset} preset;无人值守审批一律拒绝。`,\n '- 网络访问仅允许 HTTPS 且必须通过既有域名白名单。',\n ].join('\\n');\n const output = [\n '# 输出格式',\n '只输出最终内容,不包含前缀、后缀、系统标记或执行元信息。',\n ].join('\\n');\n\n return {\n systemPrompt: [\n identity,\n runtime,\n section('平台上下文', input.platformContext),\n safety,\n section('技能指令', input.skillContext),\n section('记忆', input.memoryContext),\n section('Workspace 指令', input.bootstrapContext),\n output,\n ].filter((value): value is string => Boolean(value)).join('\\n\\n'),\n userPrompt: input.prompt.trim(),\n };\n}\n"]}
@@ -21,4 +21,3 @@ export declare class ScheduleExecutionQueue {
21
21
  enqueueAndWait<T>(request: ScheduleExecutionRequest<T>): Promise<T>;
22
22
  dispose(): Promise<void>;
23
23
  }
24
- //# sourceMappingURL=schedule-execution-queue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-execution-queue.js","sourceRoot":"","sources":["../../src/schedule-domain/schedule-execution-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule-execution-queue.js","sourceRoot":"","sources":["../../src/schedule-domain/schedule-execution-queue.ts"],"names":[],"mappings":"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","sourcesContent":["export interface ScheduleExecutionQueueOptions {\n readonly maxConcurrency: number;\n readonly defaultTimeoutMs: number;\n readonly defaultMaxRetries: number;\n}\n\nexport interface ScheduleExecutionRequest<T> {\n readonly name: string;\n readonly timeoutMs?: number;\n readonly maxRetries?: number;\n readonly execute: (signal: AbortSignal) => Promise<T>;\n}\n\ninterface PendingExecution<T> extends ScheduleExecutionRequest<T> {\n readonly resolve: (value: T) => void;\n readonly reject: (error: Error) => void;\n}\n\nfunction cancellationError(name: string): Error {\n return new Error(`Schedule execution ${name} cancelled`);\n}\n\n/**\n * Generation-owned concurrency boundary for Schedule turns.\n *\n * It deliberately owns only admission, retry, timeout and drain. Workroom\n * dependencies/priorities belong to the durable Workroom scheduler, not here.\n */\nexport class ScheduleExecutionQueue {\n readonly #options: ScheduleExecutionQueueOptions;\n readonly #pending: PendingExecution<unknown>[] = [];\n readonly #running = new Set<Promise<void>>();\n readonly #controllers = new Set<AbortController>();\n #disposed = false;\n\n constructor(options: ScheduleExecutionQueueOptions) {\n if (!Number.isInteger(options.maxConcurrency) || options.maxConcurrency < 1) {\n throw new Error('Schedule execution maxConcurrency must be a positive integer');\n }\n if (!Number.isInteger(options.defaultMaxRetries) || options.defaultMaxRetries < 0) {\n throw new Error('Schedule execution defaultMaxRetries must be a non-negative integer');\n }\n if (!Number.isFinite(options.defaultTimeoutMs) || options.defaultTimeoutMs <= 0) {\n throw new Error('Schedule execution defaultTimeoutMs must be positive');\n }\n this.#options = options;\n }\n\n enqueueAndWait<T>(request: ScheduleExecutionRequest<T>): Promise<T> {\n this.#assertActive();\n if (request.maxRetries !== undefined\n && (!Number.isInteger(request.maxRetries) || request.maxRetries < 0)) {\n throw new Error('Schedule execution maxRetries must be a non-negative integer');\n }\n if (request.timeoutMs !== undefined\n && (!Number.isFinite(request.timeoutMs) || request.timeoutMs <= 0)) {\n throw new Error('Schedule execution timeoutMs must be positive');\n }\n return new Promise<T>((resolve, reject) => {\n this.#pending.push({\n ...request,\n resolve: resolve as (value: unknown) => void,\n reject,\n });\n this.#drain();\n });\n }\n\n async dispose(): Promise<void> {\n if (this.#disposed) {\n await Promise.allSettled([...this.#running]);\n return;\n }\n this.#disposed = true;\n\n for (const pending of this.#pending.splice(0)) {\n pending.reject(cancellationError(pending.name));\n }\n for (const controller of this.#controllers) {\n controller.abort(cancellationError('during disposal'));\n }\n\n await Promise.allSettled([...this.#running]);\n }\n\n #assertActive(): void {\n if (this.#disposed) {\n throw new Error('Schedule execution queue is disposed');\n }\n }\n\n #drain(): void {\n while (!this.#disposed && this.#running.size < this.#options.maxConcurrency) {\n const pending = this.#pending.shift();\n if (!pending) return;\n\n const settlement = this.#run(pending);\n this.#running.add(settlement);\n void settlement.then(() => {\n this.#running.delete(settlement);\n this.#drain();\n });\n }\n }\n\n async #run<T>(pending: PendingExecution<T>): Promise<void> {\n const maxRetries = pending.maxRetries ?? this.#options.defaultMaxRetries;\n const timeoutMs = pending.timeoutMs ?? this.#options.defaultTimeoutMs;\n let attempt = 0;\n\n while (true) {\n const controller = new AbortController();\n this.#controllers.add(controller);\n const timeout = setTimeout(() => {\n controller.abort(new Error(`Schedule execution ${pending.name} timed out after ${timeoutMs}ms`));\n }, timeoutMs);\n timeout.unref?.();\n\n try {\n const value = await pending.execute(controller.signal);\n if (controller.signal.aborted) {\n pending.reject(abortReason(controller.signal, pending.name));\n } else {\n pending.resolve(value);\n }\n return;\n } catch (error) {\n if (controller.signal.aborted || this.#disposed) {\n pending.reject(abortReason(controller.signal, pending.name));\n return;\n }\n if (attempt >= maxRetries) {\n pending.reject(error instanceof Error ? error : new Error(String(error)));\n return;\n }\n attempt += 1;\n } finally {\n clearTimeout(timeout);\n this.#controllers.delete(controller);\n }\n }\n }\n}\n\nfunction abortReason(signal: AbortSignal, name: string): Error {\n if (signal.reason instanceof Error) return signal.reason;\n return cancellationError(name);\n}\n"]}
@@ -11,4 +11,3 @@ export interface ScheduleSecurityDenial {
11
11
  }
12
12
  export declare function createScheduleSecurityContext(execPreset?: ScheduleSecurityContext['execPreset'], allowedDomains?: string[]): ScheduleSecurityContext;
13
13
  export declare function demoteScheduleCreator(creator: ScheduleJobCreator): ScheduleJobCreator;
14
- //# sourceMappingURL=security-harness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security-harness.js","sourceRoot":"","sources":["../../src/schedule-domain/security-harness.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,6BAA6B,CAC3C,aAAoD,UAAU,EAC9D,iBAA2B,EAAE;IAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,UAAU;QACV,mBAAmB,EAAE,IAAI;QACzB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;KACnD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAA2B;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5C,CAAC,CAAC,CAAC,SAAS,CAAU;QACtB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;YACjC,CAAC,CAAC,CAAC,MAAM,CAAU;YACnB,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"security-harness.js","sourceRoot":"","sources":["../../src/schedule-domain/security-harness.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,6BAA6B,CAC3C,aAAoD,UAAU,EAC9D,iBAA2B,EAAE;IAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,UAAU;QACV,mBAAmB,EAAE,IAAI;QACzB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;KACnD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAA2B;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5C,CAAC,CAAC,CAAC,SAAS,CAAU;QACtB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;YACjC,CAAC,CAAC,CAAC,MAAM,CAAU;YACnB,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["import type { ScheduleJobCreator } from '../assistant/types.js';\n\nexport interface ScheduleSecurityContext {\n readonly execPreset: 'readonly' | 'network';\n readonly rejectOwnerApproval: true;\n readonly allowedDomains: readonly string[];\n}\n\nexport interface ScheduleSecurityDenial {\n readonly tool: string;\n readonly policy: string;\n readonly reason: string;\n}\n\nexport function createScheduleSecurityContext(\n execPreset: ScheduleSecurityContext['execPreset'] = 'readonly',\n allowedDomains: string[] = [],\n): ScheduleSecurityContext {\n return Object.freeze({\n execPreset,\n rejectOwnerApproval: true,\n allowedDomains: Object.freeze([...allowedDomains]),\n });\n}\n\nexport function demoteScheduleCreator(creator: ScheduleJobCreator): ScheduleJobCreator {\n const roles = creator.roles.includes('master')\n ? ['trusted'] as const\n : creator.roles.includes('trusted')\n ? ['user'] as const\n : [];\n return { ...creator, roles };\n}\n"]}
@@ -26,4 +26,3 @@ export interface ScheduleToolRegistration {
26
26
  }
27
27
  export { generateScheduleJobId };
28
28
  export declare function createScheduleTools(manager: ScheduleManager): readonly ScheduleToolRegistration[];
29
- //# sourceMappingURL=schedule-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-manager.js","sourceRoot":"","sources":["../src/schedule-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule-manager.js","sourceRoot":"","sources":["../src/schedule-manager.ts"],"names":[],"mappings":"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","sourcesContent":["/** Generation-owned schedule management and canonical Agent Tool definitions. */\nimport {\n defineAgentTool,\n type AgentToolDefinition,\n type ToolInputJsonObjectSchema,\n type ToolInputJsonSchema,\n type ToolExecutionContext,\n} from '@zhin.js/tool';\nimport {\n addScheduleJob,\n generateScheduleJobId,\n parseScheduleAddFromToolArgs,\n type ScheduleInvocationContext,\n} from './assistant/schedule-job-service.js';\nimport type { ScheduleJobEngine } from './assistant/job-engine.js';\nimport type { TaskExecutionResult } from './task-executor.js';\n\nexport const SCHEDULE_JOBS_FILENAME = 'schedule-jobs.json';\n\nexport interface ScheduleManager {\n scheduleFeature: {\n getStatus(): Array<{\n id: string;\n kind: string;\n expression?: string;\n running: boolean;\n nextExecution: Date | null;\n plugin: string;\n }>;\n };\n engine: ScheduleJobEngine | null;\n previewTask?: (\n prompt: string,\n context: ScheduleInvocationContext,\n options?: { activityFeedback?: boolean },\n ) => Promise<TaskExecutionResult>;\n}\n\nexport interface ScheduleToolRegistration {\n readonly name: string;\n readonly definition: Readonly<AgentToolDefinition<Record<string, unknown>, unknown>>;\n}\n\nexport { generateScheduleJobId };\n\nfunction schema(\n properties: Record<string, ToolInputJsonSchema> = {},\n required: readonly string[] = [],\n): ToolInputJsonObjectSchema {\n return Object.freeze({ type: 'object', properties: Object.freeze(properties), required: Object.freeze([...required]) });\n}\n\nfunction registration(\n name: string,\n description: string,\n inputSchema: ToolInputJsonObjectSchema,\n execute: (input: Record<string, unknown>, context: ToolExecutionContext) => unknown | Promise<unknown>,\n): ScheduleToolRegistration {\n return Object.freeze({\n name,\n definition: defineAgentTool<Record<string, unknown>, unknown>({\n description,\n inputSchema,\n execute,\n }),\n });\n}\n\nexport function createScheduleTools(manager: ScheduleManager): readonly ScheduleToolRegistration[] {\n return Object.freeze([\n registration(\n 'schedule_list',\n '列出所有调度任务:内存任务与持久化 schedule-jobs.json',\n schema(),\n async () => {\n const memory = manager.scheduleFeature.getStatus();\n const persistent = manager.engine\n ? (await manager.engine.listJobs()).map((job) => ({\n type: 'persistent' as const,\n id: job.id,\n schedule: job.schedule,\n prompt: job.action.kind === 'agent' ? job.action.prompt : undefined,\n label: job.label,\n enabled: job.enabled,\n notify: job.notify,\n createdAt: job.createdAt,\n state: job.state,\n }))\n : [];\n return { memory, persistent };\n },\n ),\n registration(\n 'schedule_add',\n '添加持久化调度任务。中国大陆工作日必须使用 workday;支持 6 段 cron 或 delay_minutes 一次性任务。',\n schema({\n schedule_kind: { type: 'string', description: 'solar|lunar|workday|freeDay|holiday,默认 solar' },\n cron: { type: 'string', description: '6 段 cron(秒 分 时 日 月 周)' },\n delay_minutes: { type: 'number', description: '一次性延迟(分钟)' },\n prompt: { type: 'string', description: '到点 prompt' },\n label: { type: 'string', description: '标签' },\n notify_channel: { type: 'string', description: 'im | silent | log' },\n activity_feedback: { type: 'boolean', description: '是否发布 activity feedback' },\n budget_max_tokens: { type: 'number', description: 'token 硬上限' },\n budget_max_tool_calls: { type: 'number', description: '工具调用硬上限' },\n budget_timeout_ms: { type: 'number', description: '执行超时毫秒数' },\n execution_plan: { type: 'object', description: '预演确认后的执行计划' },\n refined_prompt: { type: 'string', description: '预演 refine 后的 prompt' },\n tools: { type: 'string', description: '逗号分隔的工具名' },\n skills: { type: 'string', description: '逗号分隔的技能名' },\n }, ['prompt']),\n async (input, context) => {\n if (!manager?.engine) return { error: '持久化调度引擎不可用' };\n const parsed = parseScheduleAddFromToolArgs(input, context);\n if ('error' in parsed) return { error: parsed.error };\n const job = await addScheduleJob(manager.engine, { ...parsed, id: generateScheduleJobId() });\n if (job.schedule.kind === 'at') {\n const time = new Date(job.schedule.atMs).toLocaleString('zh-CN', { hour12: false });\n return { success: true, id: job.id, message: `已安排一次性任务,将在 ${time} 执行` };\n }\n return { success: true, id: job.id, message: '已添加调度任务' };\n },\n ),\n registration(\n 'schedule_preview',\n '预演调度任务;返回建议执行计划,确认后用 schedule_add 创建正式任务。',\n schema({\n prompt: { type: 'string', description: '任务 prompt' },\n activity_feedback: { type: 'boolean', description: '是否发布 activity feedback' },\n }, ['prompt']),\n async (input, context) => {\n if (!manager?.previewTask) return { error: '预演服务不可用' };\n const result = await manager.previewTask(String(input.prompt), context, {\n activityFeedback: input.activity_feedback === true,\n });\n if (!result.success) return { error: result.error || '预演失败' };\n return {\n success: true,\n preview: result.responseText,\n execution_plan: result.executionPlan,\n message: '预演完成。确认无误后使用 schedule_add 并传入 execution_plan 创建正式任务。',\n };\n },\n ),\n ...(['remove', 'pause', 'resume'] as const).map((operation) => registration(\n `schedule_${operation}`,\n `${operation === 'remove' ? '删除' : operation === 'pause' ? '暂停' : '恢复'}持久化调度任务(按任务 ID)`,\n schema({ id: { type: 'string', description: '任务 ID' } }, ['id']),\n async (input) => {\n if (!manager?.engine) return { error: '引擎不可用' };\n const id = String(input.id ?? '');\n const changed = operation === 'remove'\n ? await manager.engine.removeJob(id)\n : operation === 'pause'\n ? await manager.engine.pauseJob(id)\n : await manager.engine.resumeJob(id);\n return changed ? { success: true } : { error: '未找到' };\n },\n )),\n ]);\n}\n"]}
@@ -6,4 +6,3 @@ export { SeamIntegration } from './seam-integration.js';
6
6
  export type { ProjectedSeamTool, ProjectedSeamSkill } from './seam-integration.js';
7
7
  export { capabilitySeamToken } from './tokens.js';
8
8
  export type { CapabilitySeamToken } from './tokens.js';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/seam/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAgB1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/seam/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAgB1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC","sourcesContent":["export { SeamProviderRegistry } from './seam-provider.js';\nexport type { SeamProvider, SeamScope } from './seam-provider.js';\n\nexport type {\n ToolService,\n ToolServiceProvider,\n ToolSchema,\n ToolExecutionResult,\n} from './tool-service.js';\n\nexport type {\n SkillService,\n SkillServiceProvider,\n SkillMetadata,\n} from './skill-service.js';\n\nexport { SeamIntegration } from './seam-integration.js';\nexport type { ProjectedSeamTool, ProjectedSeamSkill } from './seam-integration.js';\n\nexport { capabilitySeamToken } from './tokens.js';\nexport type { CapabilitySeamToken } from './tokens.js';\n"]}
@@ -32,4 +32,3 @@ export declare class SeamIntegration {
32
32
  dispose(): void;
33
33
  private projectToolSchemas;
34
34
  }
35
- //# sourceMappingURL=seam-integration.d.ts.map