@desplega.ai/agent-swarm 2.5.4 → 2.7.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 (354) hide show
  1. package/README.md +4 -2
  2. package/dist/{acp-adapter-ek38cwsv.js → acp-adapter-ma1js5n7.js} +9 -9
  3. package/dist/{actions-92mepq03.js → actions-1vhmtvg9.js} +21 -21
  4. package/dist/{amp-adapter-9gaxg015.js → amp-adapter-sxqqvmdk.js} +4 -4
  5. package/dist/{app-ctn8gsgx.js → app-mwx1d5a9.js} +3 -3
  6. package/dist/{assistant-zyr5kz47.js → assistant-yx1p6g82.js} +30 -26
  7. package/dist/{boot-reembed-w75maga2.js → boot-reembed-5h37a2c2.js} +1 -1
  8. package/dist/{boot-reembed-dwzfttdr.js → boot-reembed-7h78vmvv.js} +2 -1
  9. package/dist/{boot-scrub-sweep-e9kq43kf.js → boot-scrub-sweep-8mawd4gw.js} +4 -4
  10. package/dist/{boot-seeds-x28v3fhb.js → boot-seeds-ca84dhnn.js} +4 -4
  11. package/dist/{claude-adapter-f0afqnne.js → claude-adapter-wqt4hfkq.js} +9 -9
  12. package/dist/{claude-managed-adapter-x81a7r65.js → claude-managed-adapter-6fjqtr2z.js} +2 -2
  13. package/dist/{claude-managed-setup-bqzwjd9x.js → claude-managed-setup-rqv98sea.js} +10 -3
  14. package/dist/{claude-sdk-session-7b7whkaq.js → claude-sdk-session-f29f3b2x.js} +11 -11
  15. package/dist/{cli-sxgtf5fw.js → cli-07q03xm2.js} +1 -1
  16. package/dist/{cli-kxpfx2xr.js → cli-0z1xjzwa.js} +2 -2
  17. package/dist/{cli-g9vd9ece.js → cli-1hhbzkbb.js} +14 -16
  18. package/dist/{cli-qqzmjxkf.js → cli-1m9x8dr5.js} +11 -6
  19. package/dist/{cli-jbnn4vxb.js → cli-2pvzmas1.js} +3 -3
  20. package/dist/{cli-x77gen2p.js → cli-2y7v133v.js} +7 -7
  21. package/dist/{cli-dew6x255.js → cli-39aet655.js} +2 -2
  22. package/dist/{cli-g1cw7xtt.js → cli-39rrw8yp.js} +1 -1
  23. package/dist/{cli-jb30dzvk.js → cli-48gxjmcz.js} +530 -190
  24. package/dist/{cli-pzatvw94.js → cli-54sj64fc.js} +2 -2
  25. package/dist/{cli-bvpgr9ny.js → cli-60sty27p.js} +5 -5
  26. package/dist/{cli-asq5ydm4.js → cli-6a9qfa8b.js} +411 -69
  27. package/dist/{cli-277c31dw.js → cli-6mgdba42.js} +225 -3
  28. package/dist/{cli-19202kew.js → cli-6srv653c.js} +5 -5
  29. package/dist/{cli-n4c8e3s5.js → cli-708wdy32.js} +1 -1
  30. package/dist/{cli-pasyvjmm.js → cli-737pyqxr.js} +1 -1
  31. package/dist/{cli-6x9ma5w5.js → cli-803188pb.js} +1 -1
  32. package/dist/{cli-hh5we352.js → cli-86ehn4s5.js} +7 -7
  33. package/dist/{cli-9s05422w.js → cli-8mbc9za9.js} +1 -1
  34. package/dist/{cli-ff1tm9n9.js → cli-8wmj18cz.js} +1 -1
  35. package/dist/{cli-1r5ad7j5.js → cli-9gsm2rzp.js} +12 -12
  36. package/dist/{cli-mz9afxxf.js → cli-9pshx6rd.js} +17 -3
  37. package/dist/{cli-s682zgqz.js → cli-a6ds2epe.js} +1 -1
  38. package/dist/{cli-6a1xg1p7.js → cli-a89zdqz9.js} +2 -2
  39. package/dist/{cli-03vpq45j.js → cli-ay40dnj3.js} +2 -2
  40. package/dist/{cli-tsma7p8v.js → cli-aypd09nf.js} +2 -2
  41. package/dist/{cli-ethgy7ha.js → cli-b3yzyc57.js} +2 -2
  42. package/dist/{cli-bn0rewsy.js → cli-c081bj3b.js} +2 -2
  43. package/dist/{cli-mmhj8vd7.js → cli-c668vvcf.js} +11 -2
  44. package/dist/{cli-sbwsxvtd.js → cli-d20qvpr2.js} +2 -2
  45. package/dist/{cli-c952c7ac.js → cli-e1595bgx.js} +3 -3
  46. package/dist/{cli-621ce7kw.js → cli-f12mr20z.js} +3 -3
  47. package/dist/{cli-dqygeeh5.js → cli-f1e0ptjj.js} +10 -1
  48. package/dist/{cli-xzfq4at3.js → cli-f4dbh7a5.js} +16 -12
  49. package/dist/{cli-ha9rmwgq.js → cli-fb8m699c.js} +2 -2
  50. package/dist/{cli-5bnsc0e1.js → cli-gsfk58nw.js} +5 -5
  51. package/dist/cli-gt4h8cxw.js +895 -0
  52. package/dist/{cli-nwyw3zhg.js → cli-gxee0bqa.js} +1 -1
  53. package/dist/{cli-25n3mv5d.js → cli-h5jeg46p.js} +6 -6
  54. package/dist/{cli-gn5af0x5.js → cli-he9gbdx0.js} +62 -12
  55. package/dist/{cli-gbfxp48k.js → cli-j0ppywdr.js} +42 -35
  56. package/dist/{cli-k4tjsdx9.js → cli-j3y0x2n4.js} +277 -199
  57. package/dist/{cli-7p4jxgtt.js → cli-j9bpmykh.js} +75 -27
  58. package/dist/{cli-dabehxhp.js → cli-kt907da6.js} +1 -1
  59. package/dist/{cli-wx2nj19m.js → cli-kv7sbc2c.js} +6 -6
  60. package/dist/{cli-abs8ndtr.js → cli-m30k9777.js} +26 -26
  61. package/dist/{cli-cz5nmdxt.js → cli-m5e802r7.js} +2 -2
  62. package/dist/{cli-0shx9j93.js → cli-pfk92eqz.js} +2 -2
  63. package/dist/{cli-xtrz6bzs.js → cli-ptfq202x.js} +5 -3
  64. package/dist/{cli-6n8axjv1.js → cli-qj442fws.js} +2 -2
  65. package/dist/{cli-c61mbdds.js → cli-rd5m70gj.js} +4 -4
  66. package/dist/{cli-eftzyh9y.js → cli-s09j9vp5.js} +2 -2
  67. package/dist/{cli-m4ecdxvz.js → cli-s0mgx214.js} +7 -7
  68. package/dist/{cli-wghjkr0e.js → cli-sgqm2582.js} +10 -7
  69. package/dist/{cli-2655k16q.js → cli-sjctjr48.js} +2 -2
  70. package/dist/{cli-nzfnt2gs.js → cli-tf1n0r0b.js} +1 -1
  71. package/dist/{cli-x0f2v69c.js → cli-twctnkng.js} +12 -7
  72. package/dist/{cli-j6rktc91.js → cli-v6shg7na.js} +1 -1
  73. package/dist/{cli-gx4rm0qx.js → cli-vz78s5wm.js} +1 -1
  74. package/dist/{cli-gwhjmh8g.js → cli-wqr7cea4.js} +5 -5
  75. package/dist/{cli-e42vss7b.js → cli-x37r7qwf.js} +16 -8
  76. package/dist/{cli-4b2z6n0m.js → cli-yd2nreqw.js} +17 -8
  77. package/dist/{cli-64mh9mf3.js → cli-ymjpkxgn.js} +69 -17
  78. package/dist/{cli-5kqnemen.js → cli-yvy48785.js} +1 -1
  79. package/dist/{cli-9j129brq.js → cli-yxbsmx56.js} +6 -6
  80. package/dist/cli.js +22 -20
  81. package/dist/{codex-adapter-wch12q99.js → codex-adapter-zk59x2zh.js} +7 -7
  82. package/dist/{codex-hook-brpnycn5.js → codex-hook-xyjhvxwd.js} +1 -1
  83. package/dist/{codex-login-rn7c5gxt.js → codex-login-8cg0vhf2.js} +1 -1
  84. package/dist/{codex-session-runner-41pfcr95.js → codex-session-runner-kh6s4j3n.js} +8 -8
  85. package/dist/{commands-9849dkj6.js → commands-68et1qv2.js} +2 -2
  86. package/dist/{controller-ja0sd95p.js → controller-fyrbnzg4.js} +4 -4
  87. package/dist/{controllers-connect-xp05dj6x.js → controllers-connect-nep9h2xv.js} +23 -23
  88. package/dist/{cursor-adapter-623qxqew.js → cursor-adapter-yss3pg7t.js} +2 -2
  89. package/dist/{db-w759qmx0.js → db-28gjyvxj.js} +4 -2
  90. package/dist/{db-47vj40dy.js → db-8ftwvzba.js} +3 -3
  91. package/dist/{devin-adapter-4ycy4vrf.js → devin-adapter-byen2cxt.js} +1 -1
  92. package/dist/{dispatcher-7b8e4z2j.js → dispatcher-hayexmkr.js} +20 -20
  93. package/dist/{docker-s84hjs91.js → docker-fdzyewpz.js} +2 -2
  94. package/dist/{dsh-adapter-2ezw3xea.js → dsh-adapter-46wawff9.js} +2 -2
  95. package/dist/{e2b-9gkdhm3c.js → e2b-222hsajc.js} +2 -2
  96. package/dist/{e2b-cjtf8k1z.js → e2b-fn3zacvt.js} +2 -2
  97. package/dist/{easter-egg-3d-e4qv8dxj.js → easter-egg-3d-8d1e0h4m.js} +1 -1
  98. package/dist/{event-bus-3z78ep5n.js → event-bus-pghg8hqy.js} +1 -1
  99. package/dist/{execute-0xpz8950.js → execute-cjrfxfnm.js} +1 -1
  100. package/dist/{external-channel-e2s028da.js → external-channel-xbmxcg09.js} +2 -2
  101. package/dist/{grok-adapter-ys7gaqee.js → grok-adapter-ag4wks2a.js} +10 -10
  102. package/dist/handlers-tzmevqb5.js +41 -0
  103. package/dist/{heartbeat-w3mntghj.js → heartbeat-psfvcgwp.js} +23 -23
  104. package/dist/{hook-g7kvv6x9.js → hook-8pz04697.js} +6 -6
  105. package/dist/{hook-3jjywnpb.js → hook-cyq4mryn.js} +8 -8
  106. package/dist/{http-tkp7d4kb.js → http-haj1nd6k.js} +921 -169
  107. package/dist/{index-q7m26kvs.js → index-jwt2bj6f.js} +265 -97
  108. package/dist/{index-3n8m9ea2.js → index-q52f47pe.js} +1 -1
  109. package/dist/{index-31ceyf42.js → index-syvhnvtw.js} +1 -1
  110. package/dist/index-y1ajx04a.js +43 -0
  111. package/dist/{index-1ef1myq2.js → index-z5h22pes.js} +20 -20
  112. package/dist/{index-xdaahthb.js → index-zyq8ct52.js} +20 -20
  113. package/dist/{keepalive-v4ta8wgg.js → keepalive-xdvsamvj.js} +4 -4
  114. package/dist/lead-hqg57kdp.js +79 -0
  115. package/dist/{maintenance-84n1ex21.js → maintenance-4y2xzh3a.js} +1 -1
  116. package/dist/{oauth-refresh-sweep-vjnnandw.js → oauth-refresh-sweep-jd4r7zbs.js} +9 -4
  117. package/dist/{onboard-sfmpe4np.js → onboard-18447q9q.js} +6 -6
  118. package/dist/{opencode-adapter-jmpst4q4.js → opencode-adapter-26b2frdf.js} +7 -7
  119. package/dist/{otel-impl-v6cc0zve.js → otel-impl-f9tgr8yw.js} +2 -2
  120. package/dist/{pi-mono-adapter-fk8fkcf6.js → pi-mono-adapter-qn6qbga1.js} +38 -17
  121. package/dist/{pricing-refresh-fsk1e1zc.js → pricing-refresh-dw2tgb53.js} +3 -3
  122. package/dist/{rbac-roles-prmkdnkw.js → rbac-roles-aygm2760.js} +2 -2
  123. package/dist/{rbac-roles-zxmxqa39.js → rbac-roles-s4nwj2m3.js} +1 -1
  124. package/dist/render-v2-yfvdfr0x.js +16 -0
  125. package/dist/{resume-frdtgfa0.js → resume-1bmvjbf3.js} +9 -9
  126. package/dist/{runtime-bt5pkpm1.js → runtime-f7tpzedy.js} +1 -1
  127. package/dist/{session-access-fpez4y5q.js → session-access-r5garej6.js} +4 -4
  128. package/dist/session-source-backfill-424wzv0r.js +110 -0
  129. package/dist/{setup-mq6m3m8q.js → setup-8tygvxkq.js} +1 -1
  130. package/dist/{virtual-modules-mnfbh5mr.js → virtual-modules-xsw323b3.js} +2 -2
  131. package/dist/{work-objects-kfahhjsq.js → work-objects-ggnghpgf.js} +23 -23
  132. package/dist/worker-sqjd1nqf.js +79 -0
  133. package/dist/{x-pbpezr0s.js → x-wxrzvzx8.js} +2 -2
  134. package/openapi.json +1324 -14
  135. package/package.json +5 -3
  136. package/src/assets/source-key.ts +95 -0
  137. package/src/be/automation-preflight.ts +2 -0
  138. package/src/be/db/api-keys.ts +89 -0
  139. package/src/be/db/session-labels.ts +28 -0
  140. package/src/be/db/session-moves.ts +5 -6
  141. package/src/be/db/session-tree.ts +153 -14
  142. package/src/be/db/tasks/read.ts +11 -0
  143. package/src/be/db/tasks/write.ts +6 -1
  144. package/src/be/db/workflow-runs.ts +219 -6
  145. package/src/be/db-retention.ts +61 -6
  146. package/src/be/db.ts +135 -132
  147. package/src/be/memory/providers/openai-embedding.ts +5 -1
  148. package/src/be/memory/task-learning.ts +155 -0
  149. package/src/be/migrations/244_api_key_validation.sql +4 -0
  150. package/src/be/migrations/245_script_executor.sql +3 -0
  151. package/src/be/oauth-refresh-sweep.ts +2 -1
  152. package/src/be/onboarding.ts +4 -0
  153. package/src/be/scripts/boot-reembed.ts +2 -0
  154. package/src/be/scripts/db.ts +14 -4
  155. package/src/be/scripts/embeddings.ts +2 -0
  156. package/src/be/scripts/run-saved.ts +1 -0
  157. package/src/be/scripts/typecheck.ts +10 -4
  158. package/src/be/seed-skills/index.ts +7 -0
  159. package/src/be/session-source-backfill.ts +163 -0
  160. package/src/be/swarm-config-guard.ts +1 -0
  161. package/src/comb/review-batch.ts +28 -1
  162. package/src/comb/templates.ts +7 -2
  163. package/src/commands/claude-managed-setup.ts +7 -1
  164. package/src/commands/credential-refresh.ts +76 -1
  165. package/src/commands/credential-wait.ts +2 -2
  166. package/src/commands/onboard/compose-generator.ts +5 -3
  167. package/src/commands/provider-credentials.ts +212 -171
  168. package/src/commands/runner.ts +25 -4
  169. package/src/extensions/apply-task-create.ts +8 -1
  170. package/src/extensions/contract-types.generated.ts +1 -1
  171. package/src/extensions/contract.ts +5 -0
  172. package/src/heartbeat/heartbeat.ts +14 -1
  173. package/src/heartbeat/script-runner-probe.ts +47 -0
  174. package/src/http/all-routes.ts +2 -0
  175. package/src/http/api-keys.ts +77 -9
  176. package/src/http/assets.ts +15 -0
  177. package/src/http/codex-oauth-accounts.ts +191 -0
  178. package/src/http/comb.ts +15 -2
  179. package/src/http/config.ts +1 -1
  180. package/src/http/core.ts +6 -0
  181. package/src/http/fleet-benchmark.ts +5 -2
  182. package/src/http/idempotency-key.ts +1 -1
  183. package/src/http/index.ts +14 -3
  184. package/src/http/integrations.ts +5 -1
  185. package/src/http/kv.ts +8 -3
  186. package/src/http/onboarding.ts +6 -1
  187. package/src/http/pages-public.ts +38 -5
  188. package/src/http/pool-keys.ts +354 -0
  189. package/src/http/scripts.ts +27 -0
  190. package/src/http/sessions.ts +37 -12
  191. package/src/http/stats.ts +1 -0
  192. package/src/http/status.ts +26 -12
  193. package/src/http/tasks.ts +3 -0
  194. package/src/http/used-by.ts +7 -2
  195. package/src/http/workflows.ts +88 -9
  196. package/src/http/x.ts +5 -0
  197. package/src/integrations/chat-sdk/inbound.ts +27 -0
  198. package/src/kv-reserved-namespaces.ts +19 -0
  199. package/src/prompts/base-prompt.ts +21 -1
  200. package/src/prompts/session-templates.ts +17 -3
  201. package/src/providers/acp-targets.ts +1 -1
  202. package/src/providers/amp-adapter.ts +1 -1
  203. package/src/providers/claude-adapter.ts +5 -1
  204. package/src/providers/claude-managed-adapter.ts +16 -9
  205. package/src/providers/codex-adapter.ts +71 -11
  206. package/src/providers/dsh-adapter.ts +1 -1
  207. package/src/providers/pi-mono-adapter.ts +41 -11
  208. package/src/scheduler/scheduler.ts +5 -3
  209. package/src/scripts-runtime/eval-harness.ts +8 -1
  210. package/src/scripts-runtime/executors/native.ts +22 -16
  211. package/src/scripts-runtime/executors/quickjs-prelude.ts +103 -1
  212. package/src/scripts-runtime/executors/quickjs-runner.ts +2 -1
  213. package/src/scripts-runtime/executors/quickjs.ts +7 -0
  214. package/src/scripts-runtime/executors/registry.ts +32 -0
  215. package/src/scripts-runtime/executors/types.ts +7 -0
  216. package/src/scripts-runtime/host-validated-args.ts +133 -0
  217. package/src/scripts-runtime/loader.ts +30 -3
  218. package/src/scripts-runtime/swarm-sdk.ts +16 -3
  219. package/src/scripts-runtime/types/stdlib.d.ts +10 -2
  220. package/src/scripts-runtime/types/swarm-extension.d.ts +17 -8
  221. package/src/scripts-runtime/types/swarm-sdk.d.ts +10 -2
  222. package/src/slack/assistant.ts +7 -0
  223. package/src/slack/channel-labels.ts +74 -0
  224. package/src/slack/handlers.ts +8 -0
  225. package/src/slack/inbound-files.ts +5 -2
  226. package/src/slack/thread-buffer.ts +4 -0
  227. package/src/tasks/sibling-awareness.ts +12 -3
  228. package/src/telemetry-context.ts +5 -6
  229. package/src/telemetry-identity.ts +3 -3
  230. package/src/tests/api-key-status-by-suffix.test.ts +242 -0
  231. package/src/tests/api-keys-validation.test.ts +170 -0
  232. package/src/tests/base-prompt.test.ts +70 -2
  233. package/src/tests/claude-managed-adapter.test.ts +46 -0
  234. package/src/tests/claude-routes-e2e.test.ts +7 -2
  235. package/src/tests/codex-credential-pools.test.ts +120 -0
  236. package/src/tests/codex-gateway-route.test.ts +165 -0
  237. package/src/tests/codex-oauth-accounts.test.ts +357 -0
  238. package/src/tests/comb-review-batch.test.ts +63 -2
  239. package/src/tests/community-linear-delivery-loop.test.ts +2099 -0
  240. package/src/tests/config-pool-keys.test.ts +533 -0
  241. package/src/tests/credential-check.test.ts +294 -4
  242. package/src/tests/credential-refresh.test.ts +172 -1
  243. package/src/tests/db-retention.test.ts +9 -3
  244. package/src/tests/db-task-read-contract.test.ts +1 -0
  245. package/src/tests/db-task-write-contract.test.ts +1 -3
  246. package/src/tests/docs-index-footprint.test.js +3 -3
  247. package/src/tests/docs-index.test.ts +135 -0
  248. package/src/tests/dsh-adapter.test.ts +1 -1
  249. package/src/tests/extensions-pre-task.test.ts +53 -1
  250. package/src/tests/fetch-resolved-env.test.ts +16 -2
  251. package/src/tests/fixtures/extensions/record-task-create/hooks.ts +9 -0
  252. package/src/tests/fixtures/extensions/record-task-create/manifest.json +7 -0
  253. package/src/tests/fleet-benchmark.test.ts +8 -0
  254. package/src/tests/get-workflow-run-tool.test.ts +98 -0
  255. package/src/tests/heartbeat-checklist.test.ts +89 -0
  256. package/src/tests/heartbeat-script-runner-probe.test.ts +83 -0
  257. package/src/tests/integrations-http.test.ts +32 -2
  258. package/src/tests/internal-ai/complete-structured.test.ts +37 -1
  259. package/src/tests/internal-ai/credentials.test.ts +23 -0
  260. package/src/tests/kv-http.test.ts +32 -0
  261. package/src/tests/kv-tool.test.ts +25 -0
  262. package/src/tests/multi-runtime-registration.test.ts +12 -12
  263. package/src/tests/oauth-refresh-sweep.test.ts +34 -1
  264. package/src/tests/onboard-compose.test.ts +20 -0
  265. package/src/tests/onboarding.test.ts +108 -1
  266. package/src/tests/openai-embedding-credentials.test.ts +35 -0
  267. package/src/tests/opencode-adapter.test.ts +2 -1
  268. package/src/tests/openrouter-attribution-call-sites.test.ts +2 -2
  269. package/src/tests/org-website.test.ts +36 -0
  270. package/src/tests/pages-frame-ancestors.test.ts +162 -0
  271. package/src/tests/pi-codemode.test.ts +2 -1
  272. package/src/tests/pi-mono-adapter.test.ts +54 -0
  273. package/src/tests/pi-native-mcp.test.ts +13 -1
  274. package/src/tests/pi-tool-exposure.test.ts +8 -8
  275. package/src/tests/probe-tool-schema-tokens.test.ts +144 -0
  276. package/src/tests/prompt-template-session.test.ts +4 -3
  277. package/src/tests/provider-key-probes.test.ts +181 -0
  278. package/src/tests/rbac-e2e-helpers.test.ts +88 -1
  279. package/src/tests/rbac-e2e-helpers.ts +36 -11
  280. package/src/tests/request-composition-derive.test.ts +329 -0
  281. package/src/tests/script-connections.test.ts +4 -0
  282. package/src/tests/script-executor-conformance.test.ts +36 -1
  283. package/src/tests/script-executor-quickjs-pool.test.ts +50 -0
  284. package/src/tests/script-executor-quickjs.test.ts +140 -0
  285. package/src/tests/script-host-validated-args-native.test.ts +196 -0
  286. package/src/tests/script-per-script-executor.test.ts +415 -0
  287. package/src/tests/script-runs-retention.test.ts +212 -0
  288. package/src/tests/scripts-external-api.test.ts +45 -0
  289. package/src/tests/sdk-allowlist.test.ts +42 -2
  290. package/src/tests/self-improvement.test.ts +4 -4
  291. package/src/tests/session-source-backfill.test.ts +429 -0
  292. package/src/tests/session-source-keys.test.ts +236 -0
  293. package/src/tests/session-source-labels.test.ts +419 -0
  294. package/src/tests/sessions-detail-batch.test.ts +2 -0
  295. package/src/tests/sessions-move.test.ts +131 -0
  296. package/src/tests/sessions-tree.test.ts +299 -2
  297. package/src/tests/slack-inbound-files.test.ts +103 -23
  298. package/src/tests/status.test.ts +101 -18
  299. package/src/tests/store-progress-learning.test.ts +288 -0
  300. package/src/tests/tasks-workflow-run-filter.test.ts +146 -0
  301. package/src/tests/test-net.ts +31 -0
  302. package/src/tests/transcription.test.ts +8 -0
  303. package/src/tests/ui-logs-parser.test.ts +180 -0
  304. package/src/tests/used-by-route.test.ts +11 -0
  305. package/src/tests/workflow-cascade-cancel.test.ts +172 -0
  306. package/src/tests/workflow-engine-v2.test.ts +116 -1
  307. package/src/tests/workflow-http-v2.test.ts +131 -0
  308. package/src/tests/workflow-mcp-trigger-schema.test.ts +209 -0
  309. package/src/tests/workflow-run-finished-event.test.ts +263 -0
  310. package/src/tests/workflow-step-order.test.ts +92 -0
  311. package/src/tests/workflow-sub-workflow.test.ts +30 -0
  312. package/src/tests/workflow-swarm-script.test.ts +34 -0
  313. package/src/tools/get-tasks.ts +8 -0
  314. package/src/tools/kv/kv-read-auth.ts +4 -2
  315. package/src/tools/script-common.ts +1 -0
  316. package/src/tools/script-run.ts +7 -0
  317. package/src/tools/script-upsert.ts +7 -0
  318. package/src/tools/store-progress.ts +67 -1
  319. package/src/tools/task-action.ts +1 -1
  320. package/src/tools/workflows/get-workflow-run.ts +14 -4
  321. package/src/tools/workflows/trigger-workflow.ts +104 -10
  322. package/src/types.ts +36 -1
  323. package/src/utils/company-profile.ts +51 -1
  324. package/src/utils/credentials.ts +10 -4
  325. package/src/utils/internal-ai/complete-structured.ts +5 -0
  326. package/src/utils/internal-ai/credentials.ts +4 -3
  327. package/src/utils/provider-key-probes.ts +328 -0
  328. package/src/utils/transcription.ts +4 -1
  329. package/src/workflows/engine.ts +18 -16
  330. package/src/workflows/executors/sub-workflow.ts +8 -1
  331. package/src/workflows/executors/swarm-script.ts +5 -0
  332. package/src/workflows/foreach-driver.ts +5 -11
  333. package/src/workflows/node-timeout.ts +30 -0
  334. package/templates/ai-toolbox.manifest.json +2 -2
  335. package/templates/community/linear-delivery-loop/PLAYBOOK.md +323 -0
  336. package/templates/community/linear-delivery-loop/README.md +38 -0
  337. package/templates/community/linear-delivery-loop/config.example.json +31 -0
  338. package/templates/community/linear-delivery-loop/lead-prompt.md +34 -0
  339. package/templates/community/linear-delivery-loop/schedule.json +10 -0
  340. package/templates/community/linear-delivery-loop/scripts/linear-delivery-setup.ts +148 -0
  341. package/templates/community/linear-delivery-loop/scripts/linear-delivery-tick.ts +1781 -0
  342. package/templates/skills/researching/content.md +2 -0
  343. package/templates/skills/swarm-docs/config.json +14 -0
  344. package/templates/skills/swarm-docs/content.md +144 -0
  345. package/templates/skills/swarm-scripts/SKILL.md +1 -0
  346. package/templates/skills/swarm-scripts/content.md +1 -0
  347. package/dist/cli-7421jzsw.js +0 -84
  348. package/dist/cli-e45e4m6b.js +0 -413
  349. package/dist/cli-zw88zjba.js +0 -307
  350. package/dist/handlers-wy1dr6ja.js +0 -41
  351. package/dist/index-nmm79qgr.js +0 -43
  352. package/dist/lead-sawnyqxk.js +0 -79
  353. package/dist/render-v2-pjwxvnkw.js +0 -12
  354. package/dist/worker-v5e5rxj3.js +0 -79
