@desplega.ai/agent-swarm 2.4.4 → 2.5.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 (382) hide show
  1. package/README.md +4 -2
  2. package/dist/{acp-adapter-thq04adh.js → acp-adapter-11gp67nr.js} +8 -6
  3. package/dist/{actions-j6ywh6x5.js → actions-8p2kze8j.js} +24 -22
  4. package/dist/{amp-adapter-k8b5xmj8.js → amp-adapter-z4qvhacj.js} +2 -2
  5. package/dist/{anthropic-messages-g6pqmqk4.js → anthropic-messages-txs190dd.js} +17 -20
  6. package/dist/{app-rb7vc02s.js → app-0qp0a2gk.js} +3 -3
  7. package/dist/{assistant-ftta1zjf.js → assistant-jedd3ktm.js} +27 -25
  8. package/dist/{azure-openai-responses-9dbmj346.js → azure-openai-responses-9kfwhmn7.js} +18 -13
  9. package/dist/{boot-reembed-xns7h5h9.js → boot-reembed-4xwq5tg0.js} +1 -1
  10. package/dist/{boot-reembed-srp6v6af.js → boot-reembed-n4wq5dd2.js} +1 -1
  11. package/dist/{boot-scrub-sweep-3qqrh2mz.js → boot-scrub-sweep-69h90xcq.js} +4 -4
  12. package/dist/{boot-seeds-9ks8hce7.js → boot-seeds-3vn0m9sg.js} +4 -4
  13. package/dist/{claude-adapter-k5ksyres.js → claude-adapter-221mvad5.js} +8 -6
  14. package/dist/{claude-managed-adapter-h2y889ge.js → claude-managed-adapter-gt6pa35d.js} +2 -2
  15. package/dist/{claude-managed-setup-n5a5eqks.js → claude-managed-setup-c3hp36ph.js} +4 -4
  16. package/dist/{claude-sdk-session-2j3j4kwn.js → claude-sdk-session-8thjsk5e.js} +9729 -9628
  17. package/dist/{cli-b9fcxxev.js → cli-007cnhm1.js} +50 -4
  18. package/dist/{cli-j4rqdf2n.js → cli-03vpq45j.js} +2 -2
  19. package/dist/{cli-amyhm3gj.js → cli-0y6f0ckq.js} +1 -1
  20. package/dist/{cli-4dg55wsk.js → cli-0z3vjrpm.js} +1 -1
  21. package/dist/{cli-pccfmtb5.js → cli-179xcyky.js} +11 -11
  22. package/dist/{cli-3r8samv3.js → cli-1f0gp9vz.js} +3 -2
  23. package/dist/{cli-hj3debgw.js → cli-1pr672hz.js} +3 -3
  24. package/dist/{cli-0bqteszy.js → cli-2nf3b08t.js} +328 -25
  25. package/dist/{cli-t7cyef5g.js → cli-36j4jnk3.js} +4 -4
  26. package/dist/{cli-er83cjbn.js → cli-3qv8naq8.js} +527 -231
  27. package/dist/cli-3zwye9sn.js +1193 -0
  28. package/dist/{cli-60cgh1rv.js → cli-459fk97x.js} +7 -7
  29. package/dist/{cli-xj0re5tm.js → cli-4w24f7z3.js} +1 -1
  30. package/dist/{cli-v3yr2gbg.js → cli-5kzk3472.js} +2198 -968
  31. package/dist/{cli-h7gc0b4r.js → cli-5m84zd2k.js} +55 -18
  32. package/dist/{cli-w6nadkh4.js → cli-5rvg1ddk.js} +5 -5
  33. package/dist/{cli-dvkmp9bt.js → cli-6ctwrf1z.js} +20 -10
  34. package/dist/{cli-9qtjfd60.js → cli-6rg2jn2y.js} +3 -2
  35. package/dist/{cli-2v045xyf.js → cli-7bwtc6yx.js} +3 -3
  36. package/dist/{cli-3cgngyd8.js → cli-7g40g8hq.js} +35 -17
  37. package/dist/{cli-q6r7t299.js → cli-92mqenkc.js} +2379 -154
  38. package/dist/{cli-cynvc9fj.js → cli-9ce2xw98.js} +8 -8
  39. package/dist/{cli-gqvh8d8a.js → cli-bgdtv62r.js} +36 -22
  40. package/dist/{cli-wxbn3yfx.js → cli-cz5nmdxt.js} +2 -2
  41. package/dist/{cli-wt645v7q.js → cli-dabehxhp.js} +1 -1
  42. package/dist/{cli-vfha21c9.js → cli-e5bxnjps.js} +2 -2
  43. package/dist/{cli-p20r8w42.js → cli-fcc5qe3f.js} +763 -268
  44. package/dist/{cli-1ephgwnq.js → cli-fes51ya2.js} +3 -3
  45. package/dist/{cli-1d70crsy.js → cli-ftmq4nvk.js} +2 -2
  46. package/dist/{cli-qkhc5aqy.js → cli-fy1jyyym.js} +13 -13
  47. package/dist/{cli-s95dknxh.js → cli-g1cw7xtt.js} +1 -1
  48. package/dist/{cli-qje9k2nh.js → cli-g9ypd5en.js} +12 -2
  49. package/dist/{cli-74c1wpm0.js → cli-gpv60278.js} +1 -1
  50. package/dist/{cli-pemywhfq.js → cli-ha9rmwgq.js} +2 -1
  51. package/dist/{cli-bnz0r3kc.js → cli-j1eghqfm.js} +5 -5
  52. package/dist/{cli-2zqpkvtt.js → cli-jpxsrxcb.js} +1 -1
  53. package/dist/{cli-ejs3m1sx.js → cli-kxpfx2xr.js} +1 -1
  54. package/dist/{cli-37yb7307.js → cli-mbfj11fq.js} +1 -1
  55. package/dist/{cli-pnp2j5zg.js → cli-mmhj8vd7.js} +2 -2
  56. package/dist/{cli-xf234ws8.js → cli-n4c8e3s5.js} +2 -0
  57. package/dist/{cli-a0kcty51.js → cli-n6kmqngw.js} +2 -2
  58. package/dist/{cli-te6b5wvg.js → cli-nnvjb17s.js} +3 -3
  59. package/dist/{cli-1dmcq2eh.js → cli-nzfnt2gs.js} +1 -1
  60. package/dist/{cli-625tb7aq.js → cli-p859hcc8.js} +2 -2
  61. package/dist/{cli-smvcw9z5.js → cli-pasyvjmm.js} +1 -1
  62. package/dist/cli-pkaqk57w.js +128 -0
  63. package/dist/{cli-8nyhf7za.js → cli-qqzmjxkf.js} +129 -105
  64. package/dist/{cli-zrwpctp4.js → cli-r25qpaxt.js} +161 -63
  65. package/dist/{cli-nc35pxb7.js → cli-rh5smt8t.js} +19 -4
  66. package/dist/{cli-qwkcwjdn.js → cli-rycdaj0a.js} +1 -1
  67. package/dist/{cli-esxerzg7.js → cli-s4sntwt4.js} +2 -2
  68. package/dist/{cli-b8k7epj1.js → cli-segs7hx9.js} +8 -8
  69. package/dist/{cli-36ckw0wx.js → cli-stxdrqs2.js} +2 -2
  70. package/dist/{cli-vdm20wej.js → cli-sy8f9705.js} +4 -4
  71. package/dist/{cli-1m17dc9d.js → cli-ta8bd7th.js} +2 -2
  72. package/dist/{cli-2y91wnbh.js → cli-we0ra057.js} +222 -10
  73. package/dist/{cli-55qmbp6z.js → cli-x21dqn18.js} +5 -5
  74. package/dist/{cli-dqb4n629.js → cli-x6vf4sad.js} +11 -11
  75. package/dist/{cli-d2mb5s8a.js → cli-x77gen2p.js} +680 -440
  76. package/dist/{cli-vq97g1jq.js → cli-xawhpgc9.js} +95 -195
  77. package/dist/{cli-82d3nkc3.js → cli-xd4eqtr2.js} +2 -2
  78. package/dist/{cli-9fhkkpj5.js → cli-xt768r5m.js} +2 -2
  79. package/dist/{cli-zrk6jxv8.js → cli-y4x8ww6s.js} +2 -2
  80. package/dist/{cli-xc27fwzg.js → cli-y9jvxfhk.js} +3 -3
  81. package/dist/{cli-44159k28.js → cli-z63a269p.js} +2 -2
  82. package/dist/{cli-sm8rses9.js → cli-zfdp01hn.js} +8 -5
  83. package/dist/cli.js +31 -29
  84. package/dist/{cloudflare-workers-ai-system-one-ch2wxfcp.js → cloudflare-workers-ai-system-one-43v9qkjk.js} +7 -2
  85. package/dist/{codex-adapter-968xwfy7.js → codex-adapter-tcg1q3jk.js} +6 -4
  86. package/dist/{codex-login-m819c41r.js → codex-login-rn7c5gxt.js} +1 -1
  87. package/dist/{codex-session-runner-ht4z99fa.js → codex-session-runner-xfx4wd9x.js} +7 -5
  88. package/dist/{commands-pcymaeg9.js → commands-ew83nj70.js} +2 -2
  89. package/dist/{controller-fpjyk46r.js → controller-gnq1k1mf.js} +4 -4
  90. package/dist/{controllers-connect-mwzx1fh6.js → controllers-connect-tw1dan9r.js} +26 -24
  91. package/dist/{cursor-adapter-cp4s2e2f.js → cursor-adapter-yq5xgfcg.js} +1 -1
  92. package/dist/{db-xsjg9jqq.js → db-7gbc53fd.js} +14 -2
  93. package/dist/{db-sgd12bt9.js → db-t86xrnes.js} +3 -3
  94. package/dist/{devin-adapter-zgqadvnm.js → devin-adapter-4ycy4vrf.js} +1 -1
  95. package/dist/{dispatcher-x0jfw2c9.js → dispatcher-64bdyhps.js} +23 -21
  96. package/dist/{docker-fkgtr75t.js → docker-nfy2gc8t.js} +2 -2
  97. package/dist/{dsh-adapter-jrq7ma7h.js → dsh-adapter-tvhc4k2d.js} +1 -1
  98. package/dist/{e2b-16d6ch39.js → e2b-9gkdhm3c.js} +2 -2
  99. package/dist/{e2b-zn0b4w5w.js → e2b-cjtf8k1z.js} +2 -2
  100. package/dist/{easter-egg-3d-5cgynaja.js → easter-egg-3d-e4qv8dxj.js} +1 -1
  101. package/dist/{event-bus-9vpk8gmq.js → event-bus-3z78ep5n.js} +1 -1
  102. package/dist/{execute-t4e6m3rw.js → execute-0xpz8950.js} +85 -23
  103. package/dist/{external-channel-8njj4h3b.js → external-channel-e9nw24zv.js} +2 -2
  104. package/dist/{google-generative-ai-bmq8gkf3.js → google-generative-ai-mk9vcpe1.js} +15 -15
  105. package/dist/{google-vertex-b1rvp52s.js → google-vertex-q580kz8k.js} +20 -20
  106. package/dist/{grok-adapter-kkr97v2f.js → grok-adapter-v82srhrx.js} +9 -7
  107. package/dist/handlers-c9ajzhbn.js +41 -0
  108. package/dist/{heartbeat-wd03zhn0.js → heartbeat-2vqs1319.js} +26 -24
  109. package/dist/{hook-xzj2ts2p.js → hook-01nk13wx.js} +7 -5
  110. package/dist/{hook-f0vghj42.js → hook-jzpheegg.js} +9 -7
  111. package/dist/{http-4hwxv62p.js → http-fc1k6ec8.js} +859 -252
  112. package/dist/index-07ef7nkm.js +42 -0
  113. package/dist/{index-g6tbb6ve.js → index-31ceyf42.js} +1 -1
  114. package/dist/index-7yts8n9s.js +43 -0
  115. package/dist/{index-c4ykd0f1.js → index-dr94zbnh.js} +13348 -11611
  116. package/dist/index-q3t40ryv.js +46 -0
  117. package/dist/{index-ww2vznkp.js → index-sepja052.js} +1 -1
  118. package/dist/{index-97q4xn03.js → index-zdycv3ja.js} +135 -79
  119. package/dist/{index-g216q6jr.js → index-zsyx51ap.js} +1 -4
  120. package/dist/{keepalive-hrh7xnr9.js → keepalive-5nh2rhmr.js} +4 -4
  121. package/dist/lead-aayq64jn.js +79 -0
  122. package/dist/{llama-cpp-classify-vv43gswy.js → llama-cpp-classify-ee7vmd7q.js} +4 -1
  123. package/dist/{maintenance-e8wnwnqx.js → maintenance-hjhzdt3k.js} +1 -1
  124. package/dist/{mistral-conversations-1medfwv7.js → mistral-conversations-sd0xf1tn.js} +13 -13
  125. package/dist/{node-3v3f08f7.js → node-jzjj7r9x.js} +10 -9
  126. package/dist/{oauth-refresh-sweep-zm0yj4sj.js → oauth-refresh-sweep-y3n1knmd.js} +3 -3
  127. package/dist/{onboard-dtwcq603.js → onboard-1zq3m7db.js} +2 -2
  128. package/dist/{openai-codex-responses-de9pvs4d.js → openai-codex-responses-79s8xnbh.js} +29 -23
  129. package/dist/{openai-completions-mtqge3nf.js → openai-completions-tdbyts0x.js} +21 -20
  130. package/dist/{openai-decisions-ygk4kkxd.js → openai-decisions-bqhnjyfz.js} +2 -1
  131. package/dist/{openai-responses-dkyng71g.js → openai-responses-dm3t5vqp.js} +26 -17
  132. package/dist/{opencode-adapter-x4tqzhkh.js → opencode-adapter-e56086m1.js} +7 -5
  133. package/dist/{openrouter-images-wvv7camj.js → openrouter-images-ssttr1y4.js} +6 -3
  134. package/dist/{otel-impl-w3fbhpn0.js → otel-impl-h9yyza47.js} +2 -2
  135. package/dist/{pi-messages-nhh1pkz2.js → pi-messages-3nf8bq1a.js} +6 -4
  136. package/dist/{pi-mono-adapter-mcfkn9vf.js → pi-mono-adapter-tzps8f38.js} +9 -37
  137. package/dist/{pricing-refresh-j38dehfs.js → pricing-refresh-nevhat8h.js} +3 -3
  138. package/dist/{rbac-roles-ae8yttq4.js → rbac-roles-4y6ngvzq.js} +1 -1
  139. package/dist/{rbac-roles-ejxx9b35.js → rbac-roles-exbg8xb6.js} +2 -2
  140. package/dist/{registry-rxw10xzg.js → registry-ajhexe44.js} +1 -1
  141. package/dist/{render-v2-n16n0phe.js → render-v2-cfsh13z3.js} +3 -3
  142. package/dist/{resume-z0fgjc38.js → resume-5s2t0dbs.js} +10 -8
  143. package/dist/{runtime-xe3aqy4x.js → runtime-bt5pkpm1.js} +1 -1
  144. package/dist/{session-access-cv3mq6mc.js → session-access-dnbyp3cn.js} +6 -4
  145. package/dist/{setup-mafhj3yt.js → setup-1wj1y77j.js} +1 -1
  146. package/dist/{typesafe-system-one-2hgpayzy.js → typesafe-system-one-bre38hvs.js} +4 -2
  147. package/dist/{virtual-modules-4r3zkc20.js → virtual-modules-mnfbh5mr.js} +8 -2
  148. package/dist/{work-objects-8b86mgjp.js → work-objects-7mg6216g.js} +26 -24
  149. package/dist/worker-nwb789mg.js +79 -0
  150. package/dist/{x-y45mthwn.js → x-pbpezr0s.js} +2 -2
  151. package/openapi.json +793 -6
  152. package/package.json +11 -11
  153. package/src/apps/catalog.generated.json +206 -4
  154. package/src/apps/page-validator.ts +13 -1
  155. package/src/assets/key.ts +17 -0
  156. package/src/azure-devops/handlers.ts +1 -1
  157. package/src/be/chunking.ts +42 -9
  158. package/src/be/db/approvals.ts +18 -0
  159. package/src/be/db/session-moves.ts +164 -0
  160. package/src/be/db/session-tree.ts +384 -0
  161. package/src/be/db/tasks/draft-text.ts +15 -0
  162. package/src/be/db/tasks/read.ts +54 -5
  163. package/src/be/db/workflow-runs.ts +96 -0
  164. package/src/be/db.ts +85 -237
  165. package/src/be/memory/index-content.ts +36 -17
  166. package/src/be/memory/providers/openai-embedding.ts +115 -61
  167. package/src/be/memory/providers/sqlite-store.ts +69 -23
  168. package/src/be/memory/reranker.ts +31 -1
  169. package/src/be/memory/search-candidates.ts +47 -0
  170. package/src/be/memory/types.ts +14 -0
  171. package/src/be/onboarding.ts +3 -0
  172. package/src/be/scripts/typecheck.ts +2 -0
  173. package/src/be/seed-scripts/catalog/heartbeat-jev-gate.ts +106 -54
  174. package/src/be/seed-scripts/index.ts +2 -2
  175. package/src/be/skill-sync.ts +43 -2
  176. package/src/be/swarm-config-guard.ts +25 -1
  177. package/src/be/task-attachment-store.ts +30 -0
  178. package/src/bitbucket/api.ts +81 -0
  179. package/src/bitbucket/auth.ts +64 -0
  180. package/src/bitbucket/handlers.ts +434 -0
  181. package/src/bitbucket/index.ts +28 -0
  182. package/src/bitbucket/templates.ts +134 -0
  183. package/src/bitbucket/types.ts +65 -0
  184. package/src/commands/runner.ts +55 -3
  185. package/src/e2b/env.ts +1 -0
  186. package/src/extensions/catalog.generated.json +4 -4
  187. package/src/extensions/contract-types.generated.ts +1 -1
  188. package/src/extensions/contract.ts +9 -2
  189. package/src/extensions/post-bridge.ts +1 -0
  190. package/src/fs/provider.ts +13 -1
  191. package/src/github/handlers.ts +6 -6
  192. package/src/gitlab/handlers.ts +5 -5
  193. package/src/heartbeat/heartbeat.ts +31 -11
  194. package/src/http/assets.ts +14 -2
  195. package/src/http/core.ts +12 -0
  196. package/src/http/fs.ts +54 -34
  197. package/src/http/index.ts +4 -0
  198. package/src/http/mcp-body.ts +37 -0
  199. package/src/http/mcp-user.ts +3 -5
  200. package/src/http/mcp.ts +6 -7
  201. package/src/http/memory.ts +26 -15
  202. package/src/http/onboarding.ts +1 -0
  203. package/src/http/page-proxy.ts +61 -5
  204. package/src/http/pages-public.ts +27 -44
  205. package/src/http/pages.ts +4 -4
  206. package/src/http/script-runs.ts +2 -0
  207. package/src/http/sessions.ts +366 -12
  208. package/src/http/skills.ts +48 -1
  209. package/src/http/tasks.ts +1 -1
  210. package/src/http/users.ts +13 -1
  211. package/src/http/webhooks.ts +141 -0
  212. package/src/integrations/chat-sdk/adapters.ts +24 -4
  213. package/src/integrations/chat-sdk/attachments.ts +90 -12
  214. package/src/integrations/chat-sdk/facts.ts +138 -0
  215. package/src/integrations/chat-sdk/inbound.ts +156 -8
  216. package/src/integrations/chat-sdk/limits.ts +24 -0
  217. package/src/integrations/chat-sdk/outbound-files.ts +186 -0
  218. package/src/integrations/chat-sdk/outbound.ts +272 -5
  219. package/src/integrations/chat-sdk/relay.ts +4 -1
  220. package/src/integrations/chat-sdk/router.ts +28 -2
  221. package/src/integrations/chat-sdk/steering.ts +9 -0
  222. package/src/integrations/chat-sdk/templates.ts +14 -0
  223. package/src/integrations/chat-sdk/thread-buffer.ts +4 -0
  224. package/src/mcp-limits.ts +20 -0
  225. package/src/pages/browser-sdk.ts +8 -3
  226. package/src/pages/feedback-overlay.ts +1 -1
  227. package/src/providers/acp-targets.ts +1 -1
  228. package/src/providers/amp-adapter.ts +1 -1
  229. package/src/providers/codex-adapter.ts +106 -119
  230. package/src/providers/codex-agents-md.ts +35 -229
  231. package/src/providers/cursor-adapter.ts +1 -1
  232. package/src/providers/pi-mono-adapter.ts +5 -53
  233. package/src/realtime/transport.ts +1 -2
  234. package/src/script-workflows/workflow-ctx.ts +1 -0
  235. package/src/scripts-runtime/types/stdlib.d.ts +2 -0
  236. package/src/scripts-runtime/types/swarm-extension.d.ts +14 -4
  237. package/src/scripts-runtime/types/swarm-sdk.d.ts +2 -0
  238. package/src/server-user.ts +2 -0
  239. package/src/server.ts +2 -0
  240. package/src/slack/assistant.ts +2 -2
  241. package/src/slack/files.ts +2 -0
  242. package/src/slack/handlers.test.ts +158 -0
  243. package/src/slack/handlers.ts +23 -32
  244. package/src/slack/inbound-files.ts +39 -6
  245. package/src/slack/thread-buffer.ts +2 -1
  246. package/src/tasks/context-key.ts +61 -1
  247. package/src/tasks/task-terminal-effects.ts +21 -17
  248. package/src/tests/apps-card-grid.test.ts +197 -0
  249. package/src/tests/apps-catalog-additions.test.ts +120 -0
  250. package/src/tests/apps-tree.test.ts +129 -0
  251. package/src/tests/bitbucket-auth.test.ts +156 -0
  252. package/src/tests/bitbucket-handlers.test.ts +425 -0
  253. package/src/tests/bitbucket-webhook.test.ts +220 -0
  254. package/src/tests/chat-sdk-attachments-reply.test.ts +52 -0
  255. package/src/tests/chat-sdk-config.test.ts +11 -0
  256. package/src/tests/chat-sdk-facts.test.ts +23 -0
  257. package/src/tests/chat-sdk-inbound.test.ts +597 -4
  258. package/src/tests/chat-sdk-outbound-files.test.ts +652 -0
  259. package/src/tests/chat-sdk-telegram-markdown.test.ts +92 -0
  260. package/src/tests/codex-adapter.test.ts +167 -242
  261. package/src/tests/config-api-only-keys.test.ts +9 -0
  262. package/src/tests/context-key.test.ts +50 -0
  263. package/src/tests/core-auth.test.ts +5 -0
  264. package/src/tests/cors-allowlist.test.ts +1 -1
  265. package/src/tests/db-task-read-contract.test.ts +7 -0
  266. package/src/tests/db-task-write-contract.test.ts +6 -0
  267. package/src/tests/docs-index-footprint.test.js +3 -3
  268. package/src/tests/extensions-example-slack-reply-gate.test.ts +262 -91
  269. package/src/tests/fixtures/bitbucket/pullrequest-comment-created-inline.json +174 -0
  270. package/src/tests/fixtures/bitbucket/pullrequest-comment-created.json +170 -0
  271. package/src/tests/fixtures/bitbucket/pullrequest-created-mention.json +132 -0
  272. package/src/tests/fixtures/bitbucket/pullrequest-created-reviewer.json +140 -0
  273. package/src/tests/fixtures/bitbucket/pullrequest-fulfilled.json +134 -0
  274. package/src/tests/fixtures/bitbucket/pullrequest-rejected.json +133 -0
  275. package/src/tests/generate-mcp-docs.test.ts +101 -0
  276. package/src/tests/gitlab-handlers.test.ts +3 -3
  277. package/src/tests/gitlab-vcs-db.test.ts +4 -4
  278. package/src/tests/heartbeat-checklist.test.ts +33 -0
  279. package/src/tests/heartbeat-jev-gate-credentials.test.ts +44 -0
  280. package/src/tests/heartbeat-jev-gate.test.ts +242 -1
  281. package/src/tests/integration-disable-flags.test.ts +36 -0
  282. package/src/tests/kv-page-proxy.test.ts +91 -5
  283. package/src/tests/launch-password-rejection.test.ts +2 -2
  284. package/src/tests/mcp-input-caps.test.ts +294 -0
  285. package/src/tests/mcp-tools.test.ts +1 -1
  286. package/src/tests/memory-chunked-search-starvation.test.ts +200 -0
  287. package/src/tests/memory-embedding-input-cap.test.ts +114 -0
  288. package/src/tests/memory.test.ts +14 -0
  289. package/src/tests/onboarding.test.ts +12 -0
  290. package/src/tests/page-guest-session.test.ts +19 -8
  291. package/src/tests/page-proxy-authed.test.ts +1 -1
  292. package/src/tests/page-proxy.test.ts +17 -10
  293. package/src/tests/page-session.test.ts +102 -1
  294. package/src/tests/pages-authed-mode.test.ts +82 -12
  295. package/src/tests/pages-password-mode.test.ts +5 -5
  296. package/src/tests/pi-codemode.test.ts +8 -2
  297. package/src/tests/preload-env.test.ts +57 -0
  298. package/src/tests/preload.ts +21 -0
  299. package/src/tests/prompt-template-remaining.test.ts +38 -0
  300. package/src/tests/realtime-transport.test.ts +13 -7
  301. package/src/tests/run-root-coverage.test.ts +39 -0
  302. package/src/tests/runner-bitbucket-vcs.test.ts +191 -0
  303. package/src/tests/runner-skills-refresh.test.ts +58 -0
  304. package/src/tests/script-runs-http.test.ts +84 -0
  305. package/src/tests/scripts-http.test.ts +10 -1
  306. package/src/tests/secret-scrubber.test.ts +15 -0
  307. package/src/tests/sessions-move.test.ts +576 -0
  308. package/src/tests/sessions-tree.test.ts +493 -0
  309. package/src/tests/skill-files-http.test.ts +50 -0
  310. package/src/tests/skills-bundle.test.ts +99 -0
  311. package/src/tests/swarm-config-export-to-env.test.ts +23 -3
  312. package/src/tests/task-audio-transcription.test.ts +299 -0
  313. package/src/tests/task-completion-memory-chunking.test.ts +434 -0
  314. package/src/tests/task-terminal-secret-scrub.test.ts +6 -1
  315. package/src/tests/transcription.test.ts +299 -0
  316. package/src/tests/vcs-bitbucket.test.ts +91 -0
  317. package/src/tests/vcs-provider-isolation.test.ts +123 -0
  318. package/src/tests/vcs-provider.test.ts +16 -1
  319. package/src/tests/vcs-tracking.test.ts +3 -3
  320. package/src/tests/workflow-foreach-bodies.test.ts +637 -0
  321. package/src/tests/workflow-foreach-concurrency.test.ts +342 -0
  322. package/src/tests/workflow-foreach-retry.test.ts +537 -0
  323. package/src/tests/workflow-foreach.test.ts +44 -23
  324. package/src/tests/workflow-step-claims.test.ts +6 -6
  325. package/src/tests/workflow-system-one-decision-providers.test.ts +98 -1
  326. package/src/tests/workflow-system-one-decision.test.ts +2 -1
  327. package/src/tests/workflow-tla-races.test.ts +2 -2
  328. package/src/tools/chat-access.ts +10 -0
  329. package/src/tools/chat-post.ts +31 -11
  330. package/src/tools/chat-reply.ts +32 -10
  331. package/src/tools/memory-search.ts +3 -1
  332. package/src/tools/script-delete.ts +1 -1
  333. package/src/tools/system-one-decide.ts +17 -4
  334. package/src/tools/workflows/create-workflow.ts +5 -3
  335. package/src/types.ts +9 -2
  336. package/src/utils/config-env-export.ts +4 -1
  337. package/src/utils/page-session.ts +133 -20
  338. package/src/utils/secret-scrubber.ts +4 -0
  339. package/src/utils/skills-refresh.ts +83 -43
  340. package/src/utils/transcription.ts +246 -0
  341. package/src/vcs/bitbucket.ts +58 -0
  342. package/src/vcs/index.ts +2 -0
  343. package/src/vcs/types.ts +2 -2
  344. package/src/workflows/approval-resolution.ts +4 -1
  345. package/src/workflows/checkpoint.ts +9 -1
  346. package/src/workflows/constants.ts +3 -0
  347. package/src/workflows/definition.ts +48 -17
  348. package/src/workflows/engine.ts +25 -15
  349. package/src/workflows/executors/foreach.ts +45 -99
  350. package/src/workflows/executors/system-one-decision.ts +28 -7
  351. package/src/workflows/executors/system-one-providers.ts +39 -4
  352. package/src/workflows/foreach-body.ts +146 -0
  353. package/src/workflows/foreach-driver.ts +552 -0
  354. package/src/workflows/foreach-join.ts +206 -7
  355. package/src/workflows/node-timeout.ts +21 -0
  356. package/src/workflows/recovery.ts +68 -3
  357. package/src/workflows/resume.ts +221 -43
  358. package/src/workflows/retry-poller.ts +39 -24
  359. package/src/workflows/step-input.ts +59 -0
  360. package/src/workflows/task-step-routing.ts +114 -56
  361. package/templates/extensions/slack-reply-gate/README.md +24 -22
  362. package/templates/extensions/slack-reply-gate/hooks.ts +146 -95
  363. package/templates/extensions/slack-reply-gate/manifest.json +2 -2
  364. package/templates/skills/apps/SKILL.md +28 -6
  365. package/templates/skills/apps/content.md +28 -6
  366. package/templates/skills/chat-sdk/content.md +6 -2
  367. package/templates/skills/code-quality/content.md +2 -1
  368. package/templates/skills/heartbeat-runbook/content.md +5 -5
  369. package/templates/skills/pages/content.md +6 -4
  370. package/templates/skills/slack-interaction/content.md +5 -0
  371. package/templates/skills/swarm-scripts/SKILL.md +2 -2
  372. package/templates/skills/swarm-scripts/content.md +2 -2
  373. package/templates/skills/work-on-task/SKILL.md +1 -1
  374. package/templates/skills/work-on-task/content.md +1 -1
  375. package/dist/cli-51y09c6p.js +0 -2657
  376. package/dist/cli-yw91rnmw.js +0 -13
  377. package/dist/handlers-0pvee9nw.js +0 -39
  378. package/dist/index-gdh8jrdm.js +0 -43
  379. package/dist/index-hg0x2cdv.js +0 -40
  380. package/dist/index-thm0y6a8.js +0 -41
  381. package/dist/lead-ee8vazz2.js +0 -77
  382. package/dist/worker-16s75hm5.js +0 -77
