@desplega.ai/agent-swarm 2.4.5 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/README.md +4 -2
  2. package/dist/{acp-adapter-2wdkktv6.js → acp-adapter-7g6bpwbk.js} +8 -6
  3. package/dist/{actions-c40ebcm4.js → actions-w8xd014k.js} +23 -21
  4. package/dist/{amp-adapter-wb67m95z.js → amp-adapter-z4qvhacj.js} +2 -2
  5. package/dist/{anthropic-messages-g6pqmqk4.js → anthropic-messages-txs190dd.js} +17 -20
  6. package/dist/{app-353vre8g.js → app-nndcvftq.js} +3 -3
  7. package/dist/{assistant-sj1njh23.js → assistant-hjmqyscx.js} +24 -22
  8. package/dist/{azure-openai-responses-9dbmj346.js → azure-openai-responses-9kfwhmn7.js} +18 -13
  9. package/dist/{boot-reembed-b9c3az3c.js → boot-reembed-r8rhf9h8.js} +1 -1
  10. package/dist/{boot-reembed-qdkvxeem.js → boot-reembed-vwcj2y5d.js} +1 -1
  11. package/dist/{boot-scrub-sweep-m3wh8eks.js → boot-scrub-sweep-fr9q36ne.js} +4 -4
  12. package/dist/{boot-seeds-j2273s54.js → boot-seeds-9jqwnegq.js} +4 -4
  13. package/dist/{claude-adapter-m7q0a085.js → claude-adapter-2f8b85df.js} +8 -6
  14. package/dist/{claude-managed-adapter-5ptb6tzs.js → claude-managed-adapter-gt6pa35d.js} +2 -2
  15. package/dist/{claude-managed-setup-smrqk5j5.js → claude-managed-setup-c3hp36ph.js} +4 -4
  16. package/dist/{claude-sdk-session-38xnz21e.js → claude-sdk-session-05kat8rv.js} +9012 -8928
  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-1sp861s4.js → cli-0jy85zz4.js} +11 -11
  20. package/dist/{cli-j99azg3g.js → cli-1dp1zj04.js} +5 -5
  21. package/dist/{cli-3r8samv3.js → cli-1f0gp9vz.js} +3 -2
  22. package/dist/{cli-94gwyg7m.js → cli-22rmcjkg.js} +9 -9
  23. package/dist/{cli-ms85309d.js → cli-2jg61wab.js} +11 -11
  24. package/dist/{cli-0bqteszy.js → cli-2nf3b08t.js} +328 -25
  25. package/dist/{cli-9yqgm9nd.js → cli-2wba1ac9.js} +161 -63
  26. package/dist/{cli-cxxe61f6.js → cli-3ee5z0q0.js} +2 -2
  27. package/dist/{cli-k8g16gz3.js → cli-3qv8naq8.js} +115 -119
  28. package/dist/{cli-60cgh1rv.js → cli-459fk97x.js} +7 -7
  29. package/dist/{cli-h7gc0b4r.js → cli-5m84zd2k.js} +55 -18
  30. package/dist/{cli-dvkmp9bt.js → cli-6ctwrf1z.js} +20 -10
  31. package/dist/{cli-848hxdwj.js → cli-6rg2jn2y.js} +2 -1
  32. package/dist/{cli-dk44dxec.js → cli-9mm5ade4.js} +1 -1
  33. package/dist/{cli-7c9qs530.js → cli-ajqhxtnz.js} +5 -5
  34. package/dist/{cli-be2161h1.js → cli-cah5detr.js} +6 -6
  35. package/dist/{cli-v8fjakwf.js → cli-cwyafhw1.js} +1 -1
  36. package/dist/{cli-wxbn3yfx.js → cli-cz5nmdxt.js} +2 -2
  37. package/dist/{cli-wt645v7q.js → cli-dabehxhp.js} +1 -1
  38. package/dist/{cli-vfha21c9.js → cli-e5bxnjps.js} +2 -2
  39. package/dist/{cli-37j04k05.js → cli-e9btqw4y.js} +13 -13
  40. package/dist/{cli-1syn2xy1.js → cli-eym3jg7w.js} +32 -18
  41. package/dist/{cli-ftc1g5tj.js → cli-fes51ya2.js} +3 -3
  42. package/dist/{cli-s95dknxh.js → cli-g1cw7xtt.js} +1 -1
  43. package/dist/{cli-74c1wpm0.js → cli-gpv60278.js} +1 -1
  44. package/dist/{cli-1f3qzw6y.js → cli-gwcf52gz.js} +2 -2
  45. package/dist/{cli-pemywhfq.js → cli-ha9rmwgq.js} +2 -1
  46. package/dist/{cli-v0yrfmdh.js → cli-hadv0725.js} +3 -3
  47. package/dist/{cli-g35m2xwm.js → cli-j1eghqfm.js} +2 -2
  48. package/dist/{cli-qfxc84gh.js → cli-jpxsrxcb.js} +1 -1
  49. package/dist/{cli-n72rg53p.js → cli-kcsd1ez8.js} +848 -426
  50. package/dist/{cli-ejs3m1sx.js → cli-kxpfx2xr.js} +1 -1
  51. package/dist/{cli-pnp2j5zg.js → cli-mmhj8vd7.js} +2 -2
  52. package/dist/{cli-st8aw1m6.js → cli-mq7kg1b1.js} +4 -4
  53. package/dist/{cli-bnes4z6b.js → cli-mz2ygeyq.js} +3 -3
  54. package/dist/{cli-xf234ws8.js → cli-n4c8e3s5.js} +2 -0
  55. package/dist/{cli-f01h25yt.js → cli-n6kmqngw.js} +2 -2
  56. package/dist/cli-nj12tn2c.js +1193 -0
  57. package/dist/{cli-1dmcq2eh.js → cli-nzfnt2gs.js} +1 -1
  58. package/dist/{cli-625tb7aq.js → cli-p859hcc8.js} +2 -2
  59. package/dist/{cli-smvcw9z5.js → cli-pasyvjmm.js} +1 -1
  60. package/dist/cli-pkaqk57w.js +128 -0
  61. package/dist/{cli-xpa64rek.js → cli-pyy4c9ch.js} +2362 -159
  62. package/dist/{cli-wt0jf9hm.js → cli-q9pzwxvk.js} +553 -193
  63. package/dist/{cli-z7d29rw9.js → cli-qfjm4gvt.js} +4 -4
  64. package/dist/{cli-p14m2cnp.js → cli-qfm6my86.js} +1 -1
  65. package/dist/{cli-8nyhf7za.js → cli-qqzmjxkf.js} +129 -105
  66. package/dist/{cli-4zfqgjc5.js → cli-r9fy0ddc.js} +2 -2
  67. package/dist/{cli-eww120g8.js → cli-rh5smt8t.js} +18 -4
  68. package/dist/{cli-a92r1127.js → cli-rngde2jv.js} +2 -2
  69. package/dist/{cli-qwkcwjdn.js → cli-rycdaj0a.js} +1 -1
  70. package/dist/{cli-fv5hepyy.js → cli-sn1vbtg2.js} +3 -3
  71. package/dist/{cli-36ckw0wx.js → cli-stxdrqs2.js} +2 -2
  72. package/dist/{cli-1m17dc9d.js → cli-ta8bd7th.js} +2 -2
  73. package/dist/{cli-43x64hv3.js → cli-v2g93k4v.js} +4 -4
  74. package/dist/{cli-d2mb5s8a.js → cli-x77gen2p.js} +680 -440
  75. package/dist/{cli-3a45zcgm.js → cli-xc65x52q.js} +2 -2
  76. package/dist/{cli-f0g3pgvf.js → cli-xd4eqtr2.js} +2 -2
  77. package/dist/{cli-018r4jq6.js → cli-y3zyaee5.js} +8 -8
  78. package/dist/{cli-kpw04va0.js → cli-z2dv25mf.js} +1 -1
  79. package/dist/{cli-qwhy2qma.js → cli-z63a269p.js} +2 -2
  80. package/dist/{cli-sm8rses9.js → cli-zfdp01hn.js} +8 -5
  81. package/dist/{cli-tw4p90jb.js → cli-znvq0k3t.js} +5 -5
  82. package/dist/cli.js +29 -27
  83. package/dist/{cloudflare-workers-ai-system-one-ch2wxfcp.js → cloudflare-workers-ai-system-one-43v9qkjk.js} +7 -2
  84. package/dist/{codex-adapter-tn6k5mkg.js → codex-adapter-p4ptwar5.js} +6 -4
  85. package/dist/{codex-login-m819c41r.js → codex-login-rn7c5gxt.js} +1 -1
  86. package/dist/{codex-session-runner-7vjt7jbw.js → codex-session-runner-964c7dnk.js} +7 -5
  87. package/dist/{commands-t7rz9146.js → commands-mbvhbrcy.js} +2 -2
  88. package/dist/{controller-m2jasma5.js → controller-gnq1k1mf.js} +4 -4
  89. package/dist/{controllers-connect-9ftpex99.js → controllers-connect-6dkm71tg.js} +25 -23
  90. package/dist/{cursor-adapter-mjv79e4z.js → cursor-adapter-yq5xgfcg.js} +1 -1
  91. package/dist/{db-6sfrn9g3.js → db-88wcymxt.js} +14 -2
  92. package/dist/{db-rn673r06.js → db-af9y8nkf.js} +3 -3
  93. package/dist/{devin-adapter-zgqadvnm.js → devin-adapter-4ycy4vrf.js} +1 -1
  94. package/dist/{dispatcher-c155xz0p.js → dispatcher-606ydx5v.js} +22 -20
  95. package/dist/{docker-fkgtr75t.js → docker-nfy2gc8t.js} +2 -2
  96. package/dist/{dsh-adapter-3mmszc1x.js → dsh-adapter-tvhc4k2d.js} +1 -1
  97. package/dist/{e2b-16d6ch39.js → e2b-9gkdhm3c.js} +2 -2
  98. package/dist/{e2b-zn0b4w5w.js → e2b-cjtf8k1z.js} +2 -2
  99. package/dist/{easter-egg-3d-5cgynaja.js → easter-egg-3d-e4qv8dxj.js} +1 -1
  100. package/dist/{event-bus-9vpk8gmq.js → event-bus-3z78ep5n.js} +1 -1
  101. package/dist/{execute-t4e6m3rw.js → execute-0xpz8950.js} +85 -23
  102. package/dist/{external-channel-35k6tkv8.js → external-channel-y8q5z8z2.js} +2 -2
  103. package/dist/{google-generative-ai-bmq8gkf3.js → google-generative-ai-mk9vcpe1.js} +15 -15
  104. package/dist/{google-vertex-b1rvp52s.js → google-vertex-q580kz8k.js} +20 -20
  105. package/dist/{grok-adapter-tfrq7tg1.js → grok-adapter-39aha52t.js} +9 -7
  106. package/dist/handlers-rk9dqech.js +41 -0
  107. package/dist/{heartbeat-dyg4npkp.js → heartbeat-jfe9zfjr.js} +25 -23
  108. package/dist/{hook-drspbwpe.js → hook-b1mez1m8.js} +9 -7
  109. package/dist/{hook-x26b31bg.js → hook-ffevzed1.js} +7 -5
  110. package/dist/{http-pk972xyw.js → http-d5b44f1r.js} +544 -76
  111. package/dist/{index-g6tbb6ve.js → index-31ceyf42.js} +1 -1
  112. package/dist/index-4q3vj1yr.js +46 -0
  113. package/dist/{index-arytgj5q.js → index-5en23s5z.js} +1 -1
  114. package/dist/index-d2qeem97.js +42 -0
  115. package/dist/index-mj46rk9k.js +43 -0
  116. package/dist/{index-jwxkkex2.js → index-nq8hhv28.js} +13 -11
  117. package/dist/{index-g216q6jr.js → index-zsyx51ap.js} +1 -4
  118. package/dist/{keepalive-7yrng7px.js → keepalive-wsby1btq.js} +4 -4
  119. package/dist/lead-paa141j6.js +79 -0
  120. package/dist/{llama-cpp-classify-vv43gswy.js → llama-cpp-classify-ee7vmd7q.js} +4 -1
  121. package/dist/{maintenance-e6cemdqt.js → maintenance-vnshcyv9.js} +1 -1
  122. package/dist/{mistral-conversations-1medfwv7.js → mistral-conversations-sd0xf1tn.js} +13 -13
  123. package/dist/{node-de6akczr.js → node-jzjj7r9x.js} +1 -1
  124. package/dist/{oauth-refresh-sweep-yw3xdbcj.js → oauth-refresh-sweep-d6sqn5np.js} +3 -3
  125. package/dist/{onboard-0a9y5yrc.js → onboard-nr4xhpzy.js} +2 -2
  126. package/dist/{openai-codex-responses-de9pvs4d.js → openai-codex-responses-79s8xnbh.js} +29 -23
  127. package/dist/{openai-completions-mtqge3nf.js → openai-completions-tdbyts0x.js} +21 -20
  128. package/dist/{openai-decisions-ygk4kkxd.js → openai-decisions-bqhnjyfz.js} +2 -1
  129. package/dist/{openai-responses-dkyng71g.js → openai-responses-dm3t5vqp.js} +26 -17
  130. package/dist/{opencode-adapter-x4tqzhkh.js → opencode-adapter-e56086m1.js} +7 -5
  131. package/dist/{openrouter-images-wvv7camj.js → openrouter-images-ssttr1y4.js} +6 -3
  132. package/dist/{otel-impl-trjpkfb7.js → otel-impl-ytn9wyv9.js} +2 -2
  133. package/dist/{pi-messages-nhh1pkz2.js → pi-messages-3nf8bq1a.js} +6 -4
  134. package/dist/{pi-mono-adapter-mcfkn9vf.js → pi-mono-adapter-tzps8f38.js} +9 -37
  135. package/dist/{pricing-refresh-d2b5my0y.js → pricing-refresh-pva04zee.js} +3 -3
  136. package/dist/{rbac-roles-nxh5ahwk.js → rbac-roles-7rc1q3g4.js} +1 -1
  137. package/dist/{rbac-roles-hey3yv9d.js → rbac-roles-ff1ffmec.js} +2 -2
  138. package/dist/{render-v2-rr3p2atg.js → render-v2-pyfsg9zk.js} +3 -3
  139. package/dist/{resume-2efkf1s1.js → resume-phj8xhqr.js} +10 -8
  140. package/dist/{runtime-xe3aqy4x.js → runtime-bt5pkpm1.js} +1 -1
  141. package/dist/{session-access-s2mttxpw.js → session-access-jzx2z9h5.js} +6 -4
  142. package/dist/{setup-vypma5yt.js → setup-rfg0f0sg.js} +1 -1
  143. package/dist/{typesafe-system-one-2hgpayzy.js → typesafe-system-one-bre38hvs.js} +4 -2
  144. package/dist/{virtual-modules-4r3zkc20.js → virtual-modules-mnfbh5mr.js} +8 -2
  145. package/dist/{work-objects-rvhckdkp.js → work-objects-44z2yjg8.js} +25 -23
  146. package/dist/worker-zsfqzxhm.js +79 -0
  147. package/dist/{x-y45mthwn.js → x-pbpezr0s.js} +2 -2
  148. package/openapi.json +785 -5
  149. package/package.json +9 -9
  150. package/src/assets/key.ts +17 -0
  151. package/src/azure-devops/handlers.ts +1 -1
  152. package/src/be/db/approvals.ts +18 -0
  153. package/src/be/db/session-moves.ts +164 -0
  154. package/src/be/db/session-tree.ts +384 -0
  155. package/src/be/db/tasks/read.ts +40 -4
  156. package/src/be/db/workflow-runs.ts +96 -0
  157. package/src/be/db.ts +80 -236
  158. package/src/be/onboarding.ts +3 -0
  159. package/src/be/skill-sync.ts +43 -2
  160. package/src/be/swarm-config-guard.ts +1 -0
  161. package/src/bitbucket/api.ts +81 -0
  162. package/src/bitbucket/auth.ts +64 -0
  163. package/src/bitbucket/handlers.ts +434 -0
  164. package/src/bitbucket/index.ts +28 -0
  165. package/src/bitbucket/templates.ts +134 -0
  166. package/src/bitbucket/types.ts +65 -0
  167. package/src/commands/runner.ts +55 -3
  168. package/src/e2b/env.ts +1 -0
  169. package/src/extensions/contract-types.generated.ts +1 -1
  170. package/src/extensions/contract.ts +2 -2
  171. package/src/extensions/post-bridge.ts +1 -0
  172. package/src/github/handlers.ts +6 -6
  173. package/src/gitlab/auth.ts +8 -2
  174. package/src/gitlab/handlers.ts +63 -15
  175. package/src/gitlab/index.ts +1 -1
  176. package/src/http/assets.ts +14 -2
  177. package/src/http/core.ts +12 -0
  178. package/src/http/index.ts +4 -0
  179. package/src/http/onboarding.ts +1 -0
  180. package/src/http/sessions.ts +366 -12
  181. package/src/http/skills.ts +48 -1
  182. package/src/http/tasks.ts +1 -1
  183. package/src/http/users.ts +1 -0
  184. package/src/http/webhooks.ts +141 -0
  185. package/src/integrations/chat-sdk/adapters.ts +19 -3
  186. package/src/integrations/chat-sdk/facts.ts +30 -12
  187. package/src/integrations/chat-sdk/outbound.ts +38 -1
  188. package/src/providers/acp-targets.ts +1 -1
  189. package/src/providers/amp-adapter.ts +1 -1
  190. package/src/providers/pi-mono-adapter.ts +5 -53
  191. package/src/scripts-runtime/types/swarm-extension.d.ts +6 -4
  192. package/src/slack/handlers.test.ts +158 -0
  193. package/src/slack/handlers.ts +19 -28
  194. package/src/tasks/context-key.ts +61 -1
  195. package/src/tests/bitbucket-auth.test.ts +156 -0
  196. package/src/tests/bitbucket-handlers.test.ts +425 -0
  197. package/src/tests/bitbucket-webhook.test.ts +220 -0
  198. package/src/tests/chat-sdk-inbound.test.ts +39 -0
  199. package/src/tests/chat-sdk-telegram-markdown.test.ts +92 -0
  200. package/src/tests/context-key.test.ts +50 -0
  201. package/src/tests/core-auth.test.ts +5 -0
  202. package/src/tests/db-task-read-contract.test.ts +7 -0
  203. package/src/tests/db-task-write-contract.test.ts +6 -0
  204. package/src/tests/docs-index-footprint.test.js +3 -3
  205. package/src/tests/fixtures/bitbucket/pullrequest-comment-created-inline.json +174 -0
  206. package/src/tests/fixtures/bitbucket/pullrequest-comment-created.json +170 -0
  207. package/src/tests/fixtures/bitbucket/pullrequest-created-mention.json +132 -0
  208. package/src/tests/fixtures/bitbucket/pullrequest-created-reviewer.json +140 -0
  209. package/src/tests/fixtures/bitbucket/pullrequest-fulfilled.json +134 -0
  210. package/src/tests/fixtures/bitbucket/pullrequest-rejected.json +133 -0
  211. package/src/tests/generate-mcp-docs.test.ts +101 -0
  212. package/src/tests/gitlab-auth.test.ts +13 -5
  213. package/src/tests/gitlab-handlers.test.ts +273 -25
  214. package/src/tests/gitlab-vcs-db.test.ts +4 -4
  215. package/src/tests/integration-disable-flags.test.ts +36 -0
  216. package/src/tests/mcp-tools.test.ts +1 -1
  217. package/src/tests/onboarding.test.ts +12 -0
  218. package/src/tests/pi-codemode.test.ts +8 -2
  219. package/src/tests/preload-env.test.ts +57 -0
  220. package/src/tests/preload.ts +21 -0
  221. package/src/tests/prompt-template-remaining.test.ts +38 -0
  222. package/src/tests/run-root-coverage.test.ts +39 -0
  223. package/src/tests/runner-bitbucket-vcs.test.ts +191 -0
  224. package/src/tests/runner-skills-refresh.test.ts +58 -0
  225. package/src/tests/secret-scrubber.test.ts +15 -0
  226. package/src/tests/sessions-move.test.ts +576 -0
  227. package/src/tests/sessions-tree.test.ts +493 -0
  228. package/src/tests/skill-files-http.test.ts +50 -0
  229. package/src/tests/skills-bundle.test.ts +99 -0
  230. package/src/tests/swarm-config-export-to-env.test.ts +2 -1
  231. package/src/tests/vcs-bitbucket.test.ts +91 -0
  232. package/src/tests/vcs-provider-isolation.test.ts +123 -0
  233. package/src/tests/vcs-provider.test.ts +16 -1
  234. package/src/tests/vcs-tracking.test.ts +3 -3
  235. package/src/tests/workflow-foreach-bodies.test.ts +637 -0
  236. package/src/tests/workflow-foreach-concurrency.test.ts +342 -0
  237. package/src/tests/workflow-foreach-retry.test.ts +537 -0
  238. package/src/tests/workflow-foreach.test.ts +44 -23
  239. package/src/tests/workflow-step-claims.test.ts +6 -6
  240. package/src/tests/workflow-tla-races.test.ts +2 -2
  241. package/src/tools/script-delete.ts +1 -1
  242. package/src/tools/workflows/create-workflow.ts +5 -3
  243. package/src/types.ts +3 -2
  244. package/src/utils/config-env-export.ts +1 -0
  245. package/src/utils/secret-scrubber.ts +4 -0
  246. package/src/utils/skills-refresh.ts +83 -43
  247. package/src/vcs/bitbucket.ts +58 -0
  248. package/src/vcs/index.ts +2 -0
  249. package/src/vcs/types.ts +2 -2
  250. package/src/workflows/approval-resolution.ts +4 -1
  251. package/src/workflows/checkpoint.ts +9 -1
  252. package/src/workflows/constants.ts +3 -0
  253. package/src/workflows/definition.ts +48 -17
  254. package/src/workflows/engine.ts +25 -15
  255. package/src/workflows/executors/foreach.ts +45 -99
  256. package/src/workflows/foreach-body.ts +146 -0
  257. package/src/workflows/foreach-driver.ts +552 -0
  258. package/src/workflows/foreach-join.ts +206 -7
  259. package/src/workflows/node-timeout.ts +21 -0
  260. package/src/workflows/recovery.ts +68 -3
  261. package/src/workflows/resume.ts +221 -43
  262. package/src/workflows/retry-poller.ts +39 -24
  263. package/src/workflows/step-input.ts +59 -0
  264. package/src/workflows/task-step-routing.ts +114 -56
  265. package/templates/skills/slack-interaction/content.md +5 -0
  266. package/templates/skills/work-on-task/SKILL.md +1 -1
  267. package/templates/skills/work-on-task/content.md +1 -1
  268. package/dist/cli-9hstj09h.js +0 -2657
  269. package/dist/cli-yw91rnmw.js +0 -13
  270. package/dist/handlers-7gw64dxw.js +0 -39
  271. package/dist/index-bgdyvcnv.js +0 -40
  272. package/dist/index-gabbcdn2.js +0 -43
  273. package/dist/index-tfb26zhy.js +0 -41
  274. package/dist/lead-7e02z839.js +0 -77
  275. package/dist/worker-5snytpbd.js +0 -77
