@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":"agent-trace-runtime.js","sourceRoot":"","sources":["../../src/plugin-runtime/agent-trace-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-trace-runtime.js","sourceRoot":"","sources":["../../src/plugin-runtime/agent-trace-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport type { TurnEvent } from '../event/turn-event.js';\n\nexport interface AgentTraceEvent {\n readonly runtimeId: string;\n readonly sequence: number;\n readonly recordedAt: number;\n readonly sessionKey: string;\n readonly turnId: string;\n readonly type: TurnEvent['type'];\n readonly data: Readonly<Record<string, unknown>>;\n}\n\nexport interface AgentTraceSnapshot {\n readonly runtimeId: string;\n readonly sessionKey: string;\n readonly events: readonly AgentTraceEvent[];\n readonly latestSequence: number;\n readonly activeTurnIds: readonly string[];\n}\n\nexport interface AgentTraceRuntimeHandle {\n list(\n sessionKey: string,\n options?: Readonly<{ afterSequence?: number; limit?: number }>,\n ): AgentTraceSnapshot;\n}\n\nexport interface AgentTraceRecorder extends AgentTraceRuntimeHandle {\n record(sessionKey: string, turnId: string, event: TurnEvent): void;\n}\n\ninterface SessionTraceBuffer {\n readonly events: AgentTraceEvent[];\n readonly activeTurnIds: Set<string>;\n latestSequence: number;\n touchedAt: number;\n}\n\nconst secretKeys = new Set([\n 'authorization',\n 'cookie',\n 'password',\n 'passwd',\n 'secret',\n 'token',\n 'accesstoken',\n 'refreshtoken',\n 'authtoken',\n 'bearertoken',\n 'apikey',\n 'privatekey',\n]);\nconst terminalTypes = new Set<TurnEvent['type']>([\n 'turn_end',\n 'error',\n 'turn_cancelled',\n 'budget_exceeded',\n]);\n\n/**\n * Generation-owned, bounded operational projection for Console. It deliberately\n * drops token chunks: the terminal output is retained, while token streaming\n * would otherwise drown the useful tool/iteration lifecycle in noise.\n */\nexport function createAgentTraceRuntime(options: Readonly<{\n maxSessions?: number;\n maxEventsPerSession?: number;\n now?: () => number;\n}> = {}): AgentTraceRecorder {\n const maxSessions = positiveInteger(options.maxSessions, 100);\n const maxEventsPerSession = positiveInteger(options.maxEventsPerSession, 500);\n const now = options.now ?? Date.now;\n const runtimeId = randomUUID();\n const sessions = new Map<string, SessionTraceBuffer>();\n\n const requireBuffer = (sessionKey: string): SessionTraceBuffer => {\n const existing = sessions.get(sessionKey);\n if (existing) return existing;\n evictOldestSession(sessions, maxSessions);\n const created: SessionTraceBuffer = {\n events: [],\n activeTurnIds: new Set(),\n latestSequence: 0,\n touchedAt: now(),\n };\n sessions.set(sessionKey, created);\n return created;\n };\n\n return Object.freeze({\n record(sessionKey: string, turnId: string, event: TurnEvent): void {\n if (!sessionKey || !turnId || event.type === 'chunk') return;\n const buffer = requireBuffer(sessionKey);\n const recordedAt = now();\n buffer.touchedAt = recordedAt;\n buffer.latestSequence += 1;\n if (event.type === 'turn_start') buffer.activeTurnIds.add(turnId);\n if (terminalTypes.has(event.type)) buffer.activeTurnIds.delete(turnId);\n buffer.events.push(Object.freeze({\n runtimeId,\n sequence: buffer.latestSequence,\n recordedAt,\n sessionKey,\n turnId,\n type: event.type,\n data: sanitizeEvent(event),\n }));\n if (buffer.events.length > maxEventsPerSession) {\n buffer.events.splice(0, buffer.events.length - maxEventsPerSession);\n }\n },\n list(\n sessionKey: string,\n listOptions: Readonly<{ afterSequence?: number; limit?: number }> = {},\n ): AgentTraceSnapshot {\n const buffer = sessions.get(sessionKey);\n if (!buffer) return emptySnapshot(runtimeId, sessionKey);\n buffer.touchedAt = now();\n const afterSequence = nonNegativeInteger(listOptions.afterSequence, 0);\n const limit = Math.min(positiveInteger(listOptions.limit, 200), maxEventsPerSession);\n const events = buffer.events.filter((event) => event.sequence > afterSequence).slice(-limit);\n return Object.freeze({\n runtimeId,\n sessionKey,\n events: Object.freeze([...events]),\n latestSequence: buffer.latestSequence,\n activeTurnIds: Object.freeze([...buffer.activeTurnIds]),\n });\n },\n });\n}\n\n/**\n * Shared trace redaction: secret-named keys become `[redacted]`, long strings\n * are truncated and nesting is bounded. Used by Console trace and TurnTrace.\n */\nexport function redactTraceValue(value: unknown): unknown {\n return sanitizeValue(value, 0);\n}\n\nfunction sanitizeEvent(event: TurnEvent): Readonly<Record<string, unknown>> {\n const { type: _type, ...data } = event;\n return Object.freeze(sanitizeRecord(data, 0));\n}\n\nfunction sanitizeRecord(value: Record<string, unknown>, depth: number): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(value).slice(0, 50).map(([key, item]) => [\n key,\n isSecretKey(key) ? '[redacted]' : sanitizeValue(item, depth + 1),\n ]),\n );\n}\n\nfunction sanitizeValue(value: unknown, depth: number): unknown {\n if (value == null || typeof value === 'boolean' || typeof value === 'number') return value;\n if (typeof value === 'string') return truncate(value, 4_000);\n if (value instanceof Error) return Object.freeze({\n name: value.name,\n message: truncate(value.message, 2_000),\n });\n if (depth >= 5) return '[max depth]';\n if (Array.isArray(value)) return Object.freeze(value.slice(0, 50).map((item) => sanitizeValue(item, depth + 1)));\n if (typeof value === 'object') return Object.freeze(sanitizeRecord(value as Record<string, unknown>, depth));\n return truncate(String(value), 500);\n}\n\nfunction truncate(value: string, maxLength: number): string {\n return value.length <= maxLength ? value : `${value.slice(0, maxLength)}… [truncated]`;\n}\n\nfunction isSecretKey(key: string): boolean {\n return secretKeys.has(key.replaceAll('-', '').replaceAll('_', '').toLowerCase());\n}\n\nfunction positiveInteger(value: number | undefined, fallback: number): number {\n return Number.isInteger(value) && Number(value) > 0 ? Number(value) : fallback;\n}\n\nfunction nonNegativeInteger(value: number | undefined, fallback: number): number {\n return Number.isInteger(value) && Number(value) >= 0 ? Number(value) : fallback;\n}\n\nfunction emptySnapshot(runtimeId: string, sessionKey: string): AgentTraceSnapshot {\n return Object.freeze({\n runtimeId,\n sessionKey,\n events: Object.freeze([]),\n latestSequence: 0,\n activeTurnIds: Object.freeze([]),\n });\n}\n\nfunction evictOldestSession(sessions: Map<string, SessionTraceBuffer>, maxSessions: number): void {\n if (sessions.size < maxSessions) return;\n let oldest: [string, SessionTraceBuffer] | undefined;\n for (const entry of sessions) {\n if (!oldest || entry[1].touchedAt < oldest[1].touchedAt) oldest = entry;\n }\n if (oldest) sessions.delete(oldest[0]);\n}\n"]}
@@ -1,54 +1,22 @@
1
- import type { TokenUsage } from '@zhin.js/ai';
1
+ import type { AiCompletion } from '@zhin.js/core';
2
2
  import type { AIService } from '../service.js';
