@desplega.ai/agent-swarm 1.131.1 → 1.134.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 (360) hide show
  1. package/README.md +3 -3
  2. package/dist/{actions-jgcy477k.js → actions-7kast243.js} +20 -18
  3. package/dist/{anthropic-messages-rjmd2e7n.js → anthropic-messages-706yad38.js} +33 -17
  4. package/dist/app-0g84t8wf.js +28 -0
  5. package/dist/{artifact-jysj3wrg.js → artifact-dje5ke4h.js} +37 -131
  6. package/dist/{assistant-f2vkk1hj.js → assistant-ac4htcky.js} +25 -22
  7. package/dist/{azure-openai-responses-c0yjmbfd.js → azure-openai-responses-be59fbsz.js} +13 -13
  8. package/dist/{boot-reembed-q7mp8hcr.js → boot-reembed-b1rcqn85.js} +13 -11
  9. package/dist/{boot-reembed-xmw8wcx6.js → boot-reembed-kw2541c4.js} +14 -12
  10. package/dist/{boot-scrub-logs-dsqrv79n.js → boot-scrub-logs-ja29t92g.js} +11 -9
  11. package/dist/{claude-adapter-q6x7yspx.js → claude-adapter-5cg1fv8s.js} +33 -29
  12. package/dist/{claude-managed-adapter-wsg37bt8.js → claude-managed-adapter-9z9sdytx.js} +9 -9
  13. package/dist/{claude-managed-setup-52z4mq9w.js → claude-managed-setup-3zqp51cr.js} +5 -5
  14. package/dist/{claude-1ex232fc.js → claude-wqn3dtca.js} +1 -1
  15. package/dist/{cli-4wgngmwv.js → cli-00w4hbam.js} +1 -1
  16. package/dist/{cli-er3a4bb0.js → cli-15429qdw.js} +6 -1
  17. package/dist/{cli-e5dabkx0.js → cli-1cwhyvta.js} +4 -4
  18. package/dist/{cli-zsspvvm2.js → cli-1ybr6vw2.js} +237 -237
  19. package/dist/{cli-xpxde7rm.js → cli-2wv4kj0e.js} +60 -31
  20. package/dist/cli-34w2584r.js +530 -0
  21. package/dist/{cli-se2p6rkb.js → cli-38taxznr.js} +6 -6
  22. package/dist/{cli-9sbhdpvb.js → cli-3cgfyfzm.js} +14 -14
  23. package/dist/{cli-5n6e5yfn.js → cli-3zmdzfjf.js} +79 -74
  24. package/dist/{cli-3ty0t082.js → cli-43x36mty.js} +197 -8
  25. package/dist/{cli-ycrnynpw.js → cli-480nehnh.js} +29 -22
  26. package/dist/{cli-0258203w.js → cli-492e7ap5.js} +140 -20
  27. package/dist/{cli-3fj60etf.js → cli-497b685t.js} +3 -3
  28. package/dist/{cli-pxfxkx5m.js → cli-4bap00k0.js} +1 -1
  29. package/dist/{cli-w2wxd56v.js → cli-4bc8vmhm.js} +848 -770
  30. package/dist/{cli-aca5pz9f.js → cli-589599p9.js} +1 -1
  31. package/dist/{cli-t930g0xh.js → cli-5tnr64pm.js} +1 -1
  32. package/dist/{cli-jxg3s9ey.js → cli-65d93ves.js} +7 -7
  33. package/dist/{cli-6dpytdr2.js → cli-6x363v1z.js} +2 -2
  34. package/dist/{cli-dxak0fqd.js → cli-787ph852.js} +11 -11
  35. package/dist/{cli-793jvbsh.js → cli-7bv8nckk.js} +16 -11
  36. package/dist/{cli-zyxs93y9.js → cli-7jcc9y1r.js} +3 -3
  37. package/dist/{cli-f1am9szv.js → cli-87t2gstf.js} +1 -1
  38. package/dist/{cli-9aryf9tv.js → cli-95m51ztz.js} +1 -1
  39. package/dist/{cli-4w4fmq9x.js → cli-9w49enmh.js} +2 -2
  40. package/dist/{cli-v69vk5h0.js → cli-9y5b02vr.js} +13 -13
  41. package/dist/{cli-x23me2mg.js → cli-a1rrkrb4.js} +1 -1
  42. package/dist/{cli-psrqtw2m.js → cli-a3pkfpqs.js} +2 -2
  43. package/dist/{cli-h0rgxd24.js → cli-a4ajmfvp.js} +6 -6
  44. package/dist/{cli-ygrbmjja.js → cli-aw8bb6sf.js} +6 -6
  45. package/dist/{cli-g74vpjp2.js → cli-brm3et47.js} +55 -22
  46. package/dist/{cli-czkae1fp.js → cli-c5ddbdfj.js} +9 -9
  47. package/dist/{cli-114fvtmj.js → cli-c79a9zrc.js} +1 -1
  48. package/dist/{cli-49n9f49x.js → cli-dx3dz0ms.js} +3 -3
  49. package/dist/{cli-6dp3ydxa.js → cli-e07exmsb.js} +18 -14
  50. package/dist/cli-et1bbwqf.js +13 -0
  51. package/dist/{cli-yazx6hap.js → cli-f3s9dry0.js} +14 -14
  52. package/dist/{cli-t8d349cy.js → cli-f4wj0s3m.js} +3 -3
  53. package/dist/{cli-d6n0thxw.js → cli-f64gdfxc.js} +1 -1
  54. package/dist/{cli-pwfsqc2x.js → cli-fyd58xgb.js} +55 -55
  55. package/dist/{cli-7dm2zqy2.js → cli-g0j14czv.js} +2 -2
  56. package/dist/{cli-b0p7rfnd.js → cli-g2p9bd1z.js} +14 -14
  57. package/dist/{cli-z905tvmm.js → cli-g814jbst.js} +2 -2
  58. package/dist/{cli-5dsbcjjw.js → cli-ghexzd2d.js} +970 -970
  59. package/dist/{cli-jvv0g8bh.js → cli-gpt9kf01.js} +15 -15
  60. package/dist/{cli-rgrfzg8z.js → cli-grt6qv91.js} +380 -380
  61. package/dist/{cli-wz9115x0.js → cli-gtafvdy0.js} +8 -8
  62. package/dist/{cli-q5dzzak0.js → cli-gy07xk4s.js} +2 -2
  63. package/dist/{cli-sy7jk3tx.js → cli-h0djenzm.js} +2 -2
  64. package/dist/{cli-nrkkknat.js → cli-h37gbjbf.js} +2 -281
  65. package/dist/{cli-jevgrb4w.js → cli-h39xxnq6.js} +1200 -491
  66. package/dist/{cli-gz9sbyk3.js → cli-jepmgn7r.js} +1 -1
  67. package/dist/{cli-ccf9vy7q.js → cli-jmvk6et8.js} +7 -7
  68. package/dist/{cli-2rk0cx7s.js → cli-jxj92gkt.js} +51 -41
  69. package/dist/{cli-bqw0mt1n.js → cli-k46t4664.js} +18 -3
  70. package/dist/{cli-50vbt00w.js → cli-m07313tr.js} +1153 -696
  71. package/dist/{cli-4j2mrzag.js → cli-mkq1rk7b.js} +1 -1
  72. package/dist/{cli-1z7048dy.js → cli-mnm7w46e.js} +1 -1
  73. package/dist/{cli-kd1ck4rx.js → cli-mp9sg4cg.js} +14 -8
  74. package/dist/{cli-jbcva0xj.js → cli-mrammd8c.js} +60 -35
  75. package/dist/cli-nanaxrz6.js +27 -0
  76. package/dist/{cli-p9swy5t3.js → cli-pq2ee5ja.js} +8 -6
  77. package/dist/{cli-2wadx7p2.js → cli-pt43pdp1.js} +2 -2
  78. package/dist/{cli-7sgrxg9a.js → cli-q6d0vvey.js} +4 -4
  79. package/dist/{cli-k9qkf1hw.js → cli-qf9kpsve.js} +9 -9
  80. package/dist/cli-qh4sqfws.js +15 -0
  81. package/dist/{cli-e15jhafb.js → cli-qntkxysp.js} +14 -14
  82. package/dist/{cli-sajgpkqg.js → cli-qs9hhsvb.js} +1723 -325
  83. package/dist/{cli-z2zcxes1.js → cli-qt5bt3vk.js} +1 -1
  84. package/dist/{cli-wx82tw1k.js → cli-qtekrty1.js} +3 -3
  85. package/dist/{cli-g1re8r05.js → cli-rh6f3s9n.js} +3 -3
  86. package/dist/{cli-n0krnc6d.js → cli-rzhcrw2p.js} +2 -2
  87. package/dist/{cli-gecy3z2s.js → cli-snw62ze5.js} +4 -4
  88. package/dist/{cli-n6h8qt8n.js → cli-snz3p4yf.js} +15 -10
  89. package/dist/{cli-r6kqqbj0.js → cli-tkf8n6cw.js} +11 -11
  90. package/dist/{cli-4rkfg1wx.js → cli-tkrr24mz.js} +14 -9
  91. package/dist/{cli-9dr5qzc0.js → cli-tv9f1kyb.js} +54 -43
  92. package/dist/{cli-gm9cbhbq.js → cli-vtz6yj3v.js} +28 -9
  93. package/dist/{cli-2f07m0xr.js → cli-wf86d5t7.js} +1 -1
  94. package/dist/{cli-7zd05xb4.js → cli-whrvct19.js} +45 -45
  95. package/dist/{cli-ap1czx8f.js → cli-wrrea8xm.js} +3 -3
  96. package/dist/{cli-57khth04.js → cli-xmyqv00z.js} +120 -4
  97. package/dist/{cli-cwy5hqbq.js → cli-yjmk7tzc.js} +1 -1
  98. package/dist/{cli-6pcz9h15.js → cli-zykjrwcx.js} +180 -394
  99. package/dist/cli.js +45 -45
  100. package/dist/{codex-adapter-htjkn22b.js → codex-adapter-hsq6mz3m.js} +21 -19
  101. package/dist/{codex-hook-hq54t9ft.js → codex-hook-8c500gq8.js} +8 -7
  102. package/dist/{codex-login-z6yhbkmk.js → codex-login-x7603481.js} +3 -3
  103. package/dist/{codex-session-runner-wjfc7smz.js → codex-session-runner-c1x3x143.js} +15 -13
  104. package/dist/{commands-xhrfwqsk.js → commands-rwtddtst.js} +11 -9
  105. package/dist/{db-anvwb22f.js → db-j2b355vz.js} +458 -444
  106. package/dist/{devin-adapter-v1sarqtw.js → devin-adapter-8qmhqpy3.js} +3 -3
  107. package/dist/{devtools-2y1r7yqk.js → devtools-j2rnj8w7.js} +4 -4
  108. package/dist/{e2b-jdkwemv2.js → e2b-znpx78eg.js} +16 -16
  109. package/dist/{es5-vjgtkgp6.js → es5-fmqrjzy3.js} +2 -2
  110. package/dist/{event-bus-axn823e9.js → event-bus-n8sb35pw.js} +4 -4
  111. package/dist/{getMachineId-bsd-6tc9wxdj.js → getMachineId-bsd-wpzbhkm6.js} +4 -4
  112. package/dist/{getMachineId-darwin-sjt9sgnc.js → getMachineId-darwin-45zabjy0.js} +4 -4
  113. package/dist/{getMachineId-linux-v5n18y9p.js → getMachineId-linux-warnp5pd.js} +3 -3
  114. package/dist/{getMachineId-unsupported-yrjyqw3d.js → getMachineId-unsupported-5spent2a.js} +3 -3
  115. package/dist/{getMachineId-win-w3r8063c.js → getMachineId-win-v4bvcw7a.js} +4 -4
  116. package/dist/{google-generative-ai-hysrd8qx.js → google-generative-ai-b0wzss55.js} +17 -14
  117. package/dist/{google-vertex-p5arrga0.js → google-vertex-e8q4dpya.js} +18 -15
  118. package/dist/{handlers-b9kbc621.js → handlers-hchgrxkh.js} +32 -29
  119. package/dist/{hook-xkvn6c5h.js → hook-p49egqc0.js} +66 -52
  120. package/dist/hook-spb00w76.js +34 -0
  121. package/dist/{http-9xh6ta4r.js → http-nh14kkms.js} +663 -181
  122. package/dist/index-1qthq7vc.js +6 -0
  123. package/dist/{index-0g68f0p6.js → index-20xqmn3v.js} +3 -3
  124. package/dist/{index-vdkr5z2w.js → index-3e03k6e4.js} +114 -114
  125. package/dist/{index-ywds4812.js → index-4cbyhq2g.js} +43 -41
  126. package/dist/index-67pzqfrb.js +36 -0
  127. package/dist/{index-bccrkdkn.js → index-7m8yxkw5.js} +16 -16
  128. package/dist/{index-eaxyqcmj.js → index-dvsk64sm.js} +163 -83
  129. package/dist/{index-dqkpnmqm.js → index-e19s2m8k.js} +18 -18
  130. package/dist/{index-j30k5zxn.js → index-emvxcy98.js} +16 -16
  131. package/dist/{index-7ndw6ecy.js → index-gqnmr60d.js} +9 -9
  132. package/dist/{index-9znhar3x.js → index-j02xvjtd.js} +184 -185
  133. package/dist/{index-1s2442yw.js → index-ns5kksc1.js} +7 -7
  134. package/dist/{index-dpy2hth8.js → index-pdxc8kfh.js} +71 -71
  135. package/dist/{index-z1m7pw0v.js → index-ptcqm8bc.js} +107 -107
  136. package/dist/{index-070v4eyb.js → index-pyp7rexm.js} +5 -6
  137. package/dist/{index-86znjz1p.js → index-shne41sd.js} +13 -13
  138. package/dist/{index-2qn2qndv.js → index-t36q2v4t.js} +183 -183
  139. package/dist/index-tcnvv8w6.js +7 -0
  140. package/dist/index-w91qbfv1.js +7 -0
  141. package/dist/{index-fzc0mwvj.js → index-yqweff5n.js} +32 -32
  142. package/dist/index-yrfphye1.js +39 -0
  143. package/dist/{keepalive-vc7s2aa6.js → keepalive-9k51nqhc.js} +21 -15
  144. package/dist/lead-2xq3dxbz.js +88 -0
  145. package/dist/maintenance-0c0g6nym.js +28 -0
  146. package/dist/mistral-conversations-2njwdwhj.js +717 -0
  147. package/dist/{multipart-parser-qaktc7p8.js → multipart-parser-6gftesw0.js} +2 -2
  148. package/dist/{oauth-refresh-sweep-yecgjpk4.js → oauth-refresh-sweep-273a64r2.js} +14 -12
  149. package/dist/{onboard-xj0f73f9.js → onboard-tsv9wwhz.js} +12 -12
  150. package/dist/{openai-codex-responses-5g27pd6f.js → openai-codex-responses-kt84eq86.js} +26 -26
  151. package/dist/{openai-completions-3vkmfz2a.js → openai-completions-mrypq7qp.js} +17 -16
  152. package/dist/{openai-responses-dg4t7j7a.js → openai-responses-qhrk21ez.js} +20 -17
  153. package/dist/{opencode-adapter-1gm38aba.js → opencode-adapter-rar9676j.js} +13 -11
  154. package/dist/{openrouter-images-g3gm8931.js → openrouter-images-684fysx9.js} +5 -5
  155. package/dist/{otel-impl-nxg0n0b3.js → otel-impl-wp1mfzd2.js} +752 -537
  156. package/dist/{photon_rs-ky7dj5qw.js → photon_rs-8dwt2pzy.js} +581 -581
  157. package/dist/{pi-messages-tqj8q6b9.js → pi-messages-txp9f97r.js} +7 -7
  158. package/dist/{pi-mono-adapter-4g5kby31.js → pi-mono-adapter-yz47kk8e.js} +1910 -1180
  159. package/dist/pricing-refresh-jw1yw2fn.js +22 -0
  160. package/dist/rbac-roles-dg964c8p.js +32 -0
  161. package/dist/{rbac-roles-1hcxdtg7.js → rbac-roles-p53cg5cv.js} +19 -17
  162. package/dist/{registry-02cy9z5z.js → registry-mh12y17v.js} +4 -4
  163. package/dist/render-v2-56vn2rk9.js +36 -0
  164. package/dist/seed-pricing-52xx6z63.js +19 -0
  165. package/dist/{setup-46xtgq3c.js → setup-e8gp79sy.js} +7 -7
  166. package/dist/token-util-zy908s1a.js +6 -0
  167. package/dist/{token-fxkn2zf2.js → token-xg5711x5.js} +4 -4
  168. package/dist/worker-s17f1g46.js +88 -0
  169. package/dist/{x-6mg4kfpe.js → x-xkfh0w0v.js} +5 -5
  170. package/openapi.json +566 -22
  171. package/package.json +6 -6
  172. package/src/be/budget-refusal-notify.ts +14 -7
  173. package/src/be/db-queries/task-artifacts.ts +182 -0
  174. package/src/be/db.ts +834 -171
  175. package/src/be/events.ts +5 -0
  176. package/src/be/migrations/131_session_logs_created_at_index.sql +2 -0
  177. package/src/be/migrations/132_multi_runtime_instances.sql +44 -0
  178. package/src/be/migrations/133_workflow_run_trigger_type.sql +12 -0
  179. package/src/be/migrations/135_backfill_task_pull_request_attachments.sql +228 -0
  180. package/src/be/migrations/136_task_requester_provenance.sql +37 -0
  181. package/src/be/migrations/137_memory_retrieval_composite_index.sql +1 -0
  182. package/src/be/migrations/runner.ts +17 -11
  183. package/src/be/multi-runtime.ts +430 -0
  184. package/src/be/scripts/extract-schema.ts +3 -1
  185. package/src/be/scripts/typecheck.ts +6 -2
  186. package/src/be/seed-prompt-templates.ts +25 -2
  187. package/src/be/seed-skills/index.ts +7 -0
  188. package/src/be/steering.ts +1 -1
  189. package/src/be/swarm-config-guard.ts +18 -0
  190. package/src/commands/credential-wait.ts +54 -0
  191. package/src/commands/onboard/steps/core-credentials.tsx +1 -1
  192. package/src/commands/onboard/steps/custom-templates.tsx +1 -1
  193. package/src/commands/onboard/steps/harness-credentials.tsx +1 -1
  194. package/src/commands/onboard/steps/health-check.tsx +1 -1
  195. package/src/commands/onboard/steps/start.tsx +1 -1
  196. package/src/commands/profile-sync-audit.ts +56 -0
  197. package/src/commands/profile-sync.ts +287 -15
  198. package/src/commands/provider-credentials.ts +46 -19
  199. package/src/commands/runner.ts +199 -33
  200. package/src/commands/templates.ts +22 -0
  201. package/src/github/handlers.ts +55 -9
  202. package/src/heartbeat/heartbeat.ts +109 -17
  203. package/src/hooks/hook.ts +49 -33
  204. package/src/http/active-sessions.ts +11 -1
  205. package/src/http/agents.ts +261 -30
  206. package/src/http/all-routes.ts +1 -0
  207. package/src/http/config.ts +13 -2
  208. package/src/http/core.ts +102 -4
  209. package/src/http/db-query-bounded.ts +313 -0
  210. package/src/http/db-query-shared.ts +249 -0
  211. package/src/http/db-query.ts +54 -42
  212. package/src/http/events.ts +2 -0
  213. package/src/http/index.ts +23 -2
  214. package/src/http/mcp-bridge.ts +37 -3
  215. package/src/http/mcp.ts +12 -0
  216. package/src/http/memory.ts +13 -2
  217. package/src/http/openapi.ts +1 -0
  218. package/src/http/poll.ts +70 -27
  219. package/src/http/prompt-templates.ts +36 -13
  220. package/src/http/route-def.ts +43 -9
  221. package/src/http/schedules.ts +2 -2
  222. package/src/http/scripts.ts +10 -1
  223. package/src/http/session-data.ts +44 -0
  224. package/src/http/tasks.ts +2 -2
  225. package/src/http/users.ts +74 -52
  226. package/src/http/webhooks.ts +5 -2
  227. package/src/http/workflows.ts +1 -4
  228. package/src/integrations/kapso/inbound.ts +1 -1
  229. package/src/jira/outbound.ts +39 -8
  230. package/src/jira/webhook-lifecycle.ts +13 -2
  231. package/src/linear/outbound.ts +43 -10
  232. package/src/oauth/keepalive.ts +13 -2
  233. package/src/prompts/base-prompt.ts +1 -1
  234. package/src/prompts/default-drift.ts +21 -0
  235. package/src/prompts/session-templates.ts +56 -7
  236. package/src/providers/claude-adapter.ts +6 -0
  237. package/src/providers/codex-adapter.ts +6 -0
  238. package/src/providers/opencode-adapter.ts +6 -0
  239. package/src/providers/pi-mono-adapter.ts +8 -0
  240. package/src/providers/pricing-sources.md +24 -0
  241. package/src/queue-stall-alarm.ts +216 -0
  242. package/src/rbac/legacy-policy.ts +3 -0
  243. package/src/rbac/permissions.ts +12 -0
  244. package/src/scheduler/scheduler.ts +7 -0
  245. package/src/script-workflows/executor.ts +2 -1
  246. package/src/scripts-runtime/executors/native.ts +2 -1
  247. package/src/scripts-runtime/executors/types.ts +5 -0
  248. package/src/scripts-runtime/loader.ts +5 -0
  249. package/src/scripts-runtime/sdk-allowlist.ts +3 -0
  250. package/src/scripts-runtime/swarm-config.ts +8 -0
  251. package/src/scripts-runtime/swarm-sdk.ts +7 -0
  252. package/src/scripts-runtime/types/stdlib.d.ts +4 -0
  253. package/src/scripts-runtime/types/swarm-sdk.d.ts +4 -0
  254. package/src/server.ts +6 -0
  255. package/src/slack/channel-join.ts +22 -3
  256. package/src/slack/channel-lifecycle.ts +114 -0
  257. package/src/tests/budget-claim-gate.test.ts +20 -0
  258. package/src/tests/claude-adapter.test.ts +32 -0
  259. package/src/tests/codex-adapter.test.ts +30 -0
  260. package/src/tests/create-task-validation.test.ts +128 -0
  261. package/src/tests/credential-wait.test.ts +67 -1
  262. package/src/tests/db-query.test.ts +711 -2
  263. package/src/tests/heartbeat-checklist.test.ts +28 -0
  264. package/src/tests/http-api-integration.test.ts +81 -0
  265. package/src/tests/http-users.test.ts +166 -1
  266. package/src/tests/identity-field-budget.test.ts +176 -0
  267. package/src/tests/mcp-tools-user.test.ts +34 -0
  268. package/src/tests/mcp-user-route.test.ts +17 -0
  269. package/src/tests/metrics-http.test.ts +44 -0
  270. package/src/tests/migration-failure.test.ts +86 -0
  271. package/src/tests/multi-runtime-registration.test.ts +2810 -0
  272. package/src/tests/openapi-response-contract.test.ts +24 -0
  273. package/src/tests/openapi-route-headers.test.ts +83 -0
  274. package/src/tests/opencode-adapter.test.ts +40 -0
  275. package/src/tests/outbound-listener-rejection.test.ts +138 -0
  276. package/src/tests/pi-mono-adapter.test.ts +98 -0
  277. package/src/tests/preload.ts +2 -0
  278. package/src/tests/profile-sync-warning.test.ts +277 -0
  279. package/src/tests/profile-sync.test.ts +232 -6
  280. package/src/tests/prompt-template-resolver.test.ts +177 -6
  281. package/src/tests/prompt-template-session.test.ts +39 -3
  282. package/src/tests/queue-stall-alarm.test.ts +226 -0
  283. package/src/tests/rbac-charact-slack.test.ts +29 -0
  284. package/src/tests/rbac-engine.test.ts +3 -0
  285. package/src/tests/requester-comms.test.ts +32 -0
  286. package/src/tests/runner-requester-profile.test.ts +38 -0
  287. package/src/tests/schedule-target-type.test.ts +38 -0
  288. package/src/tests/script-connections.test.ts +13 -1
  289. package/src/tests/scripts-runtime-identity.test.ts +375 -0
  290. package/src/tests/scripts-runtime.test.ts +4 -3
  291. package/src/tests/sdk-allowlist.test.ts +47 -0
  292. package/src/tests/send-task-requested-by.test.ts +9 -0
  293. package/src/tests/session-costs.test.ts +506 -1
  294. package/src/tests/shutdown-error-scrubbing.test.ts +92 -0
  295. package/src/tests/slack-channel-lifecycle.test.ts +241 -0
  296. package/src/tests/slack-render-v2.test.ts +43 -0
  297. package/src/tests/steering-core.test.ts +28 -0
  298. package/src/tests/swarm-config-reserved-keys.test.ts +22 -0
  299. package/src/tests/task-artifacts.test.ts +386 -0
  300. package/src/tests/task-attachments-schema.test.ts +17 -1
  301. package/src/tests/task-completion-idempotency.test.ts +57 -0
  302. package/src/tests/task-pull-request-backfill-migration.test.ts +321 -0
  303. package/src/tests/tool-annotations.test.ts +4 -0
  304. package/src/tests/update-profile-api.test.ts +67 -39
  305. package/src/tests/update-profile-auth.test.ts +48 -4
  306. package/src/tests/user-attribution-migration.test.ts +54 -0
  307. package/src/tests/user-identity.test.ts +72 -0
  308. package/src/tests/workflow-async-v2.test.ts +39 -1
  309. package/src/tests/workflow-http-v2.test.ts +3 -2
  310. package/src/tests/workflow-mcp-trigger-schema.test.ts +52 -3
  311. package/src/tests/workflow-retry-v2.test.ts +45 -1
  312. package/src/tools/db-query.ts +18 -8
  313. package/src/tools/get-task-details.ts +24 -3
  314. package/src/tools/manage-user.ts +36 -3
  315. package/src/tools/poll-task.ts +93 -14
  316. package/src/tools/script-common.ts +5 -0
  317. package/src/tools/send-task.ts +1 -4
  318. package/src/tools/slack-archive-channel.ts +70 -0
  319. package/src/tools/slack-create-channel.ts +74 -0
  320. package/src/tools/slack-invite-to-channel.ts +78 -0
  321. package/src/tools/store-progress.ts +13 -2
  322. package/src/tools/swarm-config/delete-config.ts +9 -0
  323. package/src/tools/swarm-config/set-config.ts +3 -2
  324. package/src/tools/task-action.ts +30 -0
  325. package/src/tools/task-tool-ctx.ts +8 -1
  326. package/src/tools/tool-config.ts +4 -1
  327. package/src/tools/update-profile.ts +16 -21
  328. package/src/tools/utils.ts +5 -0
  329. package/src/tools/workflows/trigger-workflow.ts +7 -1
  330. package/src/types.ts +165 -1
  331. package/src/utils/github-pull-request.ts +76 -0
  332. package/src/utils/identity-field-budget.ts +73 -0
  333. package/src/utils/multi-runtime.ts +20 -0
  334. package/src/utils/requester-comms.ts +24 -0
  335. package/src/workflows/engine.ts +22 -2
  336. package/src/workflows/resume.ts +19 -11
  337. package/src/workflows/retry-poller.ts +1 -0
  338. package/src/workflows/triggers.ts +4 -0
  339. package/templates/skills/db-query-guidance/config.json +14 -0
  340. package/templates/skills/db-query-guidance/content.md +57 -0
  341. package/dist/app-5da78bd4.js +0 -26
  342. package/dist/cli-3te4jdkm.js +0 -225
  343. package/dist/cli-bmze986d.js +0 -7
  344. package/dist/cli-kh3ba2zf.js +0 -607
  345. package/dist/hook-cgk4wxmx.js +0 -31
  346. package/dist/index-25wjsdv2.js +0 -34
  347. package/dist/index-76at2ymp.js +0 -7
  348. package/dist/index-hase6zbe.js +0 -6
  349. package/dist/index-vg4snay4.js +0 -36
  350. package/dist/index-vy8edt27.js +0 -7
  351. package/dist/lead-r2yqfmx7.js +0 -85
  352. package/dist/maintenance-mw70k468.js +0 -26
  353. package/dist/mistral-conversations-81fwav0j.js +0 -30578
  354. package/dist/otel-nqa12wf3.js +0 -3149
  355. package/dist/pricing-refresh-2cn6effr.js +0 -20
  356. package/dist/rbac-roles-vynday5g.js +0 -30
  357. package/dist/render-v2-tc0bh8kk.js +0 -34
  358. package/dist/seed-pricing-8kceb43f.js +0 -17
  359. package/dist/token-util-pqyc8kng.js +0 -6
  360. package/dist/worker-qrbz6hmv.js +0 -85
