@desplega.ai/agent-swarm 2.4.5 → 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 (272) hide show
  1. package/README.md +4 -2
  2. package/dist/{acp-adapter-2wdkktv6.js → acp-adapter-11gp67nr.js} +8 -6
  3. package/dist/{actions-c40ebcm4.js → actions-8p2kze8j.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-0qp0a2gk.js} +3 -3
  7. package/dist/{assistant-sj1njh23.js → assistant-jedd3ktm.js} +24 -22
  8. package/dist/{azure-openai-responses-9dbmj346.js → azure-openai-responses-9kfwhmn7.js} +18 -13
  9. package/dist/{boot-reembed-qdkvxeem.js → boot-reembed-4xwq5tg0.js} +1 -1
  10. package/dist/{boot-reembed-b9c3az3c.js → boot-reembed-n4wq5dd2.js} +1 -1
  11. package/dist/{boot-scrub-sweep-m3wh8eks.js → boot-scrub-sweep-69h90xcq.js} +4 -4
  12. package/dist/{boot-seeds-j2273s54.js → boot-seeds-3vn0m9sg.js} +4 -4
  13. package/dist/{claude-adapter-m7q0a085.js → claude-adapter-221mvad5.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-8thjsk5e.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-dk44dxec.js → cli-0y6f0ckq.js} +1 -1
  20. package/dist/{cli-kpw04va0.js → cli-0z3vjrpm.js} +1 -1
  21. package/dist/{cli-94gwyg7m.js → cli-179xcyky.js} +9 -9
  22. package/dist/{cli-3r8samv3.js → cli-1f0gp9vz.js} +3 -2
  23. package/dist/{cli-4zfqgjc5.js → cli-1pr672hz.js} +2 -2
  24. package/dist/{cli-0bqteszy.js → cli-2nf3b08t.js} +328 -25
  25. package/dist/{cli-43x64hv3.js → cli-36j4jnk3.js} +4 -4
  26. package/dist/{cli-k8g16gz3.js → cli-3qv8naq8.js} +115 -119
  27. package/dist/cli-3zwye9sn.js +1193 -0
  28. package/dist/{cli-60cgh1rv.js → cli-459fk97x.js} +7 -7
  29. package/dist/{cli-v8fjakwf.js → cli-4w24f7z3.js} +1 -1
  30. package/dist/{cli-n72rg53p.js → cli-5kzk3472.js} +812 -418
  31. package/dist/{cli-h7gc0b4r.js → cli-5m84zd2k.js} +55 -18
  32. package/dist/{cli-j99azg3g.js → cli-5rvg1ddk.js} +5 -5
  33. package/dist/{cli-dvkmp9bt.js → cli-6ctwrf1z.js} +20 -10
  34. package/dist/{cli-848hxdwj.js → cli-6rg2jn2y.js} +2 -1
  35. package/dist/{cli-fv5hepyy.js → cli-7bwtc6yx.js} +3 -3
  36. package/dist/{cli-ms85309d.js → cli-7g40g8hq.js} +11 -11
  37. package/dist/{cli-xpa64rek.js → cli-92mqenkc.js} +2362 -159
  38. package/dist/{cli-018r4jq6.js → cli-9ce2xw98.js} +8 -8
  39. package/dist/{cli-1syn2xy1.js → cli-bgdtv62r.js} +32 -18
  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-wt0jf9hm.js → cli-fcc5qe3f.js} +553 -193
  44. package/dist/{cli-ftc1g5tj.js → cli-fes51ya2.js} +3 -3
  45. package/dist/{cli-3a45zcgm.js → cli-ftmq4nvk.js} +2 -2
  46. package/dist/{cli-37j04k05.js → cli-fy1jyyym.js} +13 -13
  47. package/dist/{cli-s95dknxh.js → cli-g1cw7xtt.js} +1 -1
  48. package/dist/{cli-74c1wpm0.js → cli-gpv60278.js} +1 -1
  49. package/dist/{cli-pemywhfq.js → cli-ha9rmwgq.js} +2 -1
  50. package/dist/{cli-g35m2xwm.js → cli-j1eghqfm.js} +2 -2
  51. package/dist/{cli-qfxc84gh.js → cli-jpxsrxcb.js} +1 -1
  52. package/dist/{cli-ejs3m1sx.js → cli-kxpfx2xr.js} +1 -1
  53. package/dist/{cli-p14m2cnp.js → cli-mbfj11fq.js} +1 -1
  54. package/dist/{cli-pnp2j5zg.js → cli-mmhj8vd7.js} +2 -2
  55. package/dist/{cli-xf234ws8.js → cli-n4c8e3s5.js} +2 -0
  56. package/dist/{cli-f01h25yt.js → cli-n6kmqngw.js} +2 -2
  57. package/dist/{cli-v0yrfmdh.js → cli-nnvjb17s.js} +3 -3
  58. package/dist/{cli-1dmcq2eh.js → cli-nzfnt2gs.js} +1 -1
  59. package/dist/{cli-625tb7aq.js → cli-p859hcc8.js} +2 -2
  60. package/dist/{cli-smvcw9z5.js → cli-pasyvjmm.js} +1 -1
  61. package/dist/cli-pkaqk57w.js +128 -0
  62. package/dist/{cli-8nyhf7za.js → cli-qqzmjxkf.js} +129 -105
  63. package/dist/{cli-9yqgm9nd.js → cli-r25qpaxt.js} +161 -63
  64. package/dist/{cli-eww120g8.js → cli-rh5smt8t.js} +18 -4
  65. package/dist/{cli-qwkcwjdn.js → cli-rycdaj0a.js} +1 -1
  66. package/dist/{cli-a92r1127.js → cli-s4sntwt4.js} +2 -2
  67. package/dist/{cli-be2161h1.js → cli-segs7hx9.js} +6 -6
  68. package/dist/{cli-36ckw0wx.js → cli-stxdrqs2.js} +2 -2
  69. package/dist/{cli-z7d29rw9.js → cli-sy8f9705.js} +4 -4
  70. package/dist/{cli-1m17dc9d.js → cli-ta8bd7th.js} +2 -2
  71. package/dist/{cli-st8aw1m6.js → cli-we0ra057.js} +4 -4
  72. package/dist/{cli-7c9qs530.js → cli-x21dqn18.js} +5 -5
  73. package/dist/{cli-1sp861s4.js → cli-x6vf4sad.js} +11 -11
  74. package/dist/{cli-d2mb5s8a.js → cli-x77gen2p.js} +680 -440
  75. package/dist/{cli-tw4p90jb.js → cli-xawhpgc9.js} +5 -5
  76. package/dist/{cli-f0g3pgvf.js → cli-xd4eqtr2.js} +2 -2
  77. package/dist/{cli-1f3qzw6y.js → cli-xt768r5m.js} +2 -2
  78. package/dist/{cli-cxxe61f6.js → cli-y4x8ww6s.js} +2 -2
  79. package/dist/{cli-bnes4z6b.js → cli-y9jvxfhk.js} +3 -3
  80. package/dist/{cli-qwhy2qma.js → cli-z63a269p.js} +2 -2
  81. package/dist/{cli-sm8rses9.js → cli-zfdp01hn.js} +8 -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-tcg1q3jk.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-xfx4wd9x.js} +7 -5
  87. package/dist/{commands-t7rz9146.js → commands-ew83nj70.js} +2 -2
  88. package/dist/{controller-m2jasma5.js → controller-gnq1k1mf.js} +4 -4
  89. package/dist/{controllers-connect-9ftpex99.js → controllers-connect-tw1dan9r.js} +25 -23
  90. package/dist/{cursor-adapter-mjv79e4z.js → cursor-adapter-yq5xgfcg.js} +1 -1
  91. package/dist/{db-6sfrn9g3.js → db-7gbc53fd.js} +14 -2
  92. package/dist/{db-rn673r06.js → db-t86xrnes.js} +3 -3
  93. package/dist/{devin-adapter-zgqadvnm.js → devin-adapter-4ycy4vrf.js} +1 -1
  94. package/dist/{dispatcher-c155xz0p.js → dispatcher-64bdyhps.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-e9nw24zv.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-v82srhrx.js} +9 -7
  106. package/dist/handlers-c9ajzhbn.js +41 -0
  107. package/dist/{heartbeat-dyg4npkp.js → heartbeat-2vqs1319.js} +25 -23
  108. package/dist/{hook-x26b31bg.js → hook-01nk13wx.js} +7 -5
  109. package/dist/{hook-drspbwpe.js → hook-jzpheegg.js} +9 -7
  110. package/dist/{http-pk972xyw.js → http-fc1k6ec8.js} +544 -76
  111. package/dist/index-07ef7nkm.js +42 -0
  112. package/dist/{index-g6tbb6ve.js → index-31ceyf42.js} +1 -1
  113. package/dist/index-7yts8n9s.js +43 -0
  114. package/dist/index-q3t40ryv.js +46 -0
  115. package/dist/{index-arytgj5q.js → index-sepja052.js} +1 -1
  116. package/dist/{index-jwxkkex2.js → index-zdycv3ja.js} +13 -11
  117. package/dist/{index-g216q6jr.js → index-zsyx51ap.js} +1 -4
  118. package/dist/{keepalive-7yrng7px.js → keepalive-5nh2rhmr.js} +4 -4
  119. package/dist/lead-aayq64jn.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-hjhzdt3k.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-y3n1knmd.js} +3 -3
  125. package/dist/{onboard-0a9y5yrc.js → onboard-1zq3m7db.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-h9yyza47.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-nevhat8h.js} +3 -3
  136. package/dist/{rbac-roles-nxh5ahwk.js → rbac-roles-4y6ngvzq.js} +1 -1
  137. package/dist/{rbac-roles-hey3yv9d.js → rbac-roles-exbg8xb6.js} +2 -2
  138. package/dist/{render-v2-rr3p2atg.js → render-v2-cfsh13z3.js} +3 -3
  139. package/dist/{resume-2efkf1s1.js → resume-5s2t0dbs.js} +10 -8
  140. package/dist/{runtime-xe3aqy4x.js → runtime-bt5pkpm1.js} +1 -1
  141. package/dist/{session-access-s2mttxpw.js → session-access-dnbyp3cn.js} +6 -4
  142. package/dist/{setup-vypma5yt.js → setup-1wj1y77j.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-7mg6216g.js} +25 -23
  146. package/dist/worker-nwb789mg.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/handlers.ts +5 -5
  174. package/src/http/assets.ts +14 -2
  175. package/src/http/core.ts +12 -0
  176. package/src/http/index.ts +4 -0
  177. package/src/http/onboarding.ts +1 -0
  178. package/src/http/sessions.ts +366 -12
  179. package/src/http/skills.ts +48 -1
  180. package/src/http/tasks.ts +1 -1
  181. package/src/http/users.ts +1 -0
  182. package/src/http/webhooks.ts +141 -0
  183. package/src/integrations/chat-sdk/adapters.ts +19 -3
  184. package/src/integrations/chat-sdk/facts.ts +30 -12
  185. package/src/integrations/chat-sdk/outbound.ts +38 -1
  186. package/src/providers/acp-targets.ts +1 -1
  187. package/src/providers/amp-adapter.ts +1 -1
  188. package/src/providers/pi-mono-adapter.ts +5 -53
  189. package/src/scripts-runtime/types/swarm-extension.d.ts +6 -4
  190. package/src/slack/handlers.test.ts +158 -0
  191. package/src/slack/handlers.ts +19 -28
  192. package/src/tasks/context-key.ts +61 -1
  193. package/src/tests/bitbucket-auth.test.ts +156 -0
  194. package/src/tests/bitbucket-handlers.test.ts +425 -0
  195. package/src/tests/bitbucket-webhook.test.ts +220 -0
  196. package/src/tests/chat-sdk-inbound.test.ts +39 -0
  197. package/src/tests/chat-sdk-telegram-markdown.test.ts +92 -0
  198. package/src/tests/context-key.test.ts +50 -0
  199. package/src/tests/core-auth.test.ts +5 -0
  200. package/src/tests/db-task-read-contract.test.ts +7 -0
  201. package/src/tests/db-task-write-contract.test.ts +6 -0
  202. package/src/tests/docs-index-footprint.test.js +3 -3
  203. package/src/tests/fixtures/bitbucket/pullrequest-comment-created-inline.json +174 -0
  204. package/src/tests/fixtures/bitbucket/pullrequest-comment-created.json +170 -0
  205. package/src/tests/fixtures/bitbucket/pullrequest-created-mention.json +132 -0
  206. package/src/tests/fixtures/bitbucket/pullrequest-created-reviewer.json +140 -0
  207. package/src/tests/fixtures/bitbucket/pullrequest-fulfilled.json +134 -0
  208. package/src/tests/fixtures/bitbucket/pullrequest-rejected.json +133 -0
  209. package/src/tests/generate-mcp-docs.test.ts +101 -0
  210. package/src/tests/gitlab-handlers.test.ts +3 -3
  211. package/src/tests/gitlab-vcs-db.test.ts +4 -4
  212. package/src/tests/integration-disable-flags.test.ts +36 -0
  213. package/src/tests/mcp-tools.test.ts +1 -1
  214. package/src/tests/onboarding.test.ts +12 -0
  215. package/src/tests/pi-codemode.test.ts +8 -2
  216. package/src/tests/preload-env.test.ts +57 -0
  217. package/src/tests/preload.ts +21 -0
  218. package/src/tests/prompt-template-remaining.test.ts +38 -0
  219. package/src/tests/run-root-coverage.test.ts +39 -0
  220. package/src/tests/runner-bitbucket-vcs.test.ts +191 -0
  221. package/src/tests/runner-skills-refresh.test.ts +58 -0
  222. package/src/tests/secret-scrubber.test.ts +15 -0
  223. package/src/tests/sessions-move.test.ts +576 -0
  224. package/src/tests/sessions-tree.test.ts +493 -0
  225. package/src/tests/skill-files-http.test.ts +50 -0
  226. package/src/tests/skills-bundle.test.ts +99 -0
  227. package/src/tests/swarm-config-export-to-env.test.ts +2 -1
  228. package/src/tests/vcs-bitbucket.test.ts +91 -0
  229. package/src/tests/vcs-provider-isolation.test.ts +123 -0
  230. package/src/tests/vcs-provider.test.ts +16 -1
  231. package/src/tests/vcs-tracking.test.ts +3 -3
  232. package/src/tests/workflow-foreach-bodies.test.ts +637 -0
  233. package/src/tests/workflow-foreach-concurrency.test.ts +342 -0
  234. package/src/tests/workflow-foreach-retry.test.ts +537 -0
  235. package/src/tests/workflow-foreach.test.ts +44 -23
  236. package/src/tests/workflow-step-claims.test.ts +6 -6
  237. package/src/tests/workflow-tla-races.test.ts +2 -2
  238. package/src/tools/script-delete.ts +1 -1
  239. package/src/tools/workflows/create-workflow.ts +5 -3
  240. package/src/types.ts +3 -2
  241. package/src/utils/config-env-export.ts +1 -0
  242. package/src/utils/secret-scrubber.ts +4 -0
  243. package/src/utils/skills-refresh.ts +83 -43
  244. package/src/vcs/bitbucket.ts +58 -0
  245. package/src/vcs/index.ts +2 -0
  246. package/src/vcs/types.ts +2 -2
  247. package/src/workflows/approval-resolution.ts +4 -1
  248. package/src/workflows/checkpoint.ts +9 -1
  249. package/src/workflows/constants.ts +3 -0
  250. package/src/workflows/definition.ts +48 -17
  251. package/src/workflows/engine.ts +25 -15
  252. package/src/workflows/executors/foreach.ts +45 -99
  253. package/src/workflows/foreach-body.ts +146 -0
  254. package/src/workflows/foreach-driver.ts +552 -0
  255. package/src/workflows/foreach-join.ts +206 -7
  256. package/src/workflows/node-timeout.ts +21 -0
  257. package/src/workflows/recovery.ts +68 -3
  258. package/src/workflows/resume.ts +221 -43
  259. package/src/workflows/retry-poller.ts +39 -24
  260. package/src/workflows/step-input.ts +59 -0
  261. package/src/workflows/task-step-routing.ts +114 -56
  262. package/templates/skills/slack-interaction/content.md +5 -0
  263. package/templates/skills/work-on-task/SKILL.md +1 -1
  264. package/templates/skills/work-on-task/content.md +1 -1
  265. package/dist/cli-9hstj09h.js +0 -2657
  266. package/dist/cli-yw91rnmw.js +0 -13
  267. package/dist/handlers-7gw64dxw.js +0 -39
  268. package/dist/index-bgdyvcnv.js +0 -40
  269. package/dist/index-gabbcdn2.js +0 -43
  270. package/dist/index-tfb26zhy.js +0 -41
  271. package/dist/lead-7e02z839.js +0 -77
  272. package/dist/worker-5snytpbd.js +0 -77
