@desplega.ai/agent-swarm 1.173.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. package/README.md +1 -1
  2. package/dist/{acp-adapter-ccm9xrep.js → acp-adapter-kr4abrsk.js} +17 -16
  3. package/dist/{actions-sgeyv08k.js → actions-eh4g6w2r.js} +39 -34
  4. package/dist/{amp-adapter-gpxp3kc9.js → amp-adapter-7h7wdt8q.js} +8 -7
  5. package/dist/{app-km9qnv2f.js → app-7k8s9w5p.js} +18 -14
  6. package/dist/{assistant-5r8tcvvd.js → assistant-wswt2y7p.js} +40 -35
  7. package/dist/{boot-reembed-16rv9843.js → boot-reembed-9apm9qw6.js} +10 -9
  8. package/dist/{boot-reembed-swwzdgd7.js → boot-reembed-whzbdthj.js} +10 -9
  9. package/dist/{boot-scrub-sweep-zkr6vkqb.js → boot-scrub-sweep-ndzmvmgt.js} +11 -10
  10. package/dist/{boot-seeds-d8sp49t2.js → boot-seeds-e9sta0yt.js} +16 -13
  11. package/dist/{claude-adapter-yzzzh8jp.js → claude-adapter-4mqd3r6r.js} +19 -18
  12. package/dist/{claude-managed-adapter-xgxhqrt2.js → claude-managed-adapter-9wswb52m.js} +7 -5
  13. package/dist/{claude-managed-setup-bnmjarjc.js → claude-managed-setup-tpe1effx.js} +6 -4
  14. package/dist/{claude-sdk-session-4whxere4.js → claude-sdk-session-q49ghmh9.js} +12402 -11850
  15. package/dist/{cli-ne7smj1b.js → cli-01xvj1rq.js} +10 -10
  16. package/dist/{cli-nwrdx840.js → cli-035vekcw.js} +3 -3
  17. package/dist/{cli-9xf7fdtp.js → cli-0pd8hzhc.js} +29 -6
  18. package/dist/{cli-tmhsxhb8.js → cli-0veb92a3.js} +28 -6
  19. package/dist/{cli-c3rk1v0x.js → cli-10jesr25.js} +3 -3
  20. package/dist/{cli-6thk4jz3.js → cli-1y7yywmj.js} +6 -6
  21. package/dist/{cli-6r2f7edk.js → cli-20krdhz5.js} +47 -19
  22. package/dist/{cli-rfs4vddv.js → cli-29rja109.js} +39 -20
  23. package/dist/cli-2m1ktfzz.js +17795 -0
  24. package/dist/{cli-na2pxe4f.js → cli-2pwa0q4d.js} +15 -4
  25. package/dist/{cli-7a93cv8c.js → cli-4mengw46.js} +441 -43
  26. package/dist/{cli-94b48jhk.js → cli-5twdke5x.js} +16 -14
  27. package/dist/{cli-7a0sde2x.js → cli-6cagzc96.js} +9 -0
  28. package/dist/cli-6cvfxs8r.js +47 -0
  29. package/dist/{cli-w1apjecb.js → cli-711vwbxn.js} +2 -2
  30. package/dist/{cli-r4fqfpwf.js → cli-78vv7446.js} +50 -27
  31. package/dist/{cli-srqq3gc5.js → cli-7n6s5man.js} +5 -5
  32. package/dist/{cli-m89t9jdf.js → cli-7x0g4sn1.js} +15416 -16024
  33. package/dist/{cli-2bw3w47j.js → cli-8wwxw8a3.js} +1 -1
  34. package/dist/{cli-yatxqynm.js → cli-9ha6hs2d.js} +1 -290
  35. package/dist/{cli-ywm1azg9.js → cli-9jzdj90z.js} +8 -4
  36. package/dist/cli-9traj3dn.js +638 -0
  37. package/dist/{cli-smcrrmhy.js → cli-agzebbd5.js} +9 -9
  38. package/dist/{cli-c5km5znr.js → cli-c8r3kzzb.js} +1 -1
  39. package/dist/cli-cvv9k0hh.js +10143 -0
  40. package/dist/{cli-anzdk0z4.js → cli-d9286m9h.js} +2 -2
  41. package/dist/cli-e3g5mbkz.js +776 -0
  42. package/dist/cli-f527ce74.js +781 -0
  43. package/dist/{cli-gmdajfw5.js → cli-gxzkg1de.js} +5020 -1729
  44. package/dist/{cli-451ks6aw.js → cli-h1arqn31.js} +1 -1
  45. package/dist/cli-hjwmhcg1.js +10622 -0
  46. package/dist/{cli-jpc4r224.js → cli-hqr88ew6.js} +19 -3
  47. package/dist/{cli-h7k0xtry.js → cli-hvqbtna4.js} +4 -1256
  48. package/dist/{cli-cd0hv9nh.js → cli-j67mh2vg.js} +2 -2
  49. package/dist/cli-jta2eyzc.js +619 -0
  50. package/dist/{cli-wd0hz6ah.js → cli-kbrt8gqa.js} +9 -91
  51. package/dist/cli-kceah1eh.js +92 -0
  52. package/dist/{cli-d603qf86.js → cli-ksphgh48.js} +10 -8
  53. package/dist/{cli-3nxdmjrc.js → cli-mgz4nbgg.js} +4 -4
  54. package/dist/{cli-saqyage0.js → cli-mz5as5ha.js} +179 -27
  55. package/dist/cli-n2wq4j7m.js +6985 -0
  56. package/dist/{cli-ppy4nnnh.js → cli-n8ndw8j7.js} +2 -2
  57. package/dist/{cli-1w0vj3gw.js → cli-naqzr17j.js} +7 -7
  58. package/dist/{cli-0a7mm3zp.js → cli-nm1p8jfr.js} +25 -21
  59. package/dist/{cli-wrh08zjd.js → cli-p3zbc1rw.js} +5 -18
  60. package/dist/{cli-hsem16hb.js → cli-pe05f8yk.js} +29 -6
  61. package/dist/{cli-5wpw4rab.js → cli-qmzsbkvy.js} +5 -5
  62. package/dist/{cli-bv2etw2y.js → cli-qnm4e9e4.js} +99 -590
  63. package/dist/{cli-1x7da0de.js → cli-qqy4q48b.js} +8 -8
  64. package/dist/{cli-r44t9wqc.js → cli-r106725k.js} +2 -2
  65. package/dist/{cli-5er5gjbm.js → cli-r35rw5de.js} +15 -15
  66. package/dist/{cli-v3zhnxsb.js → cli-r610p9bs.js} +2 -2
  67. package/dist/{cli-7jykv7ef.js → cli-rc6pf5kv.js} +1 -1
  68. package/dist/{cli-x119kdba.js → cli-rdxm77k3.js} +1 -1
  69. package/dist/cli-rhs9pz33.js +294 -0
  70. package/dist/{cli-0p3enk35.js → cli-s69nfyeh.js} +9 -1
  71. package/dist/{cli-0kxf81jj.js → cli-sawv63e8.js} +2 -2
  72. package/dist/{cli-e3pmyt39.js → cli-sg19gbf0.js} +1 -1
  73. package/dist/{cli-d161g69q.js → cli-shk7r5cs.js} +57 -6
  74. package/dist/{cli-7pz3b7x5.js → cli-sksetb2q.js} +36 -1
  75. package/dist/{cli-014vns2y.js → cli-stfs0k5s.js} +208 -525
  76. package/dist/{cli-db3m6zdt.js → cli-t02z59f2.js} +1 -1
  77. package/dist/{cli-b07hr3bt.js → cli-txqb9s38.js} +2 -2
  78. package/dist/{cli-s8z6x4b4.js → cli-v7g551te.js} +225 -113
  79. package/dist/{cli-rfz2ve55.js → cli-vgqzp4em.js} +3341 -955
  80. package/dist/{cli-7avy4v8w.js → cli-w1q7h2r2.js} +5 -3
  81. package/dist/{cli-rcp5aqdw.js → cli-w7m81tb7.js} +1 -1
  82. package/dist/cli-wfnemr1t.js +86 -0
  83. package/dist/cli-wmgrkscj.js +23254 -0
  84. package/dist/{cli-qm1448f9.js → cli-wms6x9db.js} +8 -8
  85. package/dist/{cli-tadfgd0t.js → cli-x1r545x8.js} +33 -4
  86. package/dist/{cli-xc7p7s3g.js → cli-xczsgshn.js} +6 -6
  87. package/dist/{cli-fmhj1ehj.js → cli-y3167wt1.js} +882 -271
  88. package/dist/{cli-r0byd61h.js → cli-yjmqpxt3.js} +17 -16
  89. package/dist/{cli-81r1wjyv.js → cli-z780ec7c.js} +1 -1
  90. package/dist/{cli-phcqp1b9.js → cli-zm9t2vde.js} +2 -2
  91. package/dist/cli.js +34 -49
  92. package/dist/{codex-adapter-r3dn4fp5.js → codex-adapter-4z16v9n0.js} +15 -14
  93. package/dist/{codex-login-841kv5fk.js → codex-login-pkepy2j1.js} +3 -2
  94. package/dist/{codex-session-runner-fwt793h4.js → codex-session-runner-rvms9y2x.js} +15 -14
  95. package/dist/{commands-z8fq9qna.js → commands-2a9rtyat.js} +11 -10
  96. package/dist/{controller-hq5ggpcp.js → controller-3k3madbn.js} +5 -4
  97. package/dist/{controllers-connect-3mf2btyj.js → controllers-connect-v9yn8zb9.js} +42 -37
  98. package/dist/{cursor-adapter-q8pgv5qa.js → cursor-adapter-98gbhyzn.js} +7 -6
  99. package/dist/{db-qfpq4bt7.js → db-eywwsnjw.js} +30 -9
  100. package/dist/{db-yyhqqrbf.js → db-ncypk9np.js} +12 -11
  101. package/dist/{devin-adapter-xgtj680j.js → devin-adapter-zeq8b9gz.js} +3 -2
  102. package/dist/{dispatcher-x0x7qfcq.js → dispatcher-w94kc575.js} +38 -33
  103. package/dist/{docker-f503k9p0.js → docker-b1e4cqab.js} +3 -2
  104. package/dist/{dsh-adapter-34etvb5m.js → dsh-adapter-47ztej36.js} +7 -6
  105. package/dist/{e2b-66xra4az.js → e2b-bbt8ey45.js} +4 -3
  106. package/dist/{e2b-xwhyj8cw.js → e2b-dp804sen.js} +4 -3
  107. package/dist/{event-bus-vjtv82gm.js → event-bus-j2jdg3qb.js} +3 -2
  108. package/dist/{external-channel-h1fjecwe.js → external-channel-zrkg8ar9.js} +11 -10
  109. package/dist/{google-generative-ai-szdxbpqg.js → google-generative-ai-g8db7x0f.js} +4 -2
  110. package/dist/{google-vertex-qzw3p36d.js → google-vertex-r2692q0r.js} +4 -2
  111. package/dist/{grok-adapter-e7mr287e.js → grok-adapter-s9ncp9vy.js} +18 -17
  112. package/dist/{handlers-znb9n7d4.js → handlers-kqftvjgw.js} +41 -36
  113. package/dist/{heartbeat-bm4qkn8d.js → heartbeat-9q96p8v9.js} +43 -38
  114. package/dist/{hook-254r4mza.js → hook-56qe10dp.js} +11 -23
  115. package/dist/{hook-xaa3q80s.js → hook-yy6rw42k.js} +12 -11
  116. package/dist/{http-3dgrgp8y.js → http-r2dnb8f8.js} +2411 -275
  117. package/dist/{index-fx3jqq1e.js → index-3gtmkhc6.js} +38 -33
  118. package/dist/{index-bdsqa799.js → index-3k5hkz7r.js} +43 -38
  119. package/dist/index-52j1aja4.js +3465 -0
  120. package/dist/{index-g2byveez.js → index-5e101240.js} +38 -33
  121. package/dist/{index-2ybk7khy.js → index-5wyfjc2c.js} +845 -683
  122. package/dist/index-9gw58n4k.js +193 -0
  123. package/dist/index-9j87mcm8.js +56305 -0
  124. package/dist/index-bsmcresk.js +79424 -0
  125. package/dist/index-mh85qhec.js +475 -0
  126. package/dist/{index-jd7sejm2.js → index-vxvhxxbn.js} +10 -9
  127. package/dist/index-we27kd31.js +12810 -0
  128. package/dist/{keepalive-6ywhpja1.js → keepalive-psj6j54c.js} +12 -11
  129. package/dist/{lead-cw45n21s.js → lead-hajz4688.js} +61 -56
  130. package/dist/{maintenance-ss1a1ge9.js → maintenance-ps02sb5m.js} +10 -9
  131. package/dist/{node-fkajaq96.js → node-mwb5r697.js} +2 -1
  132. package/dist/{oauth-refresh-sweep-3c6f8vyy.js → oauth-refresh-sweep-0284h93b.js} +11 -10
  133. package/dist/{onboard-8hzdhc1k.js → onboard-rbf6bg01.js} +11 -3
  134. package/dist/{opencode-adapter-qbchbcfz.js → opencode-adapter-13dcatgq.js} +18 -13
  135. package/dist/{otel-impl-e6mnvc4v.js → otel-impl-zvqcbhp7.js} +242 -868
  136. package/dist/{pi-mono-adapter-3c9g9snh.js → pi-mono-adapter-xxy47q4v.js} +244 -106
  137. package/dist/{pricing-refresh-gedkjdw0.js → pricing-refresh-kefx9v3t.js} +12 -11
  138. package/dist/{rbac-roles-dt4vh1yy.js → rbac-roles-3m36rxm2.js} +11 -10
  139. package/dist/{rbac-roles-eszdg6pm.js → rbac-roles-z76xv0hq.js} +12 -11
  140. package/dist/{render-v2-907cy6sa.js → render-v2-wz73bs25.js} +18 -14
  141. package/dist/{resume-42stcaz0.js → resume-k4wzge8w.js} +25 -21
  142. package/dist/{runtime-qfry88v2.js → runtime-sa2vr16g.js} +2 -2
  143. package/dist/{setup-adbc1c10.js → setup-2fp2pypp.js} +2 -2
  144. package/dist/{virtual-modules-rtmt494q.js → virtual-modules-9gkxqrap.js} +6 -5
  145. package/dist/{work-objects-wpj8ck95.js → work-objects-6k0ywz3m.js} +41 -36
  146. package/dist/{worker-bzdra9rf.js → worker-5v3rxsdh.js} +61 -56
  147. package/dist/{x-qfmygqqv.js → x-4mtdeym1.js} +3 -2
  148. package/openapi.json +1279 -329
  149. package/package.json +15 -15
  150. package/src/agentmail/handlers.ts +21 -11
  151. package/src/apps/definition.ts +16 -0
  152. package/src/azure-devops/api.ts +52 -2
  153. package/src/azure-devops/boards-sync.ts +50 -20
  154. package/src/azure-devops/index.ts +1 -0
  155. package/src/azure-devops/outbound.ts +95 -0
  156. package/src/be/boot-seeds.ts +11 -0
  157. package/src/be/config-refs.ts +60 -0
  158. package/src/be/db/model-profiles.ts +315 -0
  159. package/src/be/db/page-versions.ts +15 -0
  160. package/src/be/db/runtime.ts +35 -8
  161. package/src/be/db/skill-name-resolution.ts +36 -0
  162. package/src/be/db/tasks/read.ts +237 -0
  163. package/src/be/db/tasks/write.ts +7 -0
  164. package/src/be/db.ts +87 -36
  165. package/src/be/migrations/215_swarm_config_export_to_env.sql +34 -0
  166. package/src/be/migrations/216_task_resolved_effort.sql +5 -0
  167. package/src/be/migrations/217_chat_sdk_state.sql +104 -0
  168. package/src/be/migrations/219_relabel_pi_context_compactions.sql +22 -0
  169. package/src/be/migrations/220_model_profiles.sql +137 -0
  170. package/src/be/model-catalog-store.ts +5 -1
  171. package/src/be/model-tier-resolution.ts +155 -10
  172. package/src/be/model-validation.ts +12 -2
  173. package/src/be/models-catalog.ts +26 -1
  174. package/src/be/modelsdev-cache.json +198 -63
  175. package/src/be/modelsdev-cache.ts +9 -1
  176. package/src/be/script-credential-broker.ts +39 -2
  177. package/src/be/scripts/run-saved.ts +1 -0
  178. package/src/be/scripts/typecheck.ts +22 -8
  179. package/src/be/secret-registry.ts +6 -2
  180. package/src/be/seed/runner.ts +13 -1
  181. package/src/be/seed/state-db.ts +5 -0
  182. package/src/be/seed/types.ts +6 -0
  183. package/src/be/seed-model-profiles.ts +41 -0
  184. package/src/be/seed-pricing.ts +19 -2
  185. package/src/be/seed-scripts/catalog/heartbeat-jev-gate.ts +368 -0
  186. package/src/be/seed-scripts/catalog/ops-catalog-audit.inline.ts +1 -1
  187. package/src/be/seed-scripts/catalog/ops-catalog-audit.ts +1 -1
  188. package/src/be/seed-scripts/index.ts +9 -0
  189. package/src/be/seed-skills/bundled-files.generated.json +0 -18
  190. package/src/be/seed-skills/index.ts +104 -3
  191. package/src/be/swarm-config-guard.ts +53 -0
  192. package/src/cli.tsx +0 -16
  193. package/src/commands/onboard/non-interactive.ts +4 -2
  194. package/src/commands/provider-credentials.ts +52 -6
  195. package/src/commands/runner.ts +193 -71
  196. package/src/e2b/env.ts +5 -0
  197. package/src/extensions/catalog.generated.json +17 -0
  198. package/src/extensions/contract-types.generated.ts +1 -1
  199. package/src/extensions/contract.ts +45 -0
  200. package/src/extensions/dispatcher.ts +7 -0
  201. package/src/extensions/loader.ts +10 -5
  202. package/src/extensions/post-bridge.ts +40 -0
  203. package/src/github/handlers.ts +11 -4
  204. package/src/heartbeat/heartbeat.ts +2 -1
  205. package/src/heartbeat/templates.ts +8 -5
  206. package/src/hooks/hook.ts +0 -26
  207. package/src/http/agents.ts +49 -2
  208. package/src/http/all-routes.ts +1 -1
  209. package/src/http/apps.ts +30 -3
  210. package/src/http/config.ts +62 -19
  211. package/src/http/core.ts +8 -0
  212. package/src/http/index.ts +25 -3
  213. package/src/http/integrations.ts +88 -1
  214. package/src/http/mcp.ts +15 -5
  215. package/src/http/model-profiles.ts +303 -0
  216. package/src/http/page-proxy.ts +2 -4
  217. package/src/http/pages-public.ts +13 -7
  218. package/src/http/pages.ts +3 -13
  219. package/src/http/poll.ts +42 -71
  220. package/src/http/requested-by.ts +54 -0
  221. package/src/http/script-runs.ts +1 -1
  222. package/src/http/scripts.ts +26 -2
  223. package/src/http/stats.ts +1 -30
  224. package/src/http/tasks.ts +79 -5
  225. package/src/http/utils.ts +14 -0
  226. package/src/http/webhooks.ts +160 -3
  227. package/src/http/x.ts +1 -0
  228. package/src/integrations/chat-sdk/adapters.ts +129 -0
  229. package/src/integrations/chat-sdk/attachments.ts +232 -0
  230. package/src/integrations/chat-sdk/background.ts +36 -0
  231. package/src/integrations/chat-sdk/commands.ts +194 -0
  232. package/src/integrations/chat-sdk/config.ts +198 -0
  233. package/src/integrations/chat-sdk/discord-api.ts +63 -0
  234. package/src/integrations/chat-sdk/discord-gateway.ts +185 -0
  235. package/src/integrations/chat-sdk/handlers.ts +28 -0
  236. package/src/integrations/chat-sdk/inbound.ts +426 -0
  237. package/src/integrations/chat-sdk/limits.ts +48 -0
  238. package/src/integrations/chat-sdk/logger.ts +81 -0
  239. package/src/integrations/chat-sdk/outbound.ts +123 -0
  240. package/src/integrations/chat-sdk/relay.ts +172 -0
  241. package/src/integrations/chat-sdk/router.ts +169 -0
  242. package/src/integrations/chat-sdk/runtime.ts +351 -0
  243. package/src/integrations/chat-sdk/schema.ts +245 -0
  244. package/src/integrations/chat-sdk/state.ts +243 -0
  245. package/src/integrations/chat-sdk/status.ts +244 -0
  246. package/src/integrations/chat-sdk/steering.ts +58 -0
  247. package/src/integrations/chat-sdk/teams-origin.ts +77 -0
  248. package/src/integrations/chat-sdk/telegram-api.ts +56 -0
  249. package/src/integrations/chat-sdk/templates.ts +16 -0
  250. package/src/integrations/chat-sdk/test-hooks.ts +37 -0
  251. package/src/integrations/chat-sdk/thread-buffer.ts +100 -0
  252. package/src/integrations/chat-sdk/typing.ts +65 -0
  253. package/src/{artifact-sdk → pages}/feedback-overlay.ts +65 -6
  254. package/src/pages/version.ts +4 -5
  255. package/src/prompts/base-prompt.ts +111 -45
  256. package/src/providers/acp-target-catalog.ts +6 -0
  257. package/src/providers/acp-targets.ts +56 -3
  258. package/src/providers/amp-adapter.ts +1 -1
  259. package/src/providers/claude-adapter.ts +1 -1
  260. package/src/providers/claude-flag-settings.ts +17 -5
  261. package/src/providers/claude-managed-adapter.ts +1 -1
  262. package/src/providers/claude-session-events.ts +6 -1
  263. package/src/providers/dsh-adapter.ts +1 -1
  264. package/src/providers/opencode-adapter.ts +243 -26
  265. package/src/providers/opencode-swarm-plugin.ts +31 -0
  266. package/src/providers/pi-mono-adapter.ts +398 -153
  267. package/src/providers/pi-mono-extension.ts +17 -3
  268. package/src/providers/pricing-sources.md +33 -2
  269. package/src/providers/reasoning-effort.ts +37 -0
  270. package/src/providers/types.ts +6 -2
  271. package/src/rbac/legacy-policy.ts +16 -2
  272. package/src/rbac/permissions.ts +26 -0
  273. package/src/scheduler/deferred-task-waits.ts +18 -5
  274. package/src/scheduler/scheduler.ts +11 -3
  275. package/src/scripts-runtime/executors/quickjs-prelude.ts +75 -6
  276. package/src/scripts-runtime/executors/quickjs-runner.ts +85 -8
  277. package/src/scripts-runtime/executors/quickjs-web-shims.ts +1041 -0
  278. package/src/scripts-runtime/extract-args-schema.ts +9 -8
  279. package/src/scripts-runtime/loader.ts +19 -7
  280. package/src/scripts-runtime/quickjs-compat.ts +464 -0
  281. package/src/scripts-runtime/sdk-allowlist.ts +12 -6
  282. package/src/scripts-runtime/swarm-sdk.ts +0 -11
  283. package/src/scripts-runtime/types/stdlib.d.ts +39 -15
  284. package/src/scripts-runtime/types/swarm-extension.d.ts +66 -1
  285. package/src/scripts-runtime/types/swarm-sdk.d.ts +39 -15
  286. package/src/server.ts +62 -19
  287. package/src/slack/blocks.ts +4 -2
  288. package/src/slack/event-dedup.ts +1 -1
  289. package/src/slack/reaction-shortcode.ts +14 -0
  290. package/src/slack/render-v2.ts +12 -7
  291. package/src/slack/responses.ts +5 -4
  292. package/src/slack/thread-buffer.ts +41 -22
  293. package/src/tasks/additive-buffer.ts +4 -2
  294. package/src/tasks/context-key.ts +60 -1
  295. package/src/tasks/model-pin.ts +67 -0
  296. package/src/tasks/worker-follow-up.ts +15 -33
  297. package/src/tests/acp-adapter.test.ts +42 -0
  298. package/src/tests/agentmail-filters.test.ts +47 -0
  299. package/src/tests/api-drain-worker-e2e.test.ts +1 -6
  300. package/src/tests/apps-spike2.test.ts +35 -0
  301. package/src/tests/azure-devops-outbound.test.ts +420 -0
  302. package/src/tests/base-prompt.test.ts +58 -54
  303. package/src/tests/chat-sdk-commands.test.ts +191 -0
  304. package/src/tests/chat-sdk-config.test.ts +334 -0
  305. package/src/tests/chat-sdk-discord-api.test.ts +68 -0
  306. package/src/tests/chat-sdk-discord-gateway.test.ts +252 -0
  307. package/src/tests/chat-sdk-discord-webhook.test.ts +126 -0
  308. package/src/tests/chat-sdk-fields-sync.test.ts +50 -0
  309. package/src/tests/chat-sdk-harness.ts +146 -0
  310. package/src/tests/chat-sdk-inbound.test.ts +363 -0
  311. package/src/tests/chat-sdk-relay.test.ts +470 -0
  312. package/src/tests/chat-sdk-reload.test.ts +128 -0
  313. package/src/tests/chat-sdk-shutdown.test.ts +220 -0
  314. package/src/tests/chat-sdk-slack.test.ts +268 -0
  315. package/src/tests/chat-sdk-state.test.ts +163 -0
  316. package/src/tests/chat-sdk-status-route.test.ts +382 -0
  317. package/src/tests/chat-sdk-teams.test.ts +277 -0
  318. package/src/tests/chat-sdk-tools.test.ts +520 -0
  319. package/src/tests/chat-sdk-typing.test.ts +120 -0
  320. package/src/tests/chat-sdk-webhook-telegram.test.ts +200 -0
  321. package/src/tests/claude-adapter-binary.test.ts +9 -4
  322. package/src/tests/claude-flag-settings.test.ts +11 -3
  323. package/src/tests/claude-managed-adapter.test.ts +1 -1
  324. package/src/tests/claude-sdk-lifecycle.test.ts +9 -3
  325. package/src/tests/claude-thinking-tokens.test.ts +57 -0
  326. package/src/tests/claude-worker-parity.test.ts +2 -7
  327. package/src/tests/config-env-export-chat-sdk.test.ts +11 -0
  328. package/src/tests/config-refs.test.ts +66 -0
  329. package/src/tests/context-key.test.ts +19 -0
  330. package/src/tests/cors-allowlist.test.ts +25 -0
  331. package/src/tests/create-page-tool.test.ts +18 -0
  332. package/src/tests/credential-check.test.ts +139 -0
  333. package/src/tests/credentials.test.ts +21 -0
  334. package/src/tests/db-runtime.test.ts +61 -0
  335. package/src/tests/db-task-read-contract.test.ts +22 -0
  336. package/src/tests/db-task-write-contract.test.ts +11 -0
  337. package/src/tests/deferred-task-wake.test.ts +78 -1
  338. package/src/tests/docs-index-footprint.test.js +3 -3
  339. package/src/tests/dsh-adapter.test.ts +1 -1
  340. package/src/tests/enabled-capabilities.test.ts +20 -0
  341. package/src/tests/entrypoint-api-readiness.test.ts +14 -8
  342. package/src/tests/entrypoint-config-env-export.test.ts +5 -2
  343. package/src/tests/entrypoint-export-to-env.test.ts +78 -0
  344. package/src/tests/env-flag.test.ts +1 -0
  345. package/src/tests/explicit-model-validation.test.ts +105 -1
  346. package/src/tests/extensions-catalog.test.ts +1 -0
  347. package/src/tests/extensions-example-comms-adherence-gate.test.ts +413 -0
  348. package/src/tests/extensions-example-route-chat-channel.test.ts +154 -0
  349. package/src/tests/extensions-loader.test.ts +15 -0
  350. package/src/tests/extensions-post-bridge.test.ts +51 -0
  351. package/src/tests/fetch-resolved-env.test.ts +128 -0
  352. package/src/tests/fixtures/chat-sdk/telegram-private-text.json +10 -0
  353. package/src/tests/fixtures/extensions/route-chat-channel-to-agent/hooks.ts +27 -0
  354. package/src/tests/fixtures/extensions/route-chat-channel-to-agent/manifest.json +9 -0
  355. package/src/tests/fixtures/openai-compatible-registry-extension.child.ts +146 -0
  356. package/src/tests/fixtures/runner-legacy-resume-prompt.ts +122 -0
  357. package/src/tests/github-handlers.test.ts +35 -0
  358. package/src/tests/harness-provider-resolution.test.ts +12 -0
  359. package/src/tests/heartbeat-checklist.test.ts +3 -2
  360. package/src/tests/heartbeat-jev-gate-credentials.test.ts +168 -0
  361. package/src/tests/heartbeat-jev-gate.test.ts +385 -0
  362. package/src/tests/hook-runtime-close.test.ts +0 -2
  363. package/src/tests/http-api-integration.test.ts +0 -25
  364. package/src/tests/migration-046-budgets.test.ts +17 -16
  365. package/src/tests/migration-217-chat-sdk-state.test.ts +113 -0
  366. package/src/tests/model-profile-backcompat.test.ts +327 -0
  367. package/src/tests/model-profile-providers.test.ts +302 -0
  368. package/src/tests/model-profile-runtime-secrets.test.ts +223 -0
  369. package/src/tests/model-profiles-api.test.ts +614 -0
  370. package/src/tests/model-tier-resolution.test.ts +93 -0
  371. package/src/tests/models-catalog.test.ts +42 -1
  372. package/src/tests/openai-compatible-providers.test.ts +134 -0
  373. package/src/tests/openai-compatible-registry-extension.test.ts +42 -0
  374. package/src/tests/opencode-adapter.test.ts +216 -2
  375. package/src/tests/opencode-helmcode-sdk.test.ts +201 -0
  376. package/src/tests/opencode-shell-env.test.ts +145 -0
  377. package/src/tests/openrouter-base-url.test.ts +101 -151
  378. package/src/tests/page-proxy.test.ts +1 -1
  379. package/src/tests/pages-browser-sdk.test.ts +76 -0
  380. package/src/tests/pages-feedback-keys.test.ts +121 -0
  381. package/src/tests/pages-feedback.test.ts +4 -1
  382. package/src/tests/paused-tasks-requested-by.test.ts +102 -0
  383. package/src/tests/pi-context-compaction.test.ts +193 -0
  384. package/src/tests/pi-custom-provider-fake-server.test.ts +442 -0
  385. package/src/tests/pi-mono-adapter.test.ts +385 -5
  386. package/src/tests/pi-shell-env.test.ts +170 -0
  387. package/src/tests/profile-claim.test.ts +269 -0
  388. package/src/tests/prompt-template-remaining.test.ts +35 -0
  389. package/src/tests/quickjs-compat.test.ts +213 -0
  390. package/src/tests/rbac-engine.test.ts +32 -3
  391. package/src/tests/runner-exit-after-tasks.test.ts +0 -4
  392. package/src/tests/runner-legacy-resume-prompt.test.ts +64 -0
  393. package/src/tests/script-connections.test.ts +6 -0
  394. package/src/tests/script-executor-conformance.test.ts +252 -1
  395. package/src/tests/script-executor-quickjs.test.ts +96 -0
  396. package/src/tests/script-runs-http.test.ts +89 -0
  397. package/src/tests/scripts-http.test.ts +217 -1
  398. package/src/tests/scripts-only-gating.test.ts +2 -3
  399. package/src/tests/scripts-runtime.test.ts +58 -40
  400. package/src/tests/secret-scrubber.test.ts +96 -0
  401. package/src/tests/seed-model-profiles.test.ts +174 -0
  402. package/src/tests/seed-scripts.test.ts +2 -2
  403. package/src/tests/seed-skills-bundled-files.test.ts +45 -53
  404. package/src/tests/seed-skills-retire.test.ts +182 -0
  405. package/src/tests/send-task-requester-gate.test.ts +58 -0
  406. package/src/tests/session-cost-recompute-unit.test.ts +46 -0
  407. package/src/tests/skill-get-name-resolution.test.ts +137 -0
  408. package/src/tests/skill-invocations.test.ts +4 -2
  409. package/src/tests/slack-blocks.test.ts +36 -0
  410. package/src/tests/slack-inline-output.test.ts +14 -0
  411. package/src/tests/slack-reaction-config.test.ts +20 -0
  412. package/src/tests/slack-render-v2.test.ts +37 -0
  413. package/src/tests/slack-thread-buffer.test.ts +98 -1
  414. package/src/tests/sonnet-5-5-registry.test.ts +9 -1
  415. package/src/tests/swarm-config-export-to-env.test.ts +267 -0
  416. package/src/tests/swarm-config-reserved-keys.test.ts +16 -0
  417. package/src/tests/swarm-diff.test.ts +1 -1
  418. package/src/tests/task-model-effort-rerun.test.ts +164 -0
  419. package/src/tests/task-session-prompts.test.ts +132 -0
  420. package/src/tests/task-tool-manifest.test.ts +14 -0
  421. package/src/tests/task-tools-ctx.test.ts +2 -0
  422. package/src/tests/tool-annotations.test.ts +6 -6
  423. package/src/tests/ui-logs-parser.test.ts +43 -0
  424. package/src/tests/used-by-route.test.ts +6 -0
  425. package/src/tests/vercel-ai-gateway.test.ts +149 -0
  426. package/src/tests/workflow-llm.test.ts +61 -0
  427. package/src/tests/workflow-swarm-script.test.ts +38 -0
  428. package/src/tests/workflow-wait-filter.test.ts +5 -3
  429. package/src/tools/chat-access.ts +41 -0
  430. package/src/tools/chat-open-dm.ts +59 -0
  431. package/src/tools/chat-post.ts +74 -0
  432. package/src/tools/chat-read-thread.ts +100 -0
  433. package/src/tools/chat-reply.ts +75 -0
  434. package/src/tools/create-page.ts +3 -13
  435. package/src/tools/model-catalog/index.ts +2 -1
  436. package/src/tools/model-profiles/list-model-profiles.ts +54 -0
  437. package/src/tools/register-chat-channel.ts +139 -0
  438. package/src/tools/request-human-input.ts +11 -3
  439. package/src/tools/script-apis.ts +5 -1
  440. package/src/tools/script-upsert.ts +4 -1
  441. package/src/tools/send-task.ts +48 -1
  442. package/src/tools/skills/skill-get.ts +17 -9
  443. package/src/tools/swarm-config/get-config.ts +2 -1
  444. package/src/tools/swarm-config/list-config.ts +2 -1
  445. package/src/tools/swarm-config/set-config.ts +16 -3
  446. package/src/tools/system-one-decide.ts +104 -0
  447. package/src/tools/task-action.ts +22 -1
  448. package/src/tools/tool-config.ts +14 -6
  449. package/src/types.ts +48 -3
  450. package/src/utils/config-env-export.ts +74 -0
  451. package/src/utils/credentials.test.ts +92 -0
  452. package/src/utils/credentials.ts +52 -4
  453. package/src/utils/harness-provider.ts +15 -6
  454. package/src/utils/runtime-model-catalog.ts +11 -1
  455. package/src/utils/secret-scrubber.ts +86 -10
  456. package/src/utils/task-tool-manifest.ts +19 -2
  457. package/src/utils/vcs-repo-match.ts +29 -0
  458. package/src/workflows/executors/raw-llm.ts +8 -3
  459. package/src/workflows/executors/swarm-script.ts +1 -0
  460. package/src/workflows/executors/system-one-decision.ts +21 -11
  461. package/src/workflows/executors/workflow-llm.ts +22 -0
  462. package/src/workflows/index.ts +21 -12
  463. package/templates/extensions/README.md +1 -0
  464. package/templates/extensions/comms-adherence-gate/README.md +88 -0
  465. package/templates/extensions/comms-adherence-gate/hooks.ts +489 -0
  466. package/templates/extensions/comms-adherence-gate/manifest.json +8 -0
  467. package/templates/skills/agent-browser/SKILL.md +1 -1
  468. package/templates/skills/agent-browser/content.md +1 -1
  469. package/templates/skills/apps/SKILL.md +8 -1
  470. package/templates/skills/apps/content.md +8 -1
  471. package/templates/skills/chat-sdk/config.json +14 -0
  472. package/templates/skills/chat-sdk/content.md +84 -0
  473. package/templates/skills/composio-gmail/content.md +7 -0
  474. package/templates/skills/composio-google-docs/content.md +1 -1
  475. package/templates/skills/email-domain-health/config.json +14 -0
  476. package/templates/skills/email-domain-health/content.md +131 -0
  477. package/templates/skills/kv-storage/content.md +2 -2
  478. package/templates/skills/pages/content.md +8 -10
  479. package/templates/skills/swarm-extensions/content.md +2 -0
  480. package/templates/skills/swarm-scripts/SKILL.md +4 -2
  481. package/templates/skills/swarm-scripts/config.json +1 -1
  482. package/templates/skills/swarm-scripts/content.md +4 -2
  483. package/templates/skills/workflow-iterate/content.md +38 -0
  484. package/dist/artifact-eczsknc3.js +0 -3843
  485. package/dist/cli-42qhyvwx.js +0 -33
  486. package/dist/cli-bd957dgb.js +0 -153
  487. package/dist/cli-q51yprfq.js +0 -1104
  488. package/dist/cli-t1ze64h3.js +0 -811
  489. package/dist/cli-tcc4wd5d.js +0 -56471
  490. package/dist/index-9ch1n761.js +0 -1102
  491. package/src/artifact-sdk/index.ts +0 -2
  492. package/src/artifact-sdk/localtunnel.d.ts +0 -20
  493. package/src/artifact-sdk/port.ts +0 -12
  494. package/src/artifact-sdk/server.ts +0 -183
  495. package/src/artifact-sdk/tunnel.ts +0 -19
  496. package/src/commands/artifact.ts +0 -249
  497. package/src/http/ecosystem.ts +0 -77
  498. package/src/tests/artifact-commands.test.ts +0 -92
  499. package/src/tests/artifact-sdk.test.ts +0 -793
  500. package/src/tests/register-service-security.test.ts +0 -194
  501. package/src/tools/list-services.ts +0 -107
  502. package/src/tools/register-service.ts +0 -177
  503. package/src/tools/unregister-service.ts +0 -73
  504. package/src/tools/update-service-status.ts +0 -96
  505. package/templates/skills/artifacts/config.json +0 -14
  506. package/templates/skills/artifacts/content.md +0 -344
  507. package/templates/skills/artifacts/files/examples/approval-flow.ts +0 -34
  508. package/templates/skills/artifacts/files/examples/hono-dashboard.ts +0 -31
  509. package/templates/skills/artifacts/files/examples/multi-artifact.ts +0 -20
  510. package/templates/skills/artifacts/files/examples/static-report.sh +0 -17
  511. /package/src/{artifact-sdk → pages}/browser-sdk.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  remediateStalledRuntime