package/README.md CHANGED
@@ -85,10 +85,12 @@ The plugin's [privacy](https://www.agent-swarm.dev/privacy) and
85
85
  [terms](https://www.agent-swarm.dev/terms) links describe the Agent Swarm website and
86
86
  Cloud service. The self-hosted software remains covered by the [MIT License](./LICENSE).
87
87
 
88
- Or self-host with the one-shot installer. It checks Docker and Compose v2, installs Bun when missing, runs `agent-swarm onboard --yes`, and prints the dashboard `/setup` link:
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
+
90
+ 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):
89
91
 
90
92
  ```bash
91
- curl -fsSL https://raw.githubusercontent.com/desplega-ai/agent-swarm/main/install.sh | bash
93
+ curl -fsSL https://raw.githubusercontent.com/desplega-ai/agent-swarm/main/install.sh | bash -s -- --preset full
92
94
  ```
93
95
 
94
96
  Or use the examples directly:
@@ -1,24 +1,26 @@
1
1
  import {
2
2
  ACPAdapter2
3
- } from "./cli-te6b5wvg.js";
4
- import"./cli-36ckw0wx.js";
5
- import"./cli-vfha21c9.js";
3
+ } from "./cli-nnvjb17s.js";
4
+ import"./cli-stxdrqs2.js";
5
+ import"./cli-e5bxnjps.js";
6
6
  import"./cli-4bd1rck6.js";