@@ -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;
@@ -4,7 +4,7 @@ import {
4
4
  claimKv2,
5
5
  deleteKv2,
6
6
  init_db3
7
- } from "./cli-wt0jf9hm.js";
7
+ } from "./cli-fcc5qe3f.js";
8
8
  import {
9
9
  isEnvFlagEnabled,
10
10
  init_env_flag
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  scrubSecrets,
14
14
  init_secret_scrubber
15
- } from "./cli-xf234ws8.js";
15
+ } from "./cli-n4c8e3s5.js";
16
16
 
17
17
  // src/slack/external-channel.ts
18
18
  init_db3();
@@ -47,10 +47,10 @@ import {
47
47
  checkDependencies2,
48
48
  emitBuiltInIntegrationConnectedOnce2,
49
49
  init_db3
50
- } from "./cli-wt0jf9hm.js";
50
+ } from "./cli-fcc5qe3f.js";
51
51
  import {
52
52
  getChannelBlockReason2
53
- } from "./cli-3a45zcgm.js";
53
+ } from "./cli-ftmq4nvk.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-h9yyza47.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-c9ajzhbn.js");
10084
+ const { registerCommandHandler } = await import("./commands-ew83nj70.js");
10085
+ const { registerActionHandlers } = await import("./actions-8p2kze8j.js");
10086
+ const { registerWorkObjectHandlers } = await import("./work-objects-7mg6216g.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-jedd3ktm.js");
10092
10092
  app.assistant(createAssistant());
