@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,399 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { z } from 'zod';
3
+ import { NAMZU } from '../../constants/telemetry/index.js';
4
+ import { ToolsetConflictError } from '../../toolsets/combine.js';
5
+ import { deferred } from '../../toolsets/wrappers.js';
6
+ import { toErrorMessage } from '../../utils/error.js';
7
+ import { SCOPE_ATTRIBUTE } from '../../utils/log/types.js';
8
+ import { resolveLogger } from '../../utils/logger.js';
9
+ import { frameServerResult, mcpToolResultToToolResult, mcpToolToToolDefinition } from './adapter.js';
10
+ import { MCPToolDiscovery } from './discovery.js';
11
+ import { mcpPromptToToolDefinition } from './prompt-adapter.js';
12
+ import { MCPReconnectSupervisor, } from './reconnect.js';
13
+ /**
14
+ * `mcp__<server>__<rest>`, the one MCP naming convention (plan.md §4,
15
+ * "Names become `mcp__<server>__<tool>` everywhere"). Before this, the CLI's
16
+ * own path minted `mcp_<server>_<tool>` (single underscore, ambiguous the
17
+ * moment either name contains one) while the plugin path already used
18
+ * `mcp__`; this toolset is the one place both now go through.
19
+ *
20
+ * `mcpToolToToolDefinition`/`mcpPromptToToolDefinition` keep their OWN
21
+ * historical naming (`mcp_<server>_<tool>` / `mcp_prompt_<server>_<name>`)
22
+ * for direct adapter users — this module renames what they hand back rather
23
+ * than changing what they produce. The CLI and plugin lifecycle both use
24
+ * this toolset.
25
+ */
26
+ const MCP_TOOLSET_NAME_MAX_LENGTH = 64;
27
+ /**
28
+ * Join `serverName` and `segments` under the `mcp__` convention, shortened
29
+ * deterministically when the result would not fit the wire's 64-character
30
+ * tool-name ceiling.
31
+ *
32
+ * Never refuses a tool silently: a name over the limit is truncated and
33
+ * given an 8-hex-character content hash suffix (`_<hash>`) instead of being
34
+ * dropped, so two overlong names that happen to share a 55-character prefix
35
+ * still end up distinct. The hash is over the FULL untruncated name, so
36
+ * renaming is a pure function of `(serverName, segments)` — the same inputs
37
+ * always shorten to the same output, which is what makes a later call
38
+ * (`callTool`, permission rules keyed by name) able to reconstruct it.
39
+ */
40
+ export function mcpToolsetName(serverName, ...segments) {
41
+ const full = ['mcp', serverName, ...segments].join('__');
42
+ if (full.length <= MCP_TOOLSET_NAME_MAX_LENGTH)
43
+ return full;
44
+ const hash = createHash('sha256').update(full).digest('hex').slice(0, 8);
45
+ const suffix = `_${hash}`;
46
+ return `${full.slice(0, MCP_TOOLSET_NAME_MAX_LENGTH - suffix.length)}${suffix}`;
47
+ }
48
+ /**
49
+ * Fetch and admit this server's resources, and refresh `state.admittedUris`
50
+ * from the result — the ONLY place that set is ever written, so it can only
51
+ * ever hold a post-policy URI. `list_resources`'s own `execute` below and
52
+ * `mcpToolset`'s `refreshResourceUris` (construction, `resources/list_changed`,
53
+ * reconnection) both call this rather than `client.listResources` directly,
54
+ * which is what used to let a denied resource stay listed and readable: the
55
+ * two callers fetched raw and set `admittedUris` from it with no policy gate
56
+ * at all, unlike `discovery.discoverFrom`/`discoverPromptsFrom`, which both
57
+ * already run everything through `applyNamePolicy`.
58
+ */
59
+ async function refreshAdmittedResources(discovery, state, options) {
60
+ const resources = await discovery.discoverResourcesFrom(state.client, options);
61
+ state.admittedUris = new Set(resources.map((r) => r.uri));
62
+ return resources;
63
+ }
64
+ function buildResourceTools(discovery, state) {
65
+ const { client, serverName } = state;
66
+ const listResources = {
67
+ name: mcpToolsetName(serverName, 'list_resources'),
68
+ description: `[MCP:${serverName}] List the resources this server publishes. Call this before "${mcpToolsetName(serverName, 'read_resource')}" — only a URI this returns may be read.`,
69
+ inputSchema: z.object({}),
70
+ category: 'network',
71
+ permissions: ['network_access'],
72
+ isReadOnly: () => true,
73
+ isDestructive: () => false,
74
+ isConcurrencySafe: () => true,
75
+ async execute(_input, context) {
76
+ try {
77
+ const resources = await refreshAdmittedResources(discovery, state, {
78
+ signal: context.abortSignal,
79
+ });
80
+ const listing = resources.map((r) => ({
81
+ uri: r.uri,
82
+ name: r.name,
83
+ description: r.description,
84
+ mimeType: r.mimeType,
85
+ }));
86
+ return frameServerResult({ success: true, output: JSON.stringify(listing, null, 2) }, serverName, 'list_resources');
87
+ }
88
+ catch (err) {
89
+ return {
90
+ success: false,
91
+ output: '',
92
+ error: `Could not list resources on "${serverName}": ${toErrorMessage(err)}`,
93
+ };
94
+ }
95
+ },
96
+ };
97
+ const readResource = {
98
+ name: mcpToolsetName(serverName, 'read_resource'),
99
+ description: `[MCP:${serverName}] Read one resource this server publishes. "uri" must be one "${mcpToolsetName(serverName, 'list_resources')}" listed.`,
100
+ inputSchema: z.object({
101
+ uri: z.string().describe('A resource URI this server listed via list_resources.'),
102
+ }),
103
+ category: 'network',
104
+ permissions: ['network_access'],
105
+ isReadOnly: () => true,
106
+ isDestructive: () => false,
107
+ isConcurrencySafe: () => true,
108
+ async execute(input, context) {
109
+ const { uri } = input;
110
+ // Admission, not merely a lookup: the server does not get to decide
111
+ // what this call may read by returning a resource it never listed.
112
+ // `state.admittedUris` is refreshed by `list_resources` above and by
113
+ // `resources/list_changed` (see `mcpToolset`), so a URI has to have
114
+ // been SEEN, not merely well-formed.
115
+ if (!state.admittedUris.has(uri)) {
116
+ return {
117
+ success: false,
118
+ output: '',
119
+ error: `"${uri}" is not a resource "${serverName}" has listed. Call "${mcpToolsetName(serverName, 'list_resources')}" first.`,
120
+ };
121
+ }
122
+ try {
123
+ const contents = await client.readResource(uri, { signal: context.abortSignal });
124
+ const result = mcpToolResultToToolResult({ content: contents, isError: false });
125
+ return frameServerResult(result, serverName, 'read_resource');
126
+ }
127
+ catch (err) {
128
+ return {
129
+ success: false,
130
+ output: '',
131
+ error: `Could not read resource "${uri}" from "${serverName}": ${toErrorMessage(err)}`,
132
+ };
133
+ }
134
+ },
135
+ };
136
+ return [listResources, readResource];
137
+ }
138
+ /**
139
+ * A connected MCP server as a live {@link Toolset}: its tools, its prompts
140
+ * (through the existing adapters), and its resources as two deferred tools.
141
+ *
142
+ * The ONE path onto a `Toolset` from MCP — the CLI and a plugin both build
143
+ * their server toolsets this way (plan.md §4). `client` must already be
144
+ * connected; this function only discovers and wraps, it never dials.
145
+ *
146
+ * `options.allow`/`options.deny` govern all three surfaces a server can
147
+ * contribute by name — tools, prompts AND resources — through
148
+ * `MCPToolDiscovery`'s `discoverFrom`/`discoverPromptsFrom`/
149
+ * `discoverResourcesFrom`. A denied resource is never listed and never
150
+ * admitted into `read_resource`'s URI set, the same as a denied tool never
151
+ * reaching `tools()`.
152
+ *
153
+ * ## Resource tools are always deferred
154
+ *
155
+ * `mcp__<server>__list_resources` and `mcp__<server>__read_resource` are
156
+ * built with `deferred(...)` regardless of `options.availability` — a
157
+ * server's resource catalogue is usually not worth showing up front the way
158
+ * its tools are. `Toolset.availability` is a whole-toolset default, so this
159
+ * function returns two toolsets to mount together: the main tools and the
160
+ * deferred resource pair. It checks name collisions across both entries
161
+ * before returning and after a notification refresh.
162
+ *
163
+ * ## Change and reconnection
164
+ *
165
+ * `onChange` fires when a `tools/list_changed`, `prompts/list_changed` or
166
+ * `resources/list_changed` notification arrives — each gated on the server
167
+ * having advertised that capability's own `listChanged: true`, so a server
168
+ * that never declared it cannot make this toolset re-fetch by sending the
169
+ * notification anyway — and after every successful reconnection (the
170
+ * server may have restarted with a different tool set, which is not a
171
+ * notification at all, and may have negotiated different capabilities
172
+ * entirely — including resources, which is why whether the two resource
173
+ * tools are currently present is re-checked on every reconnect rather than
174
+ * decided once at construction). `close()` stops the reconnect supervisor
175
+ * this function owns and releases the `onNotification` subscription it
176
+ * registered; pass `reconnect: { enabled: false }` when the caller runs its
177
+ * own supervisor against the same client, to avoid two supervisors racing to
178
+ * reconnect it.
179
+ */
180
+ export async function mcpToolset(client, options = {}) {
181
+ const initial = client.getState();
182
+ if (initial.status !== 'connected') {
183
+ throw new Error(`mcpToolset: the MCP client for "${initial.serverName}" must be connected before its toolset is built (status: "${initial.status}").`);
184
+ }
185
+ const serverName = initial.serverName;
186
+ const readOnlyHintTrusted = options.readOnlyHintTrusted ?? false;
187
+ const log = resolveLogger(options.logger).child({
188
+ [SCOPE_ATTRIBUTE]: 'connector/mcp/mcp-toolset',
189
+ });
190
+ const source = {
191
+ id: options.id ?? `mcp:${serverName}`,
192
+ kind: 'mcp_server',
193
+ name: serverName,
194
+ // The server's own account of how to use it (`instructions`, read off
195
+ // the last `initialize`/discover result) is remote-party text, same as
196
+ // a tool's description — carried here rather than dropped, since a
197
+ // host may choose to surface it (plan.md §4, CLI half).
198
+ ...(initial.serverInstructions !== undefined
199
+ ? { description: initial.serverInstructions }
200
+ : {}),
201
+ mcpServer: { name: serverName, readOnlyHintTrusted },
202
+ };
203
+ const heldToolNames = new Set();
204
+ const discovery = new MCPToolDiscovery([client], {
205
+ policies: { [serverName]: { allow: options.allow, deny: options.deny } },
206
+ onDrift: (event) => {
207
+ for (const name of event.drift.changed)
208
+ heldToolNames.add(name);
209
+ options.onDrift?.(event);
210
+ },
211
+ onRefused: options.onRefused,
212
+ logger: options.logger,
213
+ });
214
+ let toolDefs = [];
215
+ let promptDefs = [];
216
+ let mainTools = [];
217
+ let closed = false;
218
+ const listeners = new Set();
219
+ function rebuildMain() {
220
+ mainTools = [...toolDefs, ...promptDefs];
221
+ }
222
+ async function refreshTools() {
223
+ const discovered = await discovery.discoverFrom(client);
224
+ const previous = new Map(toolDefs.map((definition) => [definition.name, definition]));
225
+ toolDefs = discovered.map((d) => {
226
+ const name = mcpToolsetName(serverName, d.tool.name);
227
+ const admitted = previous.get(name);
228
+ if (admitted && heldToolNames.has(d.tool.name))
229
+ return admitted;
230
+ const base = mcpToolToToolDefinition(d.tool, client, serverName, readOnlyHintTrusted, options.maxRetries);
231
+ return { ...base, name };
232
+ });
233
+ for (const name of heldToolNames) {
234
+ if (!discovered.some((entry) => entry.tool.name === name))
235
+ heldToolNames.delete(name);
236
+ }
237
+ rebuildMain();
238
+ }
239
+ async function refreshPrompts() {
240
+ if (!client.getState().serverCapabilities?.prompts) {
241
+ promptDefs = [];
242
+ rebuildMain();
243
+ return;
244
+ }
245
+ const prompts = await discovery.discoverPromptsFrom(client);
246
+ promptDefs = prompts.map((p) => {
247
+ const base = mcpPromptToToolDefinition(p, client, serverName);
248
+ return { ...base, name: mcpToolsetName(serverName, 'prompt', p.name) };
249
+ });
250
+ rebuildMain();
251
+ }
252
+ const resourceState = {
253
+ client,
254
+ serverName,
255
+ admittedUris: new Set(),
256
+ };
257
+ async function refreshResourceUris() {
258
+ await refreshAdmittedResources(discovery, resourceState);
259
+ }
260
+ // The two resource tool DEFINITIONS are built once, unconditionally — they
261
+ // are inert until `resourceTools` (below) actually includes them. Building
262
+ // them up front, rather than only when the server first supports
263
+ // resources, is what lets a reconnect that negotiates the capability for
264
+ // the FIRST time (see `syncResourceCapability`) expose them without
265
+ // rebuilding the toolset this function returns.
266
+ const resourceToolDefs = buildResourceTools(discovery, resourceState);
267
+ let supportsResources = initial.serverCapabilities?.resources !== undefined;
268
+ let resourceTools = supportsResources ? resourceToolDefs : [];
269
+ /**
270
+ * Re-read whether the server currently supports resources and bring
271
+ * `resourceTools`/`admittedUris` into line with that — called at
272
+ * construction and after every reconnect, never relying on a value
273
+ * captured once. A server that stops advertising the capability loses its
274
+ * resource tools from the next `tools()` snapshot; one that gains it for
275
+ * the first time (a restart with a newer build, say) gets them added.
276
+ */
277
+ async function syncResourceCapability() {
278
+ supportsResources = client.getState().serverCapabilities?.resources !== undefined;
279
+ resourceTools = supportsResources ? resourceToolDefs : [];
280
+ if (supportsResources) {
281
+ await refreshResourceUris();
282
+ }
283
+ else {
284
+ resourceState.admittedUris = new Set();
285
+ }
286
+ }
287
+ await Promise.all([
288
+ refreshTools(),
289
+ refreshPrompts(),
290
+ supportsResources ? refreshResourceUris() : Promise.resolve(),
291
+ ]);
292
+ const assertUnique = () => {
293
+ const names = new Set();
294
+ for (const tool of [...mainTools, ...resourceTools]) {
295
+ if (names.has(tool.name))
296
+ throw new ToolsetConflictError(tool.name, source, source);
297
+ names.add(tool.name);
298
+ }
299
+ };
300
+ assertUnique();
301
+ const notify = () => {
302
+ assertUnique();
303
+ for (const listener of listeners)
304
+ listener();
305
+ };
306
+ const onChange = (listener) => {
307
+ listeners.add(listener);
308
+ return () => listeners.delete(listener);
309
+ };
310
+ // Read fresh on every notification rather than captured once: a
311
+ // reconnect can renegotiate different capabilities, and a stale copy
312
+ // would keep acting on what the PREVIOUS connection advertised.
313
+ const currentCapabilities = () => client.getState().serverCapabilities;
314
+ // A rejection here would otherwise be a genuine unhandled promise
315
+ // rejection: it happens inside a fire-and-forget notification callback,
316
+ // not inside anything a caller of `mcpToolset` is awaiting, so nothing
317
+ // upstream ever gets a chance to catch it. A transient failure on the
318
+ // re-fetch a notification triggers (a network blip, or the connection
319
+ // dropping around the same moment the server notified) is exactly the
320
+ // kind of thing that must be logged, not left to crash the process.
321
+ const onRefreshFailure = (which) => (err) => {
322
+ log.error('Failed to refresh MCP tools after a server notification', {
323
+ [NAMZU.SERVER_NAME]: serverName,
324
+ 'namzu.connector.refresh': which,
325
+ 'exception.message': toErrorMessage(err),
326
+ });
327
+ };
328
+ const unsubscribeNotifications = client.onNotification((method) => {
329
+ if (closed)
330
+ return;
331
+ if (method === 'notifications/tools/list_changed') {
332
+ if (!currentCapabilities()?.tools?.listChanged)
333
+ return;
334
+ void refreshTools().then(notify).catch(onRefreshFailure('tools'));
335
+ }
336
+ else if (method === 'notifications/prompts/list_changed') {
337
+ if (!currentCapabilities()?.prompts?.listChanged)
338
+ return;
339
+ void refreshPrompts().then(notify).catch(onRefreshFailure('prompts'));
340
+ }
341
+ else if (method === 'notifications/resources/list_changed') {
342
+ if (!currentCapabilities()?.resources?.listChanged)
343
+ return;
344
+ void refreshResourceUris().then(notify).catch(onRefreshFailure('resources'));
345
+ }
346
+ });
347
+ const readReconnectOptions = typeof options.reconnect === 'function'
348
+ ? options.reconnect
349
+ : () => options.reconnect ?? {};
350
+ const supervisor = new MCPReconnectSupervisor(client, () => ({
351
+ ...readReconnectOptions(),
352
+ onReconnected: async () => {
353
+ if (closed)
354
+ return;
355
+ // The server may have come back with a different tool set entirely
356
+ // — not a `list_changed` notification, which this reconnected
357
+ // client has not even finished re-subscribing to yet. Re-run every
358
+ // discovery unconditionally, the same as first construction, and
359
+ // re-derive `supportsResources` rather than reuse the value from
360
+ // the FIRST connection: a reconnect can renegotiate capabilities,
361
+ // and a stale copy would keep acting on what the previous
362
+ // connection advertised, the same reasoning `currentCapabilities`
363
+ // above already applies to the `list_changed` gates.
364
+ await Promise.all([refreshTools(), refreshPrompts(), syncResourceCapability()]);
365
+ if (closed)
366
+ return;
367
+ notify();
368
+ await readReconnectOptions().onReconnected?.();
369
+ },
370
+ }));
371
+ supervisor.start();
372
+ const close = async () => {
373
+ if (closed)
374
+ return;
375
+ closed = true;
376
+ unsubscribeNotifications();
377
+ supervisor.stop();
378
+ };
379
+ const mainToolset = {
380
+ source,
381
+ tools: () => mainTools,
382
+ availability: options.availability,
383
+ onChange,
384
+ close,
385
+ };
386
+ const resourceToolset = {
387
+ source,
388
+ // A `let`, not a snapshot: `syncResourceCapability` reassigns this on
389
+ // every reconnect, so a capability that appears or disappears between
390
+ // two calls is visible without rebuilding either returned toolset.
391
+ tools: () => resourceTools,
392
+ onChange,
393
+ close,
394
+ };
395
+ // Keep these as separate ToolManager entries. A Toolset has one availability
396
+ // for all its tools, so merging them would silently activate the resources.
397
+ return [mainToolset, deferred(resourceToolset)];
398
+ }
399
+ //# sourceMappingURL=mcp-toolset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-toolset.js","sourceRoot":"","sources":["../../../src/connector/mcp/mcp-toolset.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,6 @@ export { createConnectorExecuteTool, createConnectorListTool, createConnectorToo
2
2
  export type { ConnectorToolConfig } from './definitions.js';
