@desplega.ai/agent-swarm 1.165.0 → 1.167.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 (296) hide show
  1. package/dist/acp-adapter-zpvy6321.js +34 -0
  2. package/dist/{actions-jna0b3wm.js → actions-fq2zrwtf.js} +30 -34
  3. package/dist/{amp-adapter-0eve81pz.js → amp-adapter-5gbk7501.js} +7 -7
  4. package/dist/{anthropic-messages-hst62ws9.js → anthropic-messages-13yn502s.js} +4 -4
  5. package/dist/{app-75hm5cfa.js → app-nctetn1e.js} +11 -11
  6. package/dist/{assistant-yzd51j33.js → assistant-0aq8gjvj.js} +31 -35
  7. package/dist/{azure-openai-responses-mh8tvf78.js → azure-openai-responses-9st34pfz.js} +5 -5
  8. package/dist/{boot-reembed-z158xq32.js → boot-reembed-1ze5853n.js} +14 -16
  9. package/dist/{boot-reembed-2ex2mcsh.js → boot-reembed-fmp5ww69.js} +15 -16
  10. package/dist/boot-scrub-sweep-cbp8xd4e.js +212 -0
  11. package/dist/{boot-seeds-2bmnh18p.js → boot-seeds-22tx8a53.js} +13 -12
  12. package/dist/{claude-adapter-jbj1mycz.js → claude-adapter-0jhgeh1d.js} +25 -25
  13. package/dist/{claude-managed-adapter-17ggz09t.js → claude-managed-adapter-tzwxy803.js} +5 -5
  14. package/dist/{claude-managed-setup-ptm1nzm2.js → claude-managed-setup-nrhfx5b0.js} +5 -5
  15. package/dist/{claude-sdk-session-9re1g7r2.js → claude-sdk-session-wh77rh83.js} +2632 -2614
  16. package/dist/{cli-zsh093hk.js → cli-014vns2y.js} +63 -1
  17. package/dist/{cli-qvfk83fy.js → cli-13xwcqvj.js} +2 -2
  18. package/dist/{cli-8gpbwy09.js → cli-1yrcfa5s.js} +5 -5
  19. package/dist/{cli-xtgtyafv.js → cli-577bxkf6.js} +212 -451
  20. package/dist/{cli-ma3zvh39.js → cli-5qkcdv8c.js} +6118 -5874
  21. package/dist/{cli-cwxhbf43.js → cli-5t5my0h8.js} +85 -2
  22. package/dist/{cli-zvckv750.js → cli-69egj654.js} +2 -2
  23. package/dist/{cli-9xb89xca.js → cli-6bpvv8h4.js} +9 -9
  24. package/dist/{cli-90v942q1.js → cli-6qxmjpem.js} +8 -8
  25. package/dist/{cli-9866bd07.js → cli-6vfz44sr.js} +1 -1
  26. package/dist/{cli-32bca7nr.js → cli-7avy4v8w.js} +1 -1
  27. package/dist/{cli-xb3c6aat.js → cli-7mhy3ths.js} +21 -18
  28. package/dist/{cli-q38n4bq0.js → cli-95zs84qw.js} +3 -3
  29. package/dist/cli-a35hzdve.js +33 -0
  30. package/dist/{cli-x3x0qwky.js → cli-bxqez1p0.js} +51 -23
  31. package/dist/{cli-prt9emct.js → cli-c2tpw9ck.js} +3 -3
  32. package/dist/{cli-0n4fasz0.js → cli-c8r99akr.js} +16 -16
  33. package/dist/{cli-5anb0ev3.js → cli-cexctgn5.js} +89 -26
  34. package/dist/{cli-bns5c8k9.js → cli-cf2vgn9d.js} +105 -91
  35. package/dist/{cli-ng97fjq7.js → cli-cmxkbzzs.js} +33 -7
  36. package/dist/{cli-nexwh8zg.js → cli-g7k7zbcz.js} +12 -5
  37. package/dist/{cli-mmzwwptd.js → cli-hf5s9pgf.js} +1 -1
  38. package/dist/{cli-nvvfd8bq.js → cli-jbzbr36n.js} +4091 -3793
  39. package/dist/{cli-zn2v3t8v.js → cli-jvmtxqtc.js} +27 -15
  40. package/dist/{cli-pkke6geq.js → cli-km4x66j0.js} +83 -65
  41. package/dist/cli-kw0jcfje.js +516 -0
  42. package/dist/{cli-28smfvbn.js → cli-m7vmeepg.js} +32 -19
  43. package/dist/{cli-hpryr6em.js → cli-mb75wpxf.js} +1 -1
  44. package/dist/{cli-qdv8kgz7.js → cli-mkdsy1nq.js} +14018 -3333
  45. package/dist/{cli-b0f70z24.js → cli-mn8qkd8v.js} +1 -1
  46. package/dist/{cli-420bdgw0.js → cli-mv2520nm.js} +1 -1
  47. package/dist/{cli-n9ehc28t.js → cli-mxry91sa.js} +31 -10
  48. package/dist/{cli-wfajtmf7.js → cli-mxvnnv5q.js} +596 -13
  49. package/dist/cli-nkqjj42q.js +104 -0
  50. package/dist/{cli-e7t4snpa.js → cli-p8rt8spp.js} +5 -5
  51. package/dist/{cli-gh5yqzpe.js → cli-pkj1w46r.js} +12 -7
  52. package/dist/cli-q1vnz8wv.js +96 -0
  53. package/dist/{cli-fj86xr3c.js → cli-qd97v6z2.js} +2 -2
  54. package/dist/{cli-ba66wyhy.js → cli-qzmzwegq.js} +60 -20
  55. package/dist/{cli-5b2fjjzh.js → cli-r7eeddkq.js} +14 -9
  56. package/dist/{cli-8ssjez7e.js → cli-rhy7z1rp.js} +22 -11
  57. package/dist/{cli-4mevd1hf.js → cli-s9y81s7j.js} +5 -5
  58. package/dist/{cli-59jn5twa.js → cli-tc5zec7v.js} +7 -7
  59. package/dist/{cli-ttbsse3f.js → cli-tmhsxhb8.js} +1 -1
  60. package/dist/{cli-k6xx3pve.js → cli-tx2zvn23.js} +4 -4
  61. package/dist/{cli-pjxnr1jn.js → cli-ty4bzkqr.js} +5 -5
  62. package/dist/{cli-nfygw434.js → cli-v1pwxreq.js} +55 -52
  63. package/dist/{cli-ftry7975.js → cli-v1w7pbd8.js} +3 -2
  64. package/dist/{cli-10zmp1p7.js → cli-vr5avem2.js} +27 -32
  65. package/dist/{cli-bzr0ftht.js → cli-wnb9b2g3.js} +19 -0
  66. package/dist/cli-wt7ccy4r.js +2654 -0
  67. package/dist/{cli-50eg13rj.js → cli-wydz3feg.js} +549 -321
  68. package/dist/{cli-krqm5f11.js → cli-xezn9nkh.js} +16 -13
  69. package/dist/{cli-8kt0bmgx.js → cli-xf713zz0.js} +2 -2
  70. package/dist/{cli-x7afk5wm.js → cli-xvc3q9br.js} +1 -1
  71. package/dist/{cli-9s3h836g.js → cli-xvdgasgy.js} +1 -1
  72. package/dist/{cli-j0pdrmwg.js → cli-y0kjpfm9.js} +3 -3
  73. package/dist/{cli-6zcfw0x7.js → cli-y195hv1a.js} +1 -1
  74. package/dist/{cli-amwhs8h2.js → cli-ykt8f7va.js} +22 -9
  75. package/dist/{cli-1kzfvd1z.js → cli-ymmc1zxg.js} +15 -11
  76. package/dist/{cli-xnzrzets.js → cli-ypgba1a8.js} +2 -2
  77. package/dist/{cli-bdv39kgj.js → cli-z1dqhc9y.js} +31 -20
  78. package/dist/{cli-fw6vdcq5.js → cli-zp67qg5x.js} +34 -1
  79. package/dist/{cli-qbksc292.js → cli-zy39d433.js} +2 -0
  80. package/dist/cli.js +36 -32
  81. package/dist/{cloudflare-workers-ai-system-one-tt484t61.js → cloudflare-workers-ai-system-one-sta45jf9.js} +7 -5
  82. package/dist/{codex-adapter-3qnxshje.js → codex-adapter-cgesnjkr.js} +20 -20
  83. package/dist/{codex-login-brkxhhdg.js → codex-login-g1cyt5zm.js} +2 -2
  84. package/dist/{codex-session-runner-612wnapp.js → codex-session-runner-8kd7ddhr.js} +20 -20
  85. package/dist/{commands-2ybfcxkj.js → commands-h6zaaxym.js} +11 -10
  86. package/dist/{cursor-adapter-p3jgdehv.js → cursor-adapter-v8mm6bp5.js} +7 -7
  87. package/dist/{db-f4ans0jj.js → db-qg3myn53.js} +13 -10
  88. package/dist/{devin-adapter-dhzt01ff.js → devin-adapter-bffjj5n4.js} +2 -2
  89. package/dist/{dispatcher-pk182apd.js → dispatcher-7vnwj9qw.js} +28 -32
  90. package/dist/{dsh-adapter-7twaeps1.js → dsh-adapter-tz6hfp5r.js} +7 -7
  91. package/dist/{e2b-y8t3jzyz.js → e2b-nd50eccg.js} +1 -1
  92. package/dist/{easter-egg-3d-mtpnw06s.js → easter-egg-3d-66zxervv.js} +2 -2
  93. package/dist/{event-bus-w7ac4n3c.js → event-bus-vnfthafg.js} +2 -2
  94. package/dist/{execute-s4ccjq3n.js → execute-h4jgevyw.js} +61 -11
  95. package/dist/{google-generative-ai-d6nphg3q.js → google-generative-ai-b8zxrpax.js} +5 -5
  96. package/dist/{google-vertex-cpshkref.js → google-vertex-nrdd697t.js} +5 -5
  97. package/dist/grok-adapter-jdt2dz2s.js +39 -0
  98. package/dist/{handlers-g2wnr4t9.js → handlers-2qtkpncr.js} +31 -35
  99. package/dist/{hook-f7jt9vnm.js → hook-51yfcgsv.js} +48 -39
  100. package/dist/{hook-bbdpnkb4.js → hook-qnbdgwvd.js} +15 -17
  101. package/dist/{http-w40q4w94.js → http-jsmtag08.js} +536 -231
  102. package/dist/{index-056j5kzn.js → index-2t9kesn1.js} +13 -12
  103. package/dist/{index-cj1r9q83.js → index-bt8wkv1w.js} +29 -33
  104. package/dist/{index-7n70jwbb.js → index-cx1sb9bq.js} +42 -35
  105. package/dist/{index-9bfssf54.js → index-ekywyv2v.js} +28 -32
  106. package/dist/{index-fdk1t4d6.js → index-n0rxa4ca.js} +11962 -9900
  107. package/dist/{index-k8xc083e.js → index-t4g06w93.js} +28 -32
  108. package/dist/{keepalive-1tj10tf4.js → keepalive-4aezx4bj.js} +16 -12
  109. package/dist/{lead-st0bg7v4.js → lead-r44bkpm5.js} +52 -56
  110. package/dist/{llama-cpp-classify-tgj35k8d.js → llama-cpp-classify-6erb7wwv.js} +3 -1
  111. package/dist/{maintenance-nz71zats.js → maintenance-grz5jrzh.js} +12 -13
  112. package/dist/{mistral-conversations-8445ddjn.js → mistral-conversations-059y51zt.js} +4 -4
  113. package/dist/{node-f0ykebbv.js → node-qm9eb6z0.js} +25 -7
  114. package/dist/{oauth-refresh-sweep-aefzwvvq.js → oauth-refresh-sweep-wm4ctjfj.js} +15 -11
  115. package/dist/{onboard-kgpr9mbn.js → onboard-v60zgqf0.js} +2 -2
  116. package/dist/{openai-codex-responses-9ynm88zy.js → openai-codex-responses-jzxkta9b.js} +8 -7
  117. package/dist/{openai-completions-nhqwjmaw.js → openai-completions-663yncfq.js} +4 -4
  118. package/dist/openai-decisions-vj9nkpf8.js +162 -0
  119. package/dist/{openai-responses-xx1c4kgm.js → openai-responses-m3g43rrt.js} +5 -5
  120. package/dist/{opencode-adapter-0c8e70dk.js → opencode-adapter-yjyqynzf.js} +8 -8
  121. package/dist/{openrouter-images-8yx3487g.js → openrouter-images-kr60n6b9.js} +1 -1
  122. package/dist/{otel-impl-x8zp4y5a.js → otel-impl-ghh4dyf8.js} +2 -2
  123. package/dist/{pi-messages-vxdt8v7j.js → pi-messages-xszk613n.js} +1 -1
  124. package/dist/{pi-mono-adapter-t280ah5c.js → pi-mono-adapter-0eg8kw2c.js} +69 -52
  125. package/dist/{pricing-refresh-9e0q7cwk.js → pricing-refresh-mjrqvnvw.js} +12 -11
  126. package/dist/{rbac-roles-790j3ga8.js → rbac-roles-axv4d74x.js} +11 -10
  127. package/dist/{rbac-roles-kcp6zge2.js → rbac-roles-fd5tskj9.js} +11 -10
  128. package/dist/{render-v2-tch4nefj.js → render-v2-k50j33qd.js} +11 -11
  129. package/dist/{runtime-v2t1r79e.js → runtime-h9ha1mq6.js} +4 -4
  130. package/dist/{setup-rcm303ns.js → setup-4syh0pd2.js} +2 -2
  131. package/dist/{typesafe-system-one-datfr82p.js → typesafe-system-one-e988vty7.js} +7 -5
  132. package/dist/{virtual-modules-wm8mxdxx.js → virtual-modules-ftr9kwe8.js} +11 -11
  133. package/dist/{work-objects-ctg7t70w.js → work-objects-jcdbg8rr.js} +32 -36
  134. package/dist/{worker-5dp0xm55.js → worker-x8j8c9sx.js} +52 -56
  135. package/dist/{x-v3yw66zs.js → x-ma4gnfgy.js} +2 -2
  136. package/openapi.json +5 -2
  137. package/package.json +15 -11
  138. package/src/be/automation-preflight.ts +9 -4
  139. package/src/be/boot-scrub-sweep.ts +302 -0
  140. package/src/be/crypto/key-bootstrap.ts +1 -1
  141. package/src/be/db/approvals.ts +15 -1
  142. package/src/be/db/codex-oauth-device-flows.ts +40 -0
  143. package/src/be/db/config-secrets.ts +31 -0
  144. package/src/be/db/runtime.ts +4 -0
  145. package/src/be/db/script-runs.ts +15 -0
  146. package/src/be/db/tasks/write.ts +1 -1
  147. package/src/be/db-queries/mcp-oauth.ts +5 -0
  148. package/src/be/db-queries/oauth.ts +77 -0
  149. package/src/be/db.ts +162 -59
  150. package/src/be/events.ts +17 -1
  151. package/src/be/memory/index-content.ts +2 -2
  152. package/src/be/memory/providers/openai-embedding.ts +7 -2
  153. package/src/be/memory/providers/sqlite-store.ts +63 -11
  154. package/src/be/memory/raters/llm-summarizer.ts +7 -2
  155. package/src/be/memory/types.ts +14 -0
  156. package/src/be/migrations/201_workflow_replay_columns.sql +10 -0
  157. package/src/be/migrations/202_codex_oauth_device_flows.sql +24 -0
  158. package/src/be/modelsdev-cache.json +61 -0
  159. package/src/be/scripts/db.ts +28 -4
  160. package/src/be/scripts/source-secrets.ts +37 -0
  161. package/src/be/scrub-json.ts +32 -0
  162. package/src/be/sealed-json.ts +59 -0
  163. package/src/be/secret-registry.ts +131 -0
  164. package/src/be/seed-pricing.ts +84 -53
  165. package/src/be/swarm-config-guard.ts +13 -0
  166. package/src/be/workflow-replay.ts +77 -0
  167. package/src/commands/provider-credentials.ts +28 -5
  168. package/src/commands/runner.ts +7 -12
  169. package/src/heartbeat/heartbeat.ts +91 -19
  170. package/src/hooks/hook.ts +72 -27
  171. package/src/http/codex-oauth-device.ts +8 -10
  172. package/src/http/db-query-bounded.ts +3 -0
  173. package/src/http/db-query-shared.ts +107 -15
  174. package/src/http/db-query.ts +10 -2
  175. package/src/http/index.ts +23 -6
  176. package/src/http/mcp.ts +5 -0
  177. package/src/http/onboarding.ts +2 -0
  178. package/src/http/script-runs.ts +9 -1
  179. package/src/http/scripts.ts +15 -0
  180. package/src/http/workflows.ts +3 -2
  181. package/src/oauth/mcp-wrapper.ts +1 -1
  182. package/src/providers/acp-adapter.ts +25 -11
  183. package/src/providers/acp-target-catalog.ts +35 -1
  184. package/src/providers/acp-targets.ts +78 -7
  185. package/src/providers/amp-adapter.ts +1 -1
  186. package/src/providers/claude-adapter.ts +26 -0
  187. package/src/providers/codex-adapter.ts +30 -3
  188. package/src/providers/codex-oauth/auth-json.ts +21 -4
  189. package/src/providers/codex-oauth/types.ts +2 -0
  190. package/src/providers/cursor-adapter.ts +1 -1
  191. package/src/providers/dsh-adapter.ts +10 -1
  192. package/src/providers/grok-adapter.ts +18 -2
  193. package/src/providers/opencode-adapter.ts +21 -5
  194. package/src/providers/pi-mono-extension.ts +56 -25
  195. package/src/providers/pricing-sources.md +2 -0
  196. package/src/script-workflows/supervisor.ts +11 -2
  197. package/src/scripts-runtime/eval-harness.ts +2 -12
  198. package/src/scripts-runtime/executors/quickjs-bundle.ts +152 -0
  199. package/src/scripts-runtime/executors/quickjs-prelude.ts +285 -0
  200. package/src/scripts-runtime/executors/quickjs-runner.ts +580 -0
  201. package/src/scripts-runtime/executors/quickjs-worker.ts +81 -0
  202. package/src/scripts-runtime/executors/quickjs.ts +196 -0
  203. package/src/scripts-runtime/executors/registry.ts +2 -0
  204. package/src/scripts-runtime/executors/sourcemap.ts +79 -0
  205. package/src/scripts-runtime/script-error-hints.ts +14 -0
  206. package/src/server.ts +66 -4
  207. package/src/tests/acp-adapter.test.ts +277 -12
  208. package/src/tests/boot-scrub-sweep.test.ts +390 -0
  209. package/src/tests/check-text-columns.test.ts +145 -0
  210. package/src/tests/ci-unit-test-report.test.ts +73 -0
  211. package/src/tests/claude-default-route.test.ts +75 -0
  212. package/src/tests/claude-hook-output.test.ts +233 -0
  213. package/src/tests/claude-sdk-process.fixture.ts +13 -2
  214. package/src/tests/codex-adapter-pool-auth-revalidate.test.ts +4 -2
  215. package/src/tests/codex-adapter.test.ts +166 -26
  216. package/src/tests/codex-oauth-auth-timestamps.test.ts +76 -0
  217. package/src/tests/codex-oauth-device.test.ts +23 -37
  218. package/src/tests/codex-oauth.test.ts +4 -1
  219. package/src/tests/context-window.test.ts +2 -2
  220. package/src/tests/credential-check.test.ts +51 -1
  221. package/src/tests/db-query-denylist.test.ts +202 -0
  222. package/src/tests/db-task-read-contract.test.ts +1 -0
  223. package/src/tests/db-task-write-contract.test.ts +1 -0
  224. package/src/tests/dsh-adapter.test.ts +23 -1
  225. package/src/tests/enabled-tools.test.ts +269 -0
  226. package/src/tests/entrypoint-acp-target-binary.test.ts +31 -1
  227. package/src/tests/entrypoint-codex-oauth-seed.test.ts +12 -0
  228. package/src/tests/events-scrub.test.ts +88 -0
  229. package/src/tests/fixtures/secret-corpus.ts +320 -0
  230. package/src/tests/grok-adapter.test.ts +13 -0
  231. package/src/tests/haiku-5-5-pricing.test.ts +38 -0
  232. package/src/tests/heartbeat-checklist.test.ts +158 -1
  233. package/src/tests/onboarding.test.ts +44 -0
  234. package/src/tests/opencode-adapter.test.ts +66 -3
  235. package/src/tests/opencode-plugin.test.ts +37 -0
  236. package/src/tests/openrouter-attribution-call-sites.test.ts +204 -0
  237. package/src/tests/openrouter-base-url.test.ts +30 -39
  238. package/src/tests/pi-mono-extension.test.ts +161 -2
  239. package/src/tests/pricing-refresh.test.ts +70 -1
  240. package/src/tests/reasoning-effort.test.ts +3 -1
  241. package/src/tests/script-connections.test.ts +5 -0
  242. package/src/tests/script-executor-conformance.test.ts +3 -0
  243. package/src/tests/script-executor-quickjs.test.ts +442 -0
  244. package/src/tests/script-executor-registry.test.ts +6 -1
  245. package/src/tests/script-runs-http.test.ts +88 -1
  246. package/src/tests/script-runs-scrub.test.ts +275 -0
  247. package/src/tests/scripts-http.test.ts +82 -1
  248. package/src/tests/scrubbed-text-12e.test.ts +289 -0
  249. package/src/tests/sealed-key-guard.test.ts +166 -0
  250. package/src/tests/secret-canary-sweep.test.ts +958 -0
  251. package/src/tests/secret-registry.test.ts +355 -0
  252. package/src/tests/secret-rules.test.ts +230 -0
  253. package/src/tests/secret-scrubber.test.ts +3 -2
  254. package/src/tests/telemetry-trigger.test.ts +12 -1
  255. package/src/tests/workflow-llm.test.ts +14 -0
  256. package/src/tests/workflow-replay.test.ts +518 -0
  257. package/src/tests/workflow-scrub.test.ts +242 -0
  258. package/src/tests/workflow-system-one-decision-providers.test.ts +33 -0
  259. package/src/tools/db-query.ts +1 -1
  260. package/src/tools/inject-learning.ts +1 -1
  261. package/src/tools/request-human-input.ts +7 -2
  262. package/src/tools/workflows/get-workflow-run.ts +3 -2
  263. package/src/types.ts +1 -1
  264. package/src/utils/enabled-tools.ts +27 -0
  265. package/src/utils/internal-ai/complete-structured.ts +11 -3
  266. package/src/utils/openrouter-base-url.ts +23 -0
  267. package/src/utils/secret-rules.generated.ts +2055 -0
  268. package/src/utils/secret-scrubber.ts +363 -29
  269. package/src/workflows/engine.ts +39 -4
  270. package/src/workflows/executors/raw-llm.ts +1 -0
  271. package/src/workflows/executors/system-one-decision.ts +2 -0
  272. package/src/workflows/executors/validate.ts +1 -0
  273. package/src/workflows/executors/workflow-llm.ts +9 -2
  274. package/src/workflows/recovery.ts +10 -1
  275. package/src/workflows/resume.ts +62 -3
  276. package/src/workflows/retry-poller.ts +3 -0
  277. package/templates/skills/agent-browser/SKILL.md +2 -0
  278. package/templates/skills/agent-browser/content.md +2 -0
  279. package/templates/skills/code-quality/content.md +1 -0
  280. package/templates/skills/heartbeat-runbook/content.md +1 -1
  281. package/templates/skills/work-on-task/SKILL.md +4 -0
  282. package/templates/skills/work-on-task/content.md +4 -0
  283. package/templates/skills/workflow-iterate/content.md +9 -0
  284. package/dist/acp-adapter-w6zws6me.js +0 -23
  285. package/dist/boot-scrub-logs-246yn076.js +0 -99
  286. package/dist/cli-3a4m1aws.js +0 -572
  287. package/dist/cli-3dpj7atn.js +0 -11
  288. package/dist/cli-a87b04k8.js +0 -951
  289. package/dist/cli-cvk6yzw5.js +0 -40
  290. package/dist/cli-gvcgmx69.js +0 -183
  291. package/dist/cli-h1spv8v4.js +0 -427
  292. package/dist/cli-jqt9hrnz.js +0 -168
  293. package/dist/cli-yhmwmv0g.js +0 -9281
  294. package/dist/grok-adapter-yt9pab3k.js +0 -29
  295. package/src/be/boot-scrub-logs.ts +0 -132
  296. package/dist/{codex-hook-d2rkvf39.js → codex-hook-15dgc4cb.js} +1 -1