@@ -3,7 +3,7 @@ import {
3
3
  resetEmbeddingProvider2,
4
4
  getMemoryStore2,
5
5
  init_memory
6
- } from "./cli-jb30dzvk.js";
6
+ } from "./cli-48gxjmcz.js";
7
7
  init_memory();
8
8
 
9
9
  export {
@@ -21,7 +21,7 @@ import {
21
21
  require_scala,
22
22
  require_swift,
23
23
  require_typescript
24
- } from "./cli-x77gen2p.js";
24
+ } from "./cli-2y7v133v.js";
25
25
  import {
26
26
  __commonJS
27
27
  } from "./cli-242037k3.js";
@@ -0,0 +1,43 @@
1
+ import"./cli-ns59dc6r.js";
2
+ import {
3
+ startHeartbeat2,
4
+ stopHeartbeat2
5
+ } from "./cli-he9gbdx0.js";
6
+ import"./cli-9gsm2rzp.js";
7
+ import"./cli-qj442fws.js";
8
+ import"./cli-6a9qfa8b.js";
9
+ import"./cli-737pyqxr.js";
10
+ import"./cli-8mbc9za9.js";
11
+ import"./cli-qz93y3x5.js";
12
+ import"./cli-3h26v7yj.js";
13
+ import"./cli-60sty27p.js";
14
+ import"./cli-j9bpmykh.js";
15
+ import"./cli-3ggwdtb0.js";
16
+ import"./cli-aypd09nf.js";
17
+ import"./cli-rd5m70gj.js";
18
+ import"./cli-d20qvpr2.js";
19
+ import"./cli-g9ypd5en.js";
20
+ import"./cli-twctnkng.js";
21
+ import"./cli-j0ppywdr.js";
22
+ import"./cli-1m9x8dr5.js";
23
+ import"./cli-0z1xjzwa.js";
24
+ import"./cli-e8xyjvfc.js";
25
+ import"./cli-wqr7cea4.js";
26
+ import"./cli-13p25grh.js";
27
+ import"./cli-0adyhvq2.js";
28
+ import"./cli-m30k9777.js";
29
+ import"./cli-s09j9vp5.js";
30
+ import"./cli-6srv653c.js";
31
+ import"./cli-a89zdqz9.js";
32
+ import"./cli-rycdaj0a.js";
33
+ import"./cli-445c1vp7.js";
34
+ import"./cli-kvzgak7c.js";
35
+ import"./cli-2nf3b08t.js";
36
+ import"./cli-b2mz5mjc.js";
37
+ import"./cli-8wmj18cz.js";
38
+ import"./cli-48gxjmcz.js";
39
+ import"./cli-kt907da6.js";
40
+ export {
41
+ startHeartbeat2 as startHeartbeat,
42
+ stopHeartbeat2 as stopHeartbeat
43
+ };
@@ -1,42 +1,42 @@
1
1
  import {
2
2
  getExecutorRegistry2,
3
3
  initWorkflows2
4
- } from "./cli-asq5ydm4.js";
5
- import"./cli-pasyvjmm.js";
6
- import"./cli-9s05422w.js";
4
+ } from "./cli-6a9qfa8b.js";
5
+ import"./cli-737pyqxr.js";
6
+ import"./cli-8mbc9za9.js";
7
7
  import"./cli-qz93y3x5.js";
