@namzu/sdk 32.0.0 → 33.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/CHANGELOG.md +157 -0
  2. package/dist/authorization/gate.d.ts +1 -1
  3. package/dist/authorization/gate.js +1 -1
  4. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  5. package/dist/bridge/a2a/mapper.js +13 -0
  6. package/dist/bridge/a2a/mapper.js.map +1 -1
  7. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  8. package/dist/bridge/sse/mapper.js +3 -0
  9. package/dist/bridge/sse/mapper.js.map +1 -1
  10. package/dist/connector/index.d.ts +1 -1
  11. package/dist/connector/index.d.ts.map +1 -1
  12. package/dist/connector/index.js +1 -1
  13. package/dist/connector/index.js.map +1 -1
  14. package/dist/connector/mcp/adapter.d.ts.map +1 -1
  15. package/dist/connector/mcp/adapter.js +71 -16
  16. package/dist/connector/mcp/adapter.js.map +1 -1
  17. package/dist/connector/mcp/client.d.ts.map +1 -1
  18. package/dist/connector/mcp/client.js +3 -2
  19. package/dist/connector/mcp/client.js.map +1 -1
  20. package/dist/connector/mcp/http-redirect.d.ts +17 -0
  21. package/dist/connector/mcp/http-redirect.d.ts.map +1 -0
  22. package/dist/connector/mcp/http-redirect.js +31 -0
  23. package/dist/connector/mcp/http-redirect.js.map +1 -0
  24. package/dist/connector/mcp/http-sse.d.ts.map +1 -1
  25. package/dist/connector/mcp/http-sse.js +5 -0
  26. package/dist/connector/mcp/http-sse.js.map +1 -1
  27. package/dist/connector/mcp/image-admission.d.ts +16 -0
  28. package/dist/connector/mcp/image-admission.d.ts.map +1 -0
  29. package/dist/connector/mcp/image-admission.js +288 -0
  30. package/dist/connector/mcp/image-admission.js.map +1 -0
  31. package/dist/connector/mcp/stdio.d.ts +13 -0
  32. package/dist/connector/mcp/stdio.d.ts.map +1 -1
  33. package/dist/connector/mcp/stdio.js +66 -23
  34. package/dist/connector/mcp/stdio.js.map +1 -1
  35. package/dist/connector/mcp/streamable-http.d.ts.map +1 -1
  36. package/dist/connector/mcp/streamable-http.js +3 -0
  37. package/dist/connector/mcp/streamable-http.js.map +1 -1
  38. package/dist/constants/tools/index.js +1 -1
  39. package/dist/constants/tools/index.js.map +1 -1
  40. package/dist/execution/base.d.ts +13 -0
  41. package/dist/execution/base.d.ts.map +1 -1
  42. package/dist/execution/base.js +103 -8
  43. package/dist/execution/base.js.map +1 -1
  44. package/dist/execution/errors.d.ts +12 -0
  45. package/dist/execution/errors.d.ts.map +1 -0
  46. package/dist/execution/errors.js +21 -0
  47. package/dist/execution/errors.js.map +1 -0
  48. package/dist/execution/factory.d.ts.map +1 -1
  49. package/dist/execution/factory.js +1 -0
  50. package/dist/execution/factory.js.map +1 -1
  51. package/dist/execution/hybrid.d.ts +5 -0
  52. package/dist/execution/hybrid.d.ts.map +1 -1
  53. package/dist/execution/hybrid.js +36 -16
  54. package/dist/execution/hybrid.js.map +1 -1
  55. package/dist/execution/index.d.ts +1 -0
  56. package/dist/execution/index.d.ts.map +1 -1
  57. package/dist/execution/index.js +1 -0
  58. package/dist/execution/index.js.map +1 -1
  59. package/dist/execution/local.d.ts +13 -0
  60. package/dist/execution/local.d.ts.map +1 -1
  61. package/dist/execution/local.js +145 -19
  62. package/dist/execution/local.js.map +1 -1
  63. package/dist/execution/output.d.ts +27 -0
  64. package/dist/execution/output.d.ts.map +1 -0
  65. package/dist/execution/output.js +105 -0
  66. package/dist/execution/output.js.map +1 -0
  67. package/dist/execution/remote.d.ts +26 -2
  68. package/dist/execution/remote.d.ts.map +1 -1
  69. package/dist/execution/remote.js +86 -15
  70. package/dist/execution/remote.js.map +1 -1
  71. package/dist/plugin/lifecycle.d.ts.map +1 -1
  72. package/dist/plugin/lifecycle.js +9 -3
  73. package/dist/plugin/lifecycle.js.map +1 -1
  74. package/dist/process/kill-tree.d.ts +11 -13
  75. package/dist/process/kill-tree.d.ts.map +1 -1
  76. package/dist/process/kill-tree.js +11 -13
  77. package/dist/process/kill-tree.js.map +1 -1
  78. package/dist/provider/capabilities.d.ts +2 -0
  79. package/dist/provider/capabilities.d.ts.map +1 -1
  80. package/dist/provider/capabilities.js +6 -0
  81. package/dist/provider/capabilities.js.map +1 -1
  82. package/dist/provider/fallback.d.ts.map +1 -1
  83. package/dist/provider/fallback.js +31 -0
  84. package/dist/provider/fallback.js.map +1 -1
  85. package/dist/provider/idle-timeout.d.ts.map +1 -1
  86. package/dist/provider/idle-timeout.js +5 -0
  87. package/dist/provider/idle-timeout.js.map +1 -1
  88. package/dist/provider/retry.d.ts.map +1 -1
  89. package/dist/provider/retry.js +5 -0
  90. package/dist/provider/retry.js.map +1 -1
  91. package/dist/public-runtime.d.ts +2 -2
  92. package/dist/public-runtime.d.ts.map +1 -1
  93. package/dist/public-runtime.js +2 -2
  94. package/dist/public-runtime.js.map +1 -1
  95. package/dist/registry/tool/execute.d.ts +7 -1
  96. package/dist/registry/tool/execute.d.ts.map +1 -1
  97. package/dist/registry/tool/execute.js +201 -54
  98. package/dist/registry/tool/execute.js.map +1 -1
  99. package/dist/run/command-gate.d.ts.map +1 -1
  100. package/dist/run/command-gate.js +11 -0
  101. package/dist/run/command-gate.js.map +1 -1
  102. package/dist/run/workspace-fingerprint.d.ts +4 -4
  103. package/dist/run/workspace-fingerprint.d.ts.map +1 -1
  104. package/dist/run/workspace-fingerprint.js +6 -4
  105. package/dist/run/workspace-fingerprint.js.map +1 -1
  106. package/dist/runtime/bidi/index.d.ts +1 -1
  107. package/dist/runtime/bidi/index.d.ts.map +1 -1
  108. package/dist/runtime/bidi/index.js +1 -1
  109. package/dist/runtime/bidi/index.js.map +1 -1
  110. package/dist/runtime/bidi/session.d.ts +19 -0
  111. package/dist/runtime/bidi/session.d.ts.map +1 -1
  112. package/dist/runtime/bidi/session.js +150 -26
  113. package/dist/runtime/bidi/session.js.map +1 -1
  114. package/dist/runtime/query/executor.d.ts +43 -1
  115. package/dist/runtime/query/executor.d.ts.map +1 -1
  116. package/dist/runtime/query/executor.js +626 -161
  117. package/dist/runtime/query/executor.js.map +1 -1
  118. package/dist/runtime/query/index.d.ts +3 -1
  119. package/dist/runtime/query/index.d.ts.map +1 -1
  120. package/dist/runtime/query/index.js +48 -4
  121. package/dist/runtime/query/index.js.map +1 -1
  122. package/dist/runtime/query/iteration/index.d.ts +10 -0
  123. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  124. package/dist/runtime/query/iteration/index.js +67 -0
  125. package/dist/runtime/query/iteration/index.js.map +1 -1
  126. package/dist/runtime/query/iteration/phases/context.d.ts +5 -0
  127. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  128. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  129. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  130. package/dist/runtime/query/iteration/phases/tool-review.js +84 -22
  131. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  132. package/dist/runtime/query/request-rich-content.d.ts.map +1 -1
  133. package/dist/runtime/query/request-rich-content.js +33 -13
  134. package/dist/runtime/query/request-rich-content.js.map +1 -1
  135. package/dist/runtime/query/result.d.ts.map +1 -1
  136. package/dist/runtime/query/result.js +25 -22
  137. package/dist/runtime/query/result.js.map +1 -1
  138. package/dist/runtime/query/resume-pending.d.ts +5 -1
  139. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  140. package/dist/runtime/query/resume-pending.js +66 -1
  141. package/dist/runtime/query/resume-pending.js.map +1 -1
  142. package/dist/runtime/query/tool-output-budget.d.ts.map +1 -1
  143. package/dist/runtime/query/tool-output-budget.js +45 -16
  144. package/dist/runtime/query/tool-output-budget.js.map +1 -1
  145. package/dist/runtime/query/tooling.d.ts +6 -0
  146. package/dist/runtime/query/tooling.d.ts.map +1 -1
  147. package/dist/runtime/query/tooling.js +4 -0
  148. package/dist/runtime/query/tooling.js.map +1 -1
  149. package/dist/sandbox/provider/local.d.ts.map +1 -1
  150. package/dist/sandbox/provider/local.js +193 -41
  151. package/dist/sandbox/provider/local.js.map +1 -1
  152. package/dist/scheduler/delegating.d.ts +2 -1
  153. package/dist/scheduler/delegating.d.ts.map +1 -1
  154. package/dist/scheduler/delegating.js +6 -5
  155. package/dist/scheduler/delegating.js.map +1 -1
  156. package/dist/scheduler/local.d.ts +2 -1
  157. package/dist/scheduler/local.d.ts.map +1 -1
  158. package/dist/scheduler/local.js +2 -2
  159. package/dist/scheduler/local.js.map +1 -1
  160. package/dist/session/workspace/driver.d.ts +12 -4
  161. package/dist/session/workspace/driver.d.ts.map +1 -1
  162. package/dist/session/workspace/git-worktree.d.ts +17 -3
  163. package/dist/session/workspace/git-worktree.d.ts.map +1 -1
  164. package/dist/session/workspace/git-worktree.js +153 -34
  165. package/dist/session/workspace/git-worktree.js.map +1 -1
  166. package/dist/skills/registry.d.ts +15 -0
  167. package/dist/skills/registry.d.ts.map +1 -1
  168. package/dist/skills/registry.js +33 -0
  169. package/dist/skills/registry.js.map +1 -1
  170. package/dist/tools/builtins/computer-use.d.ts.map +1 -1
  171. package/dist/tools/builtins/computer-use.js +76 -2
  172. package/dist/tools/builtins/computer-use.js.map +1 -1
  173. package/dist/tools/builtins/run-code.d.ts.map +1 -1
  174. package/dist/tools/builtins/run-code.js +9 -11
  175. package/dist/tools/builtins/run-code.js.map +1 -1
  176. package/dist/tools/builtins/skill.d.ts +2 -1
  177. package/dist/tools/builtins/skill.d.ts.map +1 -1
  178. package/dist/tools/builtins/skill.js +250 -6
  179. package/dist/tools/builtins/skill.js.map +1 -1
  180. package/dist/tools/coordinator/agent.d.ts.map +1 -1
  181. package/dist/tools/coordinator/agent.js +100 -30
  182. package/dist/tools/coordinator/agent.js.map +1 -1
  183. package/dist/types/agent/manager.d.ts +1 -1
  184. package/dist/types/agent/manager.d.ts.map +1 -1
  185. package/dist/types/agent/scheduler.d.ts +10 -1
  186. package/dist/types/agent/scheduler.d.ts.map +1 -1
  187. package/dist/types/authorization/index.d.ts +12 -12
  188. package/dist/types/bidi/index.d.ts +19 -2
  189. package/dist/types/bidi/index.d.ts.map +1 -1
  190. package/dist/types/computer-use/index.d.ts +18 -0
  191. package/dist/types/computer-use/index.d.ts.map +1 -1
  192. package/dist/types/connector/execution-context.d.ts +3 -1
  193. package/dist/types/connector/execution-context.d.ts.map +1 -1
  194. package/dist/types/errors/catalog.d.ts.map +1 -1
  195. package/dist/types/errors/catalog.js +13 -6
  196. package/dist/types/errors/catalog.js.map +1 -1
  197. package/dist/types/errors/index.d.ts.map +1 -1
  198. package/dist/types/errors/index.js +21 -8
  199. package/dist/types/errors/index.js.map +1 -1
  200. package/dist/types/execution/index.d.ts +43 -1
  201. package/dist/types/execution/index.d.ts.map +1 -1
  202. package/dist/types/hitl/index.d.ts +11 -0
  203. package/dist/types/hitl/index.d.ts.map +1 -1
  204. package/dist/types/hitl/index.js.map +1 -1
  205. package/dist/types/message/index.d.ts +1 -1
  206. package/dist/types/message/index.d.ts.map +1 -1
  207. package/dist/types/message/index.js +2 -1
  208. package/dist/types/message/index.js.map +1 -1
  209. package/dist/types/plugin/index.d.ts +14 -1
  210. package/dist/types/plugin/index.d.ts.map +1 -1
  211. package/dist/types/plugin/index.js +1 -0
  212. package/dist/types/plugin/index.js.map +1 -1
  213. package/dist/types/provider/config.d.ts +9 -0
  214. package/dist/types/provider/config.d.ts.map +1 -1
  215. package/dist/types/provider/interface.d.ts +14 -0
  216. package/dist/types/provider/interface.d.ts.map +1 -1
  217. package/dist/types/run/events.d.ts +17 -0
  218. package/dist/types/run/events.d.ts.map +1 -1
  219. package/dist/types/run/events.js.map +1 -1
  220. package/dist/types/sandbox/index.d.ts +15 -10
  221. package/dist/types/sandbox/index.d.ts.map +1 -1
  222. package/dist/types/sandbox/index.js.map +1 -1
  223. package/dist/types/tool/index.d.ts +77 -6
  224. package/dist/types/tool/index.d.ts.map +1 -1
  225. package/dist/types/tool/index.js.map +1 -1
  226. package/dist/types/tool/presentation.d.ts +6 -2
  227. package/dist/types/tool/presentation.d.ts.map +1 -1
  228. package/dist/types/workspace/ref.d.ts +5 -0
  229. package/dist/types/workspace/ref.d.ts.map +1 -1
  230. package/dist/utils/abort.d.ts +8 -0
  231. package/dist/utils/abort.d.ts.map +1 -1
  232. package/dist/utils/abort.js +16 -0
  233. package/dist/utils/abort.js.map +1 -1
  234. package/package.json +4 -4
  235. package/src/authorization/gate.ts +1 -1
  236. package/src/bridge/a2a/mapper.ts +23 -4
  237. package/src/bridge/sse/mapper.ts +3 -0
  238. package/src/connector/index.ts +2 -0
  239. package/src/connector/mcp/adapter.ts +82 -21
  240. package/src/connector/mcp/client.ts +2 -1
  241. package/src/connector/mcp/http-redirect.ts +32 -0
  242. package/src/connector/mcp/http-sse.ts +5 -0
  243. package/src/connector/mcp/image-admission.ts +272 -0
  244. package/src/connector/mcp/stdio.ts +63 -21
  245. package/src/connector/mcp/streamable-http.ts +3 -0
  246. package/src/constants/tools/index.ts +1 -1
  247. package/src/execution/base.ts +124 -7
  248. package/src/execution/errors.ts +24 -0
  249. package/src/execution/factory.ts +1 -0
  250. package/src/execution/hybrid.ts +47 -16
  251. package/src/execution/index.ts +1 -0
  252. package/src/execution/local.ts +164 -19
  253. package/src/execution/output.ts +104 -0
  254. package/src/execution/remote.ts +122 -17
  255. package/src/plugin/lifecycle.ts +9 -3
  256. package/src/process/kill-tree.ts +11 -13
  257. package/src/provider/capabilities.ts +10 -0
  258. package/src/provider/fallback.ts +39 -0
  259. package/src/provider/idle-timeout.ts +8 -0
  260. package/src/provider/retry.ts +8 -0
  261. package/src/public-runtime.ts +7 -1
  262. package/src/registry/tool/execute.ts +230 -64
  263. package/src/run/command-gate.ts +12 -0
  264. package/src/run/workspace-fingerprint.ts +5 -4
  265. package/src/runtime/bidi/index.ts +1 -1
  266. package/src/runtime/bidi/session.ts +177 -28
  267. package/src/runtime/query/executor.ts +769 -163
  268. package/src/runtime/query/index.ts +58 -7
  269. package/src/runtime/query/iteration/index.ts +72 -0
  270. package/src/runtime/query/iteration/phases/context.ts +5 -0
  271. package/src/runtime/query/iteration/phases/tool-review.ts +87 -23
  272. package/src/runtime/query/request-rich-content.ts +39 -14
  273. package/src/runtime/query/result.ts +25 -23
  274. package/src/runtime/query/resume-pending.ts +83 -1
  275. package/src/runtime/query/tool-output-budget.ts +52 -17
  276. package/src/runtime/query/tooling.ts +10 -0
  277. package/src/sandbox/provider/local.ts +213 -45
  278. package/src/scheduler/delegating.ts +6 -5
  279. package/src/scheduler/local.ts +3 -2
  280. package/src/session/workspace/driver.ts +12 -4
  281. package/src/session/workspace/git-worktree.ts +173 -34
  282. package/src/skills/registry.ts +47 -0
  283. package/src/tools/builtins/computer-use.ts +86 -2
  284. package/src/tools/builtins/run-code.ts +9 -11
  285. package/src/tools/builtins/skill.ts +325 -7
  286. package/src/tools/coordinator/agent.ts +108 -33
  287. package/src/types/agent/manager.ts +1 -1
  288. package/src/types/agent/scheduler.ts +10 -1
  289. package/src/types/bidi/index.ts +19 -2
  290. package/src/types/computer-use/index.ts +19 -0
  291. package/src/types/connector/execution-context.ts +3 -0
  292. package/src/types/errors/catalog.ts +14 -6
  293. package/src/types/errors/index.ts +22 -8
  294. package/src/types/execution/index.ts +46 -1
  295. package/src/types/hitl/index.ts +11 -0
  296. package/src/types/message/index.ts +3 -2
  297. package/src/types/plugin/index.ts +15 -0
  298. package/src/types/provider/config.ts +9 -0
  299. package/src/types/provider/interface.ts +18 -0
  300. package/src/types/run/events.ts +17 -3
  301. package/src/types/sandbox/index.ts +15 -10
  302. package/src/types/tool/index.ts +85 -6
  303. package/src/types/tool/presentation.ts +10 -3
  304. package/src/types/workspace/ref.ts +5 -0
  305. package/src/utils/abort.ts +18 -0