@@ -16,34 +16,34 @@ import {
16
16
  slackErrorSummary,
17
17
  streamOutcomeCard,
18
18
  withStatusLead
19
- } from "./cli-0n4fasz0.js";
19
+ } from "./cli-c8r99akr.js";
20
20
  import"./cli-q51yprfq.js";
21
21
  import"./cli-3er6gcsn.js";
22
- import"./cli-cvk6yzw5.js";
23
22
  import"./cli-yatxqynm.js";
24
23
  import"./cli-bd957dgb.js";
25
24
  import"./cli-pzxba7gw.js";
26
- import"./cli-qdv8kgz7.js";
27
- import"./cli-9s3h836g.js";
25
+ import"./cli-mkdsy1nq.js";
28
26
  import"./cli-3qhyh31j.js";
29
- import"./cli-3a4m1aws.js";
27
+ import"./cli-xvdgasgy.js";
28
+ import"./cli-mxvnnv5q.js";
30
29
  import"./cli-7mm2r1kp.js";
31
30
  import"./cli-g5erf0zt.js";
32
31
  import"./cli-dmtrxqhg.js";
33
- import"./cli-tadfgd0t.js";
34
- import"./cli-ywybs5as.js";
35
- import"./cli-gd4favx9.js";
36
32
  import"./cli-agamgm0p.js";