8
8
  import"./cli-3h26v7yj.js";
9
- import"./cli-bvpgr9ny.js";
10
- import"./cli-7p4jxgtt.js";
9
+ import"./cli-60sty27p.js";
10
+ import"./cli-j9bpmykh.js";
11
11
  import"./cli-3ggwdtb0.js";
12
- import"./cli-tsma7p8v.js";
13
- import"./cli-c61mbdds.js";
14
- import"./cli-sbwsxvtd.js";
12
+ import"./cli-aypd09nf.js";
13
+ import"./cli-rd5m70gj.js";
14
+ import"./cli-d20qvpr2.js";
15
15
  import"./cli-g9ypd5en.js";
16
16
  import {
17
17
  retryFailedRun2,
18
18
  cancelWorkflowRun2
19
- } from "./cli-x0f2v69c.js";
19
+ } from "./cli-twctnkng.js";
20
20
  import {
21
21
  startWorkflowExecution2
22
- } from "./cli-gbfxp48k.js";
23
- import"./cli-qqzmjxkf.js";
24
- import"./cli-kxpfx2xr.js";
22
+ } from "./cli-j0ppywdr.js";
23
+ import"./cli-1m9x8dr5.js";
24
+ import"./cli-0z1xjzwa.js";
25
25
  import"./cli-e8xyjvfc.js";
