@desplega.ai/agent-swarm 1.166.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 (194) hide show
  1. package/dist/acp-adapter-zpvy6321.js +34 -0
  2. package/dist/{actions-qz3m692w.js → actions-fq2zrwtf.js} +25 -25
  3. package/dist/{amp-adapter-j1xbmsqz.js → amp-adapter-5gbk7501.js} +4 -4
  4. package/dist/{anthropic-messages-hst62ws9.js → anthropic-messages-13yn502s.js} +4 -4
  5. package/dist/{app-43vrdmv8.js → app-nctetn1e.js} +10 -9
  6. package/dist/{assistant-ertffmka.js → assistant-0aq8gjvj.js} +26 -26
  7. package/dist/{azure-openai-responses-mh8tvf78.js → azure-openai-responses-9st34pfz.js} +5 -5
  8. package/dist/{boot-reembed-998jtpdg.js → boot-reembed-1ze5853n.js} +9 -8
  9. package/dist/{boot-reembed-s7k7c6v2.js → boot-reembed-fmp5ww69.js} +9 -8
  10. package/dist/{boot-scrub-sweep-nepsk4t1.js → boot-scrub-sweep-cbp8xd4e.js} +10 -9
  11. package/dist/{boot-seeds-vvzs1zhk.js → boot-seeds-22tx8a53.js} +12 -11
  12. package/dist/{claude-adapter-2zvmekrp.js → claude-adapter-0jhgeh1d.js} +24 -22
  13. package/dist/{claude-managed-adapter-s49wbk8t.js → claude-managed-adapter-tzwxy803.js} +4 -4
  14. package/dist/{claude-managed-setup-cvhqq8qn.js → claude-managed-setup-nrhfx5b0.js} +3 -3
  15. package/dist/{claude-sdk-session-kkbxtw5q.js → claude-sdk-session-wh77rh83.js} +22 -22
  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-dw2q9f7g.js → cli-1yrcfa5s.js} +4 -4
  19. package/dist/{cli-jvj6a0cv.js → cli-577bxkf6.js} +27 -17
  20. package/dist/{cli-zy7vwsne.js → cli-5qkcdv8c.js} +16 -9
  21. package/dist/{cli-cwxhbf43.js → cli-5t5my0h8.js} +85 -2
  22. package/dist/{cli-y59h2pk9.js → cli-69egj654.js} +1 -1
  23. package/dist/{cli-68r1j4sg.js → cli-6bpvv8h4.js} +3 -3
  24. package/dist/{cli-cpfmqz3n.js → cli-6qxmjpem.js} +5 -5
  25. package/dist/{cli-aqcey741.js → cli-6vfz44sr.js} +1 -1
  26. package/dist/{cli-32bca7nr.js → cli-7avy4v8w.js} +1 -1
  27. package/dist/{cli-f2n17zhp.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-gt8azyet.js → cli-c2tpw9ck.js} +1 -1
  32. package/dist/{cli-ecknp7p1.js → cli-c8r99akr.js} +10 -10
  33. package/dist/{cli-3qn4r334.js → cli-cexctgn5.js} +20 -14
  34. package/dist/{cli-vzc73wet.js → cli-cf2vgn9d.js} +87 -69
  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-nvvfd8bq.js → cli-jbzbr36n.js} +4091 -3793
  38. package/dist/{cli-3ddybbbx.js → cli-jvmtxqtc.js} +26 -14
  39. package/dist/{cli-pkke6geq.js → cli-km4x66j0.js} +83 -65
  40. package/dist/{cli-j2jbr8af.js → cli-kw0jcfje.js} +1 -1
  41. package/dist/{cli-8t229cmr.js → cli-m7vmeepg.js} +30 -17
  42. package/dist/{cli-yshaazs1.js → cli-mkdsy1nq.js} +62 -20
  43. package/dist/{cli-b0f70z24.js → cli-mn8qkd8v.js} +1 -1
  44. package/dist/{cli-0qjcsxgz.js → cli-mxry91sa.js} +30 -9
  45. package/dist/cli-nkqjj42q.js +104 -0
  46. package/dist/{cli-rggdq8wq.js → cli-p8rt8spp.js} +3 -3
  47. package/dist/{cli-v2a8x45d.js → cli-pkj1w46r.js} +10 -5
  48. package/dist/cli-q1vnz8wv.js +96 -0
  49. package/dist/{cli-fj86xr3c.js → cli-qd97v6z2.js} +2 -2
  50. package/dist/{cli-66zh26sp.js → cli-qzmzwegq.js} +57 -17
  51. package/dist/{cli-p4ztb80h.js → cli-r7eeddkq.js} +13 -8
  52. package/dist/{cli-8ssjez7e.js → cli-rhy7z1rp.js} +22 -11
  53. package/dist/{cli-4mevd1hf.js → cli-s9y81s7j.js} +5 -5
  54. package/dist/{cli-h3x613ze.js → cli-tc5zec7v.js} +6 -6
  55. package/dist/{cli-ttbsse3f.js → cli-tmhsxhb8.js} +1 -1
  56. package/dist/{cli-0nhdwxd5.js → cli-tx2zvn23.js} +3 -3
  57. package/dist/{cli-mwegs4af.js → cli-ty4bzkqr.js} +3 -3
  58. package/dist/{cli-ysnyhws9.js → cli-v1pwxreq.js} +54 -51
  59. package/dist/{cli-feh3dkah.js → cli-v1w7pbd8.js} +2 -1
  60. package/dist/{cli-10zmp1p7.js → cli-vr5avem2.js} +27 -32
  61. package/dist/{cli-bzr0ftht.js → cli-wnb9b2g3.js} +19 -0
  62. package/dist/{cli-df56tqdw.js → cli-wydz3feg.js} +108 -57
  63. package/dist/{cli-krqm5f11.js → cli-xezn9nkh.js} +16 -13
  64. package/dist/{cli-8kt0bmgx.js → cli-xf713zz0.js} +2 -2
  65. package/dist/{cli-x7kpr72a.js → cli-y0kjpfm9.js} +2 -2
  66. package/dist/{cli-6zcfw0x7.js → cli-y195hv1a.js} +1 -1
  67. package/dist/{cli-fn697bnt.js → cli-ykt8f7va.js} +21 -8
  68. package/dist/{cli-4r1sjfc4.js → cli-ymmc1zxg.js} +8 -8
  69. package/dist/{cli-8kgvmkak.js → cli-ypgba1a8.js} +1 -1
  70. package/dist/{cli-rsy933yz.js → cli-z1dqhc9y.js} +30 -19
  71. package/dist/{cli-qbksc292.js → cli-zy39d433.js} +2 -0
  72. package/dist/cli.js +26 -26
  73. package/dist/{cloudflare-workers-ai-system-one-tt484t61.js → cloudflare-workers-ai-system-one-sta45jf9.js} +7 -5
  74. package/dist/{codex-adapter-dw1wxqt8.js → codex-adapter-cgesnjkr.js} +18 -18
  75. package/dist/{codex-login-terbdsqq.js → codex-login-g1cyt5zm.js} +1 -1
  76. package/dist/{codex-session-runner-3cgb8y1g.js → codex-session-runner-8kd7ddhr.js} +18 -18
  77. package/dist/{commands-mhxam6z2.js → commands-h6zaaxym.js} +9 -8
  78. package/dist/{cursor-adapter-2qda3st7.js → cursor-adapter-v8mm6bp5.js} +5 -5
  79. package/dist/{db-sjks418k.js → db-qg3myn53.js} +9 -8
  80. package/dist/{dispatcher-1es759rn.js → dispatcher-7vnwj9qw.js} +24 -24
  81. package/dist/{dsh-adapter-bek4cyw9.js → dsh-adapter-tz6hfp5r.js} +5 -5
  82. package/dist/{easter-egg-3d-mtpnw06s.js → easter-egg-3d-66zxervv.js} +2 -2
  83. package/dist/{execute-s4ccjq3n.js → execute-h4jgevyw.js} +61 -11
  84. package/dist/{google-generative-ai-d6nphg3q.js → google-generative-ai-b8zxrpax.js} +5 -5
  85. package/dist/{google-vertex-cpshkref.js → google-vertex-nrdd697t.js} +5 -5
  86. package/dist/{grok-adapter-ar9cw9jg.js → grok-adapter-jdt2dz2s.js} +18 -8
  87. package/dist/{handlers-1gkbhktr.js → handlers-2qtkpncr.js} +27 -27
  88. package/dist/{hook-ds2zxq9v.js → hook-51yfcgsv.js} +42 -31
  89. package/dist/{hook-vxa3tcsy.js → hook-qnbdgwvd.js} +14 -14
  90. package/dist/{http-3h21z9md.js → http-jsmtag08.js} +320 -98
  91. package/dist/{index-9b65j1m5.js → index-2t9kesn1.js} +9 -8
  92. package/dist/{index-dkfxpkmm.js → index-bt8wkv1w.js} +25 -25
  93. package/dist/{index-f8xnqrye.js → index-cx1sb9bq.js} +33 -24
  94. package/dist/{index-bn6cy8ps.js → index-ekywyv2v.js} +24 -24
  95. package/dist/{index-n99fycq7.js → index-t4g06w93.js} +24 -24
  96. package/dist/{keepalive-3xspa9jw.js → keepalive-4aezx4bj.js} +11 -10
  97. package/dist/{lead-6qphc124.js → lead-r44bkpm5.js} +47 -47
  98. package/dist/{llama-cpp-classify-tgj35k8d.js → llama-cpp-classify-6erb7wwv.js} +3 -1
  99. package/dist/{maintenance-0teem1bb.js → maintenance-grz5jrzh.js} +9 -8
  100. package/dist/{mistral-conversations-8445ddjn.js → mistral-conversations-059y51zt.js} +4 -4
  101. package/dist/{node-9sg7ajby.js → node-qm9eb6z0.js} +1 -1
  102. package/dist/{oauth-refresh-sweep-sh9q25xp.js → oauth-refresh-sweep-wm4ctjfj.js} +10 -9
  103. package/dist/{onboard-54qmnqxe.js → onboard-v60zgqf0.js} +2 -2
  104. package/dist/{openai-codex-responses-9ynm88zy.js → openai-codex-responses-jzxkta9b.js} +8 -7
  105. package/dist/{openai-completions-nhqwjmaw.js → openai-completions-663yncfq.js} +4 -4
  106. package/dist/openai-decisions-vj9nkpf8.js +162 -0
  107. package/dist/{openai-responses-xx1c4kgm.js → openai-responses-m3g43rrt.js} +5 -5
  108. package/dist/{opencode-adapter-wjfa2wvd.js → opencode-adapter-yjyqynzf.js} +7 -7
  109. package/dist/{openrouter-images-8yx3487g.js → openrouter-images-kr60n6b9.js} +1 -1
  110. package/dist/{otel-impl-ycqzp2a1.js → otel-impl-ghh4dyf8.js} +1 -1
  111. package/dist/{pi-messages-vxdt8v7j.js → pi-messages-xszk613n.js} +1 -1
  112. package/dist/{pi-mono-adapter-e77e9zst.js → pi-mono-adapter-0eg8kw2c.js} +68 -51
  113. package/dist/{pricing-refresh-atnkngqs.js → pricing-refresh-mjrqvnvw.js} +11 -10
  114. package/dist/{rbac-roles-j78wdksm.js → rbac-roles-axv4d74x.js} +10 -9
  115. package/dist/{rbac-roles-9pjphh9q.js → rbac-roles-fd5tskj9.js} +9 -8
  116. package/dist/{render-v2-pxjs49fx.js → render-v2-k50j33qd.js} +10 -9
  117. package/dist/{runtime-v2t1r79e.js → runtime-h9ha1mq6.js} +4 -4
  118. package/dist/{setup-ymej0xtx.js → setup-4syh0pd2.js} +2 -2
  119. package/dist/{typesafe-system-one-datfr82p.js → typesafe-system-one-e988vty7.js} +7 -5
  120. package/dist/{virtual-modules-wm8mxdxx.js → virtual-modules-ftr9kwe8.js} +11 -11
  121. package/dist/{work-objects-3nh4ymzb.js → work-objects-jcdbg8rr.js} +27 -27
  122. package/dist/{worker-qa9fkz5s.js → worker-x8j8c9sx.js} +47 -47
  123. package/openapi.json +1 -1
  124. package/package.json +8 -8
  125. package/src/be/memory/providers/openai-embedding.ts +7 -2
  126. package/src/be/memory/raters/llm-summarizer.ts +7 -2
  127. package/src/be/modelsdev-cache.json +61 -0
  128. package/src/be/seed-pricing.ts +84 -53
  129. package/src/be/swarm-config-guard.ts +13 -0
  130. package/src/commands/provider-credentials.ts +28 -5
  131. package/src/commands/runner.ts +7 -12
  132. package/src/heartbeat/heartbeat.ts +91 -19
  133. package/src/hooks/hook.ts +72 -27
  134. package/src/http/mcp.ts +5 -0
  135. package/src/http/onboarding.ts +2 -0
  136. package/src/providers/acp-targets.ts +9 -4
  137. package/src/providers/amp-adapter.ts +1 -1
  138. package/src/providers/claude-adapter.ts +26 -0
  139. package/src/providers/codex-adapter.ts +30 -3
  140. package/src/providers/codex-oauth/auth-json.ts +21 -4
  141. package/src/providers/codex-oauth/types.ts +2 -0
  142. package/src/providers/dsh-adapter.ts +10 -1
  143. package/src/providers/grok-adapter.ts +18 -2
  144. package/src/providers/opencode-adapter.ts +21 -5
  145. package/src/providers/pi-mono-extension.ts +56 -25
  146. package/src/providers/pricing-sources.md +2 -0
  147. package/src/server.ts +63 -3
  148. package/src/tests/acp-adapter.test.ts +152 -12
  149. package/src/tests/ci-unit-test-report.test.ts +73 -0
  150. package/src/tests/claude-default-route.test.ts +75 -0
  151. package/src/tests/claude-hook-output.test.ts +233 -0
  152. package/src/tests/codex-adapter-pool-auth-revalidate.test.ts +4 -2
  153. package/src/tests/codex-adapter.test.ts +166 -26
  154. package/src/tests/codex-oauth-auth-timestamps.test.ts +76 -0
  155. package/src/tests/codex-oauth.test.ts +4 -1
  156. package/src/tests/context-window.test.ts +2 -2
  157. package/src/tests/credential-check.test.ts +51 -1
  158. package/src/tests/dsh-adapter.test.ts +23 -1
  159. package/src/tests/enabled-tools.test.ts +269 -0
  160. package/src/tests/entrypoint-codex-oauth-seed.test.ts +12 -0
  161. package/src/tests/grok-adapter.test.ts +13 -0
  162. package/src/tests/haiku-5-5-pricing.test.ts +38 -0
  163. package/src/tests/heartbeat-checklist.test.ts +158 -1
  164. package/src/tests/onboarding.test.ts +44 -0
  165. package/src/tests/opencode-adapter.test.ts +66 -3
  166. package/src/tests/opencode-plugin.test.ts +37 -0
  167. package/src/tests/openrouter-attribution-call-sites.test.ts +204 -0
  168. package/src/tests/openrouter-base-url.test.ts +30 -39
  169. package/src/tests/pi-mono-extension.test.ts +161 -2
  170. package/src/tests/pricing-refresh.test.ts +70 -1
  171. package/src/tests/reasoning-effort.test.ts +3 -1
  172. package/src/tests/telemetry-trigger.test.ts +12 -1
  173. package/src/tests/workflow-llm.test.ts +14 -0
  174. package/src/tests/workflow-system-one-decision-providers.test.ts +33 -0
  175. package/src/tools/request-human-input.ts +7 -2
  176. package/src/utils/enabled-tools.ts +27 -0
  177. package/src/utils/internal-ai/complete-structured.ts +11 -3
  178. package/src/utils/openrouter-base-url.ts +23 -0
  179. package/src/workflows/executors/raw-llm.ts +1 -0
  180. package/src/workflows/executors/system-one-decision.ts +2 -0
  181. package/src/workflows/executors/validate.ts +1 -0
  182. package/src/workflows/executors/workflow-llm.ts +9 -2
  183. package/templates/skills/agent-browser/SKILL.md +2 -0
  184. package/templates/skills/agent-browser/content.md +2 -0
  185. package/templates/skills/code-quality/content.md +1 -0
  186. package/templates/skills/heartbeat-runbook/content.md +1 -1
  187. package/templates/skills/work-on-task/SKILL.md +4 -0
  188. package/templates/skills/work-on-task/content.md +4 -0
  189. package/templates/skills/workflow-iterate/content.md +9 -0
  190. package/dist/acp-adapter-yzfxn8vj.js +0 -23
  191. package/dist/cli-3dpj7atn.js +0 -11
  192. package/dist/cli-gvcgmx69.js +0 -183
  193. package/dist/{cli-jhm6hzjn.js → cli-mxvnnv5q.js} +7 -7
  194. package/dist/{codex-hook-d2rkvf39.js → codex-hook-15dgc4cb.js} +1 -1