37
33
  import"./cli-5c2j5yvx.js";
38
34
  import"./cli-1a2j50m0.js";
35
+ import"./cli-tadfgd0t.js";
36
+ import"./cli-ywybs5as.js";
39
37
  import"./cli-f9w1semm.js";
38
+ import"./cli-a35hzdve.js";
39
+ import"./cli-gd4favx9.js";
40
40
  import"./cli-ej6gbxfb.js";
41
- import"./cli-zsh093hk.js";
41
+ import"./cli-014vns2y.js";
42
42
  import"./cli-sd0mxa3c.js";
43
43
  import"./cli-w5e1d1vv.js";
44
- import"./cli-1kzfvd1z.js";
44
+ import"./cli-ymmc1zxg.js";
45
45
  import"./cli-zf8jjwex.js";
46
- import"./cli-h1spv8v4.js";
46
+ import"./cli-wt7ccy4r.js";
47
47
  import"./cli-bc05qbss.js";
48
48
  export {
49
49
  _noteOutcomeDeliveryFailureForTests,
@@ -5,10 +5,10 @@ import {
5
5
  McpSignInCancelledError,
6
6
  createDefaultTransport,
7
7
  signInMcpServer
8
- } from "./cli-x3x0qwky.js";
9
- import"./cli-krqm5f11.js";
10
- import"./cli-8ssjez7e.js";
11
- import"./cli-cwxhbf43.js";
8
+ } from "./cli-bxqez1p0.js";
9
+ import"./cli-xezn9nkh.js";
10
+ import"./cli-rhy7z1rp.js";
11
+ import"./cli-5t5my0h8.js";
12
12
  import"./cli-5bfdm1ah.js";