3
- } from "./cli-ne7smj1b.js";
3
+ } from "./cli-01xvj1rq.js";
4
4
  import {
5
5
  REBOOT_RETRY_PIN_TAG,
6
6
  agentsWithLiveRuntime,
@@ -25,24 +25,25 @@ import {
25
25
  repointTrackerSyncBySwarmId,
26
26
  resolveLeadOnlyRecoveryAssignment,
27
27
  runtimeStaleThresholdMinutes
28
- } from "./cli-rfz2ve55.js";
28
+ } from "./cli-vgqzp4em.js";
29
29
  import {
30
30
  isMultiRuntimeEnabled
31
31
  } from "./cli-re8z5p8p.js";
32
32
  import {
33
33
  runSavedScriptAsAgent
34
- } from "./cli-7a93cv8c.js";
34
+ } from "./cli-4mengw46.js";
35
35
  import {
36
36
  createApprovalFollowUpTask
37
- } from "./cli-6r2f7edk.js";
37
+ } from "./cli-20krdhz5.js";
38
38
  import {
39
39
  init_db as init_db2,
40
40
  init_users,
41
41
  listRuntimePools,
42
42
  mintToken
43
- } from "./cli-3nxdmjrc.js";
43
+ } from "./cli-mgz4nbgg.js";
44
44
  import {
45
45
  MAX_EMPTY_POLLS,
46
+ SUPERSEDED_RESUME_REPAIR_WINDOW_MS,
46
47
  assignUnassignedTaskPending,
47
48
  backfillSupersedeTaskResumeTaskId,
48
49
  buildRoutingAffinityFromAgent,
@@ -98,11 +99,11 @@ import {
98
99
  settleSupersededTaskDependents,
99
100
  supersedeTask,
100
101
  updateAgentStatus
101
- } from "./cli-fmhj1ehj.js";
102
+ } from "./cli-y3167wt1.js";
102
103
  import {
103
104
  TERMINAL_TASK_STATUSES,
104
105
  init_types
105
- } from "./cli-hsem16hb.js";
106
+ } from "./cli-pe05f8yk.js";
106
107
  import {
107
108
  init_registry,
108
109
  init_resolver,
@@ -112,11 +113,11 @@ import {
112
113
  import {
113
114
  init_package,
114
115
  package_default
115
- } from "./cli-5er5gjbm.js";
116
+ } from "./cli-r35rw5de.js";
116
117
  import {
117
118
  init_event_bus,
118
119
  workflowEventBus
119
- } from "./cli-81r1wjyv.js";
120
+ } from "./cli-z780ec7c.js";
120
121
  import {
121
122
  init_env_flag,
122
123
  isEnvFlagEnabled
@@ -124,7 +125,7 @@ import {
124
125
  import {
125
126
  init_secret_scrubber,
126
127
  scrubSecrets
127
- } from "./cli-d161g69q.js";
128
+ } from "./cli-shk7r5cs.js";
128
129
 
129
130
  // src/heartbeat/heartbeat.ts
130
131
  init_package();
@@ -477,9 +478,6 @@ registerTemplate({
477
478
  defaultBody: `Task Type: Heartbeat Checklist
478
479
  Goal: Review system status and your standing orders, take action if needed.
479
480
 
480
- ## Current System Status [auto-generated]
481
- {{system_status}}
482
-
483
481
  ## Your Standing Orders (snapshot from HEARTBEAT.md)
484
482
  {{heartbeat_content}}
485
483
 
@@ -489,7 +487,7 @@ Goal: Review system status and your standing orders, take action if needed.
489
487
  1. **Read your HEARTBEAT.md** — run \`read /workspace/HEARTBEAT.md\` to get the latest standing orders (the snapshot above may be slightly stale).
490
488
  2. **Prune tracked HEARTBEAT items FIRST.** Active Blockers + Watch Items + Open Discussion combined must stay at ≤10 items; 20 is the absolute max only when genuinely super busy. This cap does not apply to evergreen Standing Orders / Governance / Playbook-index reference sections. Before adding anything, re-check every tracked item against its lift trigger and remove anything resolved, stale, or past its trigger date. Lift incident detail to memory; never keep it inline in HEARTBEAT.md. Every new tracked item must include an explicit lift trigger + date; if it has no removal condition, do not add it. If the tracked list is already at/over cap, prune before (or instead of) adding — the cap is binding.
491
489
  3. **Run seeded heartbeat data-gathering.** Use \`script-run\` with the global scripts \`schedule-health\` and \`task-failure-audit\`, both with args \`{ "days": 1, "publishPage": false }\`. They report failing schedules and failure clusters. Check any other standing order in HEARTBEAT.md yourself. Scripts can read Slack too (\`ctx.swarm.slack_read\` or the seeded \`slack-thread-flatten\` script), so a recurring Slack check can be scripted.
492
- 4. Review the system status above plus the script results for anything that needs attention (stalled tasks, idle workers with available work, anomalies).
490
+ 4. Review the system status below plus the script results for anything that needs attention (stalled tasks, idle workers with available work, anomalies).
493
491
  5. **CRITICAL — Reboot failure triage:** Failures with reason "worker session not found" or "worker session heartbeat is stale" indicate tasks that were INTERRUPTED by a server restart. These are NOT "expected auto-cleanup" — they represent work that was lost mid-execution. For each such failure:
494
492
  - Check what the task was (via \`get-task-details\` with the task ID from the failure)
495
493
  - If a retry task was auto-created (tagged \`reboot-retry\`), verify it is progressing
@@ -499,7 +497,10 @@ Goal: Review system status and your standing orders, take action if needed.
499
497
  7. If something needs attention — take action now using your available tools (create tasks, post to Slack, cancel stuck tasks, etc.).
500
498
  8. If everything looks healthy and no standing orders are actionable — complete this task with a brief "All clear" summary. You may NOT say "All clear" if reboot-related failures exist that haven't been triaged.
501
499
  9. Do NOT create another heartbeat-checklist task — the system handles scheduling.
502
- 10. **Update HEARTBEAT.md only after pruning.** Keep it current, but keep tracked items capped: remove resolved items, add only dated lift-triggered items, and lift detail to memory instead of growing the file.`,
500
+ 10. **Update HEARTBEAT.md only after pruning.** Keep it current, but keep tracked items capped: remove resolved items, add only dated lift-triggered items, and lift detail to memory instead of growing the file.
501
+
502
+ ## Current System Status [auto-generated]
503
+ {{system_status}}`,
503
504
  variables: [
504
505
  {
505
506
  name: "system_status",
@@ -797,7 +798,7 @@ async function detectAndRemediateStalledTasks(findings) {
797
798
  }
798
799
  }
799
800
  var ORPHAN_SUPERSEDE_MIN_AGE_MS = 60 * 1000;
800
- var ORPHAN_SUPERSEDE_MAX_AGE_MS = 24 * 60 * 60 * 1000;
801
+ var ORPHAN_SUPERSEDE_MAX_AGE_MS = SUPERSEDED_RESUME_REPAIR_WINDOW_MS;
801
802
  async function repairSupersededWithoutResume(findings) {
802
803
  const now = Date.now();
803
804
  const orphans = await getSupersededTasksWithoutResume(new Date(now - ORPHAN_SUPERSEDE_MIN_AGE_MS).toISOString(), new Date(now - ORPHAN_SUPERSEDE_MAX_AGE_MS).toISOString());
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  init_secret_scrubber,
8
8
  scrubSecrets
9
- } from "./cli-d161g69q.js";
9
+ } from "./cli-shk7r5cs.js";
10
10
  import {
11
11
  __esm
12
12
  } from "./cli-bc05qbss.js";
@@ -6,11 +6,11 @@ import {
6
6
  getSwarmConfigs,
7
7
  init_db1 as init_db,
8
8
  upsertSwarmConfig
9
- } from "./cli-fmhj1ehj.js";
9
+ } from "./cli-y3167wt1.js";
10
10
  import {
11
11
  init_secret_scrubber,
12
12
  scrubSecrets
13
- } from "./cli-d161g69q.js";
13
+ } from "./cli-shk7r5cs.js";
14
14
  import {
15
15
  __require
16
16
  } from "./cli-bc05qbss.js";
package/dist/cli.js CHANGED
@@ -13,7 +13,7 @@ import"./cli-0xqde53b.js";
13
13
  import"./cli-pqetb83f.js";
14
14
  import {
15
15
  bedrockProviderModule
16
- } from "./cli-h7k0xtry.js";
16
+ } from "./cli-hvqbtna4.js";
17
17
  import"./cli-phre6gz0.js";
18
18
  import"./cli-eh1ytktb.js";
19
19
  import"./cli-txgcknmy.js";
@@ -28,11 +28,12 @@ import"./cli-1m2e086m.js";
28
28
  import"./cli-btbzvq95.js";
29
29
  import"./cli-p7z6q2m6.js";
30
30
  import"./cli-wnb9b2g3.js";
31
- import"./cli-bd957dgb.js";
31
+ import"./cli-f527ce74.js";
32
32
  import {
33
33
  init_secret_scrubber,
34
34
  scrubSecrets
35
- } from "./cli-d161g69q.js";
35
+ } from "./cli-shk7r5cs.js";
36
+ import"./cli-e3g5mbkz.js";
36
37
  import {
37
38
  __commonJS,
38
39
  __require,
@@ -62,7 +63,7 @@ var import_react = __toESM(require_react(), 1);
62
63
  // package.json
63
64
  var package_default = {
64
65
  name: "@desplega.ai/agent-swarm",
65
- version: "1.173.0",
66
+ version: "2.1.0",
66
67
  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.",
67
68
  keywords: [
68
69
  "agent-swarm.dev",
@@ -230,11 +231,6 @@ var package_default = {
230
231
  "docs:mcp": "bun scripts/generate-mcp-docs.ts",
231
232
  "docs:openapi": "bun scripts/generate-openapi.ts",
232
233
  "docs:business-use": "bun scripts/generate-business-use-docs.ts",
233
- "pm2-start": "pm2 start ecosystem.config.cjs",
234
- "pm2-stop": "pm2 stop ecosystem.config.cjs",
235
- "pm2-restart": "pm2 restart ecosystem.config.cjs",
236
- "pm2-logs": "pm2 logs swarm-api swarm-ui swarm-lead swarm-worker",
237
- "pm2-status": "pm2 status swarm-api swarm-ui swarm-lead swarm-worker",
238
234
  seed: "bun scripts/seed.ts",
239
235
  "seed:clean": "bun scripts/seed.ts --clean",
240
236
  "seed:people": "bun scripts/seed-people.ts",
@@ -242,16 +238,17 @@ var package_default = {
242
238
  },
243
239
  devDependencies: {
244
240
  "@biomejs/biome": "^2.3.10",
245
- "@desplega.ai/slack-mock": "^0.4.0",
241
+ "@desplega.ai/slack-mock": "^0.4.1",
246
242
  "@desplega/model-catalog": "workspace:*",
247
243
  "@desplega/model-routing": "workspace:*",
248
244
  "@faker-js/faker": "^10.4.0",
249
- "@opencode/plugin": "2.0.29",
250
- "@opencode/sdk": "2.0.29",
245
+ "@opencode/plugin": "2.0.31",
246
+ "@opencode/sdk": "2.0.31",
251
247
  "@oxlint/plugins": "1.78.0",
252
248
  "@types/bun": "latest",
253
249
  "@typescript/native-preview": "7.0.0-dev.20260707.2",
254
250
  "dependency-cruiser": "^18.0.0",
251
+ "happy-dom": "^20.14.5",
255
252
  konsistent: "1.0.0-beta.1",
256
253
  "openapi-typescript": "^7",
257
254
  oxlint: "1.78.0",
@@ -265,15 +262,18 @@ var package_default = {
265
262
  bun: ">=1.3.12"
266
263
  },
267
264
  dependencies: {
268
- "@agentclientprotocol/sdk": "1.8.0",
265
+ "@agentclientprotocol/sdk": "1.9.0",
269
266
  "@ai-sdk/openai": "^3.0.41",
270
- "@anthropic-ai/claude-agent-sdk": "0.3.299",
271
- "@anthropic-ai/sdk": "^0.133.0",
267
+ "@anthropic-ai/claude-agent-sdk": "0.3.301",
268
+ "@anthropic-ai/sdk": "^0.135.0",
272
269
  "@asteasolutions/zod-to-openapi": "^8.0.0",
273
270
  "@aws-sdk/client-bedrock": "3.1048.0",
271
+ "@chat-adapter/discord": "4.41.1",
272
+ "@chat-adapter/slack": "4.41.1",
273
+ "@chat-adapter/teams": "4.41.1",
274
+ "@chat-adapter/telegram": "4.41.1",
274
275
  "@cursor/sdk": "1.0.37",
275
276
  "@desplega.ai/business-use": "^0.4.2",
276
- "@desplega.ai/localtunnel": "^2.2.0",
277
277
  "@earendil-works/pi-agent-core": "^1.2.0",
278
278
  "@earendil-works/pi-ai": "^1.2.0",
279
279
  "@earendil-works/pi-coding-agent": "^1.2.0",
@@ -281,7 +281,7 @@ var package_default = {
281
281
  "@jitl/quickjs-singlefile-mjs-release-sync": "0.32.0",
282
282
  "@linear/sdk": "^77.0.0",
283
283
  "@modelcontextprotocol/sdk": "1.31.0",
284
- "@openai/codex": "0.162.1",
284
+ "@openai/codex": "0.163.0",
285
285
  "@openfort/openfort-node": "^0.9.1",
286
286
  "@opentelemetry/api": "^1.9.1",
287
287
  "@opentelemetry/api-logs": "^0.218.0",
@@ -292,15 +292,16 @@ var package_default = {
292
292
  "@opentelemetry/sdk-node": "^0.218.0",
293
293
  "@opentelemetry/semantic-conventions": "^1.41.1",
294
294
  "@slack/bolt": "^4.6.0",
295
+ "@slack/web-api": "7.13.0",
295
296
  "@types/react": "^19.2.7",
296
297
  "@x402/core": "^2.5.0",
297
298
  "@x402/evm": "^2.5.0",
298
299
  "@x402/fetch": "^2.5.0",
299
300
  ai: "^6.0.116",
301
+ chat: "4.41.1",
300
302
  "cron-parser": "^5.4.0",
301
303
  "date-fns": "^4.1.0",
302
304
  e2b: "2.26.0",
303
- hono: "^4.12.3",
304
305
  ink: "^6.5.1",
305
306
  oauth4webapi: "^3.8.5",
306
307
  openai: "^6.22.0",
@@ -646,13 +647,6 @@ Used internally by the codex hooks registered in the worker image.`,
646
647
  options: " Internal command; no user-facing options",
647
648
  examples: ` ${binName} session-summary-stdin`
648
649
  },
649
- artifact: {
650
- usage: `${binName} artifact <subcommand> [options]`,
651
- description: "Manage agent artifacts (serve, list, etc.).",
652
- options: " -h, --help Show this help",
653
- examples: [` ${binName} artifact serve`, ` ${binName} artifact help`].join(`
654
- `)
655
- },
656
650
  x: {
657
651
  usage: `${binName} x <target> [args]`,
658
652
  description: "Execute external command routes. Prototype target: composio routes HTTP requests to the Composio REST API using COMPOSIO_API_KEY.",
@@ -803,7 +797,6 @@ ${binName} v${package_default.version}`);
803
797
  ["hook", "Handle Claude Code hook events (stdin)"],
804
798
  ["codex-hook", "Handle Codex CLI hook events (stdin, steering delivery)"],
805
799
  ["session-summary-stdin", "Generate a Claude session summary (internal, stdin)"],
806
- ["artifact", "Manage agent artifacts"],
807
800
  ["x", "Execute external command routes"],
808
801
  ["scripts", "Reusable scripts maintenance"],
809
802
  ["rbac", "RBAC role management (bootstrap)"],
@@ -830,7 +823,7 @@ function McpServer({ port, apiKey, dbPath }) {
830
823
  if (dbPath) {
831
824
  process.env.DATABASE_PATH = dbPath;
832
825
  }
833
- import("./http-3dgrgp8y.js").then(() => {
826
+ import("./http-r2dnb8f8.js").then(() => {
834
827
  setStatus("running");
835
828
  }).catch((err) => {
836
829
  setStatus("error");
@@ -917,7 +910,7 @@ function WorkerRunner({
917
910
  const { exit } = use_app_default();
918
911
  import_react.useEffect(() => {
919
912
  installConsoleScrub();
920
- import("./worker-bzdra9rf.js").then(({ runWorker }) => runWorker({
913
+ import("./worker-5v3rxsdh.js").then(({ runWorker }) => runWorker({
921
914
  prompt: prompt || undefined,
922
915
  yolo,
923
916
  systemPrompt: systemPrompt || undefined,
@@ -935,7 +928,7 @@ function LeadRunner({ prompt, yolo, systemPrompt, systemPromptFile, additionalAr
935
928
  const { exit } = use_app_default();
936
929
  import_react.useEffect(() => {
937
930
  installConsoleScrub();
938
- import("./lead-cw45n21s.js").then(({ runLead }) => runLead({
931
+ import("./lead-hajz4688.js").then(({ runLead }) => runLead({
939
932
  prompt: prompt || undefined,
940
933
  yolo,
941
934
  systemPrompt: systemPrompt || undefined,
@@ -975,8 +968,8 @@ function LazyComponent({
975
968
  }
976
969
  return import_react.createElement(Component, props);
977
970
  }
978
- var loadOnboard = () => import("./onboard-8hzdhc1k.js").then(({ Onboard }) => Onboard);
979
- var loadConnect = () => import("./setup-adbc1c10.js").then(({ Setup }) => Setup);
971
+ var loadOnboard = () => import("./onboard-rbf6bg01.js").then(({ Onboard }) => Onboard);
972
+ var loadConnect = () => import("./setup-2fp2pypp.js").then(({ Setup }) => Setup);
980
973
  function UnknownCommand({ command }) {
981
974
  const { exit } = use_app_default();
982
975
  import_react.useEffect(() => {
@@ -1106,27 +1099,19 @@ ${binName} docs \u2014 v${package_default.version}
1106
1099
  }
1107
1100
  process.exit(0);
1108
1101
  } else if (args.command === "hook") {
1109
- const { runHook } = await import("./hook-xaa3q80s.js");
1102
+ const { runHook } = await import("./hook-yy6rw42k.js");
1110
1103
  await runHook();
1111
1104
  } else if (args.command === "codex-hook") {
1112
1105
  const { handleCodexHook } = await import("./codex-hook-xch6z5wt.js");
1113
1106
  await handleCodexHook();
1114
1107
  process.exit(process.exitCode ?? 0);
1115
1108
  } else if (args.command === "session-summary-stdin") {
1116
- const { runSessionSummaryFromStdin } = await import("./hook-254r4mza.js");
1109
+ const { runSessionSummaryFromStdin } = await import("./hook-56qe10dp.js");
1117
1110
  await runSessionSummaryFromStdin();
1118
1111
  process.exit(process.exitCode ?? 0);
1119
- } else if (args.command === "artifact") {
1120
- const artifactArgs = process.argv.slice(process.argv.indexOf("artifact") + 1);
1121
- const { runArtifact } = await import("./artifact-eczsknc3.js");
1122
- await runArtifact(artifactArgs[0] || "help", {
1123
- additionalArgs: artifactArgs.slice(1),
1124
- port: args.port,
1125
- key: args.key
1126
- });
1127
1112
  } else if (args.command === "x") {
1128
1113
  const xArgs = process.argv.slice(process.argv.indexOf("x") + 1);
1129
- const { runXCommand } = await import("./x-qfmygqqv.js");
1114
+ const { runXCommand } = await import("./x-4mtdeym1.js");
1130
1115
  await runXCommand(xArgs);
1131
1116
  } else if (args.command === "scripts") {
1132
1117
  const scriptsArgs = process.argv.slice(process.argv.indexOf("scripts") + 1);
@@ -1134,7 +1119,7 @@ ${binName} docs \u2014 v${package_default.version}
1134
1119
  printHelp("scripts");
1135
1120
  process.exit(scriptsArgs[0] === "reembed" || args.showHelp ? 0 : 1);
1136
1121
  }
1137
- const { runScriptsMaintenanceCommand } = await import("./maintenance-ss1a1ge9.js");
1122
+ const { runScriptsMaintenanceCommand } = await import("./maintenance-ps02sb5m.js");
1138
1123
  await runScriptsMaintenanceCommand(scriptsArgs);
1139
1124
  console.log("Scripts re-embedded.");
1140
1125
  } else if (args.command === "rbac") {
@@ -1144,25 +1129,25 @@ ${binName} docs \u2014 v${package_default.version}
1144
1129
  printHelp("rbac");
1145
1130
  process.exit(args.showHelp ? 0 : 1);
1146
1131
  }
1147
- const { runRbacCliCommand } = await import("./rbac-roles-dt4vh1yy.js");
1132
+ const { runRbacCliCommand } = await import("./rbac-roles-3m36rxm2.js");
1148
1133
  await runRbacCliCommand(rbacArgs);
1149
1134
  } else if (args.command === "codex-login") {
1150
- const { runCodexLogin } = await import("./codex-login-841kv5fk.js");
1135
+ const { runCodexLogin } = await import("./codex-login-pkepy2j1.js");
1151
1136
  const codexLoginArgs = process.argv.slice(process.argv.indexOf("codex-login") + 1);
1152
1137
  await runCodexLogin(codexLoginArgs);
1153
1138
  } else if (args.command === "codex-session-runner") {
1154
- const { runCodexSessionRunner } = await import("./codex-session-runner-fwt793h4.js");
1139
+ const { runCodexSessionRunner } = await import("./codex-session-runner-rvms9y2x.js");
1155
1140
  await runCodexSessionRunner();
1156
1141
  } else if (args.command === "claude-managed-setup") {
1157
- const { runClaudeManagedSetup } = await import("./claude-managed-setup-bnmjarjc.js");
1142
+ const { runClaudeManagedSetup } = await import("./claude-managed-setup-tpe1effx.js");
1158
1143
  const setupArgs = process.argv.slice(process.argv.indexOf("claude-managed-setup") + 1);
1159
1144
  await runClaudeManagedSetup(setupArgs);
1160
1145
  } else if (args.command === "e2b") {
1161
- const { runE2BCommand } = await import("./e2b-xwhyj8cw.js");
1146
+ const { runE2BCommand } = await import("./e2b-dp804sen.js");
1162
1147
  const e2bArgs = process.argv.slice(process.argv.indexOf("e2b") + 1);
1163
1148
  await runE2BCommand(e2bArgs);
1164
1149
  } else if (args.command === "controller") {
1165
- const { runController } = await import("./controller-hq5ggpcp.js");
1150
+ const { runController } = await import("./controller-3k3madbn.js");
1166
1151
  await runController(process.argv.slice(process.argv.indexOf("controller") + 1));
1167
1152
  } else {
1168
1153
  render_default(/* @__PURE__ */ jsx_dev_runtime.jsxDEV(App, {
@@ -7,27 +7,27 @@ import {
7
7
  createInProcessCodexSession,
8
8
  resolveCodexAuthMode,
9
9
  resolveCodexRunnerArgv
10
- } from "./cli-94b48jhk.js";
10
+ } from "./cli-5twdke5x.js";
11
11
  import"./cli-hsxj0yar.js";
12
12
  import"./cli-vv0qtfpx.js";
13
- import"./cli-bqjfjex4.js";
14
13
  import"./cli-q2j38vre.js";
15
14
  import"./cli-zm7njwzd.js";
16
- import"./cli-nwrdx840.js";
17
- import"./cli-hp1n6zq3.js";
18
15
  import"./cli-ptcz1cqy.js";
19
- import"./cli-7avy4v8w.js";
16
+ import"./cli-w1q7h2r2.js";
17
+ import"./cli-035vekcw.js";
18
+ import"./cli-hp1n6zq3.js";
19
+ import"./cli-bqjfjex4.js";
20
20
  import"./cli-2pdaysab.js";
21
- import"./cli-tmhsxhb8.js";
21
+ import"./cli-0veb92a3.js";
22
22
  import"./cli-knd276ed.js";
23
23
  import"./cli-104zsxba.js";
24
24
  import"./cli-re8z5p8p.js";
25
25
  import"./cli-zt3w1cn1.js";
26
- import"./cli-6thk4jz3.js";
27
- import"./cli-7jykv7ef.js";
28
- import"./cli-b07hr3bt.js";
29
- import"./cli-h6vtvt5c.js";
26
+ import"./cli-1y7yywmj.js";
27
+ import"./cli-rc6pf5kv.js";
30
28
  import"./cli-2x0e561b.js";
29
+ import"./cli-txqb9s38.js";
30
+ import"./cli-h6vtvt5c.js";
31
31
  import"./cli-bsakbbkm.js";
32
32
  import"./cli-zxg80zs9.js";
33
33
  import"./cli-ydt3zkwv.js";
@@ -36,19 +36,20 @@ import"./cli-1m2e086m.js";
36
36
  import"./cli-btbzvq95.js";
37
37
  import"./cli-p7z6q2m6.js";
38
38
  import"./cli-wnb9b2g3.js";
39
- import"./cli-hsem16hb.js";
39
+ import"./cli-pe05f8yk.js";
40
40
  import"./cli-ywybs5as.js";
41
41
  import"./cli-f9w1semm.js";
42
42
  import"./cli-1a2j50m0.js";
43
43
  import"./cli-a35hzdve.js";
44
- import"./cli-014vns2y.js";
44
+ import"./cli-stfs0k5s.js";
45
45
  import"./cli-sd0mxa3c.js";
46
46
  import"./cli-w5e1d1vv.js";
47
- import"./cli-5er5gjbm.js";
47
+ import"./cli-r35rw5de.js";
48
48
  import"./cli-gd4favx9.js";
49
49
  import"./cli-ej6gbxfb.js";
50
50
  import"./cli-a1b9b32n.js";
51
- import"./cli-d161g69q.js";
51
+ import"./cli-shk7r5cs.js";
52
+ import"./cli-e3g5mbkz.js";
52
53
  import"./cli-bc05qbss.js";
53
54
  export {
54
55
  CodexAdapter,
@@ -4,13 +4,14 @@ import {
4
4
  loadAllCodexOAuthSlots,
5
5
  loginCodexOAuth,
6
6
  storeCodexOAuth
7
- } from "./cli-7jykv7ef.js";
7
+ } from "./cli-rc6pf5kv.js";
8
8
  import"./cli-1a2j50m0.js";
9
9
  import {
10
10
  getApiKey,
11
11
  init_api_key
12
12
  } from "./cli-a1b9b32n.js";
13
- import"./cli-d161g69q.js";
13
+ import"./cli-shk7r5cs.js";
14
+ import"./cli-e3g5mbkz.js";
14
15
  import {
15
16
  __require
16
17
  } from "./cli-bc05qbss.js";
@@ -1,26 +1,26 @@
1
1
  import {
2
2
  createInProcessCodexSession
3
- } from "./cli-94b48jhk.js";
3
+ } from "./cli-5twdke5x.js";
4
4
  import"./cli-hsxj0yar.js";
5
5
  import"./cli-vv0qtfpx.js";
6
- import"./cli-bqjfjex4.js";
7
6
  import"./cli-q2j38vre.js";
8
7
  import"./cli-zm7njwzd.js";
9
- import"./cli-nwrdx840.js";
10
- import"./cli-hp1n6zq3.js";
11
8
  import"./cli-ptcz1cqy.js";
12
- import"./cli-7avy4v8w.js";
9
+ import"./cli-w1q7h2r2.js";
10
+ import"./cli-035vekcw.js";
11
+ import"./cli-hp1n6zq3.js";
12
+ import"./cli-bqjfjex4.js";
13
13
  import"./cli-2pdaysab.js";
14
- import"./cli-tmhsxhb8.js";
14
+ import"./cli-0veb92a3.js";
15
15
  import"./cli-knd276ed.js";
16
16
  import"./cli-104zsxba.js";
17
17
  import"./cli-re8z5p8p.js";
18
18
  import"./cli-zt3w1cn1.js";
19
- import"./cli-6thk4jz3.js";
20
- import"./cli-7jykv7ef.js";
21
- import"./cli-b07hr3bt.js";
22
- import"./cli-h6vtvt5c.js";
19
+ import"./cli-1y7yywmj.js";
20
+ import"./cli-rc6pf5kv.js";
23
21
  import"./cli-2x0e561b.js";
22
+ import"./cli-txqb9s38.js";
23
+ import"./cli-h6vtvt5c.js";
24
24
  import"./cli-bsakbbkm.js";
25
25
  import"./cli-zxg80zs9.js";
26
26
  import"./cli-ydt3zkwv.js";
@@ -29,22 +29,23 @@ import"./cli-1m2e086m.js";
29
29
  import"./cli-btbzvq95.js";
30
30
  import"./cli-p7z6q2m6.js";
31
31
  import"./cli-wnb9b2g3.js";
32
- import"./cli-hsem16hb.js";
32
+ import"./cli-pe05f8yk.js";
33
33
  import"./cli-ywybs5as.js";
34
34
  import"./cli-f9w1semm.js";
35
35
  import"./cli-1a2j50m0.js";
36
36
  import"./cli-a35hzdve.js";
37
- import"./cli-014vns2y.js";
37
+ import"./cli-stfs0k5s.js";
38
38
  import"./cli-sd0mxa3c.js";
39
39
  import"./cli-w5e1d1vv.js";
40
- import"./cli-5er5gjbm.js";
40
+ import"./cli-r35rw5de.js";
41
41
  import"./cli-gd4favx9.js";
42
42
  import"./cli-ej6gbxfb.js";
43
43
  import"./cli-a1b9b32n.js";
44
44
  import {
45
45
  init_secret_scrubber,
46
46
  scrubSecrets
47
- } from "./cli-d161g69q.js";
47
+ } from "./cli-shk7r5cs.js";
48
+ import"./cli-e3g5mbkz.js";
48
49
  import"./cli-bc05qbss.js";
49
50
 
50
51
  // src/commands/codex-session-runner.ts
@@ -1,36 +1,37 @@
1
1
  import {
2
2
  EXTERNAL_CHANNEL_BLOCKED_REPLY,
3
3
  shouldBlockChannel
4
- } from "./cli-v3zhnxsb.js";
4
+ } from "./cli-r610p9bs.js";
5
5
  import {
6
6
  getAllAgents,
7
7
  getAllTasks,
8
8
  init_db1 as init_db
9
- } from "./cli-fmhj1ehj.js";
10
- import"./cli-ywm1azg9.js";
11
- import"./cli-hsem16hb.js";
12
- import"./cli-r4fqfpwf.js";
13
- import"./cli-7mm2r1kp.js";
9
+ } from "./cli-y3167wt1.js";
10
+ import"./cli-9jzdj90z.js";
11
+ import"./cli-pe05f8yk.js";
12
+ import"./cli-78vv7446.js";
14
13
  import"./cli-dmtrxqhg.js";
14
+ import"./cli-7mm2r1kp.js";
15
+ import"./cli-x1r545x8.js";
15
16
  import"./cli-mvzyxwg3.js";
16
- import"./cli-tadfgd0t.js";
17
17
  import"./cli-fdvbjtbw.js";
18
18
  import"./cli-ywybs5as.js";
19
19
  import"./cli-f9w1semm.js";
20
20
  import"./cli-1a2j50m0.js";
21
21
  import"./cli-a35hzdve.js";
22
- import"./cli-014vns2y.js";
22
+ import"./cli-stfs0k5s.js";
23
23
  import"./cli-sd0mxa3c.js";
24
24
  import"./cli-w5e1d1vv.js";
25
25
  import"./cli-p0sg24zp.js";
26
- import"./cli-5er5gjbm.js";
26
+ import"./cli-r35rw5de.js";
27
27
  import"./cli-zf8jjwex.js";
28
28
  import"./cli-gd4favx9.js";
29
29
  import {
30
30
  init_env_flag,
31
31
  isEnvFlagEnabled
32
32
  } from "./cli-ej6gbxfb.js";
33
- import"./cli-d161g69q.js";
33
+ import"./cli-shk7r5cs.js";
34
+ import"./cli-e3g5mbkz.js";
34
35
  import"./cli-bc05qbss.js";
35
36
 
36
37
  // src/slack/commands.ts
@@ -2,15 +2,15 @@ import {
2
2
  BuiltinController,
3
3
  CONTROLLER_PROTOCOL_VERSION,
4
4
  ControllerServerMessageSchema
5
- } from "./cli-ppy4nnnh.js";
5
+ } from "./cli-n8ndw8j7.js";
6
6
  import {
7
7
  createRuntimeProvider,
8
8
  init_runtime_providers
9
- } from "./cli-cd0hv9nh.js";
9
+ } from "./cli-j67mh2vg.js";
10
10
  import {
11
11
  RuntimeProviderKindSchema,
12
12
  init_types
13
- } from "./cli-hsem16hb.js";
13
+ } from "./cli-pe05f8yk.js";
14
14
  import"./cli-sd0mxa3c.js";
15
15
  import"./cli-w5e1d1vv.js";
16
16
  import"./cli-gd4favx9.js";
@@ -19,7 +19,8 @@ import {
19
19
  init_secret_scrubber,
20
20
  registerVolatileSecret,
21
21
  scrubSecrets
22
- } from "./cli-d161g69q.js";
22
+ } from "./cli-shk7r5cs.js";
23
+ import"./cli-e3g5mbkz.js";
23
24
  import"./cli-bc05qbss.js";
24
25
 
25
26
  // src/commands/controller.ts