@namzu/sdk 46.0.0 → 48.1.0

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 (768) hide show
  1. package/CHANGELOG.md +351 -8
  2. package/README.md +7 -8
  3. package/dist/advisory/history.d.ts.map +1 -1
  4. package/dist/advisory/history.js +21 -1
  5. package/dist/advisory/history.js.map +1 -1
  6. package/dist/advisory/index.d.ts +1 -1
  7. package/dist/advisory/index.d.ts.map +1 -1
  8. package/dist/advisory/index.js +1 -1
  9. package/dist/advisory/index.js.map +1 -1
  10. package/dist/advisory/registry.d.ts +17 -0
  11. package/dist/advisory/registry.d.ts.map +1 -1
  12. package/dist/advisory/registry.js +26 -0
  13. package/dist/advisory/registry.js.map +1 -1
  14. package/dist/agents/PipelineAgent.d.ts +2 -46
  15. package/dist/agents/PipelineAgent.d.ts.map +1 -1
  16. package/dist/agents/PipelineAgent.js +2 -242
  17. package/dist/agents/PipelineAgent.js.map +1 -1
  18. package/dist/agents/QueryAgent.d.ts +21 -0
  19. package/dist/agents/QueryAgent.d.ts.map +1 -0
  20. package/dist/agents/QueryAgent.js +214 -0
  21. package/dist/agents/QueryAgent.js.map +1 -0
  22. package/dist/agents/ReactiveAgent.d.ts +4 -16
  23. package/dist/agents/ReactiveAgent.d.ts.map +1 -1
  24. package/dist/agents/ReactiveAgent.js +4 -183
  25. package/dist/agents/ReactiveAgent.js.map +1 -1
  26. package/dist/agents/RouterAgent.d.ts +2 -20
  27. package/dist/agents/RouterAgent.d.ts.map +1 -1
  28. package/dist/agents/RouterAgent.js +2 -266
  29. package/dist/agents/RouterAgent.js.map +1 -1
  30. package/dist/agents/SupervisorAgent.d.ts +3 -43
  31. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  32. package/dist/agents/SupervisorAgent.js +3 -418
  33. package/dist/agents/SupervisorAgent.js.map +1 -1
  34. package/dist/agents/defineAgent.d.ts +2 -1
  35. package/dist/agents/defineAgent.d.ts.map +1 -1
  36. package/dist/agents/defineAgent.js +6 -1
  37. package/dist/agents/defineAgent.js.map +1 -1
  38. package/dist/agents/examples/PipelineAgent.d.ts +46 -0
  39. package/dist/agents/examples/PipelineAgent.d.ts.map +1 -0
  40. package/dist/agents/examples/PipelineAgent.js +242 -0
  41. package/dist/agents/examples/PipelineAgent.js.map +1 -0
  42. package/dist/agents/examples/RouterAgent.d.ts +22 -0
  43. package/dist/agents/examples/RouterAgent.d.ts.map +1 -0
  44. package/dist/agents/examples/RouterAgent.js +268 -0
  45. package/dist/agents/examples/RouterAgent.js.map +1 -0
  46. package/dist/agents/examples/SupervisorAgent.d.ts +45 -0
  47. package/dist/agents/examples/SupervisorAgent.d.ts.map +1 -0
  48. package/dist/agents/examples/SupervisorAgent.js +406 -0
  49. package/dist/agents/examples/SupervisorAgent.js.map +1 -0
  50. package/dist/agents/explore.d.ts +6 -3
  51. package/dist/agents/explore.d.ts.map +1 -1
  52. package/dist/agents/explore.js +6 -3
  53. package/dist/agents/explore.js.map +1 -1
  54. package/dist/agents/forward-options.d.ts +11 -0
  55. package/dist/agents/forward-options.d.ts.map +1 -0
  56. package/dist/agents/forward-options.js +15 -0
  57. package/dist/agents/forward-options.js.map +1 -0
  58. package/dist/agents/index.d.ts +1 -0
  59. package/dist/agents/index.d.ts.map +1 -1
  60. package/dist/agents/index.js +2 -0
  61. package/dist/agents/index.js.map +1 -1
  62. package/dist/agents/runAgent.d.ts +19 -8
  63. package/dist/agents/runAgent.d.ts.map +1 -1
  64. package/dist/agents/runAgent.js +99 -29
  65. package/dist/agents/runAgent.js.map +1 -1
  66. package/dist/authorization/command-line.d.ts +2 -0
  67. package/dist/authorization/command-line.d.ts.map +1 -1
  68. package/dist/authorization/command-line.js +2 -2
  69. package/dist/authorization/command-line.js.map +1 -1
  70. package/dist/authorization/gate.d.ts +8 -0
  71. package/dist/authorization/gate.d.ts.map +1 -1
  72. package/dist/authorization/gate.js +12 -1
  73. package/dist/authorization/gate.js.map +1 -1
  74. package/dist/authorization/program.d.ts +151 -0
  75. package/dist/authorization/program.d.ts.map +1 -0
  76. package/dist/authorization/program.js +713 -0
  77. package/dist/authorization/program.js.map +1 -0
  78. package/dist/authorization/reexec-wrapper.d.ts +106 -0
  79. package/dist/authorization/reexec-wrapper.d.ts.map +1 -0
  80. package/dist/authorization/reexec-wrapper.js +532 -0
  81. package/dist/authorization/reexec-wrapper.js.map +1 -0
  82. package/dist/authorization/rules.d.ts +9 -0
  83. package/dist/authorization/rules.d.ts.map +1 -1
  84. package/dist/authorization/rules.js +8 -1
  85. package/dist/authorization/rules.js.map +1 -1
  86. package/dist/authorization/shell-lexer.d.ts +19 -4
  87. package/dist/authorization/shell-lexer.d.ts.map +1 -1
  88. package/dist/authorization/shell-lexer.js +91 -65
  89. package/dist/authorization/shell-lexer.js.map +1 -1
  90. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  91. package/dist/bridge/sse/mapper.js +6 -0
  92. package/dist/bridge/sse/mapper.js.map +1 -1
  93. package/dist/capabilities/index.d.ts +54 -0
  94. package/dist/capabilities/index.d.ts.map +1 -0
  95. package/dist/capabilities/index.js +92 -0
  96. package/dist/capabilities/index.js.map +1 -0
  97. package/dist/config/registry.d.ts +2 -1
  98. package/dist/config/registry.d.ts.map +1 -1
  99. package/dist/config/registry.js +3 -2
  100. package/dist/config/registry.js.map +1 -1
  101. package/dist/connector/index.d.ts +4 -4
  102. package/dist/connector/index.d.ts.map +1 -1
  103. package/dist/connector/index.js +3 -3
  104. package/dist/connector/index.js.map +1 -1
  105. package/dist/connector/mcp/adapter.d.ts +16 -1
  106. package/dist/connector/mcp/adapter.d.ts.map +1 -1
  107. package/dist/connector/mcp/adapter.js +71 -4
  108. package/dist/connector/mcp/adapter.js.map +1 -1
  109. package/dist/connector/mcp/client.d.ts +32 -4
  110. package/dist/connector/mcp/client.d.ts.map +1 -1
  111. package/dist/connector/mcp/client.js +383 -5
  112. package/dist/connector/mcp/client.js.map +1 -1
  113. package/dist/connector/mcp/discovery.d.ts +24 -1
  114. package/dist/connector/mcp/discovery.d.ts.map +1 -1
  115. package/dist/connector/mcp/discovery.js +44 -0
  116. package/dist/connector/mcp/discovery.js.map +1 -1
  117. package/dist/connector/mcp/era.d.ts.map +1 -1
  118. package/dist/connector/mcp/era.js +7 -0
  119. package/dist/connector/mcp/era.js.map +1 -1
  120. package/dist/connector/mcp/index.d.ts +2 -0
  121. package/dist/connector/mcp/index.d.ts.map +1 -1
  122. package/dist/connector/mcp/index.js +11 -0
  123. package/dist/connector/mcp/index.js.map +1 -1
  124. package/dist/connector/mcp/mcp-toolset.d.ts +133 -0
  125. package/dist/connector/mcp/mcp-toolset.d.ts.map +1 -0
  126. package/dist/connector/mcp/mcp-toolset.js +399 -0
  127. package/dist/connector/mcp/mcp-toolset.js.map +1 -0
  128. package/dist/connector/mcp/streamable-http.d.ts +15 -0
  129. package/dist/connector/mcp/streamable-http.d.ts.map +1 -1
  130. package/dist/connector/mcp/streamable-http.js +281 -6
  131. package/dist/connector/mcp/streamable-http.js.map +1 -1
  132. package/dist/connector/tools/index.d.ts +2 -2
  133. package/dist/connector/tools/index.d.ts.map +1 -1
  134. package/dist/connector/tools/index.js +1 -1
  135. package/dist/connector/tools/index.js.map +1 -1
  136. package/dist/connector/tools/router.d.ts +15 -13
  137. package/dist/connector/tools/router.d.ts.map +1 -1
  138. package/dist/connector/tools/router.js +30 -51
  139. package/dist/connector/tools/router.js.map +1 -1
  140. package/dist/contracts/a2a.d.ts +2 -2
  141. package/dist/directory/derive-supervisor.d.ts +2 -2
  142. package/dist/directory/derive-supervisor.d.ts.map +1 -1
  143. package/dist/directory/derive-supervisor.js +6 -7
  144. package/dist/directory/derive-supervisor.js.map +1 -1
  145. package/dist/directory/derive.d.ts.map +1 -1
  146. package/dist/directory/derive.js +5 -5
  147. package/dist/directory/derive.js.map +1 -1
  148. package/dist/execution/code-runtime/types.d.ts +2 -2
  149. package/dist/execution/code-runtime/types.js +1 -1
  150. package/dist/invariants/index.d.ts +2 -1
  151. package/dist/invariants/index.d.ts.map +1 -1
  152. package/dist/invariants/index.js +3 -2
  153. package/dist/invariants/index.js.map +1 -1
  154. package/dist/manager/agent/lifecycle.d.ts +1 -0
  155. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  156. package/dist/manager/agent/lifecycle.js +146 -18
  157. package/dist/manager/agent/lifecycle.js.map +1 -1
  158. package/dist/manager/connector/environment.d.ts +6 -0
  159. package/dist/manager/connector/environment.d.ts.map +1 -1
  160. package/dist/manager/connector/environment.js +11 -4
  161. package/dist/manager/connector/environment.js.map +1 -1
  162. package/dist/manager/connector/index.d.ts +2 -2
  163. package/dist/manager/connector/index.d.ts.map +1 -1
  164. package/dist/manager/connector/index.js +2 -2
  165. package/dist/manager/connector/index.js.map +1 -1
  166. package/dist/manager/connector/tenant.d.ts +6 -0
  167. package/dist/manager/connector/tenant.d.ts.map +1 -1
  168. package/dist/manager/connector/tenant.js +11 -4
  169. package/dist/manager/connector/tenant.js.map +1 -1
  170. package/dist/manager/index.d.ts +2 -2
  171. package/dist/manager/index.d.ts.map +1 -1
  172. package/dist/manager/index.js +2 -2
  173. package/dist/manager/index.js.map +1 -1
  174. package/dist/manager/resident/initiative.d.ts +6 -6
  175. package/dist/manager/resident/learning-observation.d.ts +4 -4
  176. package/dist/manager/resident/learning.d.ts +36 -36
  177. package/dist/manager/resident/outbox.d.ts +4 -4
  178. package/dist/manager/session/attribution.d.ts +22 -0
  179. package/dist/manager/session/attribution.d.ts.map +1 -0
  180. package/dist/manager/session/attribution.js +64 -0
  181. package/dist/manager/session/attribution.js.map +1 -0
  182. package/dist/manager/session/turn-recorder.d.ts +14 -0
  183. package/dist/manager/session/turn-recorder.d.ts.map +1 -1
  184. package/dist/manager/session/turn-recorder.js +208 -55
  185. package/dist/manager/session/turn-recorder.js.map +1 -1
  186. package/dist/peers/address.d.ts +36 -0
  187. package/dist/peers/address.d.ts.map +1 -0
  188. package/dist/peers/address.js +52 -0
  189. package/dist/peers/address.js.map +1 -0
  190. package/dist/peers/client.d.ts +47 -0
  191. package/dist/peers/client.d.ts.map +1 -0
  192. package/dist/peers/client.js +132 -0
  193. package/dist/peers/client.js.map +1 -0
  194. package/dist/peers/dir.d.ts +88 -0
  195. package/dist/peers/dir.d.ts.map +1 -0
  196. package/dist/peers/dir.js +139 -0
  197. package/dist/peers/dir.js.map +1 -0
  198. package/dist/peers/endpoint.d.ts +144 -0
  199. package/dist/peers/endpoint.d.ts.map +1 -0
  200. package/dist/peers/endpoint.js +420 -0
  201. package/dist/peers/endpoint.js.map +1 -0
  202. package/dist/peers/envelope.d.ts +42 -0
  203. package/dist/peers/envelope.d.ts.map +1 -0
  204. package/dist/peers/envelope.js +110 -0
  205. package/dist/peers/envelope.js.map +1 -0
  206. package/dist/peers/index.d.ts +30 -0
  207. package/dist/peers/index.d.ts.map +1 -0
  208. package/dist/peers/index.js +22 -0
  209. package/dist/peers/index.js.map +1 -0
  210. package/dist/peers/protocol.d.ts +645 -0
  211. package/dist/peers/protocol.d.ts.map +1 -0
  212. package/dist/peers/protocol.js +151 -0
  213. package/dist/peers/protocol.js.map +1 -0
  214. package/dist/peers/record.d.ts +71 -0
  215. package/dist/peers/record.d.ts.map +1 -0
  216. package/dist/peers/record.js +45 -0
  217. package/dist/peers/record.js.map +1 -0
  218. package/dist/peers/registry.d.ts +54 -0
  219. package/dist/peers/registry.d.ts.map +1 -0
  220. package/dist/peers/registry.js +213 -0
  221. package/dist/peers/registry.js.map +1 -0
  222. package/dist/plugin/define.d.ts +24 -0
  223. package/dist/plugin/define.d.ts.map +1 -0
  224. package/dist/plugin/define.js +42 -0
  225. package/dist/plugin/define.js.map +1 -0
  226. package/dist/plugin/index.d.ts +2 -0
  227. package/dist/plugin/index.d.ts.map +1 -1
  228. package/dist/plugin/index.js +1 -0
  229. package/dist/plugin/index.js.map +1 -1
  230. package/dist/plugin/lifecycle.d.ts +27 -3
  231. package/dist/plugin/lifecycle.d.ts.map +1 -1
  232. package/dist/plugin/lifecycle.js +242 -92
  233. package/dist/plugin/lifecycle.js.map +1 -1
  234. package/dist/plugin/resolver.d.ts +2 -2
  235. package/dist/plugin/resolver.d.ts.map +1 -1
  236. package/dist/plugin/resolver.js.map +1 -1
  237. package/dist/plugin/shell-hook.d.ts.map +1 -1
  238. package/dist/plugin/shell-hook.js +17 -3
  239. package/dist/plugin/shell-hook.js.map +1 -1
  240. package/dist/probe/errors.d.ts +2 -1
  241. package/dist/probe/errors.d.ts.map +1 -1
  242. package/dist/probe/errors.js +3 -2
  243. package/dist/probe/errors.js.map +1 -1
  244. package/dist/prompt/coding-agent-doctrine.d.ts +18 -7
  245. package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
  246. package/dist/prompt/coding-agent-doctrine.js +11 -6
  247. package/dist/prompt/coding-agent-doctrine.js.map +1 -1
  248. package/dist/prompt/contributions.d.ts +4 -1
  249. package/dist/prompt/contributions.d.ts.map +1 -1
  250. package/dist/prompt/contributions.js +7 -2
  251. package/dist/prompt/contributions.js.map +1 -1
  252. package/dist/prompt/index.d.ts +1 -1
  253. package/dist/prompt/index.d.ts.map +1 -1
  254. package/dist/prompt/index.js +1 -1
  255. package/dist/prompt/index.js.map +1 -1
  256. package/dist/provider/collect-chat-completion.d.ts +6 -1
  257. package/dist/provider/collect-chat-completion.d.ts.map +1 -1
  258. package/dist/provider/collect-chat-completion.js +88 -10
  259. package/dist/provider/collect-chat-completion.js.map +1 -1
  260. package/dist/provider/mock.d.ts.map +1 -1
  261. package/dist/provider/mock.js +23 -6
  262. package/dist/provider/mock.js.map +1 -1
  263. package/dist/provider/registry.d.ts +2 -1
  264. package/dist/provider/registry.d.ts.map +1 -1
  265. package/dist/provider/registry.js +3 -2
  266. package/dist/provider/registry.js.map +1 -1
  267. package/dist/provider/tool-call-framing.d.ts +164 -0
  268. package/dist/provider/tool-call-framing.d.ts.map +1 -0
  269. package/dist/provider/tool-call-framing.js +163 -0
  270. package/dist/provider/tool-call-framing.js.map +1 -0
  271. package/dist/public-runtime.d.ts +24 -11
  272. package/dist/public-runtime.d.ts.map +1 -1
  273. package/dist/public-runtime.js +45 -9
  274. package/dist/public-runtime.js.map +1 -1
  275. package/dist/public-tools.d.ts +6 -4
  276. package/dist/public-tools.d.ts.map +1 -1
  277. package/dist/public-tools.js +8 -3
  278. package/dist/public-tools.js.map +1 -1
  279. package/dist/public-types.d.ts +13 -2
  280. package/dist/public-types.d.ts.map +1 -1
  281. package/dist/read-model/registry.d.ts +2 -1
  282. package/dist/read-model/registry.d.ts.map +1 -1
  283. package/dist/read-model/registry.js +3 -2
  284. package/dist/read-model/registry.js.map +1 -1
  285. package/dist/registry/ManagedRegistry.d.ts +30 -0
  286. package/dist/registry/ManagedRegistry.d.ts.map +1 -1
  287. package/dist/registry/ManagedRegistry.js +45 -6
  288. package/dist/registry/ManagedRegistry.js.map +1 -1
  289. package/dist/registry/collision.d.ts +57 -0
  290. package/dist/registry/collision.d.ts.map +1 -0
  291. package/dist/registry/collision.js +41 -0
  292. package/dist/registry/collision.js.map +1 -0
  293. package/dist/registry/command/index.d.ts +5 -3
  294. package/dist/registry/command/index.d.ts.map +1 -1
  295. package/dist/registry/command/index.js +6 -4
  296. package/dist/registry/command/index.js.map +1 -1
  297. package/dist/registry/index.d.ts +3 -4
  298. package/dist/registry/index.d.ts.map +1 -1
  299. package/dist/registry/index.js +2 -2
  300. package/dist/registry/index.js.map +1 -1
  301. package/dist/registry/plugin/index.d.ts.map +1 -1
  302. package/dist/registry/plugin/index.js +14 -1
  303. package/dist/registry/plugin/index.js.map +1 -1
  304. package/dist/registry/tool/callable.d.ts +7 -7
  305. package/dist/registry/tool/callable.d.ts.map +1 -1
  306. package/dist/registry/tool/callable.js +6 -7
  307. package/dist/registry/tool/callable.js.map +1 -1
  308. package/dist/registry/tool/execute.d.ts +14 -77
  309. package/dist/registry/tool/execute.d.ts.map +1 -1
  310. package/dist/registry/tool/execute.js +15 -727
  311. package/dist/registry/tool/execute.js.map +1 -1
  312. package/dist/registry/tool/portable.d.ts +25 -0
  313. package/dist/registry/tool/portable.d.ts.map +1 -1
  314. package/dist/registry/tool/portable.js +50 -0
  315. package/dist/registry/tool/portable.js.map +1 -1
  316. package/dist/registry/tool/presentation.d.ts +6 -5
  317. package/dist/registry/tool/presentation.d.ts.map +1 -1
  318. package/dist/registry/tool/presentation.js +3 -3
  319. package/dist/registry/tool/presentation.js.map +1 -1
  320. package/dist/runtime/bidi/session.d.ts +5 -4
  321. package/dist/runtime/bidi/session.d.ts.map +1 -1
  322. package/dist/runtime/bidi/session.js +18 -1
  323. package/dist/runtime/bidi/session.js.map +1 -1
  324. package/dist/runtime/query/executor/tool-call-admission.d.ts +45 -2
  325. package/dist/runtime/query/executor/tool-call-admission.d.ts.map +1 -1
  326. package/dist/runtime/query/executor/tool-call-admission.js +189 -5
  327. package/dist/runtime/query/executor/tool-call-admission.js.map +1 -1
  328. package/dist/runtime/query/executor.d.ts +33 -3
  329. package/dist/runtime/query/executor.d.ts.map +1 -1
  330. package/dist/runtime/query/executor.js +86 -10
  331. package/dist/runtime/query/executor.js.map +1 -1
  332. package/dist/runtime/query/file-evidence-replay.d.ts +1 -1
  333. package/dist/runtime/query/file-evidence-replay.d.ts.map +1 -1
  334. package/dist/runtime/query/file-evidence-replay.js +8 -7
  335. package/dist/runtime/query/file-evidence-replay.js.map +1 -1
  336. package/dist/runtime/query/fork/prepare.d.ts +4 -1
  337. package/dist/runtime/query/fork/prepare.d.ts.map +1 -1
  338. package/dist/runtime/query/fork/prepare.js +4 -0
  339. package/dist/runtime/query/fork/prepare.js.map +1 -1
  340. package/dist/runtime/query/guardrail-presets.d.ts +4 -3
  341. package/dist/runtime/query/guardrail-presets.d.ts.map +1 -1
  342. package/dist/runtime/query/guardrail-presets.js +4 -3
  343. package/dist/runtime/query/guardrail-presets.js.map +1 -1
  344. package/dist/runtime/query/index.d.ts +23 -10
  345. package/dist/runtime/query/index.d.ts.map +1 -1
  346. package/dist/runtime/query/index.js +149 -70
  347. package/dist/runtime/query/index.js.map +1 -1
  348. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  349. package/dist/runtime/query/iteration/index.js +8 -1
  350. package/dist/runtime/query/iteration/index.js.map +1 -1
  351. package/dist/runtime/query/iteration/phases/compaction.js +1 -1
  352. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  353. package/dist/runtime/query/iteration/phases/context.d.ts +2 -2
  354. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  355. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  356. package/dist/runtime/query/iteration/phases/tool-review.js +55 -2
  357. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  358. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
  359. package/dist/runtime/query/iteration/stream-turn.js +342 -116
  360. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  361. package/dist/runtime/query/iteration/tool-input.d.ts +79 -0
  362. package/dist/runtime/query/iteration/tool-input.d.ts.map +1 -0
  363. package/dist/runtime/query/iteration/tool-input.js +291 -0
  364. package/dist/runtime/query/iteration/tool-input.js.map +1 -0
  365. package/dist/runtime/query/observation-context.d.ts +2 -2
  366. package/dist/runtime/query/observation-context.d.ts.map +1 -1
  367. package/dist/runtime/query/observation-context.js.map +1 -1
  368. package/dist/runtime/query/prelude-lease.d.ts +18 -0
  369. package/dist/runtime/query/prelude-lease.d.ts.map +1 -0
  370. package/dist/runtime/query/prelude-lease.js +121 -0
  371. package/dist/runtime/query/prelude-lease.js.map +1 -0
  372. package/dist/runtime/query/prepare-turn.d.ts.map +1 -1
  373. package/dist/runtime/query/prepare-turn.js +386 -187
  374. package/dist/runtime/query/prepare-turn.js.map +1 -1
  375. package/dist/runtime/query/prompt-cache.d.ts +2 -2
  376. package/dist/runtime/query/prompt-cache.d.ts.map +1 -1
  377. package/dist/runtime/query/prompt.d.ts +2 -2
  378. package/dist/runtime/query/prompt.d.ts.map +1 -1
  379. package/dist/runtime/query/prompt.js +1 -1
  380. package/dist/runtime/query/prompt.js.map +1 -1
  381. package/dist/runtime/query/resume-session.d.ts.map +1 -1
  382. package/dist/runtime/query/resume-session.js +37 -2
  383. package/dist/runtime/query/resume-session.js.map +1 -1
  384. package/dist/runtime/query/review-policy.d.ts +22 -3
  385. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  386. package/dist/runtime/query/review-policy.js +84 -6
  387. package/dist/runtime/query/review-policy.js.map +1 -1
  388. package/dist/runtime/query/tooling.d.ts +3 -2
  389. package/dist/runtime/query/tooling.d.ts.map +1 -1
  390. package/dist/runtime/query/tooling.js.map +1 -1
  391. package/dist/runtime/query/turn-state.d.ts.map +1 -1
  392. package/dist/runtime/query/turn-state.js +5 -0
  393. package/dist/runtime/query/turn-state.js.map +1 -1
  394. package/dist/runtime/system-events.d.ts +112 -0
  395. package/dist/runtime/system-events.d.ts.map +1 -0
  396. package/dist/runtime/system-events.js +183 -0
  397. package/dist/runtime/system-events.js.map +1 -0
  398. package/dist/scheduler/delegating.d.ts +2 -1
  399. package/dist/scheduler/delegating.d.ts.map +1 -1
  400. package/dist/scheduler/delegating.js +3 -2
  401. package/dist/scheduler/delegating.js.map +1 -1
  402. package/dist/scheduler/local.d.ts.map +1 -1
  403. package/dist/scheduler/local.js +2 -0
  404. package/dist/scheduler/local.js.map +1 -1
  405. package/dist/session/retention/archive.js +1 -1
  406. package/dist/session/retention/archive.js.map +1 -1
  407. package/dist/skills/index.d.ts +1 -1
  408. package/dist/skills/index.d.ts.map +1 -1
  409. package/dist/skills/index.js +1 -1
  410. package/dist/skills/index.js.map +1 -1
  411. package/dist/skills/registry.d.ts +12 -0
  412. package/dist/skills/registry.d.ts.map +1 -1
  413. package/dist/skills/registry.js +19 -0
  414. package/dist/skills/registry.js.map +1 -1
  415. package/dist/store/evidence/index-page.d.ts +2 -2
  416. package/dist/store/session/disk.d.ts.map +1 -1
  417. package/dist/store/session/disk.js +2 -0
  418. package/dist/store/session/disk.js.map +1 -1
  419. package/dist/store/session-log/conformance.d.ts +1 -1
  420. package/dist/store/session-log/conformance.d.ts.map +1 -1
  421. package/dist/store/session-log/conformance.js +49 -8
  422. package/dist/store/session-log/conformance.js.map +1 -1
  423. package/dist/store/session-log/core.d.ts +8 -3
  424. package/dist/store/session-log/core.d.ts.map +1 -1
  425. package/dist/store/session-log/core.js +2 -1
  426. package/dist/store/session-log/core.js.map +1 -1
  427. package/dist/store/session-log/fold.d.ts +12 -0
  428. package/dist/store/session-log/fold.d.ts.map +1 -1
  429. package/dist/store/session-log/fold.js +57 -7
  430. package/dist/store/session-log/fold.js.map +1 -1
  431. package/dist/store/session-log/index.d.ts +2 -2
  432. package/dist/store/session-log/index.d.ts.map +1 -1
  433. package/dist/store/session-log/index.js +1 -1
  434. package/dist/store/session-log/index.js.map +1 -1
  435. package/dist/test-support/toolset.d.ts +19 -0
  436. package/dist/test-support/toolset.d.ts.map +1 -0
  437. package/dist/test-support/toolset.js +20 -0
  438. package/dist/test-support/toolset.js.map +1 -0
  439. package/dist/tools/builtins/bash.d.ts +29 -0
  440. package/dist/tools/builtins/bash.d.ts.map +1 -1
  441. package/dist/tools/builtins/bash.js +19 -9
  442. package/dist/tools/builtins/bash.js.map +1 -1
  443. package/dist/tools/builtins/browser-url.d.ts +1 -1
  444. package/dist/tools/builtins/browser-url.js +1 -1
  445. package/dist/tools/builtins/browser.d.ts +6 -6
  446. package/dist/tools/builtins/browser.js +2 -2
  447. package/dist/tools/builtins/browser.js.map +1 -1
  448. package/dist/tools/builtins/computer-use.d.ts.map +1 -1
  449. package/dist/tools/builtins/computer-use.js +19 -11
  450. package/dist/tools/builtins/computer-use.js.map +1 -1
  451. package/dist/tools/builtins/edit.d.ts.map +1 -1
  452. package/dist/tools/builtins/edit.js +9 -1
  453. package/dist/tools/builtins/edit.js.map +1 -1
  454. package/dist/tools/builtins/json-string-hint.d.ts +15 -0
  455. package/dist/tools/builtins/json-string-hint.d.ts.map +1 -0
  456. package/dist/tools/builtins/json-string-hint.js +17 -0
  457. package/dist/tools/builtins/json-string-hint.js.map +1 -0
  458. package/dist/tools/builtins/search-tools.d.ts.map +1 -1
  459. package/dist/tools/builtins/search-tools.js +7 -15
  460. package/dist/tools/builtins/search-tools.js.map +1 -1
  461. package/dist/tools/builtins/write-file.d.ts.map +1 -1
  462. package/dist/tools/builtins/write-file.js +11 -0
  463. package/dist/tools/builtins/write-file.js.map +1 -1
  464. package/dist/tools/command-shell.d.ts +10 -0
  465. package/dist/tools/command-shell.d.ts.map +1 -1
  466. package/dist/tools/command-shell.js +45 -1
  467. package/dist/tools/command-shell.js.map +1 -1
  468. package/dist/tools/coordinator/agent.d.ts.map +1 -1
  469. package/dist/tools/coordinator/agent.js +5 -0
  470. package/dist/tools/coordinator/agent.js.map +1 -1
  471. package/dist/tools/coordinator/ask-user-question.d.ts.map +1 -1
  472. package/dist/tools/coordinator/ask-user-question.js +26 -13
  473. package/dist/tools/coordinator/ask-user-question.js.map +1 -1
  474. package/dist/tools/coordinator/index.d.ts.map +1 -1
  475. package/dist/tools/coordinator/index.js +5 -0
  476. package/dist/tools/coordinator/index.js.map +1 -1
  477. package/dist/tools/coordinator/question-options.d.ts +78 -0
  478. package/dist/tools/coordinator/question-options.d.ts.map +1 -0
  479. package/dist/tools/coordinator/question-options.js +153 -0
  480. package/dist/tools/coordinator/question-options.js.map +1 -0
  481. package/dist/tools/defineTool.d.ts +10 -0
  482. package/dist/tools/defineTool.d.ts.map +1 -1
  483. package/dist/tools/defineTool.js +17 -0
  484. package/dist/tools/defineTool.js.map +1 -1
  485. package/dist/tools/memory/search.d.ts.map +1 -1
  486. package/dist/tools/memory/search.js +4 -1
  487. package/dist/tools/memory/search.js.map +1 -1
  488. package/dist/tools/memory/update.d.ts.map +1 -1
  489. package/dist/tools/memory/update.js +8 -5
  490. package/dist/tools/memory/update.js.map +1 -1
  491. package/dist/tools/render-nonce.d.ts +47 -0
  492. package/dist/tools/render-nonce.d.ts.map +1 -0
  493. package/dist/tools/render-nonce.js +63 -0
  494. package/dist/tools/render-nonce.js.map +1 -0
  495. package/dist/tools/roster.d.ts +46 -19
  496. package/dist/tools/roster.d.ts.map +1 -1
  497. package/dist/tools/roster.js +63 -33
  498. package/dist/tools/roster.js.map +1 -1
  499. package/dist/tools/schedules/schedule-tool.d.ts.map +1 -1
  500. package/dist/tools/schedules/schedule-tool.js +94 -14
  501. package/dist/tools/schedules/schedule-tool.js.map +1 -1
  502. package/dist/tools/schedules/types.d.ts +52 -6
  503. package/dist/tools/schedules/types.d.ts.map +1 -1
  504. package/dist/tools/trusted-read-only.d.ts +9 -5
  505. package/dist/tools/trusted-read-only.d.ts.map +1 -1
  506. package/dist/tools/trusted-read-only.js +14 -10
  507. package/dist/tools/trusted-read-only.js.map +1 -1
  508. package/dist/tools/untrusted-envelope.d.ts +67 -28
  509. package/dist/tools/untrusted-envelope.d.ts.map +1 -1
  510. package/dist/tools/untrusted-envelope.js +108 -59
  511. package/dist/tools/untrusted-envelope.js.map +1 -1
  512. package/dist/toolsets/combine.d.ts +44 -0
  513. package/dist/toolsets/combine.d.ts.map +1 -0
  514. package/dist/toolsets/combine.js +153 -0
  515. package/dist/toolsets/combine.js.map +1 -0
  516. package/dist/toolsets/manager.d.ts +201 -0
  517. package/dist/toolsets/manager.d.ts.map +1 -0
  518. package/dist/toolsets/manager.js +837 -0
  519. package/dist/toolsets/manager.js.map +1 -0
  520. package/dist/toolsets/source-glob.d.ts +15 -0
  521. package/dist/toolsets/source-glob.d.ts.map +1 -0
  522. package/dist/toolsets/source-glob.js +23 -0
  523. package/dist/toolsets/source-glob.js.map +1 -0
  524. package/dist/toolsets/toolset.d.ts +20 -0
  525. package/dist/toolsets/toolset.d.ts.map +1 -0
  526. package/dist/toolsets/toolset.js +28 -0
  527. package/dist/toolsets/toolset.js.map +1 -0
  528. package/dist/toolsets/types.d.ts +128 -0
  529. package/dist/toolsets/types.d.ts.map +1 -0
  530. package/dist/toolsets/types.js +33 -0
  531. package/dist/toolsets/types.js.map +1 -0
  532. package/dist/toolsets/wrappers.d.ts +59 -0
  533. package/dist/toolsets/wrappers.d.ts.map +1 -0
  534. package/dist/toolsets/wrappers.js +165 -0
  535. package/dist/toolsets/wrappers.js.map +1 -0
  536. package/dist/types/agent/base.d.ts +27 -16
  537. package/dist/types/agent/base.d.ts.map +1 -1
  538. package/dist/types/agent/index.d.ts +1 -0
  539. package/dist/types/agent/index.d.ts.map +1 -1
  540. package/dist/types/agent/index.js +1 -0
  541. package/dist/types/agent/index.js.map +1 -1
  542. package/dist/types/agent/pipeline.d.ts +2 -0
  543. package/dist/types/agent/pipeline.d.ts.map +1 -1
  544. package/dist/types/agent/query.d.ts +117 -0
  545. package/dist/types/agent/query.d.ts.map +1 -0
  546. package/dist/types/agent/query.js +2 -0
  547. package/dist/types/agent/query.js.map +1 -0
  548. package/dist/types/agent/reactive.d.ts +2 -129
  549. package/dist/types/agent/reactive.d.ts.map +1 -1
  550. package/dist/types/agent/router.d.ts +2 -0
  551. package/dist/types/agent/router.d.ts.map +1 -1
  552. package/dist/types/agent/scheduler.d.ts +6 -1
  553. package/dist/types/agent/scheduler.d.ts.map +1 -1
  554. package/dist/types/agent/supervisor.d.ts +5 -2
  555. package/dist/types/agent/supervisor.d.ts.map +1 -1
  556. package/dist/types/agent/task.d.ts +19 -1
  557. package/dist/types/agent/task.d.ts.map +1 -1
  558. package/dist/types/agent/task.js.map +1 -1
  559. package/dist/types/authorization/index.d.ts +49 -12
  560. package/dist/types/authorization/index.d.ts.map +1 -1
  561. package/dist/types/authorization/index.js +6 -0
  562. package/dist/types/authorization/index.js.map +1 -1
  563. package/dist/types/connector/mcp.d.ts +45 -0
  564. package/dist/types/connector/mcp.d.ts.map +1 -1
  565. package/dist/types/errors/index.d.ts +15 -0
  566. package/dist/types/errors/index.d.ts.map +1 -1
  567. package/dist/types/errors/index.js.map +1 -1
  568. package/dist/types/hitl/index.d.ts +57 -0
  569. package/dist/types/hitl/index.d.ts.map +1 -1
  570. package/dist/types/hitl/index.js.map +1 -1
  571. package/dist/types/message/index.d.ts +130 -9
  572. package/dist/types/message/index.d.ts.map +1 -1
  573. package/dist/types/message/index.js +4 -1
  574. package/dist/types/message/index.js.map +1 -1
  575. package/dist/types/plugin/index.d.ts +22 -4
  576. package/dist/types/plugin/index.d.ts.map +1 -1
  577. package/dist/types/plugin/index.js +1 -0
  578. package/dist/types/plugin/index.js.map +1 -1
  579. package/dist/types/provider/chat.d.ts +5 -0
  580. package/dist/types/provider/chat.d.ts.map +1 -1
  581. package/dist/types/provider/config.d.ts +8 -3
  582. package/dist/types/provider/config.d.ts.map +1 -1
  583. package/dist/types/provider/stream.d.ts +39 -0
  584. package/dist/types/provider/stream.d.ts.map +1 -1
  585. package/dist/types/sandbox/index.d.ts +1 -1
  586. package/dist/types/session/events.d.ts +14 -3
  587. package/dist/types/session/events.d.ts.map +1 -1
  588. package/dist/types/session/events.js.map +1 -1
  589. package/dist/types/session/sub-session.d.ts +2 -0
  590. package/dist/types/session/sub-session.d.ts.map +1 -1
  591. package/dist/types/tool/index.d.ts +152 -91
  592. package/dist/types/tool/index.d.ts.map +1 -1
  593. package/dist/types/tool/index.js.map +1 -1
  594. package/dist/types/toolset/index.d.ts +10 -40
  595. package/dist/types/toolset/index.d.ts.map +1 -1
  596. package/package.json +1 -1
  597. package/src/advisory/history.ts +27 -2
  598. package/src/advisory/index.ts +1 -1
  599. package/src/advisory/registry.ts +33 -0
  600. package/src/agents/AGENTS.md +14 -7
  601. package/src/agents/PipelineAgent.ts +2 -303
  602. package/src/agents/QueryAgent.ts +269 -0
  603. package/src/agents/ReactiveAgent.ts +6 -216
  604. package/src/agents/RouterAgent.ts +2 -337
  605. package/src/agents/SupervisorAgent.ts +3 -476
  606. package/src/agents/defineAgent.ts +13 -2
  607. package/src/agents/examples/PipelineAgent.ts +302 -0
  608. package/src/agents/examples/RouterAgent.ts +338 -0
  609. package/src/agents/examples/SupervisorAgent.ts +472 -0
  610. package/src/agents/explore.ts +6 -3
  611. package/src/agents/forward-options.ts +37 -0
  612. package/src/agents/index.ts +2 -0
  613. package/src/agents/runAgent.ts +144 -37
  614. package/src/authorization/command-line.ts +2 -2
  615. package/src/authorization/gate.ts +21 -1
  616. package/src/authorization/program.ts +773 -0
  617. package/src/authorization/reexec-wrapper.ts +589 -0
  618. package/src/authorization/rules.ts +18 -1
  619. package/src/authorization/shell-lexer.ts +104 -59
  620. package/src/bridge/sse/mapper.ts +6 -0
  621. package/src/capabilities/index.ts +157 -0
  622. package/src/config/registry.ts +4 -1
  623. package/src/connector/index.ts +9 -2
  624. package/src/connector/mcp/adapter.ts +73 -3
  625. package/src/connector/mcp/client.ts +425 -6
  626. package/src/connector/mcp/discovery.ts +60 -0
  627. package/src/connector/mcp/era.ts +7 -0
  628. package/src/connector/mcp/index.ts +13 -0
  629. package/src/connector/mcp/mcp-toolset.ts +515 -0
  630. package/src/connector/mcp/streamable-http.ts +302 -5
  631. package/src/connector/tools/index.ts +2 -2
  632. package/src/connector/tools/router.ts +35 -58
  633. package/src/directory/derive-supervisor.ts +12 -8
  634. package/src/directory/derive.ts +8 -5
  635. package/src/execution/code-runtime/types.ts +2 -2
  636. package/src/invariants/index.ts +4 -1
  637. package/src/manager/agent/lifecycle.ts +167 -19
  638. package/src/manager/connector/environment.ts +17 -4
  639. package/src/manager/connector/index.ts +2 -2
  640. package/src/manager/connector/tenant.ts +17 -4
  641. package/src/manager/index.ts +2 -2
  642. package/src/manager/session/attribution.ts +79 -0
  643. package/src/manager/session/turn-recorder.ts +211 -55
  644. package/src/peers/address.ts +58 -0
  645. package/src/peers/client.ts +202 -0
  646. package/src/peers/dir.ts +176 -0
  647. package/src/peers/endpoint.ts +564 -0
  648. package/src/peers/envelope.ts +121 -0
  649. package/src/peers/index.ts +96 -0
  650. package/src/peers/protocol.ts +196 -0
  651. package/src/peers/record.ts +56 -0
  652. package/src/peers/registry.ts +241 -0
  653. package/src/plugin/define.ts +68 -0
  654. package/src/plugin/index.ts +2 -0
  655. package/src/plugin/lifecycle.ts +286 -106
  656. package/src/plugin/resolver.ts +6 -3
  657. package/src/plugin/shell-hook.ts +21 -5
  658. package/src/probe/errors.ts +4 -1
  659. package/src/prompt/coding-agent-doctrine.ts +22 -10
  660. package/src/prompt/contributions.ts +12 -2
  661. package/src/prompt/index.ts +1 -0
  662. package/src/provider/collect-chat-completion.ts +96 -11
  663. package/src/provider/mock.ts +24 -6
  664. package/src/provider/registry.ts +4 -1
  665. package/src/provider/tool-call-framing.ts +226 -0
  666. package/src/public-runtime.ts +136 -7
  667. package/src/public-tools.ts +24 -4
  668. package/src/public-types.ts +60 -6
  669. package/src/read-model/registry.ts +7 -2
  670. package/src/registry/ManagedRegistry.ts +57 -6
  671. package/src/registry/collision.ts +64 -0
  672. package/src/registry/command/index.ts +7 -3
  673. package/src/registry/index.ts +3 -9
  674. package/src/registry/plugin/index.ts +14 -1
  675. package/src/registry/tool/callable.ts +8 -9
  676. package/src/registry/tool/execute.ts +16 -846
  677. package/src/registry/tool/portable.ts +59 -0
  678. package/src/registry/tool/presentation.ts +6 -5
  679. package/src/runtime/bidi/session.ts +24 -5
  680. package/src/runtime/query/executor/tool-call-admission.ts +228 -6
  681. package/src/runtime/query/executor.ts +110 -12
  682. package/src/runtime/query/file-evidence-replay.ts +8 -7
  683. package/src/runtime/query/fork/prepare.ts +6 -1
  684. package/src/runtime/query/guardrail-presets.ts +4 -3
  685. package/src/runtime/query/index.ts +199 -101
  686. package/src/runtime/query/iteration/index.ts +13 -3
  687. package/src/runtime/query/iteration/phases/compaction.ts +1 -1
  688. package/src/runtime/query/iteration/phases/context.ts +2 -2
  689. package/src/runtime/query/iteration/phases/tool-review.ts +59 -2
  690. package/src/runtime/query/iteration/stream-turn.ts +390 -136
  691. package/src/runtime/query/iteration/tool-input.ts +284 -0
  692. package/src/runtime/query/observation-context.ts +2 -2
  693. package/src/runtime/query/prelude-lease.ts +132 -0
  694. package/src/runtime/query/prepare-turn.ts +477 -198
  695. package/src/runtime/query/prompt-cache.ts +2 -2
  696. package/src/runtime/query/prompt.ts +4 -4
  697. package/src/runtime/query/resume-session.ts +42 -3
  698. package/src/runtime/query/review-policy.ts +87 -9
  699. package/src/runtime/query/tooling.ts +3 -6
  700. package/src/runtime/query/turn-state.ts +4 -0
  701. package/src/runtime/system-events.ts +246 -0
  702. package/src/scheduler/delegating.ts +7 -2
  703. package/src/scheduler/local.ts +2 -0
  704. package/src/session/retention/archive.ts +1 -1
  705. package/src/skills/index.ts +1 -1
  706. package/src/skills/registry.ts +25 -0
  707. package/src/store/session/disk.ts +3 -0
  708. package/src/store/session-log/conformance.ts +51 -8
  709. package/src/store/session-log/core.ts +10 -4
  710. package/src/store/session-log/fold.ts +33 -7
  711. package/src/store/session-log/index.ts +2 -0
  712. package/src/test-support/toolset.ts +23 -0
  713. package/src/tools/builtins/bash.ts +27 -10
  714. package/src/tools/builtins/browser-url.ts +1 -1
  715. package/src/tools/builtins/browser.ts +2 -2
  716. package/src/tools/builtins/computer-use.ts +21 -11
  717. package/src/tools/builtins/edit.ts +12 -2
  718. package/src/tools/builtins/json-string-hint.ts +16 -0
  719. package/src/tools/builtins/search-tools.ts +7 -20
  720. package/src/tools/builtins/write-file.ts +12 -0
  721. package/src/tools/command-shell.ts +46 -1
  722. package/src/tools/coordinator/agent.ts +6 -0
  723. package/src/tools/coordinator/ask-user-question.ts +29 -15
  724. package/src/tools/coordinator/index.ts +6 -0
  725. package/src/tools/coordinator/question-options.ts +195 -0
  726. package/src/tools/defineTool.ts +28 -0
  727. package/src/tools/memory/search.ts +4 -1
  728. package/src/tools/memory/update.ts +8 -5
  729. package/src/tools/render-nonce.ts +69 -0
  730. package/src/tools/roster.ts +84 -33
  731. package/src/tools/schedules/schedule-tool.ts +107 -14
  732. package/src/tools/schedules/types.ts +52 -6
  733. package/src/tools/trusted-read-only.ts +19 -10
  734. package/src/tools/untrusted-envelope.ts +121 -57
  735. package/src/toolsets/combine.ts +181 -0
  736. package/src/toolsets/manager.ts +996 -0
  737. package/src/toolsets/source-glob.ts +22 -0
  738. package/src/toolsets/toolset.ts +31 -0
  739. package/src/toolsets/types.ts +154 -0
  740. package/src/toolsets/wrappers.ts +191 -0
  741. package/src/types/agent/base.ts +29 -16
  742. package/src/types/agent/index.ts +1 -0
  743. package/src/types/agent/pipeline.ts +2 -0
  744. package/src/types/agent/query.ts +129 -0
  745. package/src/types/agent/reactive.ts +5 -142
  746. package/src/types/agent/router.ts +2 -0
  747. package/src/types/agent/scheduler.ts +6 -1
  748. package/src/types/agent/supervisor.ts +5 -2
  749. package/src/types/agent/task.ts +21 -1
  750. package/src/types/authorization/index.ts +12 -0
  751. package/src/types/connector/mcp.ts +46 -0
  752. package/src/types/errors/index.ts +15 -0
  753. package/src/types/hitl/index.ts +57 -0
  754. package/src/types/message/index.ts +135 -7
  755. package/src/types/plugin/index.ts +44 -21
  756. package/src/types/provider/chat.ts +5 -0
  757. package/src/types/provider/config.ts +8 -3
  758. package/src/types/provider/stream.ts +39 -0
  759. package/src/types/sandbox/index.ts +1 -1
  760. package/src/types/session/events.ts +14 -3
  761. package/src/types/session/sub-session.ts +2 -0
  762. package/src/types/tool/index.ts +154 -105
  763. package/src/types/toolset/index.ts +10 -47
  764. package/dist/registry/toolset/catalog.d.ts +0 -42
  765. package/dist/registry/toolset/catalog.d.ts.map +0 -1
  766. package/dist/registry/toolset/catalog.js +0 -234
  767. package/dist/registry/toolset/catalog.js.map +0 -1
  768. package/src/registry/toolset/catalog.ts +0 -308