13
13
  import"./cli-0m7wct0d.js";
14
14
  import"./cli-2x0e561b.js";
@@ -4,7 +4,7 @@ import {
4
4
  createDefaultMcpJson,
5
5
  createDefaultSettingsLocal,
6
6
  createHooksConfig
7
- } from "./cli-9866bd07.js";
7
+ } from "./cli-6vfz44sr.js";
8
8
  import {
9
9
  require_jsx_dev_runtime
10
10
  } from "./cli-t3p77qk1.js";
@@ -21,7 +21,7 @@ import {
21
21
  } from "./cli-fkqhbg8g.js";
22
22
  import"./cli-0xqde53b.js";
23
23
  import"./cli-pqetb83f.js";
24
- import"./cli-1kzfvd1z.js";
24
+ import"./cli-ymmc1zxg.js";
25
25
  import {
26
26
  __toESM
27
27
  } from "./cli-bc05qbss.js";
@@ -1,12 +1,14 @@
1
1
  import {
2
- classifySystemOne,
2
+ classifySystemOne
3
+ } from "./cli-nkqjj42q.js";
4
+ import {
3
5
  isRecord
4
- } from "./cli-gvcgmx69.js";
5
- import"./cli-qbksc292.js";
6
+ } from "./cli-q1vnz8wv.js";
7
+ import"./cli-zy39d433.js";
6
8
  import"./cli-6map995v.js";
