@desplega.ai/agent-swarm 2.5.4 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/README.md +4 -2
  2. package/dist/{acp-adapter-ek38cwsv.js → acp-adapter-ma1js5n7.js} +9 -9
  3. package/dist/{actions-92mepq03.js → actions-1vhmtvg9.js} +21 -21
  4. package/dist/{amp-adapter-9gaxg015.js → amp-adapter-sxqqvmdk.js} +4 -4
  5. package/dist/{app-ctn8gsgx.js → app-mwx1d5a9.js} +3 -3
  6. package/dist/{assistant-zyr5kz47.js → assistant-yx1p6g82.js} +30 -26
  7. package/dist/{boot-reembed-w75maga2.js → boot-reembed-5h37a2c2.js} +1 -1
  8. package/dist/{boot-reembed-dwzfttdr.js → boot-reembed-7h78vmvv.js} +2 -1
  9. package/dist/{boot-scrub-sweep-e9kq43kf.js → boot-scrub-sweep-8mawd4gw.js} +4 -4
  10. package/dist/{boot-seeds-x28v3fhb.js → boot-seeds-ca84dhnn.js} +4 -4
  11. package/dist/{claude-adapter-f0afqnne.js → claude-adapter-wqt4hfkq.js} +9 -9
  12. package/dist/{claude-managed-adapter-x81a7r65.js → claude-managed-adapter-6fjqtr2z.js} +2 -2
  13. package/dist/{claude-managed-setup-bqzwjd9x.js → claude-managed-setup-rqv98sea.js} +10 -3
  14. package/dist/{claude-sdk-session-7b7whkaq.js → claude-sdk-session-f29f3b2x.js} +11 -11
  15. package/dist/{cli-sxgtf5fw.js → cli-07q03xm2.js} +1 -1
  16. package/dist/{cli-kxpfx2xr.js → cli-0z1xjzwa.js} +2 -2
  17. package/dist/{cli-g9vd9ece.js → cli-1hhbzkbb.js} +14 -16
  18. package/dist/{cli-qqzmjxkf.js → cli-1m9x8dr5.js} +11 -6
  19. package/dist/{cli-jbnn4vxb.js → cli-2pvzmas1.js} +3 -3
  20. package/dist/{cli-x77gen2p.js → cli-2y7v133v.js} +7 -7
  21. package/dist/{cli-dew6x255.js → cli-39aet655.js} +2 -2
  22. package/dist/{cli-g1cw7xtt.js → cli-39rrw8yp.js} +1 -1
  23. package/dist/{cli-jb30dzvk.js → cli-48gxjmcz.js} +530 -190
  24. package/dist/{cli-pzatvw94.js → cli-54sj64fc.js} +2 -2
  25. package/dist/{cli-bvpgr9ny.js → cli-60sty27p.js} +5 -5
  26. package/dist/{cli-asq5ydm4.js → cli-6a9qfa8b.js} +411 -69
  27. package/dist/{cli-277c31dw.js → cli-6mgdba42.js} +225 -3
  28. package/dist/{cli-19202kew.js → cli-6srv653c.js} +5 -5
  29. package/dist/{cli-n4c8e3s5.js → cli-708wdy32.js} +1 -1
  30. package/dist/{cli-pasyvjmm.js → cli-737pyqxr.js} +1 -1
  31. package/dist/{cli-6x9ma5w5.js → cli-803188pb.js} +1 -1
  32. package/dist/{cli-hh5we352.js → cli-86ehn4s5.js} +7 -7
  33. package/dist/{cli-9s05422w.js → cli-8mbc9za9.js} +1 -1
  34. package/dist/{cli-ff1tm9n9.js → cli-8wmj18cz.js} +1 -1
  35. package/dist/{cli-1r5ad7j5.js → cli-9gsm2rzp.js} +12 -12
  36. package/dist/{cli-mz9afxxf.js → cli-9pshx6rd.js} +17 -3
  37. package/dist/{cli-s682zgqz.js → cli-a6ds2epe.js} +1 -1
  38. package/dist/{cli-6a1xg1p7.js → cli-a89zdqz9.js} +2 -2
  39. package/dist/{cli-03vpq45j.js → cli-ay40dnj3.js} +2 -2
  40. package/dist/{cli-tsma7p8v.js → cli-aypd09nf.js} +2 -2
  41. package/dist/{cli-ethgy7ha.js → cli-b3yzyc57.js} +2 -2
  42. package/dist/{cli-bn0rewsy.js → cli-c081bj3b.js} +2 -2
  43. package/dist/{cli-mmhj8vd7.js → cli-c668vvcf.js} +11 -2
  44. package/dist/{cli-sbwsxvtd.js → cli-d20qvpr2.js} +2 -2
  45. package/dist/{cli-c952c7ac.js → cli-e1595bgx.js} +3 -3
  46. package/dist/{cli-621ce7kw.js → cli-f12mr20z.js} +3 -3
  47. package/dist/{cli-dqygeeh5.js → cli-f1e0ptjj.js} +10 -1
  48. package/dist/{cli-xzfq4at3.js → cli-f4dbh7a5.js} +16 -12
  49. package/dist/{cli-ha9rmwgq.js → cli-fb8m699c.js} +2 -2
  50. package/dist/{cli-5bnsc0e1.js → cli-gsfk58nw.js} +5 -5
  51. package/dist/cli-gt4h8cxw.js +895 -0
  52. package/dist/{cli-nwyw3zhg.js → cli-gxee0bqa.js} +1 -1
  53. package/dist/{cli-25n3mv5d.js → cli-h5jeg46p.js} +6 -6
  54. package/dist/{cli-gn5af0x5.js → cli-he9gbdx0.js} +62 -12
  55. package/dist/{cli-gbfxp48k.js → cli-j0ppywdr.js} +42 -35
  56. package/dist/{cli-k4tjsdx9.js → cli-j3y0x2n4.js} +277 -199
  57. package/dist/{cli-7p4jxgtt.js → cli-j9bpmykh.js} +75 -27
  58. package/dist/{cli-dabehxhp.js → cli-kt907da6.js} +1 -1
  59. package/dist/{cli-wx2nj19m.js → cli-kv7sbc2c.js} +6 -6
  60. package/dist/{cli-abs8ndtr.js → cli-m30k9777.js} +26 -26
  61. package/dist/{cli-cz5nmdxt.js → cli-m5e802r7.js} +2 -2
  62. package/dist/{cli-0shx9j93.js → cli-pfk92eqz.js} +2 -2
  63. package/dist/{cli-xtrz6bzs.js → cli-ptfq202x.js} +5 -3
  64. package/dist/{cli-6n8axjv1.js → cli-qj442fws.js} +2 -2
  65. package/dist/{cli-c61mbdds.js → cli-rd5m70gj.js} +4 -4
  66. package/dist/{cli-eftzyh9y.js → cli-s09j9vp5.js} +2 -2
  67. package/dist/{cli-m4ecdxvz.js → cli-s0mgx214.js} +7 -7
  68. package/dist/{cli-wghjkr0e.js → cli-sgqm2582.js} +10 -7
  69. package/dist/{cli-2655k16q.js → cli-sjctjr48.js} +2 -2
  70. package/dist/{cli-nzfnt2gs.js → cli-tf1n0r0b.js} +1 -1
  71. package/dist/{cli-x0f2v69c.js → cli-twctnkng.js} +12 -7
  72. package/dist/{cli-j6rktc91.js → cli-v6shg7na.js} +1 -1
  73. package/dist/{cli-gx4rm0qx.js → cli-vz78s5wm.js} +1 -1
  74. package/dist/{cli-gwhjmh8g.js → cli-wqr7cea4.js} +5 -5
  75. package/dist/{cli-e42vss7b.js → cli-x37r7qwf.js} +16 -8
  76. package/dist/{cli-4b2z6n0m.js → cli-yd2nreqw.js} +17 -8
  77. package/dist/{cli-64mh9mf3.js → cli-ymjpkxgn.js} +69 -17
  78. package/dist/{cli-5kqnemen.js → cli-yvy48785.js} +1 -1
  79. package/dist/{cli-9j129brq.js → cli-yxbsmx56.js} +6 -6
  80. package/dist/cli.js +22 -20
  81. package/dist/{codex-adapter-wch12q99.js → codex-adapter-zk59x2zh.js} +7 -7
  82. package/dist/{codex-hook-brpnycn5.js → codex-hook-xyjhvxwd.js} +1 -1
  83. package/dist/{codex-login-rn7c5gxt.js → codex-login-8cg0vhf2.js} +1 -1
  84. package/dist/{codex-session-runner-41pfcr95.js → codex-session-runner-kh6s4j3n.js} +8 -8
  85. package/dist/{commands-9849dkj6.js → commands-68et1qv2.js} +2 -2
  86. package/dist/{controller-ja0sd95p.js → controller-fyrbnzg4.js} +4 -4
  87. package/dist/{controllers-connect-xp05dj6x.js → controllers-connect-nep9h2xv.js} +23 -23
  88. package/dist/{cursor-adapter-623qxqew.js → cursor-adapter-yss3pg7t.js} +2 -2
  89. package/dist/{db-w759qmx0.js → db-28gjyvxj.js} +4 -2
  90. package/dist/{db-47vj40dy.js → db-8ftwvzba.js} +3 -3
  91. package/dist/{devin-adapter-4ycy4vrf.js → devin-adapter-byen2cxt.js} +1 -1
  92. package/dist/{dispatcher-7b8e4z2j.js → dispatcher-hayexmkr.js} +20 -20
  93. package/dist/{docker-s84hjs91.js → docker-fdzyewpz.js} +2 -2
  94. package/dist/{dsh-adapter-2ezw3xea.js → dsh-adapter-46wawff9.js} +2 -2
  95. package/dist/{e2b-9gkdhm3c.js → e2b-222hsajc.js} +2 -2
  96. package/dist/{e2b-cjtf8k1z.js → e2b-fn3zacvt.js} +2 -2
  97. package/dist/{easter-egg-3d-e4qv8dxj.js → easter-egg-3d-8d1e0h4m.js} +1 -1
  98. package/dist/{event-bus-3z78ep5n.js → event-bus-pghg8hqy.js} +1 -1
  99. package/dist/{execute-0xpz8950.js → execute-cjrfxfnm.js} +1 -1
  100. package/dist/{external-channel-e2s028da.js → external-channel-xbmxcg09.js} +2 -2
  101. package/dist/{grok-adapter-ys7gaqee.js → grok-adapter-ag4wks2a.js} +10 -10
  102. package/dist/handlers-tzmevqb5.js +41 -0
  103. package/dist/{heartbeat-w3mntghj.js → heartbeat-psfvcgwp.js} +23 -23
  104. package/dist/{hook-g7kvv6x9.js → hook-8pz04697.js} +6 -6
  105. package/dist/{hook-3jjywnpb.js → hook-cyq4mryn.js} +8 -8
  106. package/dist/{http-tkp7d4kb.js → http-haj1nd6k.js} +921 -169
  107. package/dist/{index-q7m26kvs.js → index-jwt2bj6f.js} +265 -97
  108. package/dist/{index-3n8m9ea2.js → index-q52f47pe.js} +1 -1
  109. package/dist/{index-31ceyf42.js → index-syvhnvtw.js} +1 -1
  110. package/dist/index-y1ajx04a.js +43 -0
  111. package/dist/{index-1ef1myq2.js → index-z5h22pes.js} +20 -20
  112. package/dist/{index-xdaahthb.js → index-zyq8ct52.js} +20 -20
  113. package/dist/{keepalive-v4ta8wgg.js → keepalive-xdvsamvj.js} +4 -4
  114. package/dist/lead-hqg57kdp.js +79 -0
  115. package/dist/{maintenance-84n1ex21.js → maintenance-4y2xzh3a.js} +1 -1
  116. package/dist/{oauth-refresh-sweep-vjnnandw.js → oauth-refresh-sweep-jd4r7zbs.js} +9 -4
  117. package/dist/{onboard-sfmpe4np.js → onboard-18447q9q.js} +6 -6
  118. package/dist/{opencode-adapter-jmpst4q4.js → opencode-adapter-26b2frdf.js} +7 -7
  119. package/dist/{otel-impl-v6cc0zve.js → otel-impl-f9tgr8yw.js} +2 -2
  120. package/dist/{pi-mono-adapter-fk8fkcf6.js → pi-mono-adapter-qn6qbga1.js} +38 -17
  121. package/dist/{pricing-refresh-fsk1e1zc.js → pricing-refresh-dw2tgb53.js} +3 -3
  122. package/dist/{rbac-roles-prmkdnkw.js → rbac-roles-aygm2760.js} +2 -2
  123. package/dist/{rbac-roles-zxmxqa39.js → rbac-roles-s4nwj2m3.js} +1 -1
  124. package/dist/render-v2-yfvdfr0x.js +16 -0
  125. package/dist/{resume-frdtgfa0.js → resume-1bmvjbf3.js} +9 -9
  126. package/dist/{runtime-bt5pkpm1.js → runtime-f7tpzedy.js} +1 -1
  127. package/dist/{session-access-fpez4y5q.js → session-access-r5garej6.js} +4 -4
  128. package/dist/session-source-backfill-424wzv0r.js +110 -0
  129. package/dist/{setup-mq6m3m8q.js → setup-8tygvxkq.js} +1 -1
  130. package/dist/{virtual-modules-mnfbh5mr.js → virtual-modules-xsw323b3.js} +2 -2
  131. package/dist/{work-objects-kfahhjsq.js → work-objects-ggnghpgf.js} +23 -23
  132. package/dist/worker-sqjd1nqf.js +79 -0
  133. package/dist/{x-pbpezr0s.js → x-wxrzvzx8.js} +2 -2
  134. package/openapi.json +1324 -14
  135. package/package.json +5 -3
  136. package/src/assets/source-key.ts +95 -0
  137. package/src/be/automation-preflight.ts +2 -0
  138. package/src/be/db/api-keys.ts +89 -0
  139. package/src/be/db/session-labels.ts +28 -0
  140. package/src/be/db/session-moves.ts +5 -6
  141. package/src/be/db/session-tree.ts +153 -14
  142. package/src/be/db/tasks/read.ts +11 -0
  143. package/src/be/db/tasks/write.ts +6 -1
  144. package/src/be/db/workflow-runs.ts +219 -6
  145. package/src/be/db-retention.ts +61 -6
  146. package/src/be/db.ts +135 -132
  147. package/src/be/memory/providers/openai-embedding.ts +5 -1
  148. package/src/be/memory/task-learning.ts +155 -0
  149. package/src/be/migrations/244_api_key_validation.sql +4 -0
  150. package/src/be/migrations/245_script_executor.sql +3 -0
  151. package/src/be/oauth-refresh-sweep.ts +2 -1
  152. package/src/be/onboarding.ts +4 -0
  153. package/src/be/scripts/boot-reembed.ts +2 -0
  154. package/src/be/scripts/db.ts +14 -4
  155. package/src/be/scripts/embeddings.ts +2 -0
  156. package/src/be/scripts/run-saved.ts +1 -0
  157. package/src/be/scripts/typecheck.ts +10 -4
  158. package/src/be/seed-skills/index.ts +7 -0
  159. package/src/be/session-source-backfill.ts +163 -0
  160. package/src/be/swarm-config-guard.ts +1 -0
  161. package/src/comb/review-batch.ts +28 -1
  162. package/src/comb/templates.ts +7 -2
  163. package/src/commands/claude-managed-setup.ts +7 -1
  164. package/src/commands/credential-refresh.ts +76 -1
  165. package/src/commands/credential-wait.ts +2 -2
  166. package/src/commands/onboard/compose-generator.ts +5 -3
  167. package/src/commands/provider-credentials.ts +212 -171
  168. package/src/commands/runner.ts +25 -4
  169. package/src/extensions/apply-task-create.ts +8 -1
  170. package/src/extensions/contract-types.generated.ts +1 -1
  171. package/src/extensions/contract.ts +5 -0
  172. package/src/heartbeat/heartbeat.ts +14 -1
  173. package/src/heartbeat/script-runner-probe.ts +47 -0
  174. package/src/http/all-routes.ts +2 -0
  175. package/src/http/api-keys.ts +77 -9
  176. package/src/http/assets.ts +15 -0
  177. package/src/http/codex-oauth-accounts.ts +191 -0
  178. package/src/http/comb.ts +15 -2
  179. package/src/http/config.ts +1 -1
  180. package/src/http/core.ts +6 -0
  181. package/src/http/fleet-benchmark.ts +5 -2
  182. package/src/http/idempotency-key.ts +1 -1
  183. package/src/http/index.ts +14 -3
  184. package/src/http/integrations.ts +5 -1
  185. package/src/http/kv.ts +8 -3
  186. package/src/http/onboarding.ts +6 -1
  187. package/src/http/pages-public.ts +38 -5
  188. package/src/http/pool-keys.ts +354 -0
  189. package/src/http/scripts.ts +27 -0
  190. package/src/http/sessions.ts +37 -12
  191. package/src/http/stats.ts +1 -0
  192. package/src/http/status.ts +26 -12
  193. package/src/http/tasks.ts +3 -0
  194. package/src/http/used-by.ts +7 -2
  195. package/src/http/workflows.ts +88 -9
  196. package/src/http/x.ts +5 -0
  197. package/src/integrations/chat-sdk/inbound.ts +27 -0
  198. package/src/kv-reserved-namespaces.ts +19 -0
  199. package/src/prompts/base-prompt.ts +21 -1
  200. package/src/prompts/session-templates.ts +17 -3
  201. package/src/providers/acp-targets.ts +1 -1
  202. package/src/providers/amp-adapter.ts +1 -1
  203. package/src/providers/claude-adapter.ts +5 -1
  204. package/src/providers/claude-managed-adapter.ts +16 -9
  205. package/src/providers/codex-adapter.ts +71 -11
  206. package/src/providers/dsh-adapter.ts +1 -1
  207. package/src/providers/pi-mono-adapter.ts +41 -11
  208. package/src/scheduler/scheduler.ts +5 -3
  209. package/src/scripts-runtime/eval-harness.ts +8 -1
  210. package/src/scripts-runtime/executors/native.ts +22 -16
  211. package/src/scripts-runtime/executors/quickjs-prelude.ts +103 -1
  212. package/src/scripts-runtime/executors/quickjs-runner.ts +2 -1
  213. package/src/scripts-runtime/executors/quickjs.ts +7 -0
  214. package/src/scripts-runtime/executors/registry.ts +32 -0
  215. package/src/scripts-runtime/executors/types.ts +7 -0
  216. package/src/scripts-runtime/host-validated-args.ts +133 -0
  217. package/src/scripts-runtime/loader.ts +30 -3
  218. package/src/scripts-runtime/swarm-sdk.ts +16 -3
  219. package/src/scripts-runtime/types/stdlib.d.ts +10 -2
  220. package/src/scripts-runtime/types/swarm-extension.d.ts +17 -8
  221. package/src/scripts-runtime/types/swarm-sdk.d.ts +10 -2
  222. package/src/slack/assistant.ts +7 -0
  223. package/src/slack/channel-labels.ts +74 -0
  224. package/src/slack/handlers.ts +8 -0
  225. package/src/slack/inbound-files.ts +5 -2
  226. package/src/slack/thread-buffer.ts +4 -0
  227. package/src/tasks/sibling-awareness.ts +12 -3
  228. package/src/telemetry-context.ts +5 -6
  229. package/src/telemetry-identity.ts +3 -3
  230. package/src/tests/api-key-status-by-suffix.test.ts +242 -0
  231. package/src/tests/api-keys-validation.test.ts +170 -0
  232. package/src/tests/base-prompt.test.ts +70 -2
  233. package/src/tests/claude-managed-adapter.test.ts +46 -0
  234. package/src/tests/claude-routes-e2e.test.ts +7 -2
  235. package/src/tests/codex-credential-pools.test.ts +120 -0
  236. package/src/tests/codex-gateway-route.test.ts +165 -0
  237. package/src/tests/codex-oauth-accounts.test.ts +357 -0
  238. package/src/tests/comb-review-batch.test.ts +63 -2
  239. package/src/tests/community-linear-delivery-loop.test.ts +2099 -0
  240. package/src/tests/config-pool-keys.test.ts +533 -0
  241. package/src/tests/credential-check.test.ts +294 -4
  242. package/src/tests/credential-refresh.test.ts +172 -1
  243. package/src/tests/db-retention.test.ts +9 -3
  244. package/src/tests/db-task-read-contract.test.ts +1 -0
  245. package/src/tests/db-task-write-contract.test.ts +1 -3
  246. package/src/tests/docs-index-footprint.test.js +3 -3
  247. package/src/tests/docs-index.test.ts +135 -0
  248. package/src/tests/dsh-adapter.test.ts +1 -1
  249. package/src/tests/extensions-pre-task.test.ts +53 -1
  250. package/src/tests/fetch-resolved-env.test.ts +16 -2
  251. package/src/tests/fixtures/extensions/record-task-create/hooks.ts +9 -0
  252. package/src/tests/fixtures/extensions/record-task-create/manifest.json +7 -0
  253. package/src/tests/fleet-benchmark.test.ts +8 -0
  254. package/src/tests/get-workflow-run-tool.test.ts +98 -0
  255. package/src/tests/heartbeat-checklist.test.ts +89 -0
  256. package/src/tests/heartbeat-script-runner-probe.test.ts +83 -0
  257. package/src/tests/integrations-http.test.ts +32 -2
  258. package/src/tests/internal-ai/complete-structured.test.ts +37 -1
  259. package/src/tests/internal-ai/credentials.test.ts +23 -0
  260. package/src/tests/kv-http.test.ts +32 -0
  261. package/src/tests/kv-tool.test.ts +25 -0
  262. package/src/tests/multi-runtime-registration.test.ts +12 -12
  263. package/src/tests/oauth-refresh-sweep.test.ts +34 -1
  264. package/src/tests/onboard-compose.test.ts +20 -0
  265. package/src/tests/onboarding.test.ts +108 -1
  266. package/src/tests/openai-embedding-credentials.test.ts +35 -0
  267. package/src/tests/opencode-adapter.test.ts +2 -1
  268. package/src/tests/openrouter-attribution-call-sites.test.ts +2 -2
  269. package/src/tests/org-website.test.ts +36 -0
  270. package/src/tests/pages-frame-ancestors.test.ts +162 -0
  271. package/src/tests/pi-codemode.test.ts +2 -1
  272. package/src/tests/pi-mono-adapter.test.ts +54 -0
  273. package/src/tests/pi-native-mcp.test.ts +13 -1
  274. package/src/tests/pi-tool-exposure.test.ts +8 -8
  275. package/src/tests/probe-tool-schema-tokens.test.ts +144 -0
  276. package/src/tests/prompt-template-session.test.ts +4 -3
  277. package/src/tests/provider-key-probes.test.ts +181 -0
  278. package/src/tests/rbac-e2e-helpers.test.ts +88 -1
  279. package/src/tests/rbac-e2e-helpers.ts +36 -11
  280. package/src/tests/request-composition-derive.test.ts +329 -0
  281. package/src/tests/script-connections.test.ts +4 -0
  282. package/src/tests/script-executor-conformance.test.ts +36 -1
  283. package/src/tests/script-executor-quickjs-pool.test.ts +50 -0
  284. package/src/tests/script-executor-quickjs.test.ts +140 -0
  285. package/src/tests/script-host-validated-args-native.test.ts +196 -0
  286. package/src/tests/script-per-script-executor.test.ts +415 -0
  287. package/src/tests/script-runs-retention.test.ts +212 -0
  288. package/src/tests/scripts-external-api.test.ts +45 -0
  289. package/src/tests/sdk-allowlist.test.ts +42 -2
  290. package/src/tests/self-improvement.test.ts +4 -4
  291. package/src/tests/session-source-backfill.test.ts +429 -0
  292. package/src/tests/session-source-keys.test.ts +236 -0
  293. package/src/tests/session-source-labels.test.ts +419 -0
  294. package/src/tests/sessions-detail-batch.test.ts +2 -0
  295. package/src/tests/sessions-move.test.ts +131 -0
  296. package/src/tests/sessions-tree.test.ts +299 -2
  297. package/src/tests/slack-inbound-files.test.ts +103 -23
  298. package/src/tests/status.test.ts +101 -18
  299. package/src/tests/store-progress-learning.test.ts +288 -0
  300. package/src/tests/tasks-workflow-run-filter.test.ts +146 -0
  301. package/src/tests/test-net.ts +31 -0
  302. package/src/tests/transcription.test.ts +8 -0
  303. package/src/tests/ui-logs-parser.test.ts +180 -0
  304. package/src/tests/used-by-route.test.ts +11 -0
  305. package/src/tests/workflow-cascade-cancel.test.ts +172 -0
  306. package/src/tests/workflow-engine-v2.test.ts +116 -1
  307. package/src/tests/workflow-http-v2.test.ts +131 -0
  308. package/src/tests/workflow-mcp-trigger-schema.test.ts +209 -0
  309. package/src/tests/workflow-run-finished-event.test.ts +263 -0
  310. package/src/tests/workflow-step-order.test.ts +92 -0
  311. package/src/tests/workflow-sub-workflow.test.ts +30 -0
  312. package/src/tests/workflow-swarm-script.test.ts +34 -0
  313. package/src/tools/get-tasks.ts +8 -0
  314. package/src/tools/kv/kv-read-auth.ts +4 -2
  315. package/src/tools/script-common.ts +1 -0
  316. package/src/tools/script-run.ts +7 -0
  317. package/src/tools/script-upsert.ts +7 -0
  318. package/src/tools/store-progress.ts +67 -1
  319. package/src/tools/task-action.ts +1 -1
  320. package/src/tools/workflows/get-workflow-run.ts +14 -4
  321. package/src/tools/workflows/trigger-workflow.ts +104 -10
  322. package/src/types.ts +36 -1
  323. package/src/utils/company-profile.ts +51 -1
  324. package/src/utils/credentials.ts +10 -4
  325. package/src/utils/internal-ai/complete-structured.ts +5 -0
  326. package/src/utils/internal-ai/credentials.ts +4 -3
  327. package/src/utils/provider-key-probes.ts +328 -0
  328. package/src/utils/transcription.ts +4 -1
  329. package/src/workflows/engine.ts +18 -16
  330. package/src/workflows/executors/sub-workflow.ts +8 -1
  331. package/src/workflows/executors/swarm-script.ts +5 -0
  332. package/src/workflows/foreach-driver.ts +5 -11
  333. package/src/workflows/node-timeout.ts +30 -0
  334. package/templates/ai-toolbox.manifest.json +2 -2
  335. package/templates/community/linear-delivery-loop/PLAYBOOK.md +323 -0
  336. package/templates/community/linear-delivery-loop/README.md +38 -0
  337. package/templates/community/linear-delivery-loop/config.example.json +31 -0
  338. package/templates/community/linear-delivery-loop/lead-prompt.md +34 -0
  339. package/templates/community/linear-delivery-loop/schedule.json +10 -0
  340. package/templates/community/linear-delivery-loop/scripts/linear-delivery-setup.ts +148 -0
  341. package/templates/community/linear-delivery-loop/scripts/linear-delivery-tick.ts +1781 -0
  342. package/templates/skills/researching/content.md +2 -0
  343. package/templates/skills/swarm-docs/config.json +14 -0
  344. package/templates/skills/swarm-docs/content.md +144 -0
  345. package/templates/skills/swarm-scripts/SKILL.md +1 -0
  346. package/templates/skills/swarm-scripts/content.md +1 -0
  347. package/dist/cli-7421jzsw.js +0 -84
  348. package/dist/cli-e45e4m6b.js +0 -413
  349. package/dist/cli-zw88zjba.js +0 -307
  350. package/dist/handlers-wy1dr6ja.js +0 -41
  351. package/dist/index-nmm79qgr.js +0 -43
  352. package/dist/lead-sawnyqxk.js +0 -79
  353. package/dist/render-v2-pjwxvnkw.js +0 -12
  354. package/dist/worker-v5e5rxj3.js +0 -79