7
7
  import"./cli-jc1g9ndz.js";
8
8
  import"./cli-a5ebc95n.js";
9
- import"./cli-pnp2j5zg.js";
9
+ import"./cli-mmhj8vd7.js";
10
10
  import"./cli-0726awxw.js";
11
11
  import"./cli-5kqnemen.js";
12
12
  import"./cli-bn0rewsy.js";
13
13
  import"./cli-3h26v7yj.js";
14
14
  import"./cli-e8xyjvfc.js";
15
15
  import"./cli-3ggwdtb0.js";
16
- import"./cli-8nyhf7za.js";
17
- import"./cli-ejs3m1sx.js";
16
+ import"./cli-qqzmjxkf.js";
17
+ import"./cli-kxpfx2xr.js";
18
18
  import"./cli-13p25grh.js";
19
19
  import"./cli-0adyhvq2.js";
20
+ import"./cli-rycdaj0a.js";
20
21
  import"./cli-445c1vp7.js";
21
22
  import"./cli-kvzgak7c.js";
23
+ import"./cli-2nf3b08t.js";
22
24
  export {
23
25
  ACPAdapter2 as ACPAdapter
24
26
  };
@@ -6,16 +6,16 @@ import {
6
6
  getTaskById2,
7
7
  cancelTask2,
8
8
  init_db3
9
- } from "./cli-p20r8w42.js";
10
- import"./cli-2zqpkvtt.js";
11
- import"./cli-amyhm3gj.js";
12
- import"./cli-xc27fwzg.js";
9
+ } from "./cli-fcc5qe3f.js";
10
+ import"./cli-jpxsrxcb.js";
11
+ import"./cli-0y6f0ckq.js";
12
+ import"./cli-y9jvxfhk.js";
13
13
  import {
14
14
  createTaskWithSiblingAwareness
15
- } from "./cli-v3yr2gbg.js";
16
- import"./cli-51y09c6p.js";
17
- import"./cli-2y91wnbh.js";
18
- import"./cli-esxerzg7.js";
15
+ } from "./cli-5kzk3472.js";
16
+ import"./cli-92mqenkc.js";
17
+ import"./cli-we0ra057.js";
18
+ import"./cli-s4sntwt4.js";
19
19
  import"./cli-3ggwdtb0.js";