7
9
  import"./cli-7kyk9jr3.js";
8
- import"./cli-nexwh8zg.js";
9
- import"./cli-bzr0ftht.js";
10
+ import"./cli-g7k7zbcz.js";
11
+ import"./cli-wnb9b2g3.js";
10
12
  import"./cli-bc05qbss.js";
11
13
 
12
14
  // node_modules/@earendil-works/pi-ai/dist/api/typesafe-system-one.js
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  exports_dist,
3
3
  exports_dist1 as exports_dist3
4
- } from "./cli-nvvfd8bq.js";
5
- import"./cli-4mevd1hf.js";
6
- import"./cli-qvfk83fy.js";
7
- import"./cli-krqm5f11.js";
8
- import"./cli-8ssjez7e.js";
9
- import"./cli-6zcfw0x7.js";
4
+ } from "./cli-jbzbr36n.js";
5
+ import"./cli-s9y81s7j.js";
6
+ import"./cli-13xwcqvj.js";
7
+ import"./cli-xezn9nkh.js";
8
+ import"./cli-rhy7z1rp.js";
9
+ import"./cli-y195hv1a.js";
10
10
  import {
11
11
  exports_dist as exports_dist2
12
- } from "./cli-cwxhbf43.js";
12
+ } from "./cli-5t5my0h8.js";
13
13
  import"./cli-5bfdm1ah.js";
14
14
  import"./cli-0m7wct0d.js";
15
15
  import"./cli-7nxes1hs.js";
@@ -18,7 +18,7 @@ import {
18
18
  exports_compat,
19
19
  exports_compile,
20
20
  exports_value
21
- } from "./cli-pkke6geq.js";
21
+ } from "./cli-km4x66j0.js";
22
22
  import {
23
23
  exports_build
24
24
  } from "./cli-rb9m6rpe.js";
@@ -28,11 +28,11 @@ import"./cli-ydt3zkwv.js";
28
28
  import"./cli-3er6gcsn.js";
29
29
  import"./cli-0xqde53b.js";
30
30
  import"./cli-pqetb83f.js";
31
- import"./cli-b0f70z24.js";
32
- import"./cli-nexwh8zg.js";
31
+ import"./cli-mn8qkd8v.js";
32
+ import"./cli-g7k7zbcz.js";
33
33
  import"./cli-btbzvq95.js";
34
34
  import"./cli-1m2e086m.js";
35
- import"./cli-bzr0ftht.js";
35
+ import"./cli-wnb9b2g3.js";
36
36
  import"./cli-bc05qbss.js";
37
37
 
38
38
  // node_modules/@earendil-works/pi-ai/dist/oauth.js
@@ -1,31 +1,27 @@
1
1
  import {
2
2
  isUserAllowed
3
- } from "./cli-90v942q1.js";
4
- import"./cli-8gpbwy09.js";
5
- import"./cli-j0pdrmwg.js";
6
- import"./cli-50eg13rj.js";
7
- import"./cli-x7afk5wm.js";
8
- import"./cli-420bdgw0.js";
3
+ } from "./cli-6qxmjpem.js";
4
+ import"./cli-1yrcfa5s.js";
5
+ import"./cli-y0kjpfm9.js";
6
+ import"./cli-wydz3feg.js";
7
+ import"./cli-xvc3q9br.js";
8
+ import"./cli-mv2520nm.js";
9
9
  import"./cli-w0bwte75.js";
10
10
  import"./cli-re8z5p8p.js";
11
- import"./cli-k6xx3pve.js";
12
- import"./cli-e7t4snpa.js";
13
- import"./cli-nfygw434.js";
14
- import"./cli-xtgtyafv.js";
11
+ import"./cli-tx2zvn23.js";
12
+ import"./cli-p8rt8spp.js";
13
+ import"./cli-v1pwxreq.js";
14
+ import"./cli-577bxkf6.js";
15
15
  import"./cli-epan13p1.js";
16
16
  import"./cli-f14fvzag.js";
17
+ import"./cli-7mhy3ths.js";
18
+ import"./cli-v1w7pbd8.js";
17
19
  import"./cli-zt3w1cn1.js";
18
- import"./cli-xb3c6aat.js";
19
- import"./cli-ftry7975.js";
20
- import"./cli-3dpj7atn.js";
21
- import"./cli-2x0e561b.js";
22
- import"./cli-pkke6geq.js";
20
+ import"./cli-km4x66j0.js";
23
21
  import"./cli-rb9m6rpe.js";
22
+ import"./cli-2x0e561b.js";
23
+ import"./cli-kw0jcfje.js";
24
24
  import"./cli-mzfth0bp.js";
25
- import"./cli-jqt9hrnz.js";
26
- import"./cli-yhmwmv0g.js";
27
- import"./cli-wfajtmf7.js";
28
- import"./cli-a87b04k8.js";
29
25
  import"./cli-fad8m16k.js";
30
26
  import"./cli-bsakbbkm.js";
31
27
  import"./cli-zxg80zs9.js";