3
3
  export { connectorMethodToTool, connectorInstanceToTools, allConnectorTools, createConnectorRouterTool, } from './adapter.js';
4
4
  export type { ConnectorRouterInput } from './adapter.js';
5
- export { ConnectorToolRouter } from './router.js';
6
- export type { ConnectorToolStrategy, ConnectorToolRouterConfig } from './router.js';
5
+ export { connectorTools } from './router.js';
6
+ export type { ConnectorToolStrategy, ConnectorTools } from './router.js';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connector/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,GACpB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE3D,OAAO,EACN,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,GACzB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,YAAY,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connector/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,GACpB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE3D,OAAO,EACN,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,GACzB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA"}
@@ -1,4 +1,4 @@
1
1
  export { createConnectorExecuteTool, createConnectorListTool, createConnectorTools, } from './definitions.js';
2
2
  export { connectorMethodToTool, connectorInstanceToTools, allConnectorTools, createConnectorRouterTool, } from './adapter.js';
3
- export { ConnectorToolRouter } from './router.js';
3
+ export { connectorTools } from './router.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connector/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,GACpB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACN,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,GACzB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connector/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,GACpB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACN,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,GACzB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA"}
@@ -1,20 +1,22 @@
1
1
  import type { ConnectorManager } from '../../manager/connector/lifecycle.js';
