@desplega.ai/agent-swarm 1.169.0 → 1.171.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 (349) hide show
  1. package/README.md +11 -2
  2. package/dist/{acp-adapter-m47zfx4a.js → acp-adapter-1z9p3fvx.js} +6 -6
  3. package/dist/{actions-ws7k3tvq.js → actions-rc2yjk8a.js} +31 -29
  4. package/dist/{amp-adapter-nvv8k8j5.js → amp-adapter-ypyf5s1x.js} +6 -6
  5. package/dist/{anthropic-messages-13yn502s.js → anthropic-messages-etkbxhhy.js} +11 -11
  6. package/dist/{app-80w6qspx.js → app-04ab2s0z.js} +9 -9
  7. package/dist/{artifact-fey7dvj9.js → artifact-eczsknc3.js} +6 -3
  8. package/dist/{assistant-jtq439kw.js → assistant-vhmjd8wf.js} +34 -32
  9. package/dist/{azure-openai-responses-9st34pfz.js → azure-openai-responses-xap57x4b.js} +7 -7
  10. package/dist/{boot-reembed-feda8wn8.js → boot-reembed-3p0m259x.js} +8 -8
  11. package/dist/{boot-reembed-3nc0aaed.js → boot-reembed-wew3gwk8.js} +8 -8
  12. package/dist/{boot-scrub-sweep-grsa2er0.js → boot-scrub-sweep-5ytwtq24.js} +9 -9
  13. package/dist/{boot-seeds-gcfgq44f.js → boot-seeds-s8p2xry8.js} +12 -12
  14. package/dist/{claude-adapter-pjv2q7t8.js → claude-adapter-akrzg6jh.js} +15 -15
  15. package/dist/{claude-managed-adapter-0wa8se82.js → claude-managed-adapter-kqqqhp2q.js} +2 -2
  16. package/dist/{claude-managed-setup-zxa9p9tx.js → claude-managed-setup-bnmjarjc.js} +11 -8
  17. package/dist/{claude-sdk-session-c9j6k9kx.js → claude-sdk-session-exq1jadx.js} +15 -15
  18. package/dist/{cli-a8vps458.js → cli-01qndrvw.js} +17274 -17242
  19. package/dist/{cli-rg1c8ccw.js → cli-0d2rqhvq.js} +497 -73
  20. package/dist/cli-0p3enk35.js +188 -0
  21. package/dist/cli-1srmzpr3.js +16 -0
  22. package/dist/{cli-zzev32jw.js → cli-231av4y6.js} +6 -6
  23. package/dist/{cli-kp3vfknv.js → cli-280gnz4v.js} +2 -2
  24. package/dist/{cli-mv2520nm.js → cli-2bw3w47j.js} +1 -1
  25. package/dist/{cli-km8559dm.js → cli-2qbs2tvf.js} +18 -10
  26. package/dist/{cli-efnd2kce.js → cli-2rbt7at8.js} +6 -1
  27. package/dist/{cli-xvc3q9br.js → cli-451ks6aw.js} +1 -1
  28. package/dist/{cli-jkfxpg1b.js → cli-4bm25xtw.js} +2 -2
  29. package/dist/{cli-zp38xvtm.js → cli-5rqrj7q0.js} +1 -1
  30. package/dist/{cli-km4x66j0.js → cli-5y67yrt6.js} +13 -13
  31. package/dist/{cli-qg2zhjfc.js → cli-62bwwc2q.js} +8 -8
  32. package/dist/{cli-s0k2j7q9.js → cli-6xxxb8qt.js} +10 -10
  33. package/dist/cli-6zx22mv6.js +0 -0
  34. package/dist/{cli-zp67qg5x.js → cli-7a0sde2x.js} +72 -1
  35. package/dist/{cli-v1w7pbd8.js → cli-7jykv7ef.js} +1 -1
  36. package/dist/{cli-rfphkzh5.js → cli-7pz3b7x5.js} +24 -4
  37. package/dist/{cli-mb75wpxf.js → cli-81r1wjyv.js} +1 -1
  38. package/dist/{cli-rbr91whd.js → cli-8mr695sb.js} +9 -5
  39. package/dist/{cli-f14fvzag.js → cli-a1b9b32n.js} +6 -1
  40. package/dist/cli-cd0hv9nh.js +32 -0
  41. package/dist/{cli-dv76vq5d.js → cli-ctret352.js} +685 -209
  42. package/dist/{cli-wt7ccy4r.js → cli-d161g69q.js} +9 -1
  43. package/dist/cli-db3m6zdt.js +362 -0
  44. package/dist/{cli-hf5s9pgf.js → cli-e3pmyt39.js} +1 -1
  45. package/dist/{cli-ysnkvdx6.js → cli-ec7hrgqp.js} +313 -91
  46. package/dist/{cli-m23r88re.js → cli-erbp6b4g.js} +3 -3
  47. package/dist/{cli-9k7mqz00.js → cli-ge593j7e.js} +30 -3
  48. package/dist/cli-h8w3fg83.js +17 -0
  49. package/dist/{cli-xvdgasgy.js → cli-hsem16hb.js} +114 -9
  50. package/dist/{cli-yvxfaem2.js → cli-hsk5gd15.js} +9 -5
  51. package/dist/{cli-7vz49g7h.js → cli-jxsgrnmq.js} +101 -4
  52. package/dist/{cli-b7y8113e.js → cli-k2v5x13t.js} +1 -1
  53. package/dist/{cli-bqrs5ycj.js → cli-m4csbs67.js} +2 -2
  54. package/dist/{cli-91r17hb1.js → cli-mzj3aqac.js} +3 -3
  55. package/dist/{cli-swrz3mj8.js → cli-n805bb98.js} +1 -1
  56. package/dist/{cli-sajr098b.js → cli-n8ybnv1k.js} +3 -3
  57. package/dist/{cli-e5qk3m2a.js → cli-nkjwe4z7.js} +19 -19
  58. package/dist/{cli-3ry5gx4f.js → cli-p2pjfq1r.js} +2 -2
  59. package/dist/{cli-61tbnjpf.js → cli-p8f7dqgt.js} +767 -541
  60. package/dist/{cli-r7eeddkq.js → cli-ph3145b7.js} +3 -3
  61. package/dist/cli-ppy4nnnh.js +168 -0
  62. package/dist/cli-r455yd58.js +832 -0
  63. package/dist/{cli-jv36y8wz.js → cli-rrbctenq.js} +1 -1
  64. package/dist/{cli-8xjst8q2.js → cli-s88my3br.js} +11 -11
  65. package/dist/{cli-vejds37t.js → cli-srmej5tp.js} +3 -3
  66. package/dist/{cli-eqfbsxsn.js → cli-tg8q0b5y.js} +14 -11
  67. package/dist/cli-w0zx9ya1.js +1351 -0
  68. package/dist/{cli-rh44xx46.js → cli-wfvedq5w.js} +15 -15
  69. package/dist/{cli-n4z21pt8.js → cli-x207g4w1.js} +1 -1
  70. package/dist/{cli-fyeft04q.js → cli-x3fy2tgp.js} +2 -2
  71. package/dist/{cli-7mhy3ths.js → cli-x61srfpp.js} +5 -5
  72. package/dist/{cli-w6xa5nf5.js → cli-y1j1ggbf.js} +8 -8
  73. package/dist/{cli-jvmtxqtc.js → cli-ywh2a87k.js} +7 -2
  74. package/dist/{cli-3qhyh31j.js → cli-ywm1azg9.js} +6 -0
  75. package/dist/{cli-z48ggfyq.js → cli-zxm9p3x4.js} +2 -2
  76. package/dist/cli.js +42 -24
  77. package/dist/{codex-adapter-0kpg09ca.js → codex-adapter-9ag75whm.js} +13 -13
  78. package/dist/{codex-hook-295jpbfa.js → codex-hook-7ba15hjd.js} +5 -3
  79. package/dist/{codex-login-g1cyt5zm.js → codex-login-841kv5fk.js} +7 -5
  80. package/dist/{codex-session-runner-8n672hxh.js → codex-session-runner-9fp7y4cf.js} +13 -13
  81. package/dist/{commands-mhmg5n0x.js → commands-d7eah0y9.js} +10 -10
  82. package/dist/controller-hq5ggpcp.js +193 -0
  83. package/dist/controllers-connect-8t0k65x2.js +265 -0
  84. package/dist/{cursor-adapter-wn8n5zzk.js → cursor-adapter-t4pr1m3c.js} +5 -5
  85. package/dist/db-2rmd23wq.js +71 -0
  86. package/dist/{db-wa6s1mwv.js → db-sp39qv72.js} +8 -8
  87. package/dist/{devin-adapter-bffjj5n4.js → devin-adapter-xgtj680j.js} +2 -2
  88. package/dist/{dispatcher-nhs2pkr8.js → dispatcher-g7fsybsd.js} +30 -28
  89. package/dist/docker-f503k9p0.js +201 -0
  90. package/dist/{dsh-adapter-5423p70m.js → dsh-adapter-2h8m4cab.js} +5 -5
  91. package/dist/e2b-66xra4az.js +202 -0
  92. package/dist/{e2b-nd50eccg.js → e2b-xwhyj8cw.js} +43 -527
  93. package/dist/{event-bus-vnfthafg.js → event-bus-vjtv82gm.js} +2 -2
  94. package/dist/{grok-adapter-28pkdt80.js → grok-adapter-1err1me7.js} +7 -7
  95. package/dist/{handlers-5rtf9nng.js → handlers-c7yggm37.js} +33 -31
  96. package/dist/heartbeat-dkm924fk.js +124 -0
  97. package/dist/{hook-qkm73zk6.js → hook-g8e7sfnf.js} +13 -13
  98. package/dist/{hook-krjfkpzy.js → hook-wgx4exw6.js} +20 -17
  99. package/dist/{http-a397xcn4.js → http-1d23k928.js} +1958 -205
  100. package/dist/{index-kqre45fr.js → index-gm10tmye.js} +30 -28
  101. package/dist/{index-rtxg15ah.js → index-q7cj9bn2.js} +39 -29
  102. package/dist/{index-vvsq7v45.js → index-va4zbvzp.js} +30 -28
  103. package/dist/{index-ac0v8v9d.js → index-vertaxs1.js} +8 -8
  104. package/dist/{index-ytdhtdry.js → index-y5vvczrs.js} +31 -22
  105. package/dist/{keepalive-psfh8ysx.js → keepalive-1jc5e7ct.js} +10 -10
  106. package/dist/{lead-m6rppjn7.js → lead-yxw2f1sg.js} +48 -46
  107. package/dist/{maintenance-41f837ke.js → maintenance-h7w2m10y.js} +8 -8
  108. package/dist/{node-8zkdq42h.js → node-c9we95xf.js} +9 -9
  109. package/dist/{oauth-refresh-sweep-6hr55hm8.js → oauth-refresh-sweep-wh9ypd1b.js} +9 -9
  110. package/dist/{onboard-ktrtd7cz.js → onboard-dfr9j762.js} +25 -15
  111. package/dist/{openai-codex-responses-jzxkta9b.js → openai-codex-responses-pgvtddvv.js} +3 -3
  112. package/dist/{openai-responses-m3g43rrt.js → openai-responses-9dyzwzkr.js} +9 -9
  113. package/dist/{opencode-adapter-yjyqynzf.js → opencode-adapter-f1zby94p.js} +3 -3
  114. package/dist/{otel-impl-dq4f2k3m.js → otel-impl-and31m5s.js} +5 -5
  115. package/dist/{pi-mono-adapter-e5v9w0hv.js → pi-mono-adapter-fx6k5wwh.js} +38 -27
  116. package/dist/{pricing-refresh-kmk7j1ra.js → pricing-refresh-23zr6j3w.js} +10 -10
  117. package/dist/{rbac-roles-9ykx9tc5.js → rbac-roles-nc7k9d0t.js} +10 -10
  118. package/dist/{rbac-roles-9w1dkkxd.js → rbac-roles-wnx35x4x.js} +11 -11
  119. package/dist/{render-v2-ycqm53np.js → render-v2-81cg1y52.js} +9 -9
  120. package/dist/{resume-cq2pkp8q.js → resume-d4b6j2n2.js} +16 -16
  121. package/dist/{setup-0dcmdvbn.js → setup-g68r1w28.js} +7 -5
  122. package/dist/static-t1gr2cr7.js +30 -0
  123. package/dist/{virtual-modules-1x9k4jcs.js → virtual-modules-rdjmcg7q.js} +3 -3
  124. package/dist/{work-objects-x01x2fh8.js → work-objects-0zzdnbt9.js} +35 -33
  125. package/dist/{worker-py1ssb1h.js → worker-p1g8qm6h.js} +48 -46
  126. package/dist/{x-ma4gnfgy.js → x-qfmygqqv.js} +2 -2
  127. package/openapi.json +3382 -167
  128. package/package.json +3 -3
  129. package/src/be/db/agents.ts +6 -0
  130. package/src/be/db/instance-signals.ts +30 -0
  131. package/src/be/db/tasks/read.ts +2 -0
  132. package/src/be/db/tasks/write.ts +39 -5
  133. package/src/be/db/workflow-runs.ts +22 -0
  134. package/src/be/db.ts +96 -40
  135. package/src/be/fleet-benchmark-stats.ts +39 -0
  136. package/src/be/migrations/205_favorites_per_dashboard_user.sql +29 -0
  137. package/src/be/migrations/206_runtime_pools.sql +62 -0
  138. package/src/be/migrations/207_runtime_session_tokens.sql +31 -0
  139. package/src/be/migrations/208_task_runtime_dispatch.sql +4 -0
  140. package/src/be/model-tier-resolution.ts +9 -2
  141. package/src/be/multi-runtime.ts +102 -13
  142. package/src/be/org-profile.ts +35 -0
  143. package/src/be/rbac-audit.ts +4 -0
  144. package/src/be/runtime-pools/controllers.ts +150 -0
  145. package/src/be/runtime-pools/db.ts +526 -0
  146. package/src/be/runtime-pools/demand.ts +65 -0
  147. package/src/be/runtime-pools/e2b-images.ts +109 -0
  148. package/src/be/runtime-pools/errors.ts +8 -0
  149. package/src/be/runtime-pools/lifecycle.ts +44 -0
  150. package/src/be/runtime-pools/reachability.ts +30 -0
  151. package/src/be/runtime-pools/recovery.ts +248 -0
  152. package/src/be/runtime-pools/remote-controller.ts +144 -0
  153. package/src/be/runtime-pools/routing.ts +304 -0
  154. package/src/be/runtime-pools/seed.ts +110 -0
  155. package/src/be/runtime-pools/supervisor.ts +981 -0
  156. package/src/be/runtime-pools/tokens.ts +57 -0
  157. package/src/be/scripts/typecheck.ts +48 -3
  158. package/src/be/secret-registry.ts +17 -1
  159. package/src/be/skill-usage.ts +467 -0
  160. package/src/be/swarm-config-guard.ts +59 -2
  161. package/src/be/telemetry-enable.ts +66 -0
  162. package/src/be/telemetry-ingest-anchor.ts +77 -0
  163. package/src/be/users.ts +173 -23
  164. package/src/be/worker-nudge-listener.ts +28 -0
  165. package/src/be/worker-nudges.ts +22 -0
  166. package/src/cli.tsx +22 -3
  167. package/src/commands/controller.ts +180 -0
  168. package/src/commands/onboard/non-interactive.ts +36 -12
  169. package/src/commands/onboard/types.ts +1 -1
  170. package/src/commands/onboard.tsx +3 -0
  171. package/src/commands/push-delivery.ts +230 -0
  172. package/src/commands/runner.ts +560 -276
  173. package/src/e2b/dispatch.ts +15 -1
  174. package/src/extensions/contract-types.generated.ts +1 -1
  175. package/src/fleet-benchmark.ts +157 -0
  176. package/src/heartbeat/heartbeat.ts +53 -135
  177. package/src/hooks/hook.ts +3 -2
  178. package/src/http/agents.ts +21 -0
  179. package/src/http/all-routes.ts +6 -0
  180. package/src/http/apps.ts +4 -2
  181. package/src/http/auth.ts +4 -7
  182. package/src/http/config.ts +58 -21
  183. package/src/http/controllers-connect.ts +206 -0
  184. package/src/http/core.ts +108 -14
  185. package/src/http/favorite-owner.ts +31 -1
  186. package/src/http/fleet-benchmark.ts +206 -0
  187. package/src/http/index.ts +38 -6
  188. package/src/http/mcp.ts +3 -8
  189. package/src/http/poll.ts +31 -2
  190. package/src/http/realtime.ts +1 -1
  191. package/src/http/request-principal.ts +2 -0
  192. package/src/http/runtime-pools.ts +527 -0
  193. package/src/http/session-data.ts +2 -0
  194. package/src/http/sessions.ts +100 -23
  195. package/src/http/skills.ts +173 -0
  196. package/src/http/status.ts +25 -1
  197. package/src/http/tasks.ts +14 -1
  198. package/src/http/telemetry-ui.ts +102 -0
  199. package/src/http/used-by.ts +140 -0
  200. package/src/http/utils.ts +7 -1
  201. package/src/http/workflows.ts +10 -2
  202. package/src/jira/app.ts +1 -2
  203. package/src/kv-reserved-namespaces.ts +1 -0
  204. package/src/linear/app.ts +1 -2
  205. package/src/providers/acp-target-catalog.ts +75 -1
  206. package/src/providers/acp-targets.ts +114 -0
  207. package/src/providers/amp-adapter.ts +1 -1
  208. package/src/providers/claude-adapter.ts +1 -1
  209. package/src/providers/codex-adapter.ts +5 -1
  210. package/src/providers/opencode-adapter.ts +2 -1
  211. package/src/providers/pi-mono-adapter.ts +41 -26
  212. package/src/providers/pricing-sources.md +2 -0
  213. package/src/providers/skill-invoke.ts +39 -3
  214. package/src/rbac/legacy-policy.ts +8 -0
  215. package/src/rbac/permissions.ts +16 -0
  216. package/src/rbac/types.ts +2 -0
  217. package/src/realtime/auth.ts +13 -0
  218. package/src/realtime/channels.ts +24 -0
  219. package/src/realtime/transport.ts +94 -15
  220. package/src/realtime/worker-client.ts +176 -0
  221. package/src/runtime-providers/controller-protocol.ts +97 -0
  222. package/src/runtime-providers/controller.ts +86 -0
  223. package/src/runtime-providers/docker.ts +235 -0
  224. package/src/runtime-providers/e2b.ts +217 -0
  225. package/src/runtime-providers/index.ts +37 -0
  226. package/src/runtime-providers/static.ts +26 -0
  227. package/src/runtime-providers/types.ts +92 -0
  228. package/src/runtime-providers/worker-api-url.ts +11 -0
  229. package/src/scripts-runtime/sdk-allowlist.ts +6 -0
  230. package/src/scripts-runtime/types/stdlib.d.ts +15 -0
  231. package/src/scripts-runtime/types/swarm-extension.d.ts +1 -0
  232. package/src/scripts-runtime/types/swarm-sdk.d.ts +15 -0
  233. package/src/server.ts +12 -0
  234. package/src/slack/router.ts +7 -5
  235. package/src/tasks/worker-follow-up.ts +80 -52
  236. package/src/telemetry-context.ts +6 -0
  237. package/src/telemetry-contract/EVENTS.md +14 -1
  238. package/src/telemetry-contract/SOURCE.json +4 -4
  239. package/src/telemetry-contract/catalog.json +155 -0
  240. package/src/telemetry-contract/types.gen.ts +248 -4
  241. package/src/telemetry-ui-events.ts +130 -0
  242. package/src/telemetry.ts +43 -3
  243. package/src/tests/acp-adapter.test.ts +129 -0
  244. package/src/tests/claude-adapter.test.ts +6 -2
  245. package/src/tests/codex-adapter.test.ts +6 -2
  246. package/src/tests/config-internal-keys.test.ts +27 -0
  247. package/src/tests/config-session-auth.test.ts +19 -3
  248. package/src/tests/db-retention.test.ts +50 -10
  249. package/src/tests/docs-index-footprint.test.js +3 -3
  250. package/src/tests/e2b-dispatch.test.ts +28 -1
  251. package/src/tests/e2e-runtime-pools.test.ts +51 -0
  252. package/src/tests/entrypoint-acp-target-binary.test.ts +38 -1
  253. package/src/tests/favorites.test.ts +188 -0
  254. package/src/tests/fetch-resolved-env.test.ts +59 -1
  255. package/src/tests/fleet-benchmark.test.ts +453 -0
  256. package/src/tests/harness-model-support.test.ts +70 -2
  257. package/src/tests/heartbeat-orphan-resume.test.ts +24 -0
  258. package/src/tests/heartbeat-reboot-live.test.ts +31 -0
  259. package/src/tests/heartbeat-supersede-resume.test.ts +21 -0
  260. package/src/tests/hook-runtime-close.test.ts +64 -0
  261. package/src/tests/http-task-write-ownership.test.ts +8 -1
  262. package/src/tests/integration-disable-flags.test.ts +45 -0
  263. package/src/tests/migration-206-runtime-pools.test.ts +134 -0
  264. package/src/tests/migration-207-runtime-session-tokens.test.ts +45 -0
  265. package/src/tests/migration-208-task-runtime-dispatch.test.ts +30 -0
  266. package/src/tests/multi-runtime-registration.test.ts +219 -4
  267. package/src/tests/onboard-non-interactive.test.ts +104 -6
  268. package/src/tests/opencode-adapter.test.ts +6 -2
  269. package/src/tests/org-website.test.ts +115 -0
  270. package/src/tests/pi-mono-adapter.test.ts +74 -10
  271. package/src/tests/rbac-admission-e2e.test.ts +4 -4
  272. package/src/tests/rbac-engine.test.ts +8 -1
  273. package/src/tests/realtime-room-auth.test.ts +49 -0
  274. package/src/tests/repo-allow-merge-gate.test.ts +8 -1
  275. package/src/tests/runner-exit-after-tasks.test.ts +163 -0
  276. package/src/tests/runner-finish-retry.test.ts +466 -0
  277. package/src/tests/runner-harness-telemetry-env.test.ts +105 -0
  278. package/src/tests/runner-push-delivery.test.ts +670 -0
  279. package/src/tests/runner-slot-reconcile.test.ts +89 -1
  280. package/src/tests/runtime-child-token-cleanup.test.ts +172 -0
  281. package/src/tests/runtime-controller-token.test.ts +254 -0
  282. package/src/tests/runtime-demand.test.ts +119 -0
  283. package/src/tests/runtime-e2b-pools.test.ts +847 -0
  284. package/src/tests/runtime-pool-reachability.test.ts +328 -0
  285. package/src/tests/runtime-pool-routing.test.ts +817 -0
  286. package/src/tests/runtime-pools-db.test.ts +275 -0
  287. package/src/tests/runtime-pools-http.test.ts +506 -0
  288. package/src/tests/runtime-pools-ownership-guards.test.ts +235 -0
  289. package/src/tests/runtime-pools-seed.test.ts +203 -0
  290. package/src/tests/runtime-pools-test-utils.ts +128 -0
  291. package/src/tests/runtime-provider-registration.test.ts +133 -0
  292. package/src/tests/runtime-providers-docker.test.ts +400 -0
  293. package/src/tests/runtime-providers-e2b-transport.test.ts +50 -0
  294. package/src/tests/runtime-providers-e2b.test.ts +335 -0
  295. package/src/tests/runtime-recovery.test.ts +745 -0
  296. package/src/tests/runtime-remote-controller.test.ts +846 -0
  297. package/src/tests/runtime-supervisor-failures.test.ts +387 -0
  298. package/src/tests/runtime-supervisor.test.ts +1039 -0
  299. package/src/tests/runtime-token-auth.test.ts +897 -0
  300. package/src/tests/script-connections.test.ts +7 -0
  301. package/src/tests/secret-scrubber.test.ts +17 -2
  302. package/src/tests/session-costs-codex-recompute.test.ts +49 -0
  303. package/src/tests/session-tokens.test.ts +13 -3
  304. package/src/tests/skill-invoke.test.ts +142 -0
  305. package/src/tests/skill-usage-cohorts.test.ts +232 -0
  306. package/src/tests/skill-usage.test.ts +348 -0
  307. package/src/tests/slack-attachments-block.test.ts +23 -0
  308. package/src/tests/slack-render-v2.test.ts +6 -0
  309. package/src/tests/status-instance.test.ts +71 -0
  310. package/src/tests/task-supersede-resume.test.ts +87 -4
  311. package/src/tests/telemetry-enable.test.ts +113 -0
  312. package/src/tests/telemetry-ui-route.test.ts +195 -0
  313. package/src/tests/tool-annotations.test.ts +1 -1
  314. package/src/tests/used-by-route.test.ts +237 -0
  315. package/src/tests/worker-nudges.test.ts +653 -0
  316. package/src/tests/worker-realtime-client.test.ts +188 -0
  317. package/src/tests/workflow-sub-workflow.test.ts +22 -0
  318. package/src/tools/app-upsert.ts +1 -1
  319. package/src/tools/runtime-controller-list.ts +28 -0
  320. package/src/tools/runtime-pool-bind-agent.ts +29 -0
  321. package/src/tools/runtime-pool-common.ts +37 -0
  322. package/src/tools/runtime-pool-create-agent.ts +29 -0
  323. package/src/tools/runtime-pool-delete.ts +27 -0
  324. package/src/tools/runtime-pool-list.ts +27 -0
  325. package/src/tools/runtime-pool-upsert.ts +31 -0
  326. package/src/tools/script-common.ts +1 -1
  327. package/src/tools/send-task.ts +3 -2
  328. package/src/tools/tool-config.ts +6 -0
  329. package/src/types.ts +137 -2
  330. package/src/utils/config-secrets.ts +1 -0
  331. package/src/utils/lead-monitor-channels.ts +3 -0
  332. package/src/utils/org-website.ts +104 -0
  333. package/src/utils/request-auth-context.ts +10 -2
  334. package/src/utils/runtime-pools-flag.ts +11 -0
  335. package/src/utils/secret-scrubber.ts +9 -0
  336. package/src/utils/session-token-connections.ts +20 -0
  337. package/templates/skills/apps/content.md +1 -1
  338. package/templates/skills/code-quality/content.md +9 -1
  339. package/templates/skills/db-query-guidance/content.md +9 -0
  340. package/templates/skills/swarm-scripts/SKILL.md +1 -1
  341. package/templates/skills/swarm-scripts/content.md +1 -1
  342. package/templates/skills/work-on-task/SKILL.md +1 -1
  343. package/templates/skills/work-on-task/content.md +1 -1
  344. package/dist/{cli-qd97v6z2.js → cli-1qtgd1h1.js} +3 -3
  345. package/dist/{cli-cmxkbzzs.js → cli-j0w59p15.js} +6 -6
  346. package/dist/{google-generative-ai-b8zxrpax.js → google-generative-ai-pvhm0dq1.js} +1 -1
  347. package/dist/{google-vertex-nrdd697t.js → google-vertex-tek9sqe2.js} +4 -4
  348. package/dist/{mistral-conversations-059y51zt.js → mistral-conversations-rjxa9s1j.js} +3 -3
  349. package/dist/{openai-completions-663yncfq.js → openai-completions-44gb0zsk.js} +12 -12