26
- import"./cli-gwhjmh8g.js";
26
+ import"./cli-wqr7cea4.js";
27
27
  import"./cli-13p25grh.js";
28
28
  import"./cli-0adyhvq2.js";
29
- import"./cli-abs8ndtr.js";
30
- import"./cli-eftzyh9y.js";
31
- import"./cli-19202kew.js";
32
- import"./cli-6a1xg1p7.js";
29
+ import"./cli-m30k9777.js";
30
+ import"./cli-s09j9vp5.js";
31
+ import"./cli-6srv653c.js";
32
+ import"./cli-a89zdqz9.js";
33
33
  import"./cli-rycdaj0a.js";
34
34
  import"./cli-445c1vp7.js";
35
35
  import"./cli-kvzgak7c.js";
36
36
  import"./cli-2nf3b08t.js";
37
- import"./cli-ff1tm9n9.js";
38
- import"./cli-jb30dzvk.js";
39
- import"./cli-dabehxhp.js";
37
+ import"./cli-8wmj18cz.js";
38
+ import"./cli-48gxjmcz.js";
39
+ import"./cli-kt907da6.js";
40
40
  export {
41
41
  cancelWorkflowRun2 as cancelWorkflowRun,
42
42
  getExecutorRegistry2 as getExecutorRegistry,
@@ -3,37 +3,37 @@ import {
3
3
  startScheduler2,
4
4
  stopScheduler2,
5
5
  runScheduleNow2
6
- } from "./cli-asq5ydm4.js";
7
- import"./cli-pasyvjmm.js";
8
- import"./cli-9s05422w.js";
6
+ } from "./cli-6a9qfa8b.js";
7
+ import"./cli-737pyqxr.js";
8
+ import"./cli-8mbc9za9.js";
9
9
  import"./cli-qz93y3x5.js";