@@ -34,49 +30,49 @@ import"./cli-ydt3zkwv.js";
34
30
  import {
35
31
  getTaskUrl,
36
32
  slackTaskOutput
37
- } from "./cli-0n4fasz0.js";
33
+ } from "./cli-c8r99akr.js";
38
34
  import"./cli-q51yprfq.js";
39
35
  import"./cli-3er6gcsn.js";
40
- import"./cli-cvk6yzw5.js";
41
36
  import"./cli-yatxqynm.js";
42
- import"./cli-b0f70z24.js";
43
- import"./cli-nexwh8zg.js";
37
+ import"./cli-mn8qkd8v.js";
38
+ import"./cli-g7k7zbcz.js";
44
39
  import"./cli-btbzvq95.js";
45
40
  import"./cli-1m2e086m.js";
46
- import"./cli-bzr0ftht.js";
41
+ import"./cli-wnb9b2g3.js";
47
42
  import"./cli-bd957dgb.js";
48
43
  import"./cli-pzxba7gw.js";
49
- import"./cli-xnzrzets.js";
44
+ import"./cli-ypgba1a8.js";
50
45
  import"./cli-rfphkzh5.js";
51
46
  import {
52
47
  getAgentById,
53
48
  getTaskById,
54
- init_db
55
- } from "./cli-qdv8kgz7.js";
56
- import"./cli-9s3h836g.js";
49
+ init_db1 as init_db
50
+ } from "./cli-mkdsy1nq.js";
57
51
  import"./cli-3qhyh31j.js";
58
- import"./cli-3a4m1aws.js";
52
+ import"./cli-xvdgasgy.js";
53
+ import"./cli-mxvnnv5q.js";
59
54
  import"./cli-7mm2r1kp.js";
60
55
  import"./cli-g5erf0zt.js";
61
56
  import"./cli-dmtrxqhg.js";
62
- import"./cli-tadfgd0t.js";
63
- import"./cli-ywybs5as.js";
64
- import"./cli-gd4favx9.js";
65
57
  import"./cli-agamgm0p.js";
66
58
  import"./cli-5c2j5yvx.js";
67
59
  import"./cli-1a2j50m0.js";
60
+ import"./cli-tadfgd0t.js";
61
+ import"./cli-ywybs5as.js";
68
62
  import"./cli-f9w1semm.js";
63
+ import"./cli-a35hzdve.js";
64
+ import"./cli-gd4favx9.js";
69
65
  import {
70
66
  init_env_flag,
71
67
  isEnvFlagEnabled
72
68
  } from "./cli-ej6gbxfb.js";
73
- import"./cli-zsh093hk.js";
69
+ import"./cli-014vns2y.js";
74
70
  import"./cli-sd0mxa3c.js";
75
71
  import"./cli-w5e1d1vv.js";
76
- import"./cli-1kzfvd1z.js";
77
- import"./cli-hpryr6em.js";
72
+ import"./cli-ymmc1zxg.js";
73
+ import"./cli-mb75wpxf.js";
78
74
  import"./cli-zf8jjwex.js";
79
- import"./cli-h1spv8v4.js";
75
+ import"./cli-wt7ccy4r.js";
80
76
  import"./cli-bc05qbss.js";
81
77
 
82
78
  // src/slack/work-objects.ts
@@ -1,105 +1,101 @@
1
1
  import {
2
2
  runAgent
3
- } from "./cli-bns5c8k9.js";
3
+ } from "./cli-cf2vgn9d.js";
4
4
  import"./cli-9q3wt23f.js";
5
- import"./cli-9xb89xca.js";
6
- import"./cli-amwhs8h2.js";
7
- import"./cli-5anb0ev3.js";
8
- import"./cli-28smfvbn.js";
9
- import"./cli-59jn5twa.js";
10
- import"./cli-hsxj0yar.js";
11
- import"./cli-mmzwwptd.js";
12
- import"./cli-zn2v3t8v.js";
13
- import"./cli-gh5yqzpe.js";
14
- import"./cli-pjxnr1jn.js";
5
+ import"./cli-6bpvv8h4.js";
6
+ import"./cli-ykt8f7va.js";
7
+ import"./cli-cexctgn5.js";
15
8
  import"./cli-9k7mqz00.js";
9
+ import"./cli-m7vmeepg.js";
10
+ import"./cli-tc5zec7v.js";
11
+ import"./cli-hsxj0yar.js";
12
+ import"./cli-hf5s9pgf.js";
13
+ import"./cli-jvmtxqtc.js";
16
14
  import"./cli-gt4hxb8p.js";
17
- import"./cli-n9ehc28t.js";
18
- import"./cli-bdv39kgj.js";
19
- import"./cli-zvckv750.js";
15
+ import"./cli-pkj1w46r.js";
16
+ import"./cli-ty4bzkqr.js";
17
+ import"./cli-5bfdm1ah.js";
18
+ import"./cli-efnd2kce.js";
19
+ import"./cli-zp67qg5x.js";
20
+ import"./cli-bqjfjex4.js";
21
+ import"./cli-mxry91sa.js";
22
+ import"./cli-z1dqhc9y.js";
23
+ import"./cli-69egj654.js";
20
24
  import"./cli-v6vv7dy8.js";
21
25
  import"./cli-q2j38vre.js";
22
- import"./cli-zm7njwzd.js";
23
- import"./cli-ptcz1cqy.js";
24
- import"./cli-32bca7nr.js";
25
- import"./cli-5b2fjjzh.js";
26
+ import"./cli-r7eeddkq.js";
26
27
  import"./cli-hp1n6zq3.js";
27
28
  import"./cli-tng3131n.js";
28
- import"./cli-5bfdm1ah.js";
29
- import"./cli-efnd2kce.js";
30
- import"./cli-fw6vdcq5.js";
31
- import"./cli-bqjfjex4.js";
29
+ import"./cli-zm7njwzd.js";
30
+ import"./cli-ptcz1cqy.js";
31
+ import"./cli-7avy4v8w.js";
32
32
  import"./cli-eree7rnv.js";
33
33
  import"./cli-2pdaysab.js";
34
- import"./cli-ttbsse3f.js";
35
- import"./cli-ma3zvh39.js";
34
+ import"./cli-tmhsxhb8.js";
35
+ import"./cli-5qkcdv8c.js";
36
36
  import"./cli-dpvkp2et.js";
37
37
  import {
38
38
  getEnabledCapabilities
39
- } from "./cli-50eg13rj.js";
40
- import"./cli-x7afk5wm.js";
41
- import"./cli-420bdgw0.js";
39
+ } from "./cli-wydz3feg.js";
40
+ import"./cli-xvc3q9br.js";
41
+ import"./cli-mv2520nm.js";
42
42
  import"./cli-w0bwte75.js";
43
43
  import"./cli-re8z5p8p.js";