@@ -0,0 +1,188 @@
1
+ import {
2
+ getApiKey,
3
+ init_api_key
4
+ } from "./cli-a1b9b32n.js";
5
+ import {
6
+ init_secret_scrubber,
7
+ isSensitiveKey,
8
+ scrubSecrets
9
+ } from "./cli-d161g69q.js";
10
+ import {
11
+ __esm
12
+ } from "./cli-bc05qbss.js";
13
+
14
+ // src/e2b/env.ts
15
+ import { resolve } from "node:path";
16
+ function decodeDoubleQuotedValue(value) {
17
+ return value.replace(/\\n/g, `
18
+ `).replace(/\\r/g, "\r").replace(/\\t/g, "\t").replace(/\\"/g, '"').replace(/\\\\/g, "\\");
19
+ }
20
+ function parseQuotedValue(value, quote) {
21
+ let escaped = false;
22
+ for (let i = 1;i < value.length; i++) {
23
+ const char = value[i];
24
+ if (quote === '"' && escaped) {
25
+ escaped = false;
26
+ continue;
27
+ }
28
+ if (quote === '"' && char === "\\") {
29
+ escaped = true;
30
+ continue;
31
+ }
32
+ if (char !== quote)
33
+ continue;
34
+ const rest = value.slice(i + 1).trim();
35
+ if (rest && !rest.startsWith("#"))
36
+ return null;
37
+ const inner = value.slice(1, i);
38
+ return quote === '"' ? decodeDoubleQuotedValue(inner) : inner;
39
+ }
40
+ return null;
41
+ }
42
+ function parseDotenv(source) {
43
+ const out = {};
44
+ for (const rawLine of source.split(/\r?\n/)) {
45
+ let line = rawLine.trim();
46
+ if (!line || line.startsWith("#"))
47
+ continue;
48
+ if (line.startsWith("export ")) {
49
+ line = line.slice("export ".length).trimStart();
50
+ }
51
+ const eq = line.indexOf("=");
52
+ if (eq <= 0)
53
+ continue;
54
+ const key = line.slice(0, eq).trim();
55
+ if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(key))
56
+ continue;
57
+ let value = line.slice(eq + 1).trim();
58
+ const quote = value[0];
59
+ const quoted = quote === '"' || quote === "'" ? parseQuotedValue(value, quote) : null;
60
+ if (quoted !== null) {
61
+ value = quoted;
62
+ } else {
63
+ value = value.replace(/\s+#.*$/, "").trim();
64
+ }
65
+ out[key] = value;
66
+ }
67
+ return out;
68
+ }
69
+ async function readDotenvFile(path) {
70
+ const file = Bun.file(path);
71
+ if (!await file.exists()) {
72
+ throw new Error(`Env file not found: ${path}`);
73
+ }
74
+ return parseDotenv(await file.text());
75
+ }
76
+ async function maybeReadDotenvFile(path) {
77
+ const file = Bun.file(path);
78
+ if (!await file.exists())
79
+ return {};
80
+ return parseDotenv(await file.text());
81
+ }
82
+ function parseKeyValue(raw, label) {
83
+ const eq = raw.indexOf("=");
84
+ if (eq <= 0) {
85
+ throw new Error(`${label} must be KEY=VALUE`);
86
+ }
87
+ const key = raw.slice(0, eq);
88
+ if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(key)) {
89
+ throw new Error(`${label} has invalid env key: ${key}`);
90
+ }
91
+ return [key, raw.slice(eq + 1)];
92
+ }
93
+ function splitKeys(values) {
94
+ return values.flatMap((value) => value.split(",")).map((value) => value.trim()).filter(Boolean);
95
+ }
96
+ function selectEnv(source, keys) {
97
+ const out = {};
98
+ for (const key of keys) {
99
+ const value = source[key];
100
+ if (typeof value === "string" && value.length > 0) {
101
+ out[key] = value;
102
+ }
103
+ }
104
+ return out;
105
+ }
106
+ function resolveSwarmApiKey(env, explicit) {
107
+ const apiKey = explicit || env.AGENT_SWARM_API_KEY || env.API_KEY || getApiKey();
108
+ if (!apiKey) {
109
+ throw new Error("Missing swarm API key. Pass --api-key or set AGENT_SWARM_API_KEY/API_KEY for E2B sandboxes.");
110
+ }
111
+ return apiKey;
112
+ }
113
+ function redactWithEnv(text, env) {
114
+ let out = text;
115
+ const entries = Object.entries(env).filter(([key, value]) => isSensitiveKey(key) && value.length >= 8).sort((a, b) => b[1].length - a[1].length);
116
+ for (const [key, value] of entries) {
117
+ out = out.split(value).join(`[REDACTED:${key}]`);
118
+ }
119
+ return scrubSecrets(out);
120
+ }
121
+ function redactObjectWithEnv(value, env, seen = new WeakSet) {
122
+ if (value === null || value === undefined)
123
+ return value;
124
+ if (typeof value === "string")
125
+ return redactWithEnv(value, env);
126
+ if (typeof value !== "object")
127
+ return value;
128
+ if (seen.has(value))
129
+ return "[Circular]";
130
+ seen.add(value);
131
+ if (Array.isArray(value)) {
132
+ return value.map((item) => redactObjectWithEnv(item, env, seen));
133
+ }
134
+ const out = {};
135
+ for (const [key, child] of Object.entries(value)) {
136
+ const normalized = key.replace(/([a-z])([A-Z])/g, "$1_$2").toUpperCase();
137
+ if (isSensitiveKey(normalized) || /TOKEN|SECRET|PASSWORD|PRIVATE_KEY/.test(normalized)) {
138
+ out[key] = `[REDACTED:${key}]`;
139
+ continue;
140
+ }
141
+ out[key] = redactObjectWithEnv(child, env, seen);
142
+ }
143
+ return out;
144
+ }
145
+ function absolutePath(path, cwd = process.cwd()) {
146
+ return resolve(cwd, path);
147
+ }
148
+ var DEFAULT_E2B_API_BASE = "https://api.e2b.app", DEFAULT_E2B_TEMPLATE_NAMES, DEFAULT_E2B_FORWARD_KEYS;
149
+ var init_env = __esm(() => {
150
+ init_api_key();
151
+ init_secret_scrubber();
152
+ DEFAULT_E2B_TEMPLATE_NAMES = {
153
+ api: "agent-swarm-api",
154
+ worker: "agent-swarm-worker"
155
+ };
156
+ DEFAULT_E2B_FORWARD_KEYS = [
157
+ "AGENT_SWARM_API_KEY",
158
+ "API_KEY",
159
+ "SECRETS_ENCRYPTION_KEY",
160
+ "ANTHROPIC_API_KEY",
161
+ "CLAUDE_CODE_OAUTH_TOKEN",
162
+ "OPENAI_API_KEY",
163
+ "OPENROUTER_API_KEY",
164
+ "GITHUB_TOKEN",
165
+ "GITLAB_TOKEN",
166
+ "AZURE_DEVOPS_TOKEN",
167
+ "AZURE_DEVOPS_ORG_URL",
168
+ "LINEAR_API_KEY",
169
+ "SLACK_BOT_TOKEN",
170
+ "SLACK_SIGNING_SECRET",
171
+ "BUSINESS_USE_API_KEY",
172
+ "SENTRY_AUTH_TOKEN",
173
+ "OTEL_EXPORTER_OTLP_ENDPOINT",
174
+ "OTEL_EXPORTER_OTLP_HEADERS",
175
+ "SIGNOZ_INGESTION_KEY",
176
+ "DEVIN_API_KEY",
177
+ "DEVIN_ORG_ID",
178
+ "MANAGED_AGENT_ID",
179
+ "MANAGED_ENVIRONMENT_ID",
180
+ "MANAGED_AGENT_MODEL",
181
+ "MANAGED_GITHUB_TOKEN",
182
+ "HARNESS_PROVIDER",
183
+ "MODEL_OVERRIDE",
184
+ "STARTUP_SCRIPT_STRICT"
185
+ ];
186
+ });
187
+
188
+ export { DEFAULT_E2B_API_BASE, DEFAULT_E2B_TEMPLATE_NAMES, DEFAULT_E2B_FORWARD_KEYS, readDotenvFile, maybeReadDotenvFile, parseKeyValue, splitKeys, selectEnv, resolveSwarmApiKey, redactWithEnv, redactObjectWithEnv, absolutePath, init_env };
@@ -0,0 +1,16 @@
1
+ import {
2
+ __esm
3
+ } from "./cli-bc05qbss.js";
4
+
5
+ // src/runtime-providers/types.ts
6
+ var RUNTIME_LABELS;
7
+ var init_types = __esm(() => {
8
+ RUNTIME_LABELS = {
9
+ owner: "swarm.owner",
10
+ runtimeId: "swarm.runtime-id",
11
+ poolId: "swarm.pool-id",
12
+ agentId: "swarm.agent-id"
13
+ };
14
+ });
15
+
16
+ export { RUNTIME_LABELS, init_types };
@@ -14,7 +14,7 @@ import {
14
14
  import {
15
15
  DEFAULT_MODEL_TIER_MAP,
16
16
  init_types
17
- } from "./cli-xvdgasgy.js";
17
+ } from "./cli-hsem16hb.js";
18
18
  import {
19
19
  init_session_templates
20
20
  } from "./cli-e2prcx5m.js";
