@desplega.ai/agent-swarm 1.129.0 → 1.131.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 (226) hide show
  1. package/README.md +2 -2
  2. package/dist/{actions-kfv2dawe.js → actions-w53mbns9.js} +11 -11
  3. package/dist/{anthropic-messages-3xgme8my.js → anthropic-messages-rjmd2e7n.js} +5 -5
  4. package/dist/{app-q8vjk6e8.js → app-m9gwqsqv.js} +8 -8
  5. package/dist/{artifact-hg4t1nx7.js → artifact-jysj3wrg.js} +2 -2
  6. package/dist/{assistant-g037r345.js → assistant-bp65m6f3.js} +13 -13
  7. package/dist/{azure-openai-responses-xa4sh9f6.js → azure-openai-responses-c0yjmbfd.js} +8 -5
  8. package/dist/{boot-reembed-18pzsrxa.js → boot-reembed-62p0at2k.js} +6 -6
  9. package/dist/{boot-reembed-wpks2cj8.js → boot-reembed-xmfp6wdh.js} +7 -7
  10. package/dist/{boot-scrub-logs-n7szd57r.js → boot-scrub-logs-rr8q2dms.js} +5 -5
  11. package/dist/{claude-adapter-qz4r0ajt.js → claude-adapter-2y47mrkd.js} +9 -9
  12. package/dist/{cli-mhjnbgb6.js → cli-0rcyq6d9.js} +450 -186
  13. package/dist/{cli-ttkmehy0.js → cli-2q72qz2s.js} +274 -25
  14. package/dist/{cli-gztgc3hz.js → cli-2wadx7p2.js} +2 -2
  15. package/dist/cli-3fj60etf.js +153 -0
  16. package/dist/{cli-7ecgm5v0.js → cli-3kf51j15.js} +1 -1
  17. package/dist/{cli-vgexpfsr.js → cli-57khth04.js} +6 -3
  18. package/dist/{cli-2mbe7vk0.js → cli-5dsbcjjw.js} +1 -1
  19. package/dist/{cli-etr62zy6.js → cli-5kx36evn.js} +2 -2
  20. package/dist/{cli-v2tr6amf.js → cli-5n6e5yfn.js} +30 -8
  21. package/dist/{cli-hx02s9zq.js → cli-5v4rw6yd.js} +2 -2
  22. package/dist/{cli-v37yr6mf.js → cli-5ze9rv97.js} +4 -4
  23. package/dist/{cli-ch7t5v7n.js → cli-6map995v.js} +9 -4
  24. package/dist/{cli-h0457a67.js → cli-70xqj0z3.js} +3 -3
  25. package/dist/{cli-kk4f9r17.js → cli-72q8m8gk.js} +8 -6
  26. package/dist/{cli-7padk69a.js → cli-78xwvkhj.js} +2 -2
  27. package/dist/{cli-dxtxacy7.js → cli-9dr5qzc0.js} +45 -8
  28. package/dist/{cli-17zxdgsq.js → cli-a40rnf71.js} +6 -6
  29. package/dist/{cli-t53vnnxz.js → cli-a4jzdpa3.js} +2514 -1055
  30. package/dist/{cli-w10fkrf1.js → cli-akdvwc9v.js} +354 -115
  31. package/dist/{cli-1qkk5er0.js → cli-bmze986d.js} +1 -1
  32. package/dist/{cli-ga12dc1d.js → cli-bqw0mt1n.js} +3 -3
  33. package/dist/{cli-0sf92efp.js → cli-cdeg08wx.js} +1 -1
  34. package/dist/{cli-a8ynhkyj.js → cli-cvgjwnh1.js} +17 -15
  35. package/dist/{cli-9fxg3v5m.js → cli-d2tfkcga.js} +4 -4
  36. package/dist/{cli-nhcd7x43.js → cli-d3x3x1c9.js} +2 -2
  37. package/dist/{cli-6nh2qxvh.js → cli-darcwax3.js} +1 -1
  38. package/dist/{cli-yjbgmysx.js → cli-e7ckcg4v.js} +12 -12
  39. package/dist/{cli-4n2gcjpd.js → cli-efxfnq6q.js} +4 -3
  40. package/dist/{cli-z9xqqhfk.js → cli-er3a4bb0.js} +1 -1
  41. package/dist/{cli-xg2eezyv.js → cli-f1am9szv.js} +1 -1
  42. package/dist/{cli-xy4cwsm9.js → cli-fywms69x.js} +1 -1
  43. package/dist/{cli-33jj76y8.js → cli-g6b8x1h8.js} +1 -1
  44. package/dist/{cli-epsvdckx.js → cli-gm9cbhbq.js} +20 -10
  45. package/dist/{cli-rkndnn90.js → cli-k9qkf1hw.js} +6 -4
  46. package/dist/{cli-zejvt395.js → cli-kh3ba2zf.js} +1 -1
  47. package/dist/{cli-gb25p1h2.js → cli-nm5gtp1x.js} +2 -2
  48. package/dist/{cli-akxnpx17.js → cli-pm6xbh84.js} +1829 -1629
  49. package/dist/{cli-2k0ztbfp.js → cli-psh3c4va.js} +1 -1
  50. package/dist/{cli-39vgrsep.js → cli-qv61hp37.js} +2 -2
  51. package/dist/{cli-hv2fndhm.js → cli-r6kqqbj0.js} +6 -4
  52. package/dist/{cli-1y1cm570.js → cli-rzbpmxdr.js} +1 -1
  53. package/dist/{cli-mmrk00vp.js → cli-t1xze5qh.js} +1 -1
  54. package/dist/{cli-g252a9ky.js → cli-t55yw3a1.js} +2 -2
  55. package/dist/{cli-7bz8dzqa.js → cli-t76vw5db.js} +1184 -1522
  56. package/dist/{cli-4n4mdv21.js → cli-xpxde7rm.js} +7 -3
  57. package/dist/{cli-fpaa5k2q.js → cli-yw8vghx2.js} +54 -18
  58. package/dist/cli-zsspvvm2.js +490 -0
  59. package/dist/cli.js +27 -25
  60. package/dist/{codex-adapter-7v6t7ff6.js → codex-adapter-d24q75wk.js} +7 -7
  61. package/dist/{codex-hook-amndawyb.js → codex-hook-hq54t9ft.js} +2 -2
  62. package/dist/{codex-session-runner-e7j4khe2.js → codex-session-runner-g50vcsex.js} +7 -7
  63. package/dist/{commands-ex0k5tbf.js → commands-c3nrc5hg.js} +5 -5
  64. package/dist/{db-df7jatfc.js → db-nt7fg3tw.js} +5 -5
  65. package/dist/{google-generative-ai-y42hnw9p.js → google-generative-ai-hysrd8qx.js} +7 -5
  66. package/dist/{google-vertex-4sg66gb6.js → google-vertex-p5arrga0.js} +7 -5
  67. package/dist/{handlers-1j2cfqt2.js → handlers-fkr6swat.js} +13 -13
  68. package/dist/{hook-nx9a0mj3.js → hook-77wpvnjc.js} +7 -7
  69. package/dist/{hook-w6yaf6sy.js → hook-g019yehy.js} +8 -8
  70. package/dist/{http-4tz5h8wg.js → http-jewj0syk.js} +2993 -716
  71. package/dist/{index-0bpkzb09.js → index-070v4eyb.js} +3 -3
  72. package/dist/{index-0s67qv7h.js → index-6gm5he8h.js} +11 -11
  73. package/dist/{index-35gtv6gj.js → index-7n2xpbd4.js} +310 -40
  74. package/dist/{index-ker3gccb.js → index-9znhar3x.js} +4 -4
  75. package/dist/{index-5n2c8yay.js → index-hase6zbe.js} +2 -2
  76. package/dist/{index-kcf3tm9h.js → index-hfvggd0z.js} +12 -12
  77. package/dist/{index-7c0jqna0.js → index-hp1kdbjj.js} +13 -13
  78. package/dist/{keepalive-3j4a9168.js → keepalive-j0fjvqfd.js} +7 -7
  79. package/dist/{lead-6kpevymb.js → lead-1n8x30xe.js} +33 -33
  80. package/dist/{maintenance-m1k82ean.js → maintenance-gvev11sa.js} +7 -7
  81. package/dist/{mistral-conversations-bjkdfb6z.js → mistral-conversations-81fwav0j.js} +6 -6
  82. package/dist/{oauth-refresh-sweep-881k8e4q.js → oauth-refresh-sweep-s9ecsvh0.js} +6 -6
  83. package/dist/{onboard-c0ykffjn.js → onboard-pvm5b38w.js} +2 -2
  84. package/dist/{openai-codex-responses-xetseqvt.js → openai-codex-responses-5g27pd6f.js} +43 -23
  85. package/dist/{openai-completions-5r2g5axa.js → openai-completions-3vkmfz2a.js} +55 -11
  86. package/dist/{openai-responses-ce67hd23.js → openai-responses-dg4t7j7a.js} +8 -5
  87. package/dist/{openrouter-images-pzfp22jb.js → openrouter-images-g3gm8931.js} +1 -1
  88. package/dist/{otel-impl-sqagjerv.js → otel-impl-p6jvgd9c.js} +6 -4
  89. package/dist/{otel-3mp81ppd.js → otel-nqa12wf3.js} +2 -2
  90. package/dist/{pi-mono-adapter-k584k16g.js → pi-mono-adapter-t091s27g.js} +17117 -7517
  91. package/dist/{pricing-refresh-y82whbf9.js → pricing-refresh-k49rcyed.js} +7 -7
  92. package/dist/{rbac-roles-nvkqmzyd.js → rbac-roles-30pspvy7.js} +7 -7
  93. package/dist/{rbac-roles-4ht8gegc.js → rbac-roles-cr80g96t.js} +6 -6
  94. package/dist/{render-v2-wvqdgvvp.js → render-v2-xm457ng1.js} +8 -8
  95. package/dist/{seed-pricing-fy3rxhde.js → seed-pricing-yhpv35fr.js} +6 -6
  96. package/dist/{setup-ak5cnc6f.js → setup-nytnmwwr.js} +2 -2
  97. package/dist/{worker-d8769q8a.js → worker-msytr2cw.js} +33 -33
  98. package/openapi.json +34039 -11036
  99. package/package.json +8 -6
  100. package/src/apps/definition.ts +368 -26
  101. package/src/apps/row-store.ts +66 -10
  102. package/src/apps/schema-migrate.ts +95 -1
  103. package/src/apps/store.ts +13 -4
  104. package/src/apps/sync-run-as.ts +18 -0
  105. package/src/apps/sync.ts +934 -0
  106. package/src/apps/version.ts +16 -2
  107. package/src/assets/key.ts +8 -1
  108. package/src/be/asset-key-audit.ts +3 -1
  109. package/src/be/db-queries/mcp-oauth.ts +297 -24
  110. package/src/be/db.ts +42 -1
  111. package/src/be/migrations/129_asset_keys_apps_scripts.sql +161 -0
  112. package/src/be/scripts/db.ts +5 -2
  113. package/src/be/scripts/typecheck.ts +1 -0
  114. package/src/be/seed-scripts/catalog/app-sync-run.ts +32 -0
  115. package/src/be/seed-scripts/catalog/github-issues-pull.ts +102 -0
  116. package/src/be/seed-scripts/index.ts +18 -0
  117. package/src/be/seed-skills/index.ts +7 -0
  118. package/src/http/active-sessions.ts +26 -18
  119. package/src/http/agents.ts +94 -27
  120. package/src/http/api-keys.ts +91 -17
  121. package/src/http/approval-requests.ts +87 -10
  122. package/src/http/apps.ts +361 -53
  123. package/src/http/assets.ts +165 -31
  124. package/src/http/budgets.ts +7 -5
  125. package/src/http/codex-oauth-keep-warm.ts +21 -3
  126. package/src/http/config.ts +46 -16
  127. package/src/http/context.ts +33 -6
  128. package/src/http/ecosystem.ts +20 -6
  129. package/src/http/events.ts +24 -9
  130. package/src/http/favorites.ts +20 -6
  131. package/src/http/fs.ts +60 -17
  132. package/src/http/heartbeat.ts +18 -4
  133. package/src/http/inbox-state.ts +12 -6
  134. package/src/http/integrations.ts +25 -5
  135. package/src/http/kv.ts +36 -15
  136. package/src/http/mcp-bridge.ts +5 -1
  137. package/src/http/mcp-oauth.ts +332 -17
  138. package/src/http/mcp-servers.ts +56 -18
  139. package/src/http/memory.ts +282 -29
  140. package/src/http/metrics.ts +80 -17
  141. package/src/http/oauth-callback.ts +10 -4
  142. package/src/http/oauth-generic.ts +5 -1
  143. package/src/http/oauth-locks.ts +6 -3
  144. package/src/http/openapi.ts +57 -9
  145. package/src/http/page-proxy.ts +25 -5
  146. package/src/http/pages-public.ts +37 -20
  147. package/src/http/pages.ts +93 -28
  148. package/src/http/poll.ts +89 -5
  149. package/src/http/pricing.ts +9 -6
  150. package/src/http/prompt-templates.ts +85 -21
  151. package/src/http/route-def.ts +67 -4
  152. package/src/http/schedules.ts +63 -14
  153. package/src/http/script-connection-proxy.ts +30 -4
  154. package/src/http/script-connections.ts +393 -43
  155. package/src/http/script-runs.ts +73 -19
  156. package/src/http/scripts.ts +257 -39
  157. package/src/http/session-data.ts +87 -14
  158. package/src/http/sessions.ts +80 -5
  159. package/src/http/skills.ts +115 -35
  160. package/src/http/stats.ts +94 -13
  161. package/src/http/task-templates.ts +6 -4
  162. package/src/http/tasks.ts +230 -61
  163. package/src/http/trackers/jira.ts +90 -30
  164. package/src/http/trackers/linear.ts +46 -12
  165. package/src/http/users.ts +162 -25
  166. package/src/http/utils.ts +12 -2
  167. package/src/http/webhooks.ts +30 -16
  168. package/src/http/workflow-events.ts +18 -5
  169. package/src/http/workflows.ts +128 -39
  170. package/src/http/x.ts +37 -6
  171. package/src/oauth/ensure-mcp-token.ts +16 -1
  172. package/src/oauth/mcp-wrapper.ts +281 -26
  173. package/src/providers/pi-mono-adapter.ts +1 -1
  174. package/src/scripts-runtime/credential-broker/README.md +1 -1
  175. package/src/scripts-runtime/credential-broker/fetch-patch.ts +12 -2
  176. package/src/scripts-runtime/sdk-allowlist.ts +1 -0
  177. package/src/scripts-runtime/stdlib/fetch.ts +6 -0
  178. package/src/scripts-runtime/types/stdlib.d.ts +1 -0
  179. package/src/scripts-runtime/types/swarm-sdk.d.ts +1 -0
  180. package/src/server.ts +2 -0
  181. package/src/tests/apps-rbac.test.ts +110 -0
  182. package/src/tests/apps-spike2.test.ts +4 -1
  183. package/src/tests/apps-sync-engine.test.ts +2540 -0
  184. package/src/tests/apps-sync.test.ts +1627 -0
  185. package/src/tests/asset-key-api.test.ts +48 -2
  186. package/src/tests/asset-key-invariants.test.ts +92 -0
  187. package/src/tests/asset-key-migration.test.ts +174 -8
  188. package/src/tests/asset-key-normalization.test.ts +2 -0
  189. package/src/tests/credential-broker.test.ts +27 -2
  190. package/src/tests/mcp-oauth-dcr-reuse.test.ts +743 -0
  191. package/src/tests/mcp-oauth-ensure-token.test.ts +45 -0
  192. package/src/tests/mcp-oauth-manual-client.test.ts +135 -2
  193. package/src/tests/mcp-oauth-queries.test.ts +153 -0
  194. package/src/tests/mcp-oauth-wrapper.test.ts +432 -0
  195. package/src/tests/memory-http-recall-gating.test.ts +2 -0
  196. package/src/tests/openapi-response-contract.test.ts +138 -0
  197. package/src/tests/rbac-admission-e2e.test.ts +68 -0
  198. package/src/tests/script-connections.test.ts +3 -0
  199. package/src/tests/scripts-runtime-fetch.test.ts +121 -0
  200. package/src/tests/scripts-runtime-secret-egress.test.ts +4 -2
  201. package/src/tests/seed-scripts.test.ts +2 -2
  202. package/src/tests/swarm-tool-result-gate.test.ts +32 -0
  203. package/src/tests/task-working-dir.test.ts +8 -4
  204. package/src/tests/whoami-route.test.ts +127 -0
  205. package/src/tests/workflow-engine-v2.test.ts +80 -7
  206. package/src/tests/workflow-swarm-script.test.ts +104 -0
  207. package/src/tools/app-get.ts +10 -2
  208. package/src/tools/app-rollback.ts +1 -0
  209. package/src/tools/app-sync.ts +112 -0
  210. package/src/tools/script-common.ts +20 -0
  211. package/src/tools/tool-config.ts +2 -1
  212. package/src/tools/utils.ts +11 -0
  213. package/src/tools/workflows/create-workflow.ts +4 -1
  214. package/src/types.ts +1394 -1206
  215. package/src/utils/template.ts +8 -1
  216. package/src/utils/zod-openapi.ts +11 -0
  217. package/src/workflows/engine.ts +27 -4
  218. package/src/workflows/executors/swarm-script.ts +28 -0
  219. package/src/workflows/retry-poller.ts +19 -2
  220. package/templates/skills/apps/content.md +94 -5
  221. package/templates/skills/asset-namespaces/content.md +2 -2
  222. package/templates/skills/scheduled-task-resilience/SKILL.md +102 -0
  223. package/templates/skills/scheduled-task-resilience/config.json +14 -0
  224. package/templates/skills/scheduled-task-resilience/content.md +97 -0
  225. package/dist/cli-7wmybrt5.js +0 -115
  226. package/dist/cli-d91pvmq1.js +0 -14