2
- import type { ToolDefinition, ToolRegistryContract } from '../../types/tool/index.js';
2
+ import type { ToolDefinition } from '../../types/tool/index.js';
3
3
  import { type Logger } from '../../utils/logger.js';
4
4
  export type ConnectorToolStrategy = 'per-method' | 'router';
5
- export interface ConnectorToolRouterConfig {
6
- manager: ConnectorManager;
5
+ export interface ConnectorTools {
7
6
  strategy?: ConnectorToolStrategy;
8
7
  log?: Logger;
9
8
  }
10
- export declare class ConnectorToolRouter {
11
- private manager;
12
- private strategy;
13
- private log;
14
- constructor(config: ConnectorToolRouterConfig);
15
- getTools(): ToolDefinition[];
16
- registerTools(toolRegistry: ToolRegistryContract): string[];
17
- unregisterTools(toolRegistry: ToolRegistryContract, toolNames: string[]): void;
18
- refreshTools(toolRegistry: ToolRegistryContract, previousNames: string[]): string[];
19
- }
9
+ /**
10
+ * Every tool a connector manager's connected instances currently offer.
11
+ *
12
+ * Plain and stateless — a caller wraps the result in `toolset(source, tools)`
13
+ * (`toolsets/toolset.ts`) itself, re-calling this whenever a reconnect or a
14
+ * drift notice (`onMCPToolDrift`-shaped) means the set may have changed. This
15
+ * replaces `ConnectorToolRouter`, whose `registerTools`/`unregisterTools`/
16
+ * `refreshTools` mutated a `ToolRegistryContract` directly (plan.md v3 §2)
17
+ * and had no production caller; a live toolset with its own `onChange` is
18
+ * where that live-refresh story belongs now, not a router bound to a
19
+ * specific registry instance.
20
+ */
21
+ export declare function connectorTools(manager: ConnectorManager, config?: ConnectorTools): ToolDefinition[];
20
22
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/connector/tools/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAGrF,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,uBAAuB,CAAA;AAGlE,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,QAAQ,CAAA;AAE3D,MAAM,WAAW,yBAAyB;IACzC,OAAO,EAAE,gBAAgB,CAAA;IACzB,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,qBAAa,mBAAmB;IAC/B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,GAAG,CAAQ;gBAEP,MAAM,EAAE,yBAAyB;IAM7C,QAAQ,IAAI,cAAc,EAAE;IAqB5B,aAAa,CAAC,YAAY,EAAE,oBAAoB,GAAG,MAAM,EAAE;IAc3D,eAAe,CAAC,YAAY,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAS9E,YAAY,CAAC,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;CAInF"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/connector/tools/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG/D,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,uBAAuB,CAAA;AAGlE,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,QAAQ,CAAA;AAE3D,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC7B,OAAO,EAAE,gBAAgB,EACzB,MAAM,GAAE,cAAmB,GACzB,cAAc,EAAE,CAsBlB"}
@@ -2,60 +2,39 @@ import { toErrorMessage } from '../../utils/error.js';
2
2
  import { SCOPE_ATTRIBUTE } from '../../utils/log/types.js';