@@ -23,19 +23,19 @@ import {
23
23
  resolveTemplateAsync,
24
24
  resolveTemplateFromCode
25
25
  } from "./cli-5c2j5yvx.js";
26
- import {
27
- init_env_flag,
28
- parseEnvFlag
29
- } from "./cli-ej6gbxfb.js";
30
26
  import {
31
27
  cursorCatalogRef,
32
28
  init_src
33
29
  } from "./cli-014vns2y.js";
30
+ import {
31
+ init_env_flag,
32
+ parseEnvFlag
33
+ } from "./cli-ej6gbxfb.js";
34
34
  import {
35
35
  init_secret_scrubber,
36
36
  registerVolatileSecret,
37
37
  scrubSecrets
38
- } from "./cli-wt7ccy4r.js";
38
+ } from "./cli-d161g69q.js";
39
39
  import {
40
40
  __require
41
41
  } from "./cli-bc05qbss.js";
@@ -2,7 +2,7 @@ import {
2
2
  ACPAdapter,
3
3
  grokTargetProfile,
4
4
  isGrokOpenRouterModel
5
- } from "./cli-7vz49g7h.js";
5
+ } from "./cli-jxsgrnmq.js";
6
6
  import {
7
7
  getOpenRouterAttributionHeaders,
8
8
  getOpenRouterBaseUrl,
@@ -15,7 +15,7 @@ import {
15
15
  import {
16
16
  init_secret_scrubber,
17
17
  registerVolatileSecret
18
- } from "./cli-wt7ccy4r.js";
18
+ } from "./cli-d161g69q.js";
19
19
 
20
20
  // src/providers/grok-adapter.ts
21
21
  init_src();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_MODEL_TIER_MAP,
3
3
  init_types
4
- } from "./cli-xvdgasgy.js";
4
+ } from "./cli-hsem16hb.js";
5
5
 