@@ -6,6 +6,7 @@ import type { SessionPaths } from '../../session/paths.js';
6
6
  import type { SessionTokenBudget, SessionTokenBudgetStore } from '../../store/budget/index.js';
7
7
  import type { SessionCheckpointStore } from '../../store/checkpoint/index.js';
8
8
  import type { SessionLease, SessionLog } from '../../store/session-log/index.js';
9
+ import { type Toolset } from '../../toolsets/types.js';
9
10
  import type { AdvisoryConfig } from '../../types/advisory/index.js';
10
11
  import type { AgentRuntimeContext, RuntimeToolOverrides } from '../../types/agent/base.js';
11
12
  import type { AgentContextLevel } from '../../types/agent/factory.js';
@@ -29,7 +30,7 @@ import type { PromoteMemory } from '../../types/session/memory-promotion.js';
29
30
  import type { Skill } from '../../types/skills/index.js';
30
31
  import type { StructuredOutputConfig } from '../../types/structured-output/index.js';
31
32
  import type { TaskStore } from '../../types/task/index.js';
32
- import type { ToolRegistryContract } from '../../types/tool/index.js';
33
+ import type { ToolTierConfig } from '../../types/tool/index.js';
33
34
  import type { RepairToolCall } from '../../types/tool/repair.js';