20
20
  import {
21
21
  noteSlackInboundSideEffect,
@@ -26,32 +26,34 @@ import {
26
26
  getAgentEmoji,
27
27
  isSlackRenderV2Enabled2,
28
28
  ensureSlackThreadTree2
29
- } from "./cli-qkhc5aqy.js";
29
+ } from "./cli-fy1jyyym.js";
30
30
  import {
31
31
  EXTERNAL_CHANNEL_BLOCKED_REPLY2,
32
32
  shouldBlockChannel2
33
- } from "./cli-1d70crsy.js";
34
- import"./cli-q6r7t299.js";
35
- import"./cli-8nyhf7za.js";
33
+ } from "./cli-ftmq4nvk.js";
34
+ import"./cli-qqzmjxkf.js";
35
+ import"./cli-2nf3b08t.js";
36
36
  import"./cli-kvzgak7c.js";
37
37
  import"./cli-445c1vp7.js";
38
- import"./cli-ejs3m1sx.js";
39
- import"./cli-wt645v7q.js";
38
+ import"./cli-kxpfx2xr.js";
39
+ import"./cli-dabehxhp.js";
40
+ import"./cli-3zwye9sn.js";
40
41
  import"./cli-qz93y3x5.js";
41
- import"./cli-4dg55wsk.js";
42
- import"./cli-t7cyef5g.js";
42
+ import"./cli-0z3vjrpm.js";
43
+ import"./cli-36j4jnk3.js";
43
44
  import"./cli-e8xyjvfc.js";
