@desplega.ai/agent-swarm 2.6.0 → 2.7.1

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 (324) hide show
  1. package/README.md +2 -0
  2. package/dist/{acp-adapter-dgfakfpw.js → acp-adapter-8dn5tq56.js} +6 -6
  3. package/dist/{actions-fbqma8aa.js → actions-3r6gw7dy.js} +18 -18
  4. package/dist/{amp-adapter-en0jy6hs.js → amp-adapter-wjtq413p.js} +3 -3
  5. package/dist/{anthropic-messages-txs190dd.js → anthropic-messages-n4cby1rz.js} +4 -4
  6. package/dist/{app-k8a5cgpp.js → app-d53yhykk.js} +3 -3
  7. package/dist/{assistant-a16433gr.js → assistant-ksrawj3k.js} +20 -20
  8. package/dist/{boot-reembed-6c1sjfnr.js → boot-reembed-fxfw17m2.js} +11 -3
  9. package/dist/{boot-reembed-f4nn561n.js → boot-reembed-k5y5xbj0.js} +15 -8
  10. package/dist/{boot-scrub-sweep-d4w9gajf.js → boot-scrub-sweep-se41j9fd.js} +3 -3
  11. package/dist/{boot-seeds-9bmkspyw.js → boot-seeds-r3kwwv8b.js} +4 -4
  12. package/dist/{claude-adapter-nys1kjxa.js → claude-adapter-ahmyf231.js} +8 -8
  13. package/dist/{claude-managed-adapter-55207973.js → claude-managed-adapter-5knamegc.js} +3 -3
  14. package/dist/{claude-managed-setup-3cm35gey.js → claude-managed-setup-mdc7dy6b.js} +3 -3
  15. package/dist/{claude-sdk-session-nw5yd8cp.js → claude-sdk-session-n5wen9zk.js} +8729 -8600
  16. package/dist/{cli-683y0b3a.js → cli-0dqtv2jg.js} +2 -2
  17. package/dist/{cli-a34pr3w1.js → cli-0tww7dnz.js} +2 -2
  18. package/dist/{cli-w2656ka1.js → cli-0w4e4v58.js} +7 -7
  19. package/dist/{cli-5sckpqcx.js → cli-2sjm3t4r.js} +1 -1
  20. package/dist/{cli-gf2850q7.js → cli-3cywb44q.js} +18 -1
  21. package/dist/{cli-8wkb09q5.js → cli-3k9jej0c.js} +2 -2
  22. package/dist/{cli-3aqd4jaa.js → cli-3v2cyqb8.js} +3 -3
  23. package/dist/{cli-emhjcj2y.js → cli-5qt9vzmq.js} +89 -20
  24. package/dist/{cli-abkm71vr.js → cli-5rp1w4cr.js} +1 -1
  25. package/dist/{cli-gf95q3bm.js → cli-6vwjsetx.js} +4 -4
  26. package/dist/{cli-k21gx5ht.js → cli-6w2yrrc0.js} +10 -10
  27. package/dist/{cli-m70bajzr.js → cli-75tdydgv.js} +1 -1
  28. package/dist/{cli-5rj83bam.js → cli-8feswf2v.js} +47 -36
  29. package/dist/{cli-sxgtf5fw.js → cli-8wd3mbyj.js} +1 -1
  30. package/dist/{cli-ca6banwz.js → cli-9csfthbw.js} +10 -8
  31. package/dist/{cli-dqygeeh5.js → cli-b41p764a.js} +31 -3
  32. package/dist/{cli-m5a9m0ak.js → cli-c1t533hh.js} +3 -3
  33. package/dist/{cli-2sjhpsns.js → cli-c28jxpcv.js} +1 -1
  34. package/dist/{cli-bqztfyve.js → cli-cb50g9cd.js} +1 -1
  35. package/dist/{cli-ag2yrnt5.js → cli-d8gaphtr.js} +2 -2
  36. package/dist/{cli-9abdgn5t.js → cli-dgtfysne.js} +3 -3
  37. package/dist/{cli-nq677csy.js → cli-dscnhn18.js} +1 -1
  38. package/dist/{cli-3fwqy71j.js → cli-dv11pgpv.js} +39 -32
  39. package/dist/{cli-v49fkghp.js → cli-ekptgk2m.js} +6 -6
  40. package/dist/{cli-c2habvsf.js → cli-f3mzy662.js} +17 -17
  41. package/dist/{cli-zqne1qcj.js → cli-fk7k8s9x.js} +2 -2
  42. package/dist/{cli-1tem6ns9.js → cli-gt4h8cxw.js} +3 -2
  43. package/dist/{cli-vbhgkw9h.js → cli-h3e7bhvn.js} +3 -3
  44. package/dist/{cli-ffvsj2qw.js → cli-hkxqdmnb.js} +3 -3
  45. package/dist/{cli-a2rr0fmg.js → cli-hpkvgdad.js} +7 -4
  46. package/dist/{cli-art7c1zh.js → cli-hq2v4rr5.js} +37 -9
  47. package/dist/{cli-sqma6vw1.js → cli-k1zb7raw.js} +5 -5
  48. package/dist/{cli-4rvr7zfx.js → cli-k4awgvzm.js} +5 -0
  49. package/dist/{cli-3ndmpxxv.js → cli-k7d3hvya.js} +2 -2
  50. package/dist/{cli-3gfvmzht.js → cli-kbtdftbw.js} +74 -26
  51. package/dist/{cli-hfeb68z4.js → cli-kj69b9tw.js} +34 -6
  52. package/dist/{cli-az25fn5f.js → cli-kk9jy4nm.js} +2 -2
  53. package/dist/{cli-39aet655.js → cli-m52t4cta.js} +1 -1
  54. package/dist/{cli-cz37jqss.js → cli-mdadewqp.js} +5 -5
  55. package/dist/{cli-esakngh8.js → cli-nf6k60sn.js} +1 -1
  56. package/dist/{cli-j6rktc91.js → cli-nzdf09js.js} +1 -1
  57. package/dist/{cli-rr7zx19j.js → cli-prcyzecg.js} +12 -12
  58. package/dist/{cli-4hxrf0p4.js → cli-pzafyqtk.js} +393 -62
  59. package/dist/{cli-g8ka5j4j.js → cli-qvaa1gjp.js} +173 -52
  60. package/dist/{cli-d2dpf95n.js → cli-rg4b2g6j.js} +1 -1
  61. package/dist/{cli-kf4jree9.js → cli-rm66vqdz.js} +1 -1
  62. package/dist/{cli-4rf0f5vg.js → cli-s504c3w7.js} +5 -3
  63. package/dist/{cli-nn6vx2mq.js → cli-swkx9jm2.js} +7 -5
  64. package/dist/{cli-g20jjwt4.js → cli-thsaq4pd.js} +16 -16
  65. package/dist/{cli-aj8djyqt.js → cli-twjnyvs8.js} +2 -2
  66. package/dist/{cli-03gg9pd1.js → cli-typdpe8g.js} +4 -4
  67. package/dist/{cli-mtnj4fwa.js → cli-vg8pwmsd.js} +6 -6
  68. package/dist/{cli-gnsb1zxa.js → cli-vhpckzvp.js} +1 -1
  69. package/dist/{cli-7enjwya9.js → cli-vz78s5wm.js} +1 -1
  70. package/dist/{cli-dv97kdzv.js → cli-wdxgsdz5.js} +2 -2
  71. package/dist/{cli-7a6p4e65.js → cli-wtjg6je3.js} +1 -1
  72. package/dist/{cli-6y51ryva.js → cli-x3cngb1h.js} +44 -12
  73. package/dist/{cli-n7asmce6.js → cli-xbz6mcg4.js} +3 -3
  74. package/dist/{cli-24j1jeeb.js → cli-y4tdxsqb.js} +3 -3
  75. package/dist/{cli-mvjz5an3.js → cli-yqrsp3ny.js} +7 -7
  76. package/dist/cli.js +31 -21
  77. package/dist/{codex-adapter-d95q4qsn.js → codex-adapter-7wepzq15.js} +6 -6
  78. package/dist/{codex-hook-brpnycn5.js → codex-hook-pbdh4xhx.js} +2 -2
  79. package/dist/{codex-session-runner-gdwd8h0c.js → codex-session-runner-02sb49e4.js} +6 -6
  80. package/dist/{commands-jqmgk54b.js → commands-3rcspxct.js} +2 -2
  81. package/dist/{controller-z3jq589f.js → controller-8ar4avd6.js} +3 -3
  82. package/dist/{controllers-connect-r2za39ef.js → controllers-connect-ajvh9h0v.js} +19 -19
  83. package/dist/{cursor-adapter-4mr4jgkw.js → cursor-adapter-gd0sa7bh.js} +1 -1
  84. package/dist/{db-w36wwb5g.js → db-dv9j7ts5.js} +2 -2
  85. package/dist/{db-ppv2tze7.js → db-z26vgdvj.js} +3 -3
  86. package/dist/{dispatcher-pv5h77vf.js → dispatcher-8m0htjq8.js} +17 -17
  87. package/dist/{dsh-adapter-d4pdpb3r.js → dsh-adapter-y8gyk130.js} +1 -1
  88. package/dist/{e2b-fn3zacvt.js → e2b-74vg9b7e.js} +1 -1
  89. package/dist/{e2b-222hsajc.js → e2b-jyay8wzn.js} +1 -1
  90. package/dist/{easter-egg-3d-4sp4dvmc.js → easter-egg-3d-28f880xx.js} +1 -1
  91. package/dist/{execute-jev839y1.js → execute-9seb79vh.js} +1 -1
  92. package/dist/{external-channel-y6nkzhnn.js → external-channel-smz7jyth.js} +2 -2
  93. package/dist/{getMachineId-bsd-brn0xym3.js → getMachineId-bsd-whfre6gr.js} +3 -3
  94. package/dist/{getMachineId-darwin-t339sfxm.js → getMachineId-darwin-5zjynb19.js} +3 -3
  95. package/dist/{getMachineId-linux-5eq95d8b.js → getMachineId-linux-8mksrrsq.js} +3 -3
  96. package/dist/{getMachineId-unsupported-qavrtc7j.js → getMachineId-unsupported-fxtqsdt2.js} +3 -3
  97. package/dist/{getMachineId-win-q7fe1wx7.js → getMachineId-win-nzfmz857.js} +3 -3
  98. package/dist/{grok-adapter-t08b9ntm.js → grok-adapter-z0nnvtbn.js} +7 -7
  99. package/dist/handlers-pspryh6g.js +41 -0
  100. package/dist/{heartbeat-vn31xwdk.js → heartbeat-f928aqyp.js} +20 -20
  101. package/dist/{hook-cpjs8q51.js → hook-d7c605r4.js} +7 -7
  102. package/dist/{hook-6d0zbvvt.js → hook-q9hv5xf9.js} +5 -5
  103. package/dist/{http-9c6medda.js → http-q6j4k989.js} +1000 -251
  104. package/dist/{index-k0yt1tvq.js → index-5nb266jr.js} +17 -17
  105. package/dist/{index-ysd45kgc.js → index-8fxt5eah.js} +10 -10
  106. package/dist/{index-zgvqzjsw.js → index-cekzwhez.js} +5 -5
  107. package/dist/{index-38t35h0n.js → index-ch0c1xff.js} +17 -17
  108. package/dist/{index-pkma1yf8.js → index-ebnjhxh1.js} +1 -1
  109. package/dist/{index-yqgbfgaj.js → index-ed8dy8rn.js} +20 -20
  110. package/dist/{index-qhjf2htm.js → index-ejqdkkqx.js} +262 -96
  111. package/dist/{index-dr94zbnh.js → index-farm1zsn.js} +32661 -29443
  112. package/dist/{index-g6k9tctj.js → index-yn1yxg85.js} +1 -1
  113. package/dist/{keepalive-em0117bp.js → keepalive-zzc3hks1.js} +3 -3
  114. package/dist/lead-c0pjcaw4.js +79 -0
  115. package/dist/{maintenance-kbme3qy9.js → maintenance-kqsxzpzx.js} +1 -1
  116. package/dist/{oauth-refresh-sweep-xysj4yse.js → oauth-refresh-sweep-7qt0g55z.js} +8 -3
  117. package/dist/{onboard-p6q0vz97.js → onboard-k7x13fqg.js} +121 -8
  118. package/dist/{opencode-adapter-esv3k9yn.js → opencode-adapter-tqvrtter.js} +5 -5
  119. package/dist/{otel-impl-54qhqh1z.js → otel-impl-sqkf6k3b.js} +97 -97
  120. package/dist/{pi-mono-adapter-mymbwhj0.js → pi-mono-adapter-m2qnafxm.js} +89 -14
  121. package/dist/{pricing-refresh-yb75wv33.js → pricing-refresh-wkpwhgvs.js} +3 -3
  122. package/dist/{rbac-roles-dexhc9x8.js → rbac-roles-dpn0c0wj.js} +7 -4
  123. package/dist/{rbac-roles-1vp2mw4p.js → rbac-roles-wk7xd6a6.js} +2 -2
  124. package/dist/{render-v2-tjay5hhf.js → render-v2-ex2m4g2k.js} +3 -3
  125. package/dist/{resume-8ayf37g5.js → resume-725g9b0b.js} +7 -7
  126. package/dist/{runtime-hqe5cqcd.js → runtime-kajas15g.js} +1 -1
  127. package/dist/{session-access-fdhp987s.js → session-access-0j2ezjje.js} +8 -4
  128. package/dist/{session-source-backfill-qgtc86z1.js → session-source-backfill-62202awe.js} +2 -2
  129. package/dist/{setup-4rrmqcq3.js → setup-9sj11ax6.js} +1 -1
  130. package/dist/{virtual-modules-52km00d6.js → virtual-modules-c6fcq6zr.js} +2 -2
  131. package/dist/{work-objects-p28fgd70.js → work-objects-0y07495y.js} +20 -20
  132. package/dist/worker-d4q9sqbc.js +79 -0
  133. package/openapi.json +1536 -407
  134. package/package.json +7 -5
  135. package/src/be/automation-preflight.ts +2 -0
  136. package/src/be/connector-codes.ts +65 -22
  137. package/src/be/db/api-keys.ts +9 -0
  138. package/src/be/db/workflow-runs.ts +36 -5
  139. package/src/be/db.ts +80 -22
  140. package/src/be/memory/boot-reembed.ts +4 -1
  141. package/src/be/memory/constants.ts +6 -0
  142. package/src/be/memory/embedding-recovery.ts +48 -0
  143. package/src/be/memory/index-content.ts +5 -2
  144. package/src/be/memory/providers/openai-embedding.ts +65 -14
  145. package/src/be/memory/task-learning.ts +257 -0
  146. package/src/be/memory/types.ts +13 -2
  147. package/src/be/migrations/245_script_executor.sql +3 -0
  148. package/src/be/migrations/246_connector_code_kind.sql +11 -0
  149. package/src/be/oauth-refresh-sweep.ts +2 -1
  150. package/src/be/onboarding.ts +125 -15
  151. package/src/be/rbac-roles.ts +4 -1
  152. package/src/be/scripts/boot-reembed.ts +2 -0
  153. package/src/be/scripts/db.ts +14 -4
  154. package/src/be/scripts/embeddings.ts +4 -2
  155. package/src/be/scripts/run-saved.ts +1 -0
  156. package/src/be/scripts/typecheck.ts +9 -3
  157. package/src/be/seed/agent-fs-provision.ts +75 -14
  158. package/src/be/seed-skills/index.ts +7 -0
  159. package/src/be/swarm-config-guard.ts +3 -0
  160. package/src/cli.tsx +9 -0
  161. package/src/comb/config.ts +6 -1
  162. package/src/commands/onboard/agent-fs-version.ts +5 -0
  163. package/src/commands/onboard/compose-generator.ts +117 -4
  164. package/src/commands/onboard/env-generator.ts +9 -0
  165. package/src/commands/onboard/tei-image.ts +12 -0
  166. package/src/commands/onboard/types.ts +7 -0
  167. package/src/commands/onboard.tsx +11 -1
  168. package/src/commands/provider-credentials.ts +2 -1
  169. package/src/commands/runner.ts +14 -1
  170. package/src/heartbeat/heartbeat.ts +14 -1
  171. package/src/heartbeat/script-runner-probe.ts +47 -0
  172. package/src/http/agentfs-proxy.ts +369 -0
  173. package/src/http/all-routes.ts +1 -0
  174. package/src/http/api-keys.ts +24 -9
  175. package/src/http/codex-oauth-device.ts +8 -1
  176. package/src/http/fs.ts +64 -10
  177. package/src/http/idempotency-key.ts +1 -1
  178. package/src/http/inbox-state.ts +27 -1
  179. package/src/http/index.ts +7 -4
  180. package/src/http/memory.ts +7 -4
  181. package/src/http/onboarding.ts +139 -11
  182. package/src/http/pages-public.ts +38 -5
  183. package/src/http/scripts.ts +27 -0
  184. package/src/http/session-access.ts +24 -0
  185. package/src/http/sessions.ts +10 -6
  186. package/src/http/tasks.ts +85 -11
  187. package/src/http/telemetry-ui.ts +1 -1
  188. package/src/http/user-roles.ts +4 -1
  189. package/src/http/users.ts +272 -3
  190. package/src/http/utils.ts +22 -3
  191. package/src/http/workflows.ts +10 -0
  192. package/src/http/x.ts +5 -0
  193. package/src/prompts/base-prompt.ts +45 -10
  194. package/src/prompts/session-templates.ts +43 -5
  195. package/src/providers/amp-adapter.ts +1 -1
  196. package/src/providers/codex-adapter.ts +6 -1
  197. package/src/providers/cursor-adapter.ts +1 -1
  198. package/src/providers/dsh-adapter.ts +1 -1
  199. package/src/providers/pi-mono-adapter.ts +99 -14
  200. package/src/rbac/legacy-policy.ts +1 -0
  201. package/src/rbac/permissions.ts +4 -0
  202. package/src/scheduler/scheduler.ts +2 -1
  203. package/src/scripts-runtime/eval-harness.ts +8 -1
  204. package/src/scripts-runtime/executors/native.ts +22 -16
  205. package/src/scripts-runtime/executors/quickjs-prelude.ts +103 -1
  206. package/src/scripts-runtime/executors/quickjs-runner.ts +2 -1
  207. package/src/scripts-runtime/executors/quickjs.ts +7 -0
  208. package/src/scripts-runtime/executors/registry.ts +32 -0
  209. package/src/scripts-runtime/executors/types.ts +7 -0
  210. package/src/scripts-runtime/host-validated-args.ts +133 -0
  211. package/src/scripts-runtime/loader.ts +30 -3
  212. package/src/scripts-runtime/swarm-sdk.ts +9 -2
  213. package/src/scripts-runtime/types/stdlib.d.ts +9 -1
  214. package/src/scripts-runtime/types/swarm-sdk.d.ts +9 -1
  215. package/src/tests/agent-fs-provision-seeder.test.ts +261 -92
  216. package/src/tests/agentfs-proxy.test.ts +1106 -0
  217. package/src/tests/api-key-status-by-suffix.test.ts +242 -0
  218. package/src/tests/base-prompt.test.ts +139 -4
  219. package/src/tests/codex-adapter.test.ts +46 -8
  220. package/src/tests/codex-oauth-device.test.ts +12 -1
  221. package/src/tests/comb-config-guard.test.ts +20 -0
  222. package/src/tests/comb-links.test.ts +79 -1
  223. package/src/tests/comb-status.test.ts +44 -0
  224. package/src/tests/community-linear-delivery-loop.test.ts +2099 -0
  225. package/src/tests/credential-check.test.ts +4 -2
  226. package/src/tests/docs-index-footprint.test.js +3 -3
  227. package/src/tests/docs-index.test.ts +135 -0
  228. package/src/tests/dsh-adapter.test.ts +1 -1
  229. package/src/tests/fetch-resolved-env.test.ts +16 -2
  230. package/src/tests/fixtures/onboard/baseline-states.ts +68 -0
  231. package/src/tests/fixtures/onboard/content.compose.yml.txt +190 -0
  232. package/src/tests/fixtures/onboard/content.env.txt +29 -0
  233. package/src/tests/fixtures/onboard/dev.compose.yml.txt +155 -0
  234. package/src/tests/fixtures/onboard/dev.env.txt +28 -0
  235. package/src/tests/fixtures/onboard/full-all.compose.yml.txt +582 -0
  236. package/src/tests/fixtures/onboard/full-all.env.txt +59 -0
  237. package/src/tests/fixtures/onboard/full.compose.yml.txt +435 -0
  238. package/src/tests/fixtures/onboard/full.env.txt +36 -0
  239. package/src/tests/fixtures/onboard/research.compose.yml.txt +155 -0
  240. package/src/tests/fixtures/onboard/research.env.txt +28 -0
  241. package/src/tests/fixtures/onboard/solo.compose.yml.txt +85 -0
  242. package/src/tests/fixtures/onboard/solo.env.txt +26 -0
  243. package/src/tests/heartbeat-checklist.test.ts +89 -0
  244. package/src/tests/heartbeat-script-runner-probe.test.ts +83 -0
  245. package/src/tests/http-log-scrubbing.test.ts +34 -1
  246. package/src/tests/http-task-write-ownership.test.ts +5 -1
  247. package/src/tests/invites-http.test.ts +464 -0
  248. package/src/tests/memory-embedding-input-cap.test.ts +122 -1
  249. package/src/tests/memory-embedding-recovery.test.ts +137 -0
  250. package/src/tests/oauth-refresh-sweep.test.ts +34 -1
  251. package/src/tests/onboard-compose.test.ts +162 -0
  252. package/src/tests/onboard-env.test.ts +24 -0
  253. package/src/tests/onboard-non-interactive.test.ts +29 -0
  254. package/src/tests/onboard-tei-image.test.ts +36 -0
  255. package/src/tests/onboarding.test.ts +451 -4
  256. package/src/tests/openai-embedding-provider.test.ts +105 -2
  257. package/src/tests/opencode-adapter.test.ts +2 -1
  258. package/src/tests/pages-frame-ancestors.test.ts +162 -0
  259. package/src/tests/pi-codemode.test.ts +2 -1
  260. package/src/tests/pi-mono-adapter.test.ts +54 -0
  261. package/src/tests/pi-mono-session-cost-on-abort.test.ts +270 -0
  262. package/src/tests/pi-native-mcp.test.ts +13 -1
  263. package/src/tests/pi-tool-exposure.test.ts +8 -8
  264. package/src/tests/preload-env.test.ts +4 -0
  265. package/src/tests/preload.ts +4 -0
  266. package/src/tests/probe-tool-schema-tokens.test.ts +144 -0
  267. package/src/tests/prompt-template-session.test.ts +20 -3
  268. package/src/tests/rbac-admission-e2e.test.ts +22 -6
  269. package/src/tests/rbac-admission.test.ts +342 -4
  270. package/src/tests/rbac-engine.test.ts +1 -0
  271. package/src/tests/rbac-roles.test.ts +9 -1
  272. package/src/tests/request-composition-derive.test.ts +329 -0
  273. package/src/tests/script-connections.test.ts +2 -0
  274. package/src/tests/script-executor-conformance.test.ts +36 -1
  275. package/src/tests/script-executor-quickjs-pool.test.ts +50 -0
  276. package/src/tests/script-executor-quickjs.test.ts +140 -0
  277. package/src/tests/script-host-validated-args-native.test.ts +196 -0
  278. package/src/tests/script-per-script-executor.test.ts +415 -0
  279. package/src/tests/scripts-external-api.test.ts +45 -0
  280. package/src/tests/sdk-allowlist.test.ts +3 -2
  281. package/src/tests/self-improvement.test.ts +4 -4
  282. package/src/tests/send-task-requester-gate.test.ts +64 -3
  283. package/src/tests/sessions-move.test.ts +39 -1
  284. package/src/tests/store-progress-learning.test.ts +381 -0
  285. package/src/tests/ui-logs-parser.test.ts +180 -0
  286. package/src/tests/whoami-route.test.ts +41 -0
  287. package/src/tests/workflow-engine-v2.test.ts +116 -1
  288. package/src/tests/workflow-mcp-trigger-schema.test.ts +209 -0
  289. package/src/tests/workflow-run-finished-event.test.ts +263 -0
  290. package/src/tests/workflow-swarm-script.test.ts +34 -0
  291. package/src/tools/inject-learning.ts +1 -1
  292. package/src/tools/memory-edit.ts +1 -1
  293. package/src/tools/memory-search.ts +1 -1
  294. package/src/tools/script-common.ts +1 -0
  295. package/src/tools/script-run.ts +7 -0
  296. package/src/tools/script-upsert.ts +7 -0
  297. package/src/tools/store-progress.ts +71 -1
  298. package/src/tools/utils.ts +12 -1
  299. package/src/tools/workflows/trigger-workflow.ts +104 -10
  300. package/src/types.ts +12 -1
  301. package/src/utils/constants.ts +39 -0
  302. package/src/utils/credentials.ts +5 -2
  303. package/src/utils/task-attachment-links.ts +15 -3
  304. package/src/workflows/engine.ts +18 -16
  305. package/src/workflows/executors/swarm-script.ts +5 -0
  306. package/src/workflows/foreach-driver.ts +5 -11
  307. package/src/workflows/node-timeout.ts +30 -0
  308. package/templates/community/linear-delivery-loop/PLAYBOOK.md +323 -0
  309. package/templates/community/linear-delivery-loop/README.md +38 -0
  310. package/templates/community/linear-delivery-loop/config.example.json +31 -0
  311. package/templates/community/linear-delivery-loop/lead-prompt.md +34 -0
  312. package/templates/community/linear-delivery-loop/schedule.json +10 -0
  313. package/templates/community/linear-delivery-loop/scripts/linear-delivery-setup.ts +148 -0
  314. package/templates/community/linear-delivery-loop/scripts/linear-delivery-tick.ts +1781 -0
  315. package/templates/skills/swarm-docs/config.json +14 -0
  316. package/templates/skills/swarm-docs/content.md +144 -0
  317. package/dist/handlers-eqsnmv95.js +0 -41
  318. package/dist/lead-23e7z59t.js +0 -79
  319. package/dist/worker-e3w7vye1.js +0 -79
  320. package/dist/{azure-openai-responses-9kfwhmn7.js → azure-openai-responses-43asa23s.js} +0 -0
  321. package/dist/{node-vxx896fa.js → node-t28cc56b.js} +0 -0
  322. package/dist/{openai-codex-responses-79s8xnbh.js → openai-codex-responses-jhr3sjtm.js} +3 -3
  323. package/dist/{openai-completions-tdbyts0x.js → openai-completions-gs6yn37k.js} +3 -3
  324. /package/dist/{openai-responses-dm3t5vqp.js → openai-responses-jqm9vwwk.js} +0 -0