@@ -54,18 +54,18 @@ import {
54
54
  withUserAgentSuffix,
55
55
  withoutTrailingSlash,
56
56
  zodSchema
57
- } from "./cli-z9xqqhfk.js";
58
- import"./cli-1qkk5er0.js";
57
+ } from "./cli-er3a4bb0.js";
58
+ import"./cli-bmze986d.js";
59
59
  import"./cli-fad8m16k.js";
60
60
  import {
61
61
  require_token_error
62
62
  } from "./cli-n0krnc6d.js";
63
63
  import {
64
64
  init_zod
65
- } from "./cli-d91pvmq1.js";
65
+ } from "./cli-zsspvvm2.js";
66
66
  import {
67
67
  exports_external
68
- } from "./cli-2mbe7vk0.js";
68
+ } from "./cli-5dsbcjjw.js";
69
69
  import {
70
70
  __commonJS,
71
71
  __require,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  require_dist1 as require_dist
3
- } from "./cli-hv2fndhm.js";
4
- import"./cli-7wmybrt5.js";
3
+ } from "./cli-r6kqqbj0.js";
4
+ import"./cli-3fj60etf.js";
5
5
  import"./cli-p9swy5t3.js";
6
6
  export default require_dist();
@@ -4,25 +4,25 @@ import {
4
4
  runScheduleNow,
5
5
  startScheduler,
6
6
  stopScheduler
7
- } from "./cli-v37yr6mf.js";
8
- import"./cli-fpaa5k2q.js";
7
+ } from "./cli-5ze9rv97.js";
8
+ import"./cli-yw8vghx2.js";
9
9
  import"./cli-3dpj7atn.js";