3
- import type { UsageQuota, UsageSubject } from '../security/usage-quota.js';
4
- export interface AiCompletionUntrustedInput {
5
- /** Where the text came from, e.g. `group-chat`; shown to the model as the block's source. */
6
- readonly source: string;
7
- readonly text: string;
8
- }
9
- export interface AiCompletionInput {
10
- /** Required label for logs and usage attribution, e.g. `summarize-chat`. */
11
- readonly purpose: string;
12
- /** Trusted instructions written by the plugin. */
13
- readonly system?: string;
14
- /** Trusted input written by the plugin. */
15
- readonly prompt: string;
16
- /** Untrusted content (group chat, web pages, files); always rendered as data, never as instructions. */
17
- readonly untrusted?: readonly AiCompletionUntrustedInput[];
18
- /** Agent binding whose provider / model is used; defaults to `zhin`. */
19
- readonly agent?: string;
20
- /** Model id on the binding's provider; defaults to the binding's model. */
21
- readonly model?: string;
22
- readonly maxTokens?: number;
23
- readonly temperature?: number;
24
- /** Per-request timeout in ms; defaults to the provider resilience setting. */
25
- readonly timeoutMs?: number;
26
- readonly signal?: AbortSignal;
27
- /** The IM user (and group) this call is made for; counts against their usage quota. */
28
- readonly onBehalfOf?: UsageSubject;
29
- }
30
- export interface AiCompletionResult {
31
- readonly text: string;
32
- /** Model that actually answered (may be a fallback). */
33
- readonly model: string;
34
- readonly durationMs: number;
35
- readonly usage?: TokenUsage;
36
- }
37
- export interface AiCompletion {
38
- completeText(input: AiCompletionInput): Promise<AiCompletionResult>;
39
- }
40
- /** Thrown when the `onBehalfOf` user or group is over its usage quota; `message` is user-facing. */
3
+ import type { UsageQuota } from '../security/usage-quota.js';
4
+ /**
5
+ * The contract (types and token) lives in `@zhin.js/core` (#877) so plugins can import it from the
6
+ * `zhin.js` main entry without this package; re-exported here unchanged (same token object and id).
7
+ */
8
+ export { aiCompletionToken } from '@zhin.js/core';
9
+ export type { AiCompletion, AiCompletionInput, AiCompletionResult, AiCompletionUntrustedInput, UsageSubject, } from '@zhin.js/core';
10
+ /** Thrown when the `onBehalfOf` user or group is over its usage quota; `message` is user-facing. Recognise it with `isAiCompletionQuotaError`. */
41
11
  export declare class AiCompletionQuotaError extends Error {
12
+ readonly name: "AiCompletionQuotaError";
42
13
  readonly scope: 'user' | 'group';
43
14
  readonly retryAfterSeconds: number;
44
15
  constructor(message: string, scope: 'user' | 'group', retryAfterSeconds: number);
45
16
  }
46
- /** Generation-owned plain text completion for plugins. Absent when no AI host is installed. */
47
- export declare const aiCompletionToken: import("@zhin.js/plugin-runtime").Token<AiCompletion>;
48
17
  export interface AiCompletionOptions {
49
- readonly service: Pick<AIService, 'getBindingRegistry' | 'getProvider' | 'getAgentConfig'>;
18
+ readonly service: Pick<AIService, 'getBindingRegistry' | 'getProvider' | 'getAgentConfig'> & Partial<Pick<AIService, 'getModelRegistry'>>;
50
19
  readonly usageQuota?: Pick<UsageQuota, 'check' | 'record'>;
51
20
  readonly now?: () => number;
52
21
  }
53
22
  export declare function createAiCompletion(options: AiCompletionOptions): AiCompletion;
54
- //# sourceMappingURL=ai-completion.d.ts.map
@@ -6,29 +6,35 @@
6
6
  * tools such as file access while it reads untrusted group chat. This port does
7
7
  * one completion with **no tools at all** — the request carries no tool
8
8
  * definitions, so nothing the model writes can be executed — and reuses the
9
- * provider resilience chain (retry, backoff, timeout, same-provider fallback).
9
+ * provider resilience chain (retry, backoff, timeout). There is no automatic model
10
+ * fallback: a plugin call must never silently fail over to a pricier model, and no
11
+ * per-binding fallback list exists to opt in to.
10
12
  *