package/README.md CHANGED
@@ -121,11 +121,11 @@ Check [our templates](https://templates.agent-swarm.dev) for a quick start.
121
121
 
122
122
  ## Highlights
123
123
 
124
- - **Lead/worker orchestration in Docker** — isolated dev environments, priority queues, pause/resume across deploys. [Architecture →](https://docs.agent-swarm.dev/docs/architecture/overview)
125
- - **Compounding memory & persistent identity** — agents remember past sessions and evolve their own persona, expertise, and notes. [Memory →](https://docs.agent-swarm.dev/docs/architecture/memory) · [Agents →](https://docs.agent-swarm.dev/docs/architecture/agents)
124
+ - **Lead/worker orchestration in Docker** — isolated dev environments, priority queues, pause/resume across deploys, and API-side alerts when claimable work stops being picked up. [Architecture →](https://docs.agent-swarm.dev/docs/architecture/overview)
125
+ - **Compounding memory & persistent identity** — agents remember past sessions and evolve their own persona, expertise, and notes, with ratcheting file budgets and visible recovery when local edits exceed prompt limits. [Memory →](https://docs.agent-swarm.dev/docs/architecture/memory) · [Agents →](https://docs.agent-swarm.dev/docs/architecture/agents)
126
126
  - **Hybrid + graph-linked memory recall** — memory retrieval can blend vector and full-text ranking, expand through linked memories, surface usefulness readouts, and let agents correct an existing memory without losing its ID or history. [Memory →](https://docs.agent-swarm.dev/docs/architecture/memory) · [MCP tools →](https://docs.agent-swarm.dev/docs/reference/mcp-tools#memory-tools)
127
127
  - **Multi-channel inputs** — Slack, GitHub, GitLab, email, WhatsApp, Linear, Jira, and the HTTP API all create tasks. [Integrations](#integrations)
128
- - **Persistent Slack thread trees** — opt in to one editable task tree per conversation, complete streamed outcome cards, and explicit agent-authored Block Kit messages without routine relay spam. [Slack guide →](https://docs.agent-swarm.dev/docs/guides/slack-integration)
128
+ - **Slack operations and persistent thread trees** — lead agents can create, populate, and archive channels, while conversations can opt in to one editable task tree with streamed outcome cards and explicit Block Kit messages. [Slack guide →](https://docs.agent-swarm.dev/docs/guides/slack-integration)
129
129
  - **Workflow engine with Human-in-the-Loop** — DAG-based automation with approval gates, retries, structured I/O, and `foreach` fan-out that rejoins child agent tasks deterministically. [Workflows →](https://docs.agent-swarm.dev/docs/concepts/workflows)
130
130
  - **Scheduled & recurring tasks** — cron-based automation for standing work, with schedules that can target agent tasks, workflows, or catalog scripts. [Scheduling →](https://docs.agent-swarm.dev/docs/concepts/scheduling)
131
131
  - **Mid-run task steering** — add context at the next turn boundary, request an immediate interrupt where the harness supports it, or degrade safely to a follow-up task. [Task steering →](https://docs.agent-swarm.dev/docs/guides/task-steering)
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  resolveSlackUserId
3
- } from "./cli-7dm2zqy2.js";
4
- import"./cli-aca5pz9f.js";
3
+ } from "./cli-g0j14czv.js";
4
+ import"./cli-589599p9.js";
5
5
  import {
6
6
  createTaskWithSiblingAwareness
7
- } from "./cli-2f07m0xr.js";
7
+ } from "./cli-wf86d5t7.js";
8
8
  import {
9
9
  buildCancelledBlocks,
10
10
  ensureSlackThreadTree,
@@ -12,10 +12,10 @@ import {
12
12
  getAgentEmoji,
13
13
  getTaskLink,
14
14
  isSlackRenderV2Enabled
15
- } from "./cli-rgrfzg8z.js";
16
- import"./cli-k9qkf1hw.js";
17
- import"./cli-b0p7rfnd.js";
18
- import"./cli-t930g0xh.js";
15
+ } from "./cli-grt6qv91.js";
16
+ import"./cli-qf9kpsve.js";
17
+ import"./cli-g2p9bd1z.js";
18
+ import"./cli-5tnr64pm.js";
19
19
  import {
20
20
  cancelTask,
21
21
  getAgentById,
@@ -24,17 +24,19 @@ import {
24
24
  init_context_key,
25
25
  init_db,
26
26
  slackContextKey
27
- } from "./cli-50vbt00w.js";
28
- import"./cli-xpxde7rm.js";
29
- import"./cli-x23me2mg.js";
30
- import"./cli-z2zcxes1.js";
31
- import"./cli-zsspvvm2.js";
32
- import"./cli-4j2mrzag.js";
33
- import"./cli-ccf9vy7q.js";
34
- import"./cli-5dsbcjjw.js";
35
- import"./cli-e15jhafb.js";
36
- import"./cli-3fj60etf.js";
37
- import"./cli-p9swy5t3.js";
27
+ } from "./cli-m07313tr.js";
28
+ import"./cli-34w2584r.js";
29
+ import"./cli-2wv4kj0e.js";
30
+ import"./cli-a1rrkrb4.js";
31
+ import"./cli-qt5bt3vk.js";
32
+ import"./cli-nanaxrz6.js";
33
+ import"./cli-1ybr6vw2.js";
34
+ import"./cli-jmvk6et8.js";
35
+ import"./cli-mkq1rk7b.js";
36
+ import"./cli-ghexzd2d.js";
37
+ import"./cli-qntkxysp.js";
38
+ import"./cli-497b685t.js";
39
+ import"./cli-pq2ee5ja.js";
38
40
 
39
41
  // src/slack/actions.ts
40
42
  init_db();
@@ -1,6 +1,3 @@
1
- import {
2
- splitDeferredTools
3
- } from "./cli-vfcth11k.js";
4
1
  import {
5
2
  buildCopilotDynamicHeaders,
6
3
  hasCopilotVisionInput
@@ -9,32 +6,39 @@ import {
9
6
  retryProviderRequest
10
7
  } from "./cli-s8s499xy.js";
11
8
  import {
12
- getProviderEnvValue
13
- } from "./cli-4wgngmwv.js";
9
+ getPiUserAgent
10
+ } from "./cli-et1bbwqf.js";
14
11
  import {
15
- headersToRecord
16
- } from "./cli-vapyk8sw.js";
12
+ splitDeferredTools
13
+ } from "./cli-vfcth11k.js";
14
+ import {
15
+ getProviderEnvValue
16
+ } from "./cli-00w4hbam.js";
17
17
  import {
18
18
  parseJsonWithRepair,
19
19
  parseStreamingJson
20
- } from "./cli-zyxs93y9.js";
20
+ } from "./cli-7jcc9y1r.js";
21
21
  import {
22
22
  adjustMaxTokensForThinking,
23
23
  buildBaseOptions,
24
24
  clampMaxTokensToContext,
25
+ getJsonSchemaToolParameters,
25
26
  resolveJsonSchemaStrictSampling,
26
27
  transformMessages
27
- } from "./cli-57khth04.js";
28
+ } from "./cli-xmyqv00z.js";
28
29
  import {
29
30
  sanitizeSurrogates
30
31
  } from "./cli-y2apkfe2.js";
32
+ import {
33
+ headersToRecord
34
+ } from "./cli-vapyk8sw.js";
31
35
  import {
32
36
  calculateCost
33
37
  } from "./cli-akdvwc9v.js";
34
38
  import {
35
39
  AssistantMessageEventStream
36
40
  } from "./cli-8wrympd7.js";
37
- import"./cli-p9swy5t3.js";
41
+ import"./cli-pq2ee5ja.js";
38
42
 
39
43
  // node_modules/@earendil-works/pi-ai/node_modules/@anthropic-ai/sdk/internal/tslib.mjs
40
44
  function __classPrivateFieldSet(receiver, state, value, kind, f) {
@@ -4946,6 +4950,17 @@ function mergeHeaders(...headerSources) {
4946
4950
  }
4947
4951
  return merged;
4948
4952
  }
4953
+ function mergeClientHeaders(model, ...headerSources) {
4954
+ const merged = mergeHeaders(...headerSources);
4955
+ if (model.provider === "kimi-coding") {
4956
+ for (const name of Object.keys(merged)) {
4957
+ if (name.toLowerCase() === "user-agent")
4958
+ delete merged[name];
4959
+ }
4960
+ merged["User-Agent"] = getPiUserAgent();
4961
+ }
4962
+ return merged;
4963
+ }
4949
4964
  function hasHeader(headers, name) {
4950
4965
  if (!headers)
4951
4966
  return false;
@@ -5414,7 +5429,7 @@ function createClient(model, apiKey, interleavedThinking, useFineGrainedToolStre
5414
5429
  baseURL: model.baseUrl,
5415
5430
  dangerouslyAllowBrowser: true,
5416
5431
  fetch: fetch2,
5417
- defaultHeaders: mergeHeaders({
5432
+ defaultHeaders: mergeClientHeaders(model, {
5418
5433
  accept: "application/json",
5419
5434
  "anthropic-dangerous-direct-browser-access": "true",
5420
5435
  ...betaFeatures.length > 0 ? { "anthropic-beta": betaFeatures.join(",") } : {}
@@ -5429,7 +5444,7 @@ function createClient(model, apiKey, interleavedThinking, useFineGrainedToolStre
5429
5444
  baseURL: model.baseUrl,
5430
5445
  dangerouslyAllowBrowser: true,
5431
5446
  fetch: fetch2,
5432
- defaultHeaders: mergeHeaders({
5447
+ defaultHeaders: mergeClientHeaders(model, {
5433
5448
  accept: "application/json",
5434
5449
  "anthropic-dangerous-direct-browser-access": "true",
5435
5450
  "anthropic-beta": ["claude-code-20250219", "oauth-2025-04-20", ...betaFeatures].join(","),
@@ -5440,7 +5455,7 @@ function createClient(model, apiKey, interleavedThinking, useFineGrainedToolStre
5440
5455
  return { client: client2, isOAuthToken: true };
5441
5456
  }
5442
5457
  const sessionAffinityHeaders = sessionId && getAnthropicCompat(model).sendSessionAffinityHeaders ? { "x-session-affinity": sessionId } : {};
5443
- const defaultHeaders = mergeHeaders({
5458
+ const defaultHeaders = mergeClientHeaders(model, {
5444
5459
  accept: "application/json",
5445
5460
  "anthropic-dangerous-direct-browser-access": "true",
5446
5461
  ...betaFeatures.length > 0 ? { "anthropic-beta": betaFeatures.join(",") } : {}
@@ -5710,14 +5725,15 @@ function convertTools(tools, isOAuthToken2, supportsEagerToolInputStreaming, sup
5710
5725
  return [];
5711
5726
  return tools.map((tool, index) => {
5712
5727
  const strict = resolveJsonSchemaStrictSampling(tool, supportsStrictTools);
5713
- const schema = tool.parameters;
5728
+ const parameters = getJsonSchemaToolParameters(tool, strict);
5729
+ const schema = parameters;
5714
5730
  const legacyInputSchema = {
5715
5731
  type: "object",
5716
5732
  properties: schema.properties ?? {},
5717
5733
  required: schema.required ?? []
5718
5734
  };
5719
5735
  const inputSchema = strict === true ? {
5720
- ...tool.parameters,
5736
+ ...parameters,
5721
5737
  ...legacyInputSchema
5722
5738
  } : legacyInputSchema;
5723
5739
  return {
@@ -5755,6 +5771,6 @@ function mapStopReason(reason, stopDetails) {
5755
5771
  }
5756
5772
  }
5757
5773
  export {
5758
- streamSimple,
5759
- stream
5774
+ stream,
5775
+ streamSimple
5760
5776
  };
@@ -0,0 +1,28 @@
1
+ import {
2
+ getSlackApp,
3
+ initSlackApp,
4
+ startSlackApp,
5
+ stopSlackApp
6
+ } from "./cli-grt6qv91.js";
7
+ import"./cli-qf9kpsve.js";
8
+ import"./cli-g2p9bd1z.js";
9
+ import"./cli-5tnr64pm.js";
10
+ import"./cli-m07313tr.js";
11
+ import"./cli-34w2584r.js";
12
+ import"./cli-2wv4kj0e.js";
13
+ import"./cli-a1rrkrb4.js";
14
+ import"./cli-qt5bt3vk.js";
15
+ import"./cli-nanaxrz6.js";
16
+ import"./cli-1ybr6vw2.js";
17
+ import"./cli-jmvk6et8.js";
18
+ import"./cli-mkq1rk7b.js";
19
+ import"./cli-ghexzd2d.js";
20
+ import"./cli-qntkxysp.js";
21
+ import"./cli-497b685t.js";
22
+ import"./cli-pq2ee5ja.js";
23
+ export {
24
+ getSlackApp,
25
+ initSlackApp,
26
+ startSlackApp,
27
+ stopSlackApp
28
+ };
@@ -7,20 +7,20 @@ import {
7
7
  import {
8
8
  require_follow_redirects,
9
9
  require_src
10
- } from "./cli-k9qkf1hw.js";
10
+ } from "./cli-qf9kpsve.js";
11
11
  import {
12
12
  getMcpBaseUrl,
13
13
  init_constants
14
- } from "./cli-x23me2mg.js";
15
- import"./cli-3fj60etf.js";
14
+ } from "./cli-a1rrkrb4.js";
15
+ import"./cli-497b685t.js";
16
16
  import {
17
17
  __commonJS,
18
18
  __require,
19
19
  __toESM
20
- } from "./cli-p9swy5t3.js";
20
+ } from "./cli-pq2ee5ja.js";
21
21
 
22
22
  // node_modules/axios/lib/helpers/bind.js
23
- var require_bind = __commonJS((exports, module) => {
23
+ var require_bind = __commonJS(function(exports, module) {
24
24
  module.exports = function bind(fn, thisArg) {
25
25
  return function wrap() {
26
26
  var args = new Array(arguments.length);
@@ -33,7 +33,7 @@ var require_bind = __commonJS((exports, module) => {
33
33
  });
34
34
 
35
35
  // node_modules/axios/lib/utils.js
36
- var require_utils = __commonJS((exports, module) => {
36
+ var require_utils = __commonJS(function(exports, module) {
37
37
  var bind = require_bind();
38
38
  var toString = Object.prototype.toString;
39
39
  function isArray(val) {
@@ -183,7 +183,7 @@ var require_utils = __commonJS((exports, module) => {
183
183
  });
184
184
 
185
185
  // node_modules/axios/lib/helpers/buildURL.js
186
- var require_buildURL = __commonJS((exports, module) => {
186
+ var require_buildURL = __commonJS(function(exports, module) {
187
187
  var utils = require_utils();
188
188
  function encode(val) {
189
189
  return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
@@ -231,7 +231,7 @@ var require_buildURL = __commonJS((exports, module) => {
231
231
  });
232
232
 
233
233
  // node_modules/axios/lib/core/InterceptorManager.js
234
- var require_InterceptorManager = __commonJS((exports, module) => {
234
+ var require_InterceptorManager = __commonJS(function(exports, module) {
235
235
  var utils = require_utils();
236
236
  function InterceptorManager() {
237
237
  this.handlers = [];
@@ -261,7 +261,7 @@ var require_InterceptorManager = __commonJS((exports, module) => {
261
261
  });
262
262
 
263
263
  // node_modules/axios/lib/helpers/normalizeHeaderName.js
264
- var require_normalizeHeaderName = __commonJS((exports, module) => {
264
+ var require_normalizeHeaderName = __commonJS(function(exports, module) {
265
265
  var utils = require_utils();
266
266
  module.exports = function normalizeHeaderName(headers, normalizedName) {
267
267
  utils.forEach(headers, function processHeader(value, name) {
@@ -274,7 +274,7 @@ var require_normalizeHeaderName = __commonJS((exports, module) => {
274
274
  });
275
275
 
276
276
  // node_modules/axios/lib/core/enhanceError.js
277
- var require_enhanceError = __commonJS((exports, module) => {
277
+ var require_enhanceError = __commonJS(function(exports, module) {
278
278
  module.exports = function enhanceError(error, config, code, request, response) {
279
279
  error.config = config;
280
280
  if (code) {
@@ -302,7 +302,7 @@ var require_enhanceError = __commonJS((exports, module) => {
302
302
  });
303
303
 
304
304
  // node_modules/axios/lib/core/createError.js
305
- var require_createError = __commonJS((exports, module) => {
305
+ var require_createError = __commonJS(function(exports, module) {
306
306
  var enhanceError = require_enhanceError();
307
307
  module.exports = function createError(message, config, code, request, response) {
308
308
  var error = new Error(message);
@@ -311,7 +311,7 @@ var require_createError = __commonJS((exports, module) => {
311
311
  });
312
312
 
313
313
  // node_modules/axios/lib/core/settle.js
314
- var require_settle = __commonJS((exports, module) => {
314
+ var require_settle = __commonJS(function(exports, module) {
315
315
  var createError = require_createError();
316
316
  module.exports = function settle(resolve, reject, response) {
317
317
  var validateStatus = response.config.validateStatus;
@@ -324,7 +324,7 @@ var require_settle = __commonJS((exports, module) => {
324
324
  });
325
325
 
326
326
  // node_modules/axios/lib/helpers/cookies.js
327
- var require_cookies = __commonJS((exports, module) => {
327
+ var require_cookies = __commonJS(function(exports, module) {
328
328
  var utils = require_utils();
329
329
  module.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv() {
330
330
  return {
@@ -365,21 +365,21 @@ var require_cookies = __commonJS((exports, module) => {
365
365
  });
366
366
 
367
367
  // node_modules/axios/lib/helpers/isAbsoluteURL.js
368
- var require_isAbsoluteURL = __commonJS((exports, module) => {
368
+ var require_isAbsoluteURL = __commonJS(function(exports, module) {
369
369
  module.exports = function isAbsoluteURL(url) {
370
370
  return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
371
371
  };
372
372
  });
373
373
 
374
374
  // node_modules/axios/lib/helpers/combineURLs.js
375
- var require_combineURLs = __commonJS((exports, module) => {
375
+ var require_combineURLs = __commonJS(function(exports, module) {
376
376
  module.exports = function combineURLs(baseURL, relativeURL) {
377
377
  return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL;
378
378
  };
379
379
  });
380
380
 
381
381
  // node_modules/axios/lib/core/buildFullPath.js
382
- var require_buildFullPath = __commonJS((exports, module) => {
382
+ var require_buildFullPath = __commonJS(function(exports, module) {
383
383
  var isAbsoluteURL = require_isAbsoluteURL();
384
384
  var combineURLs = require_combineURLs();
385
385
  module.exports = function buildFullPath(baseURL, requestedURL) {
@@ -391,7 +391,7 @@ var require_buildFullPath = __commonJS((exports, module) => {
391
391
  });
392
392
 
393
393
  // node_modules/axios/lib/helpers/parseHeaders.js
394
- var require_parseHeaders = __commonJS((exports, module) => {
394
+ var require_parseHeaders = __commonJS(function(exports, module) {
395
395
  var utils = require_utils();
396
396
  var ignoreDuplicateOf = [
397
397
  "age",
@@ -441,7 +441,7 @@ var require_parseHeaders = __commonJS((exports, module) => {
441
441
  });
442
442
 
443
443
  // node_modules/axios/lib/helpers/isURLSameOrigin.js
444
- var require_isURLSameOrigin = __commonJS((exports, module) => {
444
+ var require_isURLSameOrigin = __commonJS(function(exports, module) {
445
445
  var utils = require_utils();
446
446
  module.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv() {
447
447
  var msie = /(msie|trident)/i.test(navigator.userAgent);
@@ -478,7 +478,7 @@ var require_isURLSameOrigin = __commonJS((exports, module) => {
478
478
  });
479
479
 
480
480
  // node_modules/axios/lib/adapters/xhr.js
481
- var require_xhr = __commonJS((exports, module) => {
481
+ var require_xhr = __commonJS(function(exports, module) {
482
482
  var utils = require_utils();
483
483
  var settle = require_settle();
484
484
  var cookies = require_cookies();
@@ -599,7 +599,7 @@ var require_xhr = __commonJS((exports, module) => {
599
599
  });
600
600
 
601
601
  // node_modules/axios/package.json
602
- var require_package = __commonJS((exports, module) => {
602
+ var require_package = __commonJS(function(exports, module) {
603
603
  module.exports = {
604
604
  name: "axios",
605
605
  version: "0.21.4",
@@ -687,7 +687,7 @@ var require_package = __commonJS((exports, module) => {
687
687
  });
688
688
 
689
689
  // node_modules/axios/lib/adapters/http.js
690
- var require_http = __commonJS((exports, module) => {
690
+ var require_http = __commonJS(function(exports, module) {
691
691
  var utils = require_utils();
692
692
  var settle = require_settle();
693
693
  var buildFullPath = require_buildFullPath();
@@ -928,7 +928,7 @@ var require_http = __commonJS((exports, module) => {
928
928
  });
929
929
 
930
930
  // node_modules/axios/lib/defaults.js
931
- var require_defaults = __commonJS((exports, module) => {
931
+ var require_defaults = __commonJS(function(exports, module) {
932
932
  var utils = require_utils();
933
933
  var normalizeHeaderName = require_normalizeHeaderName();
934
934
  var enhanceError = require_enhanceError();
@@ -1031,7 +1031,7 @@ var require_defaults = __commonJS((exports, module) => {
1031
1031
  });
1032
1032
 
1033
1033
  // node_modules/axios/lib/core/transformData.js
1034
- var require_transformData = __commonJS((exports, module) => {
1034
+ var require_transformData = __commonJS(function(exports, module) {
1035
1035
  var utils = require_utils();
1036
1036
  var defaults = require_defaults();
1037
1037
  module.exports = function transformData(data, headers, fns) {
@@ -1044,14 +1044,14 @@ var require_transformData = __commonJS((exports, module) => {
1044
1044
  });
1045
1045
 
1046
1046
  // node_modules/axios/lib/cancel/isCancel.js
1047
- var require_isCancel = __commonJS((exports, module) => {
1047
+ var require_isCancel = __commonJS(function(exports, module) {
1048
1048
  module.exports = function isCancel(value) {
1049
1049
  return !!(value && value.__CANCEL__);
1050
1050
  };
1051
1051
  });
1052
1052
 
1053
1053
  // node_modules/axios/lib/core/dispatchRequest.js
1054
- var require_dispatchRequest = __commonJS((exports, module) => {
1054
+ var require_dispatchRequest = __commonJS(function(exports, module) {
1055
1055
  var utils = require_utils();
1056
1056
  var transformData = require_transformData();
1057
1057
  var isCancel = require_isCancel();
@@ -1087,7 +1087,7 @@ var require_dispatchRequest = __commonJS((exports, module) => {
1087
1087
  });
1088
1088
 
1089
1089
  // node_modules/axios/lib/core/mergeConfig.js
1090
- var require_mergeConfig = __commonJS((exports, module) => {
1090
+ var require_mergeConfig = __commonJS(function(exports, module) {
1091
1091
  var utils = require_utils();
1092
1092
  module.exports = function mergeConfig(config1, config2) {
1093
1093
  config2 = config2 || {};
@@ -1167,7 +1167,7 @@ var require_mergeConfig = __commonJS((exports, module) => {
1167
1167
  });
1168
1168
 
1169
1169
  // node_modules/axios/lib/helpers/validator.js
1170
- var require_validator = __commonJS((exports, module) => {
1170
+ var require_validator = __commonJS(function(exports, module) {
1171
1171
  var pkg = require_package();
1172
1172
  var validators = {};
1173
1173
  ["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type, i) {
@@ -1235,7 +1235,7 @@ var require_validator = __commonJS((exports, module) => {
1235
1235
  });
1236
1236
 
1237
1237
  // node_modules/axios/lib/core/Axios.js
1238
- var require_Axios = __commonJS((exports, module) => {
1238
+ var require_Axios = __commonJS(function(exports, module) {
1239
1239
  var utils = require_utils();
1240
1240
  var buildURL = require_buildURL();
1241
1241
  var InterceptorManager = require_InterceptorManager();
@@ -1344,7 +1344,7 @@ var require_Axios = __commonJS((exports, module) => {
1344
1344
  });
1345
1345
 
1346
1346
  // node_modules/axios/lib/cancel/Cancel.js
1347
- var require_Cancel = __commonJS((exports, module) => {
1347
+ var require_Cancel = __commonJS(function(exports, module) {
1348
1348
  function Cancel(message) {
1349
1349
  this.message = message;
1350
1350
  }
@@ -1356,7 +1356,7 @@ var require_Cancel = __commonJS((exports, module) => {
1356
1356
  });
1357
1357
 
1358
1358
  // node_modules/axios/lib/cancel/CancelToken.js
1359
- var require_CancelToken = __commonJS((exports, module) => {
1359
+ var require_CancelToken = __commonJS(function(exports, module) {
1360
1360
  var Cancel = require_Cancel();
1361
1361
  function CancelToken(executor) {
1362
1362
  if (typeof executor !== "function") {
@@ -1394,7 +1394,7 @@ var require_CancelToken = __commonJS((exports, module) => {
1394
1394
  });
1395
1395
 
1396
1396
  // node_modules/axios/lib/helpers/spread.js
1397
- var require_spread = __commonJS((exports, module) => {
1397
+ var require_spread = __commonJS(function(exports, module) {
1398
1398
  module.exports = function spread(callback) {
1399
1399
  return function wrap(arr) {
1400
1400
  return callback.apply(null, arr);
@@ -1403,14 +1403,14 @@ var require_spread = __commonJS((exports, module) => {
1403
1403
  });
1404
1404
 
1405
1405
  // node_modules/axios/lib/helpers/isAxiosError.js
1406
- var require_isAxiosError = __commonJS((exports, module) => {
1406
+ var require_isAxiosError = __commonJS(function(exports, module) {
1407
1407
  module.exports = function isAxiosError(payload) {
1408
1408
  return typeof payload === "object" && payload.isAxiosError === true;
1409
1409
  };
1410
1410
  });
1411
1411
 
1412
1412
  // node_modules/axios/lib/axios.js
1413
- var require_axios = __commonJS((exports, module) => {
1413
+ var require_axios = __commonJS(function(exports, module) {
1414
1414
  var utils = require_utils();
1415
1415
  var bind = require_bind();
1416
1416
  var Axios = require_Axios();
@@ -1441,7 +1441,7 @@ var require_axios = __commonJS((exports, module) => {
1441
1441
  });
1442
1442
 
1443
1443
  // node_modules/@desplega.ai/localtunnel/lib/HeaderHostTransformer.js
1444
- var require_HeaderHostTransformer = __commonJS((exports, module) => {
1444
+ var require_HeaderHostTransformer = __commonJS(function(exports, module) {
1445
1445
  var { Transform } = __require("stream");
1446
1446
 
1447
1447
  class HeaderHostTransformer extends Transform {
@@ -1461,7 +1461,7 @@ var require_HeaderHostTransformer = __commonJS((exports, module) => {
1461
1461
  });
1462
1462
 
1463
1463
  // node_modules/@desplega.ai/localtunnel/lib/TunnelCluster.js
1464
- var require_TunnelCluster = __commonJS((exports, module) => {
1464
+ var require_TunnelCluster = __commonJS(function(exports, module) {
1465
1465
  var { EventEmitter } = __require("events");
1466
1466
  var debug = require_src()("localtunnel:client");
1467
1467
  var fs = __require("fs");
@@ -1605,7 +1605,7 @@ var require_TunnelCluster = __commonJS((exports, module) => {
1605
1605
  });
1606
1606
 
1607
1607
  // node_modules/@desplega.ai/localtunnel/lib/Tunnel.js
1608
- var require_Tunnel = __commonJS((exports, module) => {
1608
+ var require_Tunnel = __commonJS(function(exports, module) {
1609
1609
  var { parse } = __require("url");
1610
1610
  var { EventEmitter } = __require("events");
1611
1611
  var axios = require_axios();
@@ -1772,7 +1772,7 @@ var require_Tunnel = __commonJS((exports, module) => {
1772
1772
  });
1773
1773
 
1774
1774
  // node_modules/@desplega.ai/localtunnel/localtunnel.js
1775
- var require_localtunnel = __commonJS((exports, module) => {
1775
+ var require_localtunnel = __commonJS(function(exports, module) {
1776
1776
  var Tunnel = require_Tunnel();
1777
1777
  module.exports = function localtunnel(arg1, arg2, arg3) {
1778
1778
  const options = typeof arg1 === "object" ? arg1 : { ...arg2, port: arg1 };
@@ -2993,78 +2993,6 @@ var RegExpRouter = class {
2993
2993
  }
2994
2994
  };
2995
2995
 
2996
- // node_modules/hono/dist/router/reg-exp-router/prepared-router.js
2997
- var PreparedRegExpRouter = class {
2998
- name = "PreparedRegExpRouter";
2999
- #matchers;
3000
- #relocateMap;
3001
- constructor(matchers, relocateMap) {
3002
- this.#matchers = matchers;
3003
- this.#relocateMap = relocateMap;
3004
- }
3005
- #addWildcard(method, handlerData) {
3006
- const matcher = this.#matchers[method];
3007
- matcher[1].forEach((list) => list && list.push(handlerData));
3008
- Object.values(matcher[2]).forEach((list) => list[0].push(handlerData));
3009
- }
3010
- #addPath(method, path, handler, indexes, map) {
3011
- const matcher = this.#matchers[method];
3012
- if (!map) {
3013
- matcher[2][path][0].push([handler, {}]);
3014
- } else {
3015
- indexes.forEach((index) => {
3016
- if (typeof index === "number") {
3017
- matcher[1][index].push([handler, map]);
3018
- } else {
3019
- matcher[2][index || path][0].push([handler, map]);
3020
- }
3021
- });
3022
- }
3023
- }
3024
- add(method, path, handler) {
3025
- if (!this.#matchers[method]) {
3026
- const all = this.#matchers[METHOD_NAME_ALL];
3027
- const staticMap = {};
3028
- for (const key in all[2]) {
3029
- staticMap[key] = [all[2][key][0].slice(), emptyParam];
3030
- }
3031
- this.#matchers[method] = [
3032
- all[0],
3033
- all[1].map((list) => Array.isArray(list) ? list.slice() : 0),
3034
- staticMap
3035
- ];
3036
- }
3037
- if (path === "/*" || path === "*") {
3038
- const handlerData = [handler, {}];
3039
- if (method === METHOD_NAME_ALL) {
3040
- for (const m in this.#matchers) {
3041
- this.#addWildcard(m, handlerData);
3042
- }
3043
- } else {
3044
- this.#addWildcard(method, handlerData);
3045
- }
3046
- return;
3047
- }
3048
- const data = this.#relocateMap[path];
3049
- if (!data) {
3050
- throw new Error(`Path ${path} is not registered`);
3051
- }
3052
- for (const [indexes, map] of data) {
3053
- if (method === METHOD_NAME_ALL) {
3054
- for (const m in this.#matchers) {
3055
- this.#addPath(m, path, handler, indexes, map);
3056
- }
3057
- } else {
3058
- this.#addPath(method, path, handler, indexes, map);
3059
- }
3060
- }
3061
- }
3062
- buildAllMatchers() {
3063
- return this.#matchers;
3064
- }
3065
- match = match;
3066
- };
3067
-
3068
2996
  // node_modules/hono/dist/router/smart-router/router.js
3069
2997
  var SmartRouter = class {
3070
2998
  name = "SmartRouter";
@@ -3523,28 +3451,6 @@ var SSG_DISABLED_RESPONSE = (() => {
3523
3451
  var { write } = Bun;
3524
3452
 
3525
3453
  // node_modules/hono/dist/helper/websocket/index.js
3526
- var WSContext = class {
3527
- #init;
3528
- constructor(init) {
3529
- this.#init = init;
3530
- this.raw = init.raw;
3531
- this.url = init.url ? new URL(init.url) : null;
3532
- this.protocol = init.protocol ?? null;
3533
- }
3534
- send(source, options) {
3535
- this.#init.send(source, options ?? {});
3536
- }
3537
- raw;
3538
- binaryType = "arraybuffer";
3539
- get readyState() {
3540
- return this.#init.readyState;
3541
- }
3542
- url;
3543
- protocol;
3544
- close(code, reason) {
3545
- this.#init.close(code, reason);
3546
- }
3547
- };
3548
3454
  var defineWebSocketHelper = (handler) => {
3549
3455
  return (...args) => {
3550
3456
  if (typeof args[0] === "function") {