@@ -16,6 +16,14 @@ import {
16
16
  require_sso_oidc,
17
17
  require_dist_cjs3
18
18
  } from "./cli-v41kn3cd.js";
19
+ import {
20
+ getSystemMessageText,
21
+ getInitialSystemMessage,
22
+ withoutInitialSystemMessage,
23
+ getCurrentTools,
24
+ collapseSystemMessages,
25
+ calculateCost
26
+ } from "./cli-2nf3b08t.js";
19
27
  import {
20
28
  parseToolCallArguments,
21
29
  parseStreamingJson
@@ -38,25 +46,20 @@ import {
38
46
  adjustMaxTokensForThinking,
39
47
  splitErrorToolResultImages,
40
48
  transformMessages
41
- } from "./cli-3r8samv3.js";
49
+ } from "./cli-1f0gp9vz.js";
42
50
  import {
43
51
  sanitizeSurrogates
44
52
  } from "./cli-xs8nzjqf.js";
45
53
  import {
46
54
  providerHeadersToRecord
47
55
  } from "./cli-hf1b007k.js";
48
- import {
49
- getSystemMessageText,
50
- getInitialSystemMessage,
51
- withoutInitialSystemMessage,
52
- getCurrentTools,
53
- collapseSystemMessages,
54
- calculateCost
55
- } from "./cli-0bqteszy.js";
56
56
  import {
57
57
  AssistantMessageEventStream,
58
58
  appendAssistantMessageDiagnostic
59
59
  } from "./cli-m6m1bvtp.js";