3
3
  import { resolveLogger } from '../../utils/logger.js';
4
4
  import { connectorInstanceToTools, createConnectorRouterTool } from './adapter.js';
5
- export class ConnectorToolRouter {
6
- manager;
7
- strategy;
8
- log;
9
- constructor(config) {
10
- this.manager = config.manager;
11
- this.strategy = config.strategy ?? 'per-method';
12
- this.log = resolveLogger(config.log).child({ [SCOPE_ATTRIBUTE]: 'connector/tools/router' });
5
+ /**
6
+ * Every tool a connector manager's connected instances currently offer.
7
+ *
8
+ * Plain and stateless — a caller wraps the result in `toolset(source, tools)`
9
+ * (`toolsets/toolset.ts`) itself, re-calling this whenever a reconnect or a
10
+ * drift notice (`onMCPToolDrift`-shaped) means the set may have changed. This
11
+ * replaces `ConnectorToolRouter`, whose `registerTools`/`unregisterTools`/
12
+ * `refreshTools` mutated a `ToolRegistryContract` directly (plan.md v3 §2)
13
+ * and had no production caller; a live toolset with its own `onChange` is
14
+ * where that live-refresh story belongs now, not a router bound to a
15
+ * specific registry instance.
16
+ */
17
+ export function connectorTools(manager, config = {}) {
18
+ const strategy = config.strategy ?? 'per-method';
19
+ const log = resolveLogger(config.log).child({ [SCOPE_ATTRIBUTE]: 'connector/tools/router' });
20
+ if (strategy === 'router') {
21
+ const connected = manager.listConnectedInstances();
22
+ if (connected.length === 0)
23
+ return [];
24
+ return [createConnectorRouterTool(manager)];
13
25
  }
14
- getTools() {
15
- if (this.strategy === 'router') {
16
- const connected = this.manager.listConnectedInstances();
17
- if (connected.length === 0)
18
- return [];
19
- return [createConnectorRouterTool(this.manager)];
26
+ const tools = [];
27
+ for (const instance of manager.listConnectedInstances()) {
28
+ try {
29
+ tools.push(...connectorInstanceToTools(instance.id, manager));
20
30
  }
21
- const tools = [];
22
- for (const instance of this.manager.listConnectedInstances()) {
23
- try {
24
- tools.push(...connectorInstanceToTools(instance.id, this.manager));
25
- }
26
- catch (err) {
27
- this.log.error('Failed to create tools for a connector instance', {
28
- 'namzu.connector.instance_id': instance.id,
29
- 'exception.message': toErrorMessage(err),
30
- });
31
- }
31
+ catch (err) {
32
+ log.error('Failed to create tools for a connector instance', {
33
+ 'namzu.connector.instance_id': instance.id,
34
+ 'exception.message': toErrorMessage(err),
35
+ });
32
36
  }
33
- return tools;
34
- }
35
- registerTools(toolRegistry) {
36
- const tools = this.getTools();
37
- const names = [];
38
- for (const tool of tools) {
39
- toolRegistry.register(tool);
40
- names.push(tool.name);
41
- }
42
- this.log.info('Registered connector tools', {
43
- 'namzu.connector.tool_count': names.length,
44
- 'namzu.tool.names': names,
45
- });
46
- return names;
47
- }
48
- unregisterTools(toolRegistry, toolNames) {
49
- for (const name of toolNames) {
50
- toolRegistry.unregister(name);
51
- }
52
- this.log.info('Unregistered connector tools', {
53
- 'namzu.connector.tool_count': toolNames.length,
54
- });
55
- }
56
- refreshTools(toolRegistry, previousNames) {
57
- this.unregisterTools(toolRegistry, previousNames);
58
- return this.registerTools(toolRegistry);
59
37
  }
38
+ return tools;
60
39
  }
61
40
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/connector/tools/router.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAe,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAUlF,MAAM,OAAO,mBAAmB;IACvB,OAAO,CAAkB;IACzB,QAAQ,CAAuB;IAC/B,GAAG,CAAQ;IAEnB,YAAY,MAAiC;QAC5C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,YAAY,CAAA;QAC/C,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC,CAAA;IAC5F,CAAC;IAED,QAAQ;QACP,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAA;YACvD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAA;YACrC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QACjD,CAAC;QAED,MAAM,KAAK,GAAqB,EAAE,CAAA;QAClC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;YAC9D,IAAI,CAAC;gBACJ,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;YACnE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iDAAiD,EAAE;oBACjE,6BAA6B,EAAE,QAAQ,CAAC,EAAE;oBAC1C,mBAAmB,EAAE,cAAc,CAAC,GAAG,CAAC;iBACxC,CAAC,CAAA;YACH,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAA;IACb,CAAC;IAED,aAAa,CAAC,YAAkC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC7B,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE;YAC3C,4BAA4B,EAAE,KAAK,CAAC,MAAM;YAC1C,kBAAkB,EAAE,KAAK;SACzB,CAAC,CAAA;QACF,OAAO,KAAK,CAAA;IACb,CAAC;IAED,eAAe,CAAC,YAAkC,EAAE,SAAmB;QACtE,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC9B,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE;YAC7C,4BAA4B,EAAE,SAAS,CAAC,MAAM;SAC9C,CAAC,CAAA;IACH,CAAC;IAED,YAAY,CAAC,YAAkC,EAAE,aAAuB;QACvE,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QACjD,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;IACxC,CAAC;CACD"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/connector/tools/router.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAe,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AASlF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAC7B,OAAyB,EACzB,SAAyB,EAAE;IAE3B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,YAAY,CAAA;IAChD,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC,CAAA;IAE5F,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAA;QAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QACrC,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,KAAK,GAAqB,EAAE,CAAA;IAClC,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,KAAK,CAAC,iDAAiD,EAAE;gBAC5D,6BAA6B,EAAE,QAAQ,CAAC,EAAE;gBAC1C,mBAAmB,EAAE,cAAc,CAAC,GAAG,CAAC;aACxC,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAA;AACb,CAAC"}
@@ -726,13 +726,13 @@ export declare const A2ATaskListSchema: z.ZodObject<{
726
726
  }, "strict", z.ZodTypeAny, {
727
727
  limit: number;
728
728
  state?: "pending" | "running" | "completed" | "failed" | "rejected" | "canceled" | "input-required" | undefined;
729
- contextId?: string | undefined;
730
729
  cursor?: string | undefined;
730
+ contextId?: string | undefined;
731
731
  }, {
732
732
  limit?: number | undefined;
733
733
  state?: "pending" | "running" | "completed" | "failed" | "rejected" | "canceled" | "input-required" | undefined;
734
- contextId?: string | undefined;
735
734
  cursor?: string | undefined;
735
+ contextId?: string | undefined;
736
736
  }>;
737
737
  export declare const A2ATaskCancelSchema: z.ZodObject<{
738
738
  id: z.ZodString;
@@ -1,5 +1,5 @@
1
1
  import type { AgentIdentity } from '../agents/runAgent.js';
2
- import { ToolRegistry } from '../registry/tool/execute.js';
2
+ import type { Toolset } from '../toolsets/types.js';
3
3
  import type { SupervisorAgentConfig } from '../types/agent/supervisor.js';
4
4
  import type { LLMProvider } from '../types/provider/index.js';
5
5
  import type { DirectoryManifest } from './types.js';
@@ -39,7 +39,7 @@ export interface DelegatePlan {
39
39
  readonly manifest: DirectoryManifest;
40
40
  /** The delegate's own instructions, tools and model, already assembled. */
41
41
  readonly systemPrompt: string;
42
- readonly tools: ToolRegistry;
42
+ readonly toolsets: readonly Toolset[];
43
43
  readonly model: string;
44
44
  }
45
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"derive-supervisor.d.ts","sourceRoot":"","sources":["../../src/directory/derive-supervisor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAE7D,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,YAAY,CAAA;AAElE,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;IAC9B,qEAAqE;IACrE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IAC3C;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAC5D,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;CACnD;AAED,MAAM,WAAW,cAAc;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IACtC;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,YAAY,EAAE,CAAA;CAC3C;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACtB;AAsBD;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,qBAAqB,GAC1B,cAAc,CA4EhB"}
1
+ {"version":3,"file":"derive-supervisor.d.ts","sourceRoot":"","sources":["../../src/directory/derive-supervisor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAE7D,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,YAAY,CAAA;AAElE,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;IAC9B,qEAAqE;IACrE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IAC3C;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAC5D,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;CACnD;AAED,MAAM,WAAW,cAAc;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IACtC;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,YAAY,EAAE,CAAA;CAC3C;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACtB;AAyBD;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,qBAAqB,GAC1B,cAAc,CA4EhB"}