@desplega.ai/agent-swarm 2.5.3 → 2.6.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 (349) hide show
  1. package/README.md +2 -2
  2. package/dist/{acp-adapter-gr2fcyyj.js → acp-adapter-dgfakfpw.js} +9 -9
  3. package/dist/{actions-wv766ghf.js → actions-fbqma8aa.js} +21 -21
  4. package/dist/{amp-adapter-speb906t.js → amp-adapter-en0jy6hs.js} +4 -4
  5. package/dist/{app-ag29n14f.js → app-k8a5cgpp.js} +3 -3
  6. package/dist/{assistant-3x8bz3eg.js → assistant-a16433gr.js} +30 -26
  7. package/dist/{boot-reembed-jsmfrpzf.js → boot-reembed-6c1sjfnr.js} +1 -1
  8. package/dist/{boot-reembed-5b3d2eea.js → boot-reembed-f4nn561n.js} +1 -1
  9. package/dist/{boot-scrub-sweep-s73gerxy.js → boot-scrub-sweep-d4w9gajf.js} +4 -4
  10. package/dist/{boot-seeds-5zmax2wr.js → boot-seeds-9bmkspyw.js} +4 -4
  11. package/dist/{claude-adapter-hswdnm3t.js → claude-adapter-nys1kjxa.js} +9 -9
  12. package/dist/{claude-managed-adapter-cvbzj1h6.js → claude-managed-adapter-55207973.js} +3 -3
  13. package/dist/{claude-managed-setup-3k8m3hhc.js → claude-managed-setup-3cm35gey.js} +11 -4
  14. package/dist/{claude-sdk-session-fkbyk66x.js → claude-sdk-session-nw5yd8cp.js} +9313 -9260
  15. package/dist/{cli-210xd1f4.js → cli-03gg9pd1.js} +4 -4
  16. package/dist/{cli-kxpfx2xr.js → cli-0z1xjzwa.js} +2 -2
  17. package/dist/cli-1tem6ns9.js +894 -0
  18. package/dist/{cli-25j01dpj.js → cli-24j1jeeb.js} +3 -3
  19. package/dist/{cli-ta8bd7th.js → cli-2sjhpsns.js} +2 -2
  20. package/dist/{cli-p859hcc8.js → cli-39aet655.js} +2 -2
  21. package/dist/{cli-g1cw7xtt.js → cli-39rrw8yp.js} +1 -1
  22. package/dist/{cli-e2ar4bp1.js → cli-3aqd4jaa.js} +121 -47
  23. package/dist/{cli-jjznk3f7.js → cli-3fwqy71j.js} +69 -35
  24. package/dist/{cli-p9rafdrb.js → cli-3gfvmzht.js} +7 -7
  25. package/dist/{cli-03vpq45j.js → cli-3ndmpxxv.js} +2 -2
  26. package/dist/{cli-aecdcr77.js → cli-4hxrf0p4.js} +228 -74
  27. package/dist/{cli-mz9afxxf.js → cli-4rf0f5vg.js} +15 -3
  28. package/dist/{cli-qzme5949.js → cli-5rj83bam.js} +284 -202
  29. package/dist/{cli-fsdprwrg.js → cli-5sckpqcx.js} +2 -2
  30. package/dist/{cli-cz5nmdxt.js → cli-683y0b3a.js} +2 -2
  31. package/dist/{cli-3ngdk5te.js → cli-6y51ryva.js} +2 -2
  32. package/dist/{cli-n4c8e3s5.js → cli-708wdy32.js} +1 -1
  33. package/dist/{cli-pasyvjmm.js → cli-737pyqxr.js} +1 -1
  34. package/dist/{cli-gx4rm0qx.js → cli-7enjwya9.js} +1 -1
  35. package/dist/{cli-6x9ma5w5.js → cli-803188pb.js} +1 -1
  36. package/dist/{cli-avdvgcay.js → cli-9abdgn5t.js} +28 -9
  37. package/dist/{cli-99xgw26r.js → cli-a2rr0fmg.js} +1 -1
  38. package/dist/{cli-e5bxnjps.js → cli-a34pr3w1.js} +7 -7
  39. package/dist/{cli-502eqv93.js → cli-abkm71vr.js} +1 -1
  40. package/dist/{cli-mmhj8vd7.js → cli-ag2yrnt5.js} +11 -2
  41. package/dist/{cli-n45mr7zh.js → cli-aj8djyqt.js} +5 -5
  42. package/dist/{cli-1fc85mvt.js → cli-art7c1zh.js} +5 -5
  43. package/dist/{cli-40jsnrjm.js → cli-az25fn5f.js} +10 -8
  44. package/dist/{cli-9s05422w.js → cli-bqztfyve.js} +1 -1
  45. package/dist/{cli-bn0rewsy.js → cli-c081bj3b.js} +2 -2
  46. package/dist/{cli-svrj71pg.js → cli-c2habvsf.js} +12 -12
  47. package/dist/{cli-s49hpn37.js → cli-ca6banwz.js} +85 -19
  48. package/dist/{cli-hhxjnjzs.js → cli-cz37jqss.js} +12 -10
  49. package/dist/{cli-6n8axjv1.js → cli-d2dpf95n.js} +2 -2
  50. package/dist/{cli-tx00c0h6.js → cli-dqygeeh5.js} +17 -1
  51. package/dist/{cli-z21whrrg.js → cli-emhjcj2y.js} +17 -17
  52. package/dist/{cli-e8jyq7d8.js → cli-esakngh8.js} +7 -3
  53. package/dist/{cli-ha9rmwgq.js → cli-fb8m699c.js} +2 -2
  54. package/dist/{cli-35gtk1p6.js → cli-ffvsj2qw.js} +44 -13
  55. package/dist/{cli-ce0ak9ms.js → cli-g20jjwt4.js} +26 -26
  56. package/dist/{cli-kxawjrxg.js → cli-g8ka5j4j.js} +772 -194
  57. package/dist/{cli-vwn81jbs.js → cli-gf95q3bm.js} +5 -5
  58. package/dist/{cli-s53vp709.js → cli-gnsb1zxa.js} +2 -2
  59. package/dist/{cli-nwyw3zhg.js → cli-gxee0bqa.js} +1 -1
  60. package/dist/{cli-gpv60278.js → cli-hfeb68z4.js} +7 -7
  61. package/dist/{cli-0ebey9hg.js → cli-j6rktc91.js} +1 -1
  62. package/dist/{cli-ewm3pwbq.js → cli-k21gx5ht.js} +46 -23
  63. package/dist/{cli-egjggehm.js → cli-kf4jree9.js} +2 -2
  64. package/dist/{cli-dabehxhp.js → cli-kt907da6.js} +1 -1
  65. package/dist/{cli-p0rzjkya.js → cli-m5a9m0ak.js} +32 -13
  66. package/dist/{cli-fzcn3d87.js → cli-m70bajzr.js} +3 -3
  67. package/dist/{cli-w1zwctj2.js → cli-mtnj4fwa.js} +11 -5
  68. package/dist/{cli-gpsz7g88.js → cli-mvjz5an3.js} +16 -12
  69. package/dist/{cli-hcpj2xqz.js → cli-n7asmce6.js} +225 -3
  70. package/dist/{cli-y561h5a9.js → cli-nn6vx2mq.js} +5 -5
  71. package/dist/cli-nq677csy.js +140 -0
  72. package/dist/{cli-a5ebc95n.js → cli-pfk92eqz.js} +18 -15
  73. package/dist/{cli-p6zs9h4y.js → cli-rr7zx19j.js} +767 -249
  74. package/dist/{cli-qgf8emrn.js → cli-sqma6vw1.js} +10 -7
  75. package/dist/{cli-0xk505e8.js → cli-sxgtf5fw.js} +1 -1
  76. package/dist/{cli-nzfnt2gs.js → cli-tf1n0r0b.js} +1 -1
  77. package/dist/{cli-qqzmjxkf.js → cli-v49fkghp.js} +11 -6
  78. package/dist/{cli-x77gen2p.js → cli-w2656ka1.js} +7 -7
  79. package/dist/{cli-5kqnemen.js → cli-yvy48785.js} +1 -1
  80. package/dist/{cli-8s5wx3nz.js → cli-zqne1qcj.js} +44 -17
  81. package/dist/cli.js +22 -22
  82. package/dist/{codex-adapter-n8ka66vf.js → codex-adapter-d95q4qsn.js} +7 -7
  83. package/dist/{codex-hook-e2he7aca.js → codex-hook-brpnycn5.js} +1 -1
  84. package/dist/{codex-login-rn7c5gxt.js → codex-login-8cg0vhf2.js} +1 -1
  85. package/dist/{codex-session-runner-fsebts37.js → codex-session-runner-gdwd8h0c.js} +8 -8
  86. package/dist/{commands-t04rt2pc.js → commands-jqmgk54b.js} +2 -2
  87. package/dist/{controller-rgna04r2.js → controller-z3jq589f.js} +30 -4
  88. package/dist/{controllers-connect-bqm1rtft.js → controllers-connect-r2za39ef.js} +23 -23
  89. package/dist/{cursor-adapter-swr2k95y.js → cursor-adapter-4mr4jgkw.js} +2 -3
  90. package/dist/{db-a4m7haw0.js → db-ppv2tze7.js} +3 -3
  91. package/dist/{db-24ck09xy.js → db-w36wwb5g.js} +4 -2
  92. package/dist/{devin-adapter-4ycy4vrf.js → devin-adapter-byen2cxt.js} +1 -1
  93. package/dist/{dispatcher-nwf9ss0q.js → dispatcher-pv5h77vf.js} +20 -20
  94. package/dist/{docker-nfy2gc8t.js → docker-fdzyewpz.js} +4 -4
  95. package/dist/{dsh-adapter-kpdnhjst.js → dsh-adapter-d4pdpb3r.js} +2 -3
  96. package/dist/{e2b-9gkdhm3c.js → e2b-222hsajc.js} +2 -2
  97. package/dist/{e2b-cjtf8k1z.js → e2b-fn3zacvt.js} +2 -2
  98. package/dist/{easter-egg-3d-e4qv8dxj.js → easter-egg-3d-4sp4dvmc.js} +1 -1
  99. package/dist/{event-bus-3z78ep5n.js → event-bus-pghg8hqy.js} +1 -1
  100. package/dist/{execute-0xpz8950.js → execute-jev839y1.js} +1 -1
  101. package/dist/{external-channel-j1e2p34p.js → external-channel-y6nkzhnn.js} +2 -2
  102. package/dist/{grok-adapter-qtjz0whk.js → grok-adapter-t08b9ntm.js} +10 -10
  103. package/dist/handlers-eqsnmv95.js +41 -0
  104. package/dist/{heartbeat-vtesda5d.js → heartbeat-vn31xwdk.js} +23 -23
  105. package/dist/{hook-b2hhj6rd.js → hook-6d0zbvvt.js} +6 -5
  106. package/dist/{hook-8wqaszda.js → hook-cpjs8q51.js} +13 -7
  107. package/dist/{http-mxcqhhcs.js → http-9c6medda.js} +1085 -136
  108. package/dist/{index-spwxjgay.js → index-38t35h0n.js} +20 -20
  109. package/dist/{index-1r8wfpzs.js → index-g6k9tctj.js} +1 -1
  110. package/dist/{index-srg522m6.js → index-k0yt1tvq.js} +20 -20
  111. package/dist/{index-31ceyf42.js → index-pkma1yf8.js} +1 -1
  112. package/dist/{index-n1vbvta9.js → index-qhjf2htm.js} +29 -24
  113. package/dist/index-yqgbfgaj.js +43 -0
  114. package/dist/{keepalive-dsd8rtgx.js → keepalive-em0117bp.js} +4 -4
  115. package/dist/lead-23e7z59t.js +79 -0
  116. package/dist/{maintenance-jqmqwnet.js → maintenance-kbme3qy9.js} +1 -1
  117. package/dist/{oauth-refresh-sweep-q2c3bnvm.js → oauth-refresh-sweep-xysj4yse.js} +3 -3
  118. package/dist/{onboard-w4yd7s8t.js → onboard-p6q0vz97.js} +3 -3
  119. package/dist/{opencode-adapter-9tppvxar.js → opencode-adapter-esv3k9yn.js} +7 -7
  120. package/dist/{otel-impl-f36byzbd.js → otel-impl-54qhqh1z.js} +2 -2
  121. package/dist/{pi-mono-adapter-tqsge1ay.js → pi-mono-adapter-mymbwhj0.js} +41 -14
  122. package/dist/{pricing-refresh-xvak5p4v.js → pricing-refresh-yb75wv33.js} +3 -3
  123. package/dist/{rbac-roles-gfn30fb8.js → rbac-roles-1vp2mw4p.js} +2 -2
  124. package/dist/{rbac-roles-682k2mt5.js → rbac-roles-dexhc9x8.js} +1 -1
  125. package/dist/render-v2-tjay5hhf.js +16 -0
  126. package/dist/{resume-2dvq348g.js → resume-8ayf37g5.js} +11 -9
  127. package/dist/{runtime-bt5pkpm1.js → runtime-hqe5cqcd.js} +1 -1
  128. package/dist/{session-access-7f21ekq9.js → session-access-fdhp987s.js} +4 -4
  129. package/dist/session-source-backfill-qgtc86z1.js +110 -0
  130. package/dist/{setup-epffxtbk.js → setup-4rrmqcq3.js} +1 -1
  131. package/dist/{virtual-modules-mnfbh5mr.js → virtual-modules-52km00d6.js} +2 -2
  132. package/dist/{work-objects-xz1a5rqk.js → work-objects-p28fgd70.js} +23 -23
  133. package/dist/worker-e3w7vye1.js +79 -0
  134. package/dist/{x-pbpezr0s.js → x-wxrzvzx8.js} +2 -2
  135. package/openapi.json +1323 -16
  136. package/package.json +5 -5
  137. package/plugin/commands/create-pr.md +2 -2
  138. package/plugin/pi-skills/create-pr/SKILL.md +2 -2
  139. package/src/assets/source-key.ts +95 -0
  140. package/src/be/db/api-keys.ts +80 -0
  141. package/src/be/db/approvals.ts +48 -0
  142. package/src/be/db/session-labels.ts +28 -0
  143. package/src/be/db/session-moves.ts +5 -6
  144. package/src/be/db/session-tree.ts +153 -14
  145. package/src/be/db/tasks/read.ts +11 -0
  146. package/src/be/db/tasks/write.ts +21 -6
  147. package/src/be/db/workflow-idempotency.ts +183 -0
  148. package/src/be/db/workflow-runs.ts +500 -7
  149. package/src/be/db-retention.ts +61 -6
  150. package/src/be/db.ts +126 -131
  151. package/src/be/memory/providers/openai-embedding.ts +5 -1
  152. package/src/be/migrations/242_workflow_idempotency_keys.sql +40 -0
  153. package/src/be/migrations/244_api_key_validation.sql +4 -0
  154. package/src/be/onboarding.ts +4 -0
  155. package/src/be/scripts/typecheck.ts +1 -1
  156. package/src/be/sealed-json.ts +1 -0
  157. package/src/be/seed-scripts/catalog/compound-insights.inline.ts +2 -2
  158. package/src/be/seed-scripts/catalog/compound-insights.ts +2 -2
  159. package/src/be/seed-skills/bundled-files.generated.json +1 -1
  160. package/src/be/session-source-backfill.ts +163 -0
  161. package/src/be/sql-connections.ts +7 -1
  162. package/src/be/swarm-config-guard.ts +3 -0
  163. package/src/be/users.ts +9 -0
  164. package/src/comb/review-batch.ts +28 -1
  165. package/src/comb/templates.ts +7 -2
  166. package/src/commands/claude-managed-setup.ts +7 -1
  167. package/src/commands/controller.ts +33 -0
  168. package/src/commands/credential-refresh.ts +76 -1
  169. package/src/commands/credential-wait.ts +2 -2
  170. package/src/commands/provider-credentials.ts +210 -170
  171. package/src/commands/runner.ts +31 -6
  172. package/src/extensions/apply-task-create.ts +64 -11
  173. package/src/extensions/contract-types.generated.ts +1 -1
  174. package/src/extensions/contract.ts +30 -0
  175. package/src/extensions/dispatcher.ts +4 -0
  176. package/src/extensions/post-bridge.ts +8 -0
  177. package/src/hooks/context-bound-note.ts +196 -0
  178. package/src/hooks/hook.ts +12 -0
  179. package/src/http/all-routes.ts +2 -0
  180. package/src/http/api-keys.ts +53 -0
  181. package/src/http/assets.ts +15 -0
  182. package/src/http/codex-oauth-accounts.ts +191 -0
  183. package/src/http/comb.ts +15 -2
  184. package/src/http/config.ts +49 -17
  185. package/src/http/core.ts +6 -0
  186. package/src/http/fleet-benchmark.ts +5 -2
  187. package/src/http/idempotency-key.ts +117 -0
  188. package/src/http/index.ts +11 -0
  189. package/src/http/integrations.ts +5 -1
  190. package/src/http/kv.ts +8 -3
  191. package/src/http/onboarding.ts +6 -1
  192. package/src/http/pool-keys.ts +354 -0
  193. package/src/http/sessions.ts +37 -12
  194. package/src/http/stats.ts +1 -0
  195. package/src/http/status.ts +26 -12
  196. package/src/http/tasks.ts +3 -0
  197. package/src/http/used-by.ts +7 -2
  198. package/src/http/workflows.ts +207 -33
  199. package/src/integrations/chat-sdk/inbound.ts +27 -0
  200. package/src/kv-reserved-namespaces.ts +19 -0
  201. package/src/prompts/context-bound-note.ts +48 -0
  202. package/src/prompts/session-templates.ts +25 -1
  203. package/src/providers/acp-targets.ts +1 -1
  204. package/src/providers/amp-adapter.ts +30 -8
  205. package/src/providers/claude-adapter.ts +34 -5
  206. package/src/providers/claude-managed-adapter.ts +42 -9
  207. package/src/providers/claude-sdk-session.ts +10 -0
  208. package/src/providers/claude-session-events.ts +13 -0
  209. package/src/providers/codex-adapter.ts +83 -11
  210. package/src/providers/opencode-adapter.ts +18 -0
  211. package/src/providers/pi-mono-adapter.ts +35 -0
  212. package/src/runtime-providers/docker.ts +6 -2
  213. package/src/scheduler/scheduler.ts +3 -2
  214. package/src/scripts-runtime/swarm-sdk.ts +7 -1
  215. package/src/scripts-runtime/types/stdlib.d.ts +1 -1
  216. package/src/scripts-runtime/types/swarm-extension.d.ts +52 -8
  217. package/src/scripts-runtime/types/swarm-sdk.d.ts +1 -1
  218. package/src/slack/assistant.ts +7 -0
  219. package/src/slack/channel-labels.ts +74 -0
  220. package/src/slack/handlers.ts +8 -0
  221. package/src/slack/inbound-files.ts +5 -2
  222. package/src/slack/thread-buffer.ts +4 -0
  223. package/src/tasks/sibling-awareness.ts +12 -3
  224. package/src/telemetry-context.ts +5 -6
  225. package/src/telemetry-identity.ts +3 -3
  226. package/src/tests/amp-adapter.test.ts +97 -0
  227. package/src/tests/api-keys-validation.test.ts +170 -0
  228. package/src/tests/approval-requests.test.ts +10 -7
  229. package/src/tests/approval-sweeps.test.ts +12 -6
  230. package/src/tests/base-prompt.test.ts +1 -1
  231. package/src/tests/claude-hook-output.test.ts +79 -1
  232. package/src/tests/claude-managed-adapter.test.ts +321 -0
  233. package/src/tests/claude-routes-e2e.test.ts +7 -2
  234. package/src/tests/codex-adapter.test.ts +163 -0
  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/config-pool-keys.test.ts +533 -0
  240. package/src/tests/context-bound-note.test.ts +269 -0
  241. package/src/tests/credential-check.test.ts +290 -2
  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/extensions-pre-task.test.ts +325 -0
  248. package/src/tests/fetch-resolved-env.test.ts +17 -0
  249. package/src/tests/fixtures/extensions/record-blocks/hooks.ts +10 -0
  250. package/src/tests/fixtures/extensions/record-blocks/manifest.json +7 -0
  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/fixtures/fake-amp.ts +22 -8
  254. package/src/tests/fixtures/held-template-render.ts +42 -0
  255. package/src/tests/fixtures/workflow-idempotency-trigger.child.ts +73 -0
  256. package/src/tests/fleet-benchmark.test.ts +8 -0
  257. package/src/tests/get-workflow-run-tool.test.ts +98 -0
  258. package/src/tests/integrations-http.test.ts +32 -2
  259. package/src/tests/internal-ai/complete-structured.test.ts +37 -1
  260. package/src/tests/internal-ai/credentials.test.ts +23 -0
  261. package/src/tests/kv-http.test.ts +32 -0
  262. package/src/tests/kv-tool.test.ts +25 -0
  263. package/src/tests/multi-runtime-registration.test.ts +12 -12
  264. package/src/tests/onboarding.test.ts +108 -1
  265. package/src/tests/openai-embedding-credentials.test.ts +35 -0
  266. package/src/tests/openapi-route-headers.test.ts +2 -0
  267. package/src/tests/opencode-adapter.test.ts +134 -0
  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/pi-mono-adapter.test.ts +105 -0
  271. package/src/tests/prompt-template-session.test.ts +4 -3
  272. package/src/tests/provider-key-probes.test.ts +181 -0
  273. package/src/tests/rbac-e2e-helpers.test.ts +88 -1
  274. package/src/tests/rbac-e2e-helpers.ts +36 -11
  275. package/src/tests/runner-push-delivery.test.ts +25 -0
  276. package/src/tests/runtime-controller-liveness.test.ts +133 -0
  277. package/src/tests/runtime-providers-docker.test.ts +2 -0
  278. package/src/tests/script-connections.test.ts +5 -0
  279. package/src/tests/script-run-config-scope.test.ts +91 -3
  280. package/src/tests/script-runs-retention.test.ts +212 -0
  281. package/src/tests/sdk-allowlist.test.ts +39 -0
  282. package/src/tests/session-logs.test.ts +70 -0
  283. package/src/tests/session-source-backfill.test.ts +429 -0
  284. package/src/tests/session-source-keys.test.ts +236 -0
  285. package/src/tests/session-source-labels.test.ts +419 -0
  286. package/src/tests/sessions-detail-batch.test.ts +2 -0
  287. package/src/tests/sessions-move.test.ts +131 -0
  288. package/src/tests/sessions-tree.test.ts +336 -2
  289. package/src/tests/slack-inbound-files.test.ts +103 -23
  290. package/src/tests/status.test.ts +101 -18
  291. package/src/tests/tasks-workflow-run-filter.test.ts +146 -0
  292. package/src/tests/test-net.ts +31 -0
  293. package/src/tests/transcription.test.ts +8 -0
  294. package/src/tests/used-by-route.test.ts +11 -0
  295. package/src/tests/workflow-cascade-cancel.test.ts +1341 -0
  296. package/src/tests/workflow-foreach-supersede-retry.test.ts +488 -0
  297. package/src/tests/workflow-http-v2.test.ts +131 -0
  298. package/src/tests/workflow-idempotency.test.ts +915 -0
  299. package/src/tests/workflow-step-order.test.ts +92 -0
  300. package/src/tests/workflow-sub-workflow.test.ts +30 -0
  301. package/src/tools/get-tasks.ts +8 -0
  302. package/src/tools/kv/kv-read-auth.ts +4 -2
  303. package/src/tools/task-action.ts +1 -1
  304. package/src/tools/workflows/cancel-workflow-run.ts +1 -1
  305. package/src/tools/workflows/get-workflow-run.ts +14 -4
  306. package/src/types.ts +24 -0
  307. package/src/utils/company-profile.ts +51 -1
  308. package/src/utils/context-window.ts +8 -6
  309. package/src/utils/credentials.ts +5 -2
  310. package/src/utils/internal-ai/complete-structured.ts +5 -0
  311. package/src/utils/internal-ai/credentials.ts +4 -3
  312. package/src/utils/provider-key-probes.ts +328 -0
  313. package/src/utils/transcription.ts +4 -1
  314. package/src/workflows/approval-cancel.ts +15 -13
  315. package/src/workflows/approval-notifications.ts +5 -1
  316. package/src/workflows/checkpoint.ts +6 -3
  317. package/src/workflows/engine.ts +30 -8
  318. package/src/workflows/executors/foreach.ts +2 -2
  319. package/src/workflows/executors/sub-workflow.ts +8 -1
  320. package/src/workflows/foreach-driver.ts +10 -3
  321. package/src/workflows/foreach-join.ts +29 -6
  322. package/src/workflows/recovery.ts +6 -1
  323. package/src/workflows/resume.ts +168 -56
  324. package/src/workflows/retry-poller.ts +49 -3
  325. package/src/workflows/task-step-routing.ts +29 -7
  326. package/templates/ai-toolbox.manifest.json +8 -8
  327. package/templates/community/open-prompt-showreel/PLAYBOOK.md +5 -6
  328. package/templates/community/open-prompt-showreel/lead-prompt.md +1 -1
  329. package/templates/community/open-prompt-showreel/skills/open-prompt-showreel/SKILL.md +4 -4
  330. package/templates/skills/agent-browser/SKILL.md +4 -4
  331. package/templates/skills/agent-browser/content.md +4 -4
  332. package/templates/skills/code-quality/config.json +1 -1
  333. package/templates/skills/code-quality/content.md +2 -2
  334. package/templates/skills/delegate-work/content.md +29 -25
  335. package/templates/skills/delegate-work/files/scripts/codex-exec.sh +5 -5
  336. package/templates/skills/qa/content.md +2 -2
  337. package/templates/skills/researching/content.md +4 -0
  338. package/templates/skills/swarm-scripts/SKILL.md +1 -0
  339. package/templates/skills/swarm-scripts/content.md +1 -0
  340. package/templates/skills/work-on-task/SKILL.md +1 -1
  341. package/templates/skills/work-on-task/content.md +1 -1
  342. package/dist/cli-7421jzsw.js +0 -84
  343. package/dist/cli-e45e4m6b.js +0 -413
  344. package/dist/cli-zw88zjba.js +0 -307
  345. package/dist/handlers-19xr6dnz.js +0 -41
  346. package/dist/index-kw2mmat7.js +0 -43
  347. package/dist/lead-zyerk1x2.js +0 -79
  348. package/dist/render-v2-hgytz8nn.js +0 -12
  349. package/dist/worker-42t8emjt.js +0 -79
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  getDb2,
3
3
  init_db3