10
10
  import"./cli-3h26v7yj.js";
11
- import"./cli-bvpgr9ny.js";
12
- import"./cli-7p4jxgtt.js";
11
+ import"./cli-60sty27p.js";
12
+ import"./cli-j9bpmykh.js";
13
13
  import"./cli-3ggwdtb0.js";
14
- import"./cli-tsma7p8v.js";
15
- import"./cli-c61mbdds.js";
16
- import"./cli-sbwsxvtd.js";
14
+ import"./cli-aypd09nf.js";
15
+ import"./cli-rd5m70gj.js";
16
+ import"./cli-d20qvpr2.js";
17
17
  import"./cli-g9ypd5en.js";
18
- import"./cli-x0f2v69c.js";
19
- import"./cli-gbfxp48k.js";
20
- import"./cli-qqzmjxkf.js";
21
- import"./cli-kxpfx2xr.js";
18
+ import"./cli-twctnkng.js";
19
+ import"./cli-j0ppywdr.js";
20
+ import"./cli-1m9x8dr5.js";
21
+ import"./cli-0z1xjzwa.js";
22
22
  import"./cli-e8xyjvfc.js";
23
- import"./cli-gwhjmh8g.js";
23
+ import"./cli-wqr7cea4.js";
24
24
  import"./cli-13p25grh.js";
25
25
  import"./cli-0adyhvq2.js";
26
- import"./cli-abs8ndtr.js";
27
- import"./cli-eftzyh9y.js";
28
- import"./cli-19202kew.js";
29
- import"./cli-6a1xg1p7.js";
26
+ import"./cli-m30k9777.js";
27
+ import"./cli-s09j9vp5.js";
28
+ import"./cli-6srv653c.js";
29
+ import"./cli-a89zdqz9.js";
30
30
  import"./cli-rycdaj0a.js";
31
31
  import"./cli-445c1vp7.js";
32
32
  import"./cli-kvzgak7c.js";
33
33
  import"./cli-2nf3b08t.js";