11
13
  * Untrusted text is rendered as `external_content` data blocks (#726), and a
12
14
  * call made on behalf of an IM user counts against that user's / group's usage
13
15
  * quota (#727).
14
16
  */
15
- import { createToken } from '@zhin.js/plugin-runtime';
17
+ import { resolveModelCandidates } from '../context/model-resolver.js';
16
18
  import { formatCompact, getLogger } from '@zhin.js/logger';
17
19
  import { renderExternalContent } from '../security/trust-level.js';
20
+ import { estimatePromptTokens } from '../prompt/estimate-tokens.js';
21
+ /**
22
+ * The contract (types and token) lives in `@zhin.js/core` (#877) so plugins can import it from the
23
+ * `zhin.js` main entry without this package; re-exported here unchanged (same token object and id).
24
+ */
25
+ export { aiCompletionToken } from '@zhin.js/core';
18
26
  const logger = getLogger('agent');
19
- /** Thrown when the `onBehalfOf` user or group is over its usage quota; `message` is user-facing. */
27
+ /** Thrown when the `onBehalfOf` user or group is over its usage quota; `message` is user-facing. Recognise it with `isAiCompletionQuotaError`. */
20
28
  export class AiCompletionQuotaError extends Error {
29
+ name = 'AiCompletionQuotaError';
21
30
  scope;
22
31
  retryAfterSeconds;
23
32
  constructor(message, scope, retryAfterSeconds) {
24
33
  super(message);
25
- this.name = 'AiCompletionQuotaError';
26
34
  this.scope = scope;
27
35
  this.retryAfterSeconds = retryAfterSeconds;
28
36
  }
29
37
  }
30
- /** Generation-owned plain text completion for plugins. Absent when no AI host is installed. */
31
- export const aiCompletionToken = createToken('zhin.agent.ai-completion', 'Tool-free text completion with retry and fallback, for plugins');
32
38
  export function createAiCompletion(options) {
33
39
  const now = options.now ?? Date.now;
34
40
  return Object.freeze({
@@ -57,9 +63,17 @@ export function createAiCompletion(options) {
57
63
  maxTokens: input.maxTokens,
58
64
  timeoutMs: input.timeoutMs,
59
65
  signal: input.signal,
60
- fallbackModels: provider.models.filter(id => id && id !== model),
66
+ // Same candidates as the conversation path (bound model, registry picks, then the
67
+ // provider's models); whether they are tried is up to `providerResilience.fallback`.
68
+ fallbackModels: resolveModelCandidates(provider.models, options.service.getModelRegistry?.() ?? null, binding.providerAlias, { chatModel: binding.model }, 'chat', model).filter(id => id && id !== model),
61
69
  resilience: options.service.getAgentConfig()?.providerResilience,
62
70
  };
71
+ // Reserve the prompt estimate before the call: concurrent calls then see each other's
72
+ // spend at `check`, and a call that fails after reaching the provider is still billed.
73
+ const quotaSubject = input.onBehalfOf && options.usageQuota ? input.onBehalfOf : undefined;
74
+ const reserved = quotaSubject ? estimatePromptTokens(`${input.system ?? ''}\n${user}`) : 0;
75
+ if (quotaSubject && reserved > 0)
76
+ options.usageQuota.record(quotaSubject, reserved);
63
77
  const started = now();
64
78
  let result;
65
79
  try {
@@ -80,9 +94,13 @@ export function createAiCompletion(options) {
80
94
  throw error;
81
95
  }
82
96
  const durationMs = now() - started;
83
- const totalTokens = result.usage?.totalTokens;
84
- if (input.onBehalfOf && options.usageQuota && totalTokens) {
85
- options.usageQuota.record(input.onBehalfOf, totalTokens);
97
+ const reportedTokens = result.usage?.totalTokens;
98
+ const totalTokens = reportedTokens || undefined;
99
+ if (quotaSubject) {
100
+ // Reported usage settles the reservation; without it, estimate the answer on top of the prompt.
101
+ const settled = totalTokens ?? reserved + estimatePromptTokens(result.text);
102
+ if (settled > reserved)
103
+ options.usageQuota.record(quotaSubject, settled - reserved);
86
104
  }
87
105
  logger.info(formatCompact({
88
106
  op: 'ai_completion',
@@ -1 +1 @@
1
- {"version":3,"file":"ai-completion.js","sourceRoot":"","sources":["../../src/plugin-runtime/ai-completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-completion.js","sourceRoot":"","sources":["../../src/plugin-runtime/ai-completion.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Plain text completion for plugins (#804).\n *\n * Plugins that only need text (summarise a chat, classify a message, rewrite a\n * reply) should not borrow a whole Agent turn: that is slow, and the model gets\n * tools such as file access while it reads untrusted group chat. This port does\n * one completion with **no tools at all** — the request carries no tool\n * definitions, so nothing the model writes can be executed — and reuses the\n * provider resilience chain (retry, backoff, timeout). There is no automatic model\n * fallback: a plugin call must never silently fail over to a pricier model, and no\n * per-binding fallback list exists to opt in to.\n *\n * Untrusted text is rendered as `external_content` data blocks (#726), and a\n * call made on behalf of an IM user counts against that user's / group's usage\n * quota (#727).\n */\nimport { resolveModelCandidates } from '../context/model-resolver.js';\nimport type { AIProvider, ProviderResilienceConfig, TextCompleteResult } from '@zhin.js/ai';\nimport type { AiCompletion, AiCompletionInput, AiCompletionResult } from '@zhin.js/core';\nimport { formatCompact, getLogger } from '@zhin.js/logger';\nimport type { AIService } from '../service.js';\nimport { renderExternalContent } from '../security/trust-level.js';\nimport type { UsageQuota } from '../security/usage-quota.js';\nimport { estimatePromptTokens } from '../prompt/estimate-tokens.js';\n\n/**\n * The contract (types and token) lives in `@zhin.js/core` (#877) so plugins can import it from the\n * `zhin.js` main entry without this package; re-exported here unchanged (same token object and id).\n */\nexport { aiCompletionToken } from '@zhin.js/core';\nexport type {\n AiCompletion,\n AiCompletionInput,\n AiCompletionResult,\n AiCompletionUntrustedInput,\n UsageSubject,\n} from '@zhin.js/core';\n\nconst logger = getLogger('agent');\n\n/** Thrown when the `onBehalfOf` user or group is over its usage quota; `message` is user-facing. Recognise it with `isAiCompletionQuotaError`. */\nexport class AiCompletionQuotaError extends Error {\n override readonly name = 'AiCompletionQuotaError' as const;\n readonly scope: 'user' | 'group';\n readonly retryAfterSeconds: number;\n\n constructor(message: string, scope: 'user' | 'group', retryAfterSeconds: number) {\n super(message);\n this.scope = scope;\n this.retryAfterSeconds = retryAfterSeconds;\n }\n}\n\nexport interface AiCompletionOptions {\n readonly service: Pick<AIService, 'getBindingRegistry' | 'getProvider' | 'getAgentConfig'>\n & Partial<Pick<AIService, 'getModelRegistry'>>;\n readonly usageQuota?: Pick<UsageQuota, 'check' | 'record'>;\n readonly now?: () => number;\n}\n\nexport function createAiCompletion(options: AiCompletionOptions): AiCompletion {\n const now = options.now ?? Date.now;\n return Object.freeze({\n async completeText(input: AiCompletionInput): Promise<AiCompletionResult> {\n const purpose = requiredText(input.purpose, 'purpose');\n const prompt = requiredText(input.prompt, 'prompt');\n const registry = options.service.getBindingRegistry();\n const binding = input.agent ? registry.getBinding(input.agent) : registry.requireZhinBinding();\n if (!binding) throw new Error(`AI completion: agent binding \"${input.agent}\" not found`);\n const provider: AIProvider = options.service.getProvider(binding.providerAlias);\n const model = input.model?.trim() || binding.model || provider.models[0] || '';\n\n if (input.onBehalfOf && options.usageQuota) {\n const decision = options.usageQuota.check(input.onBehalfOf);\n if (!decision.allowed) {\n throw new AiCompletionQuotaError(decision.message, decision.scope, decision.retryAfterSeconds);\n }\n }\n\n const user = [\n prompt,\n ...(input.untrusted ?? []).map(item => renderExternalContent(sourceLabel(item.source), neutralizeBlockMarkers(String(item.text ?? '')))),\n ].join('\\n\\n');\n const opts = {\n model,\n temperature: input.temperature,\n maxTokens: input.maxTokens,\n timeoutMs: input.timeoutMs,\n signal: input.signal,\n // Same candidates as the conversation path (bound model, registry picks, then the\n // provider's models); whether they are tried is up to `providerResilience.fallback`.\n fallbackModels: resolveModelCandidates(\n provider.models,\n options.service.getModelRegistry?.() ?? null,\n binding.providerAlias,\n { chatModel: binding.model },\n 'chat',\n model,\n ).filter(id => id && id !== model),\n resilience: options.service.getAgentConfig()?.providerResilience as ProviderResilienceConfig | undefined,\n };\n // Reserve the prompt estimate before the call: concurrent calls then see each other's\n // spend at `check`, and a call that fails after reaching the provider is still billed.\n const quotaSubject = input.onBehalfOf && options.usageQuota ? input.onBehalfOf : undefined;\n const reserved = quotaSubject ? estimatePromptTokens(`${input.system ?? ''}\\n${user}`) : 0;\n if (quotaSubject && reserved > 0) options.usageQuota!.record(quotaSubject, reserved);\n const started = now();\n let result: TextCompleteResult;\n try {\n result = provider.completeTextResult\n ? await provider.completeTextResult(input.system ?? '', user, opts)\n : { text: await provider.completeText(input.system ?? '', user, opts), model };\n } catch (error) {\n logger.warn(formatCompact({\n op: 'ai_completion',\n purpose,\n provider: binding.providerAlias,\n model,\n outcome: 'error',\n durationMs: now() - started,\n error: error instanceof Error ? error.message : String(error),\n }));\n throw error;\n }\n const durationMs = now() - started;\n const reportedTokens = result.usage?.totalTokens;\n const totalTokens = reportedTokens || undefined;\n if (quotaSubject) {\n // Reported usage settles the reservation; without it, estimate the answer on top of the prompt.\n const settled = totalTokens ?? reserved + estimatePromptTokens(result.text);\n if (settled > reserved) options.usageQuota!.record(quotaSubject, settled - reserved);\n }\n logger.info(formatCompact({\n op: 'ai_completion',\n purpose,\n provider: binding.providerAlias,\n model: result.model,\n outcome: 'ok',\n durationMs,\n ...(totalTokens ? { tokens: totalTokens } : {}),\n untrusted: input.untrusted?.length ?? 0,\n }));\n return Object.freeze({\n text: result.text,\n model: result.model,\n durationMs,\n ...(result.usage ? { usage: result.usage } : {}),\n });\n },\n });\n}\n\nfunction requiredText(value: unknown, name: string): string {\n if (typeof value !== 'string' || !value.trim()) throw new TypeError(`AI completion: ${name} is required`);\n return value;\n}\n\n/** Untrusted text must not be able to close its data block early and continue as instructions. */\nfunction neutralizeBlockMarkers(text: string): string {\n return text.replace(/\\[(\\s*(?:end\\s+)?external_content)/giu, '[$1');\n}\n\n/** Keeps the source label from closing the data block or injecting quotes. */\nfunction sourceLabel(source: unknown): string {\n const text = String(source ?? '').replace(/[^\\p{L}\\p{N}_.:/-]+/gu, '-').slice(0, 64);\n return text || 'untrusted';\n}\n"]}
@@ -24,4 +24,3 @@ export interface AgentCapabilities {
24
24
  export declare class CapabilityIngress {
25
25
  read(snapshot: RuntimeSnapshot, owner: PluginId, isActive?: () => boolean, turn?: TurnAccessContext, selectedAgent?: string): Promise<AgentCapabilities>;
26
26
  }
27
- //# sourceMappingURL=capability-ingress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capability-ingress.js","sourceRoot":"","sources":["../../src/plugin-runtime/capability-ingress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability-ingress.js","sourceRoot":"","sources":["../../src/plugin-runtime/capability-ingress.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FeatureId, PluginId, RuntimeSnapshot } from '@zhin.js/plugin-runtime';\nimport { permissionHostToken, type PermissionHost } from '@zhin.js/permission';\nimport { turnPermissionSubject, type TurnAccessContext } from '../turn/turn-ingress.js';\nimport {\n type AgentIndex,\n isAgentIndex,\n agentFeatureId,\n type AgentDescriptor,\n} from '@zhin.js/agent-feature';\nimport {\n type McpIndex,\n isMcpIndex,\n mcpFeatureId,\n type McpDescriptor,\n type McpToolDescriptor,\n} from '@zhin.js/mcp-feature';\nimport {\n type SkillIndex,\n isSkillIndex,\n skillFeatureId,\n type SkillDescriptor,\n} from '@zhin.js/skill';\nimport {\n type ToolIndex,\n isToolIndex,\n toolFeatureId,\n type ToolDescriptor,\n type ToolInvocationContext,\n} from '@zhin.js/tool';\nimport {\n isPromptSectionIndex,\n promptSectionFeatureId,\n type PromptSectionDescriptor,\n type PromptProfile,\n} from '@zhin.js/prompt-section';\nimport { capabilitySeamToken } from '../seam/tokens.js';\nimport type { SeamIntegration } from '../seam/seam-integration.js';\n\nexport interface ToolCapability extends ToolDescriptor {\n execute<TInput = unknown, TResult = unknown>(\n input: TInput,\n invocation: ToolInvocationContext,\n ): Promise<TResult>;\n}\n\nexport interface McpCapability extends McpDescriptor {\n listTools(): Promise<readonly McpToolDescriptor[]>;\n callTool<TResult = unknown>(tool: string, input: unknown): Promise<TResult>;\n}\n\nexport interface AgentCapabilities {\n readonly generation: number;\n readonly owner: PluginId;\n readonly tools: readonly ToolCapability[];\n readonly skills: readonly SkillDescriptor[];\n readonly agents: readonly AgentDescriptor[];\n readonly mcp: readonly McpCapability[];\n readonly promptSections: readonly PromptSectionDescriptor[];\n}\n\nexport class CapabilityIngress {\n async read(\n snapshot: RuntimeSnapshot,\n owner: PluginId,\n isActive: () => boolean = () => true,\n turn?: TurnAccessContext,\n selectedAgent?: string,\n ): Promise<AgentCapabilities> {\n if (!snapshot.tree.has(owner)) throw new Error(`Unknown Agent capability owner: ${owner}`);\n const tools = projection(snapshot, toolFeatureId, isToolIndex);\n const mcp = projection(snapshot, mcpFeatureId, isMcpIndex);\n const promptProjection = snapshot.projections.get(promptSectionFeatureId);\n const promptSections = isPromptSectionIndex(promptProjection) ? promptProjection : undefined;\n const promptProfile: PromptProfile = turn?.origin.kind === 'schedule' ? 'schedule' : 'interactive';\n const featureTools = await bindTools(\n tools,\n owner,\n isActive,\n turn,\n resolvePermissionHost(snapshot),\n selectedAgent,\n snapshot,\n );\n const featureSkills = await bindSkills(\n projection(snapshot, skillFeatureId, isSkillIndex),\n turn,\n resolvePermissionHost(snapshot),\n selectedAgent,\n );\n const seam = resolveSeamIntegration(snapshot);\n const seamTools = seam\n ? await bindSeamTools(seam, owner, isActive, turn, resolvePermissionHost(snapshot))\n : [];\n const seamSkills = seam\n ? await bindSeamSkills(seam, owner, turn, resolvePermissionHost(snapshot))\n : [];\n assertDistinctCapabilities('Tool', [...featureTools, ...seamTools]);\n assertDistinctCapabilities(\n 'Skill',\n [...featureSkills, ...seamSkills].map((skill) => ({ name: skill.qualifiedName })),\n );\n const featureAgents = await bindAgents(\n projection(snapshot, agentFeatureId, isAgentIndex),\n owner,\n turn,\n resolvePermissionHost(snapshot),\n );\n return Object.freeze({\n generation: snapshot.generation,\n owner,\n tools: Object.freeze([...featureTools, ...seamTools]),\n skills: Object.freeze([...featureSkills, ...seamSkills]),\n agents: featureAgents,\n mcp: bindMcp(mcp, owner, isActive),\n promptSections: Object.freeze([...(promptSections?.visible(owner, promptProfile) ?? [])]\n .filter((section) => !section.platforms\n || (turn?.origin.kind === 'im' && section.platforms.includes(turn.origin.platform)))),\n });\n }\n}\n\nasync function bindAgents(\n index: AgentIndex | undefined,\n owner: PluginId,\n turn?: TurnAccessContext,\n host?: PermissionHost,\n): Promise<readonly AgentDescriptor[]> {\n if (!index) return Object.freeze([]);\n const access = await Promise.all(index.visible(owner).map(async (descriptor) => ({\n descriptor,\n allowed: await canAccessDescriptor(descriptor, turn, host),\n })));\n return Object.freeze(access.filter(({ allowed }) => allowed).map(({ descriptor }) => descriptor));\n}\n\nfunction resolveSeamIntegration(snapshot: RuntimeSnapshot): SeamIntegration | undefined {\n const value = snapshot.resources.get(snapshot.root)?.get(capabilitySeamToken.id);\n return value\n && typeof (value as SeamIntegration).projectTools === 'function'\n && typeof (value as SeamIntegration).projectSkills === 'function'\n ? value as SeamIntegration\n : undefined;\n}\n\nasync function bindSeamTools(\n seam: SeamIntegration,\n owner: PluginId,\n isActive: () => boolean,\n turn?: TurnAccessContext,\n host?: PermissionHost,\n): Promise<readonly ToolCapability[]> {\n const projected = seam.projectTools(String(owner)).map((entry) => Object.freeze({\n owner,\n name: entry.schema.function.name,\n qualifiedName: entry.schema.function.name,\n description: entry.schema.function.description,\n inputSchema: entry.schema.function.parameters,\n requiresApproval: entry.schema.requiresApproval ?? 'on-risk',\n platforms: entry.schema.platforms,\n scopes: entry.schema.scopes,\n permissions: entry.schema.permissions,\n hidden: entry.schema.hidden,\n source: entry.schema.source ?? `seam:${entry.providerId}`,\n execute: async <TInput = unknown, TResult = unknown>(\n input: TInput,\n invocation: ToolInvocationContext,\n ): Promise<TResult> => {\n assertActive(isActive);\n const result = await entry.execute(input, invocation);\n if (!result.success) throw new Error(result.error ?? `Seam Tool failed: ${entry.schema.function.name}`);\n return result.output as TResult;\n },\n } satisfies ToolCapability));\n const access = await Promise.all(projected.map(async (descriptor) => ({\n descriptor,\n allowed: await canAccessDescriptor(descriptor, turn, host),\n })));\n return Object.freeze(access.filter(({ allowed }) => allowed).map(({ descriptor }) => descriptor));\n}\n\nasync function bindSeamSkills(\n seam: SeamIntegration,\n owner: PluginId,\n turn?: TurnAccessContext,\n host?: PermissionHost,\n): Promise<readonly SkillDescriptor[]> {\n const projected = (await seam.projectSkills(String(owner))).map((entry) => Object.freeze({\n $feature: 'zhin.skill/1' as const,\n owner,\n name: entry.metadata.name,\n qualifiedName: entry.metadata.name,\n description: entry.metadata.description,\n instructions: entry.instructions,\n toolNames: entry.metadata.toolNames,\n platforms: entry.metadata.platforms,\n scopes: entry.metadata.scopes,\n permissions: entry.metadata.permissions,\n keywords: entry.metadata.keywords,\n tags: entry.metadata.tags,\n always: entry.metadata.always,\n source: `seam:${entry.providerId}`,\n } satisfies SkillDescriptor));\n const access = await Promise.all(projected.map(async (descriptor) => ({\n descriptor,\n allowed: await canAccessDescriptor(descriptor, turn, host),\n })));\n return Object.freeze(access.filter(({ allowed }) => allowed).map(({ descriptor }) => descriptor));\n}\n\nasync function bindSkills(\n index: SkillIndex | undefined,\n turn?: TurnAccessContext,\n host?: PermissionHost,\n selectedAgent?: string,\n): Promise<readonly SkillDescriptor[]> {\n if (!index) return Object.freeze([]);\n const access = await Promise.all(index.list().map(async (descriptor) => ({\n descriptor,\n allowed: belongsToSelectedAgent(descriptor.agentName, selectedAgent)\n && await canAccessDescriptor(descriptor, turn, host),\n })));\n return Object.freeze(access.filter(({ allowed }) => allowed).map(({ descriptor }) => descriptor));\n}\n\nfunction belongsToSelectedAgent(agentName: string | undefined, selectedAgent: string | undefined): boolean {\n if (!agentName) return true;\n return selectedAgent === agentName || selectedAgent?.endsWith(`__${agentName}`) === true;\n}\n\nfunction assertDistinctCapabilities(\n kind: 'Tool' | 'Skill',\n capabilities: readonly { name: string }[],\n): void {\n const names = new Set<string>();\n for (const capability of capabilities) {\n if (names.has(capability.name)) throw new Error(`Duplicate Agent ${kind} capability: ${capability.name}`);\n names.add(capability.name);\n }\n}\n\nasync function bindTools(\n index: ToolIndex | undefined,\n owner: PluginId,\n isActive: () => boolean,\n turn?: TurnAccessContext,\n host?: PermissionHost,\n selectedAgent?: string,\n operationSnapshot?: RuntimeSnapshot,\n): Promise<readonly ToolCapability[]> {\n if (!index) return Object.freeze([]);\n const descriptors = index.list();\n const accessResults = await Promise.all(\n descriptors.map(async (descriptor) => ({\n descriptor,\n allowed: await canAccessDescriptor(descriptor, turn, host),\n })),\n );\n return Object.freeze(accessResults\n .filter((r) => r.allowed)\n .map((r) => Object.freeze({\n ...r.descriptor,\n hidden: isSelectedAgentTool(r.descriptor.placement, selectedAgent)\n ? false\n : r.descriptor.hidden,\n name: r.descriptor.qualifiedName,\n execute: <TInput, TResult>(input: TInput, invocation: ToolInvocationContext) => {\n assertActive(isActive);\n return index.execute<TInput, TResult>(r.descriptor.owner, r.descriptor.name, input, invocation, operationSnapshot);\n },\n })));\n}\n\nfunction isSelectedAgentTool(\n placement: ToolDescriptor['placement'],\n selectedAgent: string | undefined,\n): boolean {\n return placement?.kind === 'agent'\n && belongsToSelectedAgent(placement.agent, selectedAgent);\n}\n\nasync function canAccessDescriptor(\n descriptor: Pick<ToolDescriptor, 'platforms' | 'scopes' | 'permissions'>,\n turn: TurnAccessContext | undefined,\n host?: PermissionHost,\n): Promise<boolean> {\n if (descriptor.platforms?.length) {\n if (turn?.origin.kind !== 'im' || !descriptor.platforms.includes(turn.origin.platform)) {\n return false;\n }\n }\n if (descriptor.scopes?.length) {\n if (turn?.origin.kind !== 'im' || !descriptor.scopes.includes(turn.origin.scope)) {\n return false;\n }\n }\n if (!descriptor.permissions?.length) return true;\n if (!turn || !host) return false;\n return host.checkAll(descriptor.permissions, turnPermissionSubject(turn));\n}\n\n/** Root resources 上的 PermissionHost(command-index 同款解析;未安装时 fail-closed)。 */\nfunction resolvePermissionHost(snapshot: RuntimeSnapshot): PermissionHost | undefined {\n try {\n const resources = snapshot.resources.get(snapshot.root);\n const host = resources?.get(permissionHostToken.id);\n return host && typeof (host as PermissionHost).check === 'function'\n ? host as PermissionHost\n : undefined;\n } catch {\n return undefined;\n }\n}\n\nfunction bindMcp(\n index: McpIndex | undefined,\n owner: PluginId,\n isActive: () => boolean,\n): readonly McpCapability[] {\n if (!index) return Object.freeze([]);\n return Object.freeze(index.visible(owner).map((descriptor) => Object.freeze({\n ...descriptor,\n listTools: () => {\n assertActive(isActive);\n return index.listTools(owner, descriptor.name);\n },\n callTool: <TResult>(tool: string, input: unknown) => {\n assertActive(isActive);\n return index.callTool<TResult>(owner, descriptor.name, tool, input);\n },\n })));\n}\n\nfunction assertActive(isActive: () => boolean): void {\n if (!isActive()) throw new Error('Agent capability turn scope has ended');\n}\n\nfunction projection<T>(\n snapshot: RuntimeSnapshot,\n id: FeatureId,\n guard: (value: unknown) => value is T,\n): T | undefined {\n const value = snapshot.projections.get(id);\n return guard(value) ? value : undefined;\n}\n"]}
@@ -14,4 +14,3 @@ export declare function capabilityToTool(tool: ToolCapability, invocation: ToolI
14
14
  /** Owner-visible capabilities → generation-stamped tools for the turn runner. */
15
15
  export declare function toolsFromCapabilities(capabilities: AgentCapabilities, turn: TurnIngress | TurnRequest): GenerationStampedTool[];
16
16
  export declare function toolInvocationFromTurn(turn: TurnIngress | TurnRequest): ToolInvocationContext;
17
- //# sourceMappingURL=capability-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capability-tools.js","sourceRoot":"","sources":["../../src/plugin-runtime/capability-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability-tools.js","sourceRoot":"","sources":["../../src/plugin-runtime/capability-tools.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAQ7D,MAAM,UAAU,gBAAgB,CAC9B,IAAoB,EACpB,UAAiC;IAEjC,MAAM,UAAU,GAAG,2BAA2B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjE,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAqC;YAC7E,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;SACrE;QACD,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1B,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3D,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAClD,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QACjE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QACxD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,KAAK,CAAC,OAAO,CAAC,IAAI;YAChB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAyC,CAAC;QACtF,CAAC;KACF,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,qBAAqB,CACnC,YAA+B,EAC/B,IAA+B;IAE/B,OAAO,mBAAmB,CACxB,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EACtF,YAAY,CAAC,UAAU,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAA+B;IACpE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;QAC9B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;QAC5B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;QAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS;YACnC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;YACvC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAChD,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACxD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;gBACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI;gBAC9C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS;gBACzC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC;aAChF,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;gBACnB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE;gBACpD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;gBACxB,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE;gBAC9D,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAC;AACL,CAAC","sourcesContent":["/**\n * ToolCapability → turn tool 转换(Plugin Runtime runner 注入点)。\n * 打上 snapshot generation 戳,ToolRuntime 在执行前校验戳与当前 turn 是否一致。\n */\nimport type { Tool } from '@zhin.js/core';\nimport { toolInputSchemaToParameters } from '@zhin.js/tool';\nimport { stampToolGeneration } from '../tool/tool-system.js';\nimport type { AgentCapabilities, ToolCapability } from './capability-ingress.js';\nimport type { ToolInvocationContext } from '@zhin.js/tool';\nimport type { TurnIngress, TurnRequest } from '../turn/turn-ingress.js';\n\n/** Core transport tool shape plus the generation stamp ToolRuntime validates. */\nexport type GenerationStampedTool = Tool & { generation?: number };\n\nexport function capabilityToTool(\n tool: ToolCapability,\n invocation: ToolInvocationContext,\n): GenerationStampedTool {\n const parameters = toolInputSchemaToParameters(tool.inputSchema);\n return {\n name: tool.name,\n description: tool.description,\n parameters: {\n type: 'object',\n properties: (parameters.properties ?? {}) as Tool['parameters']['properties'],\n required: parameters.required ? [...parameters.required] : undefined,\n },\n source: String(tool.owner),\n platforms: tool.platforms ? [...tool.platforms] : undefined,\n scopes: tool.scopes ? [...tool.scopes] : undefined,\n permissions: tool.permissions ? [...tool.permissions] : undefined,\n tags: tool.tags ? [...tool.tags] : undefined,\n keywords: tool.keywords ? [...tool.keywords] : undefined,\n hidden: tool.hidden,\n requiresApproval: tool.requiresApproval,\n async execute(args) {\n return await tool.execute(args, invocation) as Awaited<ReturnType<Tool['execute']>>;\n },\n };\n}\n\n/** Owner-visible capabilities → generation-stamped tools for the turn runner. */\nexport function toolsFromCapabilities(\n capabilities: AgentCapabilities,\n turn: TurnIngress | TurnRequest,\n): GenerationStampedTool[] {\n return stampToolGeneration(\n capabilities.tools.map((tool) => capabilityToTool(tool, toolInvocationFromTurn(turn))),\n capabilities.generation,\n );\n}\n\nexport function toolInvocationFromTurn(turn: TurnIngress | TurnRequest): ToolInvocationContext {\n return Object.freeze({\n signal: turn.signal,\n traceId: turn.identity.traceId,\n turnId: turn.identity.turnId,\n sessionKey: turn.session.key,\n origin: turn.origin,\n principal: Object.freeze({\n subjectId: turn.principal.subjectId,\n displayName: turn.principal.displayName,\n roles: Object.freeze([...turn.principal.roles]),\n }),\n policy: Object.freeze({\n permissions: Object.freeze([...turn.policy.permissions]),\n unattended: turn.policy.unattended,\n network: Object.freeze({\n enabled: turn.policy.network?.enabled === true,\n httpsOnly: turn.policy.network?.httpsOnly,\n allowedDomains: Object.freeze([...(turn.policy.network?.allowedDomains ?? [])]),\n }),\n ...(turn.policy.shell\n ? { shell: Object.freeze({ ...turn.policy.shell }) }\n : {}),\n ...(turn.policy.filesystem\n ? { filesystem: Object.freeze({ ...turn.policy.filesystem }) }\n : {}),\n }),\n ...(turn.ports.question ? { question: turn.ports.question } : {}),\n ...(turn.ports.client ? { client: turn.ports.client } : {}),\n });\n}\n"]}
@@ -26,4 +26,3 @@ export declare function runWithAgentDecisionTurn<T>(snapshot: RuntimeSnapshot, t
26
26
  readonly disabled?: boolean;
27
27
  readonly observe?: (observation: DecisionObservation) => void;
28
28
  }): Promise<T>;
29
- //# sourceMappingURL=decision-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decision-runtime.js","sourceRoot":"","sources":["../../src/plugin-runtime/decision-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decision-runtime.js","sourceRoot":"","sources":["../../src/plugin-runtime/decision-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks';\nimport { createToken, childPluginId, type PluginId, type RuntimeSnapshot, type Scope } from '@zhin.js/plugin-runtime';\nimport type { DecisionProvider } from '@zhin.js/ai';\nimport type { AgentDecisionConfig, AgentDecisionRuntime, DecisionObservation } from '../decision/types.js';\nimport { DECISION_TASKS } from '../decision/config.js';\n\n/** Provided locally by an optional service Plugin; never a process-wide registry. */\nexport interface AgentDecisionProviderResource {\n readonly owner: PluginId;\n readonly provider: DecisionProvider;\n}\n\nexport const decisionProviderToken = createToken<AgentDecisionProviderResource>('zhin.agent.decision-provider');\nexport const agentDecisionConfigToken = createToken<AgentDecisionConfig>('zhin.agent.decision-config');\n\n/** Preserve declaration ownership even when Scope snapshots include inherited resources. */\nexport function provideAgentDecisionProvider(resources: Scope, provider: DecisionProvider): void {\n resources.provide(decisionProviderToken, Object.freeze({ owner: resources.owner, provider }));\n}\n\n/** Resolve the configured exact owner from the operation's held generation. */\nexport function resolveAgentDecisionRuntime(\n snapshot: RuntimeSnapshot,\n observe?: (observation: DecisionObservation) => void,\n): AgentDecisionRuntime | undefined {\n const config = snapshot.resources.get(snapshot.root)?.get(agentDecisionConfigToken.id) as AgentDecisionConfig | undefined;\n if (!config || !DECISION_TASKS.some(task => config[task] && config[task]!.mode !== 'off')) return undefined;\n const owner = config.provider.split('/').slice(1).reduce(childPluginId, snapshot.root);\n const resource = snapshot.resources.get(owner)?.get(decisionProviderToken.id) as AgentDecisionProviderResource | undefined;\n if (!snapshot.tree.has(owner) || resource?.owner !== owner || typeof resource.provider?.evaluate !== 'function') {\n throw new Error(`ai.decisions.provider ${config.provider} does not provide an enabled DecisionProvider`);\n }\n return Object.freeze({ provider: resource.provider, config, ...(observe ? { observe } : {}) });\n}\n\ninterface AgentDecisionTurnContext {\n readonly snapshot: RuntimeSnapshot;\n readonly turnId: string;\n readonly disabled: boolean;\n readonly runtime?: AgentDecisionRuntime;\n readonly observations: DecisionObservation[];\n}\n\n// This authority belongs to the runtime, separately from caller-supplied turn configuration.\nconst decisionTurnStorage = new AsyncLocalStorage<AgentDecisionTurnContext>();\n\nexport function getAgentTurnDecisionRuntime(): AgentDecisionRuntime | undefined {\n return decisionTurnStorage.getStore()?.runtime;\n}\n\nexport function drainAgentTurnDecisionObservations(): readonly DecisionObservation[] {\n return decisionTurnStorage.getStore()?.observations.splice(0) ?? [];\n}\n\n/** Ingress selection, approval, and native tools share one held-generation decision context. */\nexport function runWithAgentDecisionTurn<T>(\n snapshot: RuntimeSnapshot,\n turnId: string,\n run: (runtime: AgentDecisionRuntime | undefined) => Promise<T>,\n options: { readonly disabled?: boolean; readonly observe?: (observation: DecisionObservation) => void } = {},\n): Promise<T> {\n const current = decisionTurnStorage.getStore();\n const disabled = options.disabled ?? false;\n if (current?.snapshot === snapshot && current.turnId === turnId && current.disabled === disabled) return run(current.runtime);\n const observations: DecisionObservation[] = [];\n const runtime = disabled ? undefined : resolveAgentDecisionRuntime(snapshot, observation => {\n observations.push(observation);\n try { options.observe?.(observation); } catch { /* diagnostics do not change authority */ }\n });\n return decisionTurnStorage.run({ snapshot, turnId, disabled, runtime, observations }, () => run(runtime));\n}\n"]}
@@ -84,5 +84,24 @@ export declare function primeSkillsForIntent(options: Readonly<{
84
84
  * immutable generation projection and the session snapshot.
85
85
  */
86
86
  export declare function createDeferredCapabilityPlan(options: DeferredCapabilityPlanOptions): DeferredCapabilityPlan;
87
+ /**
88
+ * Upper bound on plugin tools that may become resident through their own
89
+ * `alwaysLoaded: true` flag in one turn. Each resident schema is sent on every
90
+ * model call, so a misbehaving plugin set must not silently flood the context.
91
+ * Tools past the limit stay deferred (still reachable via `discover` /
92
+ * `load_tool`) and a warning names them once. Operators who need more can list
93
+ * tools in `deferredTools.alwaysLoadedTools`, which this limit does not touch.
94
+ */
95
+ export declare const MAX_DECLARED_RESIDENT_TOOLS = 8;
96
+ /**
97
+ * Names of public tools whose author set `alwaysLoaded: true`, in projection
98
+ * order and capped at {@link MAX_DECLARED_RESIDENT_TOOLS}.
99
+ *
100
+ * - Absent or `false` keeps the tool deferred (the default for every plugin).
101
+ * - `deferredTools.alwaysLoadedMode: replace` means the operator's list is the
102
+ * complete resident set, so author declarations are ignored.
103
+ * - Only public (non-hidden) capabilities that already passed ingress and the
104
+ * capability ceiling are considered; the flag never grants access.
105
+ */
106
+ export declare function declaredResidentToolNames(tools: readonly Pick<ToolCapability, 'name' | 'alwaysLoaded'>[], config: DeferredCapabilityPlanOptions['config']): string[];
87
107
  export declare function capabilityAsAgentTool(tool: ToolCapability): AgentTool;
88
- //# sourceMappingURL=deferred-capability-plan.d.ts.map
@@ -1,9 +1,11 @@
1
1
  import { addSkillToSnapshot, getLoadedToolNamesFromSnapshot, touchToolInSnapshot, touchToolsInSnapshot, } from '@zhin.js/ai';
2
2
  import { toolInputSchemaToParameters, } from '@zhin.js/tool';
3
+ import { getLogger } from '@zhin.js/logger';
3
4
  import { rankDecisionCandidates } from '../decision/rank.js';
4
5
  import { buildDeferredStats, buildToolCatalog, discoverInCatalog, resolveDeferredApiTools } from '../tool-catalog/tool-catalog.js';
5
6
  import { resolveDeferredToolsConfig } from '../tool-catalog/resolve-config.js';
6
7
  import { DEFERRED_META_TOOL_NAMES } from '../tool-catalog/types.js';
8
+ const logger = getLogger('DeferredCapabilityPlan');
7
9
  /**
8
10
  * Reserved, model-invisible control namespace of the Agent runtime. Control
9
11
  * tools use this prefix and it is always filtered out of model-visible
@@ -70,6 +72,10 @@ export function createDeferredCapabilityPlan(options) {
70
72
  if (tool.platforms?.length)
71
73
  alwaysLoaded.add(tool.name);
72
74
  }
75
+ // Plugin authors may opt a tool into the resident set (#857 P1-10).
76
+ for (const name of declaredResidentToolNames(publicCapabilities, options.config)) {
77
+ alwaysLoaded.add(name);
78
+ }
73
79
  const publicTools = publicCapabilities.map(capabilityAsAgentTool);
74
80
  const publicCatalog = buildToolCatalog({ tools: publicTools, alwaysLoaded });
75
81
  let snapshot = projectSessionSnapshot(options.sessionSnapshot, projected);
@@ -116,6 +122,40 @@ export function createDeferredCapabilityPlan(options) {
116
122
  controller,
117
123
  });
118
124
  }
125
+ /**
126
+ * Upper bound on plugin tools that may become resident through their own
127
+ * `alwaysLoaded: true` flag in one turn. Each resident schema is sent on every
128
+ * model call, so a misbehaving plugin set must not silently flood the context.
129
+ * Tools past the limit stay deferred (still reachable via `discover` /
130
+ * `load_tool`) and a warning names them once. Operators who need more can list
131
+ * tools in `deferredTools.alwaysLoadedTools`, which this limit does not touch.
132
+ */
133
+ export const MAX_DECLARED_RESIDENT_TOOLS = 8;
134
+ const warnedOverLimitTools = new Set();
135
+ /**
136
+ * Names of public tools whose author set `alwaysLoaded: true`, in projection
137
+ * order and capped at {@link MAX_DECLARED_RESIDENT_TOOLS}.
138
+ *
139
+ * - Absent or `false` keeps the tool deferred (the default for every plugin).
140
+ * - `deferredTools.alwaysLoadedMode: replace` means the operator's list is the
141
+ * complete resident set, so author declarations are ignored.
142
+ * - Only public (non-hidden) capabilities that already passed ingress and the
143
+ * capability ceiling are considered; the flag never grants access.
144
+ */
145
+ export function declaredResidentToolNames(tools, config) {
146
+ if (config.deferredTools?.alwaysLoadedMode === 'replace')
147
+ return [];
148
+ const declared = tools.filter(tool => tool.alwaysLoaded === true).map(tool => tool.name);
149
+ const overLimit = declared.slice(MAX_DECLARED_RESIDENT_TOOLS)
150
+ .filter(name => !warnedOverLimitTools.has(name));
151
+ if (overLimit.length > 0) {
152
+ for (const name of overLimit)
153
+ warnedOverLimitTools.add(name);
154
+ logger.warn(`${declared.length} plugin tools declare alwaysLoaded; only the first ${MAX_DECLARED_RESIDENT_TOOLS} are resident. `
155
+ + `Still deferred: ${overLimit.join(', ')}. List them in ai.agent.deferredTools.alwaysLoadedTools to keep them loaded.`);
156
+ }
157
+ return declared.slice(0, MAX_DECLARED_RESIDENT_TOOLS);
158
+ }
119
159
  function projectCapabilities(capabilities, ceiling) {
120
160
  if (!ceiling) {
121
161
  return Object.freeze({