@@ -2,14 +2,16 @@ import {
2
2
  ACPAdapter,
3
3
  grokTargetProfile,
4
4
  isGrokOpenRouterModel
5
- } from "./cli-3qn4r334.js";
5
+ } from "./cli-cexctgn5.js";
6
6
  import {
7
- getOpenRouterBaseUrl
8
- } from "./cli-3dpj7atn.js";
7
+ getOpenRouterAttributionHeaders,
8
+ getOpenRouterBaseUrl,
9
+ init_openrouter_base_url
10
+ } from "./cli-a35hzdve.js";
9
11
  import {
10
12
  init_src,
11
13
  normalizeGrokModel
12
- } from "./cli-zsh093hk.js";
14
+ } from "./cli-014vns2y.js";
13
15
  import {
14
16
  init_secret_scrubber,
15
17
  registerVolatileSecret
@@ -17,10 +19,11 @@ import {
17
19
 
18
20
  // src/providers/grok-adapter.ts
19
21
  init_src();
22
+ init_openrouter_base_url();
23
+ init_secret_scrubber();
20
24
  import { mkdtemp, rm } from "node:fs/promises";
21
25
  import { tmpdir } from "node:os";
22
26
  import { join } from "node:path";
23
- init_secret_scrubber();
24
27
  function checkGrokCredentials(env) {
25
28
  return env.XAI_API_KEY?.trim() || env.OPENROUTER_API_KEY?.trim() ? { ready: true, missing: [], satisfiedBy: "env" } : {
26
29
  ready: false,
@@ -43,13 +46,22 @@ function grokOpenRouterModel(model, env) {
43
46
  const id = model.trim();
44
47
  if (!isGrokOpenRouterModel(id))
45
48
  return null;
49
+ const baseUrl = getOpenRouterBaseUrl(env);
46
50
  return {
47
51
  id,
48
52
  model: id.slice("openrouter/".length),
49
- baseUrl: getOpenRouterBaseUrl(env),
50
- envKey: "OPENROUTER_API_KEY"
53
+ baseUrl,
54
+ envKey: "OPENROUTER_API_KEY",
55
+ headers: getOpenRouterAttributionHeaders(baseUrl, env)
51
56
  };
52
57
  }
58
+ function tomlInlineTable(key, entries) {
59
+ const pairs = Object.entries(entries ?? {});
60
+ if (pairs.length === 0)
61
+ return [];
62
+ const body = pairs.map(([k, v]) => `${JSON.stringify(k)} = ${JSON.stringify(v)}`).join(", ");
63
+ return [`${key} = { ${body} }`];
64
+ }
53
65
  function buildGrokConfigToml(disabledPlugins, customModel = null) {
54
66
  const list = disabledPlugins.map((name) => JSON.stringify(name)).join(", ");
55
67
  const modelBlock = customModel ? [
@@ -58,7 +70,8 @@ function buildGrokConfigToml(disabledPlugins, customModel = null) {
58
70
  `model = ${JSON.stringify(customModel.model)}`,
59
71
  `base_url = ${JSON.stringify(customModel.baseUrl)}`,
60
72
  `env_key = ${JSON.stringify(customModel.envKey)}`,
61
- `api_backend = "chat_completions"`
73
+ `api_backend = "chat_completions"`,
74
+ ...tomlInlineTable("extra_headers", customModel.headers)
62
75
  ] : [];
63
76
  return [
64
77
  "[cli]",
@@ -7,7 +7,7 @@ var package_default;
7
7
  var init_package = __esm(() => {
8
8
  package_default = {
9
9
  name: "@desplega.ai/agent-swarm",
10
- version: "1.166.0",
10
+ version: "1.167.0",
11
11
  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.",
12
12
  keywords: [
13
13
  "agent-swarm.dev",
@@ -154,8 +154,8 @@ var init_package = __esm(() => {
154
154
  "start:portless": "portless api.swarm bun --expose-gc src/http.ts",
155
155
  inspector: "bunx @modelcontextprotocol/inspector --transport stdio bun src/stdio.ts",
156
156
  "inspector:http": "bunx @modelcontextprotocol/inspector --transport http https://api.swarm.localhost:1355/mcp",
157
- lint: "biome check src apps/evals packages/ui-e2e packages/model-routing",
158
- "lint:fix": "biome check --write src apps/evals packages/ui-e2e packages/model-routing",
157
+ lint: "biome check src apps/evals packages/ui-e2e packages/model-routing packages/model-catalog",
158
+ "lint:fix": "biome check --write src apps/evals packages/ui-e2e packages/model-routing packages/model-catalog",
159
159
  format: "biome format --write src",
160
160
  "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",
161
161
  "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",
@@ -210,19 +210,19 @@ var init_package = __esm(() => {
210
210
  "@agentclientprotocol/sdk": "1.7.0",
211
211
  "@ai-sdk/openai": "^3.0.41",
212
212
  "@anthropic-ai/claude-agent-sdk": "0.3.293",
213
- "@anthropic-ai/sdk": "^0.132.0",
213
+ "@anthropic-ai/sdk": "^0.132.1",
214
214
  "@asteasolutions/zod-to-openapi": "^8.0.0",
215
215
  "@aws-sdk/client-bedrock": "3.1048.0",
216
216
  "@cursor/sdk": "1.0.37",
217
217
  "@desplega.ai/business-use": "^0.4.2",
218
218
  "@desplega.ai/localtunnel": "^2.2.0",
219
- "@earendil-works/pi-agent-core": "^1.0.4",
220
- "@earendil-works/pi-ai": "^1.0.4",
221
- "@earendil-works/pi-coding-agent": "^1.0.4",
219
+ "@earendil-works/pi-agent-core": "^1.1.0",
220
+ "@earendil-works/pi-ai": "^1.1.0",
221
+ "@earendil-works/pi-coding-agent": "^1.1.0",
222
222
  "@inkjs/ui": "^2.0.0",
223
223
  "@jitl/quickjs-singlefile-mjs-release-sync": "0.32.0",
224
224
  "@linear/sdk": "^77.0.0",
225
- "@modelcontextprotocol/sdk": "1.29.0",
225
+ "@modelcontextprotocol/sdk": "1.31.0",
226
226
  "@openai/codex": "0.161.0",
227
227
  "@opencode-ai/sdk": "^1.18.35",
228
228
  "@openfort/openfort-node": "^0.9.1",
@@ -6,7 +6,7 @@ import {
6
6
  getDb,
7
7
  getDbClient,
8
8
  init_db1 as init_db
9
- } from "./cli-yshaazs1.js";
9
+ } from "./cli-mkdsy1nq.js";
10
10
  import {
11
11
  init_env_flag,
12
12
  isEnvFlagEnabled
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  materializeClaudeMd,
3
3
  stopClaudeMd
4
- } from "./cli-y59h2pk9.js";
4
+ } from "./cli-69egj654.js";
5
5
  import {
6
6
  guardGhPrBody
7
7
  } from "./cli-v6vv7dy8.js";
8
8
  import {
9
9
  summarizeSession
10
- } from "./cli-p4ztb80h.js";
10
+ } from "./cli-r7eeddkq.js";
11
11
  import {
12
12
  checkToolLoop,
13
13
  clearToolHistory
@@ -29,7 +29,7 @@ import {
29
29
  init_profile_sync,
30
30
  readIdentityBaselines,
31
31
  warnProfileFileTooLarge
32
- } from "./cli-jhm6hzjn.js";
32
+ } from "./cli-mxvnnv5q.js";
33
33
  import {
34
34
  MAX_PROFILE_FILE_LENGTH,
35
35
  getMcpBaseUrl,
@@ -38,7 +38,7 @@ import {
38
38
  import {
39
39
  init_package,
40
40
  package_default
41
- } from "./cli-4r1sjfc4.js";
41
+ } from "./cli-ymmc1zxg.js";
42
42
  import {
43
43
  init_secret_scrubber,
44
44
  scrubSecrets
@@ -511,9 +511,18 @@ async function handleHook() {
511
511
  }
512
512
  };
513
513
  const outputBlockResponse = (reason) => {
514
+ const response = msg.hook_event_name === "PreToolUse" ? {
515
+ hookSpecificOutput: {
516
+ hookEventName: "PreToolUse",
517
+ permissionDecision: "deny",
518
+ permissionDecisionReason: reason
519
+ }
520
+ } : { decision: "block", reason };
521
+ console.log(JSON.stringify(response));
522
+ };
523
+ const outputToolContext = (hookEventName, additionalContext) => {
514
524
  const response = {
515
- decision: "block",
516
- reason
525
+ hookSpecificOutput: { hookEventName, additionalContext }
517
526
  };
518
527
  console.log(JSON.stringify(response));
519
528
  };
@@ -597,7 +606,13 @@ async function handleHook() {
597
606
  };
598
607
  await ping();
599
608
  const agentInfo = await getAgentInfo();
600
- if (agentInfo) {
609
+ if (msg.hook_event_name === "UserPromptSubmit" && agentInfo && !agentInfo.isLead && agentInfo.status === "busy") {
610
+ if (await checkAndBlockIfCancelled(true)) {
611
+ return;
612
+ }
613
+ }
614
+ const isToolEvent = msg.hook_event_name === "PreToolUse" || msg.hook_event_name === "PostToolUse";
615
+ if (agentInfo && !isToolEvent) {
601
616
  console.log(`You are registered as ${agentInfo.isLead ? "lead" : "worker"} agent "${agentInfo.name}" (ID: ${agentInfo.id}, status: ${agentInfo.status}).`);
602
617
  if (agentInfo.inbox) {
603
618
  const tray = formatSystemTray(agentInfo.inbox);
@@ -606,7 +621,7 @@ async function handleHook() {
606
621
  }
607
622
  }
608
623
  } else if (shouldShowRegistrationNudge({
609
- agentInfoPresent: false,
624
+ agentInfoPresent: Boolean(agentInfo),
610
625
  eventType: msg.hook_event_name,
611
626
  hasAgentIdHeader: hasAgentIdHeader()
612
627
  })) {
@@ -715,6 +730,7 @@ You do not have a pre-defined agent ID, you will receive one when you join the s
715
730
  return;
716
731
  }
717
732
  }
733
+ let loopWarning;
718
734
  if (agentInfo && !agentInfo.isLead && agentInfo.status === "busy") {
719
735
  const loopTaskFile = await readTaskFile();
720
736
  if (loopTaskFile?.taskId && msg.tool_name && msg.tool_input) {
@@ -724,7 +740,7 @@ You do not have a pre-defined agent ID, you will receive one when you join the s
724
740
  return;
725
741
  }
726
742
  if (loopResult.severity === "warning" && loopResult.reason) {
727
- console.log(`Warning: ${loopResult.reason}`);
743
+ loopWarning = `Warning: ${loopResult.reason}`;
728
744
  }
729
745
  }
730
746
  }
@@ -735,6 +751,9 @@ You do not have a pre-defined agent ID, you will receive one when you join the s
735
751
  return;
736
752
  }
737
753
  }
754
+ if (loopWarning) {
755
+ outputToolContext("PreToolUse", loopWarning);
756
+ }
738
757
  break;
739
758
  }
740
759
  case "PostToolUse":
@@ -752,7 +771,7 @@ You do not have a pre-defined agent ID, you will receive one when you join the s
752
771
  method: "PUT",
753
772
  headers: mcpConfig.headers
754
773
  }).catch((e) => {
755
- console.debug("Failed to update agent activity timestamp:", e);
774
+ console.error("Failed to update agent activity timestamp:", e);
756
775
  });
757
776
  }
758
777
  if (agentInfo) {
@@ -797,19 +816,11 @@ You do not have a pre-defined agent ID, you will receive one when you join the s
797
816
  if (agentInfo.isLead) {
798
817
  if (msg.tool_name?.endsWith("send-task")) {
799
818
  const maybeTaskId = msg.tool_response?.task?.id;
800
- console.log(`Task sent successfully.${maybeTaskId ? ` Task ID: ${maybeTaskId}.` : ""} Monitor progress using the get-task-details tool periodically.`);
819
+ outputToolContext("PostToolUse", `Task sent successfully.${maybeTaskId ? ` Task ID: ${maybeTaskId}.` : ""} Monitor progress using the get-task-details tool periodically.`);
801
820
  }
802
821
  }
803
822
  }
804
823
  break;
805
- case "UserPromptSubmit": {
806
- if (agentInfo && !agentInfo.isLead && agentInfo.status === "busy") {
807
- if (await checkAndBlockIfCancelled(true)) {
808
- return;
809
- }
810
- }
811
- break;
812
- }
813
824
  case "Stop":
814
825
  try {
815
826
  const pm2ListOutput = await Bun.$`pm2 jlist 2>/dev/null || echo "[]"`.text();
@@ -72,6 +72,8 @@ async function retryProviderRequest(request, options = {}) {
72
72
  throw createAbortError();
73
73
  if (retriesRemaining <= 0 || !isProviderError(error) || !isRetryableProviderError(error))
74
74
  throw error;
75
+ if (error.status !== undefined && options.noRetryStatuses?.includes(error.status))
76
+ throw error;
75
77
  const retryIndex = maxRetries - retriesRemaining;
76
78
  retriesRemaining--;
77
79
  await abortableSleep(getRetryDelayMs(error, retryIndex, options.maxRetryDelayMs), options.signal);
package/dist/cli.js CHANGED
@@ -13,21 +13,21 @@ import"./cli-0xqde53b.js";
13
13
  import"./cli-pqetb83f.js";
14
14
  import {
15
15
  bedrockProviderModule
16
- } from "./cli-ng97fjq7.js";
16
+ } from "./cli-cmxkbzzs.js";
17
17
  import"./cli-yn0a417a.js";
18
18
  import"./cli-cgj4hc12.js";
19
19
  import"./cli-txgcknmy.js";
20
20
  import"./cli-6map995v.js";
21
- import"./cli-8kt0bmgx.js";
21
+ import"./cli-xf713zz0.js";
22
22
  import"./cli-y2apkfe2.js";
23
23
  import"./cli-7kyk9jr3.js";
24
24
  import {
25
25
  setBedrockProviderModule
26
- } from "./cli-b0f70z24.js";
27
- import"./cli-nexwh8zg.js";
26
+ } from "./cli-mn8qkd8v.js";
27
+ import"./cli-g7k7zbcz.js";
28
28
  import"./cli-btbzvq95.js";
29
29
  import"./cli-1m2e086m.js";
30
- import"./cli-bzr0ftht.js";
30
+ import"./cli-wnb9b2g3.js";
31
31
  import"./cli-bd957dgb.js";
32
32
  import {
33
33
  init_secret_scrubber,
@@ -62,7 +62,7 @@ var import_react = __toESM(require_react(), 1);
62
62
  // package.json
63
63
  var package_default = {
64
64
  name: "@desplega.ai/agent-swarm",
65
- version: "1.166.0",
65
+ version: "1.167.0",
66
66
  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.",
67
67
  keywords: [
68
68
  "agent-swarm.dev",
@@ -209,8 +209,8 @@ var package_default = {
209
209
  "start:portless": "portless api.swarm bun --expose-gc src/http.ts",
210
210
  inspector: "bunx @modelcontextprotocol/inspector --transport stdio bun src/stdio.ts",
211
211
  "inspector:http": "bunx @modelcontextprotocol/inspector --transport http https://api.swarm.localhost:1355/mcp",
212
- lint: "biome check src apps/evals packages/ui-e2e packages/model-routing",
213
- "lint:fix": "biome check --write src apps/evals packages/ui-e2e packages/model-routing",
212
+ lint: "biome check src apps/evals packages/ui-e2e packages/model-routing packages/model-catalog",
213
+ "lint:fix": "biome check --write src apps/evals packages/ui-e2e packages/model-routing packages/model-catalog",
214
214
  format: "biome format --write src",
215
215
  "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",
216
216
  "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",
@@ -265,19 +265,19 @@ var package_default = {
265
265
  "@agentclientprotocol/sdk": "1.7.0",
266
266
  "@ai-sdk/openai": "^3.0.41",
267
267
  "@anthropic-ai/claude-agent-sdk": "0.3.293",
268
- "@anthropic-ai/sdk": "^0.132.0",
268
+ "@anthropic-ai/sdk": "^0.132.1",
269
269
  "@asteasolutions/zod-to-openapi": "^8.0.0",
270
270
  "@aws-sdk/client-bedrock": "3.1048.0",
271
271
  "@cursor/sdk": "1.0.37",
272
272
  "@desplega.ai/business-use": "^0.4.2",
273
273
  "@desplega.ai/localtunnel": "^2.2.0",
274
- "@earendil-works/pi-agent-core": "^1.0.4",
275
- "@earendil-works/pi-ai": "^1.0.4",
276
- "@earendil-works/pi-coding-agent": "^1.0.4",
274
+ "@earendil-works/pi-agent-core": "^1.1.0",
275
+ "@earendil-works/pi-ai": "^1.1.0",
276
+ "@earendil-works/pi-coding-agent": "^1.1.0",
277
277
  "@inkjs/ui": "^2.0.0",
278
278
  "@jitl/quickjs-singlefile-mjs-release-sync": "0.32.0",
279
279
  "@linear/sdk": "^77.0.0",
280
- "@modelcontextprotocol/sdk": "1.29.0",
280
+ "@modelcontextprotocol/sdk": "1.31.0",
281
281
  "@openai/codex": "0.161.0",
282
282
  "@opencode-ai/sdk": "^1.18.35",
283
283
  "@openfort/openfort-node": "^0.9.1",
@@ -813,7 +813,7 @@ function McpServer({ port, apiKey, dbPath }) {
813
813
  if (dbPath) {
814
814
  process.env.DATABASE_PATH = dbPath;
815
815
  }
816
- import("./http-3h21z9md.js").then(() => {
816
+ import("./http-jsmtag08.js").then(() => {
817
817
  setStatus("running");
818
818
  }).catch((err) => {
819
819
  setStatus("error");
@@ -900,7 +900,7 @@ function WorkerRunner({
900
900
  const { exit } = use_app_default();
901
901
  import_react.useEffect(() => {
902
902
  installConsoleScrub();
903
- import("./worker-qa9fkz5s.js").then(({ runWorker }) => runWorker({
903
+ import("./worker-x8j8c9sx.js").then(({ runWorker }) => runWorker({
904
904
  prompt: prompt || undefined,
905
905
  yolo,
906
906
  systemPrompt: systemPrompt || undefined,
@@ -918,7 +918,7 @@ function LeadRunner({ prompt, yolo, systemPrompt, systemPromptFile, additionalAr
918
918
  const { exit } = use_app_default();
919
919
  import_react.useEffect(() => {
920
920
  installConsoleScrub();
921
- import("./lead-6qphc124.js").then(({ runLead }) => runLead({
921
+ import("./lead-r44bkpm5.js").then(({ runLead }) => runLead({
922
922
  prompt: prompt || undefined,
923
923
  yolo,
924
924
  systemPrompt: systemPrompt || undefined,
@@ -958,8 +958,8 @@ function LazyComponent({
958
958
  }
959
959
  return import_react.createElement(Component, props);
960
960
  }
961
- var loadOnboard = () => import("./onboard-54qmnqxe.js").then(({ Onboard }) => Onboard);
962
- var loadConnect = () => import("./setup-ymej0xtx.js").then(({ Setup }) => Setup);
961
+ var loadOnboard = () => import("./onboard-v60zgqf0.js").then(({ Onboard }) => Onboard);
962
+ var loadConnect = () => import("./setup-4syh0pd2.js").then(({ Setup }) => Setup);
963
963
  function UnknownCommand({ command }) {
964
964
  const { exit } = use_app_default();
965
965
  import_react.useEffect(() => {
@@ -1089,14 +1089,14 @@ ${binName} docs \u2014 v${package_default.version}
1089
1089
  }
1090
1090
  process.exit(0);
1091
1091
  } else if (args.command === "hook") {
1092
- const { runHook } = await import("./hook-vxa3tcsy.js");
1092
+ const { runHook } = await import("./hook-qnbdgwvd.js");
1093
1093
  await runHook();
1094
1094
  } else if (args.command === "codex-hook") {
1095
- const { handleCodexHook } = await import("./codex-hook-d2rkvf39.js");
1095
+ const { handleCodexHook } = await import("./codex-hook-15dgc4cb.js");
1096
1096
  await handleCodexHook();
1097
1097
  process.exit(process.exitCode ?? 0);
1098
1098
  } else if (args.command === "session-summary-stdin") {
1099
- const { runSessionSummaryFromStdin } = await import("./hook-ds2zxq9v.js");
1099
+ const { runSessionSummaryFromStdin } = await import("./hook-51yfcgsv.js");
1100
1100
  await runSessionSummaryFromStdin();
1101
1101
  process.exit(process.exitCode ?? 0);
1102
1102
  } else if (args.command === "artifact") {
@@ -1117,7 +1117,7 @@ ${binName} docs \u2014 v${package_default.version}
1117
1117
  printHelp("scripts");
1118
1118
  process.exit(scriptsArgs[0] === "reembed" || args.showHelp ? 0 : 1);
1119
1119
  }
1120
- const { runScriptsMaintenanceCommand } = await import("./maintenance-0teem1bb.js");
1120
+ const { runScriptsMaintenanceCommand } = await import("./maintenance-grz5jrzh.js");
1121
1121
  await runScriptsMaintenanceCommand(scriptsArgs);
1122
1122
  console.log("Scripts re-embedded.");
1123
1123
  } else if (args.command === "rbac") {
@@ -1127,17 +1127,17 @@ ${binName} docs \u2014 v${package_default.version}
1127
1127
  printHelp("rbac");
1128
1128
  process.exit(args.showHelp ? 0 : 1);
1129
1129
  }
1130
- const { runRbacCliCommand } = await import("./rbac-roles-9pjphh9q.js");
1130
+ const { runRbacCliCommand } = await import("./rbac-roles-fd5tskj9.js");
1131
1131
  await runRbacCliCommand(rbacArgs);
1132
1132
  } else if (args.command === "codex-login") {
1133
- const { runCodexLogin } = await import("./codex-login-terbdsqq.js");
1133
+ const { runCodexLogin } = await import("./codex-login-g1cyt5zm.js");
1134
1134
  const codexLoginArgs = process.argv.slice(process.argv.indexOf("codex-login") + 1);
1135
1135
  await runCodexLogin(codexLoginArgs);
1136
1136
  } else if (args.command === "codex-session-runner") {
1137
- const { runCodexSessionRunner } = await import("./codex-session-runner-3cgb8y1g.js");
1137
+ const { runCodexSessionRunner } = await import("./codex-session-runner-8kd7ddhr.js");
1138
1138
  await runCodexSessionRunner();
1139
1139
  } else if (args.command === "claude-managed-setup") {
1140
- const { runClaudeManagedSetup } = await import("./claude-managed-setup-cvhqq8qn.js");
1140
+ const { runClaudeManagedSetup } = await import("./claude-managed-setup-nrhfx5b0.js");
1141
1141
  const setupArgs = process.argv.slice(process.argv.indexOf("claude-managed-setup") + 1);
1142
1142
  await runClaudeManagedSetup(setupArgs);
1143
1143
  } else if (args.command === "e2b") {
@@ -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/cloudflare-workers-ai-system-one.js
@@ -7,46 +7,46 @@ import {
7
7
  createInProcessCodexSession,
8
8
  resolveCodexAuthMode,
9
9
  resolveCodexRunnerArgv
10
- } from "./cli-8t229cmr.js";
10
+ } from "./cli-m7vmeepg.js";
11
11
  import"./cli-hsxj0yar.js";
12
12
  import"./cli-gt4hxb8p.js";
13
+ import"./cli-bqjfjex4.js";
13
14
  import"./cli-q2j38vre.js";
15
+ import"./cli-r7eeddkq.js";
16
+ import"./cli-hp1n6zq3.js";
14
17
  import"./cli-zm7njwzd.js";
15
18
  import"./cli-ptcz1cqy.js";
16
- import"./cli-32bca7nr.js";
17
- import"./cli-p4ztb80h.js";
18
- import"./cli-hp1n6zq3.js";
19
- import"./cli-bqjfjex4.js";
19
+ import"./cli-7avy4v8w.js";
20
20
  import"./cli-2pdaysab.js";
21
- import"./cli-ttbsse3f.js";
21
+ import"./cli-tmhsxhb8.js";
22
22
  import"./cli-w0bwte75.js";
23
23
  import"./cli-re8z5p8p.js";
24
24
  import"./cli-f14fvzag.js";
25
+ import"./cli-7mhy3ths.js";
26
+ import"./cli-v1w7pbd8.js";
25
27
  import"./cli-zt3w1cn1.js";
26
- import"./cli-f2n17zhp.js";
27
- import"./cli-feh3dkah.js";
28
- import"./cli-3dpj7atn.js";
29
- import"./cli-2x0e561b.js";
30
- import"./cli-pkke6geq.js";
28
+ import"./cli-km4x66j0.js";
31
29
  import"./cli-rb9m6rpe.js";
30
+ import"./cli-2x0e561b.js";
32
31
  import"./cli-bsakbbkm.js";
33
32
  import"./cli-zxg80zs9.js";
34
33
  import"./cli-ydt3zkwv.js";
35
- import"./cli-b0f70z24.js";
36
- import"./cli-nexwh8zg.js";
34
+ import"./cli-mn8qkd8v.js";
35
+ import"./cli-g7k7zbcz.js";
37
36
  import"./cli-btbzvq95.js";
38
37
  import"./cli-1m2e086m.js";
39
- import"./cli-bzr0ftht.js";
38
+ import"./cli-wnb9b2g3.js";
40
39
  import"./cli-xvdgasgy.js";
41
- import"./cli-ywybs5as.js";
42
- import"./cli-gd4favx9.js";
43
40
  import"./cli-1a2j50m0.js";
41
+ import"./cli-ywybs5as.js";
44
42
  import"./cli-f9w1semm.js";
43
+ import"./cli-a35hzdve.js";
44
+ import"./cli-gd4favx9.js";
45
45
  import"./cli-ej6gbxfb.js";
46
- import"./cli-zsh093hk.js";
46
+ import"./cli-014vns2y.js";
47
47
  import"./cli-sd0mxa3c.js";
48
48
  import"./cli-w5e1d1vv.js";
49
- import"./cli-4r1sjfc4.js";
49
+ import"./cli-ymmc1zxg.js";
50
50
  import"./cli-wt7ccy4r.js";
51
51
  import"./cli-knd276ed.js";
52
52
  import"./cli-bc05qbss.js";
@@ -7,7 +7,7 @@ import {
7
7
  loadAllCodexOAuthSlots,
8
8
  loginCodexOAuth,
9
9
  storeCodexOAuth
10
- } from "./cli-feh3dkah.js";
10
+ } from "./cli-v1w7pbd8.js";
11
11
  import"./cli-1a2j50m0.js";
12
12
  import"./cli-wt7ccy4r.js";
13
13
  import {
@@ -1,45 +1,45 @@
1
1
  import {
2
2
  createInProcessCodexSession
3
- } from "./cli-8t229cmr.js";
3
+ } from "./cli-m7vmeepg.js";
4
4
  import"./cli-hsxj0yar.js";
5
5
  import"./cli-gt4hxb8p.js";
6
+ import"./cli-bqjfjex4.js";
6
7
  import"./cli-q2j38vre.js";
8
+ import"./cli-r7eeddkq.js";
9
+ import"./cli-hp1n6zq3.js";
7
10
  import"./cli-zm7njwzd.js";
8
11
  import"./cli-ptcz1cqy.js";
9
- import"./cli-32bca7nr.js";
10
- import"./cli-p4ztb80h.js";
11
- import"./cli-hp1n6zq3.js";
12
- import"./cli-bqjfjex4.js";
12
+ import"./cli-7avy4v8w.js";
13
13
  import"./cli-2pdaysab.js";
14
- import"./cli-ttbsse3f.js";
14
+ import"./cli-tmhsxhb8.js";
15
15
  import"./cli-w0bwte75.js";
16
16
  import"./cli-re8z5p8p.js";
17
17
  import"./cli-f14fvzag.js";
18
+ import"./cli-7mhy3ths.js";
19
+ import"./cli-v1w7pbd8.js";
18
20
  import"./cli-zt3w1cn1.js";
19
- import"./cli-f2n17zhp.js";
20
- import"./cli-feh3dkah.js";
21
- import"./cli-3dpj7atn.js";
22
- import"./cli-2x0e561b.js";
23
- import"./cli-pkke6geq.js";
21
+ import"./cli-km4x66j0.js";
24
22
  import"./cli-rb9m6rpe.js";
23
+ import"./cli-2x0e561b.js";
25
24
  import"./cli-bsakbbkm.js";
26
25
  import"./cli-zxg80zs9.js";
27
26
  import"./cli-ydt3zkwv.js";
28
- import"./cli-b0f70z24.js";
29
- import"./cli-nexwh8zg.js";
27
+ import"./cli-mn8qkd8v.js";
28
+ import"./cli-g7k7zbcz.js";
30
29
  import"./cli-btbzvq95.js";
31
30
  import"./cli-1m2e086m.js";
32
- import"./cli-bzr0ftht.js";
31
+ import"./cli-wnb9b2g3.js";
33
32
  import"./cli-xvdgasgy.js";
34
- import"./cli-ywybs5as.js";
35
- import"./cli-gd4favx9.js";
36
33
  import"./cli-1a2j50m0.js";
34
+ import"./cli-ywybs5as.js";
37
35
  import"./cli-f9w1semm.js";
36
+ import"./cli-a35hzdve.js";
37
+ import"./cli-gd4favx9.js";
38
38
  import"./cli-ej6gbxfb.js";
39
- import"./cli-zsh093hk.js";
39
+ import"./cli-014vns2y.js";
40
40
  import"./cli-sd0mxa3c.js";
41
41
  import"./cli-w5e1d1vv.js";
42
- import"./cli-4r1sjfc4.js";
42
+ import"./cli-ymmc1zxg.js";
43
43
  import {
44
44
  init_secret_scrubber,
45
45
  scrubSecrets
@@ -2,28 +2,29 @@ import {
2
2
  getAllAgents,
3
3
  getAllTasks,
4
4
  init_db1 as init_db
5
- } from "./cli-yshaazs1.js";
6
- import"./cli-xvdgasgy.js";
5
+ } from "./cli-mkdsy1nq.js";
7
6
  import"./cli-3qhyh31j.js";
8
- import"./cli-jhm6hzjn.js";
7
+ import"./cli-xvdgasgy.js";
8
+ import"./cli-mxvnnv5q.js";
9
9
  import"./cli-7mm2r1kp.js";
10
10
  import"./cli-g5erf0zt.js";
11
11
  import"./cli-dmtrxqhg.js";
12
- import"./cli-tadfgd0t.js";
13
- import"./cli-ywybs5as.js";
14
- import"./cli-gd4favx9.js";
15
12
  import"./cli-agamgm0p.js";
16
13
  import"./cli-5c2j5yvx.js";
17
14
  import"./cli-1a2j50m0.js";
15
+ import"./cli-tadfgd0t.js";
16
+ import"./cli-ywybs5as.js";
18
17
  import"./cli-f9w1semm.js";
18
+ import"./cli-a35hzdve.js";
19
+ import"./cli-gd4favx9.js";
19
20
  import {
20
21
  init_env_flag,
21
22
  isEnvFlagEnabled
22
23
  } from "./cli-ej6gbxfb.js";
23
- import"./cli-zsh093hk.js";
24
+ import"./cli-014vns2y.js";
24
25
  import"./cli-sd0mxa3c.js";
25
26
  import"./cli-w5e1d1vv.js";
26
- import"./cli-4r1sjfc4.js";
27
+ import"./cli-ymmc1zxg.js";
27
28
  import"./cli-zf8jjwex.js";
28
29
  import"./cli-wt7ccy4r.js";
29
30
  import"./cli-bc05qbss.js";
@@ -6,17 +6,17 @@ import {
6
6
  cursorModelSelection,
7
7
  liveTestCursorKey,
8
8
  translateCursorMessage
9
- } from "./cli-68r1j4sg.js";
9
+ } from "./cli-6bpvv8h4.js";
10
10
  import"./cli-ptcz1cqy.js";
11
- import"./cli-32bca7nr.js";
12
- import"./cli-ttbsse3f.js";
11
+ import"./cli-7avy4v8w.js";
12
+ import"./cli-tmhsxhb8.js";
13
13
  import"./cli-re8z5p8p.js";
14
14
  import"./cli-xvdgasgy.js";
15
15
  import"./cli-g5erf0zt.js";
16
- import"./cli-gd4favx9.js";
17
16
  import"./cli-5c2j5yvx.js";
17
+ import"./cli-gd4favx9.js";
18
18
  import"./cli-ej6gbxfb.js";
19
- import"./cli-zsh093hk.js";
19
+ import"./cli-014vns2y.js";
20
20
  import"./cli-sd0mxa3c.js";
21
21
  import"./cli-w5e1d1vv.js";
22
22
  import"./cli-wt7ccy4r.js";