@@ -1 +1 @@
1
- {"version":3,"file":"computer-use.js","sourceRoot":"","sources":["../../../src/tools/builtins/computer-use.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"computer-use.js","sourceRoot":"","sources":["../../../src/tools/builtins/computer-use.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-code.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/run-code.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AA0CxE,eAAO,MAAM,kBAAkB,aAAa,CAAA;AAE5C,MAAM,WAAW,kBAAkB;IAClC,gDAAgD;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAChC;AAKD,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,kBAAuB;;;GA2GhE"}
1
+ {"version":3,"file":"run-code.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/run-code.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AA0CxE,eAAO,MAAM,kBAAkB,aAAa,CAAA;AAE5C,MAAM,WAAW,kBAAkB;IAClC,gDAAgD;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAChC;AAKD,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,kBAAuB;;;GAyGhE"}
@@ -10,12 +10,12 @@ import { defineTool } from '../defineTool.js';
10
10
  * loop cannot reach further than the twenty calls could have.
11
11
  *
12
12
  * **The program's reach is the RUN's reach, and nothing wider.** Every
13
- * capability it can call is a tool already in this run's registry, already
14
- * narrowed by the turn's `allowedTools`, already subject to the same
15
- * dispatch that a model-issued call goes through the permission gate, the
16
- * approval policy, the audit record. There is no second path: the runtime
17
- * hands the host a name and an input, and the host does exactly what it
18
- * would have done for a `tool_use` block.
13
+ * capability it can call is a tool already in this run's registry and
14
+ * narrowed by the turn's `allowedTools`. The host dispatch records every
15
+ * child in the run and applies the run's operator authorization gate. An
16
+ * explicit allow proceeds; a denial or an undecided child fails closed and
17
+ * leaves a durable refusal, because an already-executing parent cannot open
18
+ * a second durable human-review turn on the program's behalf.
19
19
  *
20
20
  * Opt-in, and not in the default builtin set. A run that does not need
21
21
  * model-authored control flow should not have a way to execute
@@ -73,11 +73,9 @@ export function buildRunCodeTool(options = {}) {
73
73
  maxOutputBytes: options.maxOutputBytes ?? DEFAULT_MAX_OUTPUT,
74
74
  ...(context.abortSignal ? { signal: context.abortSignal } : {}),
75
75
  onHostCall: async (request, operation) => {
76
- // Through the SAME registry, with the SAME context. Not a
77
- // parallel dispatch path: a second path is a second place
78
- // for the permission gate to be forgotten, and the one that
79
- // forgot it would be the one a model reached through a
80
- // program.
76
+ // Through the run-owned nested dispatch: registry narrowing,
77
+ // operator authorization, audit/event lineage and invocation
78
+ // cancellation remain host-owned rather than worker-owned.
81
79
  try {
82
80
  const toolResult = await dispatch(request.name, request.input, {
83
81
  signal: operation.signal,
@@ -1 +1 @@
1
- {"version":3,"file":"run-code.js","sourceRoot":"","sources":["../../../src/tools/builtins/run-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-code.js","sourceRoot":"","sources":["../../../src/tools/builtins/run-code.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  export declare function parseAllowedTools(declared: string | undefined): readonly string[] | undefined;
10
10
  export declare const SKILL_TOOL_NAME = "skill";
11
11
  export declare const SkillTool: import("../../public-types.js").ToolDefinition<{
12
- name: string;
12
+ name?: string | undefined;
13
+ cursor?: string | undefined;
13
14
  }>;
14
15
  //# sourceMappingURL=skill.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/skill.ts"],"names":[],"mappings":"AA8BA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAW7F;AAED,eAAO,MAAM,eAAe,UAAU,CAAA;AAEtC,eAAO,MAAM,SAAS;;EAgFpB,CAAA"}
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/skill.ts"],"names":[],"mappings":"AAyOA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAW7F;AAED,eAAO,MAAM,eAAe,UAAU,CAAA;AAEtC,eAAO,MAAM,SAAS;;;EAmMpB,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { createHash } from 'node:crypto';
1
2
  import { z } from 'zod';
2
3
  import { isInvocableBy, skillInvocation } from '../../types/skills/index.js';
3
4
  import { defineTool } from '../defineTool.js';
@@ -20,8 +21,151 @@ const inputSchema = z.object({
20
21
  name: z
21
22
  .string()
22
23
  .min(1)
23
- .describe('The skill to load, exactly as listed in the available-skills manifest.'),
24
+ .optional()
25
+ .describe('The skill to load, exactly as listed in the available-skills manifest. Omit it to list model-invocable skills.'),
26
+ cursor: z
27
+ .string()
28
+ .max(160)
29
+ .optional()
30
+ .describe('Opaque continuation cursor returned by an earlier call in the same mode.'),
24
31
  });
32
+ const CURSOR_PATTERN = /^v1\.([1-9][0-9]*)\.([A-Za-z0-9_-]{43})$/;
33
+ const LIST_CURSOR_PATTERN = /^v1\.list\.(0|[1-9][0-9]*)\.([01])\.([A-Za-z0-9_-]{43})$/;
34
+ const MAX_SKILLS_PER_PAGE = 20;
35
+ const OVERSIZED_CATALOG_WARNING = 'Some skills were omitted because their metadata is too large for this response budget.';
36
+ function snapshotDigest(snapshot) {
37
+ return createHash('sha256')
38
+ .update(JSON.stringify({
39
+ version: 1,
40
+ name: snapshot.name,
41
+ body: snapshot.body,
42
+ allowedTools: snapshot.allowedTools ?? null,
43
+ invocation: snapshot.invocation,
44
+ }))
45
+ .digest('base64url');
46
+ }
47
+ function cursorFor(offset, digest) {
48
+ return `v1.${offset}.${digest}`;
49
+ }
50
+ function parseCursor(cursor) {
51
+ const match = CURSOR_PATTERN.exec(cursor);
52
+ if (!match)
53
+ return undefined;
54
+ const offset = Number(match[1]);
55
+ if (!Number.isSafeInteger(offset))
56
+ return undefined;
57
+ return { offset, digest: match[2] ?? '' };
58
+ }
59
+ function listCursorFor(offset, warned, digest) {
60
+ return `v1.list.${offset}.${warned ? 1 : 0}.${digest}`;
61
+ }
62
+ function parseListCursor(cursor) {
63
+ const match = LIST_CURSOR_PATTERN.exec(cursor);
64
+ if (!match)
65
+ return undefined;
66
+ const offset = Number(match[1]);
67
+ if (!Number.isSafeInteger(offset))
68
+ return undefined;
69
+ return { offset, warned: match[2] === '1', digest: match[3] ?? '' };
70
+ }
71
+ function activeOutputCap(maxChars) {
72
+ return maxChars !== undefined && maxChars > 0 ? maxChars : undefined;
73
+ }
74
+ function listDigest(skills, maxChars) {
75
+ return createHash('sha256')
76
+ .update(JSON.stringify({ version: 1, kind: 'list', maxChars: maxChars ?? null, skills }))
77
+ .digest('base64url');
78
+ }
79
+ function serializeListPage(page) {
80
+ return JSON.stringify(page);
81
+ }
82
+ function fitsListBudget(page, maxChars) {
83
+ return maxChars === undefined || serializeListPage(page).length <= maxChars;
84
+ }
85
+ function pageSkillCatalog(input) {
86
+ const { skills, digest, start, warningAlreadyShown, maxChars } = input;
87
+ const retained = [];
88
+ let omitted = false;
89
+ let hasRetainedLater = false;
90
+ // Work backwards so the final retained entry is tested without a cursor.
91
+ // A last entry that fits by itself must not be dropped merely because an
92
+ // earlier page will need a continuation token to reach it.
93
+ for (let index = skills.length - 1; index >= start; index -= 1) {
94
+ const skill = skills[index];
95
+ if (!skill)
96
+ continue;
97
+ const nextCursor = hasRetainedLater ? listCursorFor(index + 1, true, digest) : null;
98
+ if (fitsListBudget({ skills: [skill], warnings: [], nextCursor }, maxChars)) {
99
+ retained.push({ index, skill });
100
+ hasRetainedLater = true;
101
+ }
102
+ else {
103
+ omitted = true;
104
+ }
105
+ }
106
+ retained.reverse();
107
+ const warning = omitted && !warningAlreadyShown ? [OVERSIZED_CATALOG_WARNING] : [];
108
+ let count = Math.min(MAX_SKILLS_PER_PAGE, retained.length);
109
+ while (count > 0) {
110
+ const selected = retained.slice(0, count);
111
+ const last = selected.at(-1);
112
+ const hasMore = count < retained.length;
113
+ const page = {
114
+ skills: selected.map((entry) => entry.skill),
115
+ warnings: warning,
116
+ nextCursor: hasMore && last
117
+ ? listCursorFor(last.index + 1, warningAlreadyShown || warning.length > 0, digest)
118
+ : null,
119
+ };
120
+ if (fitsListBudget(page, maxChars))
121
+ return page;
122
+ count -= 1;
123
+ }
124
+ if (warning.length > 0) {
125
+ const page = {
126
+ skills: [],
127
+ warnings: warning,
128
+ nextCursor: retained.length > 0 ? listCursorFor(start, true, digest) : null,
129
+ };
130
+ if (fitsListBudget(page, maxChars))
131
+ return page;
132
+ }
133
+ const empty = { skills: [], warnings: [], nextCursor: null };
134
+ return retained.length === 0 && fitsListBudget(empty, maxChars) ? empty : undefined;
135
+ }
136
+ function isCodePointBoundary(text, index) {
137
+ if (index <= 0 || index >= text.length)
138
+ return true;
139
+ const before = text.charCodeAt(index - 1);
140
+ const after = text.charCodeAt(index);
141
+ return !(before >= 0xd800 && before <= 0xdbff && after >= 0xdc00 && after <= 0xdfff);
142
+ }
143
+ function boundaryAtOrBefore(text, index) {
144
+ const bounded = Math.max(0, Math.min(text.length, index));
145
+ return isCodePointBoundary(text, bounded) ? bounded : bounded - 1;
146
+ }
147
+ function continuationNotice(name, cursor) {
148
+ return `\n\n[More skill instructions remain. Call skill again with name "${name}" and cursor "${cursor}" before acting.]`;
149
+ }
150
+ function pageSkillBody(input) {
151
+ const { snapshot, digest, start, notice, maxChars } = input;
152
+ const remaining = `${snapshot.body.slice(start)}${notice}`;
153
+ if (maxChars === undefined || maxChars <= 0 || remaining.length <= maxChars) {
154
+ return { output: remaining };
155
+ }
156
+ // Estimate once, then remove exactly the overflow until the page fits.
157
+ // The cursor grows only at powers of ten, so this converges in a handful
158
+ // of steps without allocating an index for every character in a large file.
159
+ let end = boundaryAtOrBefore(snapshot.body, Math.min(snapshot.body.length - 1, start + maxChars));
160
+ while (end > start) {
161
+ const nextCursor = cursorFor(end, digest);
162
+ const output = `${snapshot.body.slice(start, end)}${continuationNotice(snapshot.name, nextCursor)}${notice}`;
163
+ if (output.length <= maxChars)
164
+ return { output, nextCursor };
165
+ end = boundaryAtOrBefore(snapshot.body, end - Math.max(1, output.length - maxChars));
166
+ }
167
+ return undefined;
168
+ }
25
169
  /**
26
170
  * `allowed-tools` as a list.
27
171
  *
@@ -46,7 +190,7 @@ export function parseAllowedTools(declared) {
46
190
  export const SKILL_TOOL_NAME = 'skill';
47
191
  export const SkillTool = defineTool({
48
192
  name: SKILL_TOOL_NAME,
49
- description: 'Loads the full instructions for a skill listed in the available-skills manifest. Call this before doing work the skill describes; the manifest carries only names and descriptions.',
193
+ description: 'Lists model-invocable skills when called without a name, or loads one skill by its exact listed name. Long lists and bodies return an opaque continuation cursor; keep calling in the same mode with that cursor until no continuation remains. The manifest carries only names and descriptions.',
50
194
  inputSchema,
51
195
  category: 'analysis',
52
196
  permissions: [],
@@ -64,6 +208,64 @@ export const SkillTool = defineTool({
64
208
  error: 'This run has no skills registry, so there is nothing to load. Proceed without the skill.',
65
209
  };
66
210
  }
211
+ if (input.name === undefined) {
212
+ if (!context.skills.catalog) {
213
+ return {
214
+ success: false,
215
+ output: '',
216
+ error: 'This skills registry cannot enumerate model-safe metadata. Use a skill name from the available-skills manifest.',
217
+ };
218
+ }
219
+ const skills = (await context.skills.catalog())
220
+ .filter((entry) => entry.invocation === undefined ||
221
+ entry.invocation === 'model' ||
222
+ entry.invocation === 'both')
223
+ .map((entry) => ({
224
+ name: entry.registeredName,
225
+ description: entry.description,
226
+ location: entry.location,
227
+ ...(entry.allowedTools === undefined ? {} : { allowedTools: entry.allowedTools }),
228
+ }));
229
+ const maxChars = activeOutputCap(context.maxToolOutputChars);
230
+ const digest = listDigest(skills, maxChars);
231
+ let start = 0;
232
+ let warningAlreadyShown = false;
233
+ if (input.cursor !== undefined) {
234
+ const parsed = parseListCursor(input.cursor);
235
+ if (!parsed || parsed.digest !== digest || parsed.offset >= skills.length) {
236
+ return {
237
+ success: false,
238
+ output: '',
239
+ error: 'The skill-list continuation cursor is stale or invalid. Call skill again without a cursor to read the current catalog.',
240
+ };
241
+ }
242
+ start = parsed.offset;
243
+ warningAlreadyShown = parsed.warned;
244
+ }
245
+ const page = pageSkillCatalog({
246
+ skills,
247
+ digest,
248
+ start,
249
+ warningAlreadyShown,
250
+ maxChars,
251
+ });
252
+ if (!page) {
253
+ return {
254
+ success: false,
255
+ output: '',
256
+ error: 'The model-visible tool-output budget is too small to list skill metadata safely. Increase maxToolOutputChars and retry.',
257
+ };
258
+ }
259
+ return {
260
+ success: true,
261
+ output: serializeListPage(page),
262
+ data: {
263
+ kind: 'list',
264
+ count: page.skills.length,
265
+ ...(page.nextCursor === null ? {} : { nextCursor: page.nextCursor }),
266
+ },
267
+ };
268
+ }
67
269
  // The registry answers with a load RESULT, not a skill — the shape
68
270
  // mirrors the implementation rather than an adapter, so there is
69
271
  // nothing between them to drift.
@@ -80,6 +282,7 @@ export const SkillTool = defineTool({
80
282
  };
81
283
  }
82
284
  const skill = loaded.skill;
285
+ const invocation = skillInvocation(skill);
83
286
  if (!isInvocableBy(skill, 'model')) {
84
287
  // Reachable even though the manifest omits it: the model can name
85
288
  // anything, and a check that only filtered the listing would be a
@@ -92,6 +295,49 @@ export const SkillTool = defineTool({
92
295
  };
93
296
  }
94
297
  const allowed = parseAllowedTools(skill.metadata.allowedTools);
298
+ const snapshot = {
299
+ name: input.name,
300
+ body: skill.body ?? '(this skill has no body)',
301
+ allowedTools: allowed,
302
+ invocation,
303
+ };
304
+ const digest = snapshotDigest(snapshot);
305
+ let start = 0;
306
+ if (input.cursor !== undefined) {
307
+ const parsed = parseCursor(input.cursor);
308
+ if (!parsed ||
309
+ parsed.digest !== digest ||
310
+ parsed.offset >= snapshot.body.length ||
311
+ !isCodePointBoundary(snapshot.body, parsed.offset)) {
312
+ return {
313
+ success: false,
314
+ output: '',
315
+ error: `The continuation cursor for "${input.name}" is stale or invalid. Call skill again without a cursor to read the current instructions.`,
316
+ };
317
+ }
318
+ start = parsed.offset;
319
+ }
320
+ const notice = allowed === undefined
321
+ ? ''
322
+ : `\n\n[While following this skill, restrict yourself to: ${allowed.length > 0 ? allowed.join(', ') : '(no tools)'}. This takes effect from your next turn.]`;
323
+ const page = pageSkillBody({
324
+ snapshot,
325
+ digest,
326
+ start,
327
+ notice,
328
+ maxChars: context.maxToolOutputChars,
329
+ });
330
+ if (!page) {
331
+ return {
332
+ success: false,
333
+ output: '',
334
+ error: `The model-visible tool-output budget is too small to read "${input.name}" safely. Increase maxToolOutputChars and retry.`,
335
+ };
336
+ }
337
+ // Cursor and policy validation must finish before this mutation. A
338
+ // continuation is bound to the body AND its effective authorization
339
+ // metadata, so an edit to allowed-tools or invocation cannot widen the
340
+ // next batch under an old cursor.
95
341
  if (allowed !== undefined) {
96
342
  // Adopted, not merely announced. The notice below tells the model
97
343
  // what happened; this is what makes it true whether or not the
@@ -104,15 +350,13 @@ export const SkillTool = defineTool({
104
350
  // advice.
105
351
  context.adoptSkillScope?.({ skill: skill.metadata.name, allowedTools: allowed });
106
352
  }
107
- const notice = allowed === undefined
108
- ? ''
109
- : `\n\n[While following this skill, restrict yourself to: ${allowed.length > 0 ? allowed.join(', ') : '(no tools)'}. This takes effect from your next turn.]`;
110
353
  return {
111
354
  success: true,
112
- output: `${skill.body ?? '(this skill has no body)'}${notice}`,
355
+ output: page.output,
113
356
  data: {
114
357
  skill: skill.metadata.name,
115
358
  ...(allowed === undefined ? {} : { allowedTools: allowed }),
359
+ ...(page.nextCursor === undefined ? {} : { nextCursor: page.nextCursor }),
116
360
  },
117
361
  };
118
362
  },
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/tools/builtins/skill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/tools/builtins/skill.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/tools/coordinator/agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAM/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,aAAa,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,eAAe,EAAE,MAAM,EAAE,CAAA;IAEzB,cAAc,CAAC,EAAE,oBAAoB,CAAA;IAErC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,cAAc,CA4LrE"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/tools/coordinator/agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,KAAK,EAAiC,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAClG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAM/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,aAAa,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,eAAe,EAAE,MAAM,EAAE,CAAA;IAEzB,cAAc,CAAC,EAAE,oBAAoB,CAAA;IAErC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,cAAc,CA8LrE"}
@@ -80,37 +80,40 @@ export function buildAgentTool(opts) {
80
80
  error: `Unknown subagent_type "${agentId}" — choose one of: ${agentIds.join(', ')}`,
81
81
  };
82
82
  }
83
- const handle = await gateway.createTask({
84
- agentId,
85
- prompt,
86
- workingDirectory: cwd,
87
- runtimeContext: opts.runtimeContext,
88
- // Hang the child off the executing tool's span, so the
89
- // delegation appears inside the turn that asked for it rather
90
- // than as a disconnected root trace. `create_task` has done
91
- // this all along; this tool the kernel's other delegation
92
- // surface, and the one it exports as the canonical shape —
93
- // did not.
94
- ...(context.parentSpan ? { parentSpan: context.parentSpan } : {}),
95
- // The parent's environment, which is the whole point of setting
96
- // one: a delegate that cannot see it runs against different
97
- // services than the run that launched it, silently.
98
- // `ToolContext.env` is the parent's own resolved map, per run.
99
- ...(Object.keys(context.env ?? {}).length > 0
100
- ? { configOverrides: { env: context.env } }
101
- : {}),
102
- });
103
- onTaskLaunched?.(handle.taskId, {
104
- agentId,
105
- description,
106
- // Same canonical-envelope plumbing as coordinator/index.ts
107
- // (ses_009-task-notification-envelope). For Agent-tool path
108
- // the subagent run is awaited synchronously below, so this
109
- // id is only used if a probe / hook unexpectedly forks the
110
- // completion to the background notification channel.
111
- originalToolUseId: context.toolUseId,
83
+ const { handle, completed } = await runBlockingAgentTask({
84
+ gateway,
85
+ signal: context.abortSignal,
86
+ create: {
87
+ agentId,
88
+ prompt,
89
+ workingDirectory: cwd,
90
+ runtimeContext: opts.runtimeContext,
91
+ // Hang the child off the executing tool's span, so the
92
+ // delegation appears inside the turn that asked for it rather
93
+ // than as a disconnected root trace. `create_task` has done
94
+ // this all along; this tool the kernel's other delegation
95
+ // surface, and the one it exports as the canonical shape
96
+ // did not.
97
+ ...(context.parentSpan ? { parentSpan: context.parentSpan } : {}),
98
+ // The parent's environment, which is the whole point of setting
99
+ // one: a delegate that cannot see it runs against different
100
+ // services than the run that launched it, silently.
101
+ // `ToolContext.env` is the parent's own resolved map, per run.
102
+ ...(Object.keys(context.env ?? {}).length > 0
103
+ ? { configOverrides: { env: context.env } }
104
+ : {}),
105
+ },
106
+ onCreated: (handle) => onTaskLaunched?.(handle.taskId, {
107
+ agentId,
108
+ description,
109
+ // Same canonical-envelope plumbing as coordinator/index.ts
110
+ // (ses_009-task-notification-envelope). For Agent-tool path
111
+ // the subagent run is awaited synchronously below, so this
112
+ // id is only used if a probe / hook unexpectedly forks the
113
+ // completion to the background notification channel.
114
+ originalToolUseId: context.toolUseId,
115
+ }),
112
116
  });
113
- const completed = await gateway.waitForTask(handle.taskId);
114
117
  // Both authorities must agree — see `taskSucceeded` for which two
115
118
  // and why either alone is wrong. The reasoning used to live here
116
119
  // alone, which is exactly how `create_task` came to ship without
@@ -176,4 +179,71 @@ export function buildAgentTool(opts) {
176
179
  },
177
180
  });
178
181
  }
182
+ /**
183
+ * Own a blocking child from before creation until its terminal handle.
184
+ *
185
+ * The late-create branch is load-bearing. `createTask()` can be inside an
186
+ * asynchronous workspace/config build when its parent is cancelled. Racing
187
+ * that await lets the parent settle promptly, but the eventual handle still
188
+ * has to be cancelled or the task is born after its authority disappeared.
189
+ */
190
+ async function runBlockingAgentTask(input) {
191
+ const { gateway, signal } = input;
192
+ signal.throwIfAborted();
193
+ let handle;
194
+ let cancellationRequested = false;
195
+ let taskCancellationAttempted = false;
196
+ let rejectAbort = () => { };
197
+ const aborted = new Promise((_resolve, reject) => {
198
+ rejectAbort = reject;
199
+ });
200
+ const cancel = (task) => {
201
+ if (taskCancellationAttempted)
202
+ return;
203
+ taskCancellationAttempted = true;
204
+ try {
205
+ gateway.cancelTask(task.taskId, 'parent');
206
+ }
207
+ catch {
208
+ // Parent cancellation is authoritative even when a host scheduler
209
+ // cannot honour cancellation for its delegate. Do not replace the
210
+ // parent's exact abort reason with a secondary capability error.
211
+ }
212
+ };
213
+ const onAbort = () => {
214
+ cancellationRequested = true;
215
+ if (handle)
216
+ cancel(handle);
217
+ rejectAbort(signal.reason);
218
+ };
219
+ signal.addEventListener('abort', onAbort, { once: true });
220
+ if (signal.aborted)
221
+ onAbort();
222
+ const creation = gateway.createTask(input.create);
223
+ // The abort race can win first. Observe the losing creation promise and
224
+ // cancel its eventual task in `finally` rather than leaving a rejection or
225
+ // late child detached.
226
+ creation.catch(() => { });
227
+ try {
228
+ handle = await Promise.race([creation, aborted]);
229
+ if (cancellationRequested || signal.aborted) {
230
+ cancel(handle);
231
+ signal.throwIfAborted();
232
+ }
233
+ input.onCreated?.(handle);
234
+ const completed = await Promise.race([gateway.waitForTask(handle.taskId), aborted]);
235
+ return { handle, completed };
236
+ }
237
+ catch (error) {
238
+ if (handle)
239
+ cancel(handle);
240
+ throw error;
241
+ }
242
+ finally {
243
+ if (!handle && cancellationRequested) {
244
+ void creation.then(cancel, () => { });
245
+ }
246
+ signal.removeEventListener('abort', onAbort);
247
+ }
248
+ }
179
249
  //# sourceMappingURL=agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/tools/coordinator/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/tools/coordinator/agent.ts"],"names":[],"mappings":"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"}