package/README.md CHANGED
@@ -87,6 +87,8 @@ Cloud service. The self-hosted software remains covered by the [MIT License](./L
87
87
 
88
88
  Or self-host. [`docker-compose.example.yml`](https://github.com/desplega-ai/agent-swarm/blob/main/docker-compose.example.yml) is the reference deployment: deploy every agent in it by default (1 lead and 11 workers on the official templates), and remove agents only when you have a reason to.
89
89
 
90
+ Plan for at least 4 vCPU, 8 GB RAM and 40 GB of free disk, and prune old Docker images after upgrades. See [Host requirements & disk cleanup](https://docs.agent-swarm.dev/docs/guides/host-requirements).
91
+
90
92
  The one-shot installer checks Docker and Compose v2, installs Bun when missing, runs `agent-swarm onboard --yes`, and prints the dashboard `/setup` link. It defaults to the single-agent `solo` preset, so pass `--preset full` for every official template (it runs one coder where the example runs two):
91
93
 
92
94
  ```bash
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  ACPAdapter2
3
- } from "./cli-zqne1qcj.js";
4
- import"./cli-9abdgn5t.js";
5
- import"./cli-a34pr3w1.js";
3
+ } from "./cli-fk7k8s9x.js";
4
+ import"./cli-dgtfysne.js";
5
+ import"./cli-0tww7dnz.js";
6
6
  import"./cli-4bd1rck6.js";
7
7
  import"./cli-jc1g9ndz.js";
8
- import"./cli-ag2yrnt5.js";
8
+ import"./cli-d8gaphtr.js";
9
9
  import"./cli-0726awxw.js";
10
- import"./cli-nq677csy.js";
10
+ import"./cli-dscnhn18.js";
11
11
  import"./cli-yvy48785.js";
12
12
  import"./cli-c081bj3b.js";
13
13
  import"./cli-3h26v7yj.js";
14
14
  import"./cli-3ggwdtb0.js";
15
- import"./cli-v49fkghp.js";
15
+ import"./cli-ekptgk2m.js";
16
16
  import"./cli-0z1xjzwa.js";
17
17
  import"./cli-e8xyjvfc.js";
18
18
  import"./cli-13p25grh.js";
@@ -6,17 +6,17 @@ import {
6
6
  getTaskById2,
7
7
  cancelTask2,
8
8
  init_db3
9
- } from "./cli-g8ka5j4j.js";
10
- import"./cli-bqztfyve.js";
11
- import"./cli-5sckpqcx.js";
12
- import"./cli-aj8djyqt.js";
9
+ } from "./cli-qvaa1gjp.js";
10
+ import"./cli-cb50g9cd.js";
11
+ import"./cli-2sjm3t4r.js";
12
+ import"./cli-twjnyvs8.js";
13
13
  import {
14
14
  createTaskWithSiblingAwareness
15
- } from "./cli-4hxrf0p4.js";
15
+ } from "./cli-pzafyqtk.js";
16
16
  import"./cli-kt907da6.js";
17
- import"./cli-3fwqy71j.js";
18
- import"./cli-3gfvmzht.js";
19
- import"./cli-kf4jree9.js";
17
+ import"./cli-dv11pgpv.js";
18
+ import"./cli-kbtdftbw.js";
19
+ import"./cli-rm66vqdz.js";
20
20
  import"./cli-3ggwdtb0.js";
21
21
  import"./cli-e8xyjvfc.js";
22
22
  import {
@@ -28,31 +28,31 @@ import {
28
28
  getAgentEmoji,
29
29
  isSlackRenderV2Enabled2,
30
30
  ensureSlackThreadTree2
31
- } from "./cli-g20jjwt4.js";
31
+ } from "./cli-thsaq4pd.js";
32
32
  import {
33
33
  EXTERNAL_CHANNEL_BLOCKED_REPLY2,
34
34
  shouldBlockChannel2
35
- } from "./cli-gnsb1zxa.js";
36
- import"./cli-v49fkghp.js";
35
+ } from "./cli-vhpckzvp.js";
36
+ import"./cli-ekptgk2m.js";
37
37
  import"./cli-2nf3b08t.js";
38
38
  import"./cli-kvzgak7c.js";
39
39
  import"./cli-445c1vp7.js";
40
40
  import"./cli-0z1xjzwa.js";
41
- import"./cli-3aqd4jaa.js";
41
+ import"./cli-3v2cyqb8.js";
42
42
  import"./cli-qz93y3x5.js";
43
- import"./cli-a2rr0fmg.js";
44
- import"./cli-03gg9pd1.js";
43
+ import"./cli-hpkvgdad.js";
44
+ import"./cli-typdpe8g.js";
45
45
  import"./cli-g9ypd5en.js";
46
- import"./cli-gf95q3bm.js";
47
- import"./cli-art7c1zh.js";
46
+ import"./cli-6vwjsetx.js";
47
+ import"./cli-hq2v4rr5.js";
48
48
  import"./cli-3h26v7yj.js";
49
49
  import"./cli-737pyqxr.js";
50
50
  import {
51
51
  resolveSlackUserId
52
- } from "./cli-24j1jeeb.js";
52
+ } from "./cli-y4tdxsqb.js";
53
53
  import"./cli-13p25grh.js";
54
54
  import"./cli-0adyhvq2.js";
55
- import"./cli-esakngh8.js";
55
+ import"./cli-nf6k60sn.js";
56
56
  import"./cli-rycdaj0a.js";
57
57
 
58
58
  // src/slack/actions.ts
@@ -2,11 +2,11 @@ import {
2
2
  checkAmpCredentials2,
3
3
  liveTestAmpCredentials2,
4
4
  AmpAdapter2
5
- } from "./cli-m5a9m0ak.js";
5
+ } from "./cli-c1t533hh.js";
6
6
  import"./cli-jc1g9ndz.js";
7
- import"./cli-nq677csy.js";
7
+ import"./cli-dscnhn18.js";
8
8
  import"./cli-c081bj3b.js";
9
- import"./cli-bqztfyve.js";
9
+ import"./cli-cb50g9cd.js";
10
10
  import"./cli-3ggwdtb0.js";
11
11
  import"./cli-e8xyjvfc.js";
12
12
  export {
@@ -18,9 +18,6 @@ import {
18
18
  hasCopilotVisionInput,
19
19
  buildCopilotDynamicHeaders
20
20
  } from "./cli-3dxc7bz7.js";
21
- import {
22
- retryProviderRequest
23
- } from "./cli-w6pm0v4s.js";
24
21
  import {
25
22
  __classPrivateFieldSet2,
26
23
  __classPrivateFieldGet2,
@@ -67,6 +64,9 @@ import {
67
64
  checkMemorySyncInterval2,
68
65
  promiseWithResolvers2
69
66
  } from "./cli-ktam25t9.js";
67
+ import {
68
+ retryProviderRequest
69
+ } from "./cli-w6pm0v4s.js";
70
70
  import {
71
71
  require_dist3
72
72
  } from "./cli-k28wkapa.js";
@@ -3790,7 +3790,7 @@ var EnvironmentWorker = /* @__PURE__ */ (() => {
3790
3790
  const ctrl = new AbortController;
3791
3791
  const detachExternal = linkAbort(externalSignal, ctrl);
3792
3792
  const lease = new Lease(ctrl);
3793
- const agentToolset = await import("./node-vxx896fa.js");
3793
+ const agentToolset = await import("./node-t28cc56b.js");
3794
3794
  let leaseTtlMs;
3795
3795
  let runner;
3796
3796
  const heartbeatPromise = heartbeatLoop(sessionClient, work, lease, log, this.requestOptions, (ttlMs) => {
@@ -3,9 +3,9 @@ import {
3
3
  initSlackApp2,
4
4
  startSlackApp2,
5
5
  stopSlackApp2
6
- } from "./cli-g20jjwt4.js";
7
- import"./cli-gnsb1zxa.js";
8
- import"./cli-g8ka5j4j.js";
6
+ } from "./cli-thsaq4pd.js";
7
+ import"./cli-vhpckzvp.js";
8
+ import"./cli-qvaa1gjp.js";
9
9
  export {
10
10
  getSlackApp2 as getSlackApp,
11
11
  initSlackApp2 as initSlackApp,
@@ -6,7 +6,7 @@ import {
6
6
  getMostRecentTaskInThread2,
7
7
  reactionName,
8
8
  init_db3
9
- } from "./cli-g8ka5j4j.js";
9
+ } from "./cli-qvaa1gjp.js";
10
10
  import {
11
11
  require_dist4,
12
12
  noteSlackInboundSideEffect,
@@ -17,57 +17,57 @@ import {
17
17
  markSlackSessionProcessing,
18
18
  isSlackRenderV2Enabled2,
19
19
  ensureSlackThreadTree2
20
- } from "./cli-g20jjwt4.js";
20
+ } from "./cli-thsaq4pd.js";
21
21
  import {
22
22
  shouldBlockChannel2
23
- } from "./cli-gnsb1zxa.js";
23
+ } from "./cli-vhpckzvp.js";
24
24
  import {
25
25
  buildEffectiveText,
26
26
  fetchSlackFiles,
27
27
  createSlackTaskWithFiles,
28
28
  notifySlackFileFailures,
29
29
  hasOtherUserMention
30
- } from "./cli-4hxrf0p4.js";
30
+ } from "./cli-pzafyqtk.js";
31
31
  import {
32
32
  resolveSlackUserId,
33
33
  rewriteSlackMentions
34
- } from "./cli-24j1jeeb.js";
34
+ } from "./cli-y4tdxsqb.js";
35
35
  import {
36
36
  wasEventSeen,
37
37
  bufferThreadMessage,
38
38
  getBufferMessageCount
39
- } from "./cli-sqma6vw1.js";
39
+ } from "./cli-k1zb7raw.js";
40
40
  import"./cli-g9ypd5en.js";
41
- import"./cli-bqztfyve.js";
42
- import"./cli-5sckpqcx.js";
43
- import"./cli-aj8djyqt.js";
41
+ import"./cli-cb50g9cd.js";
42
+ import"./cli-2sjm3t4r.js";
43
+ import"./cli-twjnyvs8.js";
44
44
  import"./cli-kt907da6.js";
45
- import"./cli-3fwqy71j.js";
46
- import"./cli-3gfvmzht.js";
47
- import"./cli-kf4jree9.js";
45
+ import"./cli-dv11pgpv.js";
46
+ import"./cli-kbtdftbw.js";
47
+ import"./cli-rm66vqdz.js";
48
48
  import"./cli-3ggwdtb0.js";
49
49
  import"./cli-e8xyjvfc.js";
50
- import"./cli-v49fkghp.js";
50
+ import"./cli-ekptgk2m.js";
51
51
  import"./cli-2nf3b08t.js";
52
52
  import"./cli-kvzgak7c.js";
53
53
  import"./cli-445c1vp7.js";
54
54
  import"./cli-0z1xjzwa.js";
55
- import"./cli-3aqd4jaa.js";
55
+ import"./cli-3v2cyqb8.js";
56
56
  import"./cli-qz93y3x5.js";
57
- import"./cli-a2rr0fmg.js";
58
- import"./cli-03gg9pd1.js";
59
- import"./cli-gf95q3bm.js";
60
- import"./cli-art7c1zh.js";
57
+ import"./cli-hpkvgdad.js";
58
+ import"./cli-typdpe8g.js";
59
+ import"./cli-6vwjsetx.js";
60
+ import"./cli-hq2v4rr5.js";
61
61
  import"./cli-3h26v7yj.js";
62
62
  import"./cli-737pyqxr.js";
63
63
  import"./cli-13p25grh.js";
64
64
  import"./cli-0adyhvq2.js";
65
- import"./cli-esakngh8.js";
65
+ import"./cli-nf6k60sn.js";
66
66
  import"./cli-rycdaj0a.js";
67
67
  import {
68
68
  resolveTemplate,
69
69
  init_resolver
70
- } from "./cli-dqygeeh5.js";
70
+ } from "./cli-b41p764a.js";
71
71
  import {
72
72
  isEnvFlagEnabled,
73
73
  init_env_flag
@@ -4,17 +4,19 @@ import {
4
4
  embedScript,
5
5
  init_embeddings,
6
6
  init_db3
7
- } from "./cli-g8ka5j4j.js";
7
+ } from "./cli-qvaa1gjp.js";
8
+ import {
9
+ __esm
10
+ } from "./cli-242037k3.js";
8
11
 
9
12
  // src/be/scripts/boot-reembed.ts
10
- init_db3();
11
- init_embeddings();
12
13
  function toScriptRecord(row) {
13
14
  return {
14
15
  ...row,
15
16
  scopeId: row.scopeId ?? null,
16
17
  isScratch: row.isScratch === 1,
17
18
  typeChecked: row.typeChecked === 1,
19
+ executor: row.executor ?? null,
18
20
  createdByAgentId: row.createdByAgentId ?? null
19
21
  };
20
22
  }
@@ -56,6 +58,12 @@ async function runBootReembedScripts() {
56
58
  WHERE length(embedding) != ${expectedBytes}`))?.count ?? 0;
57
59
  console.log(`[boot-reembed-scripts] complete: embedded=${embedded} failed=${failed} remaining_wrong_dim=${afterWrongDim}`);
58
60
  }