10093
- const { isBlockExternalEnabled, scanExternalChannelsOnBoot } = await import("./external-channel-35k6tkv8.js");
10093
+ const { isBlockExternalEnabled, scanExternalChannelsOnBoot } = await import("./external-channel-e9nw24zv.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-cfsh13z3.js");
10107
10107
  if (isSlackRenderV2Enabled())
10108
10108
  await ensureSlackRenderV2Activation2();
10109
10109
  await app.start();
@@ -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";
@@ -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",
@@ -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();
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  scrubSecrets,
7
7
  init_secret_scrubber
8
- } from "./cli-xf234ws8.js";
8
+ } from "./cli-n4c8e3s5.js";
9
9
 
10
10
  // src/providers/codex-oauth/auth-json.ts
11
11
  init_subscription_plans();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  init_package,
3
3
  package_default
4
- } from "./cli-94gwyg7m.js";
4
+ } from "./cli-179xcyky.js";
5
5
 
6
6
  // src/commands/shared/client-config.ts
7
7
  init_package();
@@ -8,7 +8,7 @@ import {
8
8
  complete,
9
9
  parseModelStr,
10
10
  resolveCredential
11
- } from "./cli-8nyhf7za.js";
11
+ } from "./cli-qqzmjxkf.js";
12
12
  import {
13
13
  SummaryWithRatingsSchema,
14
14
  BASE_SUMMARIZE_PROMPT,
@@ -29,7 +29,7 @@ import {
29
29
  import {
30
30
  scrubSecrets,
31
31
  init_secret_scrubber
32
- } from "./cli-xf234ws8.js";
32
+ } from "./cli-n4c8e3s5.js";
33
33
 
34
34
  // src/utils/internal-ai/complete-structured.ts
35
35
  init_zod();
@@ -2543,6 +2543,8 @@ var init_secret_scrubber = __esm(() => {
2543
2543
  "GITLAB_TOKEN",
2544
2544
  "AZURE_DEVOPS_TOKEN",
2545
2545
  "AZURE_DEVOPS_EXT_PAT",
2546
+ "BITBUCKET_TOKEN",
2547
+ "BITBUCKET_WEBHOOK_SECRET",
2546
2548
  "CLAUDE_CODE_OAUTH_TOKEN",
2547
2549
  "ANTHROPIC_API_KEY",
2548
2550
  "OPENAI_API_KEY",
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Anthropic
3
- } from "./cli-k8g16gz3.js";
3
+ } from "./cli-3qv8naq8.js";
4
4
  import {
5
5
  checkToolLoop
6
6
  } from "./cli-0726awxw.js";
@@ -23,7 +23,7 @@ import {
23
23
  import {
24
24
  scrubSecrets,
25
25
  init_secret_scrubber
26
- } from "./cli-xf234ws8.js";
26
+ } from "./cli-n4c8e3s5.js";
27
27
  import {
28
28
  init_src2
29
29
  } from "./cli-nwyw3zhg.js";
@@ -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-179xcyky.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,
@@ -2,7 +2,7 @@ import {
2
2
  DEFAULT_E2B_API_BASE,
3
3
  redactWithEnv,
4
4
  init_env
5
- } from "./cli-pemywhfq.js";
5
+ } from "./cli-ha9rmwgq.js";
6
6
  import {
7
7
  __toESM,
8
8
  __esm
@@ -13,11 +13,11 @@ async function createRuntimeProvider(kind, target = {}) {
13
13
  return new StaticRuntimeProvider;
14
14
  }
15
15
  case "docker": {
16
- const { DockerRuntimeProvider } = await import("./docker-fkgtr75t.js");
16
+ const { DockerRuntimeProvider } = await import("./docker-nfy2gc8t.js");
17
17
  return new DockerRuntimeProvider;
18
18
  }
19
19
  case "e2b": {
20
- const { E2BRuntimeProvider } = await import("./e2b-zn0b4w5w.js");
20
+ const { E2BRuntimeProvider } = await import("./e2b-cjtf8k1z.js");
21
21
  return new E2BRuntimeProvider(target);
22
22
  }
23
23
  case "k8s":
@@ -3,7 +3,7 @@ import {
3
3
  scrubObject,
4
4
  registerVolatileSecret,
5
5
  init_secret_scrubber
6
- } from "./cli-xf234ws8.js";
6
+ } from "./cli-n4c8e3s5.js";
7
7
 