6
6
  // src/utils/amp-models.ts
7
7
  init_types();
@@ -12,7 +12,7 @@ import {
12
12
  } from "./cli-q2j38vre.js";
13
13
  import {
14
14
  summarizeSession
15
- } from "./cli-r7eeddkq.js";
15
+ } from "./cli-ph3145b7.js";
16
16
  import {
17
17
  CTX_MODE_NUDGE_EVERY
18
18
  } from "./cli-zm7njwzd.js";
@@ -39,9 +39,6 @@ import {
39
39
  import {
40
40
  swarmRuntimeInstanceId
41
41
  } from "./cli-re8z5p8p.js";
42
- import {
43
- getApiKey
44
- } from "./cli-f14fvzag.js";
45
42
  import {
46
43
  detachedProcessGroup,
47
44
  registerProcessGroup,
@@ -51,11 +48,11 @@ import {
51
48
  CodexOAuthRefreshError,
52
49
  credentialsToAuthJson,
53
50
  getValidCodexOAuth
54
- } from "./cli-v1w7pbd8.js";
51
+ } from "./cli-7jykv7ef.js";
55
52
  import {
56
53
  DEFAULT_MODEL_TIER_MAP,
57
54
  init_types
58
- } from "./cli-xvdgasgy.js";
55
+ } from "./cli-hsem16hb.js";
59
56
  import {
60
57
  init_runtime_model_catalog,
61
58
  init_src,
@@ -64,11 +61,19 @@ import {
64
61
  import {
65
62
  init_package,
66
63
  package_default
67
- } from "./cli-m23r88re.js";
64
+ } from "./cli-erbp6b4g.js";
65
+ import {
66
+ init_env_flag,
67
+ isEnvFlagEnabled
68
+ } from "./cli-ej6gbxfb.js";
69
+ import {
70
+ getApiKey,
71
+ init_api_key
72
+ } from "./cli-a1b9b32n.js";
68
73
  import {
69
74
  init_secret_scrubber,
70
75
  scrubSecrets
71
- } from "./cli-wt7ccy4r.js";
76
+ } from "./cli-d161g69q.js";
72
77
  import {
73
78
  __require
74
79
  } from "./cli-bc05qbss.js";