60
+ import {
61
+ getClientVersion
62
+ } from "./cli-pkaqk57w.js";
60
63
  import {
61
64
  require_src3
62
65
  } from "./cli-qe909n63.js";
@@ -4828,7 +4831,8 @@ var stream = (model, context, options = {}) => {
4828
4831
  const blocks = output.content;
4829
4832
  const optionsProfile = options.profile || options.env?.AWS_PROFILE;
4830
4833
  const config = {
4831
- profile: optionsProfile || getProviderEnvValue("AWS_PROFILE", options.env)
4834
+ profile: optionsProfile || getProviderEnvValue("AWS_PROFILE", options.env),
4835
+ customUserAgent: bedrockUserAgent(options.identity)
4832
4836
  };
4833
4837
  const configuredRegion = getConfiguredBedrockRegion(options);
4834
4838
  const hasAmbientConfiguredProfile = Boolean(getProviderEnvValue("AWS_PROFILE"));
@@ -5035,6 +5039,12 @@ function isReservedHeader(key) {
5035
5039
  const lower = key.toLowerCase();
5036
5040
  return lower.startsWith("x-amz-") || RESERVED_HEADER_EXACT.has(lower);
5037
5041
  }
5042
+ function bedrockUserAgent(identity) {
5043
+ const mode = identity?.userAgent ?? "detailed";
5044
+ if (typeof mode === "object")
5045
+ return mode.custom;
5046
+ return mode === "short" ? [["pi"]] : [["pi", getClientVersion(identity)]];
5047
+ }
5038
5048
  function addCustomHeadersMiddleware(client, headers) {
5039
5049
  const middleware = (next) => async (args) => {
5040
5050
  const request = args.request;
@@ -195,6 +195,7 @@ var validatePositiveInteger = (name, n) => {
195
195
  }
196
196
  return n;
197
197
  };
198
+ var CREDENTIAL_OPTIONS = ["apiKey", "authToken", "credentials", "config", "profile"];
198
199
  var safeJSON = (text) => {
199
200
  try {
200
201
  return JSON.parse(text);
@@ -389,4 +390,4 @@ function promiseWithResolvers() {
389
390
  return { promise, resolve, reject };
390
391
  }
391
392
 
392
- export { __classPrivateFieldSet, __classPrivateFieldGet, isAbortError, castToError, AnthropicError, APIError, APIUserAbortError, APIConnectionError, APIConnectionTimeoutError, RetryableError, BadRequestError, AuthenticationError, PermissionDeniedError, NotFoundError, ConflictError, UnprocessableEntityError, RateLimitError, InternalServerError, isAbsoluteURL, isArray, isReadonlyArray, maybeObj, isEmptyObj, isObj, validatePositiveInteger, safeJSON, checkNever, concatBytes, encodeUTF8, decodeUTF8, readEnv, defaultLogLevel, parseLogLevel, loggerFor, defaultLogger, debugLogRequestDetails, isStatus, isFatal4xx, backoff, jitter, applyJitter, ToolError, DEFAULT_MEMORY_SYNC_INTERVAL_MS, checkMemorySyncInterval, promiseWithResolvers };
393
+ export { __classPrivateFieldSet, __classPrivateFieldGet, isAbortError, castToError, AnthropicError, APIError, APIUserAbortError, APIConnectionError, APIConnectionTimeoutError, RetryableError, BadRequestError, AuthenticationError, PermissionDeniedError, NotFoundError, ConflictError, UnprocessableEntityError, RateLimitError, InternalServerError, isAbsoluteURL, isArray, isReadonlyArray, maybeObj, isEmptyObj, isObj, validatePositiveInteger, CREDENTIAL_OPTIONS, safeJSON, checkNever, concatBytes, encodeUTF8, decodeUTF8, readEnv, defaultLogLevel, parseLogLevel, loggerFor, defaultLogger, debugLogRequestDetails, isStatus, isFatal4xx, backoff, jitter, applyJitter, ToolError, DEFAULT_MEMORY_SYNC_INTERVAL_MS, checkMemorySyncInterval, promiseWithResolvers };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getDb2,
3
3
  init_db3
4
- } from "./cli-wt0jf9hm.js";
4
+ } from "./cli-q9pzwxvk.js";
5
5
  import {
6
6
  openAICompatibleProviderIds,
7
7
  withRegistryCatalogSections,
@@ -8,10 +8,10 @@ import {
8
8
  import {
9
9
  materializeClaudeMd,
10
10
  stopClaudeMd
11
- } from "./cli-1m17dc9d.js";
11
+ } from "./cli-ta8bd7th.js";
12
12
  import {
13
13
  summarizeSession
14
- } from "./cli-pnp2j5zg.js";
14
+ } from "./cli-mmhj8vd7.js";
15
15
  import {
16
16
  guardGhPrBody,
17
17
  guardGhPrRoom
@@ -27,11 +27,11 @@ import {
27
27
  warnProfileFileTooLarge,
28
28
  buildIndependentIdentityPayloads,
29
29
  init_profile_sync
30
- } from "./cli-74c1wpm0.js";
30
+ } from "./cli-gpv60278.js";
31
31
  import {
32
32
  init_package,
33
33
  package_default
34
- } from "./cli-94gwyg7m.js";
34
+ } from "./cli-22rmcjkg.js";
35
35
  import {
36
36
  MAX_PROFILE_FILE_LENGTH,
37
37
  getMcpBaseUrl,
@@ -48,7 +48,7 @@ import {
48
48
  import {
49
49
  scrubSecrets,
50
50
  init_secret_scrubber
51
- } from "./cli-xf234ws8.js";
51
+ } from "./cli-n4c8e3s5.js";
52
52
 
53
53
  // src/hooks/hook.ts
54
54
  init_package();
@@ -10,7 +10,7 @@ import {
10
10
  init_steering,
11
11
  createLogEntry2,
12
12
  init_db3
13
- } from "./cli-wt0jf9hm.js";
13
+ } from "./cli-q9pzwxvk.js";
14
14
  import {
15
15
  ackSlackMessage,
16
16
  buildBufferFlushBlocks,
@@ -20,7 +20,7 @@ import {
20
20
  ensureSlackThreadTree2,
21
21
  registerTreeMessage,
22
22
  getSlackApp2
23
- } from "./cli-37j04k05.js";
23
+ } from "./cli-e9btqw4y.js";
24
24
  import {
25
25
  createAdditiveBuffer,
26
26
  TaskCreationBlockedError,
@@ -30,15 +30,15 @@ import {
30
30
  createSlackTaskWithFiles,
31
31
  notifySlackFileFailures,
32
32
  extractSlackMessageText
33
- } from "./cli-n72rg53p.js";
33
+ } from "./cli-kcsd1ez8.js";
34
34
  import {
35
35
  resolveSlackUserId,
36
36
  rewriteSlackMentions
37
- } from "./cli-fv5hepyy.js";
37
+ } from "./cli-sn1vbtg2.js";
38
38
  import {
39
39
  findUserByExternalId,
40
40
  init_users
41
- } from "./cli-1f3qzw6y.js";
41
+ } from "./cli-gwcf52gz.js";
42
42
  import {
43
43
  isSteeringEnabled2,
44
44
  init_steering_enabled
@@ -46,7 +46,7 @@ import {
46
46
  import {
47
47
  scrubSecrets,
48
48
  init_secret_scrubber
49
- } from "./cli-xf234ws8.js";
49
+ } from "./cli-n4c8e3s5.js";
50
50
  import {
51
51
  __using,
52
52
  __callDispose
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  normalizeOrgWebsite,
6
6
  init_org_website
7
- } from "./cli-wt0jf9hm.js";
7
+ } from "./cli-q9pzwxvk.js";
8
8
 