44
- import"./cli-k6xx3pve.js";
45
- import"./cli-e7t4snpa.js";
46
- import"./cli-nfygw434.js";
47
- import"./cli-xtgtyafv.js";
44
+ import"./cli-tx2zvn23.js";
45
+ import"./cli-p8rt8spp.js";
46
+ import"./cli-v1pwxreq.js";
47
+ import"./cli-577bxkf6.js";
48
48
  import"./cli-epan13p1.js";
49
49
  import"./cli-f14fvzag.js";
50
+ import"./cli-7mhy3ths.js";
51
+ import"./cli-v1w7pbd8.js";
50
52
  import"./cli-zt3w1cn1.js";
51
- import"./cli-xb3c6aat.js";
52
- import"./cli-ftry7975.js";
53
- import"./cli-3dpj7atn.js";
54
- import"./cli-2x0e561b.js";
55
- import"./cli-pkke6geq.js";
53
+ import"./cli-km4x66j0.js";
56
54
  import"./cli-rb9m6rpe.js";
55
+ import"./cli-2x0e561b.js";
56
+ import"./cli-kw0jcfje.js";
57
57
  import"./cli-mzfth0bp.js";
58
- import"./cli-jqt9hrnz.js";
59
- import"./cli-yhmwmv0g.js";
60
- import"./cli-wfajtmf7.js";
61
- import"./cli-a87b04k8.js";
62
58
  import"./cli-fad8m16k.js";
63
59
  import"./cli-bsakbbkm.js";
64
60
  import"./cli-zxg80zs9.js";
65
61
  import"./cli-51tf7ac3.js";
66
62
  import"./cli-ydt3zkwv.js";
67
- import"./cli-0n4fasz0.js";
63
+ import"./cli-c8r99akr.js";
68
64
  import"./cli-q51yprfq.js";
69
65
  import"./cli-3er6gcsn.js";
70
- import"./cli-cvk6yzw5.js";
71
66
  import"./cli-yatxqynm.js";
72
- import"./cli-b0f70z24.js";
73
- import"./cli-nexwh8zg.js";
67
+ import"./cli-mn8qkd8v.js";
68
+ import"./cli-g7k7zbcz.js";
74
69
  import"./cli-btbzvq95.js";
75
70
  import"./cli-1m2e086m.js";
76
- import"./cli-bzr0ftht.js";
71
+ import"./cli-wnb9b2g3.js";
77
72
  import"./cli-bd957dgb.js";
78
73
  import"./cli-pzxba7gw.js";
79
- import"./cli-xnzrzets.js";
74
+ import"./cli-ypgba1a8.js";
80
75
  import"./cli-rfphkzh5.js";
81
- import"./cli-qdv8kgz7.js";
82
- import"./cli-9s3h836g.js";
76
+ import"./cli-mkdsy1nq.js";
83
77
  import"./cli-3qhyh31j.js";
84
- import"./cli-3a4m1aws.js";
78
+ import"./cli-xvdgasgy.js";
79
+ import"./cli-mxvnnv5q.js";
85
80
  import"./cli-7mm2r1kp.js";
86
81
  import"./cli-g5erf0zt.js";
87
82
  import"./cli-dmtrxqhg.js";
88
- import"./cli-tadfgd0t.js";
89
- import"./cli-ywybs5as.js";
90
- import"./cli-gd4favx9.js";
91
83
  import"./cli-agamgm0p.js";
92
84
  import"./cli-5c2j5yvx.js";
93
85
  import"./cli-1a2j50m0.js";
86
+ import"./cli-tadfgd0t.js";
87
+ import"./cli-ywybs5as.js";
94
88
  import"./cli-f9w1semm.js";
89
+ import"./cli-a35hzdve.js";
90
+ import"./cli-gd4favx9.js";
95
91
  import"./cli-ej6gbxfb.js";
96
- import"./cli-zsh093hk.js";
92
+ import"./cli-014vns2y.js";
97
93
  import"./cli-sd0mxa3c.js";
98
94
  import"./cli-w5e1d1vv.js";
99
- import"./cli-1kzfvd1z.js";
100
- import"./cli-hpryr6em.js";
95
+ import"./cli-ymmc1zxg.js";
96
+ import"./cli-mb75wpxf.js";
101
97
  import"./cli-zf8jjwex.js";
102
- import"./cli-h1spv8v4.js";
98
+ import"./cli-wt7ccy4r.js";
103
99
  import"./cli-knd276ed.js";
104
100
  import"./cli-bc05qbss.js";
105
101
 
@@ -3,11 +3,11 @@ import {
3
3
  executeComposioRequest,
4
4
  formatComposioResultForCli,
5
5
  parseComposioArgs
6
- } from "./cli-x7afk5wm.js";
6
+ } from "./cli-xvc3q9br.js";
7
7
  import {
8
8
  init_secret_scrubber,
9
9
  scrubSecrets
10
- } from "./cli-h1spv8v4.js";
10
+ } from "./cli-wt7ccy4r.js";
11
11
  import"./cli-bc05qbss.js";
12
12
 
13
13
  // src/commands/x.ts
package/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "Agent Swarm API",
5
- "version": "1.165.0",
5
+ "version": "1.167.0",
6
6
  "description": "Multi-agent orchestration API for Claude Code, Codex, and Gemini CLI. Enables task distribution, agent communication, and service discovery.\n\nMCP tools are documented separately in [MCP.md](./MCP.md)."
7
7
  },
8
8
  "servers": [
@@ -755,6 +755,8 @@
755
755
  "type": "string",
756
756
  "enum": [
757
757
  "opencode",
758
+ "gemini",
759
+ "copilot",
758
760
  "custom"
759
761
  ]
760
762
  },
@@ -9638,7 +9640,7 @@
9638
9640
  }
9639
9641
  },