34
- import"./cli-ff1tm9n9.js";
35
- import"./cli-jb30dzvk.js";
36
- import"./cli-dabehxhp.js";
34
+ import"./cli-8wmj18cz.js";
35
+ import"./cli-48gxjmcz.js";
36
+ import"./cli-kt907da6.js";
37
37
  export {
38
38
  calculateNextRun2 as calculateNextRun,
39
39
  runScheduleNow2 as runScheduleNow,
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  listKeepAliveAuthorizations,
3
3
  init_oauth
4
- } from "./cli-jb30dzvk.js";
4
+ } from "./cli-48gxjmcz.js";
5
5
  import {
6
6
  ensureAuthorizationTokenOrThrow
7
- } from "./cli-tsma7p8v.js";
7
+ } from "./cli-aypd09nf.js";
8
8
  import {
9
9
  scrubSecrets,
10
10
  init_secret_scrubber
11
- } from "./cli-n4c8e3s5.js";
11
+ } from "./cli-708wdy32.js";
12
12
 
13
13
  // src/oauth/keepalive.ts
14
14
  init_oauth();
@@ -57,7 +57,7 @@ async function notifySlack(text) {
57
57
  return;
58
58
  }
59
59
  try {
60
- const { getSlackApp } = await import("./app-ctn8gsgx.js");
60
+ const { getSlackApp } = await import("./app-mwx1d5a9.js");
61
61
  const app = getSlackApp();
62
62
  if (!app) {
63
63
  console.warn("[OAuth Keepalive] Slack not available, cannot send notification");
@@ -0,0 +1,79 @@
1
+ import"./cli-qz93y3x5.js";
2
+ import {
3
+ getEnabledCapabilities
4
+ } from "./cli-6a9qfa8b.js";
5
+ import"./cli-48gxjmcz.js";
6
+ import"./cli-8wmj18cz.js";
7
+ import"./cli-rd5m70gj.js";
8
+ import"./cli-d20qvpr2.js";
9
+ import"./cli-60sty27p.js";
10
+ import"./cli-8mbc9za9.js";
11
+ import"./cli-kt907da6.js";
12
+ import"./cli-j0ppywdr.js";
13
+ import"./cli-j9bpmykh.js";
14
+ import"./cli-aypd09nf.js";
15
+ import"./cli-3ggwdtb0.js";
16
+ import"./cli-e8xyjvfc.js";
17
+ import"./cli-m30k9777.js";
18
+ import"./cli-s09j9vp5.js";
19
+ import"./cli-1m9x8dr5.js";
20
+ import"./cli-2nf3b08t.js";
21
+ import"./cli-kvzgak7c.js";
22
+ import"./cli-445c1vp7.js";
23
+ import"./cli-0z1xjzwa.js";
24
+ import"./cli-twctnkng.js";
25
+ import"./cli-wqr7cea4.js";
26
+ import"./cli-g9ypd5en.js";
27
+ import"./cli-6srv653c.js";
28
+ import"./cli-3h26v7yj.js";
29
+ import"./cli-737pyqxr.js";
30
+ import"./cli-07q03xm2.js";
31
+ import"./cli-c081bj3b.js";
32
+ import"./cli-77cd6gy8.js";
33
+ import"./cli-6mgdba42.js";
34
+ import {
35
+ runAgent
36
+ } from "./cli-j3y0x2n4.js";
37
+ import"./cli-vz78s5wm.js";
38
+ import"./cli-yvy48785.js";
39
+ import"./cli-sjctjr48.js";
40
+ import"./cli-jc1g9ndz.js";
41
+ import"./cli-kv7sbc2c.js";
42
+ import"./cli-54sj64fc.js";
43
+ import"./cli-c668vvcf.js";
44
+ import"./cli-d82btycs.js";
45
+ import"./cli-0726awxw.js";
46
+ import"./cli-yxbsmx56.js";
47
+ import"./cli-1hhbzkbb.js";
48
+ import"./cli-4bd1rck6.js";
49
+ import"./cli-vbhgkw9h.js";
50
+ import"./cli-rr7zx19j.js";
51
+ import"./cli-yd2nreqw.js";
52
+ import"./cli-kr5tjjtz.js";
53
+ import"./cli-ymjpkxgn.js";
54
+ import"./cli-h5jeg46p.js";
55
+ import"./cli-39rrw8yp.js";
56
+ import"./cli-gsfk58nw.js";
57
+ import"./cli-s0mgx214.js";
58
+ import"./cli-e1595bgx.js";
59
+ import"./cli-86ehn4s5.js";
60
+ import"./cli-f12mr20z.js";
61
+ import"./cli-4zsenjhy.js";
62
+ import"./cli-13p25grh.js";
63
+ import"./cli-0adyhvq2.js";
64
+ import"./cli-a89zdqz9.js";
65
+ import"./cli-rycdaj0a.js";
66
+
67
+ // src/commands/lead.ts
68
+ var leadConfig = {
69
+ role: "lead",
70
+ defaultPrompt: "/start-leader",
71
+ metadataType: "lead_metadata",
72
+ capabilities: getEnabledCapabilities()
73
+ };
74
+ async function runLead(opts) {
75
+ return runAgent(leadConfig, opts);
76
+ }
77
+ export {
78
+ runLead
79
+ };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  reembedAllScripts,
3
3
  init_embeddings
4
- } from "./cli-jb30dzvk.js";
4
+ } from "./cli-48gxjmcz.js";
5
5
 
6
6
  // src/be/scripts/maintenance.ts
7
7
  init_embeddings();
@@ -2,16 +2,21 @@ import {
2
2
  getAuthorizationById,
3
3
  listAuthorizationSweepRows,
4
4
  init_oauth
5
- } from "./cli-jb30dzvk.js";
5
+ } from "./cli-48gxjmcz.js";
6
6
  import {
7
7
  forceRefreshAuthorizationOrThrow
8
- } from "./cli-tsma7p8v.js";
8
+ } from "./cli-aypd09nf.js";
9
+ import {
10
+ isEnvFlagEnabled,
11
+ init_env_flag
12
+ } from "./cli-cebvbc9t.js";
9
13
  import {
10
14
  scrubSecrets,
11
15
  init_secret_scrubber
12
- } from "./cli-n4c8e3s5.js";
16
+ } from "./cli-708wdy32.js";
13
17
 
14
18
  // src/be/oauth-refresh-sweep.ts
19
+ init_env_flag();
15
20
  init_secret_scrubber();
16
21
  init_oauth();
17
22
  var EXPIRY_BUFFER_MS = 30 * 60 * 1000;
@@ -80,7 +85,7 @@ async function runSweepTick(trigger) {
80
85
  return inflightSweep;
81
86
  }