4
- } from "./cli-kxawjrxg.js";
4
+ } from "./cli-g8ka5j4j.js";
5
5
  import {
6
6
  openAICompatibleProviderIds,
7
7
  withRegistryCatalogSections,
8
8
  init_src2
9
- } from "./cli-nwyw3zhg.js";
9
+ } from "./cli-gxee0bqa.js";
10
10
 
11
11
  // src/be/seed-pricing.ts
12
12
  init_src2();
@@ -8,11 +8,11 @@ import {
8
8
  resolveConfigValueOrThrow,
9
9
  resolveHeadersOrThrow,
10
10
  FileAuthStorageBackend
11
- } from "./cli-x77gen2p.js";
11
+ } from "./cli-w2656ka1.js";
12
12
  import {
13
13
  oauthSuccessHtml,
14
14
  oauthErrorHtml
15
- } from "./cli-qqzmjxkf.js";
15
+ } from "./cli-v49fkghp.js";
16
16
  import {
17
17
  __toESM
18
18
  } from "./cli-242037k3.js";
@@ -6,11 +6,11 @@ import {
6
6
  getResolvedConfig2,
7
7
  getAllUsers2,
8
8
  init_db3
9
- } from "./cli-kxawjrxg.js";
9
+ } from "./cli-g8ka5j4j.js";
10
10
  import {
11
11
  scrubSecrets,
12
12
  init_secret_scrubber
13
- } from "./cli-n4c8e3s5.js";
13
+ } from "./cli-708wdy32.js";
14
14
 