34
35
  import type { BackoffPolicy } from '../../utils/backoff.js';
35
36
  import type { ModelPricing } from '../../utils/cost.js';
@@ -216,19 +217,20 @@ export interface QueryParams {
216
217
  */
217
218
  maxToolOutputChars?: number;
218
219
  /**
219
- * Screens to run against every tool result, where the registry was not
220
- * built with its own.
221
- *
222
- * This is the turn's half of a boundary whose only other door is the
223
- * registry constructor — and a registry is usually the HOST's, assembled
224
- * before the turn exists, so a turn-config option is the only way a turn
225
- * screens a registry it did not build. A registry built WITH
226
- * `resultGuardrails` states its own policy and wins, `[]` included.
220
+ * Screens to run against every tool result. The turn builds its manager
221
+ * from `toolsets` and gives it this policy.
227
222
  *
228
223
  * Absent installs {@link DEFAULT_TOOL_RESULT_GUARDRAILS}; an empty array
229
224
  * installs none, which is how a caller turns the default off.
230
225
  */
231
226
  toolResultGuardrails?: readonly import('../../types/guardrail/index.js').ToolResultGuardrailSpec[];
227
+ /**
228
+ * Tier labels/guidance for the `ToolManager` this turn builds. Absent
229
+ * means no tier legend and no `[label]` prefix on any tool's description
230
+ * — the same as before this existed. A tier is still a static
231
+ * `defineTool` field; this only configures how the manager renders it.
232
+ */
233
+ tierConfig?: ToolTierConfig;
232
234
  /**
233
235
  * Smaller preview for text that exceeded maxToolOutputChars, after its full
234
236
  * host output and integrity manifest have been saved. Unset/0 keeps the old
@@ -345,7 +347,18 @@ export interface QueryParams {
345
347
  * `guardrail_triggered` event.
346
348
  */
347
349
  outputGuardrails?: readonly OutputGuardrailSpec[];
348
- tools: ToolRegistryContract;
350
+ /**
351
+ * Every tool this turn may see comes from one of these (`toolsets/types.ts`).
352
+ *
353
+ * `query()` never mutates what is passed here: its own generated tools
354
+ * (task tools, `search_tools`, the structured-output tool, advisory
355
+ * tools) are combined with these into the `ToolManager` it builds for
356
+ * itself, once, at the top of the turn — see `buildRuntimeToolset`
357
+ * below. A toolset here that contributes a name `query()` also generates
358
+ * is refused at construction (`ToolsetConflictError`, naming both
359
+ * sources), the same mechanism a plain toolset collision uses.
360
+ */
361
+ toolsets: readonly Toolset[];
349
362
  turnConfig: TurnConfig;
350
363
  allowedTools?: string[];
351
364
  agentId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/index.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,12 @@ import { GENAI, NAMZU, agentTurnSpanName, parentContext, serializeSpan, } from '
17
17
  import { getTracer } from '../../telemetry/runtime-accessors.js';
18
18
  import { buildAdvisoryTools } from '../../tools/advisory/index.js';
19
19
  import { SearchToolsTool } from '../../tools/builtins/search-tools.js';
20
- import { STRUCTURED_OUTPUT_TOOL_NAME, createStructuredOutputTool, } from '../../tools/builtins/structuredOutput.js';
20
+ import { createStructuredOutputTool } from '../../tools/builtins/structuredOutput.js';
21
21
  import { buildTaskTools } from '../../tools/task/index.js';
22
+ import { ToolManager } from '../../toolsets/manager.js';
23
+ import { toolset } from '../../toolsets/toolset.js';
24
+ import { toolsetIsReady } from '../../toolsets/types.js';
25
+ import { deferred } from '../../toolsets/wrappers.js';
22
26
  import { isTerminalStatus } from '../../types/common/index.js';
23
27
  import { NamzuError } from '../../types/errors/index.js';
24
28
  import { autoApproveHandler, } from '../../types/hitl/index.js';
@@ -127,6 +131,7 @@ export async function* query(params) {
127
131
  // provider lacks, a sandbox mode it does not offer); the lease the
128
132
  // prelude took is given back on the way out.
129
133
  let unsubscribeChildSessions;
134
+ let disposeToolManager;
130
135
  try {
131
136
  const unsubscribeTaskStore = params.taskStore
132
137
  ? eventTranslator.wireTaskStore(params.taskStore, ctx.sessionId)
@@ -146,6 +151,61 @@ export async function* query(params) {
146
151
  });
147
152
  });