9
9
  // src/utils/lead-monitor-channels.ts
10
10
  function isLeadChannelMonitoringEnabled(env = process.env) {
@@ -8,11 +8,11 @@ import {
8
8
  resolveConfigValueOrThrow,
9
9
  resolveHeadersOrThrow,
10
10
  FileAuthStorageBackend
11
- } from "./cli-d2mb5s8a.js";
11
+ } from "./cli-x77gen2p.js";
12
12
  import {
13
13
  oauthSuccessHtml,
14
14
  oauthErrorHtml
15
- } from "./cli-8nyhf7za.js";
15
+ } from "./cli-qqzmjxkf.js";
16
16
  import {
17
17
  __toESM
18
18
  } from "./cli-242037k3.js";
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  scrubSecrets,
8
8
  init_secret_scrubber
9
- } from "./cli-xf234ws8.js";
9
+ } from "./cli-n4c8e3s5.js";
10
10
  import {
11
11
  __esm
12
12
  } from "./cli-242037k3.js";
@@ -10,7 +10,7 @@ import {
10
10
  } from "./cli-0726awxw.js";
11
11
  import {
12
12
  summarizeSession
13
- } from "./cli-pnp2j5zg.js";
13
+ } from "./cli-mmhj8vd7.js";
14
14
  import {
15
15
  resolveTemplateFromCode,
16
16
  resolveTemplateAsync,
@@ -28,7 +28,7 @@ import {
28
28
  import {
29
29
  scrubSecrets,
30
30
  init_secret_scrubber
31
- } from "./cli-xf234ws8.js";
31
+ } from "./cli-n4c8e3s5.js";
32
32
 
33
33
  // src/prompts/goal-reminder.ts
34
34
  init_session_templates();
@@ -47,10 +47,10 @@ import {
47
47
  checkDependencies2,
48
48
  emitBuiltInIntegrationConnectedOnce2,
49
49
  init_db3
50
- } from "./cli-wt0jf9hm.js";
50
+ } from "./cli-q9pzwxvk.js";
51
51
  import {
52
52
  getChannelBlockReason2
53
- } from "./cli-3a45zcgm.js";
53
+ } from "./cli-xc65x52q.js";
54
54
  import {
55
55
  require_dist5,
56
56
  require_axios,
@@ -67,11 +67,11 @@ import {
67
67
  import {
68
68
  isTerminalTaskStatus,
69
69
  init_types
70
- } from "./cli-eww120g8.js";
70
+ } from "./cli-rh5smt8t.js";
71
71
  import {
72
72
  taskAttachmentDisplayUrl,
73
73
  init_task_attachment_links
74
- } from "./cli-74c1wpm0.js";
74
+ } from "./cli-gpv60278.js";
75
75
  import {
76
76
  getSlackConfiguration,
77
77
  init_config
@@ -102,7 +102,7 @@ import {
102
102
  scrubSecrets,
103
103
  scrubObject,
104
104
  init_secret_scrubber
105
- } from "./cli-xf234ws8.js";
105
+ } from "./cli-n4c8e3s5.js";
106
106
  import {
107
107
  __toESM,
108
108
  __commonJS,
@@ -6235,7 +6235,7 @@ async function initOtel(serviceRole = process.env.AGENT_ROLE || "api") {
6235
6235
  return;
6236
6236
  initialized = true;
6237
6237
  try {
6238
- const impl = await import("./otel-impl-trjpkfb7.js");
6238
+ const impl = await import("./otel-impl-ytn9wyv9.js");
6239
6239
  await impl.boot(serviceRole, {
6240
6240
  exportConsoleLogs: serviceRole === "api" && isApiLogExportEnabled()
6241
6241
  });
@@ -10080,17 +10080,17 @@ async function initSlackApp2() {
10080
10080
  });
10081
10081
  initialized2 = true;
10082
10082
  app.use(slackInboundOutcomeMiddleware());
10083
- const { registerMessageHandler } = await import("./handlers-7gw64dxw.js");
10084
- const { registerCommandHandler } = await import("./commands-t7rz9146.js");
10085
- const { registerActionHandlers } = await import("./actions-c40ebcm4.js");
10086
- const { registerWorkObjectHandlers } = await import("./work-objects-rvhckdkp.js");
10083
+ const { registerMessageHandler } = await import("./handlers-rk9dqech.js");
10084
+ const { registerCommandHandler } = await import("./commands-mbvhbrcy.js");
10085
+ const { registerActionHandlers } = await import("./actions-w8xd014k.js");
10086
+ const { registerWorkObjectHandlers } = await import("./work-objects-44z2yjg8.js");
10087
10087
  registerMessageHandler(app);
10088
10088
  registerCommandHandler(app);
10089
10089
  registerActionHandlers(app);
10090
10090
  registerWorkObjectHandlers(app);
10091
- const { createAssistant } = await import("./assistant-sj1njh23.js");
10091
+ const { createAssistant } = await import("./assistant-hjmqyscx.js");
10092
10092
  app.assistant(createAssistant());
10093
- const { isBlockExternalEnabled, scanExternalChannelsOnBoot } = await import("./external-channel-35k6tkv8.js");
10093
+ const { isBlockExternalEnabled, scanExternalChannelsOnBoot } = await import("./external-channel-y8q5z8z2.js");
10094
10094
  if (isBlockExternalEnabled()) {
10095
10095
  scanExternalChannelsOnBoot(app.client).catch((error) => {
10096
10096
  console.error("[Slack] External channel boot scan failed:", error);
@@ -10103,7 +10103,7 @@ async function startSlackApp2() {
10103
10103
  await initSlackApp2();
10104
10104
  }
10105
10105
  if (app) {
10106
- const { isSlackRenderV2Enabled } = await import("./render-v2-rr3p2atg.js");
10106
+ const { isSlackRenderV2Enabled } = await import("./render-v2-pyfsg9zk.js");
10107
10107
  if (isSlackRenderV2Enabled())
10108
10108
  await ensureSlackRenderV2Activation2();
10109
10109
  await app.start();
@@ -10,7 +10,7 @@ import {
10
10
  getMostRecentTaskInThread2,
11
11
  reactionName,
12
12
  init_db3
13
- } from "./cli-wt0jf9hm.js";
13
+ } from "./cli-q9pzwxvk.js";
14
14
  import {
15
15
  TaskCreationBlockedError,
16
16
  buildEffectiveText,
@@ -23,7 +23,7 @@ import {
23
23
  extractTaskFromMessage,
24
24
  extractSlackMessageText,
25
25
  dispatchPre2
26
- } from "./cli-n72rg53p.js";
26
+ } from "./cli-kcsd1ez8.js";
27
27
  import {
28
28
  noteSlackInboundSideEffect,
29
29
  ignoreSlackInbound,
@@ -34,23 +34,23 @@ import {
34
34
  isSlackRenderV2Enabled2,
35
35
  ensureSlackThreadTree2,
36
36
  registerTreeMessage
37
- } from "./cli-37j04k05.js";
37
+ } from "./cli-e9btqw4y.js";
38
38
  import {
39
39
  isBlockExternalEnabled2,
40
40
  invalidateChannelExternality2,
41
41
  getChannelBlockReason2,
42
42
  shouldBlockChannel2,
43
43
  leaveExternalChannel2
44
- } from "./cli-3a45zcgm.js";
44
+ } from "./cli-xc65x52q.js";
45
45
  import {
46
46
  workflowEventBus2,
47
47
  init_event_bus
48
- } from "./cli-wt645v7q.js";
48
+ } from "./cli-dabehxhp.js";
49
49
  import {
50
50
  enrichSlackUserEmail,
51
51
  resolveSlackUserId,
52
52
  rewriteSlackMentions
53
- } from "./cli-fv5hepyy.js";
53
+ } from "./cli-sn1vbtg2.js";
54
54
  import {
55
55
  wasEventSeen,
56
56
  requestSlackThreadSteering,
@@ -58,7 +58,7 @@ import {
58
58
  bufferThreadMessage,
59
59
  getBufferMessageCount,
60
60
  instantFlush
61
- } from "./cli-be2161h1.js";
61
+ } from "./cli-cah5detr.js";
62
62
  import {
63
63
  resolveTemplate,
64
64
  init_resolver
@@ -79,7 +79,7 @@ import {
79
79
  import {
80
80
  scrubSecrets,
81
81
  init_secret_scrubber
82
- } from "./cli-xf234ws8.js";
82
+ } from "./cli-n4c8e3s5.js";
83
83
  import {
84
84
  __using,
85
85
  __callDispose
@@ -102,30 +102,44 @@ var SlackRouteModifySchema = object2({
102
102
  }).strict();
103
103
  var allowedEmailDomains = (process.env.SLACK_ALLOWED_EMAIL_DOMAINS || "").split(",").map((d) => d.trim().toLowerCase()).filter(Boolean);
104
104
  var allowedUserIds = (process.env.SLACK_ALLOWED_USER_IDS || "").split(",").map((id) => id.trim()).filter(Boolean);
105
- var filteringEnabled = allowedEmailDomains.length > 0 || allowedUserIds.length > 0;
106
- async function isUserAllowed2(client, userId) {
107
- if (!filteringEnabled) {
105
+ var envUserFilterConfig = { allowedEmailDomains, allowedUserIds };
106
+ function checkUserAccess(userId, email, config) {
107
+ const { allowedEmailDomains: domains, allowedUserIds: userIds } = config;
108
+ if (domains.length === 0 && userIds.length === 0) {
108
109
  return true;
109
110
  }
110
- if (allowedUserIds.includes(userId)) {
111
+ if (userIds.includes(userId)) {
111
112
  return true;
112
113
  }
113
- if (allowedEmailDomains.length === 0) {
114
+ if (domains.length === 0) {
114
115
  return false;
115
116
  }
116
- const email = await enrichSlackUserEmail(client, userId);
117
117
  if (!email) {
118
- console.log(`[Slack] User ${userId} has no email, denying access`);
119
118
  return false;
120
119
  }
121
120
  const domain = email.split("@")[1]?.toLowerCase();
122
121
  if (!domain) {
123
- console.log(`[Slack] User ${userId} has invalid email format, denying access`);
124
122
  return false;
125
123
  }
126
- const allowed = allowedEmailDomains.includes(domain);
124
+ return domains.includes(domain);
125
+ }
126
+ async function isUserAllowed2(client, userId) {
127
+ const config = envUserFilterConfig;
128
+ const allowedWithoutEmail = checkUserAccess(userId, null, config);
129
+ if (allowedWithoutEmail || config.allowedEmailDomains.length === 0) {
130
+ return allowedWithoutEmail;
131
+ }
132
+ const email = await enrichSlackUserEmail(client, userId);
133
+ const allowed = checkUserAccess(userId, email, config);
127
134
  if (!allowed) {
128
- console.log(`[Slack] User ${userId} email domain "${domain}" not in allowed list`);
135
+ const domain = email?.split("@")[1]?.toLowerCase();
136
+ if (!email) {
137
+ console.log(`[Slack] User ${userId} has no email, denying access`);
138
+ } else if (!domain) {
139
+ console.log(`[Slack] User ${userId} has invalid email format, denying access`);
140
+ } else {
141
+ console.log(`[Slack] User ${userId} email domain "${domain}" not in allowed list`);
142
+ }
129
143
  }
130
144
  return allowed;
131
145
  }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ampBillsCacheWrites,
3
3
  resolveAmpModel
4
- } from "./cli-qfxc84gh.js";
4
+ } from "./cli-jpxsrxcb.js";
5
5
  import {
6
6
  CONTEXT_FORMULA,
7
7
  computeContextUsedUnified,
@@ -28,7 +28,7 @@ import {
28
28
  scrubSecrets,
29
29
  registerVolatileSecret,
30
30
  init_secret_scrubber
31
- } from "./cli-xf234ws8.js";
31
+ } from "./cli-n4c8e3s5.js";
32
32
 
33
33
  // src/providers/amp-adapter.ts
34
34
  import { existsSync, readFileSync, renameSync, rmSync, writeFileSync } from "node:fs";
@@ -36,7 +36,7 @@ import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises";
36
36
  import { tmpdir } from "node:os";
37
37
  import { join } from "node:path";
38
38
  init_secret_scrubber();
39
- var AMP_PACKAGE = "@ampcode/cli@0.0.1792584044-g15483c";
39
+ var AMP_PACKAGE = "@ampcode/cli@0.0.1792670445-ge8d5b3";
40
40
  var AMP_MCP_SERVER_NAME = "agent-swarm";
41
41
  var AMP_PLUGIN_MODE_KEY = "agent-swarm";
42
42
  var AMP_LIVE_TEST_TIMEOUT_MS = 5000;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  scrubSecrets,
3
3
  init_secret_scrubber
4
- } from "./cli-xf234ws8.js";
4
+ } from "./cli-n4c8e3s5.js";
5
5
 
6
6
  // src/providers/devin-adapter.ts
7
7
  init_secret_scrubber();
@@ -24,7 +24,7 @@ import {
24
24
  import {
25
25
  scrubSecrets,
26
26
  init_secret_scrubber
27
- } from "./cli-xf234ws8.js";
27
+ } from "./cli-n4c8e3s5.js";
28
28
  import {
29
29
  __esm
30
30
  } from "./cli-242037k3.js";
@@ -5,12 +5,12 @@ import {
5
5
  validateRuntimeTokenTtlHours,
6
6
  init_swarm_config_guard,
7
7
  init_db3
8
- } from "./cli-wt0jf9hm.js";
8
+ } from "./cli-q9pzwxvk.js";
9
9
  import {
10
10
  registerVolatileSecret,
11
11
  unregisterVolatileSecret,
12
12
  init_secret_scrubber
13
- } from "./cli-xf234ws8.js";
13
+ } from "./cli-n4c8e3s5.js";
14
14
  import {
15
15
  __esm
16
16
  } from "./cli-242037k3.js";
@@ -6,7 +6,7 @@ import {
6
6
  isSensitiveKey,
7
7
  scrubSecrets,
8
8
  init_secret_scrubber
9
- } from "./cli-xf234ws8.js";
9
+ } from "./cli-n4c8e3s5.js";
10
10
  import {
11
11
  openAICompatibleKeyVars,
12
12
  openAICompatibleBaseUrlVars,
@@ -173,6 +173,7 @@ var init_env = __esm(() => {
173
173
  "GITLAB_TOKEN",
174
174
  "AZURE_DEVOPS_TOKEN",
175
175
  "AZURE_DEVOPS_ORG_URL",
176
+ "BITBUCKET_TOKEN",
176
177
  "LINEAR_API_KEY",
177
178
  "SLACK_BOT_TOKEN",
178
179
  "SLACK_SIGNING_SECRET",
@@ -18,7 +18,7 @@ import {
18
18
  import {
19
19
  applyOpenRouterBaseUrlOverride2,
20
20
  buildOpenAICompatibleProviderBlock2
21
- } from "./cli-36ckw0wx.js";
21
+ } from "./cli-stxdrqs2.js";
22
22
  import {
23
23
  fetchInstalledMcpServers
24
24
  } from "./cli-bst1vp7e.js";
@@ -43,11 +43,11 @@ import {
43
43
  import {
44
44
  init_package,
45
45
  package_default
46
- } from "./cli-94gwyg7m.js";
46
+ } from "./cli-22rmcjkg.js";
47
47
  import {
48
48
  scrubSecrets,
49
49
  init_secret_scrubber
50
- } from "./cli-xf234ws8.js";
50
+ } from "./cli-n4c8e3s5.js";
51
51
  import {
52
52
  normalizeGrokModel,
53
53
  baseUrlOverride,
@@ -14,7 +14,7 @@ import {
14
14
  import {
15
15
  DEFAULT_MODEL_TIER_MAP,
16
16
  init_types
17
- } from "./cli-eww120g8.js";
17
+ } from "./cli-rh5smt8t.js";
18
18
  import {
19
19
  resolveTemplateFromCode,
20
20
  resolveTemplateAsync,
@@ -29,7 +29,7 @@ import {
29
29
  scrubSecrets,
30
30
  registerVolatileSecret,
31
31
  init_secret_scrubber
32
- } from "./cli-xf234ws8.js";
32
+ } from "./cli-n4c8e3s5.js";
33
33
  import {
34
34
  cursorCatalogRef,
35
35
  init_src2
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_MODEL_TIER_MAP,
3
3
  init_types
4
- } from "./cli-eww120g8.js";
4
+ } from "./cli-rh5smt8t.js";
5
5
 
6
6
  // src/utils/amp-models.ts
7
7
  init_types();