10
- import"./cli-akxnpx17.js";
10
+ import"./cli-pm6xbh84.js";
11
11
  import"./cli-epan13p1.js";
12
12
  import"./cli-f14fvzag.js";
13
- import"./cli-39vgrsep.js";
14
- import"./cli-1y1cm570.js";
13
+ import"./cli-qv61hp37.js";
14
+ import"./cli-rzbpmxdr.js";
15
15
  import"./cli-0258203w.js";
16
- import"./cli-33jj76y8.js";
17
- import"./cli-0sf92efp.js";
18
- import"./cli-t53vnnxz.js";
19
- import"./cli-4n4mdv21.js";
16
+ import"./cli-g6b8x1h8.js";
17
+ import"./cli-cdeg08wx.js";
18
+ import"./cli-a4jzdpa3.js";
19
+ import"./cli-xpxde7rm.js";
20
20
  import"./cli-x23me2mg.js";
21
21
  import"./cli-z2zcxes1.js";
22
- import"./cli-d91pvmq1.js";
22
+ import"./cli-zsspvvm2.js";
23
23
  import"./cli-4j2mrzag.js";
24
- import"./cli-kk4f9r17.js";
25
- import"./cli-2mbe7vk0.js";
24
+ import"./cli-72q8m8gk.js";
25
+ import"./cli-5dsbcjjw.js";
26
26
  import"./cli-9aryf9tv.js";