9640
9642
  "400": {
9641
- "description": "Invalid or disallowed SQL",
9643
+ "description": "Invalid or disallowed SQL, including queries that read credential tables",
9642
9644
  "content": {
9643
9645
  "application/json": {
9644
9646
  "schema": {
@@ -10286,6 +10288,7 @@
10286
10288
  "enum": [
10287
10289
  "opencode",
10288
10290
  "gemini",
10291
+ "copilot",
10289
10292
  "custom"
10290
10293
  ]
10291
10294
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@desplega.ai/agent-swarm",
3
- "version": "1.165.0",
3
+ "version": "1.167.0",
4
4
  "description": "agent-swarm.dev — an open-source operating system for AI work: a lead agent breaks goals into tasks, routes them to specialized workers such as Claude Code or Codex, runs each worker in an isolated container, and preserves shared memory, tools, schedules, and review gates so delegated work compounds across sessions.",
5
5
  "keywords": [
6
6
  "agent-swarm.dev",
@@ -95,6 +95,8 @@
95
95
  "check:extension-schema": "bun scripts/build-extension-manifest-schema.ts --check",
96
96
  "build:extension-catalog": "bun scripts/build-extension-catalog.ts",
97
97
  "check:extension-catalog": "bun scripts/build-extension-catalog.ts --check",
98
+ "build:secret-rules": "bun scripts/gen-secret-rules.ts",
99
+ "check:secret-rules": "bun scripts/gen-secret-rules.ts --check",
98
100
  "build:cli": "bun run scripts/build-cli.ts",
99
101
  "mono:build": "turbo run build",
100
102
  "mono:test": "turbo run test",
@@ -145,8 +147,8 @@
145
147
  "start:portless": "portless api.swarm bun --expose-gc src/http.ts",
146
148
  "inspector": "bunx @modelcontextprotocol/inspector --transport stdio bun src/stdio.ts",
147
149
  "inspector:http": "bunx @modelcontextprotocol/inspector --transport http https://api.swarm.localhost:1355/mcp",
148
- "lint": "biome check src apps/evals packages/ui-e2e packages/model-routing",
149
- "lint:fix": "biome check --write src apps/evals packages/ui-e2e packages/model-routing",
150
+ "lint": "biome check src apps/evals packages/ui-e2e packages/model-routing packages/model-catalog",
151
+ "lint:fix": "biome check --write src apps/evals packages/ui-e2e packages/model-routing packages/model-catalog",
150
152
  "format": "biome format --write src",
151
153
  "build:binary": "bun build ./src/cli.tsx ./src/providers/pi-binary-root/src/extensions/codemode/worker.ts --root ./src/providers/pi-binary-root --compile --bytecode --format=esm --compile-exec-argv='--expose-gc' --target=bun-linux-x64 --outfile ./dist/agent-swarm",
152
154
  "build:binary:arm64": "bun build ./src/cli.tsx ./src/providers/pi-binary-root/src/extensions/codemode/worker.ts --root ./src/providers/pi-binary-root --compile --bytecode --format=esm --compile-exec-argv='--expose-gc' --target=bun-linux-arm64 --outfile ./dist/agent-swarm",
@@ -200,20 +202,21 @@
200
202
  "dependencies": {
201
203
  "@agentclientprotocol/sdk": "1.7.0",
202
204
  "@ai-sdk/openai": "^3.0.41",
203
- "@anthropic-ai/claude-agent-sdk": "0.3.292",
204
- "@anthropic-ai/sdk": "^0.131.0",
205
+ "@anthropic-ai/claude-agent-sdk": "0.3.293",
206
+ "@anthropic-ai/sdk": "^0.132.1",
205
207
  "@asteasolutions/zod-to-openapi": "^8.0.0",
206
208
  "@aws-sdk/client-bedrock": "3.1048.0",
207
- "@cursor/sdk": "1.0.36",
209
+ "@cursor/sdk": "1.0.37",
208
210
  "@desplega.ai/business-use": "^0.4.2",
209
211
  "@desplega.ai/localtunnel": "^2.2.0",
210
- "@earendil-works/pi-agent-core": "^1.0.4",
211
- "@earendil-works/pi-ai": "^1.0.4",
212
- "@earendil-works/pi-coding-agent": "^1.0.4",
212
+ "@earendil-works/pi-agent-core": "^1.1.0",
213
+ "@earendil-works/pi-ai": "^1.1.0",
214
+ "@earendil-works/pi-coding-agent": "^1.1.0",
213
215
  "@inkjs/ui": "^2.0.0",
216
+ "@jitl/quickjs-singlefile-mjs-release-sync": "0.32.0",
214
217
  "@linear/sdk": "^77.0.0",
215
- "@modelcontextprotocol/sdk": "1.29.0",
216
- "@openai/codex": "0.160.1",
218
+ "@modelcontextprotocol/sdk": "1.31.0",
219
+ "@openai/codex": "0.161.0",
217
220
  "@opencode-ai/sdk": "^1.18.35",
218
221
  "@openfort/openfort-node": "^0.9.1",
219
222
  "@opentelemetry/api": "^1.9.1",
@@ -237,6 +240,7 @@
237
240
  "ink": "^6.5.1",
238
241
  "oauth4webapi": "^3.8.5",
239
242
  "openai": "^6.22.0",
243
+ "quickjs-emscripten-core": "0.32.0",
240
244
  "react": "19.2.3",
241
245
  "react-devtools-core": "^7.0.1",
242
246
  "sqlite-vec": "^0.1.9",
@@ -1,8 +1,10 @@
1
1
  import type { AutomationIntegrationId, ScheduledTask, Workflow } from "@/types";
2
2
  import { getSlackConfiguration, isSlackConfigured } from "../slack/config";
3
3
  import { isEnvFlagEnabled } from "../utils/env-flag";
4
+ import { scrubSecrets } from "../utils/secret-scrubber";
4
5
  import { getDbClient } from "./db";
5
6
  import { getOAuthApp, getOAuthTokens } from "./db-queries/oauth";
7
+ import { scrubJsonValue } from "./scrub-json";
6
8
 
7
9
  export type AutomationKind = "schedule" | "workflow";
8
10
  export type AutomationState = "running" | "needs_setup";
@@ -349,6 +351,9 @@ export async function recordSchedulePreflightFailure(
349
351
  failureReason: string,
350
352
  now: Date = new Date(),
351
353
  ): Promise<boolean> {
354
+ // Scrub before the same-day dedup compare: the stored message is scrubbed,
355
+ // so a raw reason would never match it and the dedup would stop working.
356
+ const message = scrubSecrets(failureReason);
352
357
  return await getDbClient().transaction(async (tx) => {
353
358
  const row = await tx.get<{ lastErrorAt: string | null; lastErrorMessage: string | null }>(
354
359
  "SELECT lastErrorAt, lastErrorMessage FROM scheduled_tasks WHERE id = ?",
@@ -356,7 +361,7 @@ export async function recordSchedulePreflightFailure(
356
361
  );
357
362
  if (!row) return false;
358
363
  if (
359
- row.lastErrorMessage === failureReason &&
364
+ row.lastErrorMessage === message &&
360
365
  row.lastErrorAt?.slice(0, 10) === now.toISOString().slice(0, 10)
361
366
  ) {
362
367
  return false;
@@ -365,7 +370,7 @@ export async function recordSchedulePreflightFailure(
365
370
  `UPDATE scheduled_tasks
366
371
  SET lastErrorAt = ?, lastErrorMessage = ?, lastUpdatedAt = ?
367
372
  WHERE id = ?`,
368
- [now.toISOString(), failureReason, now.toISOString(), scheduleId],
373
+ [now.toISOString(), message, now.toISOString(), scheduleId],
369
374
  );
370
375
  return true;
371
376
  });
@@ -404,8 +409,8 @@ export async function recordWorkflowPreflightFailure(input: {
404
409
  runId,
405
410
  input.workflowId,
406
411
  input.triggerType,
407
- input.triggerData === undefined ? null : JSON.stringify(input.triggerData),
408
- input.failureReason,
412
+ input.triggerData === undefined ? null : scrubJsonValue(input.triggerData),
413
+ scrubSecrets(input.failureReason),
409
414
  input.createdBy ?? null,
410
415
  timestamp,
411
416
  timestamp,