package/dist/cli.js CHANGED
@@ -24,7 +24,7 @@ import {
24
24
  import {
25
25
  scrubSecrets,
26
26
  init_secret_scrubber
27
- } from "./cli-n4c8e3s5.js";
27
+ } from "./cli-708wdy32.js";
28
28
  import {
29
29
  __toESM,
30
30
  __commonJS
@@ -53,7 +53,7 @@ var import_react = __toESM(require_react(), 1);
53
53
  // package.json
54
54
  var package_default = {
55
55
  name: "@desplega.ai/agent-swarm",
56
- version: "2.5.4",
56
+ version: "2.7.0",
57
57
  description: "agent-swarm.dev — an open-source operating system for AI work: a lead agent breaks goals into tasks, routes them to specialized workers such as Claude Code or Codex, runs each worker in an isolated container, and preserves shared memory, tools, schedules, and review gates so delegated work compounds across sessions.",
58
58
  keywords: [
59
59
  "agent-swarm.dev",
@@ -133,6 +133,8 @@ var package_default = {
133
133
  "sync:ai-toolbox-skills": "bun scripts/sync-ai-toolbox-skills.ts",
134
134
  "check:ai-toolbox-skills": "bun scripts/sync-ai-toolbox-skills.ts --check",
135
135
  "check:skill-sources": "bun scripts/check-skill-sources.ts",
136
+ "build:docs-index": "bun scripts/build-docs-index.ts",
137
+ "check:docs-index": "bun scripts/build-docs-index.ts --check",
136
138
  "check:operator-skill": "bun scripts/check-operator-skill.ts",
137
139
  "sync:telemetry-contract": "bun scripts/sync-telemetry-contract.ts",
138
140
  "check:telemetry-contract": "bun scripts/sync-telemetry-contract.ts --check",
@@ -238,7 +240,7 @@ var package_default = {
238
240
  "@oxlint/plugins": "1.78.0",
239
241
  "@types/bun": "latest",
240
242
  "dependency-cruiser": "^18.0.0",
241
- "happy-dom": "^20.14.5",
243
+ "happy-dom": "^21.0.4",
242
244
  konsistent: "1.0.0-beta.1",
243
245
  "openapi-typescript": "^7",
244
246
  oxlint: "1.78.0",
@@ -263,7 +265,7 @@ var package_default = {
263
265
  "@chat-adapter/teams": "4.41.1",
264
266
  "@chat-adapter/telegram": "4.41.1",
265
267
  "@cursor/sdk": "1.0.40",
266
- "@desplega.ai/agent-fs-just-bash": "0.18.5",
268
+ "@desplega.ai/agent-fs-just-bash": "0.18.9",
267
269
  "@desplega.ai/business-use": "^0.4.2",
268
270
  "@earendil-works/pi-agent-core": "^1.4.0",
269
271
  "@earendil-works/pi-ai": "^1.4.0",
@@ -836,7 +838,7 @@ function McpServer({ port, apiKey, dbPath }) {
836
838
  if (dbPath) {
837
839
  process.env.DATABASE_PATH = dbPath;
838
840
  }
839
- import("./http-tkp7d4kb.js").then(() => {
841
+ import("./http-haj1nd6k.js").then(() => {
840
842
  setStatus("running");
841
843
  }).catch((err) => {
842
844
  setStatus("error");
@@ -923,7 +925,7 @@ function WorkerRunner({
923
925
  const { exit } = use_app_default();
924
926
  import_react.useEffect(() => {
925
927
  installConsoleScrub();
926
- import("./worker-v5e5rxj3.js").then(({ runWorker }) => runWorker({
928
+ import("./worker-sqjd1nqf.js").then(({ runWorker }) => runWorker({
927
929
  prompt: prompt || undefined,
928
930
  yolo,
929
931
  systemPrompt: systemPrompt || undefined,
@@ -941,7 +943,7 @@ function LeadRunner({ prompt, yolo, systemPrompt, systemPromptFile, additionalAr
941
943
  const { exit } = use_app_default();
942
944
  import_react.useEffect(() => {
943
945
  installConsoleScrub();
944
- import("./lead-sawnyqxk.js").then(({ runLead }) => runLead({
946
+ import("./lead-hqg57kdp.js").then(({ runLead }) => runLead({
945
947
  prompt: prompt || undefined,
946
948
  yolo,
947
949
  systemPrompt: systemPrompt || undefined,
@@ -981,8 +983,8 @@ function LazyComponent({
981
983
  }
982
984
  return import_react.createElement(Component, props);
983
985
  }
984
- var loadOnboard = () => import("./onboard-sfmpe4np.js").then(({ Onboard }) => Onboard);
985
- var loadConnect = () => import("./setup-mq6m3m8q.js").then(({ Setup }) => Setup);
986
+ var loadOnboard = () => import("./onboard-18447q9q.js").then(({ Onboard }) => Onboard);
987
+ var loadConnect = () => import("./setup-8tygvxkq.js").then(({ Setup }) => Setup);
986
988
  function UnknownCommand({ command }) {
987
989
  const { exit } = use_app_default();
988
990
  import_react.useEffect(() => {
@@ -1112,19 +1114,19 @@ ${binName} docs \u2014 v${package_default.version}
1112
1114
  }
1113
1115
  process.exit(0);
1114
1116
  } else if (args.command === "hook") {
1115
- const { runHook } = await import("./hook-g7kvv6x9.js");
1117
+ const { runHook } = await import("./hook-8pz04697.js");
1116
1118
  await runHook();
1117
1119
  } else if (args.command === "codex-hook") {
1118
- const { handleCodexHook } = await import("./codex-hook-brpnycn5.js");
1120
+ const { handleCodexHook } = await import("./codex-hook-xyjhvxwd.js");
1119
1121
  await handleCodexHook();
1120
1122
  process.exit(process.exitCode ?? 0);
1121
1123
  } else if (args.command === "session-summary-stdin") {
1122
- const { runSessionSummaryFromStdin } = await import("./hook-3jjywnpb.js");
1124
+ const { runSessionSummaryFromStdin } = await import("./hook-cyq4mryn.js");
1123
1125
  await runSessionSummaryFromStdin();
1124
1126
  process.exit(process.exitCode ?? 0);
1125
1127
  } else if (args.command === "x") {
1126
1128
  const xArgs = process.argv.slice(process.argv.indexOf("x") + 1);
1127
- const { runXCommand } = await import("./x-pbpezr0s.js");
1129
+ const { runXCommand } = await import("./x-wxrzvzx8.js");
1128
1130
  await runXCommand(xArgs);
1129
1131
  } else if (args.command === "scripts") {
1130
1132
  const scriptsArgs = process.argv.slice(process.argv.indexOf("scripts") + 1);
@@ -1132,7 +1134,7 @@ ${binName} docs \u2014 v${package_default.version}
1132
1134
  printHelp("scripts");
1133
1135
  process.exit(scriptsArgs[0] === "reembed" || args.showHelp ? 0 : 1);
1134
1136
  }
1135
- const { runScriptsMaintenanceCommand } = await import("./maintenance-84n1ex21.js");
1137
+ const { runScriptsMaintenanceCommand } = await import("./maintenance-4y2xzh3a.js");
1136
1138
  await runScriptsMaintenanceCommand(scriptsArgs);
1137
1139
  console.log("Scripts re-embedded.");
1138
1140
  } else if (args.command === "rbac") {
@@ -1142,17 +1144,17 @@ ${binName} docs \u2014 v${package_default.version}
1142
1144
  printHelp("rbac");
1143
1145
  process.exit(args.showHelp ? 0 : 1);
1144
1146
  }
1145
- const { runRbacCliCommand } = await import("./rbac-roles-zxmxqa39.js");
1147
+ const { runRbacCliCommand } = await import("./rbac-roles-s4nwj2m3.js");
1146
1148
  await runRbacCliCommand(rbacArgs);
1147
1149
  } else if (args.command === "codex-login") {
1148
- const { runCodexLogin } = await import("./codex-login-rn7c5gxt.js");
1150
+ const { runCodexLogin } = await import("./codex-login-8cg0vhf2.js");
1149
1151
  const codexLoginArgs = process.argv.slice(process.argv.indexOf("codex-login") + 1);
1150
1152
  await runCodexLogin(codexLoginArgs);
1151
1153
  } else if (args.command === "codex-session-runner") {
1152
- const { runCodexSessionRunner } = await import("./codex-session-runner-41pfcr95.js");
1154
+ const { runCodexSessionRunner } = await import("./codex-session-runner-kh6s4j3n.js");
1153
1155
  await runCodexSessionRunner();
1154
1156
  } else if (args.command === "claude-managed-setup") {
1155
- const { runClaudeManagedSetup } = await import("./claude-managed-setup-bqzwjd9x.js");
1157
+ const { runClaudeManagedSetup } = await import("./claude-managed-setup-rqv98sea.js");
1156
1158
  const setupArgs = process.argv.slice(process.argv.indexOf("claude-managed-setup") + 1);
1157
1159
  await runClaudeManagedSetup(setupArgs);
1158
1160
  } else if (args.command === "worker-token") {
@@ -1160,11 +1162,11 @@ ${binName} docs \u2014 v${package_default.version}
1160
1162
  const tokenArgs = process.argv.slice(process.argv.indexOf("worker-token") + 1);
1161
1163
  process.exit(await runWorkerToken(tokenArgs));
1162
1164
  } else if (args.command === "e2b") {
1163
- const { runE2BCommand } = await import("./e2b-9gkdhm3c.js");
1165
+ const { runE2BCommand } = await import("./e2b-222hsajc.js");
1164
1166
  const e2bArgs = process.argv.slice(process.argv.indexOf("e2b") + 1);
1165
1167
  await runE2BCommand(e2bArgs);
1166
1168
  } else if (args.command === "controller") {
1167
- const { runController } = await import("./controller-ja0sd95p.js");
1169
+ const { runController } = await import("./controller-fyrbnzg4.js");
1168
1170
  await runController(process.argv.slice(process.argv.indexOf("controller") + 1));
1169
1171
  } else {
1170
1172
  render_default(/* @__PURE__ */ jsx_dev_runtime.jsxDEV(App, {
@@ -2,21 +2,21 @@ import {
2
2
  checkCodexCredentials2,
3
3
  createInProcessCodexSession2,
4
4
  CodexAdapter2
5
- } from "./cli-64mh9mf3.js";
5
+ } from "./cli-ymjpkxgn.js";
6
6
  import"./cli-4zsenjhy.js";
7
7
  import"./cli-kr5tjjtz.js";
8
8
  import"./cli-vbhgkw9h.js";
9
9
  import"./cli-4bd1rck6.js";
10
10
  import"./cli-jc1g9ndz.js";
11
- import"./cli-mmhj8vd7.js";
11
+ import"./cli-c668vvcf.js";
12
12
  import"./cli-0726awxw.js";
13
- import"./cli-2655k16q.js";
14
- import"./cli-gx4rm0qx.js";
15
- import"./cli-bn0rewsy.js";
13
+ import"./cli-sjctjr48.js";
14
+ import"./cli-vz78s5wm.js";
15
+ import"./cli-c081bj3b.js";
16
16
  import"./cli-3h26v7yj.js";
17
17
  import"./cli-3ggwdtb0.js";
18
- import"./cli-qqzmjxkf.js";
19
- import"./cli-kxpfx2xr.js";
18
+ import"./cli-1m9x8dr5.js";
19
+ import"./cli-0z1xjzwa.js";
20
20
  import"./cli-e8xyjvfc.js";
21
21
  import"./cli-13p25grh.js";
22
22
  import"./cli-0adyhvq2.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bun
2
2
  import {
3
3
  renderSteeringDelivery
4
- } from "./cli-sxgtf5fw.js";
4
+ } from "./cli-07q03xm2.js";
5
5
  import {
6
6
  guardGhPrBody,
7
7
  guardGhPrRoom
@@ -4,7 +4,7 @@ import {
4
4
  MAX_CODEX_OAUTH_SLOT,
5
5
  loadAllCodexOAuthSlots,
6
6
  storeCodexOAuth
7
- } from "./cli-kxpfx2xr.js";
7
+ } from "./cli-0z1xjzwa.js";
8
8
  import {
9
9
  getApiKey,
10
10
  init_api_key
@@ -1,23 +1,23 @@
1
1
  import"./cli-3h26v7yj.js";
2
- import"./cli-2655k16q.js";
3
- import"./cli-gx4rm0qx.js";
2
+ import"./cli-sjctjr48.js";
3
+ import"./cli-vz78s5wm.js";
4
4
  import"./cli-445c1vp7.js";
5
- import"./cli-qqzmjxkf.js";
5
+ import"./cli-1m9x8dr5.js";
6
6
  import"./cli-2nf3b08t.js";
7
7
  import"./cli-kvzgak7c.js";
8
- import"./cli-kxpfx2xr.js";
9
- import"./cli-mmhj8vd7.js";
8
+ import"./cli-0z1xjzwa.js";
9
+ import"./cli-c668vvcf.js";
10
10
  import"./cli-e8xyjvfc.js";
11
11
  import"./cli-3ggwdtb0.js";
12
12
  import {
13
13
  createInProcessCodexSession2
14
- } from "./cli-64mh9mf3.js";
14
+ } from "./cli-ymjpkxgn.js";
15
15
  import"./cli-jc1g9ndz.js";
16
16
  import"./cli-0726awxw.js";
17
17
  import"./cli-4bd1rck6.js";
18
18
  import"./cli-kr5tjjtz.js";
19
19
  import"./cli-vbhgkw9h.js";
20
- import"./cli-bn0rewsy.js";
20
+ import"./cli-c081bj3b.js";
21
21
  import"./cli-4zsenjhy.js";
22
22
  import"./cli-13p25grh.js";
23
23
  import"./cli-0adyhvq2.js";
@@ -25,7 +25,7 @@ import"./cli-rycdaj0a.js";
25
25
  import {
26
26
  scrubSecrets,
27
27
  init_secret_scrubber
28
- } from "./cli-n4c8e3s5.js";
28
+ } from "./cli-708wdy32.js";
29
29
 
30
30
  // src/commands/codex-session-runner.ts
31
31
  init_secret_scrubber();
@@ -2,11 +2,11 @@ import {
2
2
  getAllAgents2,
3
3
  getAllTasks2,
4
4
  init_db3
5
- } from "./cli-jb30dzvk.js";
5
+ } from "./cli-48gxjmcz.js";
6
6
  import {
7
7
  EXTERNAL_CHANNEL_BLOCKED_REPLY2,
8
8
  shouldBlockChannel2
9
- } from "./cli-eftzyh9y.js";
9
+ } from "./cli-s09j9vp5.js";
10
10
  import {
11
11
  isEnvFlagEnabled,
12
12
  init_env_flag
@@ -3,20 +3,20 @@ import {
3
3
  CONTROLLER_PROTOCOL_VERSION,
4
4
  CONTROLLER_PING_INTERVAL_MS,
5
5
  ControllerServerMessageSchema
6
- } from "./cli-6n8axjv1.js";
6
+ } from "./cli-qj442fws.js";
7
7
  import {
8
8
  createRuntimeProvider,
9
9
  init_runtime_providers
10
- } from "./cli-dew6x255.js";
10
+ } from "./cli-39aet655.js";
11
11
  import {
12
12
  RuntimeProviderKindSchema,
13
13
  init_types
14
- } from "./cli-mz9afxxf.js";
14
+ } from "./cli-9pshx6rd.js";
15
15
  import {
16
16
  scrubSecrets,
17
17
  registerVolatileSecret,
18
18
  init_secret_scrubber
19
- } from "./cli-n4c8e3s5.js";
19
+ } from "./cli-708wdy32.js";
20
20
 
21
21
  // src/commands/controller.ts
22
22
  init_runtime_providers();
@@ -6,18 +6,18 @@ import {
6
6
  isRuntimePoolsEnabled,
7
7
  init_runtime_pools_flag,
8
8
  init_db3
9
- } from "./cli-jb30dzvk.js";
9
+ } from "./cli-48gxjmcz.js";
10
10
  import {
11
11
  CONTROLLER_PROTOCOL_VERSION,
12
12
  CONTROLLER_PING_INTERVAL_MS,
13
13
  ControllerClientMessageSchema
14
- } from "./cli-6n8axjv1.js";
14
+ } from "./cli-qj442fws.js";
15
15
  import"./cli-e8xyjvfc.js";
16
- import"./cli-gbfxp48k.js";
16
+ import"./cli-j0ppywdr.js";
17
17
  import {
18
18
  getRuntimeController2,
19
19
  init_db
20
- } from "./cli-19202kew.js";
20
+ } from "./cli-6srv653c.js";
21
21
  import {
22
22
  remoteControllerSession,
23
23
  installRemoteController,
@@ -26,40 +26,40 @@ import {
26
26
  ensureRuntimeOwnerId,
27
27
  reconcileRemoteProvisions,
28
28
  reconcileControllerOrphans
29
- } from "./cli-1r5ad7j5.js";
29
+ } from "./cli-9gsm2rzp.js";
30
30
  import {
31
31
  resolveHttpRequestAuth
32
- } from "./cli-asq5ydm4.js";
33
- import"./cli-7p4jxgtt.js";
34
- import"./cli-tsma7p8v.js";
32
+ } from "./cli-6a9qfa8b.js";
33
+ import"./cli-j9bpmykh.js";
34
+ import"./cli-aypd09nf.js";
35
35
  import"./cli-3ggwdtb0.js";
36
- import"./cli-abs8ndtr.js";
37
- import"./cli-eftzyh9y.js";
38
- import"./cli-qqzmjxkf.js";
36
+ import"./cli-m30k9777.js";
37
+ import"./cli-s09j9vp5.js";
38
+ import"./cli-1m9x8dr5.js";
39
39
  import"./cli-2nf3b08t.js";
40
40
  import"./cli-kvzgak7c.js";
41
41
  import"./cli-445c1vp7.js";
42
- import"./cli-kxpfx2xr.js";
43
- import"./cli-dabehxhp.js";
44
- import"./cli-x0f2v69c.js";
45
- import"./cli-9s05422w.js";
46
- import"./cli-sbwsxvtd.js";
47
- import"./cli-bvpgr9ny.js";
42
+ import"./cli-0z1xjzwa.js";
43
+ import"./cli-kt907da6.js";
44
+ import"./cli-twctnkng.js";
45
+ import"./cli-8mbc9za9.js";
46
+ import"./cli-d20qvpr2.js";
47
+ import"./cli-60sty27p.js";
48
48
  import"./cli-qz93y3x5.js";
49
- import"./cli-ff1tm9n9.js";
50
- import"./cli-c61mbdds.js";
49
+ import"./cli-8wmj18cz.js";
50
+ import"./cli-rd5m70gj.js";
51
51
  import"./cli-g9ypd5en.js";
52
52
  import {
53
53
  route
54
- } from "./cli-gwhjmh8g.js";
54
+ } from "./cli-wqr7cea4.js";
55
55
  import"./cli-3h26v7yj.js";
56
- import"./cli-pasyvjmm.js";
56
+ import"./cli-737pyqxr.js";
57
57
  import"./cli-13p25grh.js";
58
58
  import"./cli-0adyhvq2.js";
59
59
  import {
60
60
  registerSessionTokenConnection,
61
61
  init_session_token_connections
62
- } from "./cli-6a1xg1p7.js";
62
+ } from "./cli-a89zdqz9.js";
63
63
  import"./cli-rycdaj0a.js";
64
64
  import {
65
65
  getApiKey,
@@ -68,7 +68,7 @@ import {
68
68
  import {
69
69
  scrubSecrets,
70
70
  init_secret_scrubber
71
- } from "./cli-n4c8e3s5.js";
71
+ } from "./cli-708wdy32.js";
72
72
 
73
73
  // src/http/controllers-connect.ts
74
74
  init_db3();
@@ -2,9 +2,9 @@ import {
2
2
  checkCursorCredentials2,
3
3
  liveTestCursorKey2,
4
4
  CursorAdapter2
5
- } from "./cli-25n3mv5d.js";
5
+ } from "./cli-h5jeg46p.js";
6
6
  import"./cli-jc1g9ndz.js";
7
- import"./cli-bn0rewsy.js";
7
+ import"./cli-c081bj3b.js";
8
8
  import"./cli-e8xyjvfc.js";
9
9
  export {
10
10
  CursorAdapter2 as CursorAdapter,
@@ -126,6 +126,7 @@ import {
126
126
  SESSION_ACTIVITY_REFRESH_MIN_INTERVAL_MS2,
127
127
  refreshActiveSessionOnActivity2,
128
128
  recordKeySeatMismatch2,
129
+ recordKeyValidation2,
129
130
  getScriptRunExecutionArgs2,
130
131
  literalPrefixPattern2,
131
132
  getSlackRenderV2ActivatedAt2,
@@ -509,13 +510,13 @@ import {
509
510
  countScriptRunJournalSteps2,
510
511
  countScriptRunJournalAgentTaskSteps2,
511
512
  init_db3
512
- } from "./cli-jb30dzvk.js";
513
+ } from "./cli-48gxjmcz.js";
513
514
  import {
514
515
  generateDefaultClaudeMd2,
515
516
  generateDefaultSoulMd2,
516
517
  generateDefaultIdentityMd2,
517
518
  generateDefaultToolsMd2
518
- } from "./cli-e42vss7b.js";
519
+ } from "./cli-x37r7qwf.js";
519
520
  init_db3();
520
521
 
521
522
  export {
@@ -946,6 +947,7 @@ export {
946
947
  recordKeyRateLimitWindows2 as recordKeyRateLimitWindows,
947
948
  recordKeySeatMismatch2 as recordKeySeatMismatch,
948
949
  recordKeyUsage2 as recordKeyUsage,
950
+ recordKeyValidation2 as recordKeyValidation,
949
951
  recordSlackMessage2 as recordSlackMessage,
950
952
  recordTaskProviderIfUnset2 as recordTaskProviderIfUnset,
951
953
  recordTaskPullRequestAttachments2 as recordTaskPullRequestAttachments,
@@ -19,9 +19,9 @@ import {
19
19
  createPoolAgent2,
20
20
  loadRuntimeControllerSecrets2,
21
21
  init_db
22
- } from "./cli-19202kew.js";
23
- import"./cli-6a1xg1p7.js";
24
- import"./cli-jb30dzvk.js";
22
+ } from "./cli-6srv653c.js";
23
+ import"./cli-a89zdqz9.js";
24
+ import"./cli-48gxjmcz.js";
25
25
  init_db();
26
26
 
27
27
  export {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  checkDevinCredentials2,
3
3
  DevinAdapter2
4
- } from "./cli-g1cw7xtt.js";
4
+ } from "./cli-39rrw8yp.js";
5
5
  export {
6
6
  DevinAdapter2 as DevinAdapter,
7
7
  checkDevinCredentials2 as checkDevinCredentials
@@ -11,37 +11,37 @@ import {
11
11
  listRegistered2,
12
12
  dispatchPre2,
13
13
  dispatchPost2
14
- } from "./cli-asq5ydm4.js";
15
- import"./cli-pasyvjmm.js";
16
- import"./cli-9s05422w.js";
14
+ } from "./cli-6a9qfa8b.js";
15
+ import"./cli-737pyqxr.js";
16
+ import"./cli-8mbc9za9.js";
17
17
  import"./cli-qz93y3x5.js";
18
18
  import"./cli-3h26v7yj.js";
19
- import"./cli-bvpgr9ny.js";
20
- import"./cli-7p4jxgtt.js";
19
+ import"./cli-60sty27p.js";
20
+ import"./cli-j9bpmykh.js";
21
21
  import"./cli-3ggwdtb0.js";
22
- import"./cli-tsma7p8v.js";
23
- import"./cli-c61mbdds.js";
24
- import"./cli-sbwsxvtd.js";
22
+ import"./cli-aypd09nf.js";
23
+ import"./cli-rd5m70gj.js";
24
+ import"./cli-d20qvpr2.js";
25
25
  import"./cli-g9ypd5en.js";
26
- import"./cli-x0f2v69c.js";
27
- import"./cli-gbfxp48k.js";
28
- import"./cli-qqzmjxkf.js";
29
- import"./cli-kxpfx2xr.js";
26
+ import"./cli-twctnkng.js";
27
+ import"./cli-j0ppywdr.js";
28
+ import"./cli-1m9x8dr5.js";
29
+ import"./cli-0z1xjzwa.js";
30
30
  import"./cli-e8xyjvfc.js";
31
- import"./cli-gwhjmh8g.js";
31
+ import"./cli-wqr7cea4.js";
32
32
  import"./cli-13p25grh.js";
33
33
  import"./cli-0adyhvq2.js";
34
- import"./cli-abs8ndtr.js";
35
- import"./cli-eftzyh9y.js";
36
- import"./cli-19202kew.js";
37
- import"./cli-6a1xg1p7.js";
34
+ import"./cli-m30k9777.js";
35
+ import"./cli-s09j9vp5.js";
36
+ import"./cli-6srv653c.js";
37
+ import"./cli-a89zdqz9.js";
38
38
  import"./cli-rycdaj0a.js";
39
39
  import"./cli-445c1vp7.js";
40
40
  import"./cli-kvzgak7c.js";
41
41
  import"./cli-2nf3b08t.js";
42
- import"./cli-ff1tm9n9.js";
43
- import"./cli-jb30dzvk.js";
44
- import"./cli-dabehxhp.js";
42
+ import"./cli-8wmj18cz.js";
43
+ import"./cli-48gxjmcz.js";
44
+ import"./cli-kt907da6.js";
45
45
  export {
46
46
  ExtensionAbortedError2 as ExtensionAbortedError,
47
47
  dispatchPost2 as dispatchPost,
@@ -5,11 +5,11 @@ import {
5
5
  import {
6
6
  redactWithEnv,
7
7
  init_env
8
- } from "./cli-ha9rmwgq.js";
8
+ } from "./cli-fb8m699c.js";
9
9
  import {
10
10
  scrubSecrets,
11
11
  init_secret_scrubber
12
- } from "./cli-n4c8e3s5.js";
12
+ } from "./cli-708wdy32.js";
13
13
  import {
14
14
  __esm
15
15
  } from "./cli-242037k3.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  checkDshCredentials2,
3
3
  DshAdapter2
4
- } from "./cli-5bnsc0e1.js";
4
+ } from "./cli-gsfk58nw.js";
5
5
  import"./cli-jc1g9ndz.js";
6
- import"./cli-bn0rewsy.js";
6
+ import"./cli-c081bj3b.js";
7
7
  import"./cli-3ggwdtb0.js";
8
8
  import"./cli-e8xyjvfc.js";
9
9
  export {
@@ -26,7 +26,7 @@ import {
26
26
  deleteTemplate,
27
27
  setTemplateVisibility,
28
28
  init_dispatch
29
- } from "./cli-nzfnt2gs.js";
29
+ } from "./cli-tf1n0r0b.js";
30
30
  import {
31
31
  getAppUrl,
32
32
  init_constants2
@@ -45,7 +45,7 @@ import {
45
45
  redactObjectWithEnv,
46
46
  absolutePath,
47
47
  init_env
48
- } from "./cli-ha9rmwgq.js";
48
+ } from "./cli-fb8m699c.js";
49
49
  import {
50
50
  __toESM
51
51
  } from "./cli-242037k3.js";
@@ -11,7 +11,7 @@ import {
11
11
  listSandboxes,
12
12
  startDetachedProcess,
13
13
  init_dispatch
14
- } from "./cli-nzfnt2gs.js";
14
+ } from "./cli-tf1n0r0b.js";
15
15
  import {
16
16
  RUNTIME_LABELS,
17
17
  init_types2
@@ -19,7 +19,7 @@ import {
19
19
  import {
20
20
  redactWithEnv,
21
21
  init_env
22
- } from "./cli-ha9rmwgq.js";
22
+ } from "./cli-fb8m699c.js";
23
23
  import {
24
24
  __toESM,
25
25
  __esm
@@ -11,7 +11,7 @@ import {
11
11
  ARMIN_WIDTH,
12
12
  ARMIN_HEIGHT,
13
13
  isArminPixel
14
- } from "./cli-x77gen2p.js";
14
+ } from "./cli-2y7v133v.js";
15
15
 
16
16
  // node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/easter-egg-3d.js
17
17
  var DEPTH = 0.7;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  workflowEventBus2,
3
3
  init_event_bus
4
- } from "./cli-dabehxhp.js";
4
+ } from "./cli-kt907da6.js";
5
5
  init_event_bus();
6
6
 
7
7
  export {
@@ -14,7 +14,7 @@ import {
14
14
  CODEMODE_DOCS_PATH,
15
15
  toCodemodeDeclaration,
16
16
  getCodemodeCallableTools
17
- } from "./cli-x77gen2p.js";
17
+ } from "./cli-2y7v133v.js";
18
18
  // node_modules/@earendil-works/pi-codemode/dist/runtime/protocol.js
19
19
  function isWorkerToHostMessage(value) {
20
20
  if (typeof value !== "object" || value === null)
@@ -8,8 +8,8 @@ import {
8
8
  shouldBlockChannel2,
9
9
  leaveExternalChannel2,
10
10
  scanExternalChannelsOnBoot2
11
- } from "./cli-eftzyh9y.js";
12
- import"./cli-jb30dzvk.js";
11
+ } from "./cli-s09j9vp5.js";
12
+ import"./cli-48gxjmcz.js";
13
13
  export {
14
14
  EXTERNAL_CHANNEL_BLOCKED_REPLY2 as EXTERNAL_CHANNEL_BLOCKED_REPLY,
15
15
  externalChannelToolError2 as externalChannelToolError,
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  checkGrokCredentials2,
3
3
  GrokAdapter2
4
- } from "./cli-621ce7kw.js";
5
- import"./cli-m4ecdxvz.js";
6
- import"./cli-hh5we352.js";
7
- import"./cli-c952c7ac.js";
4
+ } from "./cli-f12mr20z.js";
5
+ import"./cli-s0mgx214.js";
6
+ import"./cli-86ehn4s5.js";
7
+ import"./cli-e1595bgx.js";
8
8
  import"./cli-4bd1rck6.js";
9
9
  import"./cli-jc1g9ndz.js";
10
- import"./cli-mmhj8vd7.js";
10
+ import"./cli-c668vvcf.js";
11
11
  import"./cli-0726awxw.js";
12
- import"./cli-2655k16q.js";
13
- import"./cli-5kqnemen.js";
14
- import"./cli-bn0rewsy.js";
12
+ import"./cli-sjctjr48.js";
13
+ import"./cli-yvy48785.js";
14
+ import"./cli-c081bj3b.js";
15
15
  import"./cli-3h26v7yj.js";
16
16
  import"./cli-3ggwdtb0.js";
17
- import"./cli-qqzmjxkf.js";
18
- import"./cli-kxpfx2xr.js";
17
+ import"./cli-1m9x8dr5.js";
18
+ import"./cli-0z1xjzwa.js";
19
19
  import"./cli-e8xyjvfc.js";
20
20
  import"./cli-13p25grh.js";
21
21
  import"./cli-0adyhvq2.js";