@namzu/sdk 45.1.0 → 48.0.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 (767) hide show
  1. package/CHANGELOG.md +436 -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 +13 -2
  71. package/dist/authorization/gate.d.ts.map +1 -1
  72. package/dist/authorization/gate.js +37 -5
  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 +27 -1
  85. package/dist/authorization/rules.js.map +1 -1
  86. package/dist/authorization/shell-lexer.d.ts +39 -0
  87. package/dist/authorization/shell-lexer.d.ts.map +1 -1
  88. package/dist/authorization/shell-lexer.js +113 -69
  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 +60 -4
  108. package/dist/connector/mcp/adapter.js.map +1 -1
  109. package/dist/connector/mcp/client.d.ts +13 -4
  110. package/dist/connector/mcp/client.d.ts.map +1 -1
  111. package/dist/connector/mcp/client.js +20 -3
  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/index.d.ts +2 -0
  118. package/dist/connector/mcp/index.d.ts.map +1 -1
  119. package/dist/connector/mcp/index.js +11 -0
  120. package/dist/connector/mcp/index.js.map +1 -1
  121. package/dist/connector/mcp/mcp-toolset.d.ts +133 -0
  122. package/dist/connector/mcp/mcp-toolset.d.ts.map +1 -0
  123. package/dist/connector/mcp/mcp-toolset.js +399 -0
  124. package/dist/connector/mcp/mcp-toolset.js.map +1 -0
  125. package/dist/connector/tools/index.d.ts +2 -2
  126. package/dist/connector/tools/index.d.ts.map +1 -1
  127. package/dist/connector/tools/index.js +1 -1
  128. package/dist/connector/tools/index.js.map +1 -1
  129. package/dist/connector/tools/router.d.ts +15 -13
  130. package/dist/connector/tools/router.d.ts.map +1 -1
  131. package/dist/connector/tools/router.js +30 -51
  132. package/dist/connector/tools/router.js.map +1 -1
  133. package/dist/contracts/a2a.d.ts +2 -2
  134. package/dist/directory/derive-supervisor.d.ts +2 -2
  135. package/dist/directory/derive-supervisor.d.ts.map +1 -1
  136. package/dist/directory/derive-supervisor.js +6 -7
  137. package/dist/directory/derive-supervisor.js.map +1 -1
  138. package/dist/directory/derive.d.ts.map +1 -1
  139. package/dist/directory/derive.js +5 -5
  140. package/dist/directory/derive.js.map +1 -1
  141. package/dist/execution/code-runtime/types.d.ts +2 -2
  142. package/dist/execution/code-runtime/types.js +1 -1
  143. package/dist/invariants/index.d.ts +2 -1
  144. package/dist/invariants/index.d.ts.map +1 -1
  145. package/dist/invariants/index.js +3 -2
  146. package/dist/invariants/index.js.map +1 -1
  147. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  148. package/dist/manager/agent/lifecycle.js +9 -0
  149. package/dist/manager/agent/lifecycle.js.map +1 -1
  150. package/dist/manager/connector/environment.d.ts +6 -0
  151. package/dist/manager/connector/environment.d.ts.map +1 -1
  152. package/dist/manager/connector/environment.js +11 -4
  153. package/dist/manager/connector/environment.js.map +1 -1
  154. package/dist/manager/connector/index.d.ts +2 -2
  155. package/dist/manager/connector/index.d.ts.map +1 -1
  156. package/dist/manager/connector/index.js +2 -2
  157. package/dist/manager/connector/index.js.map +1 -1
  158. package/dist/manager/connector/tenant.d.ts +6 -0
  159. package/dist/manager/connector/tenant.d.ts.map +1 -1
  160. package/dist/manager/connector/tenant.js +11 -4
  161. package/dist/manager/connector/tenant.js.map +1 -1
  162. package/dist/manager/index.d.ts +2 -2
  163. package/dist/manager/index.d.ts.map +1 -1
  164. package/dist/manager/index.js +2 -2
  165. package/dist/manager/index.js.map +1 -1
  166. package/dist/manager/resident/learning-observation.d.ts +4 -4
  167. package/dist/manager/resident/learning.d.ts +36 -36
  168. package/dist/manager/session/attribution.d.ts +22 -0
  169. package/dist/manager/session/attribution.d.ts.map +1 -0
  170. package/dist/manager/session/attribution.js +64 -0
  171. package/dist/manager/session/attribution.js.map +1 -0
  172. package/dist/manager/session/turn-recorder.d.ts +14 -0
  173. package/dist/manager/session/turn-recorder.d.ts.map +1 -1
  174. package/dist/manager/session/turn-recorder.js +208 -55
  175. package/dist/manager/session/turn-recorder.js.map +1 -1
  176. package/dist/peers/address.d.ts +36 -0
  177. package/dist/peers/address.d.ts.map +1 -0
  178. package/dist/peers/address.js +52 -0
  179. package/dist/peers/address.js.map +1 -0
  180. package/dist/peers/client.d.ts +47 -0
  181. package/dist/peers/client.d.ts.map +1 -0
  182. package/dist/peers/client.js +132 -0
  183. package/dist/peers/client.js.map +1 -0
  184. package/dist/peers/dir.d.ts +88 -0
  185. package/dist/peers/dir.d.ts.map +1 -0
  186. package/dist/peers/dir.js +139 -0
  187. package/dist/peers/dir.js.map +1 -0
  188. package/dist/peers/endpoint.d.ts +144 -0
  189. package/dist/peers/endpoint.d.ts.map +1 -0
  190. package/dist/peers/endpoint.js +420 -0
  191. package/dist/peers/endpoint.js.map +1 -0
  192. package/dist/peers/envelope.d.ts +42 -0
  193. package/dist/peers/envelope.d.ts.map +1 -0
  194. package/dist/peers/envelope.js +110 -0
  195. package/dist/peers/envelope.js.map +1 -0
  196. package/dist/peers/index.d.ts +30 -0
  197. package/dist/peers/index.d.ts.map +1 -0
  198. package/dist/peers/index.js +22 -0
  199. package/dist/peers/index.js.map +1 -0
  200. package/dist/peers/protocol.d.ts +645 -0
  201. package/dist/peers/protocol.d.ts.map +1 -0
  202. package/dist/peers/protocol.js +151 -0
  203. package/dist/peers/protocol.js.map +1 -0
  204. package/dist/peers/record.d.ts +71 -0
  205. package/dist/peers/record.d.ts.map +1 -0
  206. package/dist/peers/record.js +45 -0
  207. package/dist/peers/record.js.map +1 -0
  208. package/dist/peers/registry.d.ts +54 -0
  209. package/dist/peers/registry.d.ts.map +1 -0
  210. package/dist/peers/registry.js +213 -0
  211. package/dist/peers/registry.js.map +1 -0
  212. package/dist/plugin/define.d.ts +24 -0
  213. package/dist/plugin/define.d.ts.map +1 -0
  214. package/dist/plugin/define.js +42 -0
  215. package/dist/plugin/define.js.map +1 -0
  216. package/dist/plugin/index.d.ts +2 -0
  217. package/dist/plugin/index.d.ts.map +1 -1
  218. package/dist/plugin/index.js +1 -0
  219. package/dist/plugin/index.js.map +1 -1
  220. package/dist/plugin/lifecycle.d.ts +27 -3
  221. package/dist/plugin/lifecycle.d.ts.map +1 -1
  222. package/dist/plugin/lifecycle.js +242 -92
  223. package/dist/plugin/lifecycle.js.map +1 -1
  224. package/dist/plugin/resolver.d.ts +2 -2
  225. package/dist/plugin/resolver.d.ts.map +1 -1
  226. package/dist/plugin/resolver.js.map +1 -1
  227. package/dist/plugin/shell-hook.d.ts.map +1 -1
  228. package/dist/plugin/shell-hook.js +17 -3
  229. package/dist/plugin/shell-hook.js.map +1 -1
  230. package/dist/pricing/catalogue.generated.d.ts.map +1 -1
  231. package/dist/pricing/catalogue.generated.js +28 -4
  232. package/dist/pricing/catalogue.generated.js.map +1 -1
  233. package/dist/probe/errors.d.ts +2 -1
  234. package/dist/probe/errors.d.ts.map +1 -1
  235. package/dist/probe/errors.js +3 -2
  236. package/dist/probe/errors.js.map +1 -1
  237. package/dist/prompt/coding-agent-doctrine.d.ts +18 -7
  238. package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
  239. package/dist/prompt/coding-agent-doctrine.js +11 -6
  240. package/dist/prompt/coding-agent-doctrine.js.map +1 -1
  241. package/dist/prompt/contributions.d.ts +4 -1
  242. package/dist/prompt/contributions.d.ts.map +1 -1
  243. package/dist/prompt/contributions.js +7 -2
  244. package/dist/prompt/contributions.js.map +1 -1
  245. package/dist/prompt/index.d.ts +1 -1
  246. package/dist/prompt/index.d.ts.map +1 -1
  247. package/dist/prompt/index.js +1 -1
  248. package/dist/prompt/index.js.map +1 -1
  249. package/dist/provider/collect-chat-completion.d.ts +6 -1
  250. package/dist/provider/collect-chat-completion.d.ts.map +1 -1
  251. package/dist/provider/collect-chat-completion.js +88 -10
  252. package/dist/provider/collect-chat-completion.js.map +1 -1
  253. package/dist/provider/mock.d.ts.map +1 -1
  254. package/dist/provider/mock.js +23 -6
  255. package/dist/provider/mock.js.map +1 -1
  256. package/dist/provider/registry.d.ts +2 -1
  257. package/dist/provider/registry.d.ts.map +1 -1
  258. package/dist/provider/registry.js +3 -2
  259. package/dist/provider/registry.js.map +1 -1
  260. package/dist/provider/tool-call-framing.d.ts +164 -0
  261. package/dist/provider/tool-call-framing.d.ts.map +1 -0
  262. package/dist/provider/tool-call-framing.js +163 -0
  263. package/dist/provider/tool-call-framing.js.map +1 -0
  264. package/dist/public-runtime.d.ts +27 -14
  265. package/dist/public-runtime.d.ts.map +1 -1
  266. package/dist/public-runtime.js +49 -11
  267. package/dist/public-runtime.js.map +1 -1
  268. package/dist/public-tools.d.ts +9 -6
  269. package/dist/public-tools.d.ts.map +1 -1
  270. package/dist/public-tools.js +13 -5
  271. package/dist/public-tools.js.map +1 -1
  272. package/dist/public-types.d.ts +16 -5
  273. package/dist/public-types.d.ts.map +1 -1
  274. package/dist/read-model/registry.d.ts +2 -1
  275. package/dist/read-model/registry.d.ts.map +1 -1
  276. package/dist/read-model/registry.js +3 -2
  277. package/dist/read-model/registry.js.map +1 -1
  278. package/dist/registry/ManagedRegistry.d.ts +30 -0
  279. package/dist/registry/ManagedRegistry.d.ts.map +1 -1
  280. package/dist/registry/ManagedRegistry.js +45 -6
  281. package/dist/registry/ManagedRegistry.js.map +1 -1
  282. package/dist/registry/collision.d.ts +57 -0
  283. package/dist/registry/collision.d.ts.map +1 -0
  284. package/dist/registry/collision.js +41 -0
  285. package/dist/registry/collision.js.map +1 -0
  286. package/dist/registry/command/index.d.ts +5 -3
  287. package/dist/registry/command/index.d.ts.map +1 -1
  288. package/dist/registry/command/index.js +6 -4
  289. package/dist/registry/command/index.js.map +1 -1
  290. package/dist/registry/index.d.ts +3 -4
  291. package/dist/registry/index.d.ts.map +1 -1
  292. package/dist/registry/index.js +2 -2
  293. package/dist/registry/index.js.map +1 -1
  294. package/dist/registry/plugin/index.d.ts.map +1 -1
  295. package/dist/registry/plugin/index.js +14 -1
  296. package/dist/registry/plugin/index.js.map +1 -1
  297. package/dist/registry/tool/callable.d.ts +22 -0
  298. package/dist/registry/tool/callable.d.ts.map +1 -0
  299. package/dist/registry/tool/callable.js +28 -0
  300. package/dist/registry/tool/callable.js.map +1 -0
  301. package/dist/registry/tool/execute.d.ts +14 -77
  302. package/dist/registry/tool/execute.d.ts.map +1 -1
  303. package/dist/registry/tool/execute.js +15 -720
  304. package/dist/registry/tool/execute.js.map +1 -1
  305. package/dist/registry/tool/portable.d.ts +25 -0
  306. package/dist/registry/tool/portable.d.ts.map +1 -1
  307. package/dist/registry/tool/portable.js +50 -0
  308. package/dist/registry/tool/portable.js.map +1 -1
  309. package/dist/registry/tool/presentation.d.ts +6 -5
  310. package/dist/registry/tool/presentation.d.ts.map +1 -1
  311. package/dist/registry/tool/presentation.js +3 -3
  312. package/dist/registry/tool/presentation.js.map +1 -1
  313. package/dist/runtime/bidi/session.d.ts +5 -4
  314. package/dist/runtime/bidi/session.d.ts.map +1 -1
  315. package/dist/runtime/bidi/session.js +18 -1
  316. package/dist/runtime/bidi/session.js.map +1 -1
  317. package/dist/runtime/query/executor/tool-call-admission.d.ts +82 -13
  318. package/dist/runtime/query/executor/tool-call-admission.d.ts.map +1 -1
  319. package/dist/runtime/query/executor/tool-call-admission.js +227 -17
  320. package/dist/runtime/query/executor/tool-call-admission.js.map +1 -1
  321. package/dist/runtime/query/executor.d.ts +37 -5
  322. package/dist/runtime/query/executor.d.ts.map +1 -1
  323. package/dist/runtime/query/executor.js +103 -14
  324. package/dist/runtime/query/executor.js.map +1 -1
  325. package/dist/runtime/query/file-evidence-replay.d.ts +1 -1
  326. package/dist/runtime/query/file-evidence-replay.d.ts.map +1 -1
  327. package/dist/runtime/query/file-evidence-replay.js +8 -7
  328. package/dist/runtime/query/file-evidence-replay.js.map +1 -1
  329. package/dist/runtime/query/fork/prepare.d.ts +4 -1
  330. package/dist/runtime/query/fork/prepare.d.ts.map +1 -1
  331. package/dist/runtime/query/fork/prepare.js +4 -0
  332. package/dist/runtime/query/fork/prepare.js.map +1 -1
  333. package/dist/runtime/query/guardrail-presets.d.ts +4 -3
  334. package/dist/runtime/query/guardrail-presets.d.ts.map +1 -1
  335. package/dist/runtime/query/guardrail-presets.js +4 -3
  336. package/dist/runtime/query/guardrail-presets.js.map +1 -1
  337. package/dist/runtime/query/index.d.ts +23 -10
  338. package/dist/runtime/query/index.d.ts.map +1 -1
  339. package/dist/runtime/query/index.js +149 -70
  340. package/dist/runtime/query/index.js.map +1 -1
  341. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  342. package/dist/runtime/query/iteration/index.js +8 -1
  343. package/dist/runtime/query/iteration/index.js.map +1 -1
  344. package/dist/runtime/query/iteration/phases/compaction.js +1 -1
  345. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  346. package/dist/runtime/query/iteration/phases/context.d.ts +2 -2
  347. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  348. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  349. package/dist/runtime/query/iteration/phases/tool-review.js +55 -2
  350. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  351. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
  352. package/dist/runtime/query/iteration/stream-turn.js +342 -116
  353. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  354. package/dist/runtime/query/iteration/tool-input.d.ts +79 -0
  355. package/dist/runtime/query/iteration/tool-input.d.ts.map +1 -0
  356. package/dist/runtime/query/iteration/tool-input.js +291 -0
  357. package/dist/runtime/query/iteration/tool-input.js.map +1 -0
  358. package/dist/runtime/query/observation-context.d.ts +2 -2
  359. package/dist/runtime/query/observation-context.d.ts.map +1 -1
  360. package/dist/runtime/query/observation-context.js.map +1 -1
  361. package/dist/runtime/query/prelude-lease.d.ts +18 -0
  362. package/dist/runtime/query/prelude-lease.d.ts.map +1 -0
  363. package/dist/runtime/query/prelude-lease.js +121 -0
  364. package/dist/runtime/query/prelude-lease.js.map +1 -0
  365. package/dist/runtime/query/prepare-turn.d.ts.map +1 -1
  366. package/dist/runtime/query/prepare-turn.js +386 -187
  367. package/dist/runtime/query/prepare-turn.js.map +1 -1
  368. package/dist/runtime/query/prompt-cache.d.ts +2 -2
  369. package/dist/runtime/query/prompt-cache.d.ts.map +1 -1
  370. package/dist/runtime/query/prompt.d.ts +2 -2
  371. package/dist/runtime/query/prompt.d.ts.map +1 -1
  372. package/dist/runtime/query/prompt.js +1 -1
  373. package/dist/runtime/query/prompt.js.map +1 -1
  374. package/dist/runtime/query/resume-session.d.ts.map +1 -1
  375. package/dist/runtime/query/resume-session.js +37 -2
  376. package/dist/runtime/query/resume-session.js.map +1 -1
  377. package/dist/runtime/query/review-policy.d.ts +65 -3
  378. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  379. package/dist/runtime/query/review-policy.js +143 -22
  380. package/dist/runtime/query/review-policy.js.map +1 -1
  381. package/dist/runtime/query/tooling.d.ts +3 -2
  382. package/dist/runtime/query/tooling.d.ts.map +1 -1
  383. package/dist/runtime/query/tooling.js.map +1 -1
  384. package/dist/runtime/query/turn-state.d.ts.map +1 -1
  385. package/dist/runtime/query/turn-state.js +5 -0
  386. package/dist/runtime/query/turn-state.js.map +1 -1
  387. package/dist/runtime/system-events.d.ts +112 -0
  388. package/dist/runtime/system-events.d.ts.map +1 -0
  389. package/dist/runtime/system-events.js +183 -0
  390. package/dist/runtime/system-events.js.map +1 -0
  391. package/dist/scheduler/delegating.d.ts +2 -1
  392. package/dist/scheduler/delegating.d.ts.map +1 -1
  393. package/dist/scheduler/delegating.js +3 -2
  394. package/dist/scheduler/delegating.js.map +1 -1
  395. package/dist/skills/index.d.ts +1 -1
  396. package/dist/skills/index.d.ts.map +1 -1
  397. package/dist/skills/index.js +1 -1
  398. package/dist/skills/index.js.map +1 -1
  399. package/dist/skills/registry.d.ts +18 -0
  400. package/dist/skills/registry.d.ts.map +1 -1
  401. package/dist/skills/registry.js +20 -0
  402. package/dist/skills/registry.js.map +1 -1
  403. package/dist/store/evidence/index-page.d.ts +2 -2
  404. package/dist/store/session-log/conformance.d.ts +1 -1
  405. package/dist/store/session-log/conformance.d.ts.map +1 -1
  406. package/dist/store/session-log/conformance.js +49 -8
  407. package/dist/store/session-log/conformance.js.map +1 -1
  408. package/dist/store/session-log/core.d.ts +8 -3
  409. package/dist/store/session-log/core.d.ts.map +1 -1
  410. package/dist/store/session-log/core.js +2 -1
  411. package/dist/store/session-log/core.js.map +1 -1
  412. package/dist/store/session-log/fold.d.ts +12 -0
  413. package/dist/store/session-log/fold.d.ts.map +1 -1
  414. package/dist/store/session-log/fold.js +57 -7
  415. package/dist/store/session-log/fold.js.map +1 -1
  416. package/dist/store/session-log/index.d.ts +2 -2
  417. package/dist/store/session-log/index.d.ts.map +1 -1
  418. package/dist/store/session-log/index.js +1 -1
  419. package/dist/store/session-log/index.js.map +1 -1
  420. package/dist/test-support/toolset.d.ts +19 -0
  421. package/dist/test-support/toolset.d.ts.map +1 -0
  422. package/dist/test-support/toolset.js +20 -0
  423. package/dist/test-support/toolset.js.map +1 -0
  424. package/dist/tools/builtins/bash.d.ts +29 -0
  425. package/dist/tools/builtins/bash.d.ts.map +1 -1
  426. package/dist/tools/builtins/bash.js +19 -9
  427. package/dist/tools/builtins/bash.js.map +1 -1
  428. package/dist/tools/builtins/browser-url.d.ts +1 -1
  429. package/dist/tools/builtins/browser-url.js +1 -1
  430. package/dist/tools/builtins/browser.d.ts +6 -6
  431. package/dist/tools/builtins/computer-use-coordinates.d.ts +65 -0
  432. package/dist/tools/builtins/computer-use-coordinates.d.ts.map +1 -0
  433. package/dist/tools/builtins/computer-use-coordinates.js +123 -0
  434. package/dist/tools/builtins/computer-use-coordinates.js.map +1 -0
  435. package/dist/tools/builtins/computer-use-image.d.ts +77 -0
  436. package/dist/tools/builtins/computer-use-image.d.ts.map +1 -0
  437. package/dist/tools/builtins/computer-use-image.js +223 -0
  438. package/dist/tools/builtins/computer-use-image.js.map +1 -0
  439. package/dist/tools/builtins/computer-use.d.ts +519 -14
  440. package/dist/tools/builtins/computer-use.d.ts.map +1 -1
  441. package/dist/tools/builtins/computer-use.js +1196 -183
  442. package/dist/tools/builtins/computer-use.js.map +1 -1
  443. package/dist/tools/builtins/edit.d.ts.map +1 -1
  444. package/dist/tools/builtins/edit.js +9 -1
  445. package/dist/tools/builtins/edit.js.map +1 -1
  446. package/dist/tools/builtins/index.d.ts +2 -1
  447. package/dist/tools/builtins/index.d.ts.map +1 -1
  448. package/dist/tools/builtins/index.js +1 -1
  449. package/dist/tools/builtins/index.js.map +1 -1
  450. package/dist/tools/builtins/json-string-hint.d.ts +15 -0
  451. package/dist/tools/builtins/json-string-hint.d.ts.map +1 -0
  452. package/dist/tools/builtins/json-string-hint.js +17 -0
  453. package/dist/tools/builtins/json-string-hint.js.map +1 -0
  454. package/dist/tools/builtins/search-tools.d.ts.map +1 -1
  455. package/dist/tools/builtins/search-tools.js +7 -15
  456. package/dist/tools/builtins/search-tools.js.map +1 -1
  457. package/dist/tools/builtins/skill.d.ts +74 -0
  458. package/dist/tools/builtins/skill.d.ts.map +1 -1
  459. package/dist/tools/builtins/skill.js +214 -174
  460. package/dist/tools/builtins/skill.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 +12 -0
  482. package/dist/tools/defineTool.d.ts.map +1 -1
  483. package/dist/tools/defineTool.js +24 -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/present.d.ts.map +1 -1
  500. package/dist/tools/schedules/present.js +2 -0
  501. package/dist/tools/schedules/present.js.map +1 -1
  502. package/dist/tools/schedules/schedule-tool.d.ts +6 -5
  503. package/dist/tools/schedules/schedule-tool.d.ts.map +1 -1
  504. package/dist/tools/schedules/schedule-tool.js +208 -37
  505. package/dist/tools/schedules/schedule-tool.js.map +1 -1
  506. package/dist/tools/schedules/types.d.ts +120 -6
  507. package/dist/tools/schedules/types.d.ts.map +1 -1
  508. package/dist/tools/trusted-read-only.d.ts +9 -5
  509. package/dist/tools/trusted-read-only.d.ts.map +1 -1
  510. package/dist/tools/trusted-read-only.js +14 -10
  511. package/dist/tools/trusted-read-only.js.map +1 -1
  512. package/dist/tools/untrusted-envelope.d.ts +67 -28
  513. package/dist/tools/untrusted-envelope.d.ts.map +1 -1
  514. package/dist/tools/untrusted-envelope.js +108 -59
  515. package/dist/tools/untrusted-envelope.js.map +1 -1
  516. package/dist/toolsets/combine.d.ts +44 -0
  517. package/dist/toolsets/combine.d.ts.map +1 -0
  518. package/dist/toolsets/combine.js +153 -0
  519. package/dist/toolsets/combine.js.map +1 -0
  520. package/dist/toolsets/manager.d.ts +201 -0
  521. package/dist/toolsets/manager.d.ts.map +1 -0
  522. package/dist/toolsets/manager.js +837 -0
  523. package/dist/toolsets/manager.js.map +1 -0
  524. package/dist/toolsets/source-glob.d.ts +15 -0
  525. package/dist/toolsets/source-glob.d.ts.map +1 -0
  526. package/dist/toolsets/source-glob.js +23 -0
  527. package/dist/toolsets/source-glob.js.map +1 -0
  528. package/dist/toolsets/toolset.d.ts +20 -0
  529. package/dist/toolsets/toolset.d.ts.map +1 -0
  530. package/dist/toolsets/toolset.js +28 -0
  531. package/dist/toolsets/toolset.js.map +1 -0
  532. package/dist/toolsets/types.d.ts +128 -0
  533. package/dist/toolsets/types.d.ts.map +1 -0
  534. package/dist/toolsets/types.js +33 -0
  535. package/dist/toolsets/types.js.map +1 -0
  536. package/dist/toolsets/wrappers.d.ts +59 -0
  537. package/dist/toolsets/wrappers.d.ts.map +1 -0
  538. package/dist/toolsets/wrappers.js +165 -0
  539. package/dist/toolsets/wrappers.js.map +1 -0
  540. package/dist/types/agent/base.d.ts +27 -16
  541. package/dist/types/agent/base.d.ts.map +1 -1
  542. package/dist/types/agent/index.d.ts +1 -0
  543. package/dist/types/agent/index.d.ts.map +1 -1
  544. package/dist/types/agent/index.js +1 -0
  545. package/dist/types/agent/index.js.map +1 -1
  546. package/dist/types/agent/pipeline.d.ts +2 -0
  547. package/dist/types/agent/pipeline.d.ts.map +1 -1
  548. package/dist/types/agent/query.d.ts +117 -0
  549. package/dist/types/agent/query.d.ts.map +1 -0
  550. package/dist/types/agent/query.js +2 -0
  551. package/dist/types/agent/query.js.map +1 -0
  552. package/dist/types/agent/reactive.d.ts +2 -129
  553. package/dist/types/agent/reactive.d.ts.map +1 -1
  554. package/dist/types/agent/router.d.ts +2 -0
  555. package/dist/types/agent/router.d.ts.map +1 -1
  556. package/dist/types/agent/supervisor.d.ts +5 -2
  557. package/dist/types/agent/supervisor.d.ts.map +1 -1
  558. package/dist/types/authorization/index.d.ts +70 -12
  559. package/dist/types/authorization/index.d.ts.map +1 -1
  560. package/dist/types/authorization/index.js +11 -0
  561. package/dist/types/authorization/index.js.map +1 -1
  562. package/dist/types/computer-use/index.d.ts +176 -0
  563. package/dist/types/computer-use/index.d.ts.map +1 -1
  564. package/dist/types/computer-use/index.js.map +1 -1
  565. package/dist/types/connector/mcp.d.ts +32 -0
  566. package/dist/types/connector/mcp.d.ts.map +1 -1
  567. package/dist/types/errors/index.d.ts +15 -0
  568. package/dist/types/errors/index.d.ts.map +1 -1
  569. package/dist/types/errors/index.js.map +1 -1
  570. package/dist/types/hitl/index.d.ts +57 -0
  571. package/dist/types/hitl/index.d.ts.map +1 -1
  572. package/dist/types/hitl/index.js.map +1 -1
  573. package/dist/types/message/index.d.ts +130 -9
  574. package/dist/types/message/index.d.ts.map +1 -1
  575. package/dist/types/message/index.js +4 -1
  576. package/dist/types/message/index.js.map +1 -1
  577. package/dist/types/plugin/index.d.ts +22 -4
  578. package/dist/types/plugin/index.d.ts.map +1 -1
  579. package/dist/types/plugin/index.js +1 -0
  580. package/dist/types/plugin/index.js.map +1 -1
  581. package/dist/types/provider/chat.d.ts +5 -0
  582. package/dist/types/provider/chat.d.ts.map +1 -1
  583. package/dist/types/provider/config.d.ts +8 -3
  584. package/dist/types/provider/config.d.ts.map +1 -1
  585. package/dist/types/provider/stream.d.ts +39 -0
  586. package/dist/types/provider/stream.d.ts.map +1 -1
  587. package/dist/types/sandbox/index.d.ts +1 -1
  588. package/dist/types/session/events.d.ts +14 -3
  589. package/dist/types/session/events.d.ts.map +1 -1
  590. package/dist/types/session/events.js.map +1 -1
  591. package/dist/types/tool/index.d.ts +171 -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 +3 -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 +46 -5
  616. package/src/authorization/program.ts +773 -0
  617. package/src/authorization/reexec-wrapper.ts +589 -0
  618. package/src/authorization/rules.ts +36 -1
  619. package/src/authorization/shell-lexer.ts +136 -63
  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 +58 -3
  625. package/src/connector/mcp/client.ts +20 -4
  626. package/src/connector/mcp/discovery.ts +60 -0
  627. package/src/connector/mcp/index.ts +13 -0
  628. package/src/connector/mcp/mcp-toolset.ts +515 -0
  629. package/src/connector/tools/index.ts +2 -2
  630. package/src/connector/tools/router.ts +35 -58
  631. package/src/directory/derive-supervisor.ts +12 -8
  632. package/src/directory/derive.ts +8 -5
  633. package/src/execution/code-runtime/types.ts +2 -2
  634. package/src/invariants/index.ts +4 -1
  635. package/src/manager/agent/lifecycle.ts +9 -0
  636. package/src/manager/connector/environment.ts +17 -4
  637. package/src/manager/connector/index.ts +2 -2
  638. package/src/manager/connector/tenant.ts +17 -4
  639. package/src/manager/index.ts +2 -2
  640. package/src/manager/session/attribution.ts +79 -0
  641. package/src/manager/session/turn-recorder.ts +211 -55
  642. package/src/peers/address.ts +58 -0
  643. package/src/peers/client.ts +202 -0
  644. package/src/peers/dir.ts +176 -0
  645. package/src/peers/endpoint.ts +564 -0
  646. package/src/peers/envelope.ts +121 -0
  647. package/src/peers/index.ts +96 -0
  648. package/src/peers/protocol.ts +196 -0
  649. package/src/peers/record.ts +56 -0
  650. package/src/peers/registry.ts +241 -0
  651. package/src/plugin/define.ts +68 -0
  652. package/src/plugin/index.ts +2 -0
  653. package/src/plugin/lifecycle.ts +286 -106
  654. package/src/plugin/resolver.ts +6 -3
  655. package/src/plugin/shell-hook.ts +21 -5
  656. package/src/pricing/catalogue.generated.ts +28 -4
  657. package/src/pricing/rates.source.json +27 -6
  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 +152 -9
  667. package/src/public-tools.ts +43 -5
  668. package/src/public-types.ts +65 -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 +36 -0
  676. package/src/registry/tool/execute.ts +16 -839
  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 +288 -22
  681. package/src/runtime/query/executor.ts +129 -16
  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 +190 -24
  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/skills/index.ts +1 -1
  704. package/src/skills/registry.ts +33 -0
  705. package/src/store/session-log/conformance.ts +51 -8
  706. package/src/store/session-log/core.ts +10 -4
  707. package/src/store/session-log/fold.ts +33 -7
  708. package/src/store/session-log/index.ts +2 -0
  709. package/src/test-support/toolset.ts +23 -0
  710. package/src/tools/builtins/bash.ts +27 -10
  711. package/src/tools/builtins/browser-url.ts +1 -1
  712. package/src/tools/builtins/computer-use-coordinates.ts +144 -0
  713. package/src/tools/builtins/computer-use-image.ts +278 -0
  714. package/src/tools/builtins/computer-use.ts +1495 -191
  715. package/src/tools/builtins/edit.ts +12 -2
  716. package/src/tools/builtins/index.ts +7 -1
  717. package/src/tools/builtins/json-string-hint.ts +16 -0
  718. package/src/tools/builtins/search-tools.ts +7 -20
  719. package/src/tools/builtins/skill.ts +304 -174
  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 +38 -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/present.ts +2 -0
  732. package/src/tools/schedules/schedule-tool.ts +238 -39
  733. package/src/tools/schedules/types.ts +120 -6
  734. package/src/tools/trusted-read-only.ts +19 -10
  735. package/src/tools/untrusted-envelope.ts +121 -57
  736. package/src/toolsets/combine.ts +181 -0
  737. package/src/toolsets/manager.ts +996 -0
  738. package/src/toolsets/source-glob.ts +22 -0
  739. package/src/toolsets/toolset.ts +31 -0
  740. package/src/toolsets/types.ts +154 -0
  741. package/src/toolsets/wrappers.ts +191 -0
  742. package/src/types/agent/base.ts +29 -16
  743. package/src/types/agent/index.ts +1 -0
  744. package/src/types/agent/pipeline.ts +2 -0
  745. package/src/types/agent/query.ts +129 -0
  746. package/src/types/agent/reactive.ts +5 -142
  747. package/src/types/agent/router.ts +2 -0
  748. package/src/types/agent/supervisor.ts +5 -2
  749. package/src/types/authorization/index.ts +33 -0
  750. package/src/types/computer-use/index.ts +202 -0
  751. package/src/types/connector/mcp.ts +32 -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/tool/index.ts +173 -105
  762. package/src/types/toolset/index.ts +10 -47
  763. package/dist/registry/toolset/catalog.d.ts +0 -42
  764. package/dist/registry/toolset/catalog.d.ts.map +0 -1
  765. package/dist/registry/toolset/catalog.js +0 -234
  766. package/dist/registry/toolset/catalog.js.map +0 -1
  767. package/src/registry/toolset/catalog.ts +0 -308
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/toolsets/manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Match a hierarchical source id against a glob pattern.
3
+ *
4
+ * Source ids are strings like `mcp:github`, `plugin:acme`,
5
+ * `plugin:acme/mcp:db` (plan.md §1) — no filesystem semantics, so this is
6
+ * not a path glob: `*` matches any run of characters, including `/` and
7
+ * `:`, so `plugin:acme/*` matches `plugin:acme/mcp:db` in one step. There
8
+ * is no `**`, `?` or character class — the id space does not need them, and
9
+ * a smaller matcher is one with no surprising cases to test.
10
+ *
11
+ * A pattern with no `*` is an exact match, so callers never have to special
12
+ * case "no wildcard" themselves.
13
+ */
14
+ export declare function matchesSourceIdGlob(id: string, pattern: string): boolean;
15
+ //# sourceMappingURL=source-glob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-glob.d.ts","sourceRoot":"","sources":["../../src/toolsets/source-glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAIxE"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Match a hierarchical source id against a glob pattern.
3
+ *
4
+ * Source ids are strings like `mcp:github`, `plugin:acme`,
5
+ * `plugin:acme/mcp:db` (plan.md §1) — no filesystem semantics, so this is
6
+ * not a path glob: `*` matches any run of characters, including `/` and
7
+ * `:`, so `plugin:acme/*` matches `plugin:acme/mcp:db` in one step. There
8
+ * is no `**`, `?` or character class — the id space does not need them, and
9
+ * a smaller matcher is one with no surprising cases to test.
10
+ *
11
+ * A pattern with no `*` is an exact match, so callers never have to special
12
+ * case "no wildcard" themselves.
13
+ */
14
+ export function matchesSourceIdGlob(id, pattern) {
15
+ if (!pattern.includes('*'))
16
+ return id === pattern;
17
+ const escaped = pattern.split('*').map(escapeRegExpLiteral).join('.*');
18
+ return new RegExp(`^${escaped}$`).test(id);
19
+ }
20
+ function escapeRegExpLiteral(literal) {
21
+ return literal.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
22
+ }
23
+ //# sourceMappingURL=source-glob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-glob.js","sourceRoot":"","sources":["../../src/toolsets/source-glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAU,EAAE,OAAe;IAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,KAAK,OAAO,CAAA;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtE,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC3C,OAAO,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;AACtD,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { ToolDefinition } from '../types/tool/index.js';
2
+ import type { ToolSource, Toolset } from './types.js';
3
+ /**
4
+ * The plain, static `Toolset`: a fixed list of tools from one source.
5
+ *
6
+ * A bare string source is shorthand for a `host_tool` source with that
7
+ * string as both `id` and `name` — the common case for a small, in-process
8
+ * bundle of tools ("builtin", "memory") that has no separate discovery
9
+ * metadata worth writing out. Anything that needs a real `kind`
10
+ * (`mcp_server`, `plugin`, …) passes a full {@link ToolSource}; string
11
+ * shorthand never guesses a kind from the text of the id.
12
+ *
13
+ * The tools array is snapshotted once, at construction, so a caller that
14
+ * mutates the array it passed in afterward cannot change what this toolset
15
+ * reports. There is no `onChange`: a plain toolset never changes on its
16
+ * own — wrap it with a live source (a future MCP toolset) or rebuild it
17
+ * with a new snapshot instead.
18
+ */
19
+ export declare function toolset(source: ToolSource | string, tools: readonly ToolDefinition[]): Toolset;
20
+ //# sourceMappingURL=toolset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolset.d.ts","sourceRoot":"","sources":["../../src/toolsets/toolset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAErD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAO9F"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * The plain, static `Toolset`: a fixed list of tools from one source.
3
+ *
4
+ * A bare string source is shorthand for a `host_tool` source with that
5
+ * string as both `id` and `name` — the common case for a small, in-process
6
+ * bundle of tools ("builtin", "memory") that has no separate discovery
7
+ * metadata worth writing out. Anything that needs a real `kind`
8
+ * (`mcp_server`, `plugin`, …) passes a full {@link ToolSource}; string
9
+ * shorthand never guesses a kind from the text of the id.
10
+ *
11
+ * The tools array is snapshotted once, at construction, so a caller that
12
+ * mutates the array it passed in afterward cannot change what this toolset
13
+ * reports. There is no `onChange`: a plain toolset never changes on its
14
+ * own — wrap it with a live source (a future MCP toolset) or rebuild it
15
+ * with a new snapshot instead.
16
+ */
17
+ export function toolset(source, tools) {
18
+ const resolvedSource = typeof source === 'string' ? hostToolSource(source) : source;
19
+ const snapshot = tools.slice();
20
+ return {
21
+ source: resolvedSource,
22
+ tools: () => snapshot,
23
+ };
24
+ }
25
+ function hostToolSource(id) {
26
+ return { id, kind: 'host_tool', name: id };
27
+ }
28
+ //# sourceMappingURL=toolset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolset.js","sourceRoot":"","sources":["../../src/toolsets/toolset.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,OAAO,CAAC,MAA2B,EAAE,KAAgC;IACpF,MAAM,cAAc,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IACnF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;IAC9B,OAAO;QACN,MAAM,EAAE,cAAc;QACtB,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ;KACrB,CAAA;AACF,CAAC;AAED,SAAS,cAAc,CAAC,EAAU;IACjC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;AAC3C,CAAC"}
@@ -0,0 +1,128 @@
1
+ import type { ToolDefinition } from '../types/tool/index.js';
2
+ import type { ToolSource, ToolSourceKind } from '../types/toolset/index.js';
3
+ export type { ToolSource, ToolSourceKind };
4
+ /**
5
+ * A toolset's own default for the tools it contributes.
6
+ *
7
+ * Deliberately narrower than {@link ToolAvailability} (`'active' |
8
+ * 'deferred' | 'suspended'`): `'suspended'` is derived from a host readiness
9
+ * check, not a static declaration. Absent means `'active'`.
10
+ */
11
+ export type ToolsetAvailability = 'active' | 'deferred';
12
+ /**
13
+ * The unit every tool comes from.
14
+ *
15
+ * A `Toolset` is a value, not a registration: `toolset()`, every wrapper
16
+ * below, and `combineToolsets` all return one without touching any shared
17
+ * state. The runtime resolves it through a `ToolManager` when a turn starts.
18
+ */
19
+ export interface Toolset {
20
+ /** Where these tools come from. Ownership and trust stay with this. */
21
+ readonly source: ToolSource;
22
+ /**
23
+ * The current snapshot, in a deterministic order.
24
+ *
25
+ * Called fresh whenever a caller wants the current tools — a wrapper
26
+ * re-derives its mapping/filtering on every call rather than caching,
27
+ * so a live inner toolset's change is visible the moment `tools()` is
28
+ * called again, with no separate invalidation step.
29
+ */
30
+ tools(): readonly ToolDefinition[];
31
+ /**
32
+ * This toolset's default for tools it contributes. Absent means
33
+ * `'active'`. A wrapper composes this along with everything else: see
34
+ * {@link deferred}.
35
+ */
36
+ readonly availability?: ToolsetAvailability;
37
+ /**
38
+ * Host-owned readiness, independent of whether the model has loaded a
39
+ * deferred schema. A false (or throwing) check keeps every tool in this
40
+ * source out of discovery, prompts and execution. Read fresh on each use.
41
+ */
42
+ readonly isReady?: () => boolean;
43
+ /**
44
+ * Subscribe to "the next `tools()` call may return something different"
45
+ * — an MCP server's `list_changed`, for instance. Returns the
46
+ * unsubscribe function. Absent means this toolset never changes on its
47
+ * own (a plain {@link toolset} never does).
48
+ *
49
+ * A wrapper or {@link combineToolsets} that wraps a live toolset forwards
50
+ * this by calling the inner `onChange` with the same listener, so a
51
+ * change three layers down reaches a listener on the outermost toolset,
52
+ * and unsubscribing at the outer layer unsubscribes at every inner one.
53
+ */
54
+ onChange?(listener: () => void): () => void;
55
+ /** Release whatever this toolset holds open (a connection, a watcher). */
56
+ close?(): Promise<void>;
57
+ }
58
+ /** A broken readiness check must never expose the tools it guards. */
59
+ export declare function toolsetIsReady(ts: Toolset): boolean;
60
+ /**
61
+ * A lean reference to the toolset that contributed a tool.
62
+ * `ToolManager.sourceOf(name)` derives it from the owning toolset; no source
63
+ * pointer is stored on the `ToolDefinition` itself.
64
+ */
65
+ export interface ToolSourceRef {
66
+ readonly id: string;
67
+ readonly kind: ToolSourceKind;
68
+ /** Only set when `kind` is `'mcp_server'`: the connected server's configured name. */
69
+ readonly server?: string;
70
+ /**
71
+ * Only set when `kind` is `'mcp_server'`. See `ToolProvenance.readOnlyHintTrusted`
72
+ * (`types/tool/index.ts`) — same meaning, carried on the source instead of
73
+ * duplicated onto every tool the source contributes.
74
+ */
75
+ readonly readOnlyHintTrusted?: boolean;
76
+ }
77
+ /**
78
+ * Project a `ToolSource` down to the lean reference returned by
79
+ * `ToolManager.sourceOf(name)`. Pure; reads nothing but its arguments.
80
+ *
81
+ * `readOnlyHintTrusted` defaults to `source.mcpServer?.readOnlyHintTrusted`
82
+ * — the operator's per-server trust decision, wired by whatever built this
83
+ * `ToolSource` (`mcpToolset`, plan.md §4). The `mcp` parameter overrides that
84
+ * default rather than being the only channel for it: a caller that already
85
+ * has the decision in hand some other way (a test, a wrapper) may still pass
86
+ * it explicitly, but `sourceOf` (`toolsets/manager.ts`) relies on the
87
+ * default so a trusted server's tools resolve as trusted with no extra
88
+ * wiring at the call site.
89
+ */
90
+ export declare function toToolSourceRef(source: ToolSource, mcp?: {
91
+ readonly readOnlyHintTrusted: boolean;
92
+ }): ToolSourceRef;
93
+ /**
94
+ * A synchronous test over one tool, for {@link filtered} and
95
+ * {@link requireApproval}.
96
+ *
97
+ * `source` is the CONTRIBUTING TOOLSET's own source (`ts.source` projected
98
+ * through {@link toToolSourceRef}) — not a source declared by a tool
99
+ * definition (see {@link ToolFilterSelector}'s note on `sourceIdGlob`). A
100
+ * predicate that
101
+ * needs to tell a trusted MCP server's tool from an untrusted one's (the
102
+ * `isTrustedReadOnly` recipe in `tools/roster.ts`) reads this — which is
103
+ * correct for a plain, single-source toolset, and why that recipe must run
104
+ * on each contributing toolset before {@link combineToolsets} merges them:
105
+ * applied to an already-combined multi-source toolset, `source` is the
106
+ * COMBINED umbrella source, not any one contributor's, and a predicate that
107
+ * trusts it that far trusts every contributor equally.
108
+ */
109
+ export type ToolPredicate = (tool: ToolDefinition, source: ToolSourceRef) => boolean;
110
+ /**
111
+ * What `filtered` (and `requireApproval`'s optional selector) may match on.
112
+ *
113
+ * `sourceIdGlob` matches the WHOLE toolset's own {@link ToolSource.id}
114
+ * (glob syntax: {@link matchesSourceIdGlob}) — not a per-tool source.
115
+ * A toolset is one source, so this keeps every tool the toolset contributes
116
+ * when the glob matches, and none when it does not.
117
+ *
118
+ * `metadata` is a deep-match against `ToolDefinition.metadata`: every key in
119
+ * the pattern must be present and equal (or, for a nested plain object,
120
+ * recursively matched) on the tool's own metadata. A tool with no metadata
121
+ * never matches a metadata selector.
122
+ */
123
+ export type ToolFilterSelector = readonly string[] | {
124
+ readonly metadata: Readonly<Record<string, unknown>>;
125
+ } | {
126
+ readonly sourceIdGlob: string;
127
+ };
128
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/toolsets/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAO3E,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,CAAA;AAE1C;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEvD;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACvB,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B;;;;;;;OAOG;IACH,KAAK,IAAI,SAAS,cAAc,EAAE,CAAA;IAClC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAA;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;IAC3C,0EAA0E;IAC1E,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAED,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAMnD;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CACtC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,UAAU,EAClB,GAAG,CAAC,EAAE;IAAE,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAA;CAAE,GAC7C,aAAa,CAQf;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,KAAK,OAAO,CAAA;AAEpF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,kBAAkB,GAC3B,SAAS,MAAM,EAAE,GACjB;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA"}
@@ -0,0 +1,33 @@
1
+ /** A broken readiness check must never expose the tools it guards. */
2
+ export function toolsetIsReady(ts) {
3
+ try {
4
+ return ts.isReady?.() ?? true;
5
+ }
6
+ catch {
7
+ return false;
8
+ }
9
+ }
10
+ /**
11
+ * Project a `ToolSource` down to the lean reference returned by
12
+ * `ToolManager.sourceOf(name)`. Pure; reads nothing but its arguments.
13
+ *
14
+ * `readOnlyHintTrusted` defaults to `source.mcpServer?.readOnlyHintTrusted`
15
+ * — the operator's per-server trust decision, wired by whatever built this
16
+ * `ToolSource` (`mcpToolset`, plan.md §4). The `mcp` parameter overrides that
17
+ * default rather than being the only channel for it: a caller that already
18
+ * has the decision in hand some other way (a test, a wrapper) may still pass
19
+ * it explicitly, but `sourceOf` (`toolsets/manager.ts`) relies on the
20
+ * default so a trusted server's tools resolve as trusted with no extra
21
+ * wiring at the call site.
22
+ */
23
+ export function toToolSourceRef(source, mcp) {
24
+ if (source.kind !== 'mcp_server')
25
+ return { id: source.id, kind: source.kind };
26
+ return {
27
+ id: source.id,
28
+ kind: source.kind,
29
+ server: source.mcpServer?.name ?? source.name,
30
+ readOnlyHintTrusted: mcp?.readOnlyHintTrusted ?? source.mcpServer?.readOnlyHintTrusted ?? false,
31
+ };
32
+ }
33
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/toolsets/types.ts"],"names":[],"mappings":"AAkEA,sEAAsE;AACtE,MAAM,UAAU,cAAc,CAAC,EAAW;IACzC,IAAI,CAAC;QACJ,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,IAAI,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC;AAoBD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC9B,MAAkB,EAClB,GAA+C;IAE/C,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;IAC7E,OAAO;QACN,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI;QAC7C,mBAAmB,EAAE,GAAG,EAAE,mBAAmB,IAAI,MAAM,CAAC,SAAS,EAAE,mBAAmB,IAAI,KAAK;KAC/F,CAAA;AACF,CAAC"}
@@ -0,0 +1,59 @@
1
+ import type { ToolDefinition } from '../types/tool/index.js';
2
+ import { type ToolFilterSelector, type ToolPredicate, type Toolset } from './types.js';
3
+ /**
4
+ * Apply `fn` to every tool this toolset contributes, recomputed on every
5
+ * `tools()` call (no caching) so a live inner toolset's change is visible
6
+ * immediately. Every other wrapper below is written in terms of this one.
7
+ */
8
+ export declare function mapTools(ts: Toolset, fn: (tool: ToolDefinition) => ToolDefinition): Toolset;
9
+ /** Prepend `prefix` to every tool's name. `execute` and every other field are untouched. */
10
+ export declare function prefixed(ts: Toolset, prefix: string): Toolset;
11
+ /**
12
+ * Rename the tools named as keys in `names` to their mapped value. A tool
13
+ * whose name is not a key keeps its name. `execute` and every other field
14
+ * are untouched — only `name` changes.
15
+ */
16
+ export declare function renamed(ts: Toolset, names: Readonly<Record<string, string>>): Toolset;
17
+ /**
18
+ * Keep only the tools `selector` (or `predicate`) admits.
19
+ *
20
+ * See {@link ToolFilterSelector} for what a non-function selector can match
21
+ * on. A `sourceIdGlob` selector is all-or-nothing per toolset — it tests
22
+ * this toolset's own `source.id`, not a per-tool source. A function
23
+ * `predicate` is handed `ts.source` (projected through
24
+ * {@link toToolSourceRef}) as its second argument for the same reason —
25
+ * see {@link ToolPredicate}'s note on what that source means, and does not
26
+ * mean, once toolsets have been combined.
27
+ */
28
+ export declare function filtered(ts: Toolset, selector: ToolFilterSelector | ToolPredicate): Toolset;
29
+ /**
30
+ * This toolset's tools default to `'deferred'` instead of `'active'` — the
31
+ * model has to ask for them by name (or a `search_tools`/reveal path) rather
32
+ * than seeing them offered up front.
33
+ */
34
+ export declare function deferred(ts: Toolset): Toolset;
35
+ /**
36
+ * Keep tools unavailable until the host confirms their prerequisite is ready.
37
+ * This guard is independent of `deferred`: search cannot grant readiness.
38
+ * The callback must read current host state and return synchronously.
39
+ */
40
+ export declare function readyWhen(ts: Toolset, isReady: () => boolean): Toolset;
41
+ /**
42
+ * Mark the tools `selector` admits (every tool, when omitted) as needing
43
+ * approval every time they are called.
44
+ *
45
+ * Sets `ToolDefinition.requiresApproval` to a predicate that always answers
46
+ * `true`, and nothing else — this wrapper does not enforce approval itself;
47
+ * that is `runtime/query/review-policy.ts`'s job, which reads the field this
48
+ * writes. `requiresApproval` is declared as `(input: TInput) => boolean`
49
+ * (method-shorthand, like `isReadOnly`), not a plain boolean, so every tool
50
+ * this wrapper marks gets the same always-true predicate rather than a
51
+ * second field shape to check for.
52
+ */
53
+ export declare function requireApproval(ts: Toolset, selector?: ToolFilterSelector | ToolPredicate): Toolset;
54
+ /**
55
+ * Merge `metadata` onto every tool this toolset contributes, keeping
56
+ * whatever metadata a tool already carries (last write wins per key).
57
+ */
58
+ export declare function withMetadata(ts: Toolset, metadata: Readonly<Record<string, unknown>>): Toolset;
59
+ //# sourceMappingURL=wrappers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrappers.d.ts","sourceRoot":"","sources":["../../src/toolsets/wrappers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,EACN,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,OAAO,EAGZ,MAAM,YAAY,CAAA;AAwCnB;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,cAAc,GAAG,OAAO,CAE3F;AAED,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAa7D;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAKrF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,GAAG,aAAa,GAAG,OAAO,CAM3F;AAyBD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,GAAG,OAAO,CAItE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC9B,EAAE,EAAE,OAAO,EACX,QAAQ,CAAC,EAAE,kBAAkB,GAAG,aAAa,GAC3C,OAAO,CAgBT;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAK9F"}
@@ -0,0 +1,165 @@
1
+ import { matchesToolSelector } from '../tools/roster.js';
2
+ import { matchesSourceIdGlob } from './source-glob.js';
3
+ import { toToolSourceRef, } from './types.js';
4
+ /**
5
+ * Build a derived `Toolset` that keeps the inner toolset's `source`,
6
+ * `availability` (unless overridden) and live-update wiring (`onChange`,
7
+ * `close`), forwarded rather than re-implemented.
8
+ *
9
+ * Every wrapper in this file goes through this one function, so "keep the
10
+ * inner source", "forward `onChange` through every layer" and "clean up
11
+ * `close`" are each written exactly once.
12
+ */
13
+ function deriveToolset(ts, overrides) {
14
+ const derived = {
15
+ source: ts.source,
16
+ tools: overrides.tools ?? (() => ts.tools()),
17
+ availability: overrides.availability ?? ts.availability,
18
+ isReady: overrides.isReady ?? ts.isReady,
19
+ };
20
+ if (ts.onChange) {
21
+ // A direct forward: calling the derived toolset's `onChange` subscribes
22
+ // the inner one with the same listener and hands back ITS unsubscribe,
23
+ // so a change three layers down reaches the outermost listener, and
24
+ // unsubscribing at any layer tears down exactly that subscription.
25
+ const innerOnChange = ts.onChange;
26
+ derived.onChange = (listener) => innerOnChange(listener);
27
+ }
28
+ if (ts.close) {
29
+ const innerClose = ts.close;
30
+ derived.close = () => innerClose();
31
+ }
32
+ return derived;
33
+ }
34
+ /**
35
+ * Apply `fn` to every tool this toolset contributes, recomputed on every
36
+ * `tools()` call (no caching) so a live inner toolset's change is visible
37
+ * immediately. Every other wrapper below is written in terms of this one.
38
+ */
39
+ export function mapTools(ts, fn) {
40
+ return deriveToolset(ts, { tools: () => ts.tools().map(fn) });
41
+ }
42
+ /** Prepend `prefix` to every tool's name. `execute` and every other field are untouched. */
43
+ export function prefixed(ts, prefix) {
44
+ const cache = new WeakMap();
45
+ return deriveToolset(ts, {
46
+ tools: () => ts.tools().map((tool) => {
47
+ let renamed = cache.get(tool);
48
+ if (!renamed) {
49
+ renamed = { ...tool, name: `${prefix}${tool.name}` };
50
+ cache.set(tool, renamed);
51
+ }
52
+ return renamed;
53
+ }),
54
+ });
55
+ }
56
+ /**
57
+ * Rename the tools named as keys in `names` to their mapped value. A tool
58
+ * whose name is not a key keeps its name. `execute` and every other field
59
+ * are untouched — only `name` changes.
60
+ */
61
+ export function renamed(ts, names) {
62
+ return mapTools(ts, (tool) => {
63
+ const next = names[tool.name];
64
+ return next === undefined ? tool : { ...tool, name: next };
65
+ });
66
+ }
67
+ /**
68
+ * Keep only the tools `selector` (or `predicate`) admits.
69
+ *
70
+ * See {@link ToolFilterSelector} for what a non-function selector can match
71
+ * on. A `sourceIdGlob` selector is all-or-nothing per toolset — it tests
72
+ * this toolset's own `source.id`, not a per-tool source. A function
73
+ * `predicate` is handed `ts.source` (projected through
74
+ * {@link toToolSourceRef}) as its second argument for the same reason —
75
+ * see {@link ToolPredicate}'s note on what that source means, and does not
76
+ * mean, once toolsets have been combined.
77
+ */
78
+ export function filtered(ts, selector) {
79
+ const predicate = toPredicate(ts, selector);
80
+ const source = toToolSourceRef(ts.source);
81
+ return deriveToolset(ts, {
82
+ tools: () => ts.tools().filter((tool) => predicate(tool, source)),
83
+ });
84
+ }
85
+ function toPredicate(ts, selector) {
86
+ if (typeof selector === 'function')
87
+ return selector;
88
+ if (Array.isArray(selector)) {
89
+ const names = new Set(selector);
90
+ return (tool) => names.has(tool.name);
91
+ }
92
+ // `Array.isArray`'s built-in guard narrows against a MUTABLE `any[]`, so
93
+ // TypeScript cannot use the negative case above to drop `readonly
94
+ // string[]` from the union — the cast is just naming what the runtime
95
+ // check already proved.
96
+ const objectSelector = selector;
97
+ if ('sourceIdGlob' in objectSelector) {
98
+ const keepEverything = matchesSourceIdGlob(ts.source.id, objectSelector.sourceIdGlob);
99
+ return () => keepEverything;
100
+ }
101
+ // The deep-match itself (nested plain objects recursed, arrays compared
102
+ // elementwise) is `matchesToolSelector`'s (`tools/roster.ts`) — the same
103
+ // rule a permission `by_source`/metadata rule matches by, so a metadata
104
+ // selector means the same thing wherever it is written.
105
+ const pattern = objectSelector.metadata;
106
+ return (tool) => matchesToolSelector(pattern, tool);
107
+ }
108
+ /**
109
+ * This toolset's tools default to `'deferred'` instead of `'active'` — the
110
+ * model has to ask for them by name (or a `search_tools`/reveal path) rather
111
+ * than seeing them offered up front.
112
+ */
113
+ export function deferred(ts) {
114
+ return deriveToolset(ts, { availability: 'deferred' });
115
+ }
116
+ /**
117
+ * Keep tools unavailable until the host confirms their prerequisite is ready.
118
+ * This guard is independent of `deferred`: search cannot grant readiness.
119
+ * The callback must read current host state and return synchronously.
120
+ */
121
+ export function readyWhen(ts, isReady) {
122
+ return deriveToolset(ts, {
123
+ isReady: () => (ts.isReady?.() ?? true) && isReady(),
124
+ });
125
+ }
126
+ /**
127
+ * Mark the tools `selector` admits (every tool, when omitted) as needing
128
+ * approval every time they are called.
129
+ *
130
+ * Sets `ToolDefinition.requiresApproval` to a predicate that always answers
131
+ * `true`, and nothing else — this wrapper does not enforce approval itself;
132
+ * that is `runtime/query/review-policy.ts`'s job, which reads the field this
133
+ * writes. `requiresApproval` is declared as `(input: TInput) => boolean`
134
+ * (method-shorthand, like `isReadOnly`), not a plain boolean, so every tool
135
+ * this wrapper marks gets the same always-true predicate rather than a
136
+ * second field shape to check for.
137
+ */
138
+ export function requireApproval(ts, selector) {
139
+ const predicate = selector ? toPredicate(ts, selector) : () => true;
140
+ const source = toToolSourceRef(ts.source);
141
+ const mapped = new WeakMap();
142
+ return deriveToolset(ts, {
143
+ tools: () => ts.tools().map((tool) => {
144
+ if (!predicate(tool, source))
145
+ return tool;
146
+ let approved = mapped.get(tool);
147
+ if (!approved) {
148
+ approved = { ...tool, requiresApproval: () => true };
149
+ mapped.set(tool, approved);
150
+ }
151
+ return approved;
152
+ }),
153
+ });
154
+ }
155
+ /**
156
+ * Merge `metadata` onto every tool this toolset contributes, keeping
157
+ * whatever metadata a tool already carries (last write wins per key).
158
+ */
159
+ export function withMetadata(ts, metadata) {
160
+ return mapTools(ts, (tool) => ({
161
+ ...tool,
162
+ metadata: { ...tool.metadata, ...metadata },
163
+ }));
164
+ }
165
+ //# sourceMappingURL=wrappers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrappers.js","sourceRoot":"","sources":["../../src/toolsets/wrappers.ts"],"names":[],"mappings":"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"}