148
153
  });
154
+ // ─── Advisors: constructed early because their agent-tool forms (if
155
+ // any) join the runtime toolset below, before the ToolManager exists.
156
+ // `setCallContextProvider` — which needs `workingStateManager`,
157
+ // `effectiveAllowedTools` and `iterationOrchestrator`, none of which
158
+ // exist yet — is configured later, in its historical spot; a closure
159
+ // reading those is fine to define before they do, as long as nothing
160
+ // CALLS it before they exist, and nothing does. ───
161
+ let advisoryCtx;
162
+ let advisoryToolDefs = [];
163
+ if (params.advisory && params.advisory.advisors.length > 0) {
164
+ // Advisors are model calls owned by this turn even when they use a
165
+ // different provider. Sending the raw definitions into the registry
166
+ // lets a triggered or model-requested consultation bypass both the
167
+ // finite stream-silence bound and Stop. Bind every advisor provider at
168
+ // the query boundary, where the effective timeout and run signal are
169
+ // already known; standalone AdvisoryExecutor callers retain their
170
+ // explicitly chosen provider/cancellation policy.
171
+ const boundedAdvisors = params.advisory.advisors.map((advisor) => ({
172
+ ...advisor,
173
+ provider: withTokenBudget(withStreamIdleTimeout(advisor.provider, {
174
+ idleTimeoutMs: streamIdleTimeoutMs,
175
+ log: ctx.log,
176
+ }), budget),
177
+ }));
178
+ const advisorRegistry = new AdvisorRegistry(boundedAdvisors, params.advisory.defaultAdvisorId);
179
+ // A budget the runtime cannot measure is refused here rather than
180
+ // silently ignored for the length of the turn.
181
+ assertBudgetEnforceable(params.advisory);
182
+ const advisoryExecutor = new AdvisoryExecutor(ctx.log, params.advisory.budget, ctx.abortController.signal);
183
+ const triggerEvaluator = new TriggerEvaluator(params.advisory.triggers ?? [], params.advisory.budget);
184
+ advisoryCtx = new AdvisoryContext(advisorRegistry, advisoryExecutor, triggerEvaluator, params.advisory.budget);
185
+ if (params.advisory.enableAgentTool) {
186
+ advisoryToolDefs = buildAdvisoryTools({ advisoryCtx });
187
+ }
188
+ }
189
+ // ─── query()'s own tools: never mutate the caller's toolsets. Task
190
+ // tools, `search_tools`, the structured-output tool and any advisory
191
+ // tools are gathered here and combined into one `runtime` toolset
192
+ // (plan.md v3 §2), which the `ToolManager` below resolves alongside
193
+ // `params.toolsets`. A name a caller's own toolset already contributes
194
+ // is refused at construction — `ToolsetConflictError`, naming both
195
+ // sources — the same mechanism any two colliding toolsets hit; this
196
+ // generalises `SupervisorAgent`'s old hand-written coordinator-name
197
+ // refusal, which is gone (its coordinator tools are just another
198
+ // toolset in `params.toolsets` now). ───
199
+ const runtimeToolOverrides = params.runtimeToolOverrides;
200
+ const runtimeActiveTools = [];
201
+ const runtimeDeferredTools = [];
202
+ const addRuntimeTool = (tool, defaultAvailability) => {
203
+ const override = runtimeToolOverrides?.[tool.name];
204
+ if (override === 'disabled')
205
+ return;
206
+ const availability = override ?? defaultAvailability;
207
+ (availability === 'active' ? runtimeActiveTools : runtimeDeferredTools).push(tool);
208
+ };
149
209
  if (params.taskStore) {
150
210
  const taskTools = buildTaskTools(params.taskStore, {
151
211
  sessionId: ctx.sessionId,
@@ -157,39 +217,73 @@ export async function* query(params) {
157
217
  ? await recordedTurnStart(ctx.recorder.log, ctx.turnId)
158
218
  : undefined) ?? ctx.recorder.getTurn().startedAt,
159
219
  });
160
- const overrides = params.runtimeToolOverrides;
161
- for (const tool of taskTools) {
162
- const override = overrides?.[tool.name];
163
- if (override === 'disabled')
164
- continue;
165
- params.tools.register(tool, override ?? 'deferred');
166
- }
220
+ for (const tool of taskTools)
221
+ addRuntimeTool(tool, 'deferred');
167
222
  }