15
15
  // src/be/seed/agent-fs-provision.ts
16
16
  init_secret_scrubber();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  openAICompatibleKeyVars,
3
3
  init_src2
4
- } from "./cli-nwyw3zhg.js";
4
+ } from "./cli-gxee0bqa.js";
5
5
  import {
6
6
  __esm
7
7
  } from "./cli-242037k3.js";
@@ -3,7 +3,7 @@ import {
3
3
  scrubObject,
4
4
  registerVolatileSecret,
5
5
  init_secret_scrubber
6
- } from "./cli-n4c8e3s5.js";
6
+ } from "./cli-708wdy32.js";
7
7
 
8
8
  // src/x/composio.ts
9
9
  init_secret_scrubber();
@@ -3,7 +3,7 @@ import {
3
3
  isModelScopedWindow,
4
4
  parseModelLimitMessage,
5
5
  init_model_rate_limit_windows
6
- } from "./cli-7421jzsw.js";
6
+ } from "./cli-1tem6ns9.js";
7
7
 
8
8
  // src/utils/error-tracker.ts
9
9
  init_model_rate_limit_windows();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  withRegistryCatalogSections,
3
3
  init_src2
4
- } from "./cli-nwyw3zhg.js";
4
+ } from "./cli-gxee0bqa.js";
5
5
  import {
6
6
  __esm
7
7
  } from "./cli-242037k3.js";