61
+ var init_boot_reembed = __esm(() => {
62
+ init_db3();
63
+ init_embeddings();
64
+ });
65
+ init_boot_reembed();
66
+
59
67
  export {
60
68
  runBootReembedScripts
61
69
  };
@@ -6,15 +6,12 @@ import {
6
6
  getMemoryStore2,
7
7
  init_memory,
8
8
  init_db3
9
- } from "./cli-g8ka5j4j.js";
9
+ } from "./cli-qvaa1gjp.js";
10
+ import {
11
+ __esm
12
+ } from "./cli-242037k3.js";
10
13
 
11
14
  // src/be/memory/boot-reembed.ts
12
- init_db3();
13
- init_constants();
14
- init_memory();
15
- var VECTOR_BYTES = EMBEDDING_DIMENSIONS * Float32Array.BYTES_PER_ELEMENT;
16
- var BATCH_SIZE = 20;
17
- var INVALID_EMBEDDING_WHERE = `embedding IS NULL OR length(embedding) != ${VECTOR_BYTES}`;
18
15
  async function runBootReembed() {
19
16
  const invalidCount = (await getDbClient2().get(`SELECT COUNT(*) as count FROM agent_memory WHERE ${INVALID_EMBEDDING_WHERE}`))?.count ?? 0;
20
17
  if (invalidCount === 0) {
@@ -34,7 +31,7 @@ async function runBootReembed() {
34
31
  for (let i = 0;i < rows.length; i += BATCH_SIZE) {
35
32
  const batch = rows.slice(i, i + BATCH_SIZE);
36
33
  try {
37
- const embeddings = await provider.embedBatch(batch.map((m) => m.content));
34
+ const embeddings = await provider.embedBatch(batch.map((m) => m.content), { kind: "document" });
38
35
  for (let j = 0;j < embeddings.length; j++) {
39
36
  if (embeddings[j]) {
40
37
  await store.updateEmbedding(batch[j].id, embeddings[j], provider.name);
@@ -49,6 +46,16 @@ async function runBootReembed() {
49
46
  const afterInvalid = (await getDbClient2().get(`SELECT COUNT(*) as count FROM agent_memory WHERE ${INVALID_EMBEDDING_WHERE}`))?.count ?? 0;
50
47
  console.log(`[boot-reembed] complete: reembedded=${reembedded} failed=${failed} remaining_invalid=${afterInvalid}`);
51
48
  }
49
+ var VECTOR_BYTES, BATCH_SIZE = 20, INVALID_EMBEDDING_WHERE;
50
+ var init_boot_reembed = __esm(() => {
51
+ init_db3();
52
+ init_constants();
53
+ init_memory();
54
+ VECTOR_BYTES = EMBEDDING_DIMENSIONS * Float32Array.BYTES_PER_ELEMENT;
55
+ INVALID_EMBEDDING_WHERE = `embedding IS NULL OR length(embedding) != ${VECTOR_BYTES}`;
56
+ });
57
+ init_boot_reembed();
58
+
52
59
  export {
53
60
  runBootReembed
54
61
  };
@@ -7,11 +7,11 @@ import {
7
7
  getMemoryStore2,
8
8
  init_memory,
9
9
  init_db3
10
- } from "./cli-g8ka5j4j.js";
10
+ } from "./cli-qvaa1gjp.js";
11
11
  import {
12
12
  contentSha256,
13
13
  init_profile_sync
14
- } from "./cli-hfeb68z4.js";
14
+ } from "./cli-kj69b9tw.js";
15
15
  import {
16
16
  SCRUBBER_RULES_VERSION,
17
17
  scrubSecrets,
@@ -79,7 +79,7 @@ async function runBootScrubSweep(opts = {}) {
79
79
  console.log(`[${tag}] complete`);
80
80
  const memoryChanged = stats.find((s) => s.table === "agent_memory")?.changed ?? 0;
81
81
  if (memoryChanged > 0 && opts.reembed !== false) {
82
- const { runBootReembed } = await import("./boot-reembed-f4nn561n.js");
82
+ const { runBootReembed } = await import("./boot-reembed-k5y5xbj0.js");
83
83
  await runBootReembed();
84
84
  }
85
85
  return stats;
@@ -2,10 +2,10 @@ import {
2
2
  ensurePricingSeeded2,
3
3
  ensureRbacSeeded2,
4
4
  ensureModelProfilesSeeded2
5
- } from "./cli-03gg9pd1.js";
6
- import"./cli-5sckpqcx.js";
7
- import"./cli-a2rr0fmg.js";
8
- import"./cli-g8ka5j4j.js";
5
+ } from "./cli-typdpe8g.js";
6
+ import"./cli-2sjm3t4r.js";
7
+ import"./cli-hpkvgdad.js";
8
+ import"./cli-qvaa1gjp.js";
9
9
  export {
10
10
  ensureModelProfilesSeeded2 as ensureModelProfilesSeeded,
11
11
  ensurePricingSeeded2 as ensurePricingSeeded,
@@ -4,21 +4,21 @@ import {
4
4
  buildClaudeSessionEnvironment2,
5
5
  runClaudeSessionSummary2,
6
6
  ClaudeAdapter2
7
- } from "./cli-k21gx5ht.js";
8
- import"./cli-mtnj4fwa.js";
9
- import"./cli-2sjhpsns.js";
7
+ } from "./cli-6w2yrrc0.js";
8
+ import"./cli-vg8pwmsd.js";
9
+ import"./cli-c28jxpcv.js";
10
10
  import"./cli-d82btycs.js";
11
- import"./cli-vbhgkw9h.js";
11
+ import"./cli-h3e7bhvn.js";
12
12
  import"./cli-4bd1rck6.js";
13
13
  import"./cli-jc1g9ndz.js";
14
- import"./cli-ag2yrnt5.js";
14
+ import"./cli-d8gaphtr.js";
15
15
  import"./cli-0726awxw.js";
16
- import"./cli-nq677csy.js";
17
- import"./cli-7enjwya9.js";
16
+ import"./cli-dscnhn18.js";
17
+ import"./cli-vz78s5wm.js";
18
18
  import"./cli-c081bj3b.js";
19
19
  import"./cli-3h26v7yj.js";
20
20
  import"./cli-3ggwdtb0.js";
21
- import"./cli-v49fkghp.js";
21
+ import"./cli-ekptgk2m.js";
22
22
  import"./cli-0z1xjzwa.js";
23
23
  import"./cli-e8xyjvfc.js";
24
24
  import"./cli-13p25grh.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  checkClaudeManagedCredentials2,
3
3
  ClaudeManagedAdapter2
4
- } from "./cli-ffvsj2qw.js";
4
+ } from "./cli-hkxqdmnb.js";
5
5
  import"./cli-4zsenjhy.js";
6
6
  import"./cli-kr5tjjtz.js";
7
7
  import"./cli-0726awxw.js";
8
- import"./cli-nq677csy.js";
9
- import"./cli-rr7zx19j.js";
8
+ import"./cli-dscnhn18.js";
9
+ import"./cli-prcyzecg.js";
10
10
  export {
11
11
  ClaudeManagedAdapter2 as ClaudeManagedAdapter,
12
12
  checkClaudeManagedCredentials2 as checkClaudeManagedCredentials
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  toFile,
3
3
  Anthropic
4
- } from "./cli-rr7zx19j.js";
4
+ } from "./cli-prcyzecg.js";
5
5
  import"./cli-0z1xjzwa.js";
6
6
  import {
7
7
  buildSkillContent
@@ -12,11 +12,11 @@ import {
12
12
  import {
13
13
  DEFAULT_MODEL_TIER_MAP,
14
14
  init_types
15
- } from "./cli-4rf0f5vg.js";
15
+ } from "./cli-s504c3w7.js";
16
16
  import {
17
17
  selectCredential,
18
18
  init_credentials
19
- } from "./cli-1tem6ns9.js";
19
+ } from "./cli-gt4h8cxw.js";
20
20
  import {
21
21
  getApiKey,
22
22
  init_api_key