82
87
  function startOAuthRefreshSweep() {
83
- if (process.env.OAUTH_REFRESH_SWEEP_DISABLE === "true") {
88
+ if (isEnvFlagEnabled("OAUTH_REFRESH_SWEEP_DISABLE", false)) {
84
89
  console.log("[oauth-refresh-sweep] Disabled via OAUTH_REFRESH_SWEEP_DISABLE");
85
90
  return;
86
91
  }
@@ -16,7 +16,7 @@ import {
16
16
  createDefaultSettingsLocal,
17
17
  createDefaultMcpJson,
18
18
  createHooksConfig
19
- } from "./cli-s682zgqz.js";
19
+ } from "./cli-a6ds2epe.js";
20
20
  import {
21
21
  getSlackConfiguration,
22
22
  isSlackConfigured,
@@ -25,7 +25,7 @@ import {
25
25
  import {
26
26
  init_package,
27
27
  package_default
28
- } from "./cli-xtrz6bzs.js";
28
+ } from "./cli-ptfq202x.js";
29
29
  import {
30
30
  getApiKey,
31
31
  init_api_key
@@ -34,7 +34,7 @@ import {
34
34
  openAICompatibleProviders,
35
35
  providerKeyVars,
36
36
  init_src2
37
- } from "./cli-nwyw3zhg.js";
37
+ } from "./cli-gxee0bqa.js";
38
38
  import {
39
39
  __toESM
40
40
  } from "./cli-242037k3.js";
@@ -1182,9 +1182,9 @@ function generateCompose(state) {
1182
1182
  lines.push(` - "${port}:3000"`);
1183
1183
  lines.push("");
1184
1184
  lines.push(" volumes:");
1185
- lines.push(" - swarm_logs:/app/logs");
1186
- lines.push(" - swarm_shared:/app/shared");
1187
- lines.push(` - swarm_${svc.sanitizedName}:/app/agent`);
1185
+ lines.push(" - swarm_logs:/logs");
1186
+ lines.push(" - swarm_shared:/workspace/shared");
1187
+ lines.push(` - swarm_${svc.sanitizedName}:/workspace/personal`);
1188
1188
  if (state.provider === "bedrock" && state.awsProfile) {
1189
1189
  lines.push(engine === "podman" ? AWS_PROFILE_VOLUME_SELINUX : AWS_PROFILE_VOLUME);
1190
1190
  }
@@ -3,17 +3,17 @@ import {
3
3
  applyOpenRouterBaseUrlOverride2,
4
4
  buildOpenAICompatibleProviderBlock2,
5
5
  OpencodeAdapter2
6
- } from "./cli-hh5we352.js";
7
- import"./cli-c952c7ac.js";
6
+ } from "./cli-86ehn4s5.js";
7
+ import"./cli-e1595bgx.js";
8
8
  import"./cli-4bd1rck6.js";
9
9
  import"./cli-jc1g9ndz.js";
10
- import"./cli-mmhj8vd7.js";
10
+ import"./cli-c668vvcf.js";
11
11
  import"./cli-0726awxw.js";
12
- import"./cli-2655k16q.js";
13
- import"./cli-bn0rewsy.js";
12
+ import"./cli-sjctjr48.js";
13
+ import"./cli-c081bj3b.js";
14
14
  import"./cli-3h26v7yj.js";
15
- import"./cli-qqzmjxkf.js";
16
- import"./cli-kxpfx2xr.js";
15
+ import"./cli-1m9x8dr5.js";
16
+ import"./cli-0z1xjzwa.js";
17
17
  import"./cli-e8xyjvfc.js";
18
18
  import"./cli-13p25grh.js";
19
19
  import"./cli-0adyhvq2.js";
@@ -14,11 +14,11 @@ import {
14
14
  import {
15
15
  init_package,
16
16
  package_default
17
- } from "./cli-xtrz6bzs.js";
17
+ } from "./cli-ptfq202x.js";
18
18
  import {
19
19
  scrubSecrets,
20
20
  init_secret_scrubber
21
- } from "./cli-n4c8e3s5.js";
21
+ } from "./cli-708wdy32.js";
22
22
  import {
23
23
  __toESM,
24
24
  __commonJS,
@@ -13,17 +13,17 @@ import {
13
13
  createCodemodeExtension,
14
14
  createMcpExtension,
15
15
  createToolSearchExtension
16
- } from "./cli-x77gen2p.js";
16
+ } from "./cli-2y7v133v.js";
17
17
  import {
18
18
  Unsafe,
19
19
  getBuiltinModel,
20
20
  getBuiltinModels
21
- } from "./cli-qqzmjxkf.js";
21
+ } from "./cli-1m9x8dr5.js";
22
22
  import"./cli-kvzgak7c.js";
23
23
  import {
24
24
  contextBoundNoteThreshold,
25
25
  createContextBoundNote
26
- } from "./cli-2655k16q.js";
26
+ } from "./cli-sjctjr48.js";
27
27
  import {
28
28
  swarmRuntimeInstanceId
29
29
  } from "./cli-e8xyjvfc.js";
@@ -34,12 +34,12 @@ import"./cli-3h26v7yj.js";
34
34
  import"./cli-0726awxw.js";
35
35
  import {
36
36
  createSwarmHooksExtension
37
- } from "./cli-c952c7ac.js";
38
- import"./cli-kxpfx2xr.js";
39
- import"./cli-mmhj8vd7.js";
37
+ } from "./cli-e1595bgx.js";
38
+ import"./cli-0z1xjzwa.js";
39
+ import"./cli-c668vvcf.js";
40
40
  import {
41
41
  applyReasoningEffort
42
- } from "./cli-bn0rewsy.js";
42
+ } from "./cli-c081bj3b.js";
43
43
  import {
44
44
  piPromptSkillName
45
45
  } from "./cli-77cd6gy8.js";
@@ -58,7 +58,7 @@ import {
58
58
  } from "./cli-2dfbv8qr.js";
59
59
  import {
60
60
  init_templates3
61
- } from "./cli-j6rktc91.js";
61
+ } from "./cli-v6shg7na.js";
62
62
  import {
63
63
  DEFAULT_OPENROUTER_BASE_URL,
64
64
  getOpenRouterBaseUrl,
@@ -67,11 +67,11 @@ import {
67
67
  import {
68
68
  resolveTemplateAsync,
69
69
  init_resolver
70
- } from "./cli-dqygeeh5.js";
70
+ } from "./cli-f1e0ptjj.js";
71
71
  import {
72
72
  snapshotCatalogRows,
73
73
  init_runtime_model_catalog
74
- } from "./cli-6x9ma5w5.js";
74
+ } from "./cli-803188pb.js";
75
75
  import {
76
76
  parseEnvFlag,
77
77
  init_env_flag
@@ -81,7 +81,7 @@ import {
81
81
  scrubObject,
82
82
  registerEnvSecrets,
83
83
  init_secret_scrubber
84
- } from "./cli-n4c8e3s5.js";
84
+ } from "./cli-708wdy32.js";
85
85
  import {
86
86
  openAICompatibleProviders,
87
87
  providerKeyVars,
@@ -93,7 +93,7 @@ import {
93
93
  providerKeyFromEnv,
94
94
  providerHarnessModels,
95
95
  init_src2
96
- } from "./cli-nwyw3zhg.js";
96
+ } from "./cli-gxee0bqa.js";
97
97
  import {
98
98
  __toESM
99
99
  } from "./cli-242037k3.js";
@@ -317,7 +317,7 @@ function jsonSchemaToTypeBox(schema) {
317
317
  }
318
318
  var SWARM_TOOL_NAMESPACE = { name: "agent-swarm" };
319
319
  function isPiToolDeferralEnabled(env = process.env) {
320
- return parseEnvFlag(env.PI_TOOL_DEFERRAL, false);
320
+ return parseEnvFlag(env.PI_TOOL_DEFERRAL, true);
321
321
  }