@@ -1,8 +1,7 @@
1
1
  import {
2
- CONTEXT_FORMULA,
3
- getContextWindowSize,
4
- clampContextPercent
5
- } from "./cli-a5ebc95n.js";
2
+ contextBoundNoteThreshold,
3
+ createContextBoundNote
4
+ } from "./cli-nq677csy.js";
6
5
  import {
7
6
  swarmRuntimeInstanceId
8
7
  } from "./cli-e8xyjvfc.js";
@@ -23,19 +22,25 @@ import {
23
22
  autoIndexMemoryFile,
24
23
  fetchConcurrentContext,
25
24
  summarizeTranscript
26
- } from "./cli-e5bxnjps.js";
25
+ } from "./cli-a34pr3w1.js";
27
26
  import {
28
27
  applyReasoningEffort
29
- } from "./cli-bn0rewsy.js";
28
+ } from "./cli-c081bj3b.js";
30
29
  import {
31
30
  fetchInstalledMcpServers
32
31
  } from "./cli-bst1vp7e.js";
32
+ import {
33
+ CONTEXT_FORMULA,
34
+ getContextWindowSize,
35
+ clampContextPercent,
36
+ init_context_window
37
+ } from "./cli-pfk92eqz.js";
33
38
  import {
34
39
  splitCredentialPool,
35
40
  openAICompatibleKeyLabels,
36
41
  validateOpencodeCredentials,
37
42
  init_credentials
38
- } from "./cli-zw88zjba.js";
43
+ } from "./cli-1tem6ns9.js";
39
44
  import {
40
45
  DEFAULT_OPENROUTER_BASE_URL,
41
46
  getOpenRouterBaseUrl,
@@ -51,7 +56,7 @@ import {
51
56
  scrubSecrets,
52
57
  registerVolatileSecret,
53
58
  init_secret_scrubber
54
- } from "./cli-n4c8e3s5.js";
59
+ } from "./cli-708wdy32.js";
55
60
  import {
56
61
  openAICompatibleProviders,
57
62
  providerKeyVars,
@@ -62,12 +67,13 @@ import {
62
67
  openAICompatibleProvider,
63
68
  providerForKeyVar,
64
69
  init_src2
65
- } from "./cli-nwyw3zhg.js";
70
+ } from "./cli-gxee0bqa.js";
66
71
 