8
8
  // src/x/composio.ts
9
9
  init_secret_scrubber();
@@ -0,0 +1,128 @@
1
+ // node_modules/@earendil-works/pi-ai/dist/utils/version.js
2
+ var PI_AI_VERSION = "1.4.0";
3
+
4
+ // node_modules/@earendil-works/pi-ai/dist/utils/identity.js
5
+ var PI_ATTRIBUTION = { name: "pi", url: "https://pi.dev", categories: ["cli-agent"] };
6
+ var NVIDIA_NIM_HOST = "integrate.api.nvidia.com";
7
+ var OPENCODE_HOST = "opencode.ai";
8
+ function mergeClientIdentity(...sources) {
9
+ let merged;
10
+ for (const source of sources) {
11
+ if (!source)
12
+ continue;
13
+ merged = { ...merged };
14
+ if (source.userAgent !== undefined)
15
+ merged.userAgent = source.userAgent;
16
+ if (source.attribution !== undefined)
17
+ merged.attribution = source.attribution;
18
+ if (source.version !== undefined)
19
+ merged.version = source.version;
20
+ }
21
+ return merged;
22
+ }
23
+ function getClientVersion(identity) {
24
+ return identity?.version ?? PI_AI_VERSION;
25
+ }
26
+ function runtimeDescription() {
27
+ if (typeof process === "undefined")
28
+ return;
29
+ const versions = process.versions;
30
+ if (versions?.bun)
31
+ return `bun/${versions.bun}`;
32
+ if (versions?.node)
33
+ return `node/${process.version}`;
34
+ return;
35
+ }
36
+ function formatUserAgent(identity) {
37
+ const mode = identity?.userAgent ?? "detailed";
38
+ if (typeof mode === "object")
39
+ return mode.custom;
40
+ if (mode === "short")
41
+ return "pi";
42
+ const product = `pi/${getClientVersion(identity)}`;
43
+ const runtime = runtimeDescription();
44
+ return runtime ? `${product} (${process.platform}; ${runtime}; ${process.arch})` : `${product} (browser)`;
45
+ }
46
+ function matchesHost(baseUrl, expectedHost) {
47
+ try {
48
+ return new URL(baseUrl).hostname === expectedHost;
49
+ } catch {
50
+ return false;
51
+ }
52
+ }
53
+ function isOpenRouter(target) {
54
+ return target.provider === "openrouter" || target.baseUrl.includes("openrouter.ai");
55
+ }
56
+ function isNvidiaNim(target) {
57
+ return target.provider === "nvidia" || matchesHost(target.baseUrl, NVIDIA_NIM_HOST);
58
+ }
59
+ function isOpenCode(target) {
60
+ return target.provider === "opencode" || target.provider === "opencode-go" || matchesHost(target.baseUrl, OPENCODE_HOST);
61
+ }
62
+ function getAttributionHeaders(target, identity) {
63
+ const attribution = identity?.attribution;
64
+ if (!attribution)
65
+ return {};
66
+ const { name, url, categories } = attribution;
67
+ if (isOpenRouter(target)) {
68
+ return {
69
+ "HTTP-Referer": url,
70
+ "X-OpenRouter-Title": name,
71
+ ...categories === undefined || categories.length === 0 ? {} : { "X-OpenRouter-Categories": categories.join(",") }
72
+ };
73
+ }
74
+ if (isNvidiaNim(target))
75
+ return { "X-BILLING-INVOKE-ORIGIN": name.charAt(0).toUpperCase() + name.slice(1) };
76
+ if (isOpenCode(target))
77
+ return { "x-opencode-client": name };
78
+ return {};
79
+ }
80
+ function getOpenCodeSessionHeaders(target, sessionId) {
81
+ return sessionId && isOpenCode(target) ? { "x-opencode-session": sessionId } : undefined;
82
+ }
83
+ function getIdentityHeaders(target, identity) {
84
+ return { "User-Agent": formatUserAgent(identity), ...getAttributionHeaders(target, identity) };
85
+ }
86
+ function isMutableModels(models) {
87
+ return "setProvider" in models && "deleteProvider" in models && "clearProviders" in models;
88
+ }
89
+ function withClientIdentity(models, identity) {
90
+ const withIdentity = (options) => ({ ...options, identity: mergeClientIdentity(identity, options?.identity) });
91
+ const wrapped = {
92
+ getProviders: () => models.getProviders(),
93
+ getProvider: (id) => models.getProvider(id),
94
+ getModels: (provider) => models.getModels(provider),
95
+ getModel: (provider, id) => models.getModel(provider, id),
96
+ getModelsOfType: (type, provider) => models.getModelsOfType(type, provider),
97
+ getModelOfType: (type, provider, id) => models.getModelOfType(type, provider, id),
98
+ getAllModels: (provider) => models.getAllModels(provider),
99
+ refresh: (options) => models.refresh(options),
100
+ checkAuth: (providerId, options) => models.checkAuth(providerId, options),
101
+ getAvailable: (providerId, options) => models.getAvailable(providerId, options),
102
+ getAvailableOfType: (type, providerId, options) => models.getAvailableOfType(type, providerId, options),
103
+ getAllAvailable: (providerId, options) => models.getAllAvailable(providerId, options),
104
+ getAuth: models.getAuth.bind(models),
105
+ login: (providerId, type, interaction, options) => models.login(providerId, type, interaction, options),
106
+ logout: (providerId, options) => models.logout(providerId, options),
107
+ stream: (model, context, options) => models.stream(model, context, withIdentity(options)),
108
+ complete: (model, context, options) => models.complete(model, context, withIdentity(options)),
109
+ streamSimple: (model, context, options) => models.streamSimple(model, context, withIdentity(options)),
110
+ completeSimple: (model, context, options) => models.completeSimple(model, context, withIdentity(options)),
111
+ streamDeferred: (model, handle, options) => models.streamDeferred(model, handle, withIdentity(options)),
112
+ fetchDeferred: (model, handle, options) => models.fetchDeferred(model, handle, withIdentity(options)),
113
+ cancelDeferred: (model, handle, options) => models.cancelDeferred(model, handle, withIdentity(options)),
114
+ generateImages: (model, context, options) => models.generateImages(model, context, withIdentity(options)),
115
+ classify: (model, context, options) => models.classify(model, context, withIdentity(options))
116
+ };
117
+ if (!isMutableModels(models))
118
+ return wrapped;
119
+ const mutable = {
120
+ ...wrapped,
121
+ setProvider: (provider) => models.setProvider(provider),
122
+ deleteProvider: (id) => models.deleteProvider(id),
123
+ clearProviders: () => models.clearProviders()
124
+ };
125
+ return mutable;
126
+ }
127
+
128
+ export { PI_AI_VERSION, PI_ATTRIBUTION, mergeClientIdentity, getClientVersion, formatUserAgent, getAttributionHeaders, getOpenCodeSessionHeaders, getIdentityHeaders, withClientIdentity };