322
322
  function isPiCodemodeEnabled(env = process.env) {
323
323
  return parseEnvFlag(env.PI_CODEMODE, false);
@@ -597,6 +597,23 @@ function requestContextTokens(message) {
597
597
  const cacheWrite = typeof usage.cacheWrite === "number" ? usage.cacheWrite : 0;
598
598
  return usage.input + cacheRead + cacheWrite;
599
599
  }
600
+ function callUsageLine(message) {
601
+ const usage = message?.usage;
602
+ if (typeof usage?.input !== "number")
603
+ return;
604
+ const count = (value) => typeof value === "number" && Number.isFinite(value) ? value : 0;
605
+ return JSON.stringify({
606
+ type: "call_usage",
607
+ harness: "pi",
608
+ usage: {
609
+ input: count(usage.input),
610
+ cacheRead: count(usage.cacheRead),
611
+ cacheWrite: count(usage.cacheWrite),
612
+ output: count(usage.output),
613
+ reasoning: count(usage.reasoning)
614
+ }
615
+ });
616
+ }
600
617
  function describeAssistantTurn(message) {
601
618
  const msg = message ?? {};
602
619
  const blocks = Array.isArray(msg.content) ? msg.content : [];
@@ -705,6 +722,9 @@ class PiMonoSession {
705
722
  if (endMsg.role === "assistant") {
706
723
  const turn = describeAssistantTurn(event.message);
707
724
  this.lastAssistantTurn = turn;
725
+ const usageLine = callUsageLine(event.message);
726
+ if (usageLine)
727
+ this.emit({ type: "raw_log", content: usageLine });
708
728
  if (endMsg.stopReason === "error") {
709
729
  this.terminalError = endMsg.errorMessage ?? this.terminalError ?? "Unknown error";
710
730
  break;
@@ -1114,7 +1134,8 @@ function escapeValues(values) {
1114
1134
  }
1115
1135
  return out;
1116
1136
  }
1117
- function toPiMcpServers(installed) {
1137
+ function toPiMcpServers(installed, options = {}) {
1138
+ const exposure = options.deferred ? "deferred" : "direct";
1118
1139
  const servers = {};
1119
1140
  for (const [name, entry] of Object.entries(installed ?? {})) {
1120
1141
  if (typeof entry.command === "string") {
@@ -1123,14 +1144,14 @@ function toPiMcpServers(installed) {
1123
1144
  command: entry.command,
1124
1145
  args: Array.isArray(entry.args) ? entry.args.map(String) : [],
1125
1146
  env: escapeValues(entry.env),
1126
- exposure: "direct"
1147
+ exposure
1127
1148
  };
1128
1149
  } else if (typeof entry.url === "string") {
1129
1150
  servers[name] = {
1130
1151
  type: "http",
1131
1152
  url: entry.url,
1132
1153
  headers: escapeValues(entry.headers),
1133
- exposure: "direct"
1154
+ exposure
1134
1155
  };
1135
1156
  }
1136
1157
  }
@@ -1227,7 +1248,7 @@ class PiMonoAdapter {
1227
1248
  }
1228
1249
  }
1229
1250
  const installedMcpServers = config.apiUrl && config.apiKey && config.agentId ? await fetchInstalledMcpServers(config.apiUrl, config.apiKey, config.agentId, "claude") : null;
1230
- const piMcpServers = toPiMcpServers(installedMcpServers);
1251
+ const piMcpServers = toPiMcpServers(installedMcpServers, { deferred: deferTools });
1231
1252
  if (Object.keys(piMcpServers).length > 0) {
1232
1253
  console.log(`\x1B[2m[${config.role}]\x1B[0m Registering ${Object.keys(piMcpServers).length} installed MCP server(s) with pi`);
1233
1254
  }
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  requestModelCatalogRefresh2,
3
3
  startPricingRefreshLoop2
4
- } from "./cli-bvpgr9ny.js";
5
- import"./cli-sbwsxvtd.js";
6
- import"./cli-jb30dzvk.js";
4
+ } from "./cli-60sty27p.js";
5
+ import"./cli-d20qvpr2.js";
6
+ import"./cli-48gxjmcz.js";
7
7
  export {
8
8
  requestModelCatalogRefresh2 as requestModelCatalogRefresh,
9
9
  startPricingRefreshLoop2 as startPricingRefreshLoop
@@ -9,8 +9,8 @@ import {
9
9
  setUserRoles2,
10
10
  ensureRbacSeedsSynced2,
11
11
  init_rbac_roles
12
- } from "./cli-ff1tm9n9.js";
13
- import"./cli-jb30dzvk.js";
12
+ } from "./cli-8wmj18cz.js";
13
+ import"./cli-48gxjmcz.js";
14
14
  init_rbac_roles();
15
15
 
16
16
  export {
@@ -3,7 +3,7 @@ import {
3
3
  getDbClient2,
4
4
  init_telemetry_identity,
5
5
  init_db3
6
- } from "./cli-jb30dzvk.js";
6
+ } from "./cli-48gxjmcz.js";
7
7
  import {
8
8
  PermissionVerbSchema,
9
9
  init_rbac
@@ -0,0 +1,16 @@
1
+ import {
2
+ isSlackRenderV2Enabled2,
3
+ callSlackWithRetry2,
4
+ ensureSlackThreadTree2,
5
+ slackErrorCode2,
6
+ processSlackRenderV22
7
+ } from "./cli-m30k9777.js";
8
+ import"./cli-s09j9vp5.js";
9
+ import"./cli-48gxjmcz.js";
10
+ export {
11
+ callSlackWithRetry2 as callSlackWithRetry,
12
+ ensureSlackThreadTree2 as ensureSlackThreadTree,
13
+ isSlackRenderV2Enabled2 as isSlackRenderV2Enabled,
14
+ processSlackRenderV22 as processSlackRenderV2,
15
+ slackErrorCode2 as slackErrorCode
16
+ };
@@ -10,22 +10,22 @@ import {
10
10
  resumeFromChildRun2,
11
11
  initWaitBusSubscriptions2,
12
12
  subscribeWaitToBus2
13
- } from "./cli-x0f2v69c.js";
14
- import"./cli-gbfxp48k.js";
15
- import"./cli-qqzmjxkf.js";
16
- import"./cli-kxpfx2xr.js";
13
+ } from "./cli-twctnkng.js";
14
+ import"./cli-j0ppywdr.js";
15
+ import"./cli-1m9x8dr5.js";
16
+ import"./cli-0z1xjzwa.js";
17
17
  import"./cli-e8xyjvfc.js";
18
18
  import"./cli-13p25grh.js";
19
19
  import"./cli-0adyhvq2.js";
20
- import"./cli-abs8ndtr.js";
21
- import"./cli-eftzyh9y.js";
22
- import"./cli-6a1xg1p7.js";
20
+ import"./cli-m30k9777.js";
21
+ import"./cli-s09j9vp5.js";
22
+ import"./cli-a89zdqz9.js";
23
23
  import"./cli-rycdaj0a.js";
24
24
  import"./cli-445c1vp7.js";
25
25
  import"./cli-kvzgak7c.js";
26
26
  import"./cli-2nf3b08t.js";
27
- import"./cli-jb30dzvk.js";
28
- import"./cli-dabehxhp.js";
27
+ import"./cli-48gxjmcz.js";
28
+ import"./cli-kt907da6.js";
29
29
  export {
30
30
  cancelWorkflowRun2 as cancelWorkflowRun,
31
31
  cancelWorkflowRunRows2 as cancelWorkflowRunRows,
@@ -5,7 +5,7 @@ import {
5
5
  McpServerLog2,
6
6
  createDefaultTransport2,
7
7
  McpServerConnection2
8
- } from "./cli-cz5nmdxt.js";
8
+ } from "./cli-m5e802r7.js";
9
9
  export {
10
10
  McpOAuthCredentialStore2 as McpOAuthCredentialStore,
11
11
  McpServerConnection2 as McpServerConnection,