67
72
  // src/providers/opencode-adapter.ts
68
73
  init_src2();
69
74
  import { existsSync, readFileSync } from "node:fs";
70
75
  import { dirname, join } from "node:path";
76
+ init_context_window();
71
77
  init_credentials();
72
78
  init_env_flag();
73
79
  init_openrouter_base_url();
@@ -502,6 +508,7 @@ class OpencodeSession {
502
508
  toolNames = new Map;
503
509
  textByMessage = new Map;
504
510
  transcript = [];
511
+ observeContextBound;
505
512
  constructor(host, _sessionId, model, swarm, cwd, appliedReasoningEffort = null, billing) {
506
513
  this.host = host;
507
514
  this._sessionId = _sessionId;
@@ -513,6 +520,17 @@ class OpencodeSession {
513
520
  this.completionPromise = new Promise((resolve) => {
514
521
  this.completionResolve = resolve;
515
522
  });
523
+ this.observeContextBound = createContextBoundNote({
524
+ threshold: contextBoundNoteThreshold(swarm.env ?? process.env),
525
+ model: () => this.model,
526
+ canDeliver: () => !this.completed && !this.aborted,
527
+ inject: (note) => host.sessions.synthetic({
528
+ sessionID: _sessionId,
529
+ text: note,
530
+ delivery: "steer",
531
+ resume: false
532
+ })
533
+ });
516
534
  }
517
535
  get sessionId() {
518
536
  return this._sessionId;
@@ -624,6 +642,7 @@ class OpencodeSession {
624
642
  this.steps++;
625
643
  const t = ev.data.tokens;
626
644
  const contextUsed = t.input + t.cache.read + t.cache.write + t.output;
645
+ this.observeContextBound(t.input + t.cache.read + t.cache.write);
627
646
  const contextTotal = getContextWindowSize(this.model || "default");
628
647
  if (contextTotal > 0 && contextUsed > 0) {
629
648
  this.emit({
@@ -4,7 +4,7 @@ import {
4
4
  invalidateTelemetryUserRole,
5
5
  init_telemetry_identity,
6
6
  init_db3
7
- } from "./cli-kxawjrxg.js";
7
+ } from "./cli-g8ka5j4j.js";
8
8
  import {
9
9
  PermissionVerbSchema,
10
10
  init_rbac
@@ -10,17 +10,17 @@ import {
10
10
  } from "./cli-0726awxw.js";
11
11
  import {
12
12
  summarizeSession
13
- } from "./cli-mmhj8vd7.js";
13
+ } from "./cli-ag2yrnt5.js";
14
+ import {
15
+ getOpenRouterAttributionHeaders,
16
+ init_openrouter_base_url
17
+ } from "./cli-dfyv0jdy.js";
14
18
  import {
15
19
  resolveTemplateFromCode,
16
20
  resolveTemplateAsync,
17
21
  init_resolver,
18
22
  init_session_templates
19
- } from "./cli-tx00c0h6.js";
20
- import {
21
- getOpenRouterAttributionHeaders,
22
- init_openrouter_base_url
23
- } from "./cli-dfyv0jdy.js";
23
+ } from "./cli-dqygeeh5.js";
24
24
  import {
25
25
  isSessionSummarySkipped,
26
26
  init_env_flag
@@ -28,7 +28,7 @@ import {
28
28
  import {
29
29
  scrubSecrets,
30
30
  init_secret_scrubber
31
- } from "./cli-n4c8e3s5.js";
31
+ } from "./cli-708wdy32.js";
32
32
 
33
33
  // src/prompts/goal-reminder.ts
34
34
  init_session_templates();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  init_package,
3
3
  package_default
4
- } from "./cli-y561h5a9.js";
4
+ } from "./cli-nn6vx2mq.js";
5
5
 
6
6
  // src/commands/shared/client-config.ts
7
7
  init_package();
@@ -8,12 +8,16 @@ import {
8
8
  complete,
9
9
  parseModelStr,
10
10
  resolveCredential
11
- } from "./cli-qqzmjxkf.js";
11
+ } from "./cli-v49fkghp.js";
12
12
  import {
13
13
  SummaryWithRatingsSchema,
14
14
  BASE_SUMMARIZE_PROMPT,
15
15
  buildSummaryWithRatingsPrompt
16
16
  } from "./cli-3h26v7yj.js";
17
+ import {
18
+ selectCredential,
19
+ init_credentials
20
+ } from "./cli-1tem6ns9.js";
17
21
  import {
18
22
  DEFAULT_OPENROUTER_BASE_URL,
19
23
  getOpenRouterBaseUrl,
@@ -29,10 +33,11 @@ import {
29
33
  import {
30
34
  scrubSecrets,
31
35
  init_secret_scrubber
32
- } from "./cli-n4c8e3s5.js";
36
+ } from "./cli-708wdy32.js";
33
37
 
34
38
  // src/utils/internal-ai/complete-structured.ts
35
39
  init_zod();
40
+ init_credentials();
36
41
  init_openrouter_base_url();
37
42
  init_secret_scrubber();
38
43
  var CLAUDE_CLI_TIMEOUT_MS = 30000;
@@ -64,6 +69,10 @@ async function defaultSpawnClaudeCli(prompt, model, signal, jsonSchema) {
64
69
  if (!env.CLAUDE_CODE_OAUTH_TOKEN && env.AGENT_SWARM_CLAUDE_OAUTH_TOKEN) {
65
70
  env.CLAUDE_CODE_OAUTH_TOKEN = env.AGENT_SWARM_CLAUDE_OAUTH_TOKEN;
66
71
  }
72
+ for (const keyVar of ["CLAUDE_CODE_OAUTH_TOKEN", "ANTHROPIC_API_KEY"]) {
73
+ if (env[keyVar])
74
+ env[keyVar] = selectCredential(env[keyVar], undefined, keyVar).selected;
75
+ }
67
76
  env.SKIP_SESSION_SUMMARY = "1";
68
77
  const proc = Bun.spawn({
69
78
  cmd,
@@ -4,25 +4,25 @@ import {
4
4
  getActivePricingRow2,
5
5
  insertPricingRow2,
6
6
  init_db3
7
- } from "./cli-kxawjrxg.js";
7
+ } from "./cli-g8ka5j4j.js";
8
8
  import {
9
9
  loadModelsDevCache,
10
10
  buildModelsDevSeedRows
11
- } from "./cli-fsdprwrg.js";
11
+ } from "./cli-5sckpqcx.js";
12
12
  import {
13
13
  setRuntimeModelCatalog,
14
14
  init_runtime_model_catalog
15
- } from "./cli-6x9ma5w5.js";
15
+ } from "./cli-803188pb.js";
16
16
  import {
17
17
  scrubSecrets,
18
18
  init_secret_scrubber
19
- } from "./cli-n4c8e3s5.js";
19
+ } from "./cli-708wdy32.js";
20
20
  import {
21
21
  openAICompatibleProviderIds,
22
22
  withAgentChatRegistrySections,
23
23
  registryCatalogSections,
24
24
  init_src2
25
- } from "./cli-nwyw3zhg.js";
25
+ } from "./cli-gxee0bqa.js";
26
26
 
27
27
  // src/be/pricing-refresh.ts
28
28
  init_secret_scrubber();
@@ -9,16 +9,16 @@ import {
9
9
  init_active_sessions,
10
10
  getSteeringMessageById2,
11
11
  init_db3
12
- } from "./cli-kxawjrxg.js";
12
+ } from "./cli-g8ka5j4j.js";
13
13
  import {
14
14
  getUserGrant2,
15
15
  init_rbac_roles
16
- } from "./cli-99xgw26r.js";
16
+ } from "./cli-a2rr0fmg.js";
17
17
  import {
18
18
  findUserById,
19
19
  findUserByExternalId,
20
20
  init_users
21
- } from "./cli-e8jyq7d8.js";
21
+ } from "./cli-esakngh8.js";
22
22
  import {
23
23
  isRbacEnabled,
24
24
  can,
@@ -43,7 +43,7 @@ import {
43
43
  import {
44
44
  scrubSecrets,
45
45
  init_secret_scrubber
46
- } from "./cli-n4c8e3s5.js";
46
+ } from "./cli-708wdy32.js";
47
47
 
48
48
  // src/http/route-def.ts
49
49
  init_zod();
@@ -503,7 +503,7 @@ function route(def) {
503
503
  try {
504
504
  const rawBody = def.body ? await parseBody(req, def.maxBodyBytes) : undefined;
505
505
  if (def.session && "bodyTaskIds" in def.session) {
506
- const { bodySessionDenial } = await import("./session-access-7f21ekq9.js");
506
+ const { bodySessionDenial } = await import("./session-access-fdhp987s.js");
507
507
  const denial = await bodySessionDenial(req, def.session.bodyTaskIds(rawBody));
508
508
  if (denial) {
509
509
  jsonError(res, denial, 403);
@@ -1,8 +1,3 @@
1
- import {
2
- CONTEXT_FORMULA,
3
- getContextWindowSize,
4
- clampContextPercent
5
- } from "./cli-a5ebc95n.js";
6
1
  import {
7
2
  swarmRuntimeInstanceId
8
3
  } from "./cli-e8xyjvfc.js";
@@ -17,11 +12,17 @@ import {
17
12
  import {
18
13
  reasoningCapability,
19
14
  applyReasoningEffort
20
- } from "./cli-bn0rewsy.js";
15
+ } from "./cli-c081bj3b.js";
16
+ import {
17
+ CONTEXT_FORMULA,
18
+ getContextWindowSize,
19
+ clampContextPercent,
20
+ init_context_window
21
+ } from "./cli-pfk92eqz.js";
21
22
  import {
22
23
  DEFAULT_MODEL_TIER_MAP,
23
24
  init_types
24
- } from "./cli-mz9afxxf.js";
25
+ } from "./cli-4rf0f5vg.js";
25
26
  import {
26
27
  getOpenRouterBaseUrl,
27
28
  getOpenRouterAttributionHeaders,
@@ -31,10 +32,11 @@ import {
31
32
  scrubSecrets,
32
33
  registerVolatileSecret,
33
34
  init_secret_scrubber
34
- } from "./cli-n4c8e3s5.js";
35
+ } from "./cli-708wdy32.js";
35
36
 
36
37
  // src/providers/dsh-adapter.ts
37
38
  init_types();
39
+ init_context_window();
38
40
  import { mkdtemp, rm, writeFile } from "node:fs/promises";
39
41
  import { tmpdir } from "node:os";
40
42
  import { join } from "node:path";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_MODEL_TIER_MAP,
3
3
  init_types
4
- } from "./cli-mz9afxxf.js";
4
+ } from "./cli-4rf0f5vg.js";
5
5
 
6
6
  // src/utils/amp-models.ts
7
7
  init_types();
@@ -2,7 +2,7 @@ import {
2
2
  runtimeCatalogSection,
3
3
  runtimeCatalogModel,
4
4
  init_runtime_model_catalog
5
- } from "./cli-6x9ma5w5.js";
5
+ } from "./cli-803188pb.js";
6
6
  import {
7
7
  dshCatalogRef,
8
8
  grokCatalogRef,
@@ -10,7 +10,7 @@ import {
10
10
  reasoningLevelsFor,
11
11
  claudeCatalogModelId,
12
12
  init_src2
13
- } from "./cli-nwyw3zhg.js";
13
+ } from "./cli-gxee0bqa.js";
14
14
 
15
15
  // src/providers/reasoning-effort.ts
16
16
  init_src2();
@@ -4,7 +4,7 @@ import {
4
4
  CONTROLLER_COMMAND_TIMEOUT_MS,
5
5
  RuntimeHandleSchema,
6
6
  ControllerStatusResultSchema
7
- } from "./cli-6n8axjv1.js";
7
+ } from "./cli-d2dpf95n.js";
8
8
  import {
9
9
  getDbClient2,
10
10
  isRuntimePoolsEnabled,
@@ -21,11 +21,11 @@ import {
21
21
  upsertSwarmConfig2,
22
22
  getResolvedConfig2,
23
23
  init_db3
24
- } from "./cli-kxawjrxg.js";
24
+ } from "./cli-g8ka5j4j.js";
25
25
  import {
26
26
  createWorkerTaskFollowUp,
27
27
  canClaim
28
- } from "./cli-aecdcr77.js";
28
+ } from "./cli-4hxrf0p4.js";
29
29
  import {
30
30
  getRuntimeController2,
31
31
  getRuntimeControllerTarget2,
@@ -36,7 +36,7 @@ import {
36
36
  getPoolForAgent2,
37
37
  resolvePoolDelivery2,
38
38
  init_db
39
- } from "./cli-vwn81jbs.js";
39
+ } from "./cli-gf95q3bm.js";
40
40
  import {
41
41
  runtimeStaleThresholdMinutes,
42
42
  getRuntimeInstanceById,
@@ -44,14 +44,14 @@ import {
44
44
  markRuntimeTerminated,
45
45
  listRuntimeInstancesForAgent,
46
46
  listRuntimeInstancesForPool
47
- } from "./cli-jjznk3f7.js";
47
+ } from "./cli-3fwqy71j.js";
48
48
  import {
49
49
  isMultiRuntimeEnabled
50
50
  } from "./cli-e8xyjvfc.js";