@@ -76,6 +81,8 @@ import {
76
81
  // src/providers/codex-adapter.ts
77
82
  import { existsSync as nodeExistsSync } from "node:fs";
78
83
  import { join as join2 } from "node:path";
84
+ init_api_key();
85
+ init_env_flag();
79
86
  init_secret_scrubber();
80
87
 
81
88
  // src/providers/codex-agents-md.ts
@@ -795,7 +802,7 @@ async function buildCodexConfig(config, model, emit) {
795
802
  });
796
803
  }
797
804
  }
798
- if (process.env.CONTEXT_MODE_DISABLED !== "true") {
805
+ if (!isEnvFlagEnabled("CONTEXT_MODE_DISABLED", false)) {
799
806
  mcpServers["context-mode"] = {
800
807
  command: "context-mode",
801
808
  enabled: true,
@@ -1380,7 +1387,8 @@ class CodexSession {
1380
1387
  type: "tool_end",
1381
1388
  toolCallId: item.id,
1382
1389
  toolName: this.toolNameForItem(item),
1383
- result: item
1390
+ result: item,
1391
+ ...item.type === "command_execution" ? { isError: item.exit_code !== 0 || item.status === "failed" } : {}
1384
1392
  });
1385
1393
  this.transcript.push(`Tool[${this.toolNameForItem(item)}] completed: ${this.shortenItemResult(item)}`);
1386
1394
  break;
@@ -71,6 +71,11 @@ function isExplicitSelfRaterEnabled() {
71
71
  return getMemoryRaterNames().includes("explicit-self");
72
72
  }
73
73
 
74
+ // src/utils/lead-monitor-channels.ts
75
+ function isLeadChannelMonitoringEnabled(env = process.env) {
76
+ return env.LEAD_MONITOR_CHANNELS === "true";
77
+ }
78
+
74
79
  // src/utils/harness-model-error.ts
75
80
  var UNKNOWN_MODEL_PATTERNS = [
76
81
  /issue with the selected model/i,
@@ -232,4 +237,4 @@ function writeSkillsToFilesystem(entries, harnessType = "all", home) {
232
237
  return { synced, removed, errors };
233
238
  }
234
239
 
235
- export { SIMILARITY_THRESHOLD, memoryRelevance, renderMemoriesPrompt, isUnknownModelError, writeSkillsToFilesystem };
240
+ export { isLeadChannelMonitoringEnabled, SIMILARITY_THRESHOLD, memoryRelevance, renderMemoriesPrompt, isUnknownModelError, writeSkillsToFilesystem };
@@ -3,7 +3,7 @@ import {
3
3
  registerVolatileSecret,
4
4
  scrubObject,
5
5
  scrubSecrets
6
- } from "./cli-wt7ccy4r.js";
6
+ } from "./cli-d161g69q.js";
7
7
 
8
8
  // src/x/composio.ts
9
9
  init_secret_scrubber();
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  PermissionVerbSchema,
3
3
  init_rbac
4
- } from "./cli-rfphkzh5.js";
4
+ } from "./cli-7pz3b7x5.js";
5
5
  import {
6
6
  getDb,
7
7
  getDbClient,
8
8
  init_db1 as init_db
9
- } from "./cli-rg1c8ccw.js";
9
+ } from "./cli-0d2rqhvq.js";
10
10
  import {
11
11
  init_env_flag,
12
12
  isEnvFlagEnabled
@@ -4084,7 +4084,7 @@ var EnvironmentWorker = /* @__PURE__ */ (() => {
4084
4084
  const ctrl = new AbortController;
4085
4085
  const detachExternal = linkAbort(externalSignal, ctrl);
4086
4086
  const lease = new Lease(ctrl);
4087
- const agentToolset = await import("./node-8zkdq42h.js");
4087
+ const agentToolset = await import("./node-c9we95xf.js");
4088
4088
  let leaseTtlMs;
4089
4089
  let runner;
4090
4090
  const heartbeatPromise = heartbeatLoop(sessionClient, work, lease, log, this.requestOptions, (ttlMs) => {
@@ -88,6 +88,11 @@ import {
88
88
  bedrockConverseStreamApi,
89
89
  setBedrockProviderModule
90
90
  } from "./cli-mn8qkd8v.js";
91
+ import {
92
+ parseJsonWithRepair,
93
+ parseStreamingJson,
94
+ repairJson
95
+ } from "./cli-1m2e086m.js";
91
96
  import {
92
97
  InMemoryCredentialStore,
93
98
  InMemoryModelsStore,
@@ -124,11 +129,6 @@ import {
124
129
  toToolDeclaration,
125
130
  withoutInitialSystemMessage
126
131
  } from "./cli-g7k7zbcz.js";
127
- import {
128
- parseJsonWithRepair,
129
- parseStreamingJson,
130
- repairJson
131
- } from "./cli-1m2e086m.js";
132
132
  import {
133
133
  AssistantMessageEventStream,
134
134
  EventStream,
@@ -5409,7 +5409,7 @@ function amazonBedrockProvider() {
5409
5409
  }
5410
5410
 
5411
5411
  // node_modules/@earendil-works/pi-ai/dist/api/openai-completions.lazy.js
5412
- var openAICompletionsApi = () => lazyApi(() => import("./openai-completions-663yncfq.js"));
5412
+ var openAICompletionsApi = () => lazyApi(() => import("./openai-completions-44gb0zsk.js"));
5413
5413
 
5414
5414
  // node_modules/@earendil-works/pi-ai/dist/auth/helpers.js
5415
5415
  function envApiKeyAuth(name, envVars) {
@@ -5465,7 +5465,7 @@ function antLingProvider() {
5465
5465
  }
5466
5466
 
5467
5467
  // node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.lazy.js
5468
- var anthropicMessagesApi = () => lazyApi(() => import("./anthropic-messages-13yn502s.js"));
5468
+ var anthropicMessagesApi = () => lazyApi(() => import("./anthropic-messages-etkbxhhy.js"));
5469
5469
 
5470
5470
  // node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.js
5471
5471
  var __rewriteRelativeImportExtension = function(path, preserveJsx) {
@@ -5600,7 +5600,7 @@ function anthropicProvider() {
5600
5600
  }
5601
5601
 
5602
5602
  // node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.lazy.js
5603
- var azureOpenAIResponsesApi = () => lazyApi(() => import("./azure-openai-responses-9st34pfz.js"));
5603
+ var azureOpenAIResponsesApi = () => lazyApi(() => import("./azure-openai-responses-xap57x4b.js"));
5604
5604
 
5605
5605
  // node_modules/@earendil-works/pi-ai/dist/providers/azure.js
5606
5606
  function resolveAzureModel(model, options) {
@@ -5662,7 +5662,7 @@ function cerebrasProvider() {
5662
5662
  }
5663
5663
 
5664
5664
  // node_modules/@earendil-works/pi-ai/dist/api/openai-responses.lazy.js
5665
- var openAIResponsesApi = () => lazyApi(() => import("./openai-responses-m3g43rrt.js"));
5665
+ var openAIResponsesApi = () => lazyApi(() => import("./openai-responses-9dyzwzkr.js"));
5666
5666
 
5667
5667
  // node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.js
5668
5668
  var CLOUDFLARE_API_KEY = "CLOUDFLARE_API_KEY";
@@ -5866,7 +5866,7 @@ function githubCopilotProvider() {
5866
5866
  }
5867
5867
 
5868
5868
  // node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.lazy.js
5869
- var googleGenerativeAIApi = () => lazyApi(() => import("./google-generative-ai-b8zxrpax.js"));
5869
+ var googleGenerativeAIApi = () => lazyApi(() => import("./google-generative-ai-pvhm0dq1.js"));
5870
5870
 
5871
5871
  // node_modules/@earendil-works/pi-ai/dist/providers/google.js
5872
5872
  function googleProvider() {
@@ -5881,7 +5881,7 @@ function googleProvider() {
5881
5881
  }
5882
5882
 
5883
5883
  // node_modules/@earendil-works/pi-ai/dist/api/google-vertex.lazy.js
5884
- var googleVertexApi = () => lazyApi(() => import("./google-vertex-nrdd697t.js"));
5884
+ var googleVertexApi = () => lazyApi(() => import("./google-vertex-tek9sqe2.js"));
5885
5885
 
5886
5886
  // node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js
5887
5887
  var VERTEX_ADC_PATH = "~/.config/gcloud/application_default_credentials.json";
@@ -6055,7 +6055,7 @@ function minimaxCnProvider() {
6055
6055
  }
6056
6056
 
6057
6057
  // node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.lazy.js
6058
- var mistralConversationsApi = () => lazyApi(() => import("./mistral-conversations-059y51zt.js"));
6058
+ var mistralConversationsApi = () => lazyApi(() => import("./mistral-conversations-rjxa9s1j.js"));
6059
6059
 
6060
6060
  // node_modules/@earendil-works/pi-ai/dist/providers/mistral.js
6061
6061
  function mistralProvider() {
@@ -6138,7 +6138,7 @@ function openaiProvider() {
6138
6138
  }
6139
6139
 
6140
6140
  // node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.lazy.js
6141
- var openAICodexResponsesApi = () => lazyApi(() => import("./openai-codex-responses-jzxkta9b.js"));
6141
+ var openAICodexResponsesApi = () => lazyApi(() => import("./openai-codex-responses-pgvtddvv.js"));
6142
6142
 
6143
6143
  // node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.js
6144
6144
  function openaiCodexProvider() {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runStopHookSessionSummarySubprocess
3
- } from "./cli-eqfbsxsn.js";
3
+ } from "./cli-tg8q0b5y.js";
4
4
  import {
5
5
  buildOtelTraceparentEnv,
6
6
  isHarnessOtelEnabled
@@ -33,6 +33,9 @@ import {
33
33
  import {
34
34
  applyReasoningEffort
35
35
  } from "./cli-tmhsxhb8.js";
36
+ import {
37
+ require_src
38
+ } from "./cli-knd276ed.js";
36
39
  import {
37
40
  swarmRuntimeInstanceId
38
41
  } from "./cli-re8z5p8p.js";
@@ -44,7 +47,7 @@ import {
44
47
  import {
45
48
  init_file_lock,
46
49
  withFileLock
47
- } from "./cli-jv36y8wz.js";
50
+ } from "./cli-rrbctenq.js";
48
51
  import {
49
52
  CLAUDE_CREDENTIALS_HINT,
50
53
  init_credentials,
@@ -67,10 +70,7 @@ import {
67
70
  import {
68
71
  init_secret_scrubber,
69
72
  scrubSecrets
70
- } from "./cli-wt7ccy4r.js";
71
- import {
72
- require_src
73
- } from "./cli-knd276ed.js";
73
+ } from "./cli-d161g69q.js";
74
74
  import {
75
75
  __require,
76
76
  __toESM
@@ -654,7 +654,7 @@ async function createSessionMcpConfig(cwd, taskId, installedServers, contextKey)
654
654
  }
655
655
  if (Object.keys(mergedServers).length === 0 && !installedServers)
656
656
  return null;
657
- if (process.env.CONTEXT_MODE_DISABLED !== "true") {
657
+ if (!isEnvFlagEnabled("CONTEXT_MODE_DISABLED", false)) {
658
658
  mergedServers["plugin_context-mode_context-mode"] = { command: "context-mode" };
659
659
  }
660
660
  try {
@@ -1116,7 +1116,7 @@ class ClaudeAdapter {
1116
1116
  if (transport === "sdk" && isClaudeBridgeEffective(sourceEnv)) {
1117
1117
  throw new Error("CLAUDE_TRANSPORT=sdk cannot run with an effective Claude Bridge configuration. Select CLI transport or disable the bridge.");
1118
1118
  }
1119
- const claudeSdk = transport === "sdk" ? await import("./claude-sdk-session-c9j6k9kx.js") : undefined;
1119
+ const claudeSdk = transport === "sdk" ? await import("./claude-sdk-session-exq1jadx.js") : undefined;
1120
1120
  claudeSdk?.validateClaudeSdkAdditionalArgs([
1121
1121
  ...claudeBinaryArgv.slice(1),
1122
1122
  ...config.additionalArgs ?? []
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  DEFAULT_MODEL,
3
3
  resolveCredential
4
- } from "./cli-7mhy3ths.js";
4
+ } from "./cli-x61srfpp.js";
5
5
  import {
6
6
  getSlackApp
7
- } from "./cli-e5qk3m2a.js";
7
+ } from "./cli-nkjwe4z7.js";
8
8
  import {
9
9
  claimApprovalCancellationNotification,
10
10
  completeApprovalCancellationNotificationClaim,
@@ -12,11 +12,11 @@ import {
12
12
  getTaskById,
13
13
  init_db1 as init_db,
14
14
  releaseApprovalCancellationNotificationClaim
15
- } from "./cli-rg1c8ccw.js";
15
+ } from "./cli-0d2rqhvq.js";
16
16
  import {
17
17
  TERMINAL_TASK_STATUSES,
18
18
  init_types
19
- } from "./cli-xvdgasgy.js";
19
+ } from "./cli-hsem16hb.js";
20
20
  import {
21
21
  init_resolver,
22
22
  resolveTemplate
@@ -27,20 +27,20 @@ import {
27
27
  getOpenRouterBaseUrl,
28
28
  init_openrouter_base_url
29
29
  } from "./cli-a35hzdve.js";
30
- import {
31
- getAppUrl,
32
- init_constants
33
- } from "./cli-gd4favx9.js";
34
30
  import {
35
31
  init_zod
36
32
  } from "./cli-sd0mxa3c.js";
37
33
  import {
38
34
  exports_external
39
35
  } from "./cli-w5e1d1vv.js";
36
+ import {
37
+ getAppUrl,
38
+ init_constants
39
+ } from "./cli-gd4favx9.js";
40
40
  import {
41
41
  init_secret_scrubber,
42
42
  scrubSecrets
43
- } from "./cli-wt7ccy4r.js";
43
+ } from "./cli-d161g69q.js";
44
44
  import {
45
45
  __require
46
46
  } from "./cli-bc05qbss.js";
@@ -433,7 +433,7 @@ class HumanInTheLoopExecutor extends BaseExecutor {
433
433
  }
434
434
  if (notification.channel === "slack") {
435
435
  try {
436
- const { getSlackApp: getSlackApp2 } = await import("./app-80w6qspx.js");
436
+ const { getSlackApp: getSlackApp2 } = await import("./app-04ab2s0z.js");
437
437
  const slackApp = getSlackApp2();
438
438
  if (!slackApp) {
439
439
  console.warn("[HITL] Slack not initialized — cannot send notification");
File without changes