44
- import"./cli-qje9k2nh.js";
45
- import"./cli-w6nadkh4.js";
46
- import"./cli-cynvc9fj.js";
45
+ import"./cli-g9ypd5en.js";
46
+ import"./cli-5rvg1ddk.js";
47
+ import"./cli-9ce2xw98.js";
47
48
  import"./cli-3h26v7yj.js";
48
- import"./cli-smvcw9z5.js";
49
+ import"./cli-pasyvjmm.js";
49
50
  import {
50
51
  resolveSlackUserId
51
- } from "./cli-2v045xyf.js";
52
+ } from "./cli-7bwtc6yx.js";
52
53
  import"./cli-13p25grh.js";
53
54
  import"./cli-0adyhvq2.js";
54
- import"./cli-9fhkkpj5.js";
55
+ import"./cli-xt768r5m.js";
56
+ import"./cli-rycdaj0a.js";
55
57
 
56
58
  // src/slack/actions.ts
57
59
  init_db3();
@@ -2,11 +2,11 @@ import {
2
2
  checkAmpCredentials2,
3
3
  liveTestAmpCredentials2,
4
4
  AmpAdapter2
5
- } from "./cli-1ephgwnq.js";
5
+ } from "./cli-fes51ya2.js";
6
6
  import"./cli-jc1g9ndz.js";