27
27
  import"./cli-p9swy5t3.js";
28
28
  export {
@@ -4,27 +4,27 @@ import {
4
4
  runRebootSweep,
5
5
  startHeartbeat,
6
6
  stopHeartbeat
7
- } from "./cli-9fxg3v5m.js";
8
- import"./cli-gb25p1h2.js";
9
- import"./cli-fpaa5k2q.js";
7
+ } from "./cli-d2tfkcga.js";
8
+ import"./cli-nm5gtp1x.js";
9
+ import"./cli-yw8vghx2.js";
10
10
  import"./cli-3dpj7atn.js";
11
- import"./cli-akxnpx17.js";
11
+ import"./cli-pm6xbh84.js";
12
12
  import"./cli-epan13p1.js";
13
13
  import"./cli-f14fvzag.js";
14
- import"./cli-39vgrsep.js";
15
- import"./cli-1y1cm570.js";
14
+ import"./cli-qv61hp37.js";
15
+ import"./cli-rzbpmxdr.js";
16
16
  import"./cli-0258203w.js";
17
- import"./cli-33jj76y8.js";
18
- import"./cli-0sf92efp.js";
17
+ import"./cli-g6b8x1h8.js";
18
+ import"./cli-cdeg08wx.js";
19
19
  import"./cli-t930g0xh.js";