51
51
  import {
52
52
  workflowEventBus2,
53
53
  init_event_bus
54
- } from "./cli-dabehxhp.js";
54
+ } from "./cli-kt907da6.js";
55
55
  import {
56
56
  import_websocket
57
57
  } from "./cli-b2mz5mjc.js";
@@ -59,16 +59,16 @@ import {
59
59
  canProvisionKind,
60
60
  createRuntimeProvider,
61
61
  init_runtime_providers
62
- } from "./cli-p859hcc8.js";
62
+ } from "./cli-39aet655.js";
63
63
  import {
64
64
  mintRuntimeToken,
65
65
  init_users
66
- } from "./cli-e8jyq7d8.js";
66
+ } from "./cli-esakngh8.js";
67
67
  import {
68
68
  TERMINAL_TASK_STATUSES,
69
69
  isTerminalTaskStatus,
70
70
  init_types
71
- } from "./cli-mz9afxxf.js";
71
+ } from "./cli-4rf0f5vg.js";
72
72
  import {
73
73
  init_zod
74
74
  } from "./cli-4chz1hye.js";
@@ -88,7 +88,7 @@ import {
88
88
  import {
89
89
  buildImageTemplate,
90
90
  init_dispatch
91
- } from "./cli-nzfnt2gs.js";
91
+ } from "./cli-tf1n0r0b.js";
92
92
  import {
93
93
  RUNTIME_LABELS,
94
94
  init_types2
@@ -97,7 +97,7 @@ import {
97
97
  scrubSecrets,
98
98
  registerVolatileSecret,
99
99
  init_secret_scrubber
100
- } from "./cli-n4c8e3s5.js";
100
+ } from "./cli-708wdy32.js";
101
101
 
102
102
  // src/be/runtime-pools/supervisor.ts
103
103
  init_runtime_providers();
@@ -524,7 +524,7 @@ async function recoverSessions(runtimeId, reason) {
524
524
  }
525
525
  if (!sessions.length)
526
526
  return;
527
- const { remediateTaskForDeadRuntime } = await import("./heartbeat-vtesda5d.js");
527
+ const { remediateTaskForDeadRuntime } = await import("./heartbeat-vn31xwdk.js");
528
528
  for (const session of sessions) {
529
529
  try {
530
530
  const task = await getTaskById2(session.taskId);