168
- if (!params.tools.has(SearchToolsTool.name)) {
169
- const hasDeferred = params.tools
170
- .listNames()
171
- .some((n) => params.tools.getAvailability(n) === 'deferred');
172
- if (hasDeferred) {
173
- params.tools.register(SearchToolsTool);
174
- }
223
+ // `search_tools` is added only when something could actually be
224
+ // deferred — one of the runtime tools above, or a caller toolset that
225
+ // declared itself `deferred(...)`. Nothing deferred means nothing for
226
+ // a search to load, so it is never added at all. And only when the
227
+ // caller does not already provide a tool under that name: a caller
228
+ // that mounts its OWN discovery tool (a connector named `search_tools`,
229
+ // deliberately) owns that name, and adding a second contributor here
230
+ // would be a `ToolsetConflictError` naming both sources for a name
231
+ // query() itself introduced, not the caller's honest collision.
232
+ const callerHasDeferredToolset = params.toolsets.some((ts) => (ts.availability ?? 'active') === 'deferred' && ts.tools().length > 0);
233
+ const callerSearchToolset = params.toolsets.find((ts) => ts.tools().some((tool) => tool.name === SearchToolsTool.name));
234
+ const callerHasSearchTools = callerSearchToolset !== undefined;
235
+ if ((runtimeDeferredTools.length > 0 || callerHasDeferredToolset) &&
236
+ callerSearchToolset &&
237
+ (callerSearchToolset.availability === 'deferred' || !toolsetIsReady(callerSearchToolset))) {
238
+ throw new Error('A caller-provided search_tools must be active and ready when deferred tools are present.');
239
+ }
240
+ if ((runtimeDeferredTools.length > 0 || callerHasDeferredToolset) &&
241
+ !callerHasSearchTools &&
242
+ ['deferred', 'suspended'].includes(runtimeToolOverrides?.[SearchToolsTool.name] ?? '')) {
243
+ throw new Error('runtimeToolOverrides.search_tools must be active or disabled when deferred tools are present.');
175
244
  }
176
- // Registered HERE, before the first turn, not when the model is nearly
245
+ if ((runtimeDeferredTools.length > 0 || callerHasDeferredToolset) && !callerHasSearchTools) {
246
+ addRuntimeTool(SearchToolsTool, 'active');
247
+ }
248
+ // Added HERE, before the first turn, not when the model is nearly
177
249
  // done. Tools render at prefix position 0, so injecting one late would
178
250
  // invalidate the whole prompt cache for the rest of the turn — the same
179
251
  // reason the forced-final turn keeps its tools array and uses
180
252
  // `toolChoice: 'none'` instead of dropping it.
181
- if (params.structuredOutput &&
182
- params.structuredOutput.mode !== 'native' &&
183
- !params.tools.has(STRUCTURED_OUTPUT_TOOL_NAME)) {
184
- params.tools.register(createStructuredOutputTool(params.structuredOutput.schema));
253
+ if (params.structuredOutput && params.structuredOutput.mode !== 'native') {
254
+ addRuntimeTool(createStructuredOutputTool(params.structuredOutput.schema), 'active');
185
255
  }
256
+ for (const tool of advisoryToolDefs)
257
+ addRuntimeTool(tool, 'active');
258
+ // Two SEPARATE entries, not `combineToolsets`'d into one: `Toolset.availability`
259
+ // is a single value for the whole toolset, and `ToolManager` derives each
260
+ // name's default availability from whichever ARRAY ENTRY served it — a
261
+ // merged toolset has no one availability to report, so every tool
262
+ // inside it (both halves) would read back as the untyped default,
263
+ // `'active'`, silently dropping every override this turn just computed.
264
+ const toolManager = new ToolManager({
265
+ toolsets: [
266
+ ...params.toolsets,
267
+ toolset('runtime:active', runtimeActiveTools),
268
+ deferred(toolset('runtime:deferred', runtimeDeferredTools)),
269
+ ],
270
+ ...(params.toolResultGuardrails !== undefined
271
+ ? { resultGuardrails: params.toolResultGuardrails }
272
+ : {}),
273
+ ...(params.tierConfig !== undefined ? { tierConfig: params.tierConfig } : {}),
274
+ // Read fresh on every `availability()` call, not captured once: see
275
+ // `ToolManager.availability` — derived from the turn's own
276
+ // post-compaction history, which grows as the turn proceeds.
277
+ messages: () => ctx.recorder.messages,
278
+ });
279
+ disposeToolManager = () => toolManager.dispose();
186
280
  // ─── Provider capability negotiation (before tooling bootstrap) ────────
187
281
  // Compare what the request asks for with what the DRIVER declared it
188
282
  // does. Undeclared capabilities resolve permissively (today's behavior
189
283
  // for third-party providers); declared gaps degrade loudly instead of
190
284
  // silently.
191
285
  const capabilities = resolveProviderCapabilities(params.provider);
192
- const registeredToolCount = params.tools.listNames().length;
286
+ const registeredToolCount = toolManager.listNames().length;
193
287
  const stripToolSurfaces = !capabilities.supportsTools && registeredToolCount > 0;
194
288
  // Counted separately because they are separate wire shapes: a driver can
195
289
  // map images and drop documents, and a vision warning would send the
@@ -266,7 +360,7 @@ export async function* query(params) {
266
360
  // shows the model fewer tools and lets it call any of them by name.
267
361
  const allowedBeforeDenial = stripToolSurfaces
268
362
  ? []
269
- : withDeferredDiscoveryTool(params.tools, params.allowedTools);
363
+ : withDeferredDiscoveryTool(toolManager, params.allowedTools);
270
364
  const denied = new Set(params.deniedTools ?? []);
271
365
  const effectiveAllowedTools = denied.size === 0
272
366
  ? allowedBeforeDenial
@@ -275,7 +369,7 @@ export async function* query(params) {
275
369
  // here — otherwise the subtraction would be from an empty list
276
370
  // and would deny nothing, which is the shape a delegated child
277
371
  // arrives in.
278
- [...(allowedBeforeDenial ?? params.tools.listNames())].filter((name) => !denied.has(name));
372
+ [...(allowedBeforeDenial ?? toolManager.listNames())].filter((name) => !denied.has(name));
279
373
  // The two halves of a durable pause, owned by the TURN when the host
280
374
  // does not own them.
281
375
  //
@@ -338,7 +432,7 @@ export async function* query(params) {
338
432
  const skillGrants = new SkillGrantSet();
339
433
  const toolExecutor = ToolingBootstrap.init({
340
434
  skillGrants,
341
- tools: params.tools,
435
+ tools: toolManager,
342
436
  sessionId: ctx.sessionId,
343
437
  turnId: ctx.turnId,
344
438
  workingDirectory: ctx.cwd,
@@ -454,7 +548,7 @@ export async function* query(params) {
454
548
  persona: params.persona,
455
549
  skills: params.skills,
456
550
  basePrompt: params.basePrompt,
457
- tools: params.tools,
551
+ tools: toolManager,
458
552
  allowedTools: effectiveAllowedTools,
459
553
  runtimeContext: params.runtimeContext,
460
554
  contributions: promptContributions,
@@ -498,29 +592,12 @@ export async function* query(params) {
498
592
  // reason and nothing else carries it this far.
499
593
  signal: ctx.abortController.signal,
500
594
  });
501
- let advisoryCtx;
502
- if (params.advisory && params.advisory.advisors.length > 0) {
503
- // Advisors are model calls owned by this turn even when they use a
504
- // different provider. Sending the raw definitions into the registry
505
- // lets a triggered or model-requested consultation bypass both the
506
- // finite stream-silence bound and Stop. Bind every advisor provider at
507
- // the query boundary, where the effective timeout and run signal are
508
- // already known; standalone AdvisoryExecutor callers retain their
509
- // explicitly chosen provider/cancellation policy.
510
- const boundedAdvisors = params.advisory.advisors.map((advisor) => ({
511
- ...advisor,
512
- provider: withTokenBudget(withStreamIdleTimeout(advisor.provider, {
513
- idleTimeoutMs: streamIdleTimeoutMs,
514
- log: ctx.log,
515
- }), budget),
516
- }));
517
- const advisorRegistry = new AdvisorRegistry(boundedAdvisors, params.advisory.defaultAdvisorId);
518
- // A budget the runtime cannot measure is refused here rather than
519
- // silently ignored for the length of the turn.
520
- assertBudgetEnforceable(params.advisory);
521
- const advisoryExecutor = new AdvisoryExecutor(ctx.log, params.advisory.budget, ctx.abortController.signal);
522
- const triggerEvaluator = new TriggerEvaluator(params.advisory.triggers ?? [], params.advisory.budget);
523
- advisoryCtx = new AdvisoryContext(advisorRegistry, advisoryExecutor, triggerEvaluator, params.advisory.budget);
595
+ // `advisoryCtx` itself was already built above, before the
596
+ // `ToolManager`, so its agent-tool form (if any) could join the
597
+ // `runtime` toolset. What's left is the callback that needs state this
598
+ // early construction cannot see yet: `workingStateManager`,
599
+ // `effectiveAllowedTools`, `iterationOrchestrator`.
600
+ if (advisoryCtx && params.advisory) {
524
601
  // What the turn looks like when the MODEL consults an advisor, as
525
602
  // opposed to when a trigger does. The trigger path has always passed
526
603
  // this; the tool path passed an empty context, so an advisor the model
@@ -531,7 +608,8 @@ export async function* query(params) {
531
608
  // `AdvisorDefinition` and consulted by nothing, so a host who turned
532
609
  // the catalogue off still paid for it in every advisory prompt.
533
610
  const advisoryConfig = params.advisory;
534
- advisoryCtx.setCallContextProvider(() => {
611
+ const boundAdvisoryCtx = advisoryCtx;
612
+ boundAdvisoryCtx.setCallContextProvider(() => {
535
613
  const summary = workingStateManager && advisoryConfig.advisors.some((a) => a.useCompactedContext)
536
614
  ? serializeWorkingState(workingStateManager.getState())
537
615
  : undefined;
@@ -540,21 +618,11 @@ export async function* query(params) {
540
618
  turn: iterationOrchestrator.getAdvisoryTurnContext(),
541
619
  ...(summary !== undefined ? { workingStateSummary: summary } : {}),
542
620
  ...(advisoryConfig.includeToolCatalog
543
- ? { toolCatalog: params.tools.toLLMTools(effectiveAllowedTools) }
621
+ ? { toolCatalog: toolManager.toLLMTools(effectiveAllowedTools) }
544
622
  : {}),
545
623
  iteration: ctx.recorder.currentIteration,
546
624
  };
547
625
  });
548
- if (params.advisory.enableAgentTool) {
549
- const advisoryTools = buildAdvisoryTools({ advisoryCtx });
550
- const overrides = params.runtimeToolOverrides;
551
- for (const tool of advisoryTools) {
552
- const override = overrides?.[tool.name];
553
- if (override === 'disabled')
554
- continue;
555
- params.tools.register(tool, override ?? 'active');
556
- }
557
- }
558
626
  }
559
627
  const iterationOrchestrator = new IterationOrchestrator({
560
628
  captureSessionEvidence,
@@ -576,7 +644,7 @@ export async function* query(params) {
576
644
  ...(params.parkRecordDelayMs !== undefined
577
645
  ? { parkRecordDelayMs: params.parkRecordDelayMs }
578
646
  : {}),
579
- tools: params.tools,
647
+ tools: toolManager,
580
648
  allowedTools: effectiveAllowedTools,
581
649
  recorder: ctx.recorder,
582
650
  toolExecutor,
@@ -797,7 +865,7 @@ export async function* query(params) {
797
865
  persona: params.persona,
798
866
  skills: params.skills,
799
867
  basePrompt: contextLevel === 'full' ? params.basePrompt : undefined,
800
- tools: params.tools,
868
+ tools: toolManager,
801
869
  allowedTools: effectiveAllowedTools,
802
870
  runtimeContext: params.runtimeContext,
803
871
  contributions: promptContributions,
@@ -1150,7 +1218,11 @@ export async function* query(params) {
1150
1218
  yield* eventTranslator.drainPending();
1151
1219
  }
1152
1220
  if (params.pluginManager) {
1153
- const hookResults = await params.pluginManager.executeHooks('turn_start', { sessionId: ctx.sessionId, turnId: ctx.turnId, signal: ctx.abortController.signal }, eventTranslator.emitEvent);
1221
+ const hookResults = await params.pluginManager.executeHooks('turn_start', {
1222
+ sessionId: ctx.sessionId,
1223
+ turnId: ctx.turnId,
1224
+ signal: ctx.abortController.signal,
1225
+ }, eventTranslator.emitEvent);
1154
1226
  applyLifecycleHookResults('turn_start', hookResults);
1155
1227
  yield* eventTranslator.drainPending();
1156
1228
  }
@@ -1415,10 +1487,15 @@ export async function* query(params) {
1415
1487
  }
1416
1488
  }
1417
1489
  finally {
1418
- unsubscribeChildSessions?.();
1419
- // The lease `open()` took in the prelude; a caller-supplied lease is the
1420
- // caller's to give back.
1421
- await ctx.recorder.release();
1490
+ try {
1491
+ disposeToolManager?.();
1492
+ }
1493
+ finally {
1494
+ unsubscribeChildSessions?.();
1495
+ // The lease `open()` took in the prelude; a caller-supplied lease is the
1496
+ // caller's to give back.
1497
+ await ctx.recorder.release();
1498
+ }
1422
1499
  }
1423
1500
  }
1424
1501
  /**
@@ -1445,7 +1522,9 @@ async function settleAbandonedTurn(recorder, eventTranslator, log) {
1445
1522
  if (recorder.isClosed || recorder.isPaused || !recorder.isActive)
1446
1523
  return;
1447
1524
  await recorder.flush();
1448
- const parked = await findPendingCheckpoint(recorder.log, { turnId: recorder.turnId });
1525
+ const parked = await findPendingCheckpoint(recorder.log, {
1526
+ turnId: recorder.turnId,
1527
+ });
1449
1528
  if (parked) {
1450
1529
  recorder.setStopReason('paused');
1451
1530
  await eventTranslator.emitEvent({
@@ -1548,12 +1627,12 @@ function withDeferredDiscoveryTool(tools, allowedTools) {
1548
1627
  return undefined;
1549
1628
  if (allowedTools.includes(SearchToolsTool.name))
1550
1629
  return allowedTools;
1551
- const allowedHasDeferred = allowedTools.some((name) => tools.has(name) && tools.getAvailability(name) === 'deferred');
1630
+ const allowedHasDeferred = allowedTools.some((name) => tools.has(name) && tools.availability(name) === 'deferred');
1552
1631
  if (!allowedHasDeferred)
1553
1632
  return allowedTools;
1554
1633
  if (!tools.has(SearchToolsTool.name))
1555
1634
  return allowedTools;
1556
- if (tools.getAvailability(SearchToolsTool.name) !== 'active')
1635
+ if (tools.availability(SearchToolsTool.name) !== 'active')
1557
1636
  return allowedTools;
1558
1637
  return [...allowedTools, SearchToolsTool.name];
1559
1638
  }