7
7
  import"./cli-a5ebc95n.js";
8
8
  import"./cli-bn0rewsy.js";
9
- import"./cli-2zqpkvtt.js";
9
+ import"./cli-jpxsrxcb.js";
10
10
  import"./cli-e8xyjvfc.js";
11
11
  import"./cli-3ggwdtb0.js";
12
12
  export {
@@ -1,6 +1,14 @@
1
1
  import {
2
2
  getProviderEnvValue
3
3
  } from "./cli-445c1vp7.js";
4
+ import {
5
+ getSystemMessageText,
6
+ renderSystemMessageUpdate,
7
+ getInitialSystemMessage,
8
+ getCurrentTools,
9
+ resolveTranscript,
10
+ calculateCost
11
+ } from "./cli-2nf3b08t.js";
4
12
  import {
5
13
  parseJsonWithRepair,
6
14
  parseToolCallArguments,
@@ -13,9 +21,6 @@ import {
13
21
  import {
14
22
  retryProviderRequest
15
23
  } from "./cli-w6pm0v4s.js";
16
- import {
17
- getPiUserAgent
18
- } from "./cli-yw91rnmw.js";
19
24
  import {
20
25
  __classPrivateFieldSet2,
21
26
  __classPrivateFieldGet2,
@@ -80,25 +85,20 @@ import {
80
85
  adjustMaxTokensForThinking,
81
86
  splitErrorToolResultImages,
82
87
  transformMessages
83
- } from "./cli-3r8samv3.js";
88
+ } from "./cli-1f0gp9vz.js";
84
89
  import {
85
90
  sanitizeSurrogates
86
91
  } from "./cli-xs8nzjqf.js";
87
92
  import {
88
93
  headersToRecord
89
94
  } from "./cli-hf1b007k.js";
90
- import {
91
- getSystemMessageText,
92
- renderSystemMessageUpdate,
93
- getInitialSystemMessage,
94
- getCurrentTools,
95
- resolveTranscript,
96
- calculateCost
97
- } from "./cli-0bqteszy.js";
98
95
  import {
99
96
  AssistantMessageEventStream,
100
97
  appendAssistantMessageDiagnostic
101
98
  } from "./cli-m6m1bvtp.js";
99
+ import {
100
+ getIdentityHeaders
101
+ } from "./cli-pkaqk57w.js";
102
102
  import {
103
103
  __toESM
104
104
  } from "./cli-242037k3.js";
@@ -9315,9 +9315,6 @@ function mergeHeaders(...headerSources) {
9315
9315
  }
9316
9316
  return merged;
9317
9317
  }
9318
- function mergeClientHeaders(...headerSources) {
9319
- return mergeHeaders({ "User-Agent": getPiUserAgent() }, ...headerSources);
9320
- }
9321
9318
  function hasHeader(headers, name) {
9322
9319
  if (!headers)
9323
9320
  return false;
@@ -9556,7 +9553,7 @@ var stream = (model, context, options) => {
9556
9553
  }
9557
9554
  const cacheRetention = resolveCacheRetention(options?.cacheRetention, options?.env);
9558
9555
  const cacheSessionId = cacheRetention === "none" ? undefined : options?.sessionId;
9559
- const created = createClient(model, apiKey, options?.headers, options?.fetch, copilotDynamicHeaders, cacheSessionId, federation);
9556
+ const created = createClient(model, apiKey, options?.headers, options?.fetch, copilotDynamicHeaders, cacheSessionId, federation, options?.identity);
9560
9557
  client = created.client;
9561
9558
  isOAuth = created.isOAuthToken;
9562
9559
  }
@@ -9870,7 +9867,7 @@ var streamSimple = (model, context, options) => {
9870
9867
  function isOAuthToken(apiKey) {
9871
9868
  return apiKey.includes("sk-ant-oat");
9872
9869
  }
9873
- function createClient(model, apiKey, optionsHeaders, fetch2, dynamicHeaders, sessionId, federation) {
9870
+ function createClient(model, apiKey, optionsHeaders, fetch2, dynamicHeaders, sessionId, federation, identity) {
9874
9871
  if (model.provider === "github-copilot") {
9875
9872
  const client = new PiAnthropic({
9876
9873
  apiKey: null,
@@ -9878,7 +9875,7 @@ function createClient(model, apiKey, optionsHeaders, fetch2, dynamicHeaders, ses
9878
9875
  baseURL: model.baseUrl,
9879
9876
  dangerouslyAllowBrowser: true,
9880
9877
  fetch: fetch2,
9881
- defaultHeaders: mergeClientHeaders({
9878
+ defaultHeaders: mergeHeaders(getIdentityHeaders(model, identity), {
9882
9879
  accept: "application/json",
9883
9880
  "anthropic-dangerous-direct-browser-access": "true"
9884
9881
  }, model.headers, dynamicHeaders, optionsHeaders)
@@ -9892,7 +9889,7 @@ function createClient(model, apiKey, optionsHeaders, fetch2, dynamicHeaders, ses
9892
9889
  baseURL: model.baseUrl,
9893
9890
  dangerouslyAllowBrowser: true,
9894
9891
  fetch: fetch2,
9895
- defaultHeaders: mergeClientHeaders({
9892
+ defaultHeaders: mergeHeaders({
9896
9893
  accept: "application/json",
9897
9894
  "anthropic-dangerous-direct-browser-access": "true",
9898
9895
  "user-agent": `claude-cli/${claudeCodeVersion}`,
@@ -9907,7 +9904,7 @@ function createClient(model, apiKey, optionsHeaders, fetch2, dynamicHeaders, ses
9907
9904
  const header = compat.sessionAffinityFormat === "openrouter" ? "x-session-id" : "x-session-affinity";
9908
9905
  sessionAffinityHeaders[header] = sessionId;
9909
9906
  }
9910
- const defaultHeaders = mergeClientHeaders({
9907
+ const defaultHeaders = mergeHeaders(getIdentityHeaders(model, identity), {
9911
9908
  accept: "application/json",
9912
9909
  "anthropic-dangerous-direct-browser-access": "true"
9913
9910
  }, sessionAffinityHeaders, model.headers, optionsHeaders);
@@ -3,9 +3,9 @@ import {
3
3
  initSlackApp2,
4
4
  startSlackApp2,
5
5
  stopSlackApp2
6
- } from "./cli-qkhc5aqy.js";
7
- import"./cli-1d70crsy.js";
8
- import"./cli-p20r8w42.js";
6
+ } from "./cli-fy1jyyym.js";
7
+ import"./cli-ftmq4nvk.js";
8
+ import"./cli-fcc5qe3f.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-p20r8w42.js";
9
+ } from "./cli-fcc5qe3f.js";
10
10
  import {
11
11
  require_dist4,
12
12
  noteSlackInboundSideEffect,
@@ -17,51 +17,53 @@ import {
17
17
  markSlackSessionProcessing,
18
18
  isSlackRenderV2Enabled2,
19
19
  ensureSlackThreadTree2
20
- } from "./cli-qkhc5aqy.js";
20
+ } from "./cli-fy1jyyym.js";
21
21
  import {
22
22
  shouldBlockChannel2
23
- } from "./cli-1d70crsy.js";
23
+ } from "./cli-ftmq4nvk.js";
24
24
  import {
25
25
  buildEffectiveText,
26
26
  fetchSlackFiles,
27
27
  createSlackTaskWithFiles,
28
28
  notifySlackFileFailures,
29
29
  hasOtherUserMention
30
- } from "./cli-v3yr2gbg.js";
30
+ } from "./cli-5kzk3472.js";
31
31
  import {
32
32
  resolveSlackUserId,
33
33
  rewriteSlackMentions
34
- } from "./cli-2v045xyf.js";
34
+ } from "./cli-7bwtc6yx.js";
35
35
  import {
36
36
  wasEventSeen,
37
37
  bufferThreadMessage,
38
38
  getBufferMessageCount
39
- } from "./cli-b8k7epj1.js";
40
- import"./cli-qje9k2nh.js";
41
- import"./cli-2zqpkvtt.js";
42
- import"./cli-amyhm3gj.js";
43
- import"./cli-xc27fwzg.js";
44
- import"./cli-51y09c6p.js";
45
- import"./cli-2y91wnbh.js";
46
- import"./cli-esxerzg7.js";
39
+ } from "./cli-segs7hx9.js";
40
+ import"./cli-g9ypd5en.js";
41
+ import"./cli-jpxsrxcb.js";
42
+ import"./cli-0y6f0ckq.js";
43
+ import"./cli-y9jvxfhk.js";
44
+ import"./cli-92mqenkc.js";
45
+ import"./cli-we0ra057.js";
46
+ import"./cli-s4sntwt4.js";
47
47
  import"./cli-3ggwdtb0.js";
48
- import"./cli-q6r7t299.js";
49
- import"./cli-8nyhf7za.js";
48
+ import"./cli-qqzmjxkf.js";
49
+ import"./cli-2nf3b08t.js";
50
50
  import"./cli-kvzgak7c.js";
51
51
  import"./cli-445c1vp7.js";
52
- import"./cli-ejs3m1sx.js";
53
- import"./cli-wt645v7q.js";
52
+ import"./cli-kxpfx2xr.js";
53
+ import"./cli-dabehxhp.js";
54
+ import"./cli-3zwye9sn.js";
54
55
  import"./cli-qz93y3x5.js";
55
- import"./cli-4dg55wsk.js";
56
- import"./cli-t7cyef5g.js";
56
+ import"./cli-0z3vjrpm.js";
57
+ import"./cli-36j4jnk3.js";
57
58
  import"./cli-e8xyjvfc.js";
58
- import"./cli-w6nadkh4.js";
59
- import"./cli-cynvc9fj.js";
59
+ import"./cli-5rvg1ddk.js";
60
+ import"./cli-9ce2xw98.js";
60
61
  import"./cli-3h26v7yj.js";
61
- import"./cli-smvcw9z5.js";
62
+ import"./cli-pasyvjmm.js";
62
63
  import"./cli-13p25grh.js";
63
64
  import"./cli-0adyhvq2.js";
64
- import"./cli-9fhkkpj5.js";
65
+ import"./cli-xt768r5m.js";
66
+ import"./cli-rycdaj0a.js";
65
67
  import {
66
68
  resolveTemplate,
67
69
  init_resolver
@@ -192,8 +194,8 @@ function createAssistant() {
192
194
  }
193
195
  if (files?.length)
194
196
  await safeSetStatus("Downloading attachments...");
195
- const inbound = __using(__stack, await fetchSlackFiles(client, files), 1);
196
- const renderedMessageText = await rewriteSlackMentions(buildEffectiveText(messageText, inbound.files, inbound.failed), cachedBotUserId ?? undefined);
197
+ const inbound = __using(__stack, await fetchSlackFiles(client, files, { transcribe: true }), 1);
198
+ const renderedMessageText = await rewriteSlackMentions(buildEffectiveText(messageText, inbound.files, inbound.failed, inbound.notes), cachedBotUserId ?? undefined);
197
199
  if (workingAgent && workingAgent.status !== "offline") {
198
200
  const latestTask = await getMostRecentTaskInThread2(channelId, threadTs);
199
201
  const { task, unattached } = await createSlackTaskWithFiles(renderedMessageText, {
@@ -1,22 +1,26 @@
1
1
  import {
2
2
  AzureOpenAI
3
3
  } from "./cli-629desp2.js";
4
+ import {
5
+ resolveTranscript,
6
+ getDeclaredTools,
7
+ resolveTranscriptTools,
8
+ clampThinkingLevel
9
+ } from "./cli-2nf3b08t.js";
4
10
  import"./cli-445c1vp7.js";
5
11
  import"./cli-kvzgak7c.js";
6
12
  import {
13
+ getResponsesToolSupport,
7
14
  convertResponsesMessages,
8
15
  convertResponsesTools,
9
16
  processResponsesStream
10
- } from "./cli-h7gc0b4r.js";
17
+ } from "./cli-5m84zd2k.js";
11
18
  import {
12
19
  clampOpenAIPromptCacheKey
13
20
  } from "./cli-dxqypk0n.js";
14
21
  import {
15
22
  retryProviderRequest
16
23
  } from "./cli-w6pm0v4s.js";
17
- import {
18
- getPiUserAgent
19
- } from "./cli-yw91rnmw.js";
20
24
  import {
21
25
  resolveDeploymentName,
22
26
  resolveAzureConfig
@@ -29,19 +33,16 @@ import {
29
33
  createGrammarToolInputProperties,
30
34
  resolveSamplingParams,
31
35
  buildBaseOptions
32
- } from "./cli-3r8samv3.js";
36
+ } from "./cli-1f0gp9vz.js";
33
37
  import {
34
38
  headersToRecord
35
39
  } from "./cli-hf1b007k.js";
36
- import {
37
- resolveTranscript,
38
- getDeclaredTools,
39
- resolveTranscriptTools,
40
- clampThinkingLevel
41
- } from "./cli-0bqteszy.js";
42
40
  import {
43
41
  AssistantMessageEventStream
44
42
  } from "./cli-m6m1bvtp.js";
43
+ import {
44
+ getIdentityHeaders
45
+ } from "./cli-pkaqk57w.js";
45
46
 
46
47
  // node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js
47
48
  var AZURE_TOOL_CALL_PROVIDERS = new Set(["openai", "openai-codex", "opencode", "azure"]);
@@ -141,7 +142,7 @@ var streamSimple = (model, context, options) => {
141
142
  });
142
143
  };
143
144
  function createClient(model, apiKey, options) {
144
- const headers = { "User-Agent": getPiUserAgent(), ...model.headers };
145
+ const headers = { ...getIdentityHeaders(model, options?.identity), ...model.headers };
145
146
  if (options?.headers) {
146
147
  Object.assign(headers, options.headers);
147
148
  }
@@ -158,7 +159,11 @@ function createClient(model, apiKey, options) {
158
159
  function buildParams(model, context, options, deploymentName, grammarToolInputProperties = createGrammarToolInputProperties(getDeclaredTools(context.messages), model.compat?.supportsOpenAIGrammarTools ?? false)) {
159
160
  const supportsAdditionalTools = model.compat?.supportsAdditionalTools ?? false;
160
161
  const supportsToolSearch = model.compat?.supportsToolSearch ?? false;
161
- const transcriptTools = resolveTranscriptTools(context.messages, supportsAdditionalTools || supportsToolSearch);
162
+ const transcriptTools = resolveTranscriptTools(context.messages, getResponsesToolSupport({
163
+ supportsMidConvoSystemMessages: model.compat?.supportsMidConvoSystemMessages ?? false,
164
+ supportsAdditionalTools,
165
+ supportsToolSearch
166
+ }));
162
167
  const messages = convertResponsesMessages(model, context, AZURE_TOOL_CALL_PROVIDERS, {
163
168
  grammarToolInputProperties,
164
169
  supportsMidConvoSystemMessages: model.compat?.supportsMidConvoSystemMessages ?? false,
@@ -4,7 +4,7 @@ import {
4
4
  embedScript,
5
5
  init_embeddings,
6
6
  init_db3
7
- } from "./cli-p20r8w42.js";
7
+ } from "./cli-fcc5qe3f.js";
8
8
 
9
9
  // src/be/scripts/boot-reembed.ts
10
10
  init_db3();
@@ -6,7 +6,7 @@ import {
6
6
  getMemoryStore2,
7
7
  init_memory,
8
8
  init_db3
9
- } from "./cli-p20r8w42.js";
9
+ } from "./cli-fcc5qe3f.js";
10
10
 
11
11
  // src/be/memory/boot-reembed.ts
12
12
  init_db3();
@@ -7,16 +7,16 @@ import {
7
7
  getMemoryStore2,
8
8
  init_memory,
9
9
  init_db3
10
- } from "./cli-p20r8w42.js";
10
+ } from "./cli-fcc5qe3f.js";
11
11
  import {
12
12
  contentSha256,
13
13
  init_profile_sync
14
- } from "./cli-74c1wpm0.js";
14
+ } from "./cli-gpv60278.js";
15
15
  import {
16
16
  SCRUBBER_RULES_VERSION,
17
17
  scrubSecrets,
18
18
  init_secret_scrubber
19
- } from "./cli-xf234ws8.js";
19
+ } from "./cli-n4c8e3s5.js";
20
20
 
21
21
  // src/be/boot-scrub-sweep.ts
22
22
  init_profile_sync();
@@ -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-srp6v6af.js");
82
+ const { runBootReembed } = await import("./boot-reembed-n4wq5dd2.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-t7cyef5g.js";
6
- import"./cli-amyhm3gj.js";
7
- import"./cli-4dg55wsk.js";
8
- import"./cli-p20r8w42.js";
5
+ } from "./cli-36j4jnk3.js";
6
+ import"./cli-0y6f0ckq.js";
7
+ import"./cli-0z3vjrpm.js";
8
+ import"./cli-fcc5qe3f.js";
9
9
  export {
10
10
  ensureModelProfilesSeeded2 as ensureModelProfilesSeeded,
11
11
  ensurePricingSeeded2 as ensurePricingSeeded,
@@ -4,27 +4,29 @@ import {
4
4
  buildClaudeSessionEnvironment2,
5
5
  runClaudeSessionSummary2,
6
6
  ClaudeAdapter2
7
- } from "./cli-vdm20wej.js";
8
- import"./cli-55qmbp6z.js";
9
- import"./cli-1m17dc9d.js";
7
+ } from "./cli-sy8f9705.js";
8
+ import"./cli-x21dqn18.js";
9
+ import"./cli-ta8bd7th.js";
10
10
  import"./cli-d82btycs.js";
11
11
  import"./cli-vbhgkw9h.js";
12
12
  import"./cli-4bd1rck6.js";
13
13
  import"./cli-jc1g9ndz.js";
14
14
  import"./cli-a5ebc95n.js";
15
- import"./cli-pnp2j5zg.js";
15
+ import"./cli-mmhj8vd7.js";
16
16
  import"./cli-0726awxw.js";
17
17
  import"./cli-gx4rm0qx.js";
18
18
  import"./cli-bn0rewsy.js";
19
19
  import"./cli-3h26v7yj.js";
20
20
  import"./cli-e8xyjvfc.js";
21
21
  import"./cli-3ggwdtb0.js";
22
- import"./cli-8nyhf7za.js";
23
- import"./cli-ejs3m1sx.js";
22
+ import"./cli-qqzmjxkf.js";
23
+ import"./cli-kxpfx2xr.js";
24
24
  import"./cli-13p25grh.js";
25
25
  import"./cli-0adyhvq2.js";
26
+ import"./cli-rycdaj0a.js";
26
27
  import"./cli-445c1vp7.js";
27
28
  import"./cli-kvzgak7c.js";
29
+ import"./cli-2nf3b08t.js";
28
30
  export {
29
31
  ClaudeAdapter2 as ClaudeAdapter,
30
32
  buildClaudeSessionEnvironment2 as buildClaudeSessionEnvironment,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  checkClaudeManagedCredentials2,
3
3
  ClaudeManagedAdapter2
4
- } from "./cli-a0kcty51.js";
4
+ } from "./cli-n6kmqngw.js";
5
5
  import"./cli-4zsenjhy.js";
6
6
  import"./cli-kr5tjjtz.js";
7
7
  import"./cli-a5ebc95n.js";
8
8
  import"./cli-0726awxw.js";
9
- import"./cli-er83cjbn.js";
9
+ import"./cli-3qv8naq8.js";
10
10
  export {
11
11
  ClaudeManagedAdapter2 as ClaudeManagedAdapter,
12
12
  checkClaudeManagedCredentials2 as checkClaudeManagedCredentials
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  toFile,
3
3
  Anthropic
4
- } from "./cli-er83cjbn.js";
5
- import"./cli-ejs3m1sx.js";
4
+ } from "./cli-3qv8naq8.js";
5
+ import"./cli-kxpfx2xr.js";
6
6
  import {
7
7
  buildSkillContent
8
8
  } from "./cli-691vz9mk.js";
9
9
  import {
10
10
  ConflictError
11
- } from "./cli-9qtjfd60.js";
11
+ } from "./cli-6rg2jn2y.js";
12
12
  import {
13
13
  DEFAULT_MODEL_TIER_MAP,
14
14
  init_types
15
- } from "./cli-nc35pxb7.js";
15
+ } from "./cli-rh5smt8t.js";
16
16
  import {
17
17
  getApiKey,
18
18
  init_api_key