20
- import"./cli-t53vnnxz.js";
21
- import"./cli-4n4mdv21.js";
20
+ import"./cli-a4jzdpa3.js";
21
+ import"./cli-xpxde7rm.js";
22
22
  import"./cli-x23me2mg.js";
23
23
  import"./cli-z2zcxes1.js";
24
- import"./cli-d91pvmq1.js";
24
+ import"./cli-zsspvvm2.js";
25
25
  import"./cli-4j2mrzag.js";
26
- import"./cli-kk4f9r17.js";
27
- import"./cli-2mbe7vk0.js";
26
+ import"./cli-72q8m8gk.js";
27
+ import"./cli-5dsbcjjw.js";
28
28
  import"./cli-9aryf9tv.js";
29
29
  import"./cli-p9swy5t3.js";
30
30
  export {
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  ensureAuthorizationTokenOrThrow,
3
3
  listKeepAliveAuthorizations
4
- } from "./cli-33jj76y8.js";
5
- import"./cli-t53vnnxz.js";
6
- import"./cli-4n4mdv21.js";
4
+ } from "./cli-g6b8x1h8.js";
5
+ import"./cli-a4jzdpa3.js";
6
+ import"./cli-xpxde7rm.js";
7
7
  import"./cli-x23me2mg.js";
8
8
  import"./cli-z2zcxes1.js";
9
- import"./cli-d91pvmq1.js";
9
+ import"./cli-zsspvvm2.js";
10
10
  import"./cli-4j2mrzag.js";
11
- import"./cli-kk4f9r17.js";
12
- import"./cli-2mbe7vk0.js";
11
+ import"./cli-72q8m8gk.js";
12
+ import"./cli-5dsbcjjw.js";
13
13
  import {
14
14
  __require
15
15
  } from "./cli-p9swy5t3.js";
@@ -59,7 +59,7 @@ async function notifySlack(text) {
59
59
  return;
60
60
  }
61
61
  try {
62
- const { getSlackApp } = await import("./app-q8vjk6e8.js");
62
+ const { getSlackApp } = await import("./app-m9gwqsqv.js");
63
63
  const app = getSlackApp();
64
64
  if (!app) {
65
65
  console.warn("[OAuth Keepalive] Slack not available, cannot send notification");
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  runAgent
3
- } from "./cli-yjbgmysx.js";
4
- import"./cli-xg2eezyv.js";
5
- import"./cli-etr62zy6.js";
3
+ } from "./cli-e7ckcg4v.js";
4
+ import"./cli-f1am9szv.js";
5
+ import"./cli-5kx36evn.js";
6
6
  import"./cli-qmdnhpej.js";
7
7
  import"./cli-07er7wrs.js";
8
8
  import"./cli-9b13ggd1.js";
@@ -10,10 +10,10 @@ import"./cli-n6h8qt8n.js";
10
10
  import"./cli-yazx6hap.js";
11
11
  import"./cli-r94z9p1z.js";
12
12
  import"./cli-d6n0thxw.js";
13
- import"./cli-7ecgm5v0.js";
14
- import"./cli-h0457a67.js";
13
+ import"./cli-3kf51j15.js";
14
+ import"./cli-70xqj0z3.js";
15
15
  import"./cli-psrqtw2m.js";
16
- import"./cli-mhjnbgb6.js";
16
+ import"./cli-0rcyq6d9.js";
17
17
  import"./cli-yv9dttkh.js";
18
18
  import"./cli-tng3131n.js";
19
19
  import"./cli-zm7njwzd.js";
@@ -21,53 +21,53 @@ import"./cli-cw70hymf.js";
21
21
  import"./cli-v1mwc5v2.js";
22
22
  import {
23
23
  getEnabledCapabilities
24
- } from "./cli-7bz8dzqa.js";
24
+ } from "./cli-t76vw5db.js";
25
25
  import"./cli-1z7048dy.js";
26
26
  import"./cli-gz9sbyk3.js";
27
- import"./cli-gztgc3hz.js";
27
+ import"./cli-2wadx7p2.js";
28
28
  import"./cli-e7d20cty.js";
29
29
  import"./cli-8whqavk2.js";
30
- import"./cli-gb25p1h2.js";
31
- import"./cli-v37yr6mf.js";
32
- import"./cli-g252a9ky.js";
33
- import"./cli-mmrk00vp.js";
34
- import"./cli-hx02s9zq.js";
35
- import"./cli-ga12dc1d.js";
36
- import"./cli-ttkmehy0.js";
37
- import"./cli-fpaa5k2q.js";
30
+ import"./cli-nm5gtp1x.js";
31
+ import"./cli-5ze9rv97.js";
32
+ import"./cli-t55yw3a1.js";
33
+ import"./cli-t1xze5qh.js";
34
+ import"./cli-5v4rw6yd.js";
35
+ import"./cli-bqw0mt1n.js";
36
+ import"./cli-2q72qz2s.js";
37
+ import"./cli-yw8vghx2.js";
38
38
  import"./cli-3dpj7atn.js";
39
- import"./cli-akxnpx17.js";
39
+ import"./cli-pm6xbh84.js";
40
40
  import"./cli-epan13p1.js";
41
41
  import"./cli-f14fvzag.js";
42
- import"./cli-39vgrsep.js";
43
- import"./cli-1y1cm570.js";
42
+ import"./cli-qv61hp37.js";
43
+ import"./cli-rzbpmxdr.js";
44
44
  import"./cli-0258203w.js";
45
- import"./cli-33jj76y8.js";
45
+ import"./cli-g6b8x1h8.js";
46
46
  import"./cli-fad8m16k.js";
47
47
  import"./cli-7zd05xb4.js";
48
- import"./cli-nhcd7x43.js";
49
- import"./cli-2k0ztbfp.js";
50
- import"./cli-0sf92efp.js";
51
- import"./cli-a8ynhkyj.js";
52
- import"./cli-rkndnn90.js";
48
+ import"./cli-d3x3x1c9.js";
49
+ import"./cli-psh3c4va.js";
50
+ import"./cli-cdeg08wx.js";
51
+ import"./cli-cvgjwnh1.js";
52
+ import"./cli-k9qkf1hw.js";
53
53
  import"./cli-b0p7rfnd.js";
54
54
  import"./cli-t930g0xh.js";
55
- import"./cli-t53vnnxz.js";
56
- import"./cli-4n4mdv21.js";
55
+ import"./cli-a4jzdpa3.js";
56
+ import"./cli-xpxde7rm.js";
57
57
  import"./cli-x23me2mg.js";
58
58
  import"./cli-z2zcxes1.js";
59
- import"./cli-d91pvmq1.js";
59
+ import"./cli-zsspvvm2.js";
60
60
  import"./cli-4j2mrzag.js";
61
- import"./cli-kk4f9r17.js";
62
- import"./cli-2mbe7vk0.js";
61
+ import"./cli-72q8m8gk.js";
62
+ import"./cli-5dsbcjjw.js";
63
63
  import"./cli-e15jhafb.js";
64
64
  import"./cli-9aryf9tv.js";
65
- import"./cli-6nh2qxvh.js";
65
+ import"./cli-darcwax3.js";
66
66
  import"./cli-4wgngmwv.js";
67
67
  import"./cli-zyxs93y9.js";
68
- import"./cli-w10fkrf1.js";
68
+ import"./cli-akdvwc9v.js";
69
69
  import"./cli-8wrympd7.js";
70
- import"./cli-7wmybrt5.js";
70
+ import"./cli-3fj60etf.js";
71
71
  import"./cli-p9swy5t3.js";
72
72
 
73
73
  // src/commands/lead.ts
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  reembedAllScripts
3
- } from "./cli-39vgrsep.js";
4
- import"./cli-1y1cm570.js";
3
+ } from "./cli-qv61hp37.js";
4
+ import"./cli-rzbpmxdr.js";
5
5
  import"./cli-0258203w.js";
6
- import"./cli-t53vnnxz.js";
7
- import"./cli-4n4mdv21.js";
6
+ import"./cli-a4jzdpa3.js";
7
+ import"./cli-xpxde7rm.js";
8
8
  import"./cli-x23me2mg.js";
9
9
  import"./cli-z2zcxes1.js";
10
- import"./cli-d91pvmq1.js";
10
+ import"./cli-zsspvvm2.js";
11
11
  import"./cli-4j2mrzag.js";
12
- import"./cli-kk4f9r17.js";
13
- import"./cli-2mbe7vk0.js";
12
+ import"./cli-72q8m8gk.js";
13
+ import"./cli-5dsbcjjw.js";
14
14
  import"./cli-p9swy5t3.js";
15
15
 
16
16
  // src/be/scripts/maintenance.ts
@@ -36,8 +36,8 @@ import {
36
36
  safeParse,
37
37
  smartUnion,
38
38
  unwrapAsync
39
- } from "./cli-zejvt395.js";
40
- import"./cli-1qkk5er0.js";
39
+ } from "./cli-kh3ba2zf.js";
40
+ import"./cli-bmze986d.js";
41
41
  import {
42
42
  ZodFirstPartyTypeKind
43
43
  } from "./cli-fad8m16k.js";
@@ -64,7 +64,7 @@ import {
64
64
  record,
65
65
  string,
66
66
  union
67
- } from "./cli-2mbe7vk0.js";
67
+ } from "./cli-5dsbcjjw.js";
68
68
  import {
69
69
  parseStreamingJson
70
70
  } from "./cli-zyxs93y9.js";
@@ -72,14 +72,14 @@ import {
72
72
  buildBaseOptions,
73
73
  resolveJsonSchemaStrictSampling,
74
74
  transformMessages
75
- } from "./cli-vgexpfsr.js";
75
+ } from "./cli-57khth04.js";
76
76
  import {
77
77
  sanitizeSurrogates
78
78
  } from "./cli-y2apkfe2.js";
79
79
  import {
80
80
  calculateCost,
81
81
  clampThinkingLevel
82
- } from "./cli-w10fkrf1.js";
82
+ } from "./cli-akdvwc9v.js";
83
83
  import {
84
84
  AssistantMessageEventStream
85
85
  } from "./cli-8wrympd7.js";
@@ -328,7 +328,7 @@ async function getObservabilityModule() {
328
328
  return observabilityModule;
329
329
  }
330
330
  try {
331
- observabilityModule = await import("./otel-3mp81ppd.js");
331
+ observabilityModule = await import("./otel-nqa12wf3.js");
332
332
  } catch {
333
333
  observabilityModule = null;
334
334
  }
@@ -2,18 +2,18 @@ import {
2
2
  forceRefreshAuthorizationOrThrow,
3
3
  getAuthorizationById,
4
4
  listAuthorizationSweepRows
5
- } from "./cli-33jj76y8.js";
6
- import"./cli-t53vnnxz.js";
7
- import"./cli-4n4mdv21.js";
5
+ } from "./cli-g6b8x1h8.js";
6
+ import"./cli-a4jzdpa3.js";
7
+ import"./cli-xpxde7rm.js";
8
8
  import"./cli-x23me2mg.js";
9
9
  import"./cli-z2zcxes1.js";
10
- import"./cli-d91pvmq1.js";
10
+ import"./cli-zsspvvm2.js";
11
11
  import {
12
12
  init_secret_scrubber,
13
13
  scrubSecrets
14
14
  } from "./cli-4j2mrzag.js";
15
- import"./cli-kk4f9r17.js";
16
- import"./cli-2mbe7vk0.js";
15
+ import"./cli-72q8m8gk.js";
16
+ import"./cli-5dsbcjjw.js";
17
17
  import"./cli-p9swy5t3.js";
18
18
 
19
19
  // src/be/oauth-refresh-sweep.ts
@@ -3,7 +3,7 @@ import {
3
3
  createDefaultMcpJson,
4
4
  createDefaultSettingsLocal,
5
5
  createHooksConfig
6
- } from "./cli-xy4cwsm9.js";
6
+ } from "./cli-fywms69x.js";
7
7
  import {
8
8
  require_jsx_dev_runtime
9
9
  } from "./cli-wx82tw1k.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  init_package,
15
15
  package_default
16
- } from "./cli-kk4f9r17.js";
16
+ } from "./cli-72q8m8gk.js";
17
17
  import {
18
18
  Box_default,
19
19
  Select,
@@ -6,7 +6,7 @@ import {
6
6
  convertResponsesMessages,
7
7
  convertResponsesTools,
8
8
  processResponsesStream
9
- } from "./cli-epsvdckx.js";
9
+ } from "./cli-gm9cbhbq.js";
10
10
  import {
11
11
  clampOpenAIPromptCacheKey
12
12
  } from "./cli-mrptpp86.js";
@@ -20,7 +20,7 @@ import {
20
20
  import {
21
21
  formatProviderError,
22
22
  normalizeProviderError
23
- } from "./cli-ch7t5v7n.js";
23
+ } from "./cli-6map995v.js";
24
24
  import"./cli-4wgngmwv.js";
25
25
  import {
26
26
  headersToRecord
@@ -29,11 +29,11 @@ import"./cli-zyxs93y9.js";
29
29
  import {
30
30
  buildBaseOptions,
31
31
  createGrammarToolInputProperties
32
- } from "./cli-vgexpfsr.js";
32
+ } from "./cli-57khth04.js";
33
33
  import"./cli-y2apkfe2.js";
34
34
  import {
35
35
  clampThinkingLevel
36
- } from "./cli-w10fkrf1.js";
36
+ } from "./cli-akdvwc9v.js";
37
37
  import {
38
38
  AssistantMessageEventStream,
39
39
  appendAssistantMessageDiagnostic,
@@ -256,7 +256,7 @@ var stream = (model, context, options) => {
256
256
  startEmitted = true;
257
257
  stream2.push({ type: "start", partial: output });
258
258
  }
259
- }, httpTimeoutMs, websocketConnectTimeoutMs, cacheSessionId, grammarToolInputProperties, options);
259
+ }, httpTimeoutMs, websocketConnectTimeoutMs, cacheSessionId, accountId, grammarToolInputProperties, options);
260
260
  if (options?.signal?.aborted) {
261
261
  throw new Error("Request was aborted");
262
262
  }
@@ -679,14 +679,14 @@ function closeOpenAICodexWebSocketSessions(sessionId) {
679
679
  closeWebSocketSilently(entry.socket, 1000, "debug_close");
680
680
  };
681
681
  if (sessionId) {
682
- const entry = websocketSessionCache.get(sessionId);
683
- if (entry)
682
+ for (const entry of websocketSessionCache.get(sessionId)?.values() ?? [])
684
683
  closeEntry(entry);
685
684
  websocketSessionCache.delete(sessionId);
686
685
  return;
687
686
  }
688
- for (const entry of websocketSessionCache.values()) {
689
- closeEntry(entry);
687
+ for (const accountEntries of websocketSessionCache.values()) {
688
+ for (const entry of accountEntries.values())
689
+ closeEntry(entry);
690
690
  }
691
691
  websocketSessionCache.clear();
692
692
  }
@@ -766,7 +766,7 @@ function closeWebSocketSilently(socket, code = 1000, reason = "done") {
766
766
  socket.close(code, reason);
767
767
  } catch {}
768
768
  }
769
- function scheduleSessionWebSocketExpiry(sessionId, entry) {
769
+ function scheduleSessionWebSocketExpiry(sessionId, accountId, entry) {
770
770
  if (entry.idleTimer) {
771
771
  clearTimeout(entry.idleTimer);
772
772
  }
@@ -774,7 +774,11 @@ function scheduleSessionWebSocketExpiry(sessionId, entry) {
774
774
  if (entry.busy)
775
775
  return;
776
776
  closeWebSocketSilently(entry.socket, 1000, "idle_timeout");
777
- websocketSessionCache.delete(sessionId);
777
+ const accountEntries = websocketSessionCache.get(sessionId);
778
+ if (accountEntries?.get(accountId) === entry)
779
+ accountEntries.delete(accountId);
780
+ if (accountEntries?.size === 0)
781
+ websocketSessionCache.delete(sessionId);
778
782
  }, SESSION_WEBSOCKET_CACHE_TTL_MS);
779
783
  }
780
784
  async function connectWebSocket(url, headers, signal, connectTimeoutMs = DEFAULT_WEBSOCKET_CONNECT_TIMEOUT_MS, env) {
@@ -844,7 +848,7 @@ async function connectWebSocket(url, headers, signal, connectTimeoutMs = DEFAULT
844
848
  }
845
849
  });
846
850
  }
847
- async function acquireWebSocket(url, headers, sessionId, signal, connectTimeoutMs, env) {
851
+ async function acquireWebSocket(url, headers, sessionId, accountId, signal, connectTimeoutMs, env) {
848
852
  if (!sessionId) {
849
853
  const socket2 = await connectWebSocket(url, headers, signal, connectTimeoutMs, env);
850
854
  return {
@@ -853,7 +857,8 @@ async function acquireWebSocket(url, headers, sessionId, signal, connectTimeoutM
853
857
  release: () => closeWebSocketSilently(socket2)
854
858
  };
855
859
  }
856
- const cached = websocketSessionCache.get(sessionId);
860
+ let accountEntries = websocketSessionCache.get(sessionId);
861
+ const cached = accountEntries?.get(accountId);
857
862
  if (cached) {
858
863
  if (cached.idleTimer) {
859
864
  clearTimeout(cached.idleTimer);
@@ -861,7 +866,9 @@ async function acquireWebSocket(url, headers, sessionId, signal, connectTimeoutM
861
866
  }
862
867
  if (!cached.busy && isWebSocketSessionExpired(cached)) {
863
868
  closeWebSocketSilently(cached.socket, 1000, "connection_age_limit");
864
- websocketSessionCache.delete(sessionId);
869
+ accountEntries?.delete(accountId);
870
+ if (accountEntries?.size === 0)
871
+ websocketSessionCache.delete(sessionId);
865
872
  } else if (!cached.busy && isWebSocketReusable(cached.socket)) {
866
873
  cached.busy = true;
867
874
  return {
@@ -871,11 +878,15 @@ async function acquireWebSocket(url, headers, sessionId, signal, connectTimeoutM
871
878
  release: ({ keep } = {}) => {
872
879
  if (!keep || !isWebSocketReusable(cached.socket)) {
873
880
  closeWebSocketSilently(cached.socket);
874
- websocketSessionCache.delete(sessionId);
881
+ const currentEntries = websocketSessionCache.get(sessionId);
882
+ if (currentEntries?.get(accountId) === cached)
883
+ currentEntries.delete(accountId);
884
+ if (currentEntries?.size === 0)
885
+ websocketSessionCache.delete(sessionId);
875
886
  return;
876
887
  }
877
888
  cached.busy = false;
878
- scheduleSessionWebSocketExpiry(sessionId, cached);
889
+ scheduleSessionWebSocketExpiry(sessionId, accountId, cached);
879
890
  }
880
891
  };
881
892
  }
@@ -891,12 +902,19 @@ async function acquireWebSocket(url, headers, sessionId, signal, connectTimeoutM
891
902
  }
892
903
  if (!isWebSocketReusable(cached.socket)) {
893
904
  closeWebSocketSilently(cached.socket);
894
- websocketSessionCache.delete(sessionId);
905
+ accountEntries?.delete(accountId);
906
+ if (accountEntries?.size === 0)
907
+ websocketSessionCache.delete(sessionId);
895
908
  }
896
909
  }
897
910
  const socket = await connectWebSocket(url, headers, signal, connectTimeoutMs, env);
898
911
  const entry = { socket, busy: true, createdAt: Date.now() };
899
- websocketSessionCache.set(sessionId, entry);
912
+ accountEntries = websocketSessionCache.get(sessionId);
913
+ if (!accountEntries) {
914
+ accountEntries = new Map;
915
+ websocketSessionCache.set(sessionId, accountEntries);
916
+ }
917
+ accountEntries.set(accountId, entry);
900
918
  return {
901
919
  socket,
902
920
  entry,
@@ -906,13 +924,15 @@ async function acquireWebSocket(url, headers, sessionId, signal, connectTimeoutM
906
924
  closeWebSocketSilently(entry.socket);
907
925
  if (entry.idleTimer)
908
926
  clearTimeout(entry.idleTimer);
909
- if (websocketSessionCache.get(sessionId) === entry) {
927
+ const currentEntries = websocketSessionCache.get(sessionId);
928
+ if (currentEntries?.get(accountId) === entry)
929
+ currentEntries.delete(accountId);
930
+ if (currentEntries?.size === 0)
910
931
  websocketSessionCache.delete(sessionId);
911
- }
912
932
  return;
913
933
  }
914
934
  entry.busy = false;
915
- scheduleSessionWebSocketExpiry(sessionId, entry);
935
+ scheduleSessionWebSocketExpiry(sessionId, accountId, entry);
916
936
  }
917
937
  };
918
938
  }
@@ -1130,8 +1150,8 @@ async function* startWebSocketOutputOnFirstEvent(events, onStart) {
1130
1150
  yield event;
1131
1151
  }
1132
1152
  }
1133
- async function processWebSocketStream(url, body, headers, output, stream2, model, onStart, idleTimeoutMs, websocketConnectTimeoutMs, cacheSessionId, grammarToolInputProperties, options) {
1134
- const { socket, entry, reused, release } = await acquireWebSocket(url, headers, cacheSessionId, options?.signal, websocketConnectTimeoutMs, options?.env);
1153
+ async function processWebSocketStream(url, body, headers, output, stream2, model, onStart, idleTimeoutMs, websocketConnectTimeoutMs, cacheSessionId, accountId, grammarToolInputProperties, options) {
1154
+ const { socket, entry, reused, release } = await acquireWebSocket(url, headers, cacheSessionId, accountId, options?.signal, websocketConnectTimeoutMs, options?.env);
1135
1155
  let keepConnection = true;
1136
1156
  const useCachedContext = options?.transport === "websocket-cached" || options?.transport === "auto";
1137
1157
  const fullBody = body;