@evalops/maestro 0.10.50 → 0.10.53

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 (1825) hide show
  1. package/README.md +1 -3
  2. package/dist/agent/agent-outcome.d.ts +54 -0
  3. package/dist/agent/agent-outcome.d.ts.map +1 -0
  4. package/dist/agent/agent-outcome.js +142 -0
  5. package/dist/agent/agent-outcome.js.map +1 -0
  6. package/dist/agent/agent-resume.d.ts.map +1 -1
  7. package/dist/agent/agent-resume.js +3 -3
  8. package/dist/agent/agent-resume.js.map +1 -1
  9. package/dist/agent/agent-run-summary.d.ts +37 -0
  10. package/dist/agent/agent-run-summary.d.ts.map +1 -0
  11. package/dist/agent/agent-run-summary.js +15 -0
  12. package/dist/agent/agent-run-summary.js.map +1 -0
  13. package/dist/agent/agent-work-board.d.ts +82 -0
  14. package/dist/agent/agent-work-board.d.ts.map +1 -0
  15. package/dist/agent/agent-work-board.js +312 -0
  16. package/dist/agent/agent-work-board.js.map +1 -0
  17. package/dist/agent/agent.d.ts.map +1 -1
  18. package/dist/agent/agent.js.map +1 -1
  19. package/dist/agent/auto-compaction.d.ts +7 -2
  20. package/dist/agent/auto-compaction.d.ts.map +1 -1
  21. package/dist/agent/auto-compaction.js +23 -10
  22. package/dist/agent/auto-compaction.js.map +1 -1
  23. package/dist/agent/compaction.d.ts.map +1 -1
  24. package/dist/agent/compaction.js +1 -1
  25. package/dist/agent/compaction.js.map +1 -1
  26. package/dist/agent/context-handoff.d.ts.map +1 -1
  27. package/dist/agent/context-handoff.js +2 -1
  28. package/dist/agent/context-handoff.js.map +1 -1
  29. package/dist/agent/index.d.ts +8 -1
  30. package/dist/agent/index.d.ts.map +1 -1
  31. package/dist/agent/index.js +8 -1
  32. package/dist/agent/index.js.map +1 -1
  33. package/dist/agent/mission-artifacts.d.ts +62 -0
  34. package/dist/agent/mission-artifacts.d.ts.map +1 -0
  35. package/dist/agent/mission-artifacts.js +438 -0
  36. package/dist/agent/mission-artifacts.js.map +1 -0
  37. package/dist/agent/mission-manifest.d.ts +139 -3
  38. package/dist/agent/mission-manifest.d.ts.map +1 -1
  39. package/dist/agent/mission-manifest.js +549 -3
  40. package/dist/agent/mission-manifest.js.map +1 -1
  41. package/dist/agent/mission-store.d.ts +80 -0
  42. package/dist/agent/mission-store.d.ts.map +1 -0
  43. package/dist/agent/mission-store.js +603 -0
  44. package/dist/agent/mission-store.js.map +1 -0
  45. package/dist/agent/modes.d.ts +3 -3
  46. package/dist/agent/modes.d.ts.map +1 -1
  47. package/dist/agent/modes.js +66 -3
  48. package/dist/agent/modes.js.map +1 -1
  49. package/dist/agent/oracle-consultation-policy.d.ts +22 -0
  50. package/dist/agent/oracle-consultation-policy.d.ts.map +1 -0
  51. package/dist/agent/oracle-consultation-policy.js +72 -0
  52. package/dist/agent/oracle-consultation-policy.js.map +1 -0
  53. package/dist/agent/oracle-policy-experiment.d.ts +27 -0
  54. package/dist/agent/oracle-policy-experiment.d.ts.map +1 -0
  55. package/dist/agent/oracle-policy-experiment.js +59 -0
  56. package/dist/agent/oracle-policy-experiment.js.map +1 -0
  57. package/dist/agent/oracle-policy-rollout.d.ts +42 -0
  58. package/dist/agent/oracle-policy-rollout.d.ts.map +1 -0
  59. package/dist/agent/oracle-policy-rollout.js +80 -0
  60. package/dist/agent/oracle-policy-rollout.js.map +1 -0
  61. package/dist/agent/plugin-agent-api.d.ts +13 -0
  62. package/dist/agent/plugin-agent-api.d.ts.map +1 -0
  63. package/dist/agent/plugin-agent-api.js +11 -0
  64. package/dist/agent/plugin-agent-api.js.map +1 -0
  65. package/dist/agent/plugin-agent-loader.d.ts +17 -0
  66. package/dist/agent/plugin-agent-loader.d.ts.map +1 -0
  67. package/dist/agent/plugin-agent-loader.js +81 -0
  68. package/dist/agent/plugin-agent-loader.js.map +1 -0
  69. package/dist/agent/plugin-agent-registry.d.ts +62 -0
  70. package/dist/agent/plugin-agent-registry.d.ts.map +1 -0
  71. package/dist/agent/plugin-agent-registry.js +109 -0
  72. package/dist/agent/plugin-agent-registry.js.map +1 -0
  73. package/dist/agent/profile-loader.d.ts +7 -0
  74. package/dist/agent/profile-loader.d.ts.map +1 -0
  75. package/dist/agent/profile-loader.js +115 -0
  76. package/dist/agent/profile-loader.js.map +1 -0
  77. package/dist/agent/profiles.d.ts +30 -0
  78. package/dist/agent/profiles.d.ts.map +1 -0
  79. package/dist/agent/profiles.js +146 -0
  80. package/dist/agent/profiles.js.map +1 -0
  81. package/dist/agent/prompt-cache.d.ts +0 -4
  82. package/dist/agent/prompt-cache.d.ts.map +1 -1
  83. package/dist/agent/prompt-cache.js +1 -7
  84. package/dist/agent/prompt-cache.js.map +1 -1
  85. package/dist/agent/providers/codex-app-server.d.ts.map +1 -1
  86. package/dist/agent/providers/codex-app-server.js +1 -3
  87. package/dist/agent/providers/codex-app-server.js.map +1 -1
  88. package/dist/agent/providers/google-gemini-cli.js +204 -107
  89. package/dist/agent/providers/google.js +101 -41
  90. package/dist/agent/providers/scripted.d.ts.map +1 -1
  91. package/dist/agent/providers/scripted.js +1 -3
  92. package/dist/agent/providers/scripted.js.map +1 -1
  93. package/dist/agent/providers/validation.d.ts.map +1 -1
  94. package/dist/agent/providers/validation.js +1 -3
  95. package/dist/agent/providers/validation.js.map +1 -1
  96. package/dist/agent/providers/vertex.js +204 -107
  97. package/dist/agent/routing-receipt.d.ts +34 -0
  98. package/dist/agent/routing-receipt.d.ts.map +1 -0
  99. package/dist/agent/routing-receipt.js +55 -0
  100. package/dist/agent/routing-receipt.js.map +1 -0
  101. package/dist/agent/skill-artifact-metadata.d.ts +14 -0
  102. package/dist/agent/skill-artifact-metadata.d.ts.map +1 -0
  103. package/dist/agent/skill-artifact-metadata.js +49 -0
  104. package/dist/agent/skill-artifact-metadata.js.map +1 -0
  105. package/dist/agent/snapshot-store.d.ts +32 -0
  106. package/dist/agent/snapshot-store.d.ts.map +1 -0
  107. package/dist/agent/snapshot-store.js +195 -0
  108. package/dist/agent/snapshot-store.js.map +1 -0
  109. package/dist/agent/specialist-profiles.d.ts +36 -0
  110. package/dist/agent/specialist-profiles.d.ts.map +1 -0
  111. package/dist/agent/specialist-profiles.js +159 -0
  112. package/dist/agent/specialist-profiles.js.map +1 -0
  113. package/dist/agent/subagent-specs.d.ts +5 -2
  114. package/dist/agent/subagent-specs.d.ts.map +1 -1
  115. package/dist/agent/subagent-specs.js +83 -10
  116. package/dist/agent/subagent-specs.js.map +1 -1
  117. package/dist/agent/swarm/coverage-gate.d.ts +37 -0
  118. package/dist/agent/swarm/coverage-gate.d.ts.map +1 -0
  119. package/dist/agent/swarm/coverage-gate.js +48 -0
  120. package/dist/agent/swarm/coverage-gate.js.map +1 -0
  121. package/dist/agent/swarm/executor.d.ts +1 -0
  122. package/dist/agent/swarm/executor.d.ts.map +1 -1
  123. package/dist/agent/swarm/executor.js +151 -15
  124. package/dist/agent/swarm/executor.js.map +1 -1
  125. package/dist/agent/swarm/orchestrator-prompt.d.ts +25 -0
  126. package/dist/agent/swarm/orchestrator-prompt.d.ts.map +1 -0
  127. package/dist/agent/swarm/orchestrator-prompt.js +48 -0
  128. package/dist/agent/swarm/orchestrator-prompt.js.map +1 -0
  129. package/dist/agent/swarm/plan-parser.d.ts.map +1 -1
  130. package/dist/agent/swarm/plan-parser.js +27 -2
  131. package/dist/agent/swarm/plan-parser.js.map +1 -1
  132. package/dist/agent/swarm/types.d.ts +17 -0
  133. package/dist/agent/swarm/types.d.ts.map +1 -1
  134. package/dist/agent/swarm/types.js.map +1 -1
  135. package/dist/agent/swarm/validation-directive.d.ts +21 -0
  136. package/dist/agent/swarm/validation-directive.d.ts.map +1 -0
  137. package/dist/agent/swarm/validation-directive.js +25 -0
  138. package/dist/agent/swarm/validation-directive.js.map +1 -0
  139. package/dist/agent/token-counter.d.ts +40 -0
  140. package/dist/agent/token-counter.d.ts.map +1 -0
  141. package/dist/agent/token-counter.js +74 -0
  142. package/dist/agent/token-counter.js.map +1 -0
  143. package/dist/agent/transport/events.d.ts +1 -1
  144. package/dist/agent/transport/events.d.ts.map +1 -1
  145. package/dist/agent/transport/events.js +1 -1
  146. package/dist/agent/transport/events.js.map +1 -1
  147. package/dist/agent/transport/tool-execution-bridge.d.ts.map +1 -1
  148. package/dist/agent/transport/tool-execution-bridge.js +4 -1
  149. package/dist/agent/transport/tool-execution-bridge.js.map +1 -1
  150. package/dist/agent/types.d.ts +4 -2
  151. package/dist/agent/types.d.ts.map +1 -1
  152. package/dist/agent/types.js.map +1 -1
  153. package/dist/api/enterprise-routes.d.ts.map +1 -1
  154. package/dist/api/enterprise-routes.js +87 -10
  155. package/dist/api/enterprise-routes.js.map +1 -1
  156. package/dist/api/org-settings-merge.d.ts +12 -0
  157. package/dist/api/org-settings-merge.d.ts.map +1 -0
  158. package/dist/api/org-settings-merge.js +38 -0
  159. package/dist/api/org-settings-merge.js.map +1 -0
  160. package/dist/api/user-settings-merge.d.ts +16 -0
  161. package/dist/api/user-settings-merge.d.ts.map +1 -0
  162. package/dist/api/user-settings-merge.js +37 -0
  163. package/dist/api/user-settings-merge.js.map +1 -0
  164. package/dist/app-server/daemon-lifecycle-api.d.ts.map +1 -1
  165. package/dist/app-server/daemon-lifecycle-api.js +1 -3
  166. package/dist/app-server/daemon-lifecycle-api.js.map +1 -1
  167. package/dist/app-server/external-agent-import-api.d.ts.map +1 -1
  168. package/dist/app-server/external-agent-import-api.js +1 -3
  169. package/dist/app-server/external-agent-import-api.js.map +1 -1
  170. package/dist/app-server/network-governance-api.d.ts.map +1 -1
  171. package/dist/app-server/network-governance-api.js +1 -3
  172. package/dist/app-server/network-governance-api.js.map +1 -1
  173. package/dist/app-server/plugin-bundle-api.d.ts.map +1 -1
  174. package/dist/app-server/plugin-bundle-api.js +2 -3
  175. package/dist/app-server/plugin-bundle-api.js.map +1 -1
  176. package/dist/app-server/policy-control-api.d.ts.map +1 -1
  177. package/dist/app-server/policy-control-api.js +1 -3
  178. package/dist/app-server/policy-control-api.js.map +1 -1
  179. package/dist/app-server/protocol-modes-api.d.ts.map +1 -1
  180. package/dist/app-server/protocol-modes-api.js +1 -3
  181. package/dist/app-server/protocol-modes-api.js.map +1 -1
  182. package/dist/app-server/session-api.d.ts.map +1 -1
  183. package/dist/app-server/session-api.js +15 -2
  184. package/dist/app-server/session-api.js.map +1 -1
  185. package/dist/audit/logger.d.ts +5 -5
  186. package/dist/cli/args.d.ts +4 -0
  187. package/dist/cli/args.d.ts.map +1 -1
  188. package/dist/cli/args.js +33 -1
  189. package/dist/cli/args.js.map +1 -1
  190. package/dist/cli/commands/a2a.d.ts.map +1 -1
  191. package/dist/cli/commands/a2a.js +1 -3
  192. package/dist/cli/commands/a2a.js.map +1 -1
  193. package/dist/cli/commands/mission.d.ts +4 -0
  194. package/dist/cli/commands/mission.d.ts.map +1 -0
  195. package/dist/cli/commands/mission.js +196 -0
  196. package/dist/cli/commands/mission.js.map +1 -0
  197. package/dist/cli/commands/value.d.ts +10 -0
  198. package/dist/cli/commands/value.d.ts.map +1 -0
  199. package/dist/cli/commands/value.js +33 -0
  200. package/dist/cli/commands/value.js.map +1 -0
  201. package/dist/cli/direct-runtime-command.d.ts +1 -0
  202. package/dist/cli/direct-runtime-command.d.ts.map +1 -1
  203. package/dist/cli/direct-runtime-command.js +25 -3
  204. package/dist/cli/direct-runtime-command.js.map +1 -1
  205. package/dist/cli/headless-protocol.d.ts.map +1 -1
  206. package/dist/cli/headless-protocol.js +1 -3
  207. package/dist/cli/headless-protocol.js.map +1 -1
  208. package/dist/cli/headless.d.ts +3 -19
  209. package/dist/cli/headless.d.ts.map +1 -1
  210. package/dist/cli/headless.js +8 -619
  211. package/dist/cli/headless.js.map +1 -1
  212. package/dist/cli/help.d.ts.map +1 -1
  213. package/dist/cli/help.js +13 -0
  214. package/dist/cli/help.js.map +1 -1
  215. package/dist/cli/native-tui-launcher.d.ts +126 -0
  216. package/dist/cli/native-tui-launcher.d.ts.map +1 -0
  217. package/dist/cli/native-tui-launcher.js +425 -0
  218. package/dist/cli/native-tui-launcher.js.map +1 -0
  219. package/dist/cli/rpc-mode.d.ts +3 -27
  220. package/dist/cli/rpc-mode.d.ts.map +1 -1
  221. package/dist/cli/rpc-mode.js +8 -177
  222. package/dist/cli/rpc-mode.js.map +1 -1
  223. package/dist/cli/session.d.ts +11 -19
  224. package/dist/cli/session.d.ts.map +1 -1
  225. package/dist/cli/session.js +6 -64
  226. package/dist/cli/session.js.map +1 -1
  227. package/dist/cli/system-prompt.d.ts.map +1 -1
  228. package/dist/cli/system-prompt.js +38 -7
  229. package/dist/cli/system-prompt.js.map +1 -1
  230. package/dist/cli-command-runtime.d.ts.map +1 -1
  231. package/dist/cli-command-runtime.js +26 -24
  232. package/dist/cli-command-runtime.js.map +1 -1
  233. package/dist/cli-runtime.js +41729 -121859
  234. package/dist/codex/app-server-client.d.ts.map +1 -1
  235. package/dist/codex/app-server-client.js +1 -3
  236. package/dist/codex/app-server-client.js.map +1 -1
  237. package/dist/codex/compatibility.d.ts.map +1 -1
  238. package/dist/codex/compatibility.js +1 -3
  239. package/dist/codex/compatibility.js.map +1 -1
  240. package/dist/codex/subagent-dispatch-table.d.ts +8 -0
  241. package/dist/codex/subagent-dispatch-table.d.ts.map +1 -1
  242. package/dist/codex/subagent-dispatch-table.js +23 -0
  243. package/dist/codex/subagent-dispatch-table.js.map +1 -1
  244. package/dist/config/env-vars.d.ts +12 -0
  245. package/dist/config/env-vars.d.ts.map +1 -1
  246. package/dist/config/env-vars.js +12 -0
  247. package/dist/config/env-vars.js.map +1 -1
  248. package/dist/config/ui-state.d.ts +32 -0
  249. package/dist/config/ui-state.d.ts.map +1 -0
  250. package/dist/config/ui-state.js +88 -0
  251. package/dist/config/ui-state.js.map +1 -0
  252. package/dist/context/manifest.d.ts.map +1 -1
  253. package/dist/context/manifest.js +1 -3
  254. package/dist/context/manifest.js.map +1 -1
  255. package/dist/context/repo-map.d.ts.map +1 -1
  256. package/dist/context/repo-map.js +1 -7
  257. package/dist/context/repo-map.js.map +1 -1
  258. package/dist/context/token-optimizer.d.ts.map +1 -1
  259. package/dist/context/token-optimizer.js +1 -8
  260. package/dist/context/token-optimizer.js.map +1 -1
  261. package/dist/conversation/render-model.d.ts +0 -36
  262. package/dist/conversation/render-model.d.ts.map +1 -1
  263. package/dist/conversation/render-model.js +1 -3
  264. package/dist/conversation/render-model.js.map +1 -1
  265. package/dist/customer-value/ambient-learning.d.ts +75 -0
  266. package/dist/customer-value/ambient-learning.d.ts.map +1 -0
  267. package/dist/customer-value/ambient-learning.js +472 -0
  268. package/dist/customer-value/ambient-learning.js.map +1 -0
  269. package/dist/customer-value/internal-helpers.d.ts +13 -0
  270. package/dist/customer-value/internal-helpers.d.ts.map +1 -0
  271. package/dist/customer-value/internal-helpers.js +70 -0
  272. package/dist/customer-value/internal-helpers.js.map +1 -0
  273. package/dist/customer-value/report.d.ts +282 -0
  274. package/dist/customer-value/report.d.ts.map +1 -0
  275. package/dist/customer-value/report.js +2085 -0
  276. package/dist/customer-value/report.js.map +1 -0
  277. package/dist/db/schema.d.ts +7 -3
  278. package/dist/db/schema.d.ts.map +1 -1
  279. package/dist/db/schema.js.map +1 -1
  280. package/dist/evalops/agent-bootstrap.d.ts.map +1 -1
  281. package/dist/evalops/agent-bootstrap.js +1 -3
  282. package/dist/evalops/agent-bootstrap.js.map +1 -1
  283. package/dist/evalops/agent-mcp-metadata.d.ts.map +1 -1
  284. package/dist/evalops/agent-mcp-metadata.js +1 -3
  285. package/dist/evalops/agent-mcp-metadata.js.map +1 -1
  286. package/dist/hooks/notification-hooks.d.ts +1 -1
  287. package/dist/hooks/notification-hooks.d.ts.map +1 -1
  288. package/dist/hooks/notification-hooks.js.map +1 -1
  289. package/dist/hooks/tui-surface.d.ts +35 -0
  290. package/dist/hooks/tui-surface.d.ts.map +1 -0
  291. package/dist/hooks/tui-surface.js +11 -0
  292. package/dist/hooks/tui-surface.js.map +1 -0
  293. package/dist/hooks/types.d.ts +2 -1
  294. package/dist/hooks/types.d.ts.map +1 -1
  295. package/dist/hooks/types.js.map +1 -1
  296. package/dist/hooks/typescript-loader.d.ts.map +1 -1
  297. package/dist/hooks/typescript-loader.js.map +1 -1
  298. package/dist/hooks/ui-context.d.ts.map +1 -1
  299. package/dist/hooks/ui-context.js.map +1 -1
  300. package/dist/index.d.ts +1 -0
  301. package/dist/index.d.ts.map +1 -1
  302. package/dist/index.js +1 -0
  303. package/dist/index.js.map +1 -1
  304. package/dist/installers/maestro-review-workflow.d.ts +38 -0
  305. package/dist/installers/maestro-review-workflow.d.ts.map +1 -0
  306. package/dist/installers/maestro-review-workflow.js +163 -0
  307. package/dist/installers/maestro-review-workflow.js.map +1 -0
  308. package/dist/load-env.d.ts.map +1 -1
  309. package/dist/load-env.js +2 -1
  310. package/dist/load-env.js.map +1 -1
  311. package/dist/main.d.ts.map +1 -1
  312. package/dist/main.js +201 -840
  313. package/dist/main.js.map +1 -1
  314. package/dist/mcp/config.d.ts.map +1 -1
  315. package/dist/mcp/config.js +1 -3
  316. package/dist/mcp/config.js.map +1 -1
  317. package/dist/mcp/elicitation.d.ts.map +1 -1
  318. package/dist/mcp/elicitation.js +1 -3
  319. package/dist/mcp/elicitation.js.map +1 -1
  320. package/dist/mcp/official-registry.d.ts.map +1 -1
  321. package/dist/mcp/official-registry.js +1 -3
  322. package/dist/mcp/official-registry.js.map +1 -1
  323. package/dist/mcp/workspace-trust.d.ts.map +1 -1
  324. package/dist/mcp/workspace-trust.js +1 -3
  325. package/dist/mcp/workspace-trust.js.map +1 -1
  326. package/dist/memory/service-client.d.ts.map +1 -1
  327. package/dist/memory/service-client.js +1 -3
  328. package/dist/memory/service-client.js.map +1 -1
  329. package/dist/models/config-loader.d.ts +5 -5
  330. package/dist/models/config-loader.d.ts.map +1 -1
  331. package/dist/models/config-loader.js +1 -3
  332. package/dist/models/config-loader.js.map +1 -1
  333. package/dist/node_modules/@evalops/contracts/dist/index.d.ts +46 -0
  334. package/dist/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
  335. package/dist/node_modules/@evalops/contracts/dist/index.js +3 -0
  336. package/dist/node_modules/@evalops/contracts/dist/index.js.map +1 -1
  337. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts +284 -0
  338. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts.map +1 -1
  339. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js +41 -0
  340. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js.map +1 -1
  341. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.d.ts +61 -0
  342. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.d.ts.map +1 -0
  343. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.js +183 -0
  344. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.js.map +1 -0
  345. package/dist/node_modules/@evalops/contracts/dist/schemas.d.ts +986 -0
  346. package/dist/node_modules/@evalops/contracts/dist/schemas.d.ts.map +1 -1
  347. package/dist/node_modules/@evalops/contracts/dist/schemas.js +49 -0
  348. package/dist/node_modules/@evalops/contracts/dist/schemas.js.map +1 -1
  349. package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts +56 -0
  350. package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts.map +1 -0
  351. package/dist/node_modules/@evalops/contracts/dist/token-estimation.js +86 -0
  352. package/dist/node_modules/@evalops/contracts/dist/token-estimation.js.map +1 -0
  353. package/dist/node_modules/@evalops/contracts/package.json +1 -1
  354. package/dist/oauth/connectors.d.ts.map +1 -1
  355. package/dist/oauth/connectors.js +1 -3
  356. package/dist/oauth/connectors.js.map +1 -1
  357. package/dist/oauth/evalops.d.ts.map +1 -1
  358. package/dist/oauth/evalops.js +1 -3
  359. package/dist/oauth/evalops.js.map +1 -1
  360. package/dist/packages/discovery.d.ts.map +1 -1
  361. package/dist/packages/discovery.js +1 -0
  362. package/dist/packages/discovery.js.map +1 -1
  363. package/dist/packages/inspection.d.ts.map +1 -1
  364. package/dist/packages/inspection.js +7 -1
  365. package/dist/packages/inspection.js.map +1 -1
  366. package/dist/packages/loader.d.ts.map +1 -1
  367. package/dist/packages/loader.js +8 -1
  368. package/dist/packages/loader.js.map +1 -1
  369. package/dist/packages/runtime.d.ts +1 -0
  370. package/dist/packages/runtime.d.ts.map +1 -1
  371. package/dist/packages/runtime.js +9 -1
  372. package/dist/packages/runtime.js.map +1 -1
  373. package/dist/packages/types.d.ts +6 -0
  374. package/dist/packages/types.d.ts.map +1 -1
  375. package/dist/packages/types.js.map +1 -1
  376. package/dist/platform/a2a-client.d.ts.map +1 -1
  377. package/dist/platform/a2a-client.js +1 -3
  378. package/dist/platform/a2a-client.js.map +1 -1
  379. package/dist/platform/a2a-cockpit.d.ts +1 -0
  380. package/dist/platform/a2a-cockpit.d.ts.map +1 -1
  381. package/dist/platform/a2a-cockpit.js +42 -11
  382. package/dist/platform/a2a-cockpit.js.map +1 -1
  383. package/dist/platform/a2a-completion-audit.d.ts +1 -1
  384. package/dist/platform/a2a-completion-audit.d.ts.map +1 -1
  385. package/dist/platform/a2a-completion-audit.js +7 -11
  386. package/dist/platform/a2a-completion-audit.js.map +1 -1
  387. package/dist/platform/a2a-maestro-peer.js +16 -0
  388. package/dist/platform/a2a-maestro-peer.js.map +1 -1
  389. package/dist/platform/a2a-peer-pairing.d.ts.map +1 -1
  390. package/dist/platform/a2a-peer-pairing.js +1 -3
  391. package/dist/platform/a2a-peer-pairing.js.map +1 -1
  392. package/dist/platform/a2a-peer-registry.d.ts.map +1 -1
  393. package/dist/platform/a2a-peer-registry.js +1 -3
  394. package/dist/platform/a2a-peer-registry.js.map +1 -1
  395. package/dist/platform/a2a-task-ledger.d.ts +20 -0
  396. package/dist/platform/a2a-task-ledger.d.ts.map +1 -1
  397. package/dist/platform/a2a-task-ledger.js +207 -11
  398. package/dist/platform/a2a-task-ledger.js.map +1 -1
  399. package/dist/platform/a2a-work-graph.d.ts.map +1 -1
  400. package/dist/platform/a2a-work-graph.js +1 -3
  401. package/dist/platform/a2a-work-graph.js.map +1 -1
  402. package/dist/platform/operating-layer.d.ts.map +1 -1
  403. package/dist/platform/operating-layer.js +14 -8
  404. package/dist/platform/operating-layer.js.map +1 -1
  405. package/dist/platform/tool-execution-client.d.ts.map +1 -1
  406. package/dist/platform/tool-execution-client.js +19 -2
  407. package/dist/platform/tool-execution-client.js.map +1 -1
  408. package/dist/providers/auth.d.ts.map +1 -1
  409. package/dist/providers/auth.js +1 -3
  410. package/dist/providers/auth.js.map +1 -1
  411. package/dist/runtime/agent-runtime.d.ts +22 -6
  412. package/dist/runtime/agent-runtime.d.ts.map +1 -1
  413. package/dist/runtime/agent-runtime.js +1 -1
  414. package/dist/runtime/agent-runtime.js.map +1 -1
  415. package/dist/runtime/env.d.ts +10 -1
  416. package/dist/runtime/env.d.ts.map +1 -1
  417. package/dist/runtime/env.js +64 -1
  418. package/dist/runtime/env.js.map +1 -1
  419. package/dist/runtime/prompt-queue.d.ts.map +1 -0
  420. package/dist/runtime/prompt-queue.js.map +1 -0
  421. package/dist/safety/policy.d.ts.map +1 -1
  422. package/dist/safety/policy.js +1 -4
  423. package/dist/safety/policy.js.map +1 -1
  424. package/dist/sandbox/docker-sandbox.d.ts.map +1 -1
  425. package/dist/sandbox/docker-sandbox.js +6 -1
  426. package/dist/sandbox/docker-sandbox.js.map +1 -1
  427. package/dist/server/handlers/chat-ws.d.ts +2 -1
  428. package/dist/server/handlers/chat-ws.d.ts.map +1 -1
  429. package/dist/server/handlers/chat-ws.js +150 -5
  430. package/dist/server/handlers/chat-ws.js.map +1 -1
  431. package/dist/server/handlers/chat.d.ts.map +1 -1
  432. package/dist/server/handlers/chat.js +78 -5
  433. package/dist/server/handlers/chat.js.map +1 -1
  434. package/dist/server/handlers/hosted-runner-drain.d.ts.map +1 -1
  435. package/dist/server/handlers/hosted-runner-drain.js +1 -3
  436. package/dist/server/handlers/hosted-runner-drain.js.map +1 -1
  437. package/dist/server/handlers/package.d.ts.map +1 -1
  438. package/dist/server/handlers/package.js +1 -0
  439. package/dist/server/handlers/package.js.map +1 -1
  440. package/dist/server/handlers/platform-a2a-push.d.ts.map +1 -1
  441. package/dist/server/handlers/platform-a2a-push.js +53 -2
  442. package/dist/server/handlers/platform-a2a-push.js.map +1 -1
  443. package/dist/server/handlers/queue.js +1 -1
  444. package/dist/server/handlers/queue.js.map +1 -1
  445. package/dist/server/handlers/runtime-app-server-ws.d.ts.map +1 -1
  446. package/dist/server/handlers/runtime-app-server-ws.js +1 -3
  447. package/dist/server/handlers/runtime-app-server-ws.js.map +1 -1
  448. package/dist/server/handlers/ui.js +1 -1
  449. package/dist/server/handlers/ui.js.map +1 -1
  450. package/dist/server/handlers/zen.js +1 -1
  451. package/dist/server/handlers/zen.js.map +1 -1
  452. package/dist/server/headless-runtime-service.d.ts +16 -0
  453. package/dist/server/headless-runtime-service.d.ts.map +1 -1
  454. package/dist/server/headless-runtime-service.js +232 -206
  455. package/dist/server/headless-runtime-service.js.map +1 -1
  456. package/dist/server/hosted-agent-runtime-progress.d.ts.map +1 -1
  457. package/dist/server/hosted-agent-runtime-progress.js +12 -3
  458. package/dist/server/hosted-agent-runtime-progress.js.map +1 -1
  459. package/dist/server/hosted-session-manager.d.ts +3 -0
  460. package/dist/server/hosted-session-manager.d.ts.map +1 -1
  461. package/dist/server/hosted-session-manager.js +26 -0
  462. package/dist/server/hosted-session-manager.js.map +1 -1
  463. package/dist/server/model-selection.d.ts +1 -0
  464. package/dist/server/model-selection.d.ts.map +1 -1
  465. package/dist/server/model-selection.js +4 -0
  466. package/dist/server/model-selection.js.map +1 -1
  467. package/dist/server/pending-request-payload.d.ts.map +1 -1
  468. package/dist/server/pending-request-payload.js +1 -3
  469. package/dist/server/pending-request-payload.js.map +1 -1
  470. package/dist/server/route-auth.d.ts.map +1 -1
  471. package/dist/server/route-auth.js +2 -0
  472. package/dist/server/route-auth.js.map +1 -1
  473. package/dist/server/session-serialization.d.ts.map +1 -1
  474. package/dist/server/session-serialization.js +4 -3
  475. package/dist/server/session-serialization.js.map +1 -1
  476. package/dist/server/session-timeline.d.ts.map +1 -1
  477. package/dist/server/session-timeline.js +1 -1
  478. package/dist/server/session-timeline.js.map +1 -1
  479. package/dist/server/sse-session.d.ts +2 -0
  480. package/dist/server/sse-session.d.ts.map +1 -1
  481. package/dist/server/sse-session.js +3 -0
  482. package/dist/server/sse-session.js.map +1 -1
  483. package/dist/server/stores/ui-store.d.ts +1 -1
  484. package/dist/server/stores/ui-store.d.ts.map +1 -1
  485. package/dist/server/stores/ui-store.js.map +1 -1
  486. package/dist/server/utils/token-estimator.d.ts +2 -2
  487. package/dist/server/utils/token-estimator.d.ts.map +1 -1
  488. package/dist/server/utils/token-estimator.js +2 -12
  489. package/dist/server/utils/token-estimator.js.map +1 -1
  490. package/dist/server/validation.d.ts +54 -0
  491. package/dist/server/validation.d.ts.map +1 -1
  492. package/dist/services/compliance/normalize.d.ts.map +1 -1
  493. package/dist/services/compliance/normalize.js +1 -3
  494. package/dist/services/compliance/normalize.js.map +1 -1
  495. package/dist/services/image-providers/cost.d.ts +70 -0
  496. package/dist/services/image-providers/cost.d.ts.map +1 -0
  497. package/dist/services/image-providers/cost.js +164 -0
  498. package/dist/services/image-providers/cost.js.map +1 -0
  499. package/dist/services/image-providers/flux.d.ts +40 -0
  500. package/dist/services/image-providers/flux.d.ts.map +1 -0
  501. package/dist/services/image-providers/flux.js +99 -0
  502. package/dist/services/image-providers/flux.js.map +1 -0
  503. package/dist/services/image-providers/index.d.ts +24 -0
  504. package/dist/services/image-providers/index.d.ts.map +1 -0
  505. package/dist/services/image-providers/index.js +27 -0
  506. package/dist/services/image-providers/index.js.map +1 -0
  507. package/dist/services/image-providers/masks.d.ts +51 -0
  508. package/dist/services/image-providers/masks.d.ts.map +1 -0
  509. package/dist/services/image-providers/masks.js +132 -0
  510. package/dist/services/image-providers/masks.js.map +1 -0
  511. package/dist/services/image-providers/openai.d.ts +35 -0
  512. package/dist/services/image-providers/openai.d.ts.map +1 -0
  513. package/dist/services/image-providers/openai.js +93 -0
  514. package/dist/services/image-providers/openai.js.map +1 -0
  515. package/dist/services/image-providers/types.d.ts +61 -0
  516. package/dist/services/image-providers/types.d.ts.map +1 -0
  517. package/dist/services/image-providers/types.js +17 -0
  518. package/dist/services/image-providers/types.js.map +1 -0
  519. package/dist/services/intelligent-router/index.d.ts +1 -0
  520. package/dist/services/intelligent-router/index.d.ts.map +1 -1
  521. package/dist/services/intelligent-router/index.js +1 -0
  522. package/dist/services/intelligent-router/index.js.map +1 -1
  523. package/dist/services/intelligent-router/normalize.d.ts +1 -0
  524. package/dist/services/intelligent-router/normalize.d.ts.map +1 -1
  525. package/dist/services/intelligent-router/normalize.js +18 -3
  526. package/dist/services/intelligent-router/normalize.js.map +1 -1
  527. package/dist/services/intelligent-router/outcome.d.ts +19 -0
  528. package/dist/services/intelligent-router/outcome.d.ts.map +1 -0
  529. package/dist/services/intelligent-router/outcome.js +51 -0
  530. package/dist/services/intelligent-router/outcome.js.map +1 -0
  531. package/dist/services/intelligent-router/recorder.d.ts +2 -0
  532. package/dist/services/intelligent-router/recorder.d.ts.map +1 -1
  533. package/dist/services/intelligent-router/recorder.js +72 -1
  534. package/dist/services/intelligent-router/recorder.js.map +1 -1
  535. package/dist/services/intelligent-router/service.d.ts +1 -0
  536. package/dist/services/intelligent-router/service.d.ts.map +1 -1
  537. package/dist/services/intelligent-router/service.js +60 -11
  538. package/dist/services/intelligent-router/service.js.map +1 -1
  539. package/dist/services/intelligent-router/types.d.ts +18 -0
  540. package/dist/services/intelligent-router/types.d.ts.map +1 -1
  541. package/dist/services/intelligent-router/types.js.map +1 -1
  542. package/dist/services/revenue-attribution/normalize.d.ts.map +1 -1
  543. package/dist/services/revenue-attribution/normalize.js +1 -3
  544. package/dist/services/revenue-attribution/normalize.js.map +1 -1
  545. package/dist/services/traces/normalize.d.ts.map +1 -1
  546. package/dist/services/traces/normalize.js +1 -3
  547. package/dist/services/traces/normalize.js.map +1 -1
  548. package/dist/services/workspace-config/middleware.d.ts +2 -0
  549. package/dist/services/workspace-config/middleware.d.ts.map +1 -1
  550. package/dist/services/workspace-config/middleware.js +25 -28
  551. package/dist/services/workspace-config/middleware.js.map +1 -1
  552. package/dist/services/workspace-config/normalize.d.ts.map +1 -1
  553. package/dist/services/workspace-config/normalize.js +1 -3
  554. package/dist/services/workspace-config/normalize.js.map +1 -1
  555. package/dist/session/agent-lineage-projection.d.ts +30 -0
  556. package/dist/session/agent-lineage-projection.d.ts.map +1 -0
  557. package/dist/session/agent-lineage-projection.js +109 -0
  558. package/dist/session/agent-lineage-projection.js.map +1 -0
  559. package/dist/session/manager.d.ts +3 -0
  560. package/dist/session/manager.d.ts.map +1 -1
  561. package/dist/session/manager.js +24 -0
  562. package/dist/session/manager.js.map +1 -1
  563. package/dist/session/session-graph-projection.d.ts +11 -0
  564. package/dist/session/session-graph-projection.d.ts.map +1 -1
  565. package/dist/session/session-graph-projection.js +28 -0
  566. package/dist/session/session-graph-projection.js.map +1 -1
  567. package/dist/session/types.d.ts +2 -0
  568. package/dist/session/types.d.ts.map +1 -1
  569. package/dist/session/types.js.map +1 -1
  570. package/dist/telemetry/agent-workforce-native-event.d.ts.map +1 -1
  571. package/dist/telemetry/agent-workforce-native-event.js +1 -3
  572. package/dist/telemetry/agent-workforce-native-event.js.map +1 -1
  573. package/dist/telemetry/maestro-event-bus.d.ts +1 -1
  574. package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
  575. package/dist/telemetry/maestro-event-bus.js +42 -81
  576. package/dist/telemetry/maestro-event-bus.js.map +1 -1
  577. package/dist/telemetry/maestro-platform-replay-fixture.d.ts.map +1 -1
  578. package/dist/telemetry/maestro-platform-replay-fixture.js +1 -3
  579. package/dist/telemetry/maestro-platform-replay-fixture.js.map +1 -1
  580. package/dist/telemetry/maestro-publisher-conformance-fixture.js.map +1 -1
  581. package/dist/telemetry/oracle-policy.d.ts +6 -0
  582. package/dist/telemetry/oracle-policy.d.ts.map +1 -0
  583. package/dist/telemetry/oracle-policy.js +17 -0
  584. package/dist/telemetry/oracle-policy.js.map +1 -0
  585. package/dist/telemetry/wide-events.d.ts +1 -1
  586. package/dist/telemetry/wide-events.d.ts.map +1 -1
  587. package/dist/telemetry/wide-events.js.map +1 -1
  588. package/dist/telemetry.d.ts.map +1 -1
  589. package/dist/telemetry.js +54 -43
  590. package/dist/telemetry.js.map +1 -1
  591. package/dist/theme/theme-loader.d.ts.map +1 -1
  592. package/dist/theme/theme-loader.js +1 -3
  593. package/dist/theme/theme-loader.js.map +1 -1
  594. package/dist/theme/theme.d.ts +2 -8
  595. package/dist/theme/theme.d.ts.map +1 -1
  596. package/dist/theme/theme.js +7 -0
  597. package/dist/theme/theme.js.map +1 -1
  598. package/dist/theme/tui-theme-helpers.d.ts +2 -1
  599. package/dist/theme/tui-theme-helpers.d.ts.map +1 -1
  600. package/dist/theme/tui-theme-helpers.js.map +1 -1
  601. package/dist/theme/tui-theme-types.d.ts +39 -0
  602. package/dist/theme/tui-theme-types.d.ts.map +1 -0
  603. package/dist/theme/tui-theme-types.js +10 -0
  604. package/dist/theme/tui-theme-types.js.map +1 -0
  605. package/dist/tools/apply-patch.d.ts.map +1 -1
  606. package/dist/tools/apply-patch.js +76 -8
  607. package/dist/tools/apply-patch.js.map +1 -1
  608. package/dist/tools/diff-preview.d.ts.map +1 -1
  609. package/dist/tools/diff-preview.js +10 -1
  610. package/dist/tools/diff-preview.js.map +1 -1
  611. package/dist/tools/edit.d.ts.map +1 -1
  612. package/dist/tools/edit.js +17 -0
  613. package/dist/tools/edit.js.map +1 -1
  614. package/dist/tools/index.d.ts +199 -160
  615. package/dist/tools/index.d.ts.map +1 -1
  616. package/dist/tools/index.js +4 -0
  617. package/dist/tools/index.js.map +1 -1
  618. package/dist/tools/lazy-registry.d.ts.map +1 -1
  619. package/dist/tools/lazy-registry.js +1 -0
  620. package/dist/tools/lazy-registry.js.map +1 -1
  621. package/dist/tools/oracle.d.ts +9 -0
  622. package/dist/tools/oracle.d.ts.map +1 -1
  623. package/dist/tools/oracle.js +26 -24
  624. package/dist/tools/oracle.js.map +1 -1
  625. package/dist/tools/painter.d.ts +73 -0
  626. package/dist/tools/painter.d.ts.map +1 -0
  627. package/dist/tools/painter.js +283 -0
  628. package/dist/tools/painter.js.map +1 -0
  629. package/dist/tools/typebox-tool.d.ts.map +1 -1
  630. package/dist/tools/typebox-tool.js +1 -1
  631. package/dist/tools/typebox-tool.js.map +1 -1
  632. package/dist/tools/write.d.ts.map +1 -1
  633. package/dist/tools/write.js +9 -0
  634. package/dist/tools/write.js.map +1 -1
  635. package/dist/undo/tracker.d.ts +5 -0
  636. package/dist/undo/tracker.d.ts.map +1 -1
  637. package/dist/undo/tracker.js +13 -0
  638. package/dist/undo/tracker.js.map +1 -1
  639. package/dist/utils/fs.d.ts +1 -1
  640. package/dist/utils/fs.d.ts.map +1 -1
  641. package/dist/utils/fs.js +29 -2
  642. package/dist/utils/fs.js.map +1 -1
  643. package/dist/utils/git-stash.d.ts.map +1 -1
  644. package/dist/utils/git-stash.js +15 -8
  645. package/dist/utils/git-stash.js.map +1 -1
  646. package/dist/utils/json.d.ts +11 -0
  647. package/dist/utils/json.d.ts.map +1 -1
  648. package/dist/utils/json.js +9 -0
  649. package/dist/utils/json.js.map +1 -1
  650. package/dist/utils/shell-env.d.ts.map +1 -1
  651. package/dist/utils/shell-env.js +2 -0
  652. package/dist/utils/shell-env.js.map +1 -1
  653. package/dist/utils/terminal-image.d.ts +52 -0
  654. package/dist/utils/terminal-image.d.ts.map +1 -0
  655. package/dist/utils/terminal-image.js +95 -0
  656. package/dist/utils/terminal-image.js.map +1 -0
  657. package/dist/utils/terminal-text.d.ts +11 -0
  658. package/dist/utils/terminal-text.d.ts.map +1 -0
  659. package/dist/utils/terminal-text.js +21 -0
  660. package/dist/utils/terminal-text.js.map +1 -0
  661. package/dist/utils/url-extractor-git.d.ts +26 -0
  662. package/dist/utils/url-extractor-git.d.ts.map +1 -0
  663. package/dist/utils/url-extractor-git.js +259 -0
  664. package/dist/utils/url-extractor-git.js.map +1 -0
  665. package/dist/utils/url-extractor.d.ts.map +1 -1
  666. package/dist/utils/url-extractor.js +23 -251
  667. package/dist/utils/url-extractor.js.map +1 -1
  668. package/dist/version.json +2 -2
  669. package/dist/web-server.d.ts.map +1 -1
  670. package/dist/web-server.js +24 -2
  671. package/dist/web-server.js.map +1 -1
  672. package/package.json +312 -306
  673. package/skills/incident-triage/SKILL.md +20 -1
  674. package/skills/install-code-review/SKILL.md +69 -0
  675. package/skills/security-review/SKILL.md +68 -0
  676. package/skills/security-review/reference/rubric.md +85 -0
  677. package/dist/cli/commands/agents.d.ts +0 -20
  678. package/dist/cli/commands/agents.d.ts.map +0 -1
  679. package/dist/cli/commands/agents.js +0 -280
  680. package/dist/cli/commands/agents.js.map +0 -1
  681. package/dist/cli/commands/anthropic.d.ts +0 -2
  682. package/dist/cli/commands/anthropic.d.ts.map +0 -1
  683. package/dist/cli/commands/anthropic.js +0 -6
  684. package/dist/cli/commands/anthropic.js.map +0 -1
  685. package/dist/cli/commands/cost.d.ts +0 -13
  686. package/dist/cli/commands/cost.d.ts.map +0 -1
  687. package/dist/cli/commands/cost.js +0 -143
  688. package/dist/cli/commands/cost.js.map +0 -1
  689. package/dist/cli/commands/exec-constants.d.ts +0 -3
  690. package/dist/cli/commands/exec-constants.d.ts.map +0 -1
  691. package/dist/cli/commands/exec-constants.js +0 -3
  692. package/dist/cli/commands/exec-constants.js.map +0 -1
  693. package/dist/cli/commands/exec.d.ts +0 -19
  694. package/dist/cli/commands/exec.d.ts.map +0 -1
  695. package/dist/cli/commands/exec.js +0 -207
  696. package/dist/cli/commands/exec.js.map +0 -1
  697. package/dist/cli/commands/hooks.d.ts +0 -2
  698. package/dist/cli/commands/hooks.d.ts.map +0 -1
  699. package/dist/cli/commands/hooks.js +0 -25
  700. package/dist/cli/commands/hooks.js.map +0 -1
  701. package/dist/cli/commands/hosted-runner.d.ts +0 -25
  702. package/dist/cli/commands/hosted-runner.d.ts.map +0 -1
  703. package/dist/cli/commands/hosted-runner.js +0 -278
  704. package/dist/cli/commands/hosted-runner.js.map +0 -1
  705. package/dist/cli/commands/memory.d.ts +0 -2
  706. package/dist/cli/commands/memory.d.ts.map +0 -1
  707. package/dist/cli/commands/memory.js +0 -208
  708. package/dist/cli/commands/memory.js.map +0 -1
  709. package/dist/cli/commands/models.d.ts +0 -3
  710. package/dist/cli/commands/models.d.ts.map +0 -1
  711. package/dist/cli/commands/models.js +0 -154
  712. package/dist/cli/commands/models.js.map +0 -1
  713. package/dist/cli/commands/modes.d.ts +0 -8
  714. package/dist/cli/commands/modes.d.ts.map +0 -1
  715. package/dist/cli/commands/modes.js +0 -151
  716. package/dist/cli/commands/modes.js.map +0 -1
  717. package/dist/cli/commands/openai.d.ts +0 -2
  718. package/dist/cli/commands/openai.d.ts.map +0 -1
  719. package/dist/cli/commands/openai.js +0 -116
  720. package/dist/cli/commands/openai.js.map +0 -1
  721. package/dist/cli/commands/session-transfer.d.ts +0 -5
  722. package/dist/cli/commands/session-transfer.d.ts.map +0 -1
  723. package/dist/cli/commands/session-transfer.js +0 -43
  724. package/dist/cli/commands/session-transfer.js.map +0 -1
  725. package/dist/cli/commands/sessions.d.ts +0 -8
  726. package/dist/cli/commands/sessions.d.ts.map +0 -1
  727. package/dist/cli/commands/sessions.js +0 -152
  728. package/dist/cli/commands/sessions.js.map +0 -1
  729. package/dist/cli/commands/skill.d.ts +0 -10
  730. package/dist/cli/commands/skill.d.ts.map +0 -1
  731. package/dist/cli/commands/skill.js +0 -303
  732. package/dist/cli/commands/skill.js.map +0 -1
  733. package/dist/cli/commands/stats.d.ts +0 -7
  734. package/dist/cli/commands/stats.d.ts.map +0 -1
  735. package/dist/cli/commands/stats.js +0 -167
  736. package/dist/cli/commands/stats.js.map +0 -1
  737. package/dist/cli/commands/status.d.ts +0 -2
  738. package/dist/cli/commands/status.d.ts.map +0 -1
  739. package/dist/cli/commands/status.js +0 -11
  740. package/dist/cli/commands/status.js.map +0 -1
  741. package/dist/cli/commands/update.d.ts +0 -12
  742. package/dist/cli/commands/update.d.ts.map +0 -1
  743. package/dist/cli/commands/update.js +0 -148
  744. package/dist/cli/commands/update.js.map +0 -1
  745. package/dist/cli-tui/about-view.d.ts +0 -48
  746. package/dist/cli-tui/about-view.d.ts.map +0 -1
  747. package/dist/cli-tui/about-view.js +0 -206
  748. package/dist/cli-tui/about-view.js.map +0 -1
  749. package/dist/cli-tui/agent-event-router.d.ts +0 -28
  750. package/dist/cli-tui/agent-event-router.d.ts.map +0 -1
  751. package/dist/cli-tui/agent-event-router.js +0 -126
  752. package/dist/cli-tui/agent-event-router.js.map +0 -1
  753. package/dist/cli-tui/approval/approval-controller.d.ts +0 -28
  754. package/dist/cli-tui/approval/approval-controller.d.ts.map +0 -1
  755. package/dist/cli-tui/approval/approval-controller.js +0 -99
  756. package/dist/cli-tui/approval/approval-controller.js.map +0 -1
  757. package/dist/cli-tui/approval/approval-modal.d.ts +0 -26
  758. package/dist/cli-tui/approval/approval-modal.d.ts.map +0 -1
  759. package/dist/cli-tui/approval/approval-modal.js +0 -143
  760. package/dist/cli-tui/approval/approval-modal.js.map +0 -1
  761. package/dist/cli-tui/assistant-message.d.ts +0 -41
  762. package/dist/cli-tui/assistant-message.d.ts.map +0 -1
  763. package/dist/cli-tui/assistant-message.js +0 -236
  764. package/dist/cli-tui/assistant-message.js.map +0 -1
  765. package/dist/cli-tui/auth-state.d.ts +0 -7
  766. package/dist/cli-tui/auth-state.d.ts.map +0 -1
  767. package/dist/cli-tui/auth-state.js +0 -46
  768. package/dist/cli-tui/auth-state.js.map +0 -1
  769. package/dist/cli-tui/background/background-tasks-controller.d.ts +0 -31
  770. package/dist/cli-tui/background/background-tasks-controller.d.ts.map +0 -1
  771. package/dist/cli-tui/background/background-tasks-controller.js +0 -84
  772. package/dist/cli-tui/background/background-tasks-controller.js.map +0 -1
  773. package/dist/cli-tui/base-view.d.ts +0 -111
  774. package/dist/cli-tui/base-view.d.ts.map +0 -1
  775. package/dist/cli-tui/base-view.js +0 -145
  776. package/dist/cli-tui/base-view.js.map +0 -1
  777. package/dist/cli-tui/bash/background-launcher.d.ts +0 -14
  778. package/dist/cli-tui/bash/background-launcher.d.ts.map +0 -1
  779. package/dist/cli-tui/bash/background-launcher.js +0 -50
  780. package/dist/cli-tui/bash/background-launcher.js.map +0 -1
  781. package/dist/cli-tui/bash/bash-autocomplete.d.ts +0 -40
  782. package/dist/cli-tui/bash/bash-autocomplete.d.ts.map +0 -1
  783. package/dist/cli-tui/bash/bash-autocomplete.js +0 -347
  784. package/dist/cli-tui/bash/bash-autocomplete.js.map +0 -1
  785. package/dist/cli-tui/bash/bash-history.d.ts +0 -21
  786. package/dist/cli-tui/bash/bash-history.d.ts.map +0 -1
  787. package/dist/cli-tui/bash/bash-history.js +0 -72
  788. package/dist/cli-tui/bash/bash-history.js.map +0 -1
  789. package/dist/cli-tui/bash/bash-syntax.d.ts +0 -5
  790. package/dist/cli-tui/bash/bash-syntax.d.ts.map +0 -1
  791. package/dist/cli-tui/bash/bash-syntax.js +0 -176
  792. package/dist/cli-tui/bash/bash-syntax.js.map +0 -1
  793. package/dist/cli-tui/bash/index.d.ts +0 -4
  794. package/dist/cli-tui/bash/index.d.ts.map +0 -1
  795. package/dist/cli-tui/bash/index.js +0 -4
  796. package/dist/cli-tui/bash/index.js.map +0 -1
  797. package/dist/cli-tui/bash-mode-view.d.ts +0 -86
  798. package/dist/cli-tui/bash-mode-view.d.ts.map +0 -1
  799. package/dist/cli-tui/bash-mode-view.js +0 -560
  800. package/dist/cli-tui/bash-mode-view.js.map +0 -1
  801. package/dist/cli-tui/bash-shell-block.d.ts +0 -50
  802. package/dist/cli-tui/bash-shell-block.d.ts.map +0 -1
  803. package/dist/cli-tui/bash-shell-block.js +0 -119
  804. package/dist/cli-tui/bash-shell-block.js.map +0 -1
  805. package/dist/cli-tui/changelog-view.d.ts +0 -13
  806. package/dist/cli-tui/changelog-view.d.ts.map +0 -1
  807. package/dist/cli-tui/changelog-view.js +0 -34
  808. package/dist/cli-tui/changelog-view.js.map +0 -1
  809. package/dist/cli-tui/clean-mode.d.ts +0 -13
  810. package/dist/cli-tui/clean-mode.d.ts.map +0 -1
  811. package/dist/cli-tui/clean-mode.js +0 -32
  812. package/dist/cli-tui/clean-mode.js.map +0 -1
  813. package/dist/cli-tui/client-tools/client-tool-controller.d.ts +0 -41
  814. package/dist/cli-tui/client-tools/client-tool-controller.d.ts.map +0 -1
  815. package/dist/cli-tui/client-tools/client-tool-controller.js +0 -862
  816. package/dist/cli-tui/client-tools/client-tool-controller.js.map +0 -1
  817. package/dist/cli-tui/client-tools/local-client-tool-service.d.ts +0 -33
  818. package/dist/cli-tui/client-tools/local-client-tool-service.d.ts.map +0 -1
  819. package/dist/cli-tui/client-tools/local-client-tool-service.js +0 -94
  820. package/dist/cli-tui/client-tools/local-client-tool-service.js.map +0 -1
  821. package/dist/cli-tui/commands/a2a-handlers.d.ts +0 -7
  822. package/dist/cli-tui/commands/a2a-handlers.d.ts.map +0 -1
  823. package/dist/cli-tui/commands/a2a-handlers.js +0 -215
  824. package/dist/cli-tui/commands/a2a-handlers.js.map +0 -1
  825. package/dist/cli-tui/commands/access-command.d.ts +0 -3
  826. package/dist/cli-tui/commands/access-command.d.ts.map +0 -1
  827. package/dist/cli-tui/commands/access-command.js +0 -89
  828. package/dist/cli-tui/commands/access-command.js.map +0 -1
  829. package/dist/cli-tui/commands/argument-parser.d.ts +0 -12
  830. package/dist/cli-tui/commands/argument-parser.d.ts.map +0 -1
  831. package/dist/cli-tui/commands/argument-parser.js +0 -135
  832. package/dist/cli-tui/commands/argument-parser.js.map +0 -1
  833. package/dist/cli-tui/commands/audit-command.d.ts +0 -5
  834. package/dist/cli-tui/commands/audit-command.d.ts.map +0 -1
  835. package/dist/cli-tui/commands/audit-command.js +0 -35
  836. package/dist/cli-tui/commands/audit-command.js.map +0 -1
  837. package/dist/cli-tui/commands/background-handlers.d.ts +0 -14
  838. package/dist/cli-tui/commands/background-handlers.d.ts.map +0 -1
  839. package/dist/cli-tui/commands/background-handlers.js +0 -115
  840. package/dist/cli-tui/commands/background-handlers.js.map +0 -1
  841. package/dist/cli-tui/commands/command-catalog.d.ts +0 -29
  842. package/dist/cli-tui/commands/command-catalog.d.ts.map +0 -1
  843. package/dist/cli-tui/commands/command-catalog.js +0 -666
  844. package/dist/cli-tui/commands/command-catalog.js.map +0 -1
  845. package/dist/cli-tui/commands/command-registry-adapter.d.ts +0 -12
  846. package/dist/cli-tui/commands/command-registry-adapter.d.ts.map +0 -1
  847. package/dist/cli-tui/commands/command-registry-adapter.js +0 -129
  848. package/dist/cli-tui/commands/command-registry-adapter.js.map +0 -1
  849. package/dist/cli-tui/commands/command-suite-catalog.d.ts +0 -14
  850. package/dist/cli-tui/commands/command-suite-catalog.d.ts.map +0 -1
  851. package/dist/cli-tui/commands/command-suite-catalog.js +0 -147
  852. package/dist/cli-tui/commands/command-suite-catalog.js.map +0 -1
  853. package/dist/cli-tui/commands/command-suite-handlers.d.ts +0 -111
  854. package/dist/cli-tui/commands/command-suite-handlers.d.ts.map +0 -1
  855. package/dist/cli-tui/commands/command-suite-handlers.js +0 -110
  856. package/dist/cli-tui/commands/command-suite-handlers.js.map +0 -1
  857. package/dist/cli-tui/commands/composer-handlers.d.ts +0 -8
  858. package/dist/cli-tui/commands/composer-handlers.d.ts.map +0 -1
  859. package/dist/cli-tui/commands/composer-handlers.js +0 -90
  860. package/dist/cli-tui/commands/composer-handlers.js.map +0 -1
  861. package/dist/cli-tui/commands/framework-handlers.d.ts +0 -18
  862. package/dist/cli-tui/commands/framework-handlers.d.ts.map +0 -1
  863. package/dist/cli-tui/commands/framework-handlers.js +0 -57
  864. package/dist/cli-tui/commands/framework-handlers.js.map +0 -1
  865. package/dist/cli-tui/commands/guardian-handlers.d.ts +0 -20
  866. package/dist/cli-tui/commands/guardian-handlers.d.ts.map +0 -1
  867. package/dist/cli-tui/commands/guardian-handlers.js +0 -48
  868. package/dist/cli-tui/commands/guardian-handlers.js.map +0 -1
  869. package/dist/cli-tui/commands/handlers/mode-handler.d.ts +0 -32
  870. package/dist/cli-tui/commands/handlers/mode-handler.d.ts.map +0 -1
  871. package/dist/cli-tui/commands/handlers/mode-handler.js +0 -153
  872. package/dist/cli-tui/commands/handlers/mode-handler.js.map +0 -1
  873. package/dist/cli-tui/commands/hotkeys-command.d.ts +0 -8
  874. package/dist/cli-tui/commands/hotkeys-command.d.ts.map +0 -1
  875. package/dist/cli-tui/commands/hotkeys-command.js +0 -61
  876. package/dist/cli-tui/commands/hotkeys-command.js.map +0 -1
  877. package/dist/cli-tui/commands/limits-command.d.ts +0 -3
  878. package/dist/cli-tui/commands/limits-command.d.ts.map +0 -1
  879. package/dist/cli-tui/commands/limits-command.js +0 -88
  880. package/dist/cli-tui/commands/limits-command.js.map +0 -1
  881. package/dist/cli-tui/commands/mcp-handlers.d.ts +0 -12
  882. package/dist/cli-tui/commands/mcp-handlers.d.ts.map +0 -1
  883. package/dist/cli-tui/commands/mcp-handlers.js +0 -1306
  884. package/dist/cli-tui/commands/mcp-handlers.js.map +0 -1
  885. package/dist/cli-tui/commands/memory-handlers.d.ts +0 -28
  886. package/dist/cli-tui/commands/memory-handlers.d.ts.map +0 -1
  887. package/dist/cli-tui/commands/memory-handlers.js +0 -414
  888. package/dist/cli-tui/commands/memory-handlers.js.map +0 -1
  889. package/dist/cli-tui/commands/otel-handlers.d.ts +0 -11
  890. package/dist/cli-tui/commands/otel-handlers.d.ts.map +0 -1
  891. package/dist/cli-tui/commands/otel-handlers.js +0 -20
  892. package/dist/cli-tui/commands/otel-handlers.js.map +0 -1
  893. package/dist/cli-tui/commands/package-handlers.d.ts +0 -30
  894. package/dist/cli-tui/commands/package-handlers.d.ts.map +0 -1
  895. package/dist/cli-tui/commands/package-handlers.js +0 -499
  896. package/dist/cli-tui/commands/package-handlers.js.map +0 -1
  897. package/dist/cli-tui/commands/pii-command.d.ts +0 -3
  898. package/dist/cli-tui/commands/pii-command.d.ts.map +0 -1
  899. package/dist/cli-tui/commands/pii-command.js +0 -54
  900. package/dist/cli-tui/commands/pii-command.js.map +0 -1
  901. package/dist/cli-tui/commands/registry.d.ts +0 -3
  902. package/dist/cli-tui/commands/registry.d.ts.map +0 -1
  903. package/dist/cli-tui/commands/registry.js +0 -36
  904. package/dist/cli-tui/commands/registry.js.map +0 -1
  905. package/dist/cli-tui/commands/safety-handlers.d.ts +0 -36
  906. package/dist/cli-tui/commands/safety-handlers.d.ts.map +0 -1
  907. package/dist/cli-tui/commands/safety-handlers.js +0 -62
  908. package/dist/cli-tui/commands/safety-handlers.js.map +0 -1
  909. package/dist/cli-tui/commands/subcommands/auth-commands.d.ts +0 -26
  910. package/dist/cli-tui/commands/subcommands/auth-commands.d.ts.map +0 -1
  911. package/dist/cli-tui/commands/subcommands/auth-commands.js +0 -79
  912. package/dist/cli-tui/commands/subcommands/auth-commands.js.map +0 -1
  913. package/dist/cli-tui/commands/subcommands/config-commands.d.ts +0 -23
  914. package/dist/cli-tui/commands/subcommands/config-commands.d.ts.map +0 -1
  915. package/dist/cli-tui/commands/subcommands/config-commands.js +0 -61
  916. package/dist/cli-tui/commands/subcommands/config-commands.js.map +0 -1
  917. package/dist/cli-tui/commands/subcommands/diag-commands.d.ts +0 -46
  918. package/dist/cli-tui/commands/subcommands/diag-commands.d.ts.map +0 -1
  919. package/dist/cli-tui/commands/subcommands/diag-commands.js +0 -163
  920. package/dist/cli-tui/commands/subcommands/diag-commands.js.map +0 -1
  921. package/dist/cli-tui/commands/subcommands/git-commands.d.ts +0 -18
  922. package/dist/cli-tui/commands/subcommands/git-commands.d.ts.map +0 -1
  923. package/dist/cli-tui/commands/subcommands/git-commands.js +0 -50
  924. package/dist/cli-tui/commands/subcommands/git-commands.js.map +0 -1
  925. package/dist/cli-tui/commands/subcommands/index.d.ts +0 -18
  926. package/dist/cli-tui/commands/subcommands/index.d.ts.map +0 -1
  927. package/dist/cli-tui/commands/subcommands/index.js +0 -18
  928. package/dist/cli-tui/commands/subcommands/index.js.map +0 -1
  929. package/dist/cli-tui/commands/subcommands/safety-commands.d.ts +0 -26
  930. package/dist/cli-tui/commands/subcommands/safety-commands.d.ts.map +0 -1
  931. package/dist/cli-tui/commands/subcommands/safety-commands.js +0 -149
  932. package/dist/cli-tui/commands/subcommands/safety-commands.js.map +0 -1
  933. package/dist/cli-tui/commands/subcommands/session-commands.d.ts +0 -36
  934. package/dist/cli-tui/commands/subcommands/session-commands.d.ts.map +0 -1
  935. package/dist/cli-tui/commands/subcommands/session-commands.js +0 -112
  936. package/dist/cli-tui/commands/subcommands/session-commands.js.map +0 -1
  937. package/dist/cli-tui/commands/subcommands/tools-commands.d.ts +0 -27
  938. package/dist/cli-tui/commands/subcommands/tools-commands.d.ts.map +0 -1
  939. package/dist/cli-tui/commands/subcommands/tools-commands.js +0 -80
  940. package/dist/cli-tui/commands/subcommands/tools-commands.js.map +0 -1
  941. package/dist/cli-tui/commands/subcommands/ui-commands.d.ts +0 -30
  942. package/dist/cli-tui/commands/subcommands/ui-commands.d.ts.map +0 -1
  943. package/dist/cli-tui/commands/subcommands/ui-commands.js +0 -74
  944. package/dist/cli-tui/commands/subcommands/ui-commands.js.map +0 -1
  945. package/dist/cli-tui/commands/subcommands/undo-commands.d.ts +0 -25
  946. package/dist/cli-tui/commands/subcommands/undo-commands.d.ts.map +0 -1
  947. package/dist/cli-tui/commands/subcommands/undo-commands.js +0 -74
  948. package/dist/cli-tui/commands/subcommands/undo-commands.js.map +0 -1
  949. package/dist/cli-tui/commands/subcommands/usage-commands.d.ts +0 -19
  950. package/dist/cli-tui/commands/subcommands/usage-commands.d.ts.map +0 -1
  951. package/dist/cli-tui/commands/subcommands/usage-commands.js +0 -63
  952. package/dist/cli-tui/commands/subcommands/usage-commands.js.map +0 -1
  953. package/dist/cli-tui/commands/subcommands/utils.d.ts +0 -127
  954. package/dist/cli-tui/commands/subcommands/utils.d.ts.map +0 -1
  955. package/dist/cli-tui/commands/subcommands/utils.js +0 -395
  956. package/dist/cli-tui/commands/subcommands/utils.js.map +0 -1
  957. package/dist/cli-tui/commands/types.d.ts +0 -105
  958. package/dist/cli-tui/commands/types.d.ts.map +0 -1
  959. package/dist/cli-tui/commands/types.js +0 -2
  960. package/dist/cli-tui/commands/types.js.map +0 -1
  961. package/dist/cli-tui/commands/undo-handlers.d.ts +0 -29
  962. package/dist/cli-tui/commands/undo-handlers.d.ts.map +0 -1
  963. package/dist/cli-tui/commands/undo-handlers.js +0 -300
  964. package/dist/cli-tui/commands/undo-handlers.js.map +0 -1
  965. package/dist/cli-tui/commands/utility-handlers.d.ts +0 -55
  966. package/dist/cli-tui/commands/utility-handlers.d.ts.map +0 -1
  967. package/dist/cli-tui/commands/utility-handlers.js +0 -137
  968. package/dist/cli-tui/commands/utility-handlers.js.map +0 -1
  969. package/dist/cli-tui/commands/workflow-handlers.d.ts +0 -22
  970. package/dist/cli-tui/commands/workflow-handlers.d.ts.map +0 -1
  971. package/dist/cli-tui/commands/workflow-handlers.js +0 -227
  972. package/dist/cli-tui/commands/workflow-handlers.js.map +0 -1
  973. package/dist/cli-tui/compact-boundary-message.d.ts +0 -9
  974. package/dist/cli-tui/compact-boundary-message.d.ts.map +0 -1
  975. package/dist/cli-tui/compact-boundary-message.js +0 -18
  976. package/dist/cli-tui/compact-boundary-message.js.map +0 -1
  977. package/dist/cli-tui/compaction-recovery.d.ts +0 -6
  978. package/dist/cli-tui/compaction-recovery.d.ts.map +0 -1
  979. package/dist/cli-tui/compaction-recovery.js +0 -13
  980. package/dist/cli-tui/compaction-recovery.js.map +0 -1
  981. package/dist/cli-tui/config-view.d.ts +0 -30
  982. package/dist/cli-tui/config-view.d.ts.map +0 -1
  983. package/dist/cli-tui/config-view.js +0 -255
  984. package/dist/cli-tui/config-view.js.map +0 -1
  985. package/dist/cli-tui/context-view.d.ts +0 -20
  986. package/dist/cli-tui/context-view.d.ts.map +0 -1
  987. package/dist/cli-tui/context-view.js +0 -191
  988. package/dist/cli-tui/context-view.js.map +0 -1
  989. package/dist/cli-tui/custom-editor.d.ts +0 -25
  990. package/dist/cli-tui/custom-editor.d.ts.map +0 -1
  991. package/dist/cli-tui/custom-editor.js +0 -241
  992. package/dist/cli-tui/custom-editor.js.map +0 -1
  993. package/dist/cli-tui/editor-view.d.ts +0 -34
  994. package/dist/cli-tui/editor-view.d.ts.map +0 -1
  995. package/dist/cli-tui/editor-view.js +0 -102
  996. package/dist/cli-tui/editor-view.js.map +0 -1
  997. package/dist/cli-tui/feedback-view.d.ts +0 -35
  998. package/dist/cli-tui/feedback-view.d.ts.map +0 -1
  999. package/dist/cli-tui/feedback-view.js +0 -271
  1000. package/dist/cli-tui/feedback-view.js.map +0 -1
  1001. package/dist/cli-tui/footer.d.ts +0 -56
  1002. package/dist/cli-tui/footer.d.ts.map +0 -1
  1003. package/dist/cli-tui/footer.js +0 -228
  1004. package/dist/cli-tui/footer.js.map +0 -1
  1005. package/dist/cli-tui/git/commit-modal.d.ts +0 -14
  1006. package/dist/cli-tui/git/commit-modal.d.ts.map +0 -1
  1007. package/dist/cli-tui/git/commit-modal.js +0 -56
  1008. package/dist/cli-tui/git/commit-modal.js.map +0 -1
  1009. package/dist/cli-tui/git/git-preview-modal.d.ts +0 -40
  1010. package/dist/cli-tui/git/git-preview-modal.d.ts.map +0 -1
  1011. package/dist/cli-tui/git/git-preview-modal.js +0 -123
  1012. package/dist/cli-tui/git/git-preview-modal.js.map +0 -1
  1013. package/dist/cli-tui/git/git-view.d.ts +0 -65
  1014. package/dist/cli-tui/git/git-view.d.ts.map +0 -1
  1015. package/dist/cli-tui/git/git-view.js +0 -529
  1016. package/dist/cli-tui/git/git-view.js.map +0 -1
  1017. package/dist/cli-tui/history/history-config.d.ts +0 -7
  1018. package/dist/cli-tui/history/history-config.d.ts.map +0 -1
  1019. package/dist/cli-tui/history/history-config.js +0 -49
  1020. package/dist/cli-tui/history/history-config.js.map +0 -1
  1021. package/dist/cli-tui/history/prompt-history.d.ts +0 -33
  1022. package/dist/cli-tui/history/prompt-history.d.ts.map +0 -1
  1023. package/dist/cli-tui/history/prompt-history.js +0 -185
  1024. package/dist/cli-tui/history/prompt-history.js.map +0 -1
  1025. package/dist/cli-tui/history/tool-history.d.ts +0 -50
  1026. package/dist/cli-tui/history/tool-history.d.ts.map +0 -1
  1027. package/dist/cli-tui/history/tool-history.js +0 -253
  1028. package/dist/cli-tui/history/tool-history.js.map +0 -1
  1029. package/dist/cli-tui/hook-message.d.ts +0 -13
  1030. package/dist/cli-tui/hook-message.d.ts.map +0 -1
  1031. package/dist/cli-tui/hook-message.js +0 -56
  1032. package/dist/cli-tui/hook-message.js.map +0 -1
  1033. package/dist/cli-tui/hooks/hook-input-modal.d.ts +0 -22
  1034. package/dist/cli-tui/hooks/hook-input-modal.d.ts.map +0 -1
  1035. package/dist/cli-tui/hooks/hook-input-modal.js +0 -63
  1036. package/dist/cli-tui/hooks/hook-input-modal.js.map +0 -1
  1037. package/dist/cli-tui/hotkeys-view.d.ts +0 -13
  1038. package/dist/cli-tui/hotkeys-view.d.ts.map +0 -1
  1039. package/dist/cli-tui/hotkeys-view.js +0 -96
  1040. package/dist/cli-tui/hotkeys-view.js.map +0 -1
  1041. package/dist/cli-tui/import-view.d.ts +0 -28
  1042. package/dist/cli-tui/import-view.d.ts.map +0 -1
  1043. package/dist/cli-tui/import-view.js +0 -184
  1044. package/dist/cli-tui/import-view.js.map +0 -1
  1045. package/dist/cli-tui/info-view.d.ts +0 -18
  1046. package/dist/cli-tui/info-view.d.ts.map +0 -1
  1047. package/dist/cli-tui/info-view.js +0 -107
  1048. package/dist/cli-tui/info-view.js.map +0 -1
  1049. package/dist/cli-tui/instruction-panel.d.ts +0 -11
  1050. package/dist/cli-tui/instruction-panel.d.ts.map +0 -1
  1051. package/dist/cli-tui/instruction-panel.js +0 -86
  1052. package/dist/cli-tui/instruction-panel.js.map +0 -1
  1053. package/dist/cli-tui/interrupt-controller.d.ts +0 -78
  1054. package/dist/cli-tui/interrupt-controller.d.ts.map +0 -1
  1055. package/dist/cli-tui/interrupt-controller.js +0 -104
  1056. package/dist/cli-tui/interrupt-controller.js.map +0 -1
  1057. package/dist/cli-tui/keybindings-config.d.ts +0 -27
  1058. package/dist/cli-tui/keybindings-config.d.ts.map +0 -1
  1059. package/dist/cli-tui/keybindings-config.js +0 -372
  1060. package/dist/cli-tui/keybindings-config.js.map +0 -1
  1061. package/dist/cli-tui/keybindings-watcher.d.ts +0 -8
  1062. package/dist/cli-tui/keybindings-watcher.d.ts.map +0 -1
  1063. package/dist/cli-tui/keybindings-watcher.js +0 -56
  1064. package/dist/cli-tui/keybindings-watcher.js.map +0 -1
  1065. package/dist/cli-tui/keybindings.d.ts +0 -13
  1066. package/dist/cli-tui/keybindings.d.ts.map +0 -1
  1067. package/dist/cli-tui/keybindings.js +0 -223
  1068. package/dist/cli-tui/keybindings.js.map +0 -1
  1069. package/dist/cli-tui/loader/loader-stage-manager.d.ts +0 -43
  1070. package/dist/cli-tui/loader/loader-stage-manager.d.ts.map +0 -1
  1071. package/dist/cli-tui/loader/loader-stage-manager.js +0 -241
  1072. package/dist/cli-tui/loader/loader-stage-manager.js.map +0 -1
  1073. package/dist/cli-tui/loader/loader-stage-telemetry.d.ts +0 -14
  1074. package/dist/cli-tui/loader/loader-stage-telemetry.d.ts.map +0 -1
  1075. package/dist/cli-tui/loader/loader-stage-telemetry.js +0 -34
  1076. package/dist/cli-tui/loader/loader-stage-telemetry.js.map +0 -1
  1077. package/dist/cli-tui/loader/loader-view.d.ts +0 -41
  1078. package/dist/cli-tui/loader/loader-view.d.ts.map +0 -1
  1079. package/dist/cli-tui/loader/loader-view.js +0 -162
  1080. package/dist/cli-tui/loader/loader-view.js.map +0 -1
  1081. package/dist/cli-tui/lsp-view.d.ts +0 -21
  1082. package/dist/cli-tui/lsp-view.d.ts.map +0 -1
  1083. package/dist/cli-tui/lsp-view.js +0 -183
  1084. package/dist/cli-tui/lsp-view.js.map +0 -1
  1085. package/dist/cli-tui/mermaid-renderer.d.ts +0 -2
  1086. package/dist/cli-tui/mermaid-renderer.d.ts.map +0 -1
  1087. package/dist/cli-tui/mermaid-renderer.js +0 -391
  1088. package/dist/cli-tui/mermaid-renderer.js.map +0 -1
  1089. package/dist/cli-tui/message-view.d.ts +0 -27
  1090. package/dist/cli-tui/message-view.d.ts.map +0 -1
  1091. package/dist/cli-tui/message-view.js +0 -169
  1092. package/dist/cli-tui/message-view.js.map +0 -1
  1093. package/dist/cli-tui/modal-manager.d.ts +0 -77
  1094. package/dist/cli-tui/modal-manager.d.ts.map +0 -1
  1095. package/dist/cli-tui/modal-manager.js +0 -131
  1096. package/dist/cli-tui/modal-manager.js.map +0 -1
  1097. package/dist/cli-tui/notification-view.d.ts +0 -16
  1098. package/dist/cli-tui/notification-view.d.ts.map +0 -1
  1099. package/dist/cli-tui/notification-view.js +0 -53
  1100. package/dist/cli-tui/notification-view.js.map +0 -1
  1101. package/dist/cli-tui/oauth/index.d.ts +0 -2
  1102. package/dist/cli-tui/oauth/index.d.ts.map +0 -1
  1103. package/dist/cli-tui/oauth/index.js +0 -2
  1104. package/dist/cli-tui/oauth/index.js.map +0 -1
  1105. package/dist/cli-tui/oauth/oauth-flow-controller.d.ts +0 -65
  1106. package/dist/cli-tui/oauth/oauth-flow-controller.d.ts.map +0 -1
  1107. package/dist/cli-tui/oauth/oauth-flow-controller.js +0 -400
  1108. package/dist/cli-tui/oauth/oauth-flow-controller.js.map +0 -1
  1109. package/dist/cli-tui/ollama-view.d.ts +0 -38
  1110. package/dist/cli-tui/ollama-view.d.ts.map +0 -1
  1111. package/dist/cli-tui/ollama-view.js +0 -395
  1112. package/dist/cli-tui/ollama-view.js.map +0 -1
  1113. package/dist/cli-tui/paste/index.d.ts +0 -2
  1114. package/dist/cli-tui/paste/index.d.ts.map +0 -1
  1115. package/dist/cli-tui/paste/index.js +0 -2
  1116. package/dist/cli-tui/paste/index.js.map +0 -1
  1117. package/dist/cli-tui/paste/paste-handler.d.ts +0 -54
  1118. package/dist/cli-tui/paste/paste-handler.d.ts.map +0 -1
  1119. package/dist/cli-tui/paste/paste-handler.js +0 -128
  1120. package/dist/cli-tui/paste/paste-handler.js.map +0 -1
  1121. package/dist/cli-tui/plan/plan-controller.d.ts +0 -28
  1122. package/dist/cli-tui/plan/plan-controller.d.ts.map +0 -1
  1123. package/dist/cli-tui/plan/plan-controller.js +0 -66
  1124. package/dist/cli-tui/plan/plan-controller.js.map +0 -1
  1125. package/dist/cli-tui/plan-panel-modal.d.ts +0 -28
  1126. package/dist/cli-tui/plan-panel-modal.d.ts.map +0 -1
  1127. package/dist/cli-tui/plan-panel-modal.js +0 -193
  1128. package/dist/cli-tui/plan-panel-modal.js.map +0 -1
  1129. package/dist/cli-tui/plan-view.d.ts +0 -57
  1130. package/dist/cli-tui/plan-view.d.ts.map +0 -1
  1131. package/dist/cli-tui/plan-view.js +0 -404
  1132. package/dist/cli-tui/plan-view.js.map +0 -1
  1133. package/dist/cli-tui/prompt-queue.d.ts.map +0 -1
  1134. package/dist/cli-tui/prompt-queue.js.map +0 -1
  1135. package/dist/cli-tui/queue/follow-up-shortcut.d.ts +0 -6
  1136. package/dist/cli-tui/queue/follow-up-shortcut.d.ts.map +0 -1
  1137. package/dist/cli-tui/queue/follow-up-shortcut.js +0 -12
  1138. package/dist/cli-tui/queue/follow-up-shortcut.js.map +0 -1
  1139. package/dist/cli-tui/queue/index.d.ts +0 -3
  1140. package/dist/cli-tui/queue/index.d.ts.map +0 -1
  1141. package/dist/cli-tui/queue/index.js +0 -3
  1142. package/dist/cli-tui/queue/index.js.map +0 -1
  1143. package/dist/cli-tui/queue/queue-controller.d.ts +0 -109
  1144. package/dist/cli-tui/queue/queue-controller.d.ts.map +0 -1
  1145. package/dist/cli-tui/queue/queue-controller.js +0 -327
  1146. package/dist/cli-tui/queue/queue-controller.js.map +0 -1
  1147. package/dist/cli-tui/queue/queue-panel-controller.d.ts +0 -34
  1148. package/dist/cli-tui/queue/queue-panel-controller.d.ts.map +0 -1
  1149. package/dist/cli-tui/queue/queue-panel-controller.js +0 -163
  1150. package/dist/cli-tui/queue/queue-panel-controller.js.map +0 -1
  1151. package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts +0 -7
  1152. package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts.map +0 -1
  1153. package/dist/cli-tui/queue/queued-follow-up-edit-binding.js +0 -14
  1154. package/dist/cli-tui/queue/queued-follow-up-edit-binding.js.map +0 -1
  1155. package/dist/cli-tui/queue-panel-modal.d.ts +0 -26
  1156. package/dist/cli-tui/queue-panel-modal.d.ts.map +0 -1
  1157. package/dist/cli-tui/queue-panel-modal.js +0 -159
  1158. package/dist/cli-tui/queue-panel-modal.js.map +0 -1
  1159. package/dist/cli-tui/run/run-command-view.d.ts +0 -17
  1160. package/dist/cli-tui/run/run-command-view.d.ts.map +0 -1
  1161. package/dist/cli-tui/run/run-command-view.js +0 -62
  1162. package/dist/cli-tui/run/run-command-view.js.map +0 -1
  1163. package/dist/cli-tui/run/run-controller.d.ts +0 -24
  1164. package/dist/cli-tui/run/run-controller.d.ts.map +0 -1
  1165. package/dist/cli-tui/run/run-controller.js +0 -38
  1166. package/dist/cli-tui/run/run-controller.js.map +0 -1
  1167. package/dist/cli-tui/run/run-shell-command.d.ts +0 -13
  1168. package/dist/cli-tui/run/run-shell-command.d.ts.map +0 -1
  1169. package/dist/cli-tui/run/run-shell-command.js +0 -51
  1170. package/dist/cli-tui/run/run-shell-command.js.map +0 -1
  1171. package/dist/cli-tui/run/streaming-shell-command.d.ts +0 -19
  1172. package/dist/cli-tui/run/streaming-shell-command.d.ts.map +0 -1
  1173. package/dist/cli-tui/run/streaming-shell-command.js +0 -107
  1174. package/dist/cli-tui/run/streaming-shell-command.js.map +0 -1
  1175. package/dist/cli-tui/search/file-search-view.d.ts +0 -22
  1176. package/dist/cli-tui/search/file-search-view.d.ts.map +0 -1
  1177. package/dist/cli-tui/search/file-search-view.js +0 -68
  1178. package/dist/cli-tui/search/file-search-view.js.map +0 -1
  1179. package/dist/cli-tui/search/file-search.d.ts +0 -13
  1180. package/dist/cli-tui/search/file-search.d.ts.map +0 -1
  1181. package/dist/cli-tui/search/file-search.js +0 -52
  1182. package/dist/cli-tui/search/file-search.js.map +0 -1
  1183. package/dist/cli-tui/security-status.d.ts +0 -83
  1184. package/dist/cli-tui/security-status.d.ts.map +0 -1
  1185. package/dist/cli-tui/security-status.js +0 -214
  1186. package/dist/cli-tui/security-status.js.map +0 -1
  1187. package/dist/cli-tui/selectors/base-selector.d.ts +0 -27
  1188. package/dist/cli-tui/selectors/base-selector.d.ts.map +0 -1
  1189. package/dist/cli-tui/selectors/base-selector.js +0 -47
  1190. package/dist/cli-tui/selectors/base-selector.js.map +0 -1
  1191. package/dist/cli-tui/selectors/branch-summary-modal.d.ts +0 -18
  1192. package/dist/cli-tui/selectors/branch-summary-modal.d.ts.map +0 -1
  1193. package/dist/cli-tui/selectors/branch-summary-modal.js +0 -24
  1194. package/dist/cli-tui/selectors/branch-summary-modal.js.map +0 -1
  1195. package/dist/cli-tui/selectors/model-selector-view.d.ts +0 -22
  1196. package/dist/cli-tui/selectors/model-selector-view.d.ts.map +0 -1
  1197. package/dist/cli-tui/selectors/model-selector-view.js +0 -31
  1198. package/dist/cli-tui/selectors/model-selector-view.js.map +0 -1
  1199. package/dist/cli-tui/selectors/model-selector.d.ts +0 -30
  1200. package/dist/cli-tui/selectors/model-selector.d.ts.map +0 -1
  1201. package/dist/cli-tui/selectors/model-selector.js +0 -218
  1202. package/dist/cli-tui/selectors/model-selector.js.map +0 -1
  1203. package/dist/cli-tui/selectors/oauth-selector-view.d.ts +0 -20
  1204. package/dist/cli-tui/selectors/oauth-selector-view.d.ts.map +0 -1
  1205. package/dist/cli-tui/selectors/oauth-selector-view.js +0 -28
  1206. package/dist/cli-tui/selectors/oauth-selector-view.js.map +0 -1
  1207. package/dist/cli-tui/selectors/oauth-selector.d.ts +0 -19
  1208. package/dist/cli-tui/selectors/oauth-selector.d.ts.map +0 -1
  1209. package/dist/cli-tui/selectors/oauth-selector.js +0 -120
  1210. package/dist/cli-tui/selectors/oauth-selector.js.map +0 -1
  1211. package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts +0 -19
  1212. package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts.map +0 -1
  1213. package/dist/cli-tui/selectors/queue-mode-selector-view.js +0 -29
  1214. package/dist/cli-tui/selectors/queue-mode-selector-view.js.map +0 -1
  1215. package/dist/cli-tui/selectors/queue-mode-selector.d.ts +0 -5
  1216. package/dist/cli-tui/selectors/queue-mode-selector.d.ts.map +0 -1
  1217. package/dist/cli-tui/selectors/queue-mode-selector.js +0 -34
  1218. package/dist/cli-tui/selectors/queue-mode-selector.js.map +0 -1
  1219. package/dist/cli-tui/selectors/report-selector-view.d.ts +0 -17
  1220. package/dist/cli-tui/selectors/report-selector-view.d.ts.map +0 -1
  1221. package/dist/cli-tui/selectors/report-selector-view.js +0 -29
  1222. package/dist/cli-tui/selectors/report-selector-view.js.map +0 -1
  1223. package/dist/cli-tui/selectors/report-selector.d.ts +0 -7
  1224. package/dist/cli-tui/selectors/report-selector.d.ts.map +0 -1
  1225. package/dist/cli-tui/selectors/report-selector.js +0 -31
  1226. package/dist/cli-tui/selectors/report-selector.js.map +0 -1
  1227. package/dist/cli-tui/selectors/theme-selector-view.d.ts +0 -19
  1228. package/dist/cli-tui/selectors/theme-selector-view.d.ts.map +0 -1
  1229. package/dist/cli-tui/selectors/theme-selector-view.js +0 -41
  1230. package/dist/cli-tui/selectors/theme-selector-view.js.map +0 -1
  1231. package/dist/cli-tui/selectors/theme-selector.d.ts +0 -14
  1232. package/dist/cli-tui/selectors/theme-selector.d.ts.map +0 -1
  1233. package/dist/cli-tui/selectors/theme-selector.js +0 -46
  1234. package/dist/cli-tui/selectors/theme-selector.js.map +0 -1
  1235. package/dist/cli-tui/selectors/thinking-selector-view.d.ts +0 -20
  1236. package/dist/cli-tui/selectors/thinking-selector-view.d.ts.map +0 -1
  1237. package/dist/cli-tui/selectors/thinking-selector-view.js +0 -31
  1238. package/dist/cli-tui/selectors/thinking-selector-view.js.map +0 -1
  1239. package/dist/cli-tui/selectors/thinking-selector.d.ts +0 -9
  1240. package/dist/cli-tui/selectors/thinking-selector.d.ts.map +0 -1
  1241. package/dist/cli-tui/selectors/thinking-selector.js +0 -47
  1242. package/dist/cli-tui/selectors/thinking-selector.js.map +0 -1
  1243. package/dist/cli-tui/selectors/tree-selector-view.d.ts +0 -32
  1244. package/dist/cli-tui/selectors/tree-selector-view.d.ts.map +0 -1
  1245. package/dist/cli-tui/selectors/tree-selector-view.js +0 -407
  1246. package/dist/cli-tui/selectors/tree-selector-view.js.map +0 -1
  1247. package/dist/cli-tui/selectors/tree-selector.d.ts +0 -27
  1248. package/dist/cli-tui/selectors/tree-selector.d.ts.map +0 -1
  1249. package/dist/cli-tui/selectors/tree-selector.js +0 -194
  1250. package/dist/cli-tui/selectors/tree-selector.js.map +0 -1
  1251. package/dist/cli-tui/selectors/user-message-selector-view.d.ts +0 -25
  1252. package/dist/cli-tui/selectors/user-message-selector-view.d.ts.map +0 -1
  1253. package/dist/cli-tui/selectors/user-message-selector-view.js +0 -101
  1254. package/dist/cli-tui/selectors/user-message-selector-view.js.map +0 -1
  1255. package/dist/cli-tui/selectors/user-message-selector.d.ts +0 -30
  1256. package/dist/cli-tui/selectors/user-message-selector.d.ts.map +0 -1
  1257. package/dist/cli-tui/selectors/user-message-selector.js +0 -114
  1258. package/dist/cli-tui/selectors/user-message-selector.js.map +0 -1
  1259. package/dist/cli-tui/session/branch-controller.d.ts +0 -65
  1260. package/dist/cli-tui/session/branch-controller.d.ts.map +0 -1
  1261. package/dist/cli-tui/session/branch-controller.js +0 -125
  1262. package/dist/cli-tui/session/branch-controller.js.map +0 -1
  1263. package/dist/cli-tui/session/conversation-compactor.d.ts +0 -64
  1264. package/dist/cli-tui/session/conversation-compactor.d.ts.map +0 -1
  1265. package/dist/cli-tui/session/conversation-compactor.js +0 -77
  1266. package/dist/cli-tui/session/conversation-compactor.js.map +0 -1
  1267. package/dist/cli-tui/session/session-context.d.ts +0 -59
  1268. package/dist/cli-tui/session/session-context.d.ts.map +0 -1
  1269. package/dist/cli-tui/session/session-context.js +0 -79
  1270. package/dist/cli-tui/session/session-context.js.map +0 -1
  1271. package/dist/cli-tui/session/session-data-provider.d.ts +0 -23
  1272. package/dist/cli-tui/session/session-data-provider.d.ts.map +0 -1
  1273. package/dist/cli-tui/session/session-data-provider.js +0 -22
  1274. package/dist/cli-tui/session/session-data-provider.js.map +0 -1
  1275. package/dist/cli-tui/session/session-list.d.ts +0 -18
  1276. package/dist/cli-tui/session/session-list.d.ts.map +0 -1
  1277. package/dist/cli-tui/session/session-list.js +0 -103
  1278. package/dist/cli-tui/session/session-list.js.map +0 -1
  1279. package/dist/cli-tui/session/session-selector.d.ts +0 -12
  1280. package/dist/cli-tui/session/session-selector.d.ts.map +0 -1
  1281. package/dist/cli-tui/session/session-selector.js +0 -37
  1282. package/dist/cli-tui/session/session-selector.js.map +0 -1
  1283. package/dist/cli-tui/session/session-summary-controller.d.ts +0 -24
  1284. package/dist/cli-tui/session/session-summary-controller.d.ts.map +0 -1
  1285. package/dist/cli-tui/session/session-summary-controller.js +0 -96
  1286. package/dist/cli-tui/session/session-summary-controller.js.map +0 -1
  1287. package/dist/cli-tui/session/session-switcher-view.d.ts +0 -20
  1288. package/dist/cli-tui/session/session-switcher-view.d.ts.map +0 -1
  1289. package/dist/cli-tui/session/session-switcher-view.js +0 -43
  1290. package/dist/cli-tui/session/session-switcher-view.js.map +0 -1
  1291. package/dist/cli-tui/session/session-switcher.d.ts +0 -38
  1292. package/dist/cli-tui/session/session-switcher.d.ts.map +0 -1
  1293. package/dist/cli-tui/session/session-switcher.js +0 -204
  1294. package/dist/cli-tui/session/session-switcher.js.map +0 -1
  1295. package/dist/cli-tui/session/session-view.d.ts +0 -46
  1296. package/dist/cli-tui/session/session-view.d.ts.map +0 -1
  1297. package/dist/cli-tui/session/session-view.js +0 -311
  1298. package/dist/cli-tui/session/session-view.js.map +0 -1
  1299. package/dist/cli-tui/slash/index.d.ts +0 -2
  1300. package/dist/cli-tui/slash/index.d.ts.map +0 -1
  1301. package/dist/cli-tui/slash/index.js +0 -2
  1302. package/dist/cli-tui/slash/index.js.map +0 -1
  1303. package/dist/cli-tui/slash/slash-command-matcher.d.ts +0 -55
  1304. package/dist/cli-tui/slash/slash-command-matcher.d.ts.map +0 -1
  1305. package/dist/cli-tui/slash/slash-command-matcher.js +0 -113
  1306. package/dist/cli-tui/slash/slash-command-matcher.js.map +0 -1
  1307. package/dist/cli-tui/smart-autocomplete-provider.d.ts +0 -5
  1308. package/dist/cli-tui/smart-autocomplete-provider.d.ts.map +0 -1
  1309. package/dist/cli-tui/smart-autocomplete-provider.js +0 -44
  1310. package/dist/cli-tui/smart-autocomplete-provider.js.map +0 -1
  1311. package/dist/cli-tui/startup-announcements.d.ts +0 -15
  1312. package/dist/cli-tui/startup-announcements.d.ts.map +0 -1
  1313. package/dist/cli-tui/startup-announcements.js +0 -75
  1314. package/dist/cli-tui/startup-announcements.js.map +0 -1
  1315. package/dist/cli-tui/status/cost-view.d.ts +0 -27
  1316. package/dist/cli-tui/status/cost-view.d.ts.map +0 -1
  1317. package/dist/cli-tui/status/cost-view.js +0 -212
  1318. package/dist/cli-tui/status/cost-view.js.map +0 -1
  1319. package/dist/cli-tui/status/diagnostics-templates.d.ts +0 -34
  1320. package/dist/cli-tui/status/diagnostics-templates.d.ts.map +0 -1
  1321. package/dist/cli-tui/status/diagnostics-templates.js +0 -167
  1322. package/dist/cli-tui/status/diagnostics-templates.js.map +0 -1
  1323. package/dist/cli-tui/status/diagnostics-view.d.ts +0 -48
  1324. package/dist/cli-tui/status/diagnostics-view.d.ts.map +0 -1
  1325. package/dist/cli-tui/status/diagnostics-view.js +0 -249
  1326. package/dist/cli-tui/status/diagnostics-view.js.map +0 -1
  1327. package/dist/cli-tui/status/diagnostics.d.ts +0 -39
  1328. package/dist/cli-tui/status/diagnostics.d.ts.map +0 -1
  1329. package/dist/cli-tui/status/diagnostics.js +0 -286
  1330. package/dist/cli-tui/status/diagnostics.js.map +0 -1
  1331. package/dist/cli-tui/status/health-snapshot.d.ts +0 -17
  1332. package/dist/cli-tui/status/health-snapshot.d.ts.map +0 -1
  1333. package/dist/cli-tui/status/health-snapshot.js +0 -28
  1334. package/dist/cli-tui/status/health-snapshot.js.map +0 -1
  1335. package/dist/cli-tui/status/quota-view.d.ts +0 -37
  1336. package/dist/cli-tui/status/quota-view.d.ts.map +0 -1
  1337. package/dist/cli-tui/status/quota-view.js +0 -309
  1338. package/dist/cli-tui/status/quota-view.js.map +0 -1
  1339. package/dist/cli-tui/status/telemetry-view.d.ts +0 -23
  1340. package/dist/cli-tui/status/telemetry-view.d.ts.map +0 -1
  1341. package/dist/cli-tui/status/telemetry-view.js +0 -77
  1342. package/dist/cli-tui/status/telemetry-view.js.map +0 -1
  1343. package/dist/cli-tui/status/training-view.d.ts +0 -23
  1344. package/dist/cli-tui/status/training-view.d.ts.map +0 -1
  1345. package/dist/cli-tui/status/training-view.js +0 -71
  1346. package/dist/cli-tui/status/training-view.js.map +0 -1
  1347. package/dist/cli-tui/streaming-view.d.ts +0 -43
  1348. package/dist/cli-tui/streaming-view.d.ts.map +0 -1
  1349. package/dist/cli-tui/streaming-view.js +0 -176
  1350. package/dist/cli-tui/streaming-view.js.map +0 -1
  1351. package/dist/cli-tui/terminal/index.d.ts +0 -2
  1352. package/dist/cli-tui/terminal/index.d.ts.map +0 -1
  1353. package/dist/cli-tui/terminal/index.js +0 -2
  1354. package/dist/cli-tui/terminal/index.js.map +0 -1
  1355. package/dist/cli-tui/terminal/terminal-utils.d.ts +0 -44
  1356. package/dist/cli-tui/terminal/terminal-utils.d.ts.map +0 -1
  1357. package/dist/cli-tui/terminal/terminal-utils.js +0 -145
  1358. package/dist/cli-tui/terminal/terminal-utils.js.map +0 -1
  1359. package/dist/cli-tui/tips/tip-scheduler.d.ts +0 -19
  1360. package/dist/cli-tui/tips/tip-scheduler.d.ts.map +0 -1
  1361. package/dist/cli-tui/tips/tip-scheduler.js +0 -135
  1362. package/dist/cli-tui/tips/tip-scheduler.js.map +0 -1
  1363. package/dist/cli-tui/tool-execution.d.ts +0 -76
  1364. package/dist/cli-tui/tool-execution.d.ts.map +0 -1
  1365. package/dist/cli-tui/tool-execution.js +0 -217
  1366. package/dist/cli-tui/tool-execution.js.map +0 -1
  1367. package/dist/cli-tui/tool-output-view.d.ts +0 -22
  1368. package/dist/cli-tui/tool-output-view.d.ts.map +0 -1
  1369. package/dist/cli-tui/tool-output-view.js +0 -71
  1370. package/dist/cli-tui/tool-output-view.js.map +0 -1
  1371. package/dist/cli-tui/tool-renderers/index.d.ts +0 -4
  1372. package/dist/cli-tui/tool-renderers/index.d.ts.map +0 -1
  1373. package/dist/cli-tui/tool-renderers/index.js +0 -19
  1374. package/dist/cli-tui/tool-renderers/index.js.map +0 -1
  1375. package/dist/cli-tui/tool-renderers/render-bash.d.ts +0 -6
  1376. package/dist/cli-tui/tool-renderers/render-bash.d.ts.map +0 -1
  1377. package/dist/cli-tui/tool-renderers/render-bash.js +0 -90
  1378. package/dist/cli-tui/tool-renderers/render-bash.js.map +0 -1
  1379. package/dist/cli-tui/tool-renderers/render-batch.d.ts +0 -12
  1380. package/dist/cli-tui/tool-renderers/render-batch.d.ts.map +0 -1
  1381. package/dist/cli-tui/tool-renderers/render-batch.js +0 -133
  1382. package/dist/cli-tui/tool-renderers/render-batch.js.map +0 -1
  1383. package/dist/cli-tui/tool-renderers/render-edit.d.ts +0 -6
  1384. package/dist/cli-tui/tool-renderers/render-edit.d.ts.map +0 -1
  1385. package/dist/cli-tui/tool-renderers/render-edit.js +0 -125
  1386. package/dist/cli-tui/tool-renderers/render-edit.js.map +0 -1
  1387. package/dist/cli-tui/tool-renderers/render-generic.d.ts +0 -6
  1388. package/dist/cli-tui/tool-renderers/render-generic.d.ts.map +0 -1
  1389. package/dist/cli-tui/tool-renderers/render-generic.js +0 -66
  1390. package/dist/cli-tui/tool-renderers/render-generic.js.map +0 -1
  1391. package/dist/cli-tui/tool-renderers/render-read.d.ts +0 -9
  1392. package/dist/cli-tui/tool-renderers/render-read.d.ts.map +0 -1
  1393. package/dist/cli-tui/tool-renderers/render-read.js +0 -108
  1394. package/dist/cli-tui/tool-renderers/render-read.js.map +0 -1
  1395. package/dist/cli-tui/tool-renderers/render-style.d.ts +0 -21
  1396. package/dist/cli-tui/tool-renderers/render-style.d.ts.map +0 -1
  1397. package/dist/cli-tui/tool-renderers/render-style.js +0 -51
  1398. package/dist/cli-tui/tool-renderers/render-style.js.map +0 -1
  1399. package/dist/cli-tui/tool-renderers/render-write.d.ts +0 -5
  1400. package/dist/cli-tui/tool-renderers/render-write.d.ts.map +0 -1
  1401. package/dist/cli-tui/tool-renderers/render-write.js +0 -60
  1402. package/dist/cli-tui/tool-renderers/render-write.js.map +0 -1
  1403. package/dist/cli-tui/tool-renderers/types.d.ts +0 -20
  1404. package/dist/cli-tui/tool-renderers/types.d.ts.map +0 -1
  1405. package/dist/cli-tui/tool-renderers/types.js +0 -2
  1406. package/dist/cli-tui/tool-renderers/types.js.map +0 -1
  1407. package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts +0 -29
  1408. package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts.map +0 -1
  1409. package/dist/cli-tui/tool-retry/tool-retry-controller.js +0 -110
  1410. package/dist/cli-tui/tool-retry/tool-retry-controller.js.map +0 -1
  1411. package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts +0 -27
  1412. package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts.map +0 -1
  1413. package/dist/cli-tui/tool-retry/tool-retry-modal.js +0 -118
  1414. package/dist/cli-tui/tool-retry/tool-retry-modal.js.map +0 -1
  1415. package/dist/cli-tui/tool-status-view.d.ts +0 -32
  1416. package/dist/cli-tui/tool-status-view.d.ts.map +0 -1
  1417. package/dist/cli-tui/tool-status-view.js +0 -86
  1418. package/dist/cli-tui/tool-status-view.js.map +0 -1
  1419. package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts +0 -59
  1420. package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts.map +0 -1
  1421. package/dist/cli-tui/tui-renderer/agent-event-bridge.js +0 -129
  1422. package/dist/cli-tui/tui-renderer/agent-event-bridge.js.map +0 -1
  1423. package/dist/cli-tui/tui-renderer/approval-setup.d.ts +0 -13
  1424. package/dist/cli-tui/tui-renderer/approval-setup.d.ts.map +0 -1
  1425. package/dist/cli-tui/tui-renderer/approval-setup.js +0 -5
  1426. package/dist/cli-tui/tui-renderer/approval-setup.js.map +0 -1
  1427. package/dist/cli-tui/tui-renderer/attachment-controller.d.ts +0 -54
  1428. package/dist/cli-tui/tui-renderer/attachment-controller.d.ts.map +0 -1
  1429. package/dist/cli-tui/tui-renderer/attachment-controller.js +0 -160
  1430. package/dist/cli-tui/tui-renderer/attachment-controller.js.map +0 -1
  1431. package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts +0 -9
  1432. package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts.map +0 -1
  1433. package/dist/cli-tui/tui-renderer/background-tasks-setup.js +0 -7
  1434. package/dist/cli-tui/tui-renderer/background-tasks-setup.js.map +0 -1
  1435. package/dist/cli-tui/tui-renderer/branch-controller.d.ts +0 -41
  1436. package/dist/cli-tui/tui-renderer/branch-controller.d.ts.map +0 -1
  1437. package/dist/cli-tui/tui-renderer/branch-controller.js +0 -102
  1438. package/dist/cli-tui/tui-renderer/branch-controller.js.map +0 -1
  1439. package/dist/cli-tui/tui-renderer/clear-controller.d.ts +0 -75
  1440. package/dist/cli-tui/tui-renderer/clear-controller.d.ts.map +0 -1
  1441. package/dist/cli-tui/tui-renderer/clear-controller.js +0 -75
  1442. package/dist/cli-tui/tui-renderer/clear-controller.js.map +0 -1
  1443. package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts +0 -14
  1444. package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts.map +0 -1
  1445. package/dist/cli-tui/tui-renderer/client-tools-setup.js +0 -5
  1446. package/dist/cli-tui/tui-renderer/client-tools-setup.js.map +0 -1
  1447. package/dist/cli-tui/tui-renderer/command-registry-options.d.ts +0 -111
  1448. package/dist/cli-tui/tui-renderer/command-registry-options.d.ts.map +0 -1
  1449. package/dist/cli-tui/tui-renderer/command-registry-options.js +0 -163
  1450. package/dist/cli-tui/tui-renderer/command-registry-options.js.map +0 -1
  1451. package/dist/cli-tui/tui-renderer/command-registry.d.ts +0 -16
  1452. package/dist/cli-tui/tui-renderer/command-registry.d.ts.map +0 -1
  1453. package/dist/cli-tui/tui-renderer/command-registry.js +0 -23
  1454. package/dist/cli-tui/tui-renderer/command-registry.js.map +0 -1
  1455. package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts +0 -29
  1456. package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts.map +0 -1
  1457. package/dist/cli-tui/tui-renderer/command-suite-wiring.js +0 -108
  1458. package/dist/cli-tui/tui-renderer/command-suite-wiring.js.map +0 -1
  1459. package/dist/cli-tui/tui-renderer/compaction-controller.d.ts +0 -100
  1460. package/dist/cli-tui/tui-renderer/compaction-controller.d.ts.map +0 -1
  1461. package/dist/cli-tui/tui-renderer/compaction-controller.js +0 -160
  1462. package/dist/cli-tui/tui-renderer/compaction-controller.js.map +0 -1
  1463. package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts +0 -42
  1464. package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts.map +0 -1
  1465. package/dist/cli-tui/tui-renderer/custom-commands-controller.js +0 -106
  1466. package/dist/cli-tui/tui-renderer/custom-commands-controller.js.map +0 -1
  1467. package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts +0 -37
  1468. package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts.map +0 -1
  1469. package/dist/cli-tui/tui-renderer/delegating-command-handlers.js +0 -139
  1470. package/dist/cli-tui/tui-renderer/delegating-command-handlers.js.map +0 -1
  1471. package/dist/cli-tui/tui-renderer/editor-bindings.d.ts +0 -21
  1472. package/dist/cli-tui/tui-renderer/editor-bindings.d.ts.map +0 -1
  1473. package/dist/cli-tui/tui-renderer/editor-bindings.js +0 -76
  1474. package/dist/cli-tui/tui-renderer/editor-bindings.js.map +0 -1
  1475. package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts +0 -90
  1476. package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts.map +0 -1
  1477. package/dist/cli-tui/tui-renderer/footer-hints-controller.js +0 -152
  1478. package/dist/cli-tui/tui-renderer/footer-hints-controller.js.map +0 -1
  1479. package/dist/cli-tui/tui-renderer/history-controller.d.ts +0 -35
  1480. package/dist/cli-tui/tui-renderer/history-controller.d.ts.map +0 -1
  1481. package/dist/cli-tui/tui-renderer/history-controller.js +0 -153
  1482. package/dist/cli-tui/tui-renderer/history-controller.js.map +0 -1
  1483. package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts +0 -83
  1484. package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts.map +0 -1
  1485. package/dist/cli-tui/tui-renderer/hook-ui-controller.js +0 -309
  1486. package/dist/cli-tui/tui-renderer/hook-ui-controller.js.map +0 -1
  1487. package/dist/cli-tui/tui-renderer/initial-preferences.d.ts +0 -19
  1488. package/dist/cli-tui/tui-renderer/initial-preferences.d.ts.map +0 -1
  1489. package/dist/cli-tui/tui-renderer/initial-preferences.js +0 -54
  1490. package/dist/cli-tui/tui-renderer/initial-preferences.js.map +0 -1
  1491. package/dist/cli-tui/tui-renderer/input-controller.d.ts +0 -56
  1492. package/dist/cli-tui/tui-renderer/input-controller.d.ts.map +0 -1
  1493. package/dist/cli-tui/tui-renderer/input-controller.js +0 -104
  1494. package/dist/cli-tui/tui-renderer/input-controller.js.map +0 -1
  1495. package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts +0 -19
  1496. package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts.map +0 -1
  1497. package/dist/cli-tui/tui-renderer/interrupt-setup.js +0 -18
  1498. package/dist/cli-tui/tui-renderer/interrupt-setup.js.map +0 -1
  1499. package/dist/cli-tui/tui-renderer/loader-setup.d.ts +0 -14
  1500. package/dist/cli-tui/tui-renderer/loader-setup.d.ts.map +0 -1
  1501. package/dist/cli-tui/tui-renderer/loader-setup.js +0 -13
  1502. package/dist/cli-tui/tui-renderer/loader-setup.js.map +0 -1
  1503. package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts +0 -55
  1504. package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts.map +0 -1
  1505. package/dist/cli-tui/tui-renderer/mcp-events-setup.js +0 -143
  1506. package/dist/cli-tui/tui-renderer/mcp-events-setup.js.map +0 -1
  1507. package/dist/cli-tui/tui-renderer/misc-handlers.d.ts +0 -59
  1508. package/dist/cli-tui/tui-renderer/misc-handlers.d.ts.map +0 -1
  1509. package/dist/cli-tui/tui-renderer/misc-handlers.js +0 -143
  1510. package/dist/cli-tui/tui-renderer/misc-handlers.js.map +0 -1
  1511. package/dist/cli-tui/tui-renderer/oauth-setup.d.ts +0 -14
  1512. package/dist/cli-tui/tui-renderer/oauth-setup.d.ts.map +0 -1
  1513. package/dist/cli-tui/tui-renderer/oauth-setup.js +0 -26
  1514. package/dist/cli-tui/tui-renderer/oauth-setup.js.map +0 -1
  1515. package/dist/cli-tui/tui-renderer/plan-setup.d.ts +0 -19
  1516. package/dist/cli-tui/tui-renderer/plan-setup.d.ts.map +0 -1
  1517. package/dist/cli-tui/tui-renderer/plan-setup.js +0 -23
  1518. package/dist/cli-tui/tui-renderer/plan-setup.js.map +0 -1
  1519. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts +0 -21
  1520. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts.map +0 -1
  1521. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js +0 -64
  1522. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js.map +0 -1
  1523. package/dist/cli-tui/tui-renderer/queue-setup.d.ts +0 -18
  1524. package/dist/cli-tui/tui-renderer/queue-setup.d.ts.map +0 -1
  1525. package/dist/cli-tui/tui-renderer/queue-setup.js +0 -42
  1526. package/dist/cli-tui/tui-renderer/queue-setup.js.map +0 -1
  1527. package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts +0 -53
  1528. package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts.map +0 -1
  1529. package/dist/cli-tui/tui-renderer/quick-settings-controller.js +0 -100
  1530. package/dist/cli-tui/tui-renderer/quick-settings-controller.js.map +0 -1
  1531. package/dist/cli-tui/tui-renderer/session-setup.d.ts +0 -31
  1532. package/dist/cli-tui/tui-renderer/session-setup.d.ts.map +0 -1
  1533. package/dist/cli-tui/tui-renderer/session-setup.js +0 -45
  1534. package/dist/cli-tui/tui-renderer/session-setup.js.map +0 -1
  1535. package/dist/cli-tui/tui-renderer/session-state-controller.d.ts +0 -66
  1536. package/dist/cli-tui/tui-renderer/session-state-controller.d.ts.map +0 -1
  1537. package/dist/cli-tui/tui-renderer/session-state-controller.js +0 -139
  1538. package/dist/cli-tui/tui-renderer/session-state-controller.js.map +0 -1
  1539. package/dist/cli-tui/tui-renderer/skills-controller.d.ts +0 -70
  1540. package/dist/cli-tui/tui-renderer/skills-controller.d.ts.map +0 -1
  1541. package/dist/cli-tui/tui-renderer/skills-controller.js +0 -411
  1542. package/dist/cli-tui/tui-renderer/skills-controller.js.map +0 -1
  1543. package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts +0 -90
  1544. package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts.map +0 -1
  1545. package/dist/cli-tui/tui-renderer/slash-hint-controller.js +0 -131
  1546. package/dist/cli-tui/tui-renderer/slash-hint-controller.js.map +0 -1
  1547. package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts +0 -13
  1548. package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts.map +0 -1
  1549. package/dist/cli-tui/tui-renderer/tool-retry-setup.js +0 -5
  1550. package/dist/cli-tui/tui-renderer/tool-retry-setup.js.map +0 -1
  1551. package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts +0 -38
  1552. package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts.map +0 -1
  1553. package/dist/cli-tui/tui-renderer/tooling-views-setup.js +0 -48
  1554. package/dist/cli-tui/tui-renderer/tooling-views-setup.js.map +0 -1
  1555. package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts +0 -70
  1556. package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts.map +0 -1
  1557. package/dist/cli-tui/tui-renderer/ui-state-controller.js +0 -184
  1558. package/dist/cli-tui/tui-renderer/ui-state-controller.js.map +0 -1
  1559. package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts +0 -13
  1560. package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts.map +0 -1
  1561. package/dist/cli-tui/tui-renderer/ui-state-setup.js +0 -11
  1562. package/dist/cli-tui/tui-renderer/ui-state-setup.js.map +0 -1
  1563. package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts +0 -26
  1564. package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts.map +0 -1
  1565. package/dist/cli-tui/tui-renderer/utility-views-setup.js +0 -23
  1566. package/dist/cli-tui/tui-renderer/utility-views-setup.js.map +0 -1
  1567. package/dist/cli-tui/tui-renderer/viewport-controller.d.ts +0 -33
  1568. package/dist/cli-tui/tui-renderer/viewport-controller.d.ts.map +0 -1
  1569. package/dist/cli-tui/tui-renderer/viewport-controller.js +0 -98
  1570. package/dist/cli-tui/tui-renderer/viewport-controller.js.map +0 -1
  1571. package/dist/cli-tui/tui-renderer.d.ts +0 -268
  1572. package/dist/cli-tui/tui-renderer.d.ts.map +0 -1
  1573. package/dist/cli-tui/tui-renderer.js +0 -2131
  1574. package/dist/cli-tui/tui-renderer.js.map +0 -1
  1575. package/dist/cli-tui/ui-state.d.ts +0 -27
  1576. package/dist/cli-tui/ui-state.d.ts.map +0 -1
  1577. package/dist/cli-tui/ui-state.js +0 -88
  1578. package/dist/cli-tui/ui-state.js.map +0 -1
  1579. package/dist/cli-tui/update-view.d.ts +0 -16
  1580. package/dist/cli-tui/update-view.d.ts.map +0 -1
  1581. package/dist/cli-tui/update-view.js +0 -45
  1582. package/dist/cli-tui/update-view.js.map +0 -1
  1583. package/dist/cli-tui/user-message.d.ts +0 -17
  1584. package/dist/cli-tui/user-message.d.ts.map +0 -1
  1585. package/dist/cli-tui/user-message.js +0 -83
  1586. package/dist/cli-tui/user-message.js.map +0 -1
  1587. package/dist/cli-tui/utils/borders.d.ts +0 -131
  1588. package/dist/cli-tui/utils/borders.d.ts.map +0 -1
  1589. package/dist/cli-tui/utils/borders.js +0 -254
  1590. package/dist/cli-tui/utils/borders.js.map +0 -1
  1591. package/dist/cli-tui/utils/commands/command-palette-view.d.ts +0 -22
  1592. package/dist/cli-tui/utils/commands/command-palette-view.d.ts.map +0 -1
  1593. package/dist/cli-tui/utils/commands/command-palette-view.js +0 -31
  1594. package/dist/cli-tui/utils/commands/command-palette-view.js.map +0 -1
  1595. package/dist/cli-tui/utils/commands/command-palette.d.ts +0 -29
  1596. package/dist/cli-tui/utils/commands/command-palette.d.ts.map +0 -1
  1597. package/dist/cli-tui/utils/commands/command-palette.js +0 -213
  1598. package/dist/cli-tui/utils/commands/command-palette.js.map +0 -1
  1599. package/dist/cli-tui/utils/commands/command-registry-builder.d.ts +0 -8
  1600. package/dist/cli-tui/utils/commands/command-registry-builder.d.ts.map +0 -1
  1601. package/dist/cli-tui/utils/commands/command-registry-builder.js +0 -9
  1602. package/dist/cli-tui/utils/commands/command-registry-builder.js.map +0 -1
  1603. package/dist/cli-tui/utils/commands/review-prompt.d.ts +0 -10
  1604. package/dist/cli-tui/utils/commands/review-prompt.d.ts.map +0 -1
  1605. package/dist/cli-tui/utils/commands/review-prompt.js +0 -90
  1606. package/dist/cli-tui/utils/commands/review-prompt.js.map +0 -1
  1607. package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts +0 -15
  1608. package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts.map +0 -1
  1609. package/dist/cli-tui/utils/commands/slash-hint-bar.js +0 -106
  1610. package/dist/cli-tui/utils/commands/slash-hint-bar.js.map +0 -1
  1611. package/dist/cli-tui/utils/env-detect.d.ts +0 -11
  1612. package/dist/cli-tui/utils/env-detect.d.ts.map +0 -1
  1613. package/dist/cli-tui/utils/env-detect.js +0 -107
  1614. package/dist/cli-tui/utils/env-detect.js.map +0 -1
  1615. package/dist/cli-tui/utils/external-editor.d.ts +0 -7
  1616. package/dist/cli-tui/utils/external-editor.d.ts.map +0 -1
  1617. package/dist/cli-tui/utils/external-editor.js +0 -53
  1618. package/dist/cli-tui/utils/external-editor.js.map +0 -1
  1619. package/dist/cli-tui/utils/footer-utils.d.ts +0 -169
  1620. package/dist/cli-tui/utils/footer-utils.d.ts.map +0 -1
  1621. package/dist/cli-tui/utils/footer-utils.js +0 -716
  1622. package/dist/cli-tui/utils/footer-utils.js.map +0 -1
  1623. package/dist/cli-tui/utils/footer-visual-widgets.d.ts +0 -38
  1624. package/dist/cli-tui/utils/footer-visual-widgets.d.ts.map +0 -1
  1625. package/dist/cli-tui/utils/footer-visual-widgets.js +0 -141
  1626. package/dist/cli-tui/utils/footer-visual-widgets.js.map +0 -1
  1627. package/dist/cli-tui/utils/git-branch-tracker.d.ts +0 -38
  1628. package/dist/cli-tui/utils/git-branch-tracker.d.ts.map +0 -1
  1629. package/dist/cli-tui/utils/git-branch-tracker.js +0 -90
  1630. package/dist/cli-tui/utils/git-branch-tracker.js.map +0 -1
  1631. package/dist/cli-tui/utils/glyphs.d.ts +0 -207
  1632. package/dist/cli-tui/utils/glyphs.d.ts.map +0 -1
  1633. package/dist/cli-tui/utils/glyphs.js +0 -249
  1634. package/dist/cli-tui/utils/glyphs.js.map +0 -1
  1635. package/dist/cli-tui/utils/layout.d.ts +0 -77
  1636. package/dist/cli-tui/utils/layout.d.ts.map +0 -1
  1637. package/dist/cli-tui/utils/layout.js +0 -83
  1638. package/dist/cli-tui/utils/layout.js.map +0 -1
  1639. package/dist/cli-tui/utils/links.d.ts +0 -2
  1640. package/dist/cli-tui/utils/links.d.ts.map +0 -1
  1641. package/dist/cli-tui/utils/links.js +0 -14
  1642. package/dist/cli-tui/utils/links.js.map +0 -1
  1643. package/dist/cli-tui/utils/motion.d.ts +0 -4
  1644. package/dist/cli-tui/utils/motion.d.ts.map +0 -1
  1645. package/dist/cli-tui/utils/motion.js +0 -28
  1646. package/dist/cli-tui/utils/motion.js.map +0 -1
  1647. package/dist/cli-tui/utils/runtime-badges.d.ts +0 -26
  1648. package/dist/cli-tui/utils/runtime-badges.d.ts.map +0 -1
  1649. package/dist/cli-tui/utils/runtime-badges.js +0 -178
  1650. package/dist/cli-tui/utils/runtime-badges.js.map +0 -1
  1651. package/dist/cli-tui/utils/shimmer.d.ts +0 -12
  1652. package/dist/cli-tui/utils/shimmer.d.ts.map +0 -1
  1653. package/dist/cli-tui/utils/shimmer.js +0 -57
  1654. package/dist/cli-tui/utils/shimmer.js.map +0 -1
  1655. package/dist/cli-tui/utils/stage-labels.d.ts +0 -9
  1656. package/dist/cli-tui/utils/stage-labels.d.ts.map +0 -1
  1657. package/dist/cli-tui/utils/stage-labels.js +0 -65
  1658. package/dist/cli-tui/utils/stage-labels.js.map +0 -1
  1659. package/dist/cli-tui/utils/text-formatting.d.ts +0 -13
  1660. package/dist/cli-tui/utils/text-formatting.d.ts.map +0 -1
  1661. package/dist/cli-tui/utils/text-formatting.js +0 -109
  1662. package/dist/cli-tui/utils/text-formatting.js.map +0 -1
  1663. package/dist/cli-tui/utils/text-preview.d.ts +0 -10
  1664. package/dist/cli-tui/utils/text-preview.d.ts.map +0 -1
  1665. package/dist/cli-tui/utils/text-preview.js +0 -26
  1666. package/dist/cli-tui/utils/text-preview.js.map +0 -1
  1667. package/dist/cli-tui/utils/tool-text-utils.d.ts +0 -42
  1668. package/dist/cli-tui/utils/tool-text-utils.d.ts.map +0 -1
  1669. package/dist/cli-tui/utils/tool-text-utils.js +0 -361
  1670. package/dist/cli-tui/utils/tool-text-utils.js.map +0 -1
  1671. package/dist/cli-tui/welcome-animation.d.ts +0 -24
  1672. package/dist/cli-tui/welcome-animation.d.ts.map +0 -1
  1673. package/dist/cli-tui/welcome-animation.js +0 -99
  1674. package/dist/cli-tui/welcome-animation.js.map +0 -1
  1675. package/dist/cli-tui/welcome-colors.d.ts +0 -3
  1676. package/dist/cli-tui/welcome-colors.d.ts.map +0 -1
  1677. package/dist/cli-tui/welcome-colors.js +0 -39
  1678. package/dist/cli-tui/welcome-colors.js.map +0 -1
  1679. package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts +0 -304
  1680. package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts.map +0 -1
  1681. package/dist/node_modules/@evalops/tui/dist/autocomplete.js +0 -712
  1682. package/dist/node_modules/@evalops/tui/dist/autocomplete.js.map +0 -1
  1683. package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts +0 -185
  1684. package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts.map +0 -1
  1685. package/dist/node_modules/@evalops/tui/dist/components/editor.js +0 -1460
  1686. package/dist/node_modules/@evalops/tui/dist/components/editor.js.map +0 -1
  1687. package/dist/node_modules/@evalops/tui/dist/components/input.d.ts +0 -117
  1688. package/dist/node_modules/@evalops/tui/dist/components/input.d.ts.map +0 -1
  1689. package/dist/node_modules/@evalops/tui/dist/components/input.js +0 -391
  1690. package/dist/node_modules/@evalops/tui/dist/components/input.js.map +0 -1
  1691. package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts +0 -256
  1692. package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts.map +0 -1
  1693. package/dist/node_modules/@evalops/tui/dist/components/layout.js +0 -478
  1694. package/dist/node_modules/@evalops/tui/dist/components/layout.js.map +0 -1
  1695. package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts +0 -199
  1696. package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts.map +0 -1
  1697. package/dist/node_modules/@evalops/tui/dist/components/loader.js +0 -374
  1698. package/dist/node_modules/@evalops/tui/dist/components/loader.js.map +0 -1
  1699. package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts +0 -65
  1700. package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts.map +0 -1
  1701. package/dist/node_modules/@evalops/tui/dist/components/markdown.js +0 -562
  1702. package/dist/node_modules/@evalops/tui/dist/components/markdown.js.map +0 -1
  1703. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts +0 -262
  1704. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts.map +0 -1
  1705. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js +0 -575
  1706. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js.map +0 -1
  1707. package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts +0 -131
  1708. package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts.map +0 -1
  1709. package/dist/node_modules/@evalops/tui/dist/components/select-list.js +0 -257
  1710. package/dist/node_modules/@evalops/tui/dist/components/select-list.js.map +0 -1
  1711. package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts +0 -11
  1712. package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts.map +0 -1
  1713. package/dist/node_modules/@evalops/tui/dist/components/spacer.js +0 -19
  1714. package/dist/node_modules/@evalops/tui/dist/components/spacer.js.map +0 -1
  1715. package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts +0 -22
  1716. package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts.map +0 -1
  1717. package/dist/node_modules/@evalops/tui/dist/components/status-bar.js +0 -44
  1718. package/dist/node_modules/@evalops/tui/dist/components/status-bar.js.map +0 -1
  1719. package/dist/node_modules/@evalops/tui/dist/components/text.d.ts +0 -26
  1720. package/dist/node_modules/@evalops/tui/dist/components/text.d.ts.map +0 -1
  1721. package/dist/node_modules/@evalops/tui/dist/components/text.js +0 -181
  1722. package/dist/node_modules/@evalops/tui/dist/components/text.js.map +0 -1
  1723. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts +0 -15
  1724. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts.map +0 -1
  1725. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js +0 -84
  1726. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js.map +0 -1
  1727. package/dist/node_modules/@evalops/tui/dist/index.d.ts +0 -87
  1728. package/dist/node_modules/@evalops/tui/dist/index.d.ts.map +0 -1
  1729. package/dist/node_modules/@evalops/tui/dist/index.js +0 -85
  1730. package/dist/node_modules/@evalops/tui/dist/index.js.map +0 -1
  1731. package/dist/node_modules/@evalops/tui/dist/keymap.d.ts +0 -189
  1732. package/dist/node_modules/@evalops/tui/dist/keymap.d.ts.map +0 -1
  1733. package/dist/node_modules/@evalops/tui/dist/keymap.js +0 -363
  1734. package/dist/node_modules/@evalops/tui/dist/keymap.js.map +0 -1
  1735. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts +0 -25
  1736. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts.map +0 -1
  1737. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js +0 -828
  1738. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js.map +0 -1
  1739. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts +0 -40
  1740. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts.map +0 -1
  1741. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js +0 -474
  1742. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js.map +0 -1
  1743. package/dist/node_modules/@evalops/tui/dist/terminal.d.ts +0 -201
  1744. package/dist/node_modules/@evalops/tui/dist/terminal.d.ts.map +0 -1
  1745. package/dist/node_modules/@evalops/tui/dist/terminal.js +0 -241
  1746. package/dist/node_modules/@evalops/tui/dist/terminal.js.map +0 -1
  1747. package/dist/node_modules/@evalops/tui/dist/tui.d.ts +0 -263
  1748. package/dist/node_modules/@evalops/tui/dist/tui.d.ts.map +0 -1
  1749. package/dist/node_modules/@evalops/tui/dist/tui.js +0 -694
  1750. package/dist/node_modules/@evalops/tui/dist/tui.js.map +0 -1
  1751. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts +0 -14
  1752. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts.map +0 -1
  1753. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js +0 -44
  1754. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js.map +0 -1
  1755. package/dist/node_modules/@evalops/tui/dist/utils.d.ts +0 -32
  1756. package/dist/node_modules/@evalops/tui/dist/utils.d.ts.map +0 -1
  1757. package/dist/node_modules/@evalops/tui/dist/utils.js +0 -556
  1758. package/dist/node_modules/@evalops/tui/dist/utils.js.map +0 -1
  1759. package/dist/node_modules/@evalops/tui/package.json +0 -58
  1760. package/dist/skills/artifact-metadata.d.ts +0 -16
  1761. package/dist/skills/artifact-metadata.d.ts.map +0 -1
  1762. package/dist/skills/artifact-metadata.js +0 -86
  1763. package/dist/skills/artifact-metadata.js.map +0 -1
  1764. package/dist/skills/composer-diagnostics.d.ts +0 -69
  1765. package/dist/skills/composer-diagnostics.d.ts.map +0 -1
  1766. package/dist/skills/composer-diagnostics.js +0 -78
  1767. package/dist/skills/composer-diagnostics.js.map +0 -1
  1768. package/dist/skills/composer.d.ts +0 -19
  1769. package/dist/skills/composer.d.ts.map +0 -1
  1770. package/dist/skills/composer.js +0 -52
  1771. package/dist/skills/composer.js.map +0 -1
  1772. package/dist/skills/eval-harness.d.ts +0 -38
  1773. package/dist/skills/eval-harness.d.ts.map +0 -1
  1774. package/dist/skills/eval-harness.js +0 -112
  1775. package/dist/skills/eval-harness.js.map +0 -1
  1776. package/dist/skills/index.d.ts +0 -40
  1777. package/dist/skills/index.d.ts.map +0 -1
  1778. package/dist/skills/index.js +0 -40
  1779. package/dist/skills/index.js.map +0 -1
  1780. package/dist/skills/linter.d.ts +0 -36
  1781. package/dist/skills/linter.d.ts.map +0 -1
  1782. package/dist/skills/linter.js +0 -399
  1783. package/dist/skills/linter.js.map +0 -1
  1784. package/dist/skills/loader.d.ts +0 -252
  1785. package/dist/skills/loader.d.ts.map +0 -1
  1786. package/dist/skills/loader.js +0 -957
  1787. package/dist/skills/loader.js.map +0 -1
  1788. package/dist/skills/package-contract.d.ts +0 -45
  1789. package/dist/skills/package-contract.d.ts.map +0 -1
  1790. package/dist/skills/package-contract.js +0 -153
  1791. package/dist/skills/package-contract.js.map +0 -1
  1792. package/dist/skills/runtime-activation.d.ts +0 -68
  1793. package/dist/skills/runtime-activation.d.ts.map +0 -1
  1794. package/dist/skills/runtime-activation.js +0 -228
  1795. package/dist/skills/runtime-activation.js.map +0 -1
  1796. package/dist/skills/scaffold-from-template.d.ts +0 -58
  1797. package/dist/skills/scaffold-from-template.d.ts.map +0 -1
  1798. package/dist/skills/scaffold-from-template.js +0 -72
  1799. package/dist/skills/scaffold-from-template.js.map +0 -1
  1800. package/dist/skills/scaffolder.d.ts +0 -65
  1801. package/dist/skills/scaffolder.d.ts.map +0 -1
  1802. package/dist/skills/scaffolder.js +0 -167
  1803. package/dist/skills/scaffolder.js.map +0 -1
  1804. package/dist/skills/service-client.d.ts +0 -56
  1805. package/dist/skills/service-client.d.ts.map +0 -1
  1806. package/dist/skills/service-client.js +0 -266
  1807. package/dist/skills/service-client.js.map +0 -1
  1808. package/dist/skills/skill-templates.d.ts +0 -70
  1809. package/dist/skills/skill-templates.d.ts.map +0 -1
  1810. package/dist/skills/skill-templates.js +0 -154
  1811. package/dist/skills/skill-templates.js.map +0 -1
  1812. package/dist/skills/tool.d.ts +0 -21
  1813. package/dist/skills/tool.d.ts.map +0 -1
  1814. package/dist/skills/tool.js +0 -334
  1815. package/dist/skills/tool.js.map +0 -1
  1816. package/dist/skills/trust-cache.d.ts +0 -58
  1817. package/dist/skills/trust-cache.d.ts.map +0 -1
  1818. package/dist/skills/trust-cache.js +0 -130
  1819. package/dist/skills/trust-cache.js.map +0 -1
  1820. package/dist/skills/types.d.ts +0 -91
  1821. package/dist/skills/types.d.ts.map +0 -1
  1822. package/dist/skills/types.js +0 -8
  1823. package/dist/skills/types.js.map +0 -1
  1824. /package/dist/{cli-tui → runtime}/prompt-queue.d.ts +0 -0
  1825. /package/dist/{cli-tui → runtime}/prompt-queue.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/agent/swarm/executor.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Swarm Executor\n *\n * Manages parallel execution of multiple agent instances (teammates)\n * working on tasks from a plan. Uses subprocess spawning similar to\n * the Oracle tool pattern.\n */\n\nimport { type ChildProcess, spawn } from \"node:child_process\";\nimport { createHash, randomUUID } from \"node:crypto\";\nimport { existsSync, mkdirSync, unlinkSync, writeFileSync } from \"node:fs\";\nimport { tmpdir } from \"node:os\";\nimport { dirname, join } from \"node:path\";\nimport { type DelegationPrompt, formatDelegation } from \"@evalops/contracts\";\nimport { codexSubagentTypeA2ASkillID } from \"../../codex/subagent-dispatch-table.js\";\nimport {\n\tbuildEvalOpsDelegationEnvironment,\n\tissueEvalOpsDelegationToken,\n} from \"../../oauth/index.js\";\nimport { rankA2ACapabilityPeers } from \"../../platform/a2a-capability-market.js\";\nimport {\n\ttype A2AServiceConfig,\n\ttype A2ATask,\n\ttype A2ATaskPushNotificationConfig,\n\tbuildA2AUserMessage,\n\tcancelA2ATask,\n\tgetA2ATask,\n\tnormalizeA2ABaseUrl,\n\tresolveA2AServiceConfig,\n\tsendA2AMessage,\n} from \"../../platform/a2a-client.js\";\nimport { a2aDelegationLaneId } from \"../../platform/a2a-completion-audit.js\";\nimport {\n\ttype ResolvedA2APeer,\n\tresolveA2APeer,\n} from \"../../platform/a2a-peer-registry.js\";\nimport {\n\textractA2ATaskText,\n\tisTerminalA2AState,\n\trecordA2ATaskStart,\n\tupdateA2ATaskInLedger,\n} from \"../../platform/a2a-task-ledger.js\";\nimport {\n\ttype PlatformAgentRegistryA2APeerCandidate,\n\tPlatformAgentStatusValue,\n\tlistA2APeerCandidatesWithPlatform,\n\tresolveAgentRegistryServiceConfig,\n} from \"../../platform/agent-registry-client.js\";\nimport { getEnvValue, trimString } from \"../../platform/client.js\";\nimport {\n\trecordA2ADelegationTelemetry as recordA2ADelegationTelemetryEvent,\n\trecordSubagentDispatch,\n} from \"../../telemetry.js\";\nimport { createLogger } from \"../../utils/logger.js\";\nimport { sanitizeWithStaticMask } from \"../../utils/secret-redactor.js\";\nimport {\n\ttype AgentMode,\n\ttype ModelProvider,\n\ttype ResolvedSubagentDispatch,\n\tparseMode,\n\tresolveSubagentDispatch,\n} from \"../modes.js\";\nimport { publishSwarmRuntimeEvent } from \"./runtime-events.js\";\nimport type {\n\tSwarmA2AConfig,\n\tSwarmConfig,\n\tSwarmEvent,\n\tSwarmEventHandler,\n\tSwarmState,\n\tSwarmStatus,\n\tSwarmTask,\n\tSwarmTeammate,\n\tTeammateStatus,\n} from \"./types.js\";\n\nconst logger = createLogger(\"agent:swarm:executor\");\n\n/** Default timeout per task (5 minutes) */\nconst DEFAULT_TASK_TIMEOUT_MS = 5 * 60 * 1000;\n\n/** Maximum concurrent teammates */\nconst MAX_TEAMMATES = 10;\nconst DEFAULT_A2A_POLL_INTERVAL_MS = 2_000;\nconst DEDICATED_A2A_TOKEN_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_A2A_TOKEN\",\n\t\"MAESTRO_A2A_TOKEN\",\n\t\"MAESTRO_AGENT_RUNTIME_SERVICE_TOKEN\",\n\t\"AGENT_RUNTIME_SERVICE_TOKEN\",\n] as const;\nconst A2A_SKILL_PRIMARY_TASK_CLASSES = new Map<string, string>([\n\t[\"maestro.subagent.code-writer\", \"code.implementation\"],\n\t[\"maestro.subagent.code-review\", \"code.review\"],\n\t[\"maestro.subagent.test-runner\", \"test.execution\"],\n\t[\"maestro.subagent.repo-explorer\", \"repo.inspect\"],\n\t[\"maestro.subagent.release-shepherd\", \"release.follow-through\"],\n]);\nconst A2A_PUSH_TOKEN_REDACTION = \"<redacted>\";\nconst SWARM_SUBAGENT_TASK_CLASSES = new Map<string, string>([\n\t[\"coder\", \"code.implementation\"],\n\t[\"worker\", \"code.implementation\"],\n\t[\"review\", \"code.review\"],\n\t[\"reviewer\", \"code.review\"],\n\t[\"explore\", \"repo.inspect\"],\n\t[\"explorer\", \"repo.inspect\"],\n\t[\"research\", \"repo.inspect\"],\n\t[\"researcher\", \"repo.inspect\"],\n\t[\"test\", \"test.execution\"],\n\t[\"ci\", \"test.execution\"],\n\t[\"ci-monitor\", \"test.execution\"],\n\t[\"planner\", \"agent.delegation\"],\n\t[\"minimal\", \"agent.delegation\"],\n\t[\"custom\", \"agent.delegation\"],\n]);\n\n/** Teammate name prefixes for friendly identification */\nconst TEAMMATE_NAMES = [\n\t\"Alpha\",\n\t\"Beta\",\n\t\"Gamma\",\n\t\"Delta\",\n\t\"Epsilon\",\n\t\"Zeta\",\n\t\"Eta\",\n\t\"Theta\",\n\t\"Iota\",\n\t\"Kappa\",\n];\n\nconst MODEL_PROVIDERS: ModelProvider[] = [\n\t\"anthropic\",\n\t\"openai\",\n\t\"openai-codex\",\n\t\"google\",\n];\n\nfunction toSafeTaskTempBasename(taskId: string): string {\n\tconst safeId = taskId\n\t\t.replace(/[^A-Za-z0-9_-]+/g, \"_\")\n\t\t.replace(/^_+|_+$/g, \"\");\n\treturn `swarm-task-${safeId || \"task\"}.md`;\n}\n\nfunction cloneTask(task: SwarmTask): SwarmTask {\n\treturn {\n\t\t...task,\n\t\tfiles: task.files ? [...task.files] : undefined,\n\t\tdependsOn: task.dependsOn ? [...task.dependsOn] : undefined,\n\t};\n}\n\nfunction cloneTeammate(teammate: SwarmTeammate): SwarmTeammate {\n\treturn {\n\t\t...teammate,\n\t\tcurrentTask: teammate.currentTask\n\t\t\t? cloneTask(teammate.currentTask)\n\t\t\t: undefined,\n\t\tcompletedTasks: [...teammate.completedTasks],\n\t\ta2a: teammate.a2a ? { ...teammate.a2a } : undefined,\n\t};\n}\n\nfunction cloneA2APushNotificationConfig(\n\tconfig: A2ATaskPushNotificationConfig | undefined,\n\toptions: { redactSecrets?: boolean } = {},\n): A2ATaskPushNotificationConfig | undefined {\n\tif (!config) {\n\t\treturn undefined;\n\t}\n\tconst authentication = config.authentication\n\t\t? {\n\t\t\t\t...config.authentication,\n\t\t\t\t...(config.authentication.schemes\n\t\t\t\t\t? { schemes: [...config.authentication.schemes] }\n\t\t\t\t\t: {}),\n\t\t\t\t...(options.redactSecrets && config.authentication.credentials\n\t\t\t\t\t? { credentials: A2A_PUSH_TOKEN_REDACTION }\n\t\t\t\t\t: {}),\n\t\t\t}\n\t\t: undefined;\n\treturn {\n\t\t...config,\n\t\t...(authentication ? { authentication } : {}),\n\t\t...(options.redactSecrets && config.token\n\t\t\t? { token: A2A_PUSH_TOKEN_REDACTION }\n\t\t\t: {}),\n\t};\n}\n\nfunction cloneConfig(config: SwarmConfig): SwarmConfig {\n\treturn {\n\t\t...config,\n\t\ta2a: config.a2a\n\t\t\t? {\n\t\t\t\t\t...config.a2a,\n\t\t\t\t\tpeers: config.a2a.peers ? [...config.a2a.peers] : undefined,\n\t\t\t\t\t...(config.a2a.pushNotificationConfig\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tpushNotificationConfig: cloneA2APushNotificationConfig(\n\t\t\t\t\t\t\t\t\tconfig.a2a.pushNotificationConfig,\n\t\t\t\t\t\t\t\t\t{ redactSecrets: true },\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {}),\n\t\t\t\t}\n\t\t\t: undefined,\n\t\ttasks: config.tasks.map(cloneTask),\n\t};\n}\n\nfunction cloneState(state: SwarmState): SwarmState {\n\treturn {\n\t\t...state,\n\t\tconfig: cloneConfig(state.config),\n\t\tteammates: state.teammates.map(cloneTeammate),\n\t\tpendingTasks: state.pendingTasks.map(cloneTask),\n\t\tactiveTasks: new Map(state.activeTasks),\n\t\tcompletedTasks: new Set(state.completedTasks),\n\t\tfailedTasks: new Set(state.failedTasks),\n\t};\n}\n\nfunction parseModelProvider(\n\tvalue: string | undefined,\n): ModelProvider | undefined {\n\tconst provider = value?.trim();\n\tif (!provider) {\n\t\treturn undefined;\n\t}\n\treturn MODEL_PROVIDERS.includes(provider as ModelProvider)\n\t\t? (provider as ModelProvider)\n\t\t: undefined;\n}\n\nfunction parseAgentMode(value: string | undefined): AgentMode | undefined {\n\tconst mode = value?.trim();\n\tif (!mode) {\n\t\treturn undefined;\n\t}\n\treturn parseMode(mode) ?? undefined;\n}\n\nfunction providerFromPrefixedModel(\n\tmodel: string | undefined,\n): ModelProvider | undefined {\n\tconst slashIndex = model?.indexOf(\"/\") ?? -1;\n\tif (!model || slashIndex <= 0) {\n\t\treturn undefined;\n\t}\n\treturn parseModelProvider(model.slice(0, slashIndex));\n}\n\nfunction parseBooleanEnv(value: string | undefined): boolean | undefined {\n\tconst normalized = value?.trim().toLowerCase();\n\tif (!normalized) {\n\t\treturn undefined;\n\t}\n\tif ([\"1\", \"true\", \"yes\", \"on\"].includes(normalized)) {\n\t\treturn true;\n\t}\n\tif ([\"0\", \"false\", \"no\", \"off\"].includes(normalized)) {\n\t\treturn false;\n\t}\n\treturn undefined;\n}\n\nfunction parsePositiveIntEnv(value: string | undefined): number | undefined {\n\tconst parsed = Number.parseInt(value ?? \"\", 10);\n\treturn Number.isFinite(parsed) && parsed > 0 ? parsed : undefined;\n}\n\nfunction parseCSVEnv(value: string | undefined): string[] | undefined {\n\tconst parsed = value\n\t\t?.split(\",\")\n\t\t.map((item) => item.trim())\n\t\t.filter(Boolean);\n\treturn parsed && parsed.length > 0 ? parsed : undefined;\n}\n\nfunction resolveA2APushNotificationConfig(\n\tconfigured: A2ATaskPushNotificationConfig | undefined,\n): A2ATaskPushNotificationConfig | undefined {\n\tconst url =\n\t\ttrimString(configured?.url) ??\n\t\ttrimString(process.env.MAESTRO_SWARM_A2A_PUSH_URL);\n\tif (!url) {\n\t\treturn undefined;\n\t}\n\tconst id =\n\t\ttrimString(configured?.id) ??\n\t\ttrimString(process.env.MAESTRO_SWARM_A2A_PUSH_ID);\n\tconst token =\n\t\ttrimString(configured?.token) ??\n\t\ttrimString(process.env.MAESTRO_SWARM_A2A_PUSH_TOKEN);\n\tconst base = cloneA2APushNotificationConfig(configured) ?? {};\n\treturn {\n\t\t...base,\n\t\turl,\n\t\t...(id ? { id } : {}),\n\t\t...(token ? { token } : {}),\n\t};\n}\n\nfunction a2aStateCompleted(state: string | undefined): boolean {\n\treturn /COMPLETED/u.test(\n\t\t(state ?? \"\").toUpperCase().replace(/[\\s-]+/gu, \"_\"),\n\t);\n}\n\nfunction hashA2AEndpointUrlForTelemetry(\n\turl: string | undefined,\n): string | undefined {\n\tconst trimmed = url?.trim();\n\tif (!trimmed) {\n\t\treturn undefined;\n\t}\n\tconst canonical = canonicalizeA2AEndpointUrlForTelemetry(trimmed);\n\treturn `sha256:${createHash(\"sha256\").update(canonical).digest(\"hex\")}`;\n}\n\nfunction platformA2APeerRouteName(\n\tcandidate: PlatformAgentRegistryA2APeerCandidate,\n\tendpointHash = hashA2AEndpointUrlForTelemetry(candidate.endpointUrl),\n): string {\n\tconst configuredName =\n\t\ttrimString(candidate.agent.name) ?? trimString(candidate.agent.id);\n\tif (configuredName) {\n\t\treturn configuredName;\n\t}\n\treturn endpointHash\n\t\t? `endpoint:${endpointHash}`\n\t\t: \"platform-agent-registry-peer\";\n}\n\nfunction canonicalizeA2AEndpointUrlForTelemetry(url: string): string {\n\ttry {\n\t\tconst parsed = new URL(url);\n\t\tparsed.username = \"\";\n\t\tparsed.password = \"\";\n\t\tparsed.search = \"\";\n\t\tparsed.hash = \"\";\n\t\tparsed.pathname = parsed.pathname.replace(/\\/+$/u, \"\") || \"/\";\n\t\treturn normalizeA2ABaseUrl(parsed.toString().replace(/\\/$/u, \"\"));\n\t} catch {\n\t\treturn normalizeA2ABaseUrl(\n\t\t\turl.replace(/[?#].*$/u, \"\").replace(/\\/+$/u, \"\"),\n\t\t);\n\t}\n}\n\nfunction a2aTerminalPhase(\n\tstate: string | undefined,\n): \"task_completed\" | \"task_failed\" | \"task_cancelled\" {\n\tconst normalized = (state ?? \"\").toUpperCase().replace(/[\\s-]+/gu, \"_\");\n\tif (normalized.includes(\"COMPLETED\")) {\n\t\treturn \"task_completed\";\n\t}\n\tif (normalized.includes(\"CANCEL\")) {\n\t\treturn \"task_cancelled\";\n\t}\n\treturn \"task_failed\";\n}\n\ntype A2ATeammateRoute = {\n\tname: string;\n\tdisplayName?: string;\n\tconfig: A2AServiceConfig;\n\tskillId?: string;\n\ttaskClass?: string;\n\trole?: string;\n\ttasksPath?: string;\n\tpeerAgentId?: string;\n\tpeerEndpointHash?: string;\n\tpeerEndpointKind?: string;\n\tsource: \"registry\" | \"platform-agent-registry\";\n};\n\ntype RemoteA2ARunningTask = {\n\troute: A2ATeammateRoute;\n\ttaskId: string;\n};\n\nfunction buildDispatchEnv(\n\tdispatch: ResolvedSubagentDispatch | null,\n\treasoningEffortOverride?: string,\n\truntimeSelection?: {\n\t\tmodel?: string;\n\t\tprovider?: string;\n\t\tsource?: string;\n\t},\n): Record<string, string> {\n\tif (!dispatch) {\n\t\treturn {};\n\t}\n\n\tconst env: Record<string, string> = {\n\t\tMAESTRO_SWARM_MODE_NAME: dispatch.mode,\n\t\tMAESTRO_SWARM_SUBAGENT_TYPE: dispatch.type,\n\t\tMAESTRO_SWARM_MODEL: runtimeSelection?.model ?? dispatch.model,\n\t\tMAESTRO_SWARM_REASONING_EFFORT:\n\t\t\treasoningEffortOverride ?? dispatch.reasoningEffort,\n\t\tMAESTRO_SWARM_DISPATCH_SOURCE: runtimeSelection?.source ?? dispatch.source,\n\t};\n\tconst provider = runtimeSelection?.provider ?? dispatch.provider;\n\tif (provider) {\n\t\tenv.MAESTRO_SWARM_MODEL_PROVIDER = provider;\n\t}\n\treturn env;\n}\n\ntype TaskDispatchResolution = {\n\tdispatch: ResolvedSubagentDispatch;\n\tstartedAt: number;\n\tlatencyMs: number;\n\tparentMode: AgentMode;\n\tparentModelProvider?: ModelProvider;\n};\n\n/**\n * SwarmExecutor manages a swarm of parallel agent instances.\n */\nexport class SwarmExecutor {\n\tprivate state: SwarmState;\n\tprivate processes: Map<string, ChildProcess> = new Map();\n\tprivate remoteA2ATasks: Map<string, RemoteA2ARunningTask> = new Map();\n\tprivate remoteA2ACancelTasks: Map<string, Promise<A2ATask | undefined>> =\n\t\tnew Map();\n\tprivate a2aRouteCursor = 0;\n\tprivate eventHandlers: Set<SwarmEventHandler> = new Set();\n\tprivate abortController: AbortController;\n\n\tconstructor(config: SwarmConfig) {\n\t\t// Validate config\n\t\tif (config.teammateCount < 1 || config.teammateCount > MAX_TEAMMATES) {\n\t\t\tthrow new Error(\n\t\t\t\t`Teammate count must be between 1 and ${MAX_TEAMMATES}, got ${config.teammateCount}`,\n\t\t\t);\n\t\t}\n\n\t\tthis.abortController = new AbortController();\n\n\t\t// Initialize state\n\t\tthis.state = {\n\t\t\tid: randomUUID(),\n\t\t\tstatus: \"initializing\",\n\t\t\tconfig,\n\t\t\tteammates: [],\n\t\t\tpendingTasks: [...config.tasks],\n\t\t\tactiveTasks: new Map(),\n\t\t\tcompletedTasks: new Set(),\n\t\t\tfailedTasks: new Set(),\n\t\t\tstartedAt: Date.now(),\n\t\t};\n\n\t\t// Create teammates\n\t\tfor (let i = 0; i < config.teammateCount; i++) {\n\t\t\tthis.state.teammates.push({\n\t\t\t\tid: randomUUID(),\n\t\t\t\tname: TEAMMATE_NAMES[i] || `Teammate-${i + 1}`,\n\t\t\t\tstatus: \"pending\",\n\t\t\t\tcompletedTasks: [],\n\t\t\t});\n\t\t}\n\n\t\tlogger.info(\"Swarm initialized\", {\n\t\t\tswarmId: this.state.id,\n\t\t\tteammateCount: config.teammateCount,\n\t\t\ttaskCount: config.tasks.length,\n\t\t});\n\t}\n\n\t/**\n\t * Subscribe to swarm events.\n\t */\n\tonEvent(handler: SwarmEventHandler): () => void {\n\t\tthis.eventHandlers.add(handler);\n\t\treturn () => this.eventHandlers.delete(handler);\n\t}\n\n\t/**\n\t * Emit an event to all handlers.\n\t */\n\tprivate emit(event: SwarmEvent): void {\n\t\tpublishSwarmRuntimeEvent({\n\t\t\tevent,\n\t\t\tparentSessionId: this.state.config.parentSessionId,\n\t\t\tcwd: this.state.config.cwd,\n\t\t\tplanFile: this.state.config.planFile,\n\t\t});\n\t\tfor (const handler of this.eventHandlers) {\n\t\t\ttry {\n\t\t\t\thandler(event);\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(\n\t\t\t\t\t\"Event handler error\",\n\t\t\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get the current swarm state.\n\t */\n\tgetState(): SwarmState {\n\t\treturn cloneState(this.state);\n\t}\n\n\t/**\n\t * Cancel the swarm execution.\n\t */\n\tcancel(): void {\n\t\tconst remoteTasks = [...this.remoteA2ATasks.entries()];\n\t\tfor (const [teammateId, remoteTask] of remoteTasks) {\n\t\t\tvoid this.cancelRemoteA2ATask(teammateId, remoteTask);\n\t\t}\n\n\t\tthis.abortController.abort();\n\t\tthis.state.status = \"cancelled\";\n\n\t\t// Kill all running processes\n\t\tfor (const [teammateId, proc] of this.processes) {\n\t\t\ttry {\n\t\t\t\tproc.kill(\"SIGTERM\");\n\t\t\t} catch {\n\t\t\t\t// Process may already be dead\n\t\t\t}\n\t\t\tconst teammate = this.state.teammates.find((t) => t.id === teammateId);\n\t\t\tif (teammate) {\n\t\t\t\tteammate.status = \"cancelled\";\n\t\t\t\tteammate.currentTask = undefined;\n\t\t\t}\n\t\t}\n\n\t\tfor (const teammate of this.state.teammates) {\n\t\t\tif (teammate.status === \"running\" || teammate.currentTask) {\n\t\t\t\tteammate.status = \"cancelled\";\n\t\t\t\tteammate.currentTask = undefined;\n\t\t\t\tteammate.completedAt = Date.now();\n\t\t\t}\n\t\t}\n\n\t\tthis.state.activeTasks.clear();\n\t\tthis.processes.clear();\n\t\tlogger.info(\"Swarm cancelled\", { swarmId: this.state.id });\n\t}\n\n\tprivate async cancelRemoteA2ATask(\n\t\tteammateId: string,\n\t\tremoteTask: RemoteA2ARunningTask,\n\t): Promise<A2ATask | undefined> {\n\t\tconst existingCancel = this.remoteA2ACancelTasks.get(teammateId);\n\t\tif (existingCancel) {\n\t\t\treturn existingCancel;\n\t\t}\n\t\tconst cancelTask = (async () => {\n\t\t\ttry {\n\t\t\t\tconst cancelledTask = await cancelA2ATask(\n\t\t\t\t\tremoteTask.route.config,\n\t\t\t\t\tremoteTask.taskId,\n\t\t\t\t);\n\t\t\t\tawait this.updateA2ASwarmTaskLedger(remoteTask.route, cancelledTask);\n\t\t\t\treturn cancelledTask;\n\t\t\t} catch (error) {\n\t\t\t\tlogger.warn(\"Failed to cancel remote A2A swarm task\", {\n\t\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t\t),\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\tteammateId,\n\t\t\t\t\tremoteTaskId: remoteTask.taskId,\n\t\t\t\t\tpeer: remoteTask.route.name,\n\t\t\t\t});\n\t\t\t\treturn undefined;\n\t\t\t} finally {\n\t\t\t\tthis.remoteA2ATasks.delete(teammateId);\n\t\t\t}\n\t\t})();\n\t\tthis.remoteA2ACancelTasks.set(teammateId, cancelTask);\n\t\treturn cancelTask;\n\t}\n\n\t/**\n\t * Execute the swarm - runs all tasks with available teammates.\n\t */\n\tasync execute(): Promise<SwarmState> {\n\t\tthis.state.status = \"running\";\n\t\tthis.emit({\n\t\t\ttype: \"swarm_start\",\n\t\t\tswarmId: this.state.id,\n\t\t\tconfig: cloneConfig(this.state.config),\n\t\t});\n\n\t\ttry {\n\t\t\t// Sort tasks by priority (higher first) and dependencies\n\t\t\tthis.state.pendingTasks.sort(\n\t\t\t\t(a, b) => (b.priority ?? 0) - (a.priority ?? 0),\n\t\t\t);\n\n\t\t\t// Main execution loop\n\t\t\twhile (\n\t\t\t\tthis.state.status === \"running\" &&\n\t\t\t\t(this.state.pendingTasks.length > 0 || this.state.activeTasks.size > 0)\n\t\t\t) {\n\t\t\t\tthis.skipTasksBlockedByFailedDependencies();\n\n\t\t\t\t// Assign tasks to idle teammates\n\t\t\t\tawait this.assignTasks();\n\n\t\t\t\t// Wait for any task to complete\n\t\t\t\tif (this.state.activeTasks.size > 0) {\n\t\t\t\t\tawait this.waitForAnyCompletion();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Determine final status\n\t\t\t// Note: status may have been changed to \"cancelled\" asynchronously via cancel()\n\t\t\tconst finalStatus = this.state.status as SwarmStatus;\n\t\t\tif (\n\t\t\t\tthis.state.failedTasks.size > 0 &&\n\t\t\t\t!this.state.config.continueOnFailure\n\t\t\t) {\n\t\t\t\tthis.state.status = \"failed\";\n\t\t\t\tthis.state.error = `${this.state.failedTasks.size} task(s) failed`;\n\t\t\t} else if (finalStatus !== \"cancelled\") {\n\t\t\t\tthis.state.status = \"completed\";\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthis.state.status = \"failed\";\n\t\t\tthis.state.error = error instanceof Error ? error.message : String(error);\n\t\t\tthis.emit({\n\t\t\t\ttype: \"swarm_fail\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\terror: this.state.error,\n\t\t\t});\n\t\t}\n\n\t\tthis.state.completedAt = Date.now();\n\t\tthis.emit({\n\t\t\ttype: \"swarm_complete\",\n\t\t\tswarmId: this.state.id,\n\t\t\tstate: cloneState(this.state),\n\t\t});\n\n\t\tlogger.info(\"Swarm execution complete\", {\n\t\t\tswarmId: this.state.id,\n\t\t\tstatus: this.state.status,\n\t\t\tcompleted: this.state.completedTasks.size,\n\t\t\tfailed: this.state.failedTasks.size,\n\t\t\tduration: this.state.completedAt - this.state.startedAt,\n\t\t});\n\n\t\treturn cloneState(this.state);\n\t}\n\n\t/**\n\t * Assign pending tasks to idle teammates.\n\t */\n\tprivate async assignTasks(): Promise<void> {\n\t\tconst idleTeammates = this.state.teammates.filter(\n\t\t\t(t) => t.status === \"pending\" || t.status === \"completed\",\n\t\t);\n\t\tconst spawnPromises: Promise<void>[] = [];\n\n\t\tfor (const teammate of idleTeammates) {\n\t\t\tconst task = this.getNextTask();\n\t\t\tif (!task) break;\n\n\t\t\t// Update state\n\t\t\tteammate.status = \"running\";\n\t\t\tteammate.currentTask = task;\n\t\t\tteammate.startedAt = Date.now();\n\t\t\tthis.state.activeTasks.set(task.id, teammate.id);\n\n\t\t\t// Remove from pending\n\t\t\tconst pendingIdx = this.state.pendingTasks.findIndex(\n\t\t\t\t(t) => t.id === task.id,\n\t\t\t);\n\t\t\tif (pendingIdx >= 0) {\n\t\t\t\tthis.state.pendingTasks.splice(pendingIdx, 1);\n\t\t\t}\n\n\t\t\tthis.emit({ type: \"teammate_spawn\", swarmId: this.state.id, teammate });\n\t\t\tthis.emit({\n\t\t\t\ttype: \"task_start\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammateId: teammate.id,\n\t\t\t\ttask,\n\t\t\t});\n\n\t\t\t// Spawn the agent process\n\t\t\tspawnPromises.push(this.spawnTeammate(teammate, task));\n\t\t}\n\n\t\tif (spawnPromises.length > 0) {\n\t\t\tawait Promise.all(spawnPromises);\n\t\t}\n\t}\n\n\t/**\n\t * Get the next task that can be executed (dependencies satisfied).\n\t */\n\tprivate getNextTask(): SwarmTask | null {\n\t\tfor (const task of this.state.pendingTasks) {\n\t\t\t// Check dependencies\n\t\t\tif (task.dependsOn && task.dependsOn.length > 0) {\n\t\t\t\tconst allDepsCompleted = task.dependsOn.every((depId) =>\n\t\t\t\t\tthis.state.completedTasks.has(depId),\n\t\t\t\t);\n\t\t\t\tif (!allDepsCompleted) continue;\n\t\t\t}\n\t\t\treturn task;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprivate skipTasksBlockedByFailedDependencies(): void {\n\t\tconst blockedTasks = this.state.pendingTasks.filter((task) =>\n\t\t\ttask.dependsOn?.some((depId) => this.state.failedTasks.has(depId)),\n\t\t);\n\t\tfor (const task of blockedTasks) {\n\t\t\tconst pendingIndex = this.state.pendingTasks.findIndex(\n\t\t\t\t(candidate) => candidate.id === task.id,\n\t\t\t);\n\t\t\tif (pendingIndex >= 0) {\n\t\t\t\tthis.state.pendingTasks.splice(pendingIndex, 1);\n\t\t\t}\n\t\t\tthis.state.failedTasks.add(task.id);\n\t\t\tconst failedDependency = task.dependsOn?.find((depId) =>\n\t\t\t\tthis.state.failedTasks.has(depId),\n\t\t\t);\n\t\t\tconst error = `Dependency ${failedDependency ?? \"unknown\"} failed`;\n\t\t\tthis.emit({\n\t\t\t\ttype: \"task_fail\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammateId: \"dependency\",\n\t\t\t\ttaskId: task.id,\n\t\t\t\terror,\n\t\t\t});\n\t\t\tif (!this.state.config.continueOnFailure) {\n\t\t\t\tthis.state.status = \"failed\";\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Spawn a subprocess agent for a teammate.\n\t */\n\tprivate async buildTeammateEnv(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\tdispatch: ResolvedSubagentDispatch | null,\n\t\truntimeSelection?: {\n\t\t\tmodel?: string;\n\t\t\tprovider?: string;\n\t\t\tsource?: string;\n\t\t},\n\t): Promise<Record<string, string>> {\n\t\tconst baseEnv: Record<string, string> = {\n\t\t\t...process.env,\n\t\t\tMAESTRO_SWARM_MODE: \"1\",\n\t\t\tMAESTRO_SWARM_ID: this.state.id,\n\t\t\tMAESTRO_TEAMMATE_ID: teammate.id,\n\t\t\t...buildDispatchEnv(\n\t\t\t\tdispatch,\n\t\t\t\tthis.state.config.reasoningEffort,\n\t\t\t\truntimeSelection,\n\t\t\t),\n\t\t};\n\n\t\ttry {\n\t\t\tconst delegation = await issueEvalOpsDelegationToken({\n\t\t\t\tagentId: teammate.id,\n\t\t\t\tagentType: \"swarm_teammate\",\n\t\t\t\tcapabilities: [\"swarm_task\"],\n\t\t\t\trunId: `${this.state.id}:${task.id}`,\n\t\t\t\tsurface: \"maestro-swarm\",\n\t\t\t\ttoken: process.env.MAESTRO_EVALOPS_ACCESS_TOKEN,\n\t\t\t\tttlSeconds: Math.max(\n\t\t\t\t\t60,\n\t\t\t\t\tMath.ceil(\n\t\t\t\t\t\t(this.state.config.taskTimeout ?? DEFAULT_TASK_TIMEOUT_MS) / 1000,\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t});\n\t\t\treturn {\n\t\t\t\t...baseEnv,\n\t\t\t\t...buildEvalOpsDelegationEnvironment(delegation),\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tif (\n\t\t\t\tmessage.includes(\"Run /login evalops first\") ||\n\t\t\t\tmessage.includes(\"EvalOps login requires\")\n\t\t\t) {\n\t\t\t\treturn baseEnv;\n\t\t\t}\n\t\t\tlogger.warn(\n\t\t\t\t\"Failed to issue delegated EvalOps token for swarm teammate; using inherited auth\",\n\t\t\t\t{\n\t\t\t\t\terror: message,\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\ttaskId: task.id,\n\t\t\t\t\tteammateId: teammate.id,\n\t\t\t\t},\n\t\t\t);\n\t\t\treturn baseEnv;\n\t\t}\n\t}\n\n\tprivate resolveTaskDispatch(\n\t\ttask: SwarmTask,\n\t\tteammate: SwarmTeammate,\n\t\toptions: { hasModelOverride?: boolean } = {},\n\t): TaskDispatchResolution | null {\n\t\tconst startedAt = Date.now();\n\t\tconst subagentType = task.subagentType ?? this.state.config.subagentType;\n\t\tif (!subagentType) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst mode = this.resolveParentMode();\n\t\tconst parentProvider = this.resolveParentModelProvider();\n\t\tconst dispatch = resolveSubagentDispatch(\n\t\t\tmode,\n\t\t\tsubagentType,\n\t\t\tparentProvider ?? \"openai-codex\",\n\t\t);\n\t\tif (!parentProvider && dispatch.modelTier && !options.hasModelOverride) {\n\t\t\tthis.recordTaskDispatch(\n\t\t\t\ttask,\n\t\t\t\tdispatch,\n\t\t\t\tMath.max(0, Date.now() - startedAt),\n\t\t\t\tfalse,\n\t\t\t\t{\n\t\t\t\t\tparentMode: mode,\n\t\t\t\t\tparentModelProvider: parentProvider,\n\t\t\t\t\tteammateId: teammate.id,\n\t\t\t\t\treason: \"missing_parent_model_provider\",\n\t\t\t\t},\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\tdispatch,\n\t\t\tstartedAt,\n\t\t\tlatencyMs: Math.max(0, Date.now() - startedAt),\n\t\t\tparentMode: mode,\n\t\t\tparentModelProvider: parentProvider,\n\t\t};\n\t}\n\n\tprivate recordTaskDispatch(\n\t\ttask: SwarmTask,\n\t\tdispatch: ResolvedSubagentDispatch,\n\t\tlatencyMs: number,\n\t\tsuccess: boolean,\n\t\toptions: {\n\t\t\tparentMode: AgentMode;\n\t\t\tparentModelProvider?: ModelProvider;\n\t\t\tteammateId?: string;\n\t\t\tmodel?: string;\n\t\t\tprovider?: string;\n\t\t\tsource?: string;\n\t\t\tmodelOverride?: \"task\" | \"config\";\n\t\t\treason?: string;\n\t\t},\n\t): void {\n\t\trecordSubagentDispatch({\n\t\t\tmode: dispatch.mode,\n\t\t\tsubagentType: dispatch.type,\n\t\t\tmodel: options.model ?? dispatch.model,\n\t\t\tprovider: options.provider ?? dispatch.provider,\n\t\t\treasoningEffort:\n\t\t\t\tthis.state.config.reasoningEffort ?? dispatch.reasoningEffort,\n\t\t\tlatencyMs,\n\t\t\tsuccess,\n\t\t\tsource: options.source ?? dispatch.source,\n\t\t\tmetadata: {\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammateId: options.teammateId,\n\t\t\t\ttaskId: task.id,\n\t\t\t\tparentMode: options.parentMode,\n\t\t\t\tparentModelProvider: options.parentModelProvider,\n\t\t\t\tdispatchModel: dispatch.model,\n\t\t\t\tdispatchProvider: dispatch.provider,\n\t\t\t\tdispatchSource: dispatch.source,\n\t\t\t\tmodelTier: dispatch.modelTier,\n\t\t\t\tmodelOverride: options.modelOverride,\n\t\t\t\treason: options.reason,\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate resolveParentMode(): AgentMode {\n\t\treturn (\n\t\t\tthis.state.config.mode ??\n\t\t\tparseAgentMode(process.env.MAESTRO_MODE) ??\n\t\t\t\"smart\"\n\t\t);\n\t}\n\n\tprivate resolveParentModelProvider(): ModelProvider | undefined {\n\t\treturn (\n\t\t\tthis.state.config.modelProvider ??\n\t\t\tparseModelProvider(process.env.MAESTRO_MODEL_PROVIDER) ??\n\t\t\tproviderFromPrefixedModel(process.env.MAESTRO_MODEL)\n\t\t);\n\t}\n\n\tprivate resolveA2AConfig(): SwarmA2AConfig | null {\n\t\tconst transport =\n\t\t\tthis.state.config.transport ??\n\t\t\ttrimString(process.env.MAESTRO_SWARM_TRANSPORT);\n\t\tif (transport !== \"a2a\") {\n\t\t\treturn null;\n\t\t}\n\t\tconst configured = this.state.config.a2a ?? {};\n\t\tconst peers =\n\t\t\tconfigured.peers ?? parseCSVEnv(getEnvValue([\"MAESTRO_SWARM_A2A_PEERS\"]));\n\t\treturn {\n\t\t\t...configured,\n\t\t\t...(peers ? { peers } : {}),\n\t\t\tregistryPath:\n\t\t\t\tconfigured.registryPath ??\n\t\t\t\ttrimString(process.env.MAESTRO_SWARM_A2A_REGISTRY),\n\t\t\ttasksPath:\n\t\t\t\tconfigured.tasksPath ?? trimString(process.env.MAESTRO_SWARM_A2A_TASKS),\n\t\t\tskillId:\n\t\t\t\tconfigured.skillId ??\n\t\t\t\ttrimString(process.env.MAESTRO_SWARM_A2A_SKILL_ID),\n\t\t\trole: configured.role ?? trimString(process.env.MAESTRO_SWARM_A2A_ROLE),\n\t\t\tdiscover:\n\t\t\t\tconfigured.discover ??\n\t\t\t\tparseBooleanEnv(process.env.MAESTRO_SWARM_A2A_DISCOVER),\n\t\t\tworkspaceId:\n\t\t\t\tconfigured.workspaceId ??\n\t\t\t\ttrimString(process.env.MAESTRO_SWARM_A2A_WORKSPACE_ID),\n\t\t\tcapability:\n\t\t\t\tconfigured.capability ??\n\t\t\t\ttrimString(process.env.MAESTRO_SWARM_A2A_CAPABILITY),\n\t\t\tsurface:\n\t\t\t\tconfigured.surface ?? trimString(process.env.MAESTRO_SWARM_A2A_SURFACE),\n\t\t\tpreferInternalEndpoint:\n\t\t\t\tconfigured.preferInternalEndpoint ??\n\t\t\t\tparseBooleanEnv(process.env.MAESTRO_SWARM_A2A_PREFER_INTERNAL),\n\t\t\tlimit:\n\t\t\t\tconfigured.limit ??\n\t\t\t\tparsePositiveIntEnv(process.env.MAESTRO_SWARM_A2A_LIMIT),\n\t\t\ttimeoutMs:\n\t\t\t\tconfigured.timeoutMs ??\n\t\t\t\tparsePositiveIntEnv(process.env.MAESTRO_SWARM_A2A_TIMEOUT_MS),\n\t\t\tmaxAttempts:\n\t\t\t\tconfigured.maxAttempts ??\n\t\t\t\tparsePositiveIntEnv(process.env.MAESTRO_SWARM_A2A_MAX_ATTEMPTS),\n\t\t\tmaxWaitMs:\n\t\t\t\tconfigured.maxWaitMs ??\n\t\t\t\tparsePositiveIntEnv(process.env.MAESTRO_SWARM_A2A_MAX_WAIT_MS),\n\t\t\tpollIntervalMs:\n\t\t\t\tconfigured.pollIntervalMs ??\n\t\t\t\tparsePositiveIntEnv(process.env.MAESTRO_SWARM_A2A_POLL_INTERVAL_MS),\n\t\t\tpushNotificationConfig: resolveA2APushNotificationConfig(\n\t\t\t\tconfigured.pushNotificationConfig,\n\t\t\t),\n\t\t};\n\t}\n\n\tprivate async resolveA2ATeammateRoute(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\toptions: SwarmA2AConfig,\n\t): Promise<A2ATeammateRoute> {\n\t\tif (options.discover) {\n\t\t\treturn this.resolvePlatformDiscoveredA2ATeammateRoute(\n\t\t\t\tteammate,\n\t\t\t\ttask,\n\t\t\t\toptions,\n\t\t\t);\n\t\t}\n\t\tconst peerName = this.selectA2APeerName(teammate, task, options);\n\t\tconst peer = await resolveA2APeer(peerName, {\n\t\t\tpath: options.registryPath,\n\t\t\ttimeoutMs: options.timeoutMs,\n\t\t\tmaxAttempts: options.maxAttempts,\n\t\t});\n\t\tconst skillId = this.resolveA2ASkillId(task, options, peer);\n\t\treturn {\n\t\t\tname: peer.name,\n\t\t\tdisplayName: peer.entry.displayName,\n\t\t\tconfig: peer.config,\n\t\t\tskillId,\n\t\t\ttaskClass: this.resolveA2ATaskClass(task, options, skillId),\n\t\t\trole: options.role ?? task.subagentType,\n\t\t\ttasksPath: options.tasksPath,\n\t\t\tpeerEndpointHash: hashA2AEndpointUrlForTelemetry(peer.config.baseUrl),\n\t\t\tsource: \"registry\",\n\t\t};\n\t}\n\n\tprivate async resolvePlatformDiscoveredA2ATeammateRoute(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\toptions: SwarmA2AConfig,\n\t): Promise<A2ATeammateRoute> {\n\t\tconst skillId = this.resolveA2ASkillId(task, options);\n\t\tconst pinnedPeer = trimString(task.a2aPeer);\n\t\tconst routeIndex = pinnedPeer ? 0 : this.nextA2ARouteIndex();\n\t\tconst candidates = await listA2APeerCandidatesWithPlatform({\n\t\t\tworkspaceId: options.workspaceId,\n\t\t\tcapability: options.capability,\n\t\t\tsurface: options.surface ?? \"a2a\",\n\t\t\tstatus: PlatformAgentStatusValue.Idle,\n\t\t\tlimit:\n\t\t\t\toptions.limit ??\n\t\t\t\t(pinnedPeer ? undefined : this.defaultA2ADiscoveryLimit()),\n\t\t\tskillId,\n\t\t\tpreferInternalEndpoint: options.preferInternalEndpoint,\n\t\t});\n\t\tif (!candidates || candidates.length === 0) {\n\t\t\tthrow new Error(\n\t\t\t\t`No Platform A2A peers available for swarm task ${task.id}${\n\t\t\t\t\tskillId ? ` with skill ${skillId}` : \"\"\n\t\t\t\t}`,\n\t\t\t);\n\t\t}\n\t\tconst candidatePool = pinnedPeer\n\t\t\t? candidates.filter((candidate) =>\n\t\t\t\t\tplatformA2ACandidateMatchesPeer(candidate, pinnedPeer),\n\t\t\t\t)\n\t\t\t: candidates;\n\t\tif (candidatePool.length === 0) {\n\t\t\tthrow new Error(\n\t\t\t\t`No Platform A2A peer matched task ${task.id} a2aPeer ${pinnedPeer}`,\n\t\t\t);\n\t\t}\n\t\tconst rankedCandidates = rankA2ACapabilityPeers(candidatePool, {\n\t\t\tskillId,\n\t\t\ttaskClass: this.resolveA2ATaskClass(task, options, skillId),\n\t\t\tpreferInternalEndpoint: options.preferInternalEndpoint,\n\t\t});\n\t\tif (rankedCandidates.length === 0) {\n\t\t\tthrow new Error(\n\t\t\t\t`No Platform A2A peer satisfied capability policy for swarm task ${task.id}${\n\t\t\t\t\tskillId ? ` with skill ${skillId}` : \"\"\n\t\t\t\t}`,\n\t\t\t);\n\t\t}\n\t\tconst candidateIndex = pinnedPeer\n\t\t\t? 0\n\t\t\t: routeIndex % rankedCandidates.length;\n\t\tconst ranked = rankedCandidates[candidateIndex];\n\t\tconst candidate = ranked?.candidate;\n\t\tif (!candidate || !ranked) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Platform A2A peer discovery returned an invalid candidate\",\n\t\t\t);\n\t\t}\n\t\tlogger.info(\"Selected Platform A2A peer through capability market\", {\n\t\t\tswarmId: this.state.id,\n\t\t\ttaskId: task.id,\n\t\t\tagentId: candidate.agent.id,\n\t\t\tscore: ranked.score,\n\t\t\treasons: ranked.reasons,\n\t\t\tskillId: ranked.selectedSkill?.id ?? skillId,\n\t\t});\n\t\tconst config = await this.a2aConfigForPlatformCandidate(candidate, options);\n\t\tconst selectedSkillId = ranked.selectedSkill?.id ?? skillId;\n\t\tconst endpointHash = hashA2AEndpointUrlForTelemetry(candidate.endpointUrl);\n\t\tconst routeName = platformA2APeerRouteName(candidate, endpointHash);\n\t\treturn {\n\t\t\tname: routeName,\n\t\t\tdisplayName: candidate.agent.name,\n\t\t\tconfig,\n\t\t\tskillId: selectedSkillId,\n\t\t\ttaskClass: this.resolveA2ATaskClass(task, options, selectedSkillId),\n\t\t\trole: options.role ?? task.subagentType,\n\t\t\ttasksPath: options.tasksPath,\n\t\t\tpeerAgentId: candidate.agent.id,\n\t\t\tpeerEndpointHash: endpointHash,\n\t\t\tpeerEndpointKind: candidate.endpointKind,\n\t\t\tsource: \"platform-agent-registry\",\n\t\t};\n\t}\n\n\tprivate async a2aConfigForPlatformCandidate(\n\t\tcandidate: PlatformAgentRegistryA2APeerCandidate,\n\t\toptions: SwarmA2AConfig,\n\t): Promise<A2AServiceConfig> {\n\t\tconst platformConfig = await resolveAgentRegistryServiceConfig();\n\t\tif (!platformConfig) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Platform Agent Registry service is not configured for A2A swarm discovery\",\n\t\t\t);\n\t\t}\n\t\tconst candidateAgentId = trimString(candidate.agent.id);\n\t\tconst registryTokenFallback = getEnvValue(DEDICATED_A2A_TOKEN_ENV_VARS)\n\t\t\t? undefined\n\t\t\t: platformConfig.token;\n\t\tconst serviceConfig = await resolveA2AServiceConfig({\n\t\t\tbaseUrl: normalizeA2ABaseUrl(candidate.endpointUrl),\n\t\t\ttoken: registryTokenFallback,\n\t\t\torganizationId: platformConfig.organizationId,\n\t\t\tworkspaceId:\n\t\t\t\tcandidate.agent.workspaceId ??\n\t\t\t\toptions.workspaceId ??\n\t\t\t\tplatformConfig.workspaceId,\n\t\t\t...(candidateAgentId ? { agentId: candidateAgentId } : {}),\n\t\t\tactorId: \"maestro-swarm\",\n\t\t\ttimeoutMs: options.timeoutMs ?? platformConfig.timeoutMs,\n\t\t\tmaxAttempts: options.maxAttempts ?? platformConfig.maxAttempts,\n\t\t});\n\t\tif (!serviceConfig) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Platform A2A peer discovery requires a workspace id for the selected peer\",\n\t\t\t);\n\t\t}\n\t\tif (!candidateAgentId) {\n\t\t\tconst { agentId: _defaultAgentId, ...anonymousServiceConfig } =\n\t\t\t\tserviceConfig;\n\t\t\treturn anonymousServiceConfig;\n\t\t}\n\t\treturn serviceConfig;\n\t}\n\n\tprivate selectA2APeerName(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\toptions: SwarmA2AConfig,\n\t): string {\n\t\tconst peerName = trimString(task.a2aPeer);\n\t\tif (peerName) {\n\t\t\treturn peerName;\n\t\t}\n\t\tconst peers = options.peers ?? [];\n\t\tconst selected = peers[this.nextA2ARouteIndex() % peers.length];\n\t\tif (!selected) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Remote A2A swarm transport requires a task a2aPeer, a2a.peers, MAESTRO_SWARM_A2A_PEERS, or a2a.discover=true\",\n\t\t\t);\n\t\t}\n\t\treturn selected;\n\t}\n\n\tprivate resolveA2ASkillId(\n\t\ttask: SwarmTask,\n\t\toptions: SwarmA2AConfig,\n\t\tpeer?: ResolvedA2APeer,\n\t): string | undefined {\n\t\tconst configured =\n\t\t\ttrimString(task.a2aSkillId) ??\n\t\t\ttrimString(options.skillId) ??\n\t\t\tcodexSubagentTypeA2ASkillID(\n\t\t\t\ttask.subagentType ?? this.state.config.subagentType,\n\t\t\t);\n\t\tif (configured) {\n\t\t\treturn configured;\n\t\t}\n\t\treturn peer?.entry.skills?.[0]?.id;\n\t}\n\n\tprivate resolveA2ATaskClass(\n\t\ttask: SwarmTask,\n\t\toptions: SwarmA2AConfig,\n\t\tskillId: string | undefined,\n\t): string | undefined {\n\t\tconst mappedSkillTaskClass = skillId\n\t\t\t? A2A_SKILL_PRIMARY_TASK_CLASSES.get(skillId)\n\t\t\t: undefined;\n\t\tif (mappedSkillTaskClass) {\n\t\t\treturn mappedSkillTaskClass;\n\t\t}\n\t\tif (\n\t\t\tskillId &&\n\t\t\t(trimString(task.a2aSkillId) || trimString(options.skillId))\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst subagentType = trimString(\n\t\t\ttask.subagentType ?? this.state.config.subagentType,\n\t\t);\n\t\treturn (\n\t\t\t(subagentType\n\t\t\t\t? SWARM_SUBAGENT_TASK_CLASSES.get(subagentType)\n\t\t\t\t: undefined) ?? subagentType\n\t\t);\n\t}\n\n\tprivate teammateIndex(teammate: SwarmTeammate): number {\n\t\tconst index = this.state.teammates.findIndex(\n\t\t\t(item) => item.id === teammate.id,\n\t\t);\n\t\treturn index >= 0 ? index : 0;\n\t}\n\n\tprivate nextA2ARouteIndex(): number {\n\t\tconst index = this.a2aRouteCursor;\n\t\tthis.a2aRouteCursor += 1;\n\t\treturn index;\n\t}\n\n\tprivate defaultA2ADiscoveryLimit(): number {\n\t\treturn Math.max(\n\t\t\t1,\n\t\t\tthis.state.config.teammateCount,\n\t\t\tthis.state.config.tasks.length,\n\t\t);\n\t}\n\n\tprivate async spawnTeammate(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t): Promise<void> {\n\t\tconst tmpFile = join(\n\t\t\ttmpdir(),\n\t\t\t`${this.state.id}-${toSafeTaskTempBasename(task.id)}`,\n\t\t);\n\n\t\tconst delegationPrompt: DelegationPrompt = {\n\t\t\tgoal: `Complete swarm task ${task.id} as teammate \"${teammate.name}\".`,\n\t\t\tcontext: `You are teammate \"${teammate.name}\" in swarm ${this.state.id}, working from plan file ${this.state.config.planFile}.`,\n\t\t\ttask: task.prompt,\n\t\t\tevidence: task.files?.length\n\t\t\t\t? task.files.map((file) => `Relevant file: ${file}`)\n\t\t\t\t: [],\n\t\t\tvalidation:\n\t\t\t\t\"Make the requested changes directly, add or update focused tests when behavior changes, and run the relevant verification before finishing.\",\n\t\t\tstoppingCondition:\n\t\t\t\t\"Stop when the assigned task is complete and report what changed, what you verified, and any blockers. Do not broaden into unrelated tasks.\",\n\t\t};\n\t\tconst prompt = formatDelegation(delegationPrompt);\n\n\t\twriteFileSync(tmpFile, prompt);\n\n\t\tconst a2aConfig = this.resolveA2AConfig();\n\t\tif (a2aConfig) {\n\t\t\tvoid this.spawnA2ATeammate(teammate, task, prompt, tmpFile, a2aConfig);\n\t\t\treturn;\n\t\t}\n\n\t\tconst modelOverride =\n\t\t\ttask.model !== undefined\n\t\t\t\t? \"task\"\n\t\t\t\t: this.state.config.model !== undefined\n\t\t\t\t\t? \"config\"\n\t\t\t\t\t: undefined;\n\t\tconst hasModelOverride = Boolean(modelOverride);\n\t\tconst dispatchResolution = this.resolveTaskDispatch(task, teammate, {\n\t\t\thasModelOverride,\n\t\t});\n\t\tconst dispatch = dispatchResolution?.dispatch ?? null;\n\t\tconst model = task.model ?? this.state.config.model ?? dispatch?.model;\n\t\tconst overrideProvider = hasModelOverride\n\t\t\t? (providerFromPrefixedModel(model) ?? \"unknown\")\n\t\t\t: undefined;\n\t\tconst telemetryProvider =\n\t\t\toverrideProvider ?? (hasModelOverride ? \"unknown\" : dispatch?.provider);\n\t\tconst dispatchSource = hasModelOverride ? \"override\" : dispatch?.source;\n\t\tconst provider = hasModelOverride ? undefined : dispatch?.provider;\n\t\tconst args = [\n\t\t\t\"--no-session\",\n\t\t\t...(provider ? [\"--provider\", provider] : []),\n\t\t\t...(model ? [\"--model\", model] : []),\n\t\t\t\"exec\",\n\t\t\ttmpFile,\n\t\t];\n\t\tconst env = await this.buildTeammateEnv(\n\t\t\tteammate,\n\t\t\ttask,\n\t\t\tdispatch,\n\t\t\tdispatch\n\t\t\t\t? {\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tprovider: telemetryProvider,\n\t\t\t\t\t\tsource: dispatchSource,\n\t\t\t\t\t}\n\t\t\t\t: undefined,\n\t\t);\n\n\t\tif (\n\t\t\tthis.state.status !== \"running\" ||\n\t\t\tthis.abortController.signal.aborted\n\t\t) {\n\t\t\ttry {\n\t\t\t\tunlinkSync(tmpFile);\n\t\t\t} catch {\n\t\t\t\t// Ignore cleanup errors\n\t\t\t}\n\n\t\t\tthis.state.activeTasks.delete(task.id);\n\t\t\tteammate.currentTask = undefined;\n\t\t\tteammate.completedAt = Date.now();\n\n\t\t\tif (teammate.status !== \"cancelled\") {\n\t\t\t\tteammate.status =\n\t\t\t\t\tthis.state.status === \"failed\" ? \"failed\" : \"cancelled\";\n\t\t\t}\n\n\t\t\tthis.emit({\n\t\t\t\ttype: \"teammate_complete\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammate,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst proc = spawn(\"maestro\", args, {\n\t\t\tcwd: this.state.config.cwd,\n\t\t\tstdio: [\"pipe\", \"pipe\", \"pipe\"],\n\t\t\tenv,\n\t\t});\n\n\t\tteammate.pid = proc.pid;\n\t\tthis.processes.set(teammate.id, proc);\n\n\t\tlet dispatchRecorded = false;\n\t\tconst recordDispatchOutcome = (success: boolean, reason?: string): void => {\n\t\t\tif (!dispatch || !dispatchResolution || dispatchRecorded) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdispatchRecorded = true;\n\t\t\tthis.recordTaskDispatch(\n\t\t\t\ttask,\n\t\t\t\tdispatch,\n\t\t\t\tMath.max(0, Date.now() - dispatchResolution.startedAt),\n\t\t\t\tsuccess,\n\t\t\t\t{\n\t\t\t\t\tparentMode: dispatchResolution.parentMode,\n\t\t\t\t\tparentModelProvider: dispatchResolution.parentModelProvider,\n\t\t\t\t\tteammateId: teammate.id,\n\t\t\t\t\tmodel,\n\t\t\t\t\tprovider: telemetryProvider,\n\t\t\t\t\tsource: dispatchSource,\n\t\t\t\t\tmodelOverride,\n\t\t\t\t\treason,\n\t\t\t\t},\n\t\t\t);\n\t\t};\n\n\t\tproc.once(\"spawn\", () => {\n\t\t\trecordDispatchOutcome(true);\n\t\t});\n\n\t\tlet output = \"\";\n\t\tlet errorOutput = \"\";\n\n\t\tproc.stdout?.on(\"data\", (data) => {\n\t\t\toutput += data.toString();\n\t\t});\n\n\t\tproc.stderr?.on(\"data\", (data) => {\n\t\t\terrorOutput += data.toString();\n\t\t});\n\n\t\tconst timeout = this.state.config.taskTimeout ?? DEFAULT_TASK_TIMEOUT_MS;\n\t\tconst timeoutHandle = setTimeout(() => {\n\t\t\tproc.kill(\"SIGTERM\");\n\t\t\tteammate.error = \"Task timed out\";\n\t\t}, timeout);\n\n\t\tproc.on(\"close\", (code) => {\n\t\t\tclearTimeout(timeoutHandle);\n\t\t\tthis.processes.delete(teammate.id);\n\n\t\t\t// Cleanup temp file\n\t\t\ttry {\n\t\t\t\tunlinkSync(tmpFile);\n\t\t\t} catch {\n\t\t\t\t// Ignore cleanup errors\n\t\t\t}\n\n\t\t\tconst taskId = task.id;\n\t\t\tteammate.completedAt = Date.now();\n\t\t\tteammate.currentTask = undefined;\n\t\t\tteammate.output = output;\n\n\t\t\tthis.state.activeTasks.delete(taskId);\n\n\t\t\tif (\n\t\t\t\tthis.state.status === \"cancelled\" ||\n\t\t\t\tteammate.status === \"cancelled\"\n\t\t\t) {\n\t\t\t\tteammate.status = \"cancelled\";\n\t\t\t\tthis.emit({\n\t\t\t\t\ttype: \"teammate_complete\",\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\tteammate,\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (code === 0 && !teammate.error) {\n\t\t\t\tteammate.status = \"completed\";\n\t\t\t\tteammate.completedTasks.push(taskId);\n\t\t\t\tthis.state.completedTasks.add(taskId);\n\t\t\t\tthis.emit({\n\t\t\t\t\ttype: \"task_complete\",\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\tteammateId: teammate.id,\n\t\t\t\t\ttaskId,\n\t\t\t\t\toutput,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tteammate.status = \"failed\";\n\t\t\t\tteammate.error = teammate.error || errorOutput || `Exit code ${code}`;\n\t\t\t\tthis.state.failedTasks.add(taskId);\n\t\t\t\tthis.emit({\n\t\t\t\t\ttype: \"task_fail\",\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\tteammateId: teammate.id,\n\t\t\t\t\ttaskId,\n\t\t\t\t\terror: teammate.error,\n\t\t\t\t});\n\n\t\t\t\t// Stop swarm if not continuing on failure\n\t\t\t\tif (!this.state.config.continueOnFailure) {\n\t\t\t\t\tthis.state.status = \"failed\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.emit({\n\t\t\t\ttype: \"teammate_complete\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammate,\n\t\t\t});\n\n\t\t\t// Only recycle idle teammates while the swarm still has work left.\n\t\t\tif (\n\t\t\t\tthis.state.status === \"running\" &&\n\t\t\t\t(this.state.pendingTasks.length > 0 ||\n\t\t\t\t\tthis.state.activeTasks.size > 0) &&\n\t\t\t\t(teammate.status === \"completed\" || this.state.config.continueOnFailure)\n\t\t\t) {\n\t\t\t\tteammate.status = \"pending\";\n\t\t\t\tteammate.error = undefined;\n\t\t\t}\n\t\t});\n\n\t\tproc.on(\"error\", (err) => {\n\t\t\trecordDispatchOutcome(false, \"spawn_error\");\n\t\t\tclearTimeout(timeoutHandle);\n\t\t\tthis.processes.delete(teammate.id);\n\t\t\tthis.state.activeTasks.delete(task.id);\n\n\t\t\ttry {\n\t\t\t\tunlinkSync(tmpFile);\n\t\t\t} catch {\n\t\t\t\t// Ignore cleanup errors\n\t\t\t}\n\n\t\t\tteammate.completedAt = Date.now();\n\t\t\tteammate.currentTask = undefined;\n\t\t\tteammate.output = output || errorOutput;\n\n\t\t\tif (\n\t\t\t\tthis.state.status === \"cancelled\" ||\n\t\t\t\tteammate.status === \"cancelled\"\n\t\t\t) {\n\t\t\t\tteammate.status = \"cancelled\";\n\t\t\t\tteammate.currentTask = undefined;\n\t\t\t\tthis.emit({\n\t\t\t\t\ttype: \"teammate_complete\",\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\tteammate,\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tteammate.status = \"failed\";\n\t\t\tteammate.error = err.message;\n\t\t\tthis.state.failedTasks.add(task.id);\n\n\t\t\tthis.emit({\n\t\t\t\ttype: \"task_fail\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammateId: teammate.id,\n\t\t\t\ttaskId: task.id,\n\t\t\t\terror: err.message,\n\t\t\t});\n\n\t\t\tif (!this.state.config.continueOnFailure) {\n\t\t\t\tthis.state.status = \"failed\";\n\t\t\t}\n\n\t\t\tthis.emit({\n\t\t\t\ttype: \"teammate_complete\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammate,\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\tthis.state.status === \"running\" &&\n\t\t\t\t(this.state.pendingTasks.length > 0 ||\n\t\t\t\t\tthis.state.activeTasks.size > 0) &&\n\t\t\t\tthis.state.config.continueOnFailure\n\t\t\t) {\n\t\t\t\tteammate.status = \"pending\";\n\t\t\t\tteammate.error = undefined;\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate async spawnA2ATeammate(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\tprompt: string,\n\t\ttmpFile: string,\n\t\toptions: SwarmA2AConfig,\n\t): Promise<void> {\n\t\tlet route: A2ATeammateRoute | undefined;\n\t\tlet messageId: string | undefined;\n\t\tlet contextId: string | undefined;\n\t\tlet a2aTaskId: string | undefined;\n\t\tconst startedAt = Date.now();\n\t\ttry {\n\t\t\troute = await this.resolveA2ATeammateRoute(teammate, task, options);\n\t\t\tmessageId = `maestro-swarm-message-${randomUUID()}`;\n\t\t\tcontextId = `maestro-swarm:${this.state.id}:${task.id}`;\n\t\t\tthis.recordA2ADelegationTelemetry(\n\t\t\t\t\"peer_selected\",\n\t\t\t\troute,\n\t\t\t\tteammate,\n\t\t\t\ttask,\n\t\t\t\t{\n\t\t\t\t\tcontextId,\n\t\t\t\t\tmessageId,\n\t\t\t\t},\n\t\t\t);\n\t\t\tconst dispatchStartedAt = Date.now();\n\t\t\tconst sent = await sendA2AMessage(route.config, {\n\t\t\t\tmessage: buildA2AUserMessage({\n\t\t\t\t\tmessageId,\n\t\t\t\t\tcontextId,\n\t\t\t\t\ttext: prompt,\n\t\t\t\t\tmetadata: this.buildA2ASwarmMessageMetadata(teammate, task, route),\n\t\t\t\t}),\n\t\t\t\tconfiguration: {\n\t\t\t\t\treturnImmediately: true,\n\t\t\t\t\tacceptedOutputModes: [\"text/plain\", \"application/json\"],\n\t\t\t\t\t...(options.pushNotificationConfig\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\ttaskPushNotificationConfig: options.pushNotificationConfig,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {}),\n\t\t\t\t},\n\t\t\t\tmetadata: {\n\t\t\t\t\troute: \"maestro_swarm\",\n\t\t\t\t\ttransport: \"a2a\",\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\ttaskId: task.id,\n\t\t\t\t\tteammateId: teammate.id,\n\t\t\t\t\tpeer: route.name,\n\t\t\t\t\tsource: route.source,\n\t\t\t\t},\n\t\t\t});\n\t\t\ta2aTaskId = sent.task.id;\n\t\t\tcontextId = sent.task.contextId ?? contextId;\n\t\t\tconst dispatchLatencyMs = Math.max(0, Date.now() - dispatchStartedAt);\n\t\t\tteammate.a2a = {\n\t\t\t\tpeer: route.name,\n\t\t\t\tpeerDisplayName: route.displayName,\n\t\t\t\tsource: route.source,\n\t\t\t\tparentTaskId: task.id,\n\t\t\t\ttaskId: sent.task.id,\n\t\t\t\tcontextId,\n\t\t\t\tmessageId,\n\t\t\t\tskillId: route.skillId,\n\t\t\t\trole: route.role,\n\t\t\t};\n\t\t\tthis.recordA2ADelegationTelemetry(\n\t\t\t\t\"task_dispatched\",\n\t\t\t\troute,\n\t\t\t\tteammate,\n\t\t\t\ttask,\n\t\t\t\t{\n\t\t\t\t\ta2aTaskId: sent.task.id,\n\t\t\t\t\tcontextId,\n\t\t\t\t\tmessageId,\n\t\t\t\t\tstatus: sent.task.status.state,\n\t\t\t\t\tlatencyMs: dispatchLatencyMs,\n\t\t\t\t},\n\t\t\t);\n\t\t\tthis.remoteA2ATasks.set(teammate.id, {\n\t\t\t\troute,\n\t\t\t\ttaskId: sent.task.id,\n\t\t\t});\n\t\t\tawait this.recordA2ASwarmTaskStart(route, task, sent.task, {\n\t\t\t\tmessageId,\n\t\t\t\tcontextId,\n\t\t\t});\n\t\t\tif (\n\t\t\t\tthis.state.status === \"cancelled\" ||\n\t\t\t\tthis.abortController.signal.aborted\n\t\t\t) {\n\t\t\t\tconst cancelledTask = await this.cancelRemoteA2ATask(teammate.id, {\n\t\t\t\t\troute,\n\t\t\t\t\ttaskId: sent.task.id,\n\t\t\t\t});\n\t\t\t\tif (!cancelledTask) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.recordA2ADelegationTelemetry(\n\t\t\t\t\ta2aTerminalPhase(cancelledTask.status.state),\n\t\t\t\t\troute,\n\t\t\t\t\tteammate,\n\t\t\t\t\ttask,\n\t\t\t\t\t{\n\t\t\t\t\t\ta2aTaskId: cancelledTask.id,\n\t\t\t\t\t\tcontextId:\n\t\t\t\t\t\t\tcancelledTask.contextId ?? sent.task.contextId ?? contextId,\n\t\t\t\t\t\tmessageId,\n\t\t\t\t\t\tstatus: cancelledTask.status.state,\n\t\t\t\t\t\tterminal: true,\n\t\t\t\t\t\tsuccess: a2aStateCompleted(cancelledTask.status.state),\n\t\t\t\t\t\tdurationMs: Math.max(0, Date.now() - startedAt),\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst remoteTask = await this.waitForA2ASwarmTask(\n\t\t\t\troute.config,\n\t\t\t\tsent.task,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\tawait this.updateA2ASwarmTaskLedger(route, remoteTask);\n\t\t\tthis.recordA2ADelegationTelemetry(\n\t\t\t\ta2aTerminalPhase(remoteTask.status.state),\n\t\t\t\troute,\n\t\t\t\tteammate,\n\t\t\t\ttask,\n\t\t\t\t{\n\t\t\t\t\ta2aTaskId: remoteTask.id,\n\t\t\t\t\tcontextId: remoteTask.contextId ?? contextId,\n\t\t\t\t\tmessageId,\n\t\t\t\t\tstatus: remoteTask.status.state,\n\t\t\t\t\tterminal: true,\n\t\t\t\t\tsuccess: a2aStateCompleted(remoteTask.status.state),\n\t\t\t\t\tdurationMs: Math.max(0, Date.now() - startedAt),\n\t\t\t\t},\n\t\t\t);\n\t\t\tthis.completeA2ATeammate(teammate, task, remoteTask, route);\n\t\t} catch (error) {\n\t\t\tconst wasCancelled =\n\t\t\t\tthis.state.status === \"cancelled\" ||\n\t\t\t\tthis.abortController.signal.aborted ||\n\t\t\t\tteammate.status === \"cancelled\";\n\t\t\tconst remoteTask = this.remoteA2ATasks.get(teammate.id);\n\t\t\tconst pendingCancelTask = this.remoteA2ACancelTasks.get(teammate.id);\n\t\t\tconst cancelledTask = wasCancelled\n\t\t\t\t? await (pendingCancelTask ??\n\t\t\t\t\t\t(remoteTask\n\t\t\t\t\t\t\t? this.cancelRemoteA2ATask(teammate.id, remoteTask)\n\t\t\t\t\t\t\t: Promise.resolve(undefined)))\n\t\t\t\t: undefined;\n\t\t\tif (!wasCancelled && remoteTask) {\n\t\t\t\tawait this.cancelRemoteA2ATask(teammate.id, remoteTask);\n\t\t\t}\n\t\t\tif (route) {\n\t\t\t\tif (!wasCancelled || cancelledTask) {\n\t\t\t\t\tthis.recordA2ADelegationTelemetry(\n\t\t\t\t\t\twasCancelled\n\t\t\t\t\t\t\t? a2aTerminalPhase(cancelledTask?.status.state)\n\t\t\t\t\t\t\t: \"task_failed\",\n\t\t\t\t\t\troute,\n\t\t\t\t\t\tteammate,\n\t\t\t\t\t\ttask,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ta2aTaskId: cancelledTask?.id ?? a2aTaskId,\n\t\t\t\t\t\t\tcontextId: cancelledTask?.contextId ?? contextId,\n\t\t\t\t\t\t\tmessageId,\n\t\t\t\t\t\t\tstatus: cancelledTask?.status.state ?? \"TASK_STATE_FAILED\",\n\t\t\t\t\t\t\tterminal: true,\n\t\t\t\t\t\t\tsuccess: a2aStateCompleted(cancelledTask?.status.state),\n\t\t\t\t\t\t\tdurationMs: Math.max(0, Date.now() - startedAt),\n\t\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.failA2ATeammate(teammate, task, error, {\n\t\t\t\tpreserveA2A: Boolean(a2aTaskId),\n\t\t\t});\n\t\t} finally {\n\t\t\tthis.remoteA2ATasks.delete(teammate.id);\n\t\t\tthis.remoteA2ACancelTasks.delete(teammate.id);\n\t\t\ttry {\n\t\t\t\tunlinkSync(tmpFile);\n\t\t\t} catch {\n\t\t\t\t// Ignore cleanup errors\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate recordA2ADelegationTelemetry(\n\t\tphase: Parameters<typeof recordA2ADelegationTelemetryEvent>[0][\"phase\"],\n\t\troute: A2ATeammateRoute,\n\t\t_teammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\toptions: {\n\t\t\ta2aTaskId?: string;\n\t\t\tcontextId?: string;\n\t\t\tmessageId?: string;\n\t\t\tstatus?: string;\n\t\t\tterminal?: boolean;\n\t\t\tsuccess?: boolean;\n\t\t\tlatencyMs?: number;\n\t\t\tdurationMs?: number;\n\t\t\tmetadata?: Record<string, unknown>;\n\t\t} = {},\n\t): void {\n\t\tconst laneId = a2aDelegationLaneId(route.name, task.id);\n\t\trecordA2ADelegationTelemetryEvent({\n\t\t\tphase,\n\t\t\tswarmId: this.state.id,\n\t\t\tlaneId,\n\t\t\tparentTaskId: task.id,\n\t\t\ta2aTaskId: options.a2aTaskId,\n\t\t\ta2aMessageId: options.messageId,\n\t\t\tcontextId: options.contextId,\n\t\t\tpeerAgentId: route.peerAgentId,\n\t\t\tpeerName: route.name,\n\t\t\tpeerEndpointHash: route.peerEndpointHash,\n\t\t\tpeerEndpointUrl: undefined,\n\t\t\tpeerEndpointKind: route.peerEndpointKind,\n\t\t\tskillId: route.skillId,\n\t\t\ttaskClass: route.taskClass,\n\t\t\tsource: route.source,\n\t\t\tstatus: options.status,\n\t\t\tterminal: options.terminal,\n\t\t\tsuccess: options.success,\n\t\t\tlatencyMs: options.latencyMs,\n\t\t\tdurationMs: options.durationMs,\n\t\t\tmetadata: options.metadata,\n\t\t\tcorrelation: {\n\t\t\t\tattributes: {\n\t\t\t\t\tswarm_id: this.state.id,\n\t\t\t\t\tlane_id: laneId,\n\t\t\t\t\tparent_task_id: task.id,\n\t\t\t\t\tpeer: route.name,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate buildA2ASwarmMessageMetadata(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\troute: A2ATeammateRoute,\n\t): Record<string, unknown> {\n\t\tconst currentDelegationId = `${this.state.id}:${task.id}`;\n\t\tconst contextId = `maestro-swarm:${this.state.id}:${task.id}`;\n\t\tconst lineage = {\n\t\t\trootDelegationId: this.state.id,\n\t\t\t...(this.state.config.parentSessionId\n\t\t\t\t? { parentDelegationId: this.state.config.parentSessionId }\n\t\t\t\t: {}),\n\t\t\tcurrentDelegationId,\n\t\t\tdelegationChain: [this.state.id, currentDelegationId],\n\t\t\tdelegationChainDepth: 1,\n\t\t\tmaxDelegationChainDepth: 1,\n\t\t};\n\t\tconst subagentRequest = route.skillId\n\t\t\t? {\n\t\t\t\t\tskillId: route.skillId,\n\t\t\t\t\trole: route.role,\n\t\t\t\t\tcwd: this.state.config.cwd,\n\t\t\t\t\ttaskId: task.id,\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t}\n\t\t\t: undefined;\n\t\tconst peerControl = {\n\t\t\tschema: \"evalops.maestro.a2a-peer-control.v1\",\n\t\t\tparentSwarmId: this.state.id,\n\t\t\tlaneId: a2aDelegationLaneId(route.name, task.id),\n\t\t\ttaskId: task.id,\n\t\t\tcontextId,\n\t\t\tcontrolModes: [\"followup\", \"steer\", \"interrupt\", \"cancel\"],\n\t\t\tevidenceRequired: [\"status\", \"artifact\", \"task\", \"workGraph\"],\n\t\t};\n\t\treturn {\n\t\t\trequestKind: \"maestro-swarm-task\",\n\t\t\ttransport: \"a2a\",\n\t\t\trelayPeer: route.name,\n\t\t\tswarmId: this.state.id,\n\t\t\tteammateId: teammate.id,\n\t\t\tteammateName: teammate.name,\n\t\t\ttaskId: task.id,\n\t\t\t...(route.skillId ? { a2aSkillId: route.skillId } : {}),\n\t\t\t...(task.files?.length ? { files: task.files } : {}),\n\t\t\tswarm: lineage,\n\t\t\tevalops: {\n\t\t\t\tswarm: lineage,\n\t\t\t\ttransport: \"a2a\",\n\t\t\t\tpeer: route.name,\n\t\t\t\tpeerControl,\n\t\t\t},\n\t\t\t\"evalops.peerControl\": peerControl,\n\t\t\t...(subagentRequest\n\t\t\t\t? { \"evalops.subagentRequest\": subagentRequest }\n\t\t\t\t: {}),\n\t\t};\n\t}\n\n\tprivate async waitForA2ASwarmTask(\n\t\tconfig: A2AServiceConfig,\n\t\tinitialTask: A2ATask,\n\t\toptions: SwarmA2AConfig,\n\t): Promise<A2ATask> {\n\t\tconst maxWaitMs =\n\t\t\toptions.maxWaitMs ??\n\t\t\tthis.state.config.taskTimeout ??\n\t\t\tDEFAULT_TASK_TIMEOUT_MS;\n\t\tconst pollIntervalMs =\n\t\t\toptions.pollIntervalMs ?? DEFAULT_A2A_POLL_INTERVAL_MS;\n\t\tconst deadline = Date.now() + maxWaitMs;\n\t\tlet task = initialTask;\n\t\twhile (\n\t\t\t!isTerminalA2AState(task.status.state) &&\n\t\t\tDate.now() < deadline &&\n\t\t\t!this.abortController.signal.aborted\n\t\t) {\n\t\t\tawait new Promise((resolve) => setTimeout(resolve, pollIntervalMs));\n\t\t\ttask = await getA2ATask(config, task.id, {\n\t\t\t\tsignal: this.abortController.signal,\n\t\t\t});\n\t\t}\n\t\tif (!isTerminalA2AState(task.status.state)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Timed out waiting for remote A2A task ${task.id}; last state ${task.status.state}`,\n\t\t\t);\n\t\t}\n\t\treturn task;\n\t}\n\n\tprivate completeA2ATeammate(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\tremoteTask: A2ATask,\n\t\troute: A2ATeammateRoute,\n\t): void {\n\t\tthis.state.activeTasks.delete(task.id);\n\t\tteammate.completedAt = Date.now();\n\t\tteammate.currentTask = undefined;\n\t\tteammate.output =\n\t\t\textractA2ATaskText(remoteTask) ??\n\t\t\t`Remote A2A task ${remoteTask.id} finished with ${remoteTask.status.state}`;\n\t\tif (this.state.status === \"cancelled\" || teammate.status === \"cancelled\") {\n\t\t\tteammate.status = \"cancelled\";\n\t\t\tthis.emit({\n\t\t\t\ttype: \"teammate_complete\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammate,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tif (a2aStateCompleted(remoteTask.status.state)) {\n\t\t\tteammate.status = \"completed\";\n\t\t\tteammate.completedTasks.push(task.id);\n\t\t\tthis.state.completedTasks.add(task.id);\n\t\t\tthis.emit({\n\t\t\t\ttype: \"task_complete\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammateId: teammate.id,\n\t\t\t\ttaskId: task.id,\n\t\t\t\toutput: teammate.output,\n\t\t\t});\n\t\t} else {\n\t\t\tteammate.status = \"failed\";\n\t\t\tteammate.error = `Remote A2A task ${remoteTask.id} on ${route.name} ended in ${remoteTask.status.state}`;\n\t\t\tthis.state.failedTasks.add(task.id);\n\t\t\tthis.emit({\n\t\t\t\ttype: \"task_fail\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammateId: teammate.id,\n\t\t\t\ttaskId: task.id,\n\t\t\t\terror: teammate.error,\n\t\t\t});\n\t\t\tif (!this.state.config.continueOnFailure) {\n\t\t\t\tthis.state.status = \"failed\";\n\t\t\t}\n\t\t}\n\t\tthis.emit({\n\t\t\ttype: \"teammate_complete\",\n\t\t\tswarmId: this.state.id,\n\t\t\tteammate,\n\t\t});\n\t\tif (\n\t\t\tthis.state.status === \"running\" &&\n\t\t\t(this.state.pendingTasks.length > 0 || this.state.activeTasks.size > 0) &&\n\t\t\t(teammate.status === \"completed\" || this.state.config.continueOnFailure)\n\t\t) {\n\t\t\tteammate.status = \"pending\";\n\t\t\tteammate.error = undefined;\n\t\t}\n\t}\n\n\tprivate failA2ATeammate(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\terror: unknown,\n\t\toptions: { preserveA2A?: boolean } = {},\n\t): void {\n\t\tthis.state.activeTasks.delete(task.id);\n\t\tteammate.completedAt = Date.now();\n\t\tteammate.currentTask = undefined;\n\t\tif (this.state.status === \"cancelled\" || teammate.status === \"cancelled\") {\n\t\t\tteammate.status = \"cancelled\";\n\t\t\tthis.emit({\n\t\t\t\ttype: \"teammate_complete\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammate,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tif (\n\t\t\tteammate.a2a &&\n\t\t\t!options.preserveA2A &&\n\t\t\t!this.remoteA2ATasks.has(teammate.id)\n\t\t) {\n\t\t\tteammate.a2a = undefined;\n\t\t}\n\t\tteammate.status = \"failed\";\n\t\tteammate.error = error instanceof Error ? error.message : String(error);\n\t\tthis.state.failedTasks.add(task.id);\n\t\tthis.emit({\n\t\t\ttype: \"task_fail\",\n\t\t\tswarmId: this.state.id,\n\t\t\tteammateId: teammate.id,\n\t\t\ttaskId: task.id,\n\t\t\terror: teammate.error,\n\t\t});\n\t\tif (!this.state.config.continueOnFailure) {\n\t\t\tthis.state.status = \"failed\";\n\t\t}\n\t\tthis.emit({\n\t\t\ttype: \"teammate_complete\",\n\t\t\tswarmId: this.state.id,\n\t\t\tteammate,\n\t\t});\n\n\t\tif (\n\t\t\tthis.state.status === \"running\" &&\n\t\t\t(this.state.pendingTasks.length > 0 || this.state.activeTasks.size > 0) &&\n\t\t\tthis.state.config.continueOnFailure\n\t\t) {\n\t\t\tteammate.status = \"pending\";\n\t\t\tteammate.error = undefined;\n\t\t\tteammate.a2a = undefined;\n\t\t}\n\t}\n\n\tprivate async recordA2ASwarmTaskStart(\n\t\troute: A2ATeammateRoute,\n\t\ttask: SwarmTask,\n\t\tremoteTask: A2ATask,\n\t\tids: { messageId: string; contextId: string },\n\t): Promise<void> {\n\t\ttry {\n\t\t\tawait recordA2ATaskStart({\n\t\t\t\tpath: route.tasksPath,\n\t\t\t\tpeer: route.name,\n\t\t\t\tpeerDisplayName: route.displayName,\n\t\t\t\ttask: remoteTask,\n\t\t\t\ttext: task.prompt,\n\t\t\t\tmessageId: ids.messageId,\n\t\t\t\tcontextId: remoteTask.contextId ?? ids.contextId,\n\t\t\t\tkind: \"delegation\",\n\t\t\t\trole: route.role,\n\t\t\t\tcwd: this.state.config.cwd,\n\t\t\t\tmetadata: {\n\t\t\t\t\trequestKind: \"maestro-swarm-task\",\n\t\t\t\t\trelayPeer: route.name,\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\ttaskId: task.id,\n\t\t\t\t\ttransport: \"a2a\",\n\t\t\t\t\tsource: route.source,\n\t\t\t\t\ta2aSkillId: route.skillId,\n\t\t\t\t},\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tlogger.warn(\"Failed to record remote A2A swarm task in local ledger\", {\n\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t),\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\ttaskId: task.id,\n\t\t\t\tpeer: route.name,\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate async updateA2ASwarmTaskLedger(\n\t\troute: A2ATeammateRoute,\n\t\tremoteTask: A2ATask,\n\t): Promise<void> {\n\t\ttry {\n\t\t\tawait updateA2ATaskInLedger({\n\t\t\t\tpath: route.tasksPath,\n\t\t\t\tpeer: route.name,\n\t\t\t\ttask: remoteTask,\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tlogger.warn(\"Failed to update remote A2A swarm task in local ledger\", {\n\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t),\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tremoteTaskId: remoteTask.id,\n\t\t\t\tpeer: route.name,\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Wait for any active task to complete.\n\t */\n\tprivate waitForAnyCompletion(): Promise<void> {\n\t\tconst initialActiveCount = this.state.activeTasks.size;\n\t\treturn new Promise((resolve) => {\n\t\t\tconst checkInterval = setInterval(() => {\n\t\t\t\t// Resolve as soon as at least one active task exits or the swarm stops.\n\t\t\t\tif (\n\t\t\t\t\tthis.state.activeTasks.size < initialActiveCount ||\n\t\t\t\t\tthis.state.status !== \"running\"\n\t\t\t\t) {\n\t\t\t\t\tclearInterval(checkInterval);\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t}, 100);\n\t\t});\n\t}\n}\n\nfunction platformA2ACandidateMatchesPeer(\n\tcandidate: PlatformAgentRegistryA2APeerCandidate,\n\tpeer: string,\n): boolean {\n\tconst selector = normalizePeerSelector(peer);\n\tconst selectorBaseUrl = normalizePeerBaseUrl(peer);\n\tif (!selector) {\n\t\treturn false;\n\t}\n\tconst values = [\n\t\tcandidate.agent.id,\n\t\tcandidate.agent.name,\n\t\tcandidate.endpointUrl,\n\t\tcandidate.agentCardUrl,\n\t];\n\tconst endpointHash = hashA2AEndpointUrlForTelemetry(candidate.endpointUrl);\n\tif (endpointHash) {\n\t\tvalues.push(endpointHash, `endpoint:${endpointHash}`);\n\t}\n\treturn values.some((value) => {\n\t\tconst candidateSelector = normalizePeerSelector(value);\n\t\tif (candidateSelector && candidateSelector === selector) {\n\t\t\treturn true;\n\t\t}\n\t\tconst candidateBaseUrl = normalizePeerBaseUrl(value);\n\t\treturn Boolean(\n\t\t\tselectorBaseUrl &&\n\t\t\t\tcandidateBaseUrl &&\n\t\t\t\tcandidateBaseUrl === selectorBaseUrl,\n\t\t);\n\t});\n}\n\nfunction normalizePeerSelector(value: string | undefined): string | undefined {\n\treturn trimString(value)?.toLowerCase();\n}\n\nfunction normalizePeerBaseUrl(value: string | undefined): string | undefined {\n\tconst trimmed = trimString(value);\n\treturn trimmed ? normalizeA2ABaseUrl(trimmed).toLowerCase() : undefined;\n}\n\n/**\n * Create and execute a swarm.\n */\nexport async function executeSwarm(\n\tconfig: SwarmConfig,\n\tonEvent?: SwarmEventHandler,\n): Promise<SwarmState> {\n\tconst executor = new SwarmExecutor(config);\n\tif (onEvent) {\n\t\texecutor.onEvent(onEvent);\n\t}\n\treturn executor.execute();\n}\n"]}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/agent/swarm/executor.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Swarm Executor\n *\n * Manages parallel execution of multiple agent instances (teammates)\n * working on tasks from a plan. Uses subprocess spawning similar to\n * the Oracle tool pattern.\n */\n\nimport { type ChildProcess, spawn } from \"node:child_process\";\nimport { createHash, randomUUID } from \"node:crypto\";\nimport { existsSync, mkdirSync, unlinkSync, writeFileSync } from \"node:fs\";\nimport { tmpdir } from \"node:os\";\nimport { dirname, join } from \"node:path\";\nimport { type DelegationPrompt, formatDelegation } from \"@evalops/contracts\";\nimport {\n\tcodexSubagentSkillToken,\n\tcodexSubagentTypeA2ASkillID,\n} from \"../../codex/subagent-dispatch-table.js\";\nimport {\n\tbuildEvalOpsDelegationEnvironment,\n\tissueEvalOpsDelegationToken,\n} from \"../../oauth/index.js\";\nimport { rankA2ACapabilityPeers } from \"../../platform/a2a-capability-market.js\";\nimport {\n\ttype A2AServiceConfig,\n\ttype A2ATask,\n\ttype A2ATaskPushNotificationConfig,\n\tbuildA2AUserMessage,\n\tcancelA2ATask,\n\tgetA2ATask,\n\tnormalizeA2ABaseUrl,\n\tresolveA2AServiceConfig,\n\tsendA2AMessage,\n} from \"../../platform/a2a-client.js\";\nimport { a2aDelegationLaneId } from \"../../platform/a2a-completion-audit.js\";\nimport {\n\ttype ResolvedA2APeer,\n\tresolveA2APeer,\n} from \"../../platform/a2a-peer-registry.js\";\nimport {\n\textractA2ATaskText,\n\tisTerminalA2AState,\n\trecordA2ATaskStart,\n\tupdateA2ATaskInLedger,\n} from \"../../platform/a2a-task-ledger.js\";\nimport {\n\ttype PlatformAgentRegistryA2APeerCandidate,\n\tPlatformAgentStatusValue,\n\tlistA2APeerCandidatesWithPlatform,\n\tresolveAgentRegistryServiceConfig,\n} from \"../../platform/agent-registry-client.js\";\nimport { getEnvValue, trimString } from \"../../platform/client.js\";\nimport {\n\trecordA2ADelegationTelemetry as recordA2ADelegationTelemetryEvent,\n\trecordSubagentDispatch,\n} from \"../../telemetry.js\";\nimport { createLogger } from \"../../utils/logger.js\";\nimport { sanitizeWithStaticMask } from \"../../utils/secret-redactor.js\";\nimport { detectMissionSessionRole } from \"../mission-artifacts.js\";\nimport {\n\ttype AgentMode,\n\ttype ModelProvider,\n\ttype ResolvedSubagentDispatch,\n\tparseMode,\n\tresolveSubagentDispatch,\n} from \"../modes.js\";\nimport {\n\tapplySpecialistProfileToPrompt,\n\tresolveSpecialistProfile,\n} from \"../specialist-profiles.js\";\nimport { parseSubagentType } from \"../subagent-specs.js\";\nimport { evaluateSwarmCoverageGate } from \"./coverage-gate.js\";\nimport { publishSwarmRuntimeEvent } from \"./runtime-events.js\";\nimport type {\n\tSwarmA2AConfig,\n\tSwarmConfig,\n\tSwarmEvent,\n\tSwarmEventHandler,\n\tSwarmState,\n\tSwarmStatus,\n\tSwarmTask,\n\tSwarmTeammate,\n\tTeammateStatus,\n} from \"./types.js\";\nimport { buildSwarmValidationDirective } from \"./validation-directive.js\";\n\nconst logger = createLogger(\"agent:swarm:executor\");\n\n/** Default timeout per task (5 minutes) */\nconst DEFAULT_TASK_TIMEOUT_MS = 5 * 60 * 1000;\n\n/** Maximum concurrent teammates */\nconst MAX_TEAMMATES = 10;\nconst DEFAULT_A2A_POLL_INTERVAL_MS = 2_000;\nconst DEDICATED_A2A_TOKEN_ENV_VARS = [\n\t\"MAESTRO_PLATFORM_A2A_TOKEN\",\n\t\"MAESTRO_A2A_TOKEN\",\n\t\"MAESTRO_AGENT_RUNTIME_SERVICE_TOKEN\",\n\t\"AGENT_RUNTIME_SERVICE_TOKEN\",\n] as const;\nconst A2A_SKILL_PRIMARY_TASK_CLASSES = new Map<string, string>([\n\t[\"maestro.subagent.code-writer\", \"code.implementation\"],\n\t[\"maestro.subagent.code-review\", \"code.review\"],\n\t[\"maestro.subagent.test-runner\", \"test.execution\"],\n\t[\"maestro.subagent.browser-qa\", \"product.qa\"],\n\t[\"maestro.subagent.repo-explorer\", \"repo.inspect\"],\n\t[\"maestro.subagent.release-shepherd\", \"release.follow-through\"],\n]);\nconst A2A_PUSH_TOKEN_REDACTION = \"<redacted>\";\nconst SWARM_SUBAGENT_TASK_CLASSES = new Map<string, string>([\n\t[\"coder\", \"code.implementation\"],\n\t[\"worker\", \"code.implementation\"],\n\t[\"review\", \"code.review\"],\n\t[\"reviewer\", \"code.review\"],\n\t[\"explore\", \"repo.inspect\"],\n\t[\"explorer\", \"repo.inspect\"],\n\t[\"research\", \"repo.inspect\"],\n\t[\"researcher\", \"repo.inspect\"],\n\t[\"test\", \"test.execution\"],\n\t[\"ci\", \"test.execution\"],\n\t[\"ci-monitor\", \"test.execution\"],\n\t[\"test-runner\", \"test.execution\"],\n\t[\"browser-qa\", \"product.qa\"],\n\t[\"browser\", \"product.qa\"],\n\t[\"dogfood\", \"product.qa\"],\n\t[\"product-qa\", \"product.qa\"],\n\t[\"e2e-qa\", \"browser.e2e\"],\n\t[\"ux-qa\", \"ux.repro\"],\n\t[\"planner\", \"agent.delegation\"],\n\t[\"minimal\", \"agent.delegation\"],\n\t[\"custom\", \"agent.delegation\"],\n]);\nconst A2A_SUBAGENT_TASK_CLASS_OVERRIDES = new Set([\"e2e-qa\", \"ux-qa\"]);\n\n/** Teammate name prefixes for friendly identification */\nconst TEAMMATE_NAMES = [\n\t\"Alpha\",\n\t\"Beta\",\n\t\"Gamma\",\n\t\"Delta\",\n\t\"Epsilon\",\n\t\"Zeta\",\n\t\"Eta\",\n\t\"Theta\",\n\t\"Iota\",\n\t\"Kappa\",\n];\n\nconst MODEL_PROVIDERS: ModelProvider[] = [\n\t\"anthropic\",\n\t\"openai\",\n\t\"openai-codex\",\n\t\"google\",\n];\n\nfunction toSafeTaskTempBasename(taskId: string): string {\n\tconst safeId = taskId\n\t\t.replace(/[^A-Za-z0-9_-]+/g, \"_\")\n\t\t.replace(/^_+|_+$/g, \"\");\n\treturn `swarm-task-${safeId || \"task\"}.md`;\n}\n\nfunction cloneTask(task: SwarmTask): SwarmTask {\n\treturn {\n\t\t...task,\n\t\tfiles: task.files ? [...task.files] : undefined,\n\t\tdependsOn: task.dependsOn ? [...task.dependsOn] : undefined,\n\t};\n}\n\nfunction cloneTeammate(teammate: SwarmTeammate): SwarmTeammate {\n\treturn {\n\t\t...teammate,\n\t\tcurrentTask: teammate.currentTask\n\t\t\t? cloneTask(teammate.currentTask)\n\t\t\t: undefined,\n\t\tcompletedTasks: [...teammate.completedTasks],\n\t\ta2a: teammate.a2a ? { ...teammate.a2a } : undefined,\n\t};\n}\n\nfunction cloneA2APushNotificationConfig(\n\tconfig: A2ATaskPushNotificationConfig | undefined,\n\toptions: { redactSecrets?: boolean } = {},\n): A2ATaskPushNotificationConfig | undefined {\n\tif (!config) {\n\t\treturn undefined;\n\t}\n\tconst authentication = config.authentication\n\t\t? {\n\t\t\t\t...config.authentication,\n\t\t\t\t...(config.authentication.schemes\n\t\t\t\t\t? { schemes: [...config.authentication.schemes] }\n\t\t\t\t\t: {}),\n\t\t\t\t...(options.redactSecrets && config.authentication.credentials\n\t\t\t\t\t? { credentials: A2A_PUSH_TOKEN_REDACTION }\n\t\t\t\t\t: {}),\n\t\t\t}\n\t\t: undefined;\n\treturn {\n\t\t...config,\n\t\t...(authentication ? { authentication } : {}),\n\t\t...(options.redactSecrets && config.token\n\t\t\t? { token: A2A_PUSH_TOKEN_REDACTION }\n\t\t\t: {}),\n\t};\n}\n\nfunction cloneConfig(config: SwarmConfig): SwarmConfig {\n\treturn {\n\t\t...config,\n\t\ta2a: config.a2a\n\t\t\t? {\n\t\t\t\t\t...config.a2a,\n\t\t\t\t\tpeers: config.a2a.peers ? [...config.a2a.peers] : undefined,\n\t\t\t\t\t...(config.a2a.pushNotificationConfig\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tpushNotificationConfig: cloneA2APushNotificationConfig(\n\t\t\t\t\t\t\t\t\tconfig.a2a.pushNotificationConfig,\n\t\t\t\t\t\t\t\t\t{ redactSecrets: true },\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {}),\n\t\t\t\t}\n\t\t\t: undefined,\n\t\ttasks: config.tasks.map(cloneTask),\n\t\tvalidationContract: config.validationContract\n\t\t\t? structuredClone(config.validationContract)\n\t\t\t: undefined,\n\t\tfeatureClaims: config.featureClaims?.map((claim) => ({\n\t\t\t...claim,\n\t\t\tfulfills: [...claim.fulfills],\n\t\t})),\n\t};\n}\n\nfunction cloneState(state: SwarmState): SwarmState {\n\treturn {\n\t\t...state,\n\t\tconfig: cloneConfig(state.config),\n\t\tteammates: state.teammates.map(cloneTeammate),\n\t\tpendingTasks: state.pendingTasks.map(cloneTask),\n\t\tactiveTasks: new Map(state.activeTasks),\n\t\tcompletedTasks: new Set(state.completedTasks),\n\t\tfailedTasks: new Set(state.failedTasks),\n\t};\n}\n\nfunction parseModelProvider(\n\tvalue: string | undefined,\n): ModelProvider | undefined {\n\tconst provider = value?.trim();\n\tif (!provider) {\n\t\treturn undefined;\n\t}\n\treturn MODEL_PROVIDERS.includes(provider as ModelProvider)\n\t\t? (provider as ModelProvider)\n\t\t: undefined;\n}\n\nfunction parseAgentMode(value: string | undefined): AgentMode | undefined {\n\tconst mode = value?.trim();\n\tif (!mode) {\n\t\treturn undefined;\n\t}\n\treturn parseMode(mode) ?? undefined;\n}\n\nfunction providerFromPrefixedModel(\n\tmodel: string | undefined,\n): ModelProvider | undefined {\n\tconst slashIndex = model?.indexOf(\"/\") ?? -1;\n\tif (!model || slashIndex <= 0) {\n\t\treturn undefined;\n\t}\n\treturn parseModelProvider(model.slice(0, slashIndex));\n}\n\nfunction parseBooleanEnv(value: string | undefined): boolean | undefined {\n\tconst normalized = value?.trim().toLowerCase();\n\tif (!normalized) {\n\t\treturn undefined;\n\t}\n\tif ([\"1\", \"true\", \"yes\", \"on\"].includes(normalized)) {\n\t\treturn true;\n\t}\n\tif ([\"0\", \"false\", \"no\", \"off\"].includes(normalized)) {\n\t\treturn false;\n\t}\n\treturn undefined;\n}\n\nfunction parsePositiveIntEnv(value: string | undefined): number | undefined {\n\tconst parsed = Number.parseInt(value ?? \"\", 10);\n\treturn Number.isFinite(parsed) && parsed > 0 ? parsed : undefined;\n}\n\nfunction parseCSVEnv(value: string | undefined): string[] | undefined {\n\tconst parsed = value\n\t\t?.split(\",\")\n\t\t.map((item) => item.trim())\n\t\t.filter(Boolean);\n\treturn parsed && parsed.length > 0 ? parsed : undefined;\n}\n\nfunction resolveA2APushNotificationConfig(\n\tconfigured: A2ATaskPushNotificationConfig | undefined,\n): A2ATaskPushNotificationConfig | undefined {\n\tconst url =\n\t\ttrimString(configured?.url) ??\n\t\ttrimString(process.env.MAESTRO_SWARM_A2A_PUSH_URL);\n\tif (!url) {\n\t\treturn undefined;\n\t}\n\tconst id =\n\t\ttrimString(configured?.id) ??\n\t\ttrimString(process.env.MAESTRO_SWARM_A2A_PUSH_ID);\n\tconst token =\n\t\ttrimString(configured?.token) ??\n\t\ttrimString(process.env.MAESTRO_SWARM_A2A_PUSH_TOKEN);\n\tconst base = cloneA2APushNotificationConfig(configured) ?? {};\n\treturn {\n\t\t...base,\n\t\turl,\n\t\t...(id ? { id } : {}),\n\t\t...(token ? { token } : {}),\n\t};\n}\n\nfunction a2aStateCompleted(state: string | undefined): boolean {\n\treturn /COMPLETED/u.test(\n\t\t(state ?? \"\").toUpperCase().replace(/[\\s-]+/gu, \"_\"),\n\t);\n}\n\nfunction hashA2AEndpointUrlForTelemetry(\n\turl: string | undefined,\n): string | undefined {\n\tconst trimmed = url?.trim();\n\tif (!trimmed) {\n\t\treturn undefined;\n\t}\n\tconst canonical = canonicalizeA2AEndpointUrlForTelemetry(trimmed);\n\treturn `sha256:${createHash(\"sha256\").update(canonical).digest(\"hex\")}`;\n}\n\nfunction platformA2APeerRouteName(\n\tcandidate: PlatformAgentRegistryA2APeerCandidate,\n\tendpointHash = hashA2AEndpointUrlForTelemetry(candidate.endpointUrl),\n): string {\n\tconst configuredName =\n\t\ttrimString(candidate.agent.name) ?? trimString(candidate.agent.id);\n\tif (configuredName) {\n\t\treturn configuredName;\n\t}\n\treturn endpointHash\n\t\t? `endpoint:${endpointHash}`\n\t\t: \"platform-agent-registry-peer\";\n}\n\nfunction canonicalizeA2AEndpointUrlForTelemetry(url: string): string {\n\ttry {\n\t\tconst parsed = new URL(url);\n\t\tparsed.username = \"\";\n\t\tparsed.password = \"\";\n\t\tparsed.search = \"\";\n\t\tparsed.hash = \"\";\n\t\tparsed.pathname = parsed.pathname.replace(/\\/+$/u, \"\") || \"/\";\n\t\treturn normalizeA2ABaseUrl(parsed.toString().replace(/\\/$/u, \"\"));\n\t} catch {\n\t\treturn normalizeA2ABaseUrl(\n\t\t\turl.replace(/[?#].*$/u, \"\").replace(/\\/+$/u, \"\"),\n\t\t);\n\t}\n}\n\nfunction a2aTerminalPhase(\n\tstate: string | undefined,\n): \"task_completed\" | \"task_failed\" | \"task_cancelled\" {\n\tconst normalized = (state ?? \"\").toUpperCase().replace(/[\\s-]+/gu, \"_\");\n\tif (normalized.includes(\"COMPLETED\")) {\n\t\treturn \"task_completed\";\n\t}\n\tif (normalized.includes(\"CANCEL\")) {\n\t\treturn \"task_cancelled\";\n\t}\n\treturn \"task_failed\";\n}\n\ntype A2ATeammateRoute = {\n\tname: string;\n\tdisplayName?: string;\n\tconfig: A2AServiceConfig;\n\tskillId?: string;\n\ttaskClass?: string;\n\trole?: string;\n\ttasksPath?: string;\n\tpeerAgentId?: string;\n\tpeerEndpointHash?: string;\n\tpeerEndpointKind?: string;\n\tsource: \"registry\" | \"platform-agent-registry\";\n};\n\ntype RemoteA2ARunningTask = {\n\troute: A2ATeammateRoute;\n\ttaskId: string;\n};\n\nfunction buildDispatchEnv(\n\tdispatch: ResolvedSubagentDispatch | null,\n\treasoningEffortOverride?: string,\n\truntimeSelection?: {\n\t\tmodel?: string;\n\t\tprovider?: string;\n\t\tsource?: string;\n\t},\n): Record<string, string> {\n\tif (!dispatch) {\n\t\treturn {};\n\t}\n\n\tconst env: Record<string, string> = {\n\t\tMAESTRO_SWARM_MODE_NAME: dispatch.mode,\n\t\tMAESTRO_SWARM_SUBAGENT_TYPE: dispatch.type,\n\t\tMAESTRO_SWARM_MODEL: runtimeSelection?.model ?? dispatch.model,\n\t\tMAESTRO_SWARM_REASONING_EFFORT:\n\t\t\treasoningEffortOverride ?? dispatch.reasoningEffort,\n\t\tMAESTRO_SWARM_DISPATCH_SOURCE: runtimeSelection?.source ?? dispatch.source,\n\t};\n\tconst provider = runtimeSelection?.provider ?? dispatch.provider;\n\tif (provider) {\n\t\tenv.MAESTRO_SWARM_MODEL_PROVIDER = provider;\n\t}\n\treturn env;\n}\n\nfunction resolveMissionRoleForTeammate(): \"worker\" | \"validator\" {\n\treturn detectMissionSessionRole() === \"validator\" ? \"validator\" : \"worker\";\n}\n\ntype TaskDispatchResolution = {\n\tdispatch: ResolvedSubagentDispatch;\n\tstartedAt: number;\n\tlatencyMs: number;\n\tparentMode: AgentMode;\n\tparentModelProvider?: ModelProvider;\n};\n\n/**\n * SwarmExecutor manages a swarm of parallel agent instances.\n */\nexport class SwarmExecutor {\n\tprivate state: SwarmState;\n\tprivate processes: Map<string, ChildProcess> = new Map();\n\tprivate remoteA2ATasks: Map<string, RemoteA2ARunningTask> = new Map();\n\tprivate remoteA2ACancelTasks: Map<string, Promise<A2ATask | undefined>> =\n\t\tnew Map();\n\tprivate a2aRouteCursor = 0;\n\tprivate eventHandlers: Set<SwarmEventHandler> = new Set();\n\tprivate abortController: AbortController;\n\n\tconstructor(config: SwarmConfig) {\n\t\t// Validate config\n\t\tif (config.teammateCount < 1 || config.teammateCount > MAX_TEAMMATES) {\n\t\t\tthrow new Error(\n\t\t\t\t`Teammate count must be between 1 and ${MAX_TEAMMATES}, got ${config.teammateCount}`,\n\t\t\t);\n\t\t}\n\n\t\tthis.abortController = new AbortController();\n\n\t\t// Initialize state\n\t\tthis.state = {\n\t\t\tid: randomUUID(),\n\t\t\tstatus: \"initializing\",\n\t\t\tconfig,\n\t\t\tteammates: [],\n\t\t\tpendingTasks: [...config.tasks],\n\t\t\tactiveTasks: new Map(),\n\t\t\tcompletedTasks: new Set(),\n\t\t\tfailedTasks: new Set(),\n\t\t\tstartedAt: Date.now(),\n\t\t};\n\n\t\t// Create teammates\n\t\tfor (let i = 0; i < config.teammateCount; i++) {\n\t\t\tthis.state.teammates.push({\n\t\t\t\tid: randomUUID(),\n\t\t\t\tname: TEAMMATE_NAMES[i] || `Teammate-${i + 1}`,\n\t\t\t\tstatus: \"pending\",\n\t\t\t\tcompletedTasks: [],\n\t\t\t});\n\t\t}\n\n\t\tlogger.info(\"Swarm initialized\", {\n\t\t\tswarmId: this.state.id,\n\t\t\tteammateCount: config.teammateCount,\n\t\t\ttaskCount: config.tasks.length,\n\t\t});\n\t}\n\n\t/**\n\t * Subscribe to swarm events.\n\t */\n\tonEvent(handler: SwarmEventHandler): () => void {\n\t\tthis.eventHandlers.add(handler);\n\t\treturn () => this.eventHandlers.delete(handler);\n\t}\n\n\t/**\n\t * Emit an event to all handlers.\n\t */\n\tprivate emit(event: SwarmEvent): void {\n\t\tpublishSwarmRuntimeEvent({\n\t\t\tevent,\n\t\t\tparentSessionId: this.state.config.parentSessionId,\n\t\t\tcwd: this.state.config.cwd,\n\t\t\tplanFile: this.state.config.planFile,\n\t\t});\n\t\tfor (const handler of this.eventHandlers) {\n\t\t\ttry {\n\t\t\t\thandler(event);\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(\n\t\t\t\t\t\"Event handler error\",\n\t\t\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get the current swarm state.\n\t */\n\tgetState(): SwarmState {\n\t\treturn cloneState(this.state);\n\t}\n\n\t/**\n\t * Cancel the swarm execution.\n\t */\n\tcancel(): void {\n\t\tconst remoteTasks = [...this.remoteA2ATasks.entries()];\n\t\tfor (const [teammateId, remoteTask] of remoteTasks) {\n\t\t\tvoid this.cancelRemoteA2ATask(teammateId, remoteTask);\n\t\t}\n\n\t\tthis.abortController.abort();\n\t\tthis.state.status = \"cancelled\";\n\n\t\t// Kill all running processes\n\t\tfor (const [teammateId, proc] of this.processes) {\n\t\t\ttry {\n\t\t\t\tproc.kill(\"SIGTERM\");\n\t\t\t} catch {\n\t\t\t\t// Process may already be dead\n\t\t\t}\n\t\t\tconst teammate = this.state.teammates.find((t) => t.id === teammateId);\n\t\t\tif (teammate) {\n\t\t\t\tteammate.status = \"cancelled\";\n\t\t\t\tteammate.currentTask = undefined;\n\t\t\t}\n\t\t}\n\n\t\tfor (const teammate of this.state.teammates) {\n\t\t\tif (teammate.status === \"running\" || teammate.currentTask) {\n\t\t\t\tteammate.status = \"cancelled\";\n\t\t\t\tteammate.currentTask = undefined;\n\t\t\t\tteammate.completedAt = Date.now();\n\t\t\t}\n\t\t}\n\n\t\tthis.state.activeTasks.clear();\n\t\tthis.processes.clear();\n\t\tlogger.info(\"Swarm cancelled\", { swarmId: this.state.id });\n\t}\n\n\tprivate async cancelRemoteA2ATask(\n\t\tteammateId: string,\n\t\tremoteTask: RemoteA2ARunningTask,\n\t): Promise<A2ATask | undefined> {\n\t\tconst existingCancel = this.remoteA2ACancelTasks.get(teammateId);\n\t\tif (existingCancel) {\n\t\t\treturn existingCancel;\n\t\t}\n\t\tconst cancelTask = (async () => {\n\t\t\ttry {\n\t\t\t\tconst cancelledTask = await cancelA2ATask(\n\t\t\t\t\tremoteTask.route.config,\n\t\t\t\t\tremoteTask.taskId,\n\t\t\t\t);\n\t\t\t\tawait this.updateA2ASwarmTaskLedger(remoteTask.route, cancelledTask);\n\t\t\t\treturn cancelledTask;\n\t\t\t} catch (error) {\n\t\t\t\tlogger.warn(\"Failed to cancel remote A2A swarm task\", {\n\t\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t\t),\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\tteammateId,\n\t\t\t\t\tremoteTaskId: remoteTask.taskId,\n\t\t\t\t\tpeer: remoteTask.route.name,\n\t\t\t\t});\n\t\t\t\treturn undefined;\n\t\t\t} finally {\n\t\t\t\tthis.remoteA2ATasks.delete(teammateId);\n\t\t\t}\n\t\t})();\n\t\tthis.remoteA2ACancelTasks.set(teammateId, cancelTask);\n\t\treturn cancelTask;\n\t}\n\n\t/**\n\t * Execute the swarm - runs all tasks with available teammates.\n\t */\n\tasync execute(): Promise<SwarmState> {\n\t\t// Pre-dispatch coverage gate: refuse to start when a validation contract\n\t\t// is configured but its assertions are not fully covered by feature\n\t\t// claims. No-ops when no contract is configured.\n\t\tconst coverage = evaluateSwarmCoverageGate({\n\t\t\tvalidationContract: this.state.config.validationContract,\n\t\t\tfeatureClaims: this.state.config.featureClaims,\n\t\t});\n\t\tif (!coverage.ok) {\n\t\t\tconst error = coverage.message ?? \"Swarm coverage gate failed\";\n\t\t\tthis.state.status = \"failed\";\n\t\t\tthis.state.error = error;\n\t\t\tthis.state.completedAt = Date.now();\n\t\t\tthis.emit({\n\t\t\t\ttype: \"swarm_fail\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\terror,\n\t\t\t});\n\t\t\tthis.emit({\n\t\t\t\ttype: \"swarm_complete\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tstate: cloneState(this.state),\n\t\t\t});\n\t\t\treturn cloneState(this.state);\n\t\t}\n\n\t\tthis.state.status = \"running\";\n\t\tthis.emit({\n\t\t\ttype: \"swarm_start\",\n\t\t\tswarmId: this.state.id,\n\t\t\tconfig: cloneConfig(this.state.config),\n\t\t});\n\n\t\ttry {\n\t\t\t// Sort tasks by priority (higher first) and dependencies\n\t\t\tthis.state.pendingTasks.sort(\n\t\t\t\t(a, b) => (b.priority ?? 0) - (a.priority ?? 0),\n\t\t\t);\n\n\t\t\t// Main execution loop\n\t\t\twhile (\n\t\t\t\tthis.state.status === \"running\" &&\n\t\t\t\t(this.state.pendingTasks.length > 0 || this.state.activeTasks.size > 0)\n\t\t\t) {\n\t\t\t\tthis.skipTasksBlockedByFailedDependencies();\n\n\t\t\t\t// Assign tasks to idle teammates\n\t\t\t\tawait this.assignTasks();\n\n\t\t\t\t// Wait for any task to complete\n\t\t\t\tif (this.state.activeTasks.size > 0) {\n\t\t\t\t\tawait this.waitForAnyCompletion();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Determine final status\n\t\t\t// Note: status may have been changed to \"cancelled\" asynchronously via cancel()\n\t\t\tconst finalStatus = this.state.status as SwarmStatus;\n\t\t\tif (\n\t\t\t\tthis.state.failedTasks.size > 0 &&\n\t\t\t\t!this.state.config.continueOnFailure\n\t\t\t) {\n\t\t\t\tthis.state.status = \"failed\";\n\t\t\t\tthis.state.error = `${this.state.failedTasks.size} task(s) failed`;\n\t\t\t} else if (finalStatus !== \"cancelled\") {\n\t\t\t\tthis.state.status = \"completed\";\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthis.state.status = \"failed\";\n\t\t\tthis.state.error = error instanceof Error ? error.message : String(error);\n\t\t\tthis.emit({\n\t\t\t\ttype: \"swarm_fail\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\terror: this.state.error,\n\t\t\t});\n\t\t}\n\n\t\tthis.state.completedAt = Date.now();\n\t\tthis.emit({\n\t\t\ttype: \"swarm_complete\",\n\t\t\tswarmId: this.state.id,\n\t\t\tstate: cloneState(this.state),\n\t\t});\n\n\t\tlogger.info(\"Swarm execution complete\", {\n\t\t\tswarmId: this.state.id,\n\t\t\tstatus: this.state.status,\n\t\t\tcompleted: this.state.completedTasks.size,\n\t\t\tfailed: this.state.failedTasks.size,\n\t\t\tduration: this.state.completedAt - this.state.startedAt,\n\t\t});\n\n\t\treturn cloneState(this.state);\n\t}\n\n\t/**\n\t * Assign pending tasks to idle teammates.\n\t */\n\tprivate async assignTasks(): Promise<void> {\n\t\tconst idleTeammates = this.state.teammates.filter(\n\t\t\t(t) => t.status === \"pending\" || t.status === \"completed\",\n\t\t);\n\t\tconst spawnPromises: Promise<void>[] = [];\n\n\t\tfor (const teammate of idleTeammates) {\n\t\t\tconst task = this.getNextTask();\n\t\t\tif (!task) break;\n\n\t\t\t// Update state\n\t\t\tteammate.status = \"running\";\n\t\t\tteammate.currentTask = task;\n\t\t\tteammate.startedAt = Date.now();\n\t\t\tthis.state.activeTasks.set(task.id, teammate.id);\n\n\t\t\t// Remove from pending\n\t\t\tconst pendingIdx = this.state.pendingTasks.findIndex(\n\t\t\t\t(t) => t.id === task.id,\n\t\t\t);\n\t\t\tif (pendingIdx >= 0) {\n\t\t\t\tthis.state.pendingTasks.splice(pendingIdx, 1);\n\t\t\t}\n\n\t\t\tthis.emit({ type: \"teammate_spawn\", swarmId: this.state.id, teammate });\n\t\t\tthis.emit({\n\t\t\t\ttype: \"task_start\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammateId: teammate.id,\n\t\t\t\ttask,\n\t\t\t});\n\n\t\t\t// Spawn the agent process\n\t\t\tspawnPromises.push(this.spawnTeammate(teammate, task));\n\t\t}\n\n\t\tif (spawnPromises.length > 0) {\n\t\t\tawait Promise.all(spawnPromises);\n\t\t}\n\t}\n\n\t/**\n\t * Get the next task that can be executed (dependencies satisfied).\n\t */\n\tprivate getNextTask(): SwarmTask | null {\n\t\tfor (const task of this.state.pendingTasks) {\n\t\t\t// Check dependencies\n\t\t\tif (task.dependsOn && task.dependsOn.length > 0) {\n\t\t\t\tconst allDepsCompleted = task.dependsOn.every((depId) =>\n\t\t\t\t\tthis.state.completedTasks.has(depId),\n\t\t\t\t);\n\t\t\t\tif (!allDepsCompleted) continue;\n\t\t\t}\n\t\t\treturn task;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprivate skipTasksBlockedByFailedDependencies(): void {\n\t\tconst blockedTasks = this.state.pendingTasks.filter((task) =>\n\t\t\ttask.dependsOn?.some((depId) => this.state.failedTasks.has(depId)),\n\t\t);\n\t\tfor (const task of blockedTasks) {\n\t\t\tconst pendingIndex = this.state.pendingTasks.findIndex(\n\t\t\t\t(candidate) => candidate.id === task.id,\n\t\t\t);\n\t\t\tif (pendingIndex >= 0) {\n\t\t\t\tthis.state.pendingTasks.splice(pendingIndex, 1);\n\t\t\t}\n\t\t\tthis.state.failedTasks.add(task.id);\n\t\t\tconst failedDependency = task.dependsOn?.find((depId) =>\n\t\t\t\tthis.state.failedTasks.has(depId),\n\t\t\t);\n\t\t\tconst error = `Dependency ${failedDependency ?? \"unknown\"} failed`;\n\t\t\tthis.emit({\n\t\t\t\ttype: \"task_fail\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammateId: \"dependency\",\n\t\t\t\ttaskId: task.id,\n\t\t\t\terror,\n\t\t\t});\n\t\t\tif (!this.state.config.continueOnFailure) {\n\t\t\t\tthis.state.status = \"failed\";\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Spawn a subprocess agent for a teammate.\n\t */\n\tprivate async buildTeammateEnv(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\tdispatch: ResolvedSubagentDispatch | null,\n\t\truntimeSelection?: {\n\t\t\tmodel?: string;\n\t\t\tprovider?: string;\n\t\t\tsource?: string;\n\t\t},\n\t): Promise<Record<string, string>> {\n\t\tconst baseEnv: Record<string, string> = {\n\t\t\t...process.env,\n\t\t\tMAESTRO_MISSION_WORKER: \"1\",\n\t\t\tMAESTRO_SWARM_MODE: \"1\",\n\t\t\tMAESTRO_SWARM_ID: this.state.id,\n\t\t\tMAESTRO_TEAMMATE_ID: teammate.id,\n\t\t\tMAESTRO_MISSION_ROLE: resolveMissionRoleForTeammate(),\n\t\t\t...buildDispatchEnv(\n\t\t\t\tdispatch,\n\t\t\t\tthis.state.config.reasoningEffort,\n\t\t\t\truntimeSelection,\n\t\t\t),\n\t\t};\n\n\t\ttry {\n\t\t\tconst delegation = await issueEvalOpsDelegationToken({\n\t\t\t\tagentId: teammate.id,\n\t\t\t\tagentType: \"swarm_teammate\",\n\t\t\t\tcapabilities: [\"swarm_task\"],\n\t\t\t\trunId: `${this.state.id}:${task.id}`,\n\t\t\t\tsurface: \"maestro-swarm\",\n\t\t\t\ttoken: process.env.MAESTRO_EVALOPS_ACCESS_TOKEN,\n\t\t\t\tttlSeconds: Math.max(\n\t\t\t\t\t60,\n\t\t\t\t\tMath.ceil(\n\t\t\t\t\t\t(this.state.config.taskTimeout ?? DEFAULT_TASK_TIMEOUT_MS) / 1000,\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t});\n\t\t\treturn {\n\t\t\t\t...baseEnv,\n\t\t\t\t...buildEvalOpsDelegationEnvironment(delegation),\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tif (\n\t\t\t\tmessage.includes(\"Run /login evalops first\") ||\n\t\t\t\tmessage.includes(\"EvalOps login requires\")\n\t\t\t) {\n\t\t\t\treturn baseEnv;\n\t\t\t}\n\t\t\tlogger.warn(\n\t\t\t\t\"Failed to issue delegated EvalOps token for swarm teammate; using inherited auth\",\n\t\t\t\t{\n\t\t\t\t\terror: message,\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\ttaskId: task.id,\n\t\t\t\t\tteammateId: teammate.id,\n\t\t\t\t},\n\t\t\t);\n\t\t\treturn baseEnv;\n\t\t}\n\t}\n\n\tprivate resolveTaskDispatch(\n\t\ttask: SwarmTask,\n\t\tteammate: SwarmTeammate,\n\t\toptions: { hasModelOverride?: boolean } = {},\n\t): TaskDispatchResolution | null {\n\t\tconst startedAt = Date.now();\n\t\tconst requestedSubagentType =\n\t\t\ttask.subagentType ?? this.state.config.subagentType;\n\t\tif (!requestedSubagentType) {\n\t\t\treturn null;\n\t\t}\n\t\tconst subagentType = parseSubagentType(requestedSubagentType);\n\t\tif (!subagentType) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst mode = this.resolveParentMode();\n\t\tconst parentProvider = this.resolveParentModelProvider();\n\t\tconst dispatch = resolveSubagentDispatch(\n\t\t\tmode,\n\t\t\tsubagentType,\n\t\t\tparentProvider ?? \"openai-codex\",\n\t\t);\n\t\tif (!parentProvider && dispatch.modelTier && !options.hasModelOverride) {\n\t\t\tthis.recordTaskDispatch(\n\t\t\t\ttask,\n\t\t\t\tdispatch,\n\t\t\t\tMath.max(0, Date.now() - startedAt),\n\t\t\t\tfalse,\n\t\t\t\t{\n\t\t\t\t\tparentMode: mode,\n\t\t\t\t\tparentModelProvider: parentProvider,\n\t\t\t\t\tteammateId: teammate.id,\n\t\t\t\t\treason: \"missing_parent_model_provider\",\n\t\t\t\t},\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\tdispatch,\n\t\t\tstartedAt,\n\t\t\tlatencyMs: Math.max(0, Date.now() - startedAt),\n\t\t\tparentMode: mode,\n\t\t\tparentModelProvider: parentProvider,\n\t\t};\n\t}\n\n\tprivate recordTaskDispatch(\n\t\ttask: SwarmTask,\n\t\tdispatch: ResolvedSubagentDispatch,\n\t\tlatencyMs: number,\n\t\tsuccess: boolean,\n\t\toptions: {\n\t\t\tparentMode: AgentMode;\n\t\t\tparentModelProvider?: ModelProvider;\n\t\t\tteammateId?: string;\n\t\t\tmodel?: string;\n\t\t\tprovider?: string;\n\t\t\tsource?: string;\n\t\t\tmodelOverride?: \"task\" | \"config\";\n\t\t\treason?: string;\n\t\t},\n\t): void {\n\t\trecordSubagentDispatch({\n\t\t\tmode: dispatch.mode,\n\t\t\tsubagentType: dispatch.type,\n\t\t\tmodel: options.model ?? dispatch.model,\n\t\t\tprovider: options.provider ?? dispatch.provider,\n\t\t\treasoningEffort:\n\t\t\t\tthis.state.config.reasoningEffort ?? dispatch.reasoningEffort,\n\t\t\tlatencyMs,\n\t\t\tsuccess,\n\t\t\tsource: options.source ?? dispatch.source,\n\t\t\tmetadata: {\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammateId: options.teammateId,\n\t\t\t\ttaskId: task.id,\n\t\t\t\tparentMode: options.parentMode,\n\t\t\t\tparentModelProvider: options.parentModelProvider,\n\t\t\t\tdispatchModel: dispatch.model,\n\t\t\t\tdispatchProvider: dispatch.provider,\n\t\t\t\tdispatchSource: dispatch.source,\n\t\t\t\tmodelTier: dispatch.modelTier,\n\t\t\t\tmodelOverride: options.modelOverride,\n\t\t\t\treason: options.reason,\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate resolveParentMode(): AgentMode {\n\t\treturn (\n\t\t\tthis.state.config.mode ??\n\t\t\tparseAgentMode(process.env.MAESTRO_MODE) ??\n\t\t\t\"smart\"\n\t\t);\n\t}\n\n\tprivate resolveParentModelProvider(): ModelProvider | undefined {\n\t\treturn (\n\t\t\tthis.state.config.modelProvider ??\n\t\t\tparseModelProvider(process.env.MAESTRO_MODEL_PROVIDER) ??\n\t\t\tproviderFromPrefixedModel(process.env.MAESTRO_MODEL)\n\t\t);\n\t}\n\n\tprivate resolveA2AConfig(): SwarmA2AConfig | null {\n\t\tconst transport =\n\t\t\tthis.state.config.transport ??\n\t\t\ttrimString(process.env.MAESTRO_SWARM_TRANSPORT);\n\t\tif (transport !== \"a2a\") {\n\t\t\treturn null;\n\t\t}\n\t\tconst configured = this.state.config.a2a ?? {};\n\t\tconst peers =\n\t\t\tconfigured.peers ?? parseCSVEnv(getEnvValue([\"MAESTRO_SWARM_A2A_PEERS\"]));\n\t\treturn {\n\t\t\t...configured,\n\t\t\t...(peers ? { peers } : {}),\n\t\t\tregistryPath:\n\t\t\t\tconfigured.registryPath ??\n\t\t\t\ttrimString(process.env.MAESTRO_SWARM_A2A_REGISTRY),\n\t\t\ttasksPath:\n\t\t\t\tconfigured.tasksPath ?? trimString(process.env.MAESTRO_SWARM_A2A_TASKS),\n\t\t\tskillId:\n\t\t\t\tconfigured.skillId ??\n\t\t\t\ttrimString(process.env.MAESTRO_SWARM_A2A_SKILL_ID),\n\t\t\trole: configured.role ?? trimString(process.env.MAESTRO_SWARM_A2A_ROLE),\n\t\t\tdiscover:\n\t\t\t\tconfigured.discover ??\n\t\t\t\tparseBooleanEnv(process.env.MAESTRO_SWARM_A2A_DISCOVER),\n\t\t\tworkspaceId:\n\t\t\t\tconfigured.workspaceId ??\n\t\t\t\ttrimString(process.env.MAESTRO_SWARM_A2A_WORKSPACE_ID),\n\t\t\tcapability:\n\t\t\t\tconfigured.capability ??\n\t\t\t\ttrimString(process.env.MAESTRO_SWARM_A2A_CAPABILITY),\n\t\t\tsurface:\n\t\t\t\tconfigured.surface ?? trimString(process.env.MAESTRO_SWARM_A2A_SURFACE),\n\t\t\tpreferInternalEndpoint:\n\t\t\t\tconfigured.preferInternalEndpoint ??\n\t\t\t\tparseBooleanEnv(process.env.MAESTRO_SWARM_A2A_PREFER_INTERNAL),\n\t\t\tlimit:\n\t\t\t\tconfigured.limit ??\n\t\t\t\tparsePositiveIntEnv(process.env.MAESTRO_SWARM_A2A_LIMIT),\n\t\t\ttimeoutMs:\n\t\t\t\tconfigured.timeoutMs ??\n\t\t\t\tparsePositiveIntEnv(process.env.MAESTRO_SWARM_A2A_TIMEOUT_MS),\n\t\t\tmaxAttempts:\n\t\t\t\tconfigured.maxAttempts ??\n\t\t\t\tparsePositiveIntEnv(process.env.MAESTRO_SWARM_A2A_MAX_ATTEMPTS),\n\t\t\tmaxWaitMs:\n\t\t\t\tconfigured.maxWaitMs ??\n\t\t\t\tparsePositiveIntEnv(process.env.MAESTRO_SWARM_A2A_MAX_WAIT_MS),\n\t\t\tpollIntervalMs:\n\t\t\t\tconfigured.pollIntervalMs ??\n\t\t\t\tparsePositiveIntEnv(process.env.MAESTRO_SWARM_A2A_POLL_INTERVAL_MS),\n\t\t\tpushNotificationConfig: resolveA2APushNotificationConfig(\n\t\t\t\tconfigured.pushNotificationConfig,\n\t\t\t),\n\t\t};\n\t}\n\n\tprivate async resolveA2ATeammateRoute(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\toptions: SwarmA2AConfig,\n\t): Promise<A2ATeammateRoute> {\n\t\tif (options.discover) {\n\t\t\treturn this.resolvePlatformDiscoveredA2ATeammateRoute(\n\t\t\t\tteammate,\n\t\t\t\ttask,\n\t\t\t\toptions,\n\t\t\t);\n\t\t}\n\t\tconst peerName = this.selectA2APeerName(teammate, task, options);\n\t\tconst peer = await resolveA2APeer(peerName, {\n\t\t\tpath: options.registryPath,\n\t\t\ttimeoutMs: options.timeoutMs,\n\t\t\tmaxAttempts: options.maxAttempts,\n\t\t});\n\t\tconst skillId = this.resolveA2ASkillId(task, options, peer);\n\t\treturn {\n\t\t\tname: peer.name,\n\t\t\tdisplayName: peer.entry.displayName,\n\t\t\tconfig: peer.config,\n\t\t\tskillId,\n\t\t\ttaskClass: this.resolveA2ATaskClass(task, options, skillId),\n\t\t\trole: this.resolveA2ARole(task, options),\n\t\t\ttasksPath: options.tasksPath,\n\t\t\tpeerEndpointHash: hashA2AEndpointUrlForTelemetry(peer.config.baseUrl),\n\t\t\tsource: \"registry\",\n\t\t};\n\t}\n\n\tprivate async resolvePlatformDiscoveredA2ATeammateRoute(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\toptions: SwarmA2AConfig,\n\t): Promise<A2ATeammateRoute> {\n\t\tconst skillId = this.resolveA2ASkillId(task, options);\n\t\tconst pinnedPeer = trimString(task.a2aPeer);\n\t\tconst routeIndex = pinnedPeer ? 0 : this.nextA2ARouteIndex();\n\t\tconst candidates = await listA2APeerCandidatesWithPlatform({\n\t\t\tworkspaceId: options.workspaceId,\n\t\t\tcapability: options.capability,\n\t\t\tsurface: options.surface ?? \"a2a\",\n\t\t\tstatus: PlatformAgentStatusValue.Idle,\n\t\t\tlimit:\n\t\t\t\toptions.limit ??\n\t\t\t\t(pinnedPeer ? undefined : this.defaultA2ADiscoveryLimit()),\n\t\t\tskillId,\n\t\t\tpreferInternalEndpoint: options.preferInternalEndpoint,\n\t\t});\n\t\tif (!candidates || candidates.length === 0) {\n\t\t\tthrow new Error(\n\t\t\t\t`No Platform A2A peers available for swarm task ${task.id}${\n\t\t\t\t\tskillId ? ` with skill ${skillId}` : \"\"\n\t\t\t\t}`,\n\t\t\t);\n\t\t}\n\t\tconst candidatePool = pinnedPeer\n\t\t\t? candidates.filter((candidate) =>\n\t\t\t\t\tplatformA2ACandidateMatchesPeer(candidate, pinnedPeer),\n\t\t\t\t)\n\t\t\t: candidates;\n\t\tif (candidatePool.length === 0) {\n\t\t\tthrow new Error(\n\t\t\t\t`No Platform A2A peer matched task ${task.id} a2aPeer ${pinnedPeer}`,\n\t\t\t);\n\t\t}\n\t\tconst rankedCandidates = rankA2ACapabilityPeers(candidatePool, {\n\t\t\tskillId,\n\t\t\ttaskClass: this.resolveA2ATaskClass(task, options, skillId),\n\t\t\tpreferInternalEndpoint: options.preferInternalEndpoint,\n\t\t});\n\t\tif (rankedCandidates.length === 0) {\n\t\t\tthrow new Error(\n\t\t\t\t`No Platform A2A peer satisfied capability policy for swarm task ${task.id}${\n\t\t\t\t\tskillId ? ` with skill ${skillId}` : \"\"\n\t\t\t\t}`,\n\t\t\t);\n\t\t}\n\t\tconst candidateIndex = pinnedPeer\n\t\t\t? 0\n\t\t\t: routeIndex % rankedCandidates.length;\n\t\tconst ranked = rankedCandidates[candidateIndex];\n\t\tconst candidate = ranked?.candidate;\n\t\tif (!candidate || !ranked) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Platform A2A peer discovery returned an invalid candidate\",\n\t\t\t);\n\t\t}\n\t\tlogger.info(\"Selected Platform A2A peer through capability market\", {\n\t\t\tswarmId: this.state.id,\n\t\t\ttaskId: task.id,\n\t\t\tagentId: candidate.agent.id,\n\t\t\tscore: ranked.score,\n\t\t\treasons: ranked.reasons,\n\t\t\tskillId: ranked.selectedSkill?.id ?? skillId,\n\t\t});\n\t\tconst config = await this.a2aConfigForPlatformCandidate(candidate, options);\n\t\tconst selectedSkillId = ranked.selectedSkill?.id ?? skillId;\n\t\tconst endpointHash = hashA2AEndpointUrlForTelemetry(candidate.endpointUrl);\n\t\tconst routeName = platformA2APeerRouteName(candidate, endpointHash);\n\t\treturn {\n\t\t\tname: routeName,\n\t\t\tdisplayName: candidate.agent.name,\n\t\t\tconfig,\n\t\t\tskillId: selectedSkillId,\n\t\t\ttaskClass: this.resolveA2ATaskClass(task, options, selectedSkillId),\n\t\t\trole: this.resolveA2ARole(task, options),\n\t\t\ttasksPath: options.tasksPath,\n\t\t\tpeerAgentId: candidate.agent.id,\n\t\t\tpeerEndpointHash: endpointHash,\n\t\t\tpeerEndpointKind: candidate.endpointKind,\n\t\t\tsource: \"platform-agent-registry\",\n\t\t};\n\t}\n\n\tprivate async a2aConfigForPlatformCandidate(\n\t\tcandidate: PlatformAgentRegistryA2APeerCandidate,\n\t\toptions: SwarmA2AConfig,\n\t): Promise<A2AServiceConfig> {\n\t\tconst platformConfig = await resolveAgentRegistryServiceConfig();\n\t\tif (!platformConfig) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Platform Agent Registry service is not configured for A2A swarm discovery\",\n\t\t\t);\n\t\t}\n\t\tconst candidateAgentId = trimString(candidate.agent.id);\n\t\tconst registryTokenFallback = getEnvValue(DEDICATED_A2A_TOKEN_ENV_VARS)\n\t\t\t? undefined\n\t\t\t: platformConfig.token;\n\t\tconst serviceConfig = await resolveA2AServiceConfig({\n\t\t\tbaseUrl: normalizeA2ABaseUrl(candidate.endpointUrl),\n\t\t\ttoken: registryTokenFallback,\n\t\t\torganizationId: platformConfig.organizationId,\n\t\t\tworkspaceId:\n\t\t\t\tcandidate.agent.workspaceId ??\n\t\t\t\toptions.workspaceId ??\n\t\t\t\tplatformConfig.workspaceId,\n\t\t\t...(candidateAgentId ? { agentId: candidateAgentId } : {}),\n\t\t\tactorId: \"maestro-swarm\",\n\t\t\ttimeoutMs: options.timeoutMs ?? platformConfig.timeoutMs,\n\t\t\tmaxAttempts: options.maxAttempts ?? platformConfig.maxAttempts,\n\t\t});\n\t\tif (!serviceConfig) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Platform A2A peer discovery requires a workspace id for the selected peer\",\n\t\t\t);\n\t\t}\n\t\tif (!candidateAgentId) {\n\t\t\tconst { agentId: _defaultAgentId, ...anonymousServiceConfig } =\n\t\t\t\tserviceConfig;\n\t\t\treturn anonymousServiceConfig;\n\t\t}\n\t\treturn serviceConfig;\n\t}\n\n\tprivate selectA2APeerName(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\toptions: SwarmA2AConfig,\n\t): string {\n\t\tconst peerName = trimString(task.a2aPeer);\n\t\tif (peerName) {\n\t\t\treturn peerName;\n\t\t}\n\t\tconst peers = options.peers ?? [];\n\t\tconst selected = peers[this.nextA2ARouteIndex() % peers.length];\n\t\tif (!selected) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Remote A2A swarm transport requires a task a2aPeer, a2a.peers, MAESTRO_SWARM_A2A_PEERS, or a2a.discover=true\",\n\t\t\t);\n\t\t}\n\t\treturn selected;\n\t}\n\n\tprivate resolveA2ASkillId(\n\t\ttask: SwarmTask,\n\t\toptions: SwarmA2AConfig,\n\t\tpeer?: ResolvedA2APeer,\n\t): string | undefined {\n\t\tconst configured =\n\t\t\ttrimString(task.a2aSkillId) ??\n\t\t\ttrimString(options.skillId) ??\n\t\t\tcodexSubagentTypeA2ASkillID(\n\t\t\t\ttask.subagentType ?? this.state.config.subagentType,\n\t\t\t);\n\t\tif (configured) {\n\t\t\treturn configured;\n\t\t}\n\t\treturn peer?.entry.skills?.[0]?.id;\n\t}\n\n\tprivate resolveA2ATaskClass(\n\t\ttask: SwarmTask,\n\t\toptions: SwarmA2AConfig,\n\t\tskillId: string | undefined,\n\t): string | undefined {\n\t\tconst explicitSkill =\n\t\t\ttrimString(task.a2aSkillId) ?? trimString(options.skillId);\n\t\tconst requestedSubagentType = trimString(\n\t\t\ttask.subagentType ?? this.state.config.subagentType,\n\t\t);\n\t\tconst normalizedRequestedSubagentType = codexSubagentSkillToken(\n\t\t\trequestedSubagentType,\n\t\t);\n\t\tconst parsedSubagentType = requestedSubagentType\n\t\t\t? parseSubagentType(requestedSubagentType)\n\t\t\t: undefined;\n\t\tconst subagentType = parsedSubagentType ?? normalizedRequestedSubagentType;\n\t\tconst mappedSubagentTaskClass = normalizedRequestedSubagentType\n\t\t\t? (SWARM_SUBAGENT_TASK_CLASSES.get(normalizedRequestedSubagentType) ??\n\t\t\t\t(parsedSubagentType\n\t\t\t\t\t? SWARM_SUBAGENT_TASK_CLASSES.get(parsedSubagentType)\n\t\t\t\t\t: undefined))\n\t\t\t: undefined;\n\t\tif (\n\t\t\tmappedSubagentTaskClass &&\n\t\t\tnormalizedRequestedSubagentType &&\n\t\t\tA2A_SUBAGENT_TASK_CLASS_OVERRIDES.has(normalizedRequestedSubagentType)\n\t\t) {\n\t\t\treturn mappedSubagentTaskClass;\n\t\t}\n\t\tconst mappedSkillTaskClass = skillId\n\t\t\t? A2A_SKILL_PRIMARY_TASK_CLASSES.get(skillId)\n\t\t\t: undefined;\n\t\tif (mappedSkillTaskClass) {\n\t\t\treturn mappedSkillTaskClass;\n\t\t}\n\t\tif (skillId && explicitSkill) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn mappedSubagentTaskClass ?? subagentType ?? requestedSubagentType;\n\t}\n\n\tprivate resolveA2ARole(\n\t\ttask: SwarmTask,\n\t\toptions: SwarmA2AConfig,\n\t): string | undefined {\n\t\tconst configuredRole = trimString(options.role);\n\t\tif (configuredRole) {\n\t\t\treturn parseSubagentType(configuredRole) ?? configuredRole;\n\t\t}\n\t\tconst requestedSubagentType = trimString(\n\t\t\ttask.subagentType ?? this.state.config.subagentType,\n\t\t);\n\t\treturn requestedSubagentType\n\t\t\t? (parseSubagentType(requestedSubagentType) ?? requestedSubagentType)\n\t\t\t: undefined;\n\t}\n\n\tprivate teammateIndex(teammate: SwarmTeammate): number {\n\t\tconst index = this.state.teammates.findIndex(\n\t\t\t(item) => item.id === teammate.id,\n\t\t);\n\t\treturn index >= 0 ? index : 0;\n\t}\n\n\tprivate nextA2ARouteIndex(): number {\n\t\tconst index = this.a2aRouteCursor;\n\t\tthis.a2aRouteCursor += 1;\n\t\treturn index;\n\t}\n\n\tprivate defaultA2ADiscoveryLimit(): number {\n\t\treturn Math.max(\n\t\t\t1,\n\t\t\tthis.state.config.teammateCount,\n\t\t\tthis.state.config.tasks.length,\n\t\t);\n\t}\n\n\tprivate async spawnTeammate(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t): Promise<void> {\n\t\tconst tmpFile = join(\n\t\t\ttmpdir(),\n\t\t\t`${this.state.id}-${toSafeTaskTempBasename(task.id)}`,\n\t\t);\n\n\t\tconst specialistProfile = task.specialistProfile\n\t\t\t? resolveSpecialistProfile(task.specialistProfile, this.state.config.cwd)\n\t\t\t: null;\n\t\tif (task.specialistProfile && !specialistProfile) {\n\t\t\tthrow new Error(\n\t\t\t\t`specialist profile not found or invalid: ${task.specialistProfile}`,\n\t\t\t);\n\t\t}\n\t\tconst delegationPrompt: DelegationPrompt = {\n\t\t\tgoal: `Complete swarm task ${task.id} as teammate \"${teammate.name}\".`,\n\t\t\tcontext: `You are teammate \"${teammate.name}\" in swarm ${this.state.id}, working from plan file ${this.state.config.planFile}.`,\n\t\t\ttask: applySpecialistProfileToPrompt(task.prompt, specialistProfile),\n\t\t\tevidence: task.files?.length\n\t\t\t\t? task.files.map((file) => `Relevant file: ${file}`)\n\t\t\t\t: [],\n\t\t\tvalidation: buildSwarmValidationDirective(task.mocksAllowed),\n\t\t\tstoppingCondition:\n\t\t\t\t\"Stop when the assigned task is complete and report what changed, what you verified, and any blockers. Do not broaden into unrelated tasks.\",\n\t\t};\n\t\tconst prompt = formatDelegation(delegationPrompt);\n\n\t\tconst requestedSubagentType =\n\t\t\ttask.subagentType ?? this.state.config.subagentType;\n\n\t\twriteFileSync(tmpFile, prompt);\n\n\t\tif (requestedSubagentType && !parseSubagentType(requestedSubagentType)) {\n\t\t\ttry {\n\t\t\t\tunlinkSync(tmpFile);\n\t\t\t} catch {\n\t\t\t\t// Ignore cleanup errors\n\t\t\t}\n\t\t\tconst error = `Invalid subagent type: ${requestedSubagentType}`;\n\t\t\tthis.state.activeTasks.delete(task.id);\n\t\t\tthis.state.failedTasks.add(task.id);\n\t\t\tif (!this.state.config.continueOnFailure) {\n\t\t\t\tthis.state.status = \"failed\";\n\t\t\t}\n\t\t\tteammate.status = \"failed\";\n\t\t\tteammate.error = error;\n\t\t\tteammate.completedAt = Date.now();\n\t\t\tteammate.currentTask = undefined;\n\t\t\tthis.emit({\n\t\t\t\ttype: \"task_fail\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammateId: teammate.id,\n\t\t\t\ttaskId: task.id,\n\t\t\t\terror,\n\t\t\t});\n\t\t\tthis.emit({\n\t\t\t\ttype: \"teammate_complete\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammate,\n\t\t\t});\n\t\t\tif (\n\t\t\t\tthis.state.status === \"running\" &&\n\t\t\t\t(this.state.pendingTasks.length > 0 ||\n\t\t\t\t\tthis.state.activeTasks.size > 0) &&\n\t\t\t\tthis.state.config.continueOnFailure\n\t\t\t) {\n\t\t\t\tteammate.status = \"pending\";\n\t\t\t\tteammate.error = undefined;\n\t\t\t\tteammate.completedAt = undefined;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst a2aConfig = this.resolveA2AConfig();\n\t\tif (a2aConfig) {\n\t\t\tvoid this.spawnA2ATeammate(teammate, task, prompt, tmpFile, a2aConfig);\n\t\t\treturn;\n\t\t}\n\n\t\tconst modelOverride =\n\t\t\ttask.model !== undefined\n\t\t\t\t? \"task\"\n\t\t\t\t: this.state.config.model !== undefined\n\t\t\t\t\t? \"config\"\n\t\t\t\t\t: undefined;\n\t\tconst hasModelOverride = Boolean(modelOverride);\n\t\tconst dispatchResolution = this.resolveTaskDispatch(task, teammate, {\n\t\t\thasModelOverride,\n\t\t});\n\t\tconst dispatch = dispatchResolution?.dispatch ?? null;\n\t\tconst model = task.model ?? this.state.config.model ?? dispatch?.model;\n\t\tconst overrideProvider = hasModelOverride\n\t\t\t? (providerFromPrefixedModel(model) ?? \"unknown\")\n\t\t\t: undefined;\n\t\tconst telemetryProvider =\n\t\t\toverrideProvider ?? (hasModelOverride ? \"unknown\" : dispatch?.provider);\n\t\tconst dispatchSource = hasModelOverride ? \"override\" : dispatch?.source;\n\t\tconst provider = hasModelOverride ? undefined : dispatch?.provider;\n\t\tconst args = [\n\t\t\t\"--no-session\",\n\t\t\t...(provider ? [\"--provider\", provider] : []),\n\t\t\t...(model ? [\"--model\", model] : []),\n\t\t\t\"exec\",\n\t\t\ttmpFile,\n\t\t];\n\t\tconst env = await this.buildTeammateEnv(\n\t\t\tteammate,\n\t\t\ttask,\n\t\t\tdispatch,\n\t\t\tdispatch\n\t\t\t\t? {\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tprovider: telemetryProvider,\n\t\t\t\t\t\tsource: dispatchSource,\n\t\t\t\t\t}\n\t\t\t\t: undefined,\n\t\t);\n\n\t\tif (\n\t\t\tthis.state.status !== \"running\" ||\n\t\t\tthis.abortController.signal.aborted\n\t\t) {\n\t\t\ttry {\n\t\t\t\tunlinkSync(tmpFile);\n\t\t\t} catch {\n\t\t\t\t// Ignore cleanup errors\n\t\t\t}\n\n\t\t\tthis.state.activeTasks.delete(task.id);\n\t\t\tteammate.currentTask = undefined;\n\t\t\tteammate.completedAt = Date.now();\n\n\t\t\tif (teammate.status !== \"cancelled\") {\n\t\t\t\tteammate.status =\n\t\t\t\t\tthis.state.status === \"failed\" ? \"failed\" : \"cancelled\";\n\t\t\t}\n\n\t\t\tthis.emit({\n\t\t\t\ttype: \"teammate_complete\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammate,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst proc = spawn(\"maestro\", args, {\n\t\t\tcwd: this.state.config.cwd,\n\t\t\tstdio: [\"pipe\", \"pipe\", \"pipe\"],\n\t\t\tenv,\n\t\t});\n\n\t\tteammate.pid = proc.pid;\n\t\tthis.processes.set(teammate.id, proc);\n\n\t\tlet dispatchRecorded = false;\n\t\tconst recordDispatchOutcome = (success: boolean, reason?: string): void => {\n\t\t\tif (!dispatch || !dispatchResolution || dispatchRecorded) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdispatchRecorded = true;\n\t\t\tthis.recordTaskDispatch(\n\t\t\t\ttask,\n\t\t\t\tdispatch,\n\t\t\t\tMath.max(0, Date.now() - dispatchResolution.startedAt),\n\t\t\t\tsuccess,\n\t\t\t\t{\n\t\t\t\t\tparentMode: dispatchResolution.parentMode,\n\t\t\t\t\tparentModelProvider: dispatchResolution.parentModelProvider,\n\t\t\t\t\tteammateId: teammate.id,\n\t\t\t\t\tmodel,\n\t\t\t\t\tprovider: telemetryProvider,\n\t\t\t\t\tsource: dispatchSource,\n\t\t\t\t\tmodelOverride,\n\t\t\t\t\treason,\n\t\t\t\t},\n\t\t\t);\n\t\t};\n\n\t\tproc.once(\"spawn\", () => {\n\t\t\trecordDispatchOutcome(true);\n\t\t});\n\n\t\tlet output = \"\";\n\t\tlet errorOutput = \"\";\n\n\t\tproc.stdout?.on(\"data\", (data) => {\n\t\t\toutput += data.toString();\n\t\t});\n\n\t\tproc.stderr?.on(\"data\", (data) => {\n\t\t\terrorOutput += data.toString();\n\t\t});\n\n\t\tconst timeout = this.state.config.taskTimeout ?? DEFAULT_TASK_TIMEOUT_MS;\n\t\tconst timeoutHandle = setTimeout(() => {\n\t\t\tproc.kill(\"SIGTERM\");\n\t\t\tteammate.error = \"Task timed out\";\n\t\t}, timeout);\n\n\t\tproc.on(\"close\", (code) => {\n\t\t\tclearTimeout(timeoutHandle);\n\t\t\tthis.processes.delete(teammate.id);\n\n\t\t\t// Cleanup temp file\n\t\t\ttry {\n\t\t\t\tunlinkSync(tmpFile);\n\t\t\t} catch {\n\t\t\t\t// Ignore cleanup errors\n\t\t\t}\n\n\t\t\tconst taskId = task.id;\n\t\t\tteammate.completedAt = Date.now();\n\t\t\tteammate.currentTask = undefined;\n\t\t\tteammate.output = output;\n\n\t\t\tthis.state.activeTasks.delete(taskId);\n\n\t\t\tif (\n\t\t\t\tthis.state.status === \"cancelled\" ||\n\t\t\t\tteammate.status === \"cancelled\"\n\t\t\t) {\n\t\t\t\tteammate.status = \"cancelled\";\n\t\t\t\tthis.emit({\n\t\t\t\t\ttype: \"teammate_complete\",\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\tteammate,\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (code === 0 && !teammate.error) {\n\t\t\t\tteammate.status = \"completed\";\n\t\t\t\tteammate.completedTasks.push(taskId);\n\t\t\t\tthis.state.completedTasks.add(taskId);\n\t\t\t\tthis.emit({\n\t\t\t\t\ttype: \"task_complete\",\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\tteammateId: teammate.id,\n\t\t\t\t\ttaskId,\n\t\t\t\t\toutput,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tteammate.status = \"failed\";\n\t\t\t\tteammate.error = teammate.error || errorOutput || `Exit code ${code}`;\n\t\t\t\tthis.state.failedTasks.add(taskId);\n\t\t\t\tthis.emit({\n\t\t\t\t\ttype: \"task_fail\",\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\tteammateId: teammate.id,\n\t\t\t\t\ttaskId,\n\t\t\t\t\terror: teammate.error,\n\t\t\t\t});\n\n\t\t\t\t// Stop swarm if not continuing on failure\n\t\t\t\tif (!this.state.config.continueOnFailure) {\n\t\t\t\t\tthis.state.status = \"failed\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.emit({\n\t\t\t\ttype: \"teammate_complete\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammate,\n\t\t\t});\n\n\t\t\t// Only recycle idle teammates while the swarm still has work left.\n\t\t\tif (\n\t\t\t\tthis.state.status === \"running\" &&\n\t\t\t\t(this.state.pendingTasks.length > 0 ||\n\t\t\t\t\tthis.state.activeTasks.size > 0) &&\n\t\t\t\t(teammate.status === \"completed\" || this.state.config.continueOnFailure)\n\t\t\t) {\n\t\t\t\tteammate.status = \"pending\";\n\t\t\t\tteammate.error = undefined;\n\t\t\t}\n\t\t});\n\n\t\tproc.on(\"error\", (err) => {\n\t\t\trecordDispatchOutcome(false, \"spawn_error\");\n\t\t\tclearTimeout(timeoutHandle);\n\t\t\tthis.processes.delete(teammate.id);\n\t\t\tthis.state.activeTasks.delete(task.id);\n\n\t\t\ttry {\n\t\t\t\tunlinkSync(tmpFile);\n\t\t\t} catch {\n\t\t\t\t// Ignore cleanup errors\n\t\t\t}\n\n\t\t\tteammate.completedAt = Date.now();\n\t\t\tteammate.currentTask = undefined;\n\t\t\tteammate.output = output || errorOutput;\n\n\t\t\tif (\n\t\t\t\tthis.state.status === \"cancelled\" ||\n\t\t\t\tteammate.status === \"cancelled\"\n\t\t\t) {\n\t\t\t\tteammate.status = \"cancelled\";\n\t\t\t\tteammate.currentTask = undefined;\n\t\t\t\tthis.emit({\n\t\t\t\t\ttype: \"teammate_complete\",\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\tteammate,\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tteammate.status = \"failed\";\n\t\t\tteammate.error = err.message;\n\t\t\tthis.state.failedTasks.add(task.id);\n\n\t\t\tthis.emit({\n\t\t\t\ttype: \"task_fail\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammateId: teammate.id,\n\t\t\t\ttaskId: task.id,\n\t\t\t\terror: err.message,\n\t\t\t});\n\n\t\t\tif (!this.state.config.continueOnFailure) {\n\t\t\t\tthis.state.status = \"failed\";\n\t\t\t}\n\n\t\t\tthis.emit({\n\t\t\t\ttype: \"teammate_complete\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammate,\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\tthis.state.status === \"running\" &&\n\t\t\t\t(this.state.pendingTasks.length > 0 ||\n\t\t\t\t\tthis.state.activeTasks.size > 0) &&\n\t\t\t\tthis.state.config.continueOnFailure\n\t\t\t) {\n\t\t\t\tteammate.status = \"pending\";\n\t\t\t\tteammate.error = undefined;\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate async spawnA2ATeammate(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\tprompt: string,\n\t\ttmpFile: string,\n\t\toptions: SwarmA2AConfig,\n\t): Promise<void> {\n\t\tlet route: A2ATeammateRoute | undefined;\n\t\tlet messageId: string | undefined;\n\t\tlet contextId: string | undefined;\n\t\tlet a2aTaskId: string | undefined;\n\t\tconst startedAt = Date.now();\n\t\ttry {\n\t\t\troute = await this.resolveA2ATeammateRoute(teammate, task, options);\n\t\t\tmessageId = `maestro-swarm-message-${randomUUID()}`;\n\t\t\tcontextId = `maestro-swarm:${this.state.id}:${task.id}`;\n\t\t\tthis.recordA2ADelegationTelemetry(\n\t\t\t\t\"peer_selected\",\n\t\t\t\troute,\n\t\t\t\tteammate,\n\t\t\t\ttask,\n\t\t\t\t{\n\t\t\t\t\tcontextId,\n\t\t\t\t\tmessageId,\n\t\t\t\t},\n\t\t\t);\n\t\t\tconst dispatchStartedAt = Date.now();\n\t\t\tconst sent = await sendA2AMessage(route.config, {\n\t\t\t\tmessage: buildA2AUserMessage({\n\t\t\t\t\tmessageId,\n\t\t\t\t\tcontextId,\n\t\t\t\t\ttext: prompt,\n\t\t\t\t\tmetadata: this.buildA2ASwarmMessageMetadata(teammate, task, route),\n\t\t\t\t}),\n\t\t\t\tconfiguration: {\n\t\t\t\t\treturnImmediately: true,\n\t\t\t\t\tacceptedOutputModes: [\"text/plain\", \"application/json\"],\n\t\t\t\t\t...(options.pushNotificationConfig\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\ttaskPushNotificationConfig: options.pushNotificationConfig,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {}),\n\t\t\t\t},\n\t\t\t\tmetadata: {\n\t\t\t\t\troute: \"maestro_swarm\",\n\t\t\t\t\ttransport: \"a2a\",\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\ttaskId: task.id,\n\t\t\t\t\tteammateId: teammate.id,\n\t\t\t\t\tpeer: route.name,\n\t\t\t\t\tsource: route.source,\n\t\t\t\t},\n\t\t\t});\n\t\t\ta2aTaskId = sent.task.id;\n\t\t\tcontextId = sent.task.contextId ?? contextId;\n\t\t\tconst dispatchLatencyMs = Math.max(0, Date.now() - dispatchStartedAt);\n\t\t\tteammate.a2a = {\n\t\t\t\tpeer: route.name,\n\t\t\t\tpeerDisplayName: route.displayName,\n\t\t\t\tsource: route.source,\n\t\t\t\tparentTaskId: task.id,\n\t\t\t\ttaskId: sent.task.id,\n\t\t\t\tcontextId,\n\t\t\t\tmessageId,\n\t\t\t\tskillId: route.skillId,\n\t\t\t\trole: route.role,\n\t\t\t};\n\t\t\tthis.recordA2ADelegationTelemetry(\n\t\t\t\t\"task_dispatched\",\n\t\t\t\troute,\n\t\t\t\tteammate,\n\t\t\t\ttask,\n\t\t\t\t{\n\t\t\t\t\ta2aTaskId: sent.task.id,\n\t\t\t\t\tcontextId,\n\t\t\t\t\tmessageId,\n\t\t\t\t\tstatus: sent.task.status.state,\n\t\t\t\t\tlatencyMs: dispatchLatencyMs,\n\t\t\t\t},\n\t\t\t);\n\t\t\tthis.remoteA2ATasks.set(teammate.id, {\n\t\t\t\troute,\n\t\t\t\ttaskId: sent.task.id,\n\t\t\t});\n\t\t\tawait this.recordA2ASwarmTaskStart(route, task, sent.task, prompt, {\n\t\t\t\tmessageId,\n\t\t\t\tcontextId,\n\t\t\t});\n\t\t\tif (\n\t\t\t\tthis.state.status === \"cancelled\" ||\n\t\t\t\tthis.abortController.signal.aborted\n\t\t\t) {\n\t\t\t\tconst cancelledTask = await this.cancelRemoteA2ATask(teammate.id, {\n\t\t\t\t\troute,\n\t\t\t\t\ttaskId: sent.task.id,\n\t\t\t\t});\n\t\t\t\tif (!cancelledTask) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.recordA2ADelegationTelemetry(\n\t\t\t\t\ta2aTerminalPhase(cancelledTask.status.state),\n\t\t\t\t\troute,\n\t\t\t\t\tteammate,\n\t\t\t\t\ttask,\n\t\t\t\t\t{\n\t\t\t\t\t\ta2aTaskId: cancelledTask.id,\n\t\t\t\t\t\tcontextId:\n\t\t\t\t\t\t\tcancelledTask.contextId ?? sent.task.contextId ?? contextId,\n\t\t\t\t\t\tmessageId,\n\t\t\t\t\t\tstatus: cancelledTask.status.state,\n\t\t\t\t\t\tterminal: true,\n\t\t\t\t\t\tsuccess: a2aStateCompleted(cancelledTask.status.state),\n\t\t\t\t\t\tdurationMs: Math.max(0, Date.now() - startedAt),\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst remoteTask = await this.waitForA2ASwarmTask(\n\t\t\t\troute.config,\n\t\t\t\tsent.task,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\tawait this.updateA2ASwarmTaskLedger(route, remoteTask);\n\t\t\tthis.recordA2ADelegationTelemetry(\n\t\t\t\ta2aTerminalPhase(remoteTask.status.state),\n\t\t\t\troute,\n\t\t\t\tteammate,\n\t\t\t\ttask,\n\t\t\t\t{\n\t\t\t\t\ta2aTaskId: remoteTask.id,\n\t\t\t\t\tcontextId: remoteTask.contextId ?? contextId,\n\t\t\t\t\tmessageId,\n\t\t\t\t\tstatus: remoteTask.status.state,\n\t\t\t\t\tterminal: true,\n\t\t\t\t\tsuccess: a2aStateCompleted(remoteTask.status.state),\n\t\t\t\t\tdurationMs: Math.max(0, Date.now() - startedAt),\n\t\t\t\t},\n\t\t\t);\n\t\t\tthis.completeA2ATeammate(teammate, task, remoteTask, route);\n\t\t} catch (error) {\n\t\t\tconst wasCancelled =\n\t\t\t\tthis.state.status === \"cancelled\" ||\n\t\t\t\tthis.abortController.signal.aborted ||\n\t\t\t\tteammate.status === \"cancelled\";\n\t\t\tconst remoteTask = this.remoteA2ATasks.get(teammate.id);\n\t\t\tconst pendingCancelTask = this.remoteA2ACancelTasks.get(teammate.id);\n\t\t\tconst cancelledTask = wasCancelled\n\t\t\t\t? await (pendingCancelTask ??\n\t\t\t\t\t\t(remoteTask\n\t\t\t\t\t\t\t? this.cancelRemoteA2ATask(teammate.id, remoteTask)\n\t\t\t\t\t\t\t: Promise.resolve(undefined)))\n\t\t\t\t: undefined;\n\t\t\tif (!wasCancelled && remoteTask) {\n\t\t\t\tawait this.cancelRemoteA2ATask(teammate.id, remoteTask);\n\t\t\t}\n\t\t\tif (route) {\n\t\t\t\tif (!wasCancelled || cancelledTask) {\n\t\t\t\t\tthis.recordA2ADelegationTelemetry(\n\t\t\t\t\t\twasCancelled\n\t\t\t\t\t\t\t? a2aTerminalPhase(cancelledTask?.status.state)\n\t\t\t\t\t\t\t: \"task_failed\",\n\t\t\t\t\t\troute,\n\t\t\t\t\t\tteammate,\n\t\t\t\t\t\ttask,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ta2aTaskId: cancelledTask?.id ?? a2aTaskId,\n\t\t\t\t\t\t\tcontextId: cancelledTask?.contextId ?? contextId,\n\t\t\t\t\t\t\tmessageId,\n\t\t\t\t\t\t\tstatus: cancelledTask?.status.state ?? \"TASK_STATE_FAILED\",\n\t\t\t\t\t\t\tterminal: true,\n\t\t\t\t\t\t\tsuccess: a2aStateCompleted(cancelledTask?.status.state),\n\t\t\t\t\t\t\tdurationMs: Math.max(0, Date.now() - startedAt),\n\t\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.failA2ATeammate(teammate, task, error, {\n\t\t\t\tpreserveA2A: Boolean(a2aTaskId),\n\t\t\t});\n\t\t} finally {\n\t\t\tthis.remoteA2ATasks.delete(teammate.id);\n\t\t\tthis.remoteA2ACancelTasks.delete(teammate.id);\n\t\t\ttry {\n\t\t\t\tunlinkSync(tmpFile);\n\t\t\t} catch {\n\t\t\t\t// Ignore cleanup errors\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate recordA2ADelegationTelemetry(\n\t\tphase: Parameters<typeof recordA2ADelegationTelemetryEvent>[0][\"phase\"],\n\t\troute: A2ATeammateRoute,\n\t\t_teammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\toptions: {\n\t\t\ta2aTaskId?: string;\n\t\t\tcontextId?: string;\n\t\t\tmessageId?: string;\n\t\t\tstatus?: string;\n\t\t\tterminal?: boolean;\n\t\t\tsuccess?: boolean;\n\t\t\tlatencyMs?: number;\n\t\t\tdurationMs?: number;\n\t\t\tmetadata?: Record<string, unknown>;\n\t\t} = {},\n\t): void {\n\t\tconst laneId = a2aDelegationLaneId(route.name, task.id);\n\t\trecordA2ADelegationTelemetryEvent({\n\t\t\tphase,\n\t\t\tswarmId: this.state.id,\n\t\t\tlaneId,\n\t\t\tparentTaskId: task.id,\n\t\t\ta2aTaskId: options.a2aTaskId,\n\t\t\ta2aMessageId: options.messageId,\n\t\t\tcontextId: options.contextId,\n\t\t\tpeerAgentId: route.peerAgentId,\n\t\t\tpeerName: route.name,\n\t\t\tpeerEndpointHash: route.peerEndpointHash,\n\t\t\tpeerEndpointUrl: undefined,\n\t\t\tpeerEndpointKind: route.peerEndpointKind,\n\t\t\tskillId: route.skillId,\n\t\t\ttaskClass: route.taskClass,\n\t\t\tsource: route.source,\n\t\t\tstatus: options.status,\n\t\t\tterminal: options.terminal,\n\t\t\tsuccess: options.success,\n\t\t\tlatencyMs: options.latencyMs,\n\t\t\tdurationMs: options.durationMs,\n\t\t\tmetadata: options.metadata,\n\t\t\tcorrelation: {\n\t\t\t\tattributes: {\n\t\t\t\t\tswarm_id: this.state.id,\n\t\t\t\t\tlane_id: laneId,\n\t\t\t\t\tparent_task_id: task.id,\n\t\t\t\t\tpeer: route.name,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate buildA2ASwarmMessageMetadata(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\troute: A2ATeammateRoute,\n\t): Record<string, unknown> {\n\t\tconst missionRole = resolveMissionRoleForTeammate();\n\t\tconst currentDelegationId = `${this.state.id}:${task.id}`;\n\t\tconst contextId = `maestro-swarm:${this.state.id}:${task.id}`;\n\t\tconst lineage = {\n\t\t\trootDelegationId: this.state.id,\n\t\t\t...(this.state.config.parentSessionId\n\t\t\t\t? { parentDelegationId: this.state.config.parentSessionId }\n\t\t\t\t: {}),\n\t\t\tcurrentDelegationId,\n\t\t\tdelegationChain: [this.state.id, currentDelegationId],\n\t\t\tdelegationChainDepth: 1,\n\t\t\tmaxDelegationChainDepth: 1,\n\t\t};\n\t\tconst subagentRequest = route.skillId\n\t\t\t? {\n\t\t\t\t\tskillId: route.skillId,\n\t\t\t\t\trole: route.role,\n\t\t\t\t\tcwd: this.state.config.cwd,\n\t\t\t\t\ttaskId: task.id,\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\tmissionRole,\n\t\t\t\t\tenv: { MAESTRO_MISSION_ROLE: missionRole },\n\t\t\t\t}\n\t\t\t: undefined;\n\t\tconst peerControl = {\n\t\t\tschema: \"evalops.maestro.a2a-peer-control.v1\",\n\t\t\tparentSwarmId: this.state.id,\n\t\t\tlaneId: a2aDelegationLaneId(route.name, task.id),\n\t\t\ttaskId: task.id,\n\t\t\tcontextId,\n\t\t\tcontrolModes: [\"followup\", \"steer\", \"interrupt\", \"cancel\"],\n\t\t\tevidenceRequired: [\"status\", \"artifact\", \"task\", \"workGraph\"],\n\t\t};\n\t\tconst validationPolicy = {\n\t\t\tschema: \"evalops.maestro.swarm-validation-policy.v1\",\n\t\t\tmocksAllowed: task.mocksAllowed === true,\n\t\t\tmode: task.mocksAllowed === true ? \"mocks-allowed\" : \"real-integrations\",\n\t\t};\n\t\treturn {\n\t\t\trequestKind: \"maestro-swarm-task\",\n\t\t\ttransport: \"a2a\",\n\t\t\trelayPeer: route.name,\n\t\t\tswarmId: this.state.id,\n\t\t\tteammateId: teammate.id,\n\t\t\tteammateName: teammate.name,\n\t\t\ttaskId: task.id,\n\t\t\tmissionRole,\n\t\t\tvalidation: validationPolicy,\n\t\t\t...(route.skillId ? { a2aSkillId: route.skillId } : {}),\n\t\t\t...(task.files?.length ? { files: task.files } : {}),\n\t\t\tswarm: lineage,\n\t\t\tevalops: {\n\t\t\t\tswarm: lineage,\n\t\t\t\ttransport: \"a2a\",\n\t\t\t\tpeer: route.name,\n\t\t\t\tpeerControl,\n\t\t\t\tvalidation: validationPolicy,\n\t\t\t},\n\t\t\t\"evalops.peerControl\": peerControl,\n\t\t\t\"evalops.validation\": validationPolicy,\n\t\t\t...(subagentRequest\n\t\t\t\t? { \"evalops.subagentRequest\": subagentRequest }\n\t\t\t\t: {}),\n\t\t};\n\t}\n\n\tprivate async waitForA2ASwarmTask(\n\t\tconfig: A2AServiceConfig,\n\t\tinitialTask: A2ATask,\n\t\toptions: SwarmA2AConfig,\n\t): Promise<A2ATask> {\n\t\tconst maxWaitMs =\n\t\t\toptions.maxWaitMs ??\n\t\t\tthis.state.config.taskTimeout ??\n\t\t\tDEFAULT_TASK_TIMEOUT_MS;\n\t\tconst pollIntervalMs =\n\t\t\toptions.pollIntervalMs ?? DEFAULT_A2A_POLL_INTERVAL_MS;\n\t\tconst deadline = Date.now() + maxWaitMs;\n\t\tlet task = initialTask;\n\t\twhile (\n\t\t\t!isTerminalA2AState(task.status.state) &&\n\t\t\tDate.now() < deadline &&\n\t\t\t!this.abortController.signal.aborted\n\t\t) {\n\t\t\tawait new Promise((resolve) => setTimeout(resolve, pollIntervalMs));\n\t\t\ttask = await getA2ATask(config, task.id, {\n\t\t\t\tsignal: this.abortController.signal,\n\t\t\t});\n\t\t}\n\t\tif (!isTerminalA2AState(task.status.state)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Timed out waiting for remote A2A task ${task.id}; last state ${task.status.state}`,\n\t\t\t);\n\t\t}\n\t\treturn task;\n\t}\n\n\tprivate completeA2ATeammate(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\tremoteTask: A2ATask,\n\t\troute: A2ATeammateRoute,\n\t): void {\n\t\tthis.state.activeTasks.delete(task.id);\n\t\tteammate.completedAt = Date.now();\n\t\tteammate.currentTask = undefined;\n\t\tteammate.output =\n\t\t\textractA2ATaskText(remoteTask) ??\n\t\t\t`Remote A2A task ${remoteTask.id} finished with ${remoteTask.status.state}`;\n\t\tif (this.state.status === \"cancelled\" || teammate.status === \"cancelled\") {\n\t\t\tteammate.status = \"cancelled\";\n\t\t\tthis.emit({\n\t\t\t\ttype: \"teammate_complete\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammate,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tif (a2aStateCompleted(remoteTask.status.state)) {\n\t\t\tteammate.status = \"completed\";\n\t\t\tteammate.completedTasks.push(task.id);\n\t\t\tthis.state.completedTasks.add(task.id);\n\t\t\tthis.emit({\n\t\t\t\ttype: \"task_complete\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammateId: teammate.id,\n\t\t\t\ttaskId: task.id,\n\t\t\t\toutput: teammate.output,\n\t\t\t});\n\t\t} else {\n\t\t\tteammate.status = \"failed\";\n\t\t\tteammate.error = `Remote A2A task ${remoteTask.id} on ${route.name} ended in ${remoteTask.status.state}`;\n\t\t\tthis.state.failedTasks.add(task.id);\n\t\t\tthis.emit({\n\t\t\t\ttype: \"task_fail\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammateId: teammate.id,\n\t\t\t\ttaskId: task.id,\n\t\t\t\terror: teammate.error,\n\t\t\t});\n\t\t\tif (!this.state.config.continueOnFailure) {\n\t\t\t\tthis.state.status = \"failed\";\n\t\t\t}\n\t\t}\n\t\tthis.emit({\n\t\t\ttype: \"teammate_complete\",\n\t\t\tswarmId: this.state.id,\n\t\t\tteammate,\n\t\t});\n\t\tif (\n\t\t\tthis.state.status === \"running\" &&\n\t\t\t(this.state.pendingTasks.length > 0 || this.state.activeTasks.size > 0) &&\n\t\t\t(teammate.status === \"completed\" || this.state.config.continueOnFailure)\n\t\t) {\n\t\t\tteammate.status = \"pending\";\n\t\t\tteammate.error = undefined;\n\t\t}\n\t}\n\n\tprivate failA2ATeammate(\n\t\tteammate: SwarmTeammate,\n\t\ttask: SwarmTask,\n\t\terror: unknown,\n\t\toptions: { preserveA2A?: boolean } = {},\n\t): void {\n\t\tthis.state.activeTasks.delete(task.id);\n\t\tteammate.completedAt = Date.now();\n\t\tteammate.currentTask = undefined;\n\t\tif (this.state.status === \"cancelled\" || teammate.status === \"cancelled\") {\n\t\t\tteammate.status = \"cancelled\";\n\t\t\tthis.emit({\n\t\t\t\ttype: \"teammate_complete\",\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tteammate,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tif (\n\t\t\tteammate.a2a &&\n\t\t\t!options.preserveA2A &&\n\t\t\t!this.remoteA2ATasks.has(teammate.id)\n\t\t) {\n\t\t\tteammate.a2a = undefined;\n\t\t}\n\t\tteammate.status = \"failed\";\n\t\tteammate.error = error instanceof Error ? error.message : String(error);\n\t\tthis.state.failedTasks.add(task.id);\n\t\tthis.emit({\n\t\t\ttype: \"task_fail\",\n\t\t\tswarmId: this.state.id,\n\t\t\tteammateId: teammate.id,\n\t\t\ttaskId: task.id,\n\t\t\terror: teammate.error,\n\t\t});\n\t\tif (!this.state.config.continueOnFailure) {\n\t\t\tthis.state.status = \"failed\";\n\t\t}\n\t\tthis.emit({\n\t\t\ttype: \"teammate_complete\",\n\t\t\tswarmId: this.state.id,\n\t\t\tteammate,\n\t\t});\n\n\t\tif (\n\t\t\tthis.state.status === \"running\" &&\n\t\t\t(this.state.pendingTasks.length > 0 || this.state.activeTasks.size > 0) &&\n\t\t\tthis.state.config.continueOnFailure\n\t\t) {\n\t\t\tteammate.status = \"pending\";\n\t\t\tteammate.error = undefined;\n\t\t\tteammate.a2a = undefined;\n\t\t}\n\t}\n\n\tprivate async recordA2ASwarmTaskStart(\n\t\troute: A2ATeammateRoute,\n\t\ttask: SwarmTask,\n\t\tremoteTask: A2ATask,\n\t\tdelegatedPrompt: string,\n\t\tids: { messageId: string; contextId: string },\n\t): Promise<void> {\n\t\ttry {\n\t\t\tawait recordA2ATaskStart({\n\t\t\t\tpath: route.tasksPath,\n\t\t\t\tpeer: route.name,\n\t\t\t\tpeerDisplayName: route.displayName,\n\t\t\t\ttask: remoteTask,\n\t\t\t\ttext: delegatedPrompt,\n\t\t\t\tmessageId: ids.messageId,\n\t\t\t\tcontextId: remoteTask.contextId ?? ids.contextId,\n\t\t\t\tkind: \"delegation\",\n\t\t\t\trole: route.role,\n\t\t\t\tcwd: this.state.config.cwd,\n\t\t\t\tmetadata: {\n\t\t\t\t\trequestKind: \"maestro-swarm-task\",\n\t\t\t\t\trelayPeer: route.name,\n\t\t\t\t\tswarmId: this.state.id,\n\t\t\t\t\ttaskId: task.id,\n\t\t\t\t\ttransport: \"a2a\",\n\t\t\t\t\tsource: route.source,\n\t\t\t\t\ta2aSkillId: route.skillId,\n\t\t\t\t},\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tlogger.warn(\"Failed to record remote A2A swarm task in local ledger\", {\n\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t),\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\ttaskId: task.id,\n\t\t\t\tpeer: route.name,\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate async updateA2ASwarmTaskLedger(\n\t\troute: A2ATeammateRoute,\n\t\tremoteTask: A2ATask,\n\t): Promise<void> {\n\t\ttry {\n\t\t\tawait updateA2ATaskInLedger({\n\t\t\t\tpath: route.tasksPath,\n\t\t\t\tpeer: route.name,\n\t\t\t\ttask: remoteTask,\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tlogger.warn(\"Failed to update remote A2A swarm task in local ledger\", {\n\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t),\n\t\t\t\tswarmId: this.state.id,\n\t\t\t\tremoteTaskId: remoteTask.id,\n\t\t\t\tpeer: route.name,\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Wait for any active task to complete.\n\t */\n\tprivate waitForAnyCompletion(): Promise<void> {\n\t\tconst initialActiveCount = this.state.activeTasks.size;\n\t\treturn new Promise((resolve) => {\n\t\t\tconst checkInterval = setInterval(() => {\n\t\t\t\t// Resolve as soon as at least one active task exits or the swarm stops.\n\t\t\t\tif (\n\t\t\t\t\tthis.state.activeTasks.size < initialActiveCount ||\n\t\t\t\t\tthis.state.status !== \"running\"\n\t\t\t\t) {\n\t\t\t\t\tclearInterval(checkInterval);\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t}, 100);\n\t\t});\n\t}\n}\n\nfunction platformA2ACandidateMatchesPeer(\n\tcandidate: PlatformAgentRegistryA2APeerCandidate,\n\tpeer: string,\n): boolean {\n\tconst selector = normalizePeerSelector(peer);\n\tconst selectorBaseUrl = normalizePeerBaseUrl(peer);\n\tif (!selector) {\n\t\treturn false;\n\t}\n\tconst values = [\n\t\tcandidate.agent.id,\n\t\tcandidate.agent.name,\n\t\tcandidate.endpointUrl,\n\t\tcandidate.agentCardUrl,\n\t];\n\tconst endpointHash = hashA2AEndpointUrlForTelemetry(candidate.endpointUrl);\n\tif (endpointHash) {\n\t\tvalues.push(endpointHash, `endpoint:${endpointHash}`);\n\t}\n\treturn values.some((value) => {\n\t\tconst candidateSelector = normalizePeerSelector(value);\n\t\tif (candidateSelector && candidateSelector === selector) {\n\t\t\treturn true;\n\t\t}\n\t\tconst candidateBaseUrl = normalizePeerBaseUrl(value);\n\t\treturn Boolean(\n\t\t\tselectorBaseUrl &&\n\t\t\t\tcandidateBaseUrl &&\n\t\t\t\tcandidateBaseUrl === selectorBaseUrl,\n\t\t);\n\t});\n}\n\nfunction normalizePeerSelector(value: string | undefined): string | undefined {\n\treturn trimString(value)?.toLowerCase();\n}\n\nfunction normalizePeerBaseUrl(value: string | undefined): string | undefined {\n\tconst trimmed = trimString(value);\n\treturn trimmed ? normalizeA2ABaseUrl(trimmed).toLowerCase() : undefined;\n}\n\n/**\n * Create and execute a swarm.\n */\nexport async function executeSwarm(\n\tconfig: SwarmConfig,\n\tonEvent?: SwarmEventHandler,\n): Promise<SwarmState> {\n\tconst executor = new SwarmExecutor(config);\n\tif (onEvent) {\n\t\texecutor.onEvent(onEvent);\n\t}\n\treturn executor.execute();\n}\n"]}