@desplega.ai/agent-swarm 2.4.1 → 2.4.2

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 (109) hide show
  1. package/dist/{acp-adapter-zvzr538d.js → acp-adapter-dv7hmx4r.js} +1 -1
  2. package/dist/{actions-jhtqdw69.js → actions-51nc1gny.js} +16 -16
  3. package/dist/{amp-adapter-bd84rhs2.js → amp-adapter-abp5tdx8.js} +1 -1
  4. package/dist/{app-kreq1gwg.js → app-9h14qvr6.js} +3 -3
  5. package/dist/{assistant-3k22sbsq.js → assistant-wv1gz3mt.js} +17 -17
  6. package/dist/{boot-reembed-e53x6b9v.js → boot-reembed-6yn53ms9.js} +1 -1
  7. package/dist/{boot-reembed-f6z923ny.js → boot-reembed-7fcka4z5.js} +1 -1
  8. package/dist/{boot-scrub-sweep-0538vsb7.js → boot-scrub-sweep-pm1580ax.js} +2 -2
  9. package/dist/{boot-seeds-6wxqkfk2.js → boot-seeds-g5hfc1x8.js} +4 -4
  10. package/dist/{claude-adapter-gfts5044.js → claude-adapter-gf3kxhf0.js} +2 -2
  11. package/dist/{claude-sdk-session-56besmfz.js → claude-sdk-session-s2k1qd8y.js} +2 -2
  12. package/dist/{cli-tbhwrxpt.js → cli-02qm7src.js} +3 -3
  13. package/dist/{cli-3kh4kpqy.js → cli-0qvtffe9.js} +5 -5
  14. package/dist/{cli-p6argxh9.js → cli-10hhg0km.js} +6 -6
  15. package/dist/{cli-gf0kfg81.js → cli-239yjk27.js} +2 -2
  16. package/dist/{cli-kr2pmfqx.js → cli-5rk36sjf.js} +72 -59
  17. package/dist/{cli-nx462e4v.js → cli-7awf1fp8.js} +1 -1
  18. package/dist/{cli-jh0qcrga.js → cli-8sxqsbbq.js} +1 -1
  19. package/dist/{cli-axh29tyr.js → cli-8zwe9mpk.js} +5 -5
  20. package/dist/{cli-z1ew8vbq.js → cli-ahtpy9kf.js} +1 -1
  21. package/dist/{cli-3r448dqn.js → cli-bcj753sq.js} +3 -3
  22. package/dist/{cli-rqqsfz30.js → cli-d3qqdy4c.js} +82 -12
  23. package/dist/{cli-z071fb95.js → cli-efaqv1c7.js} +4 -4
  24. package/dist/{cli-s48yvzb8.js → cli-faypxz7q.js} +3 -3
  25. package/dist/{cli-m2qgh5sv.js → cli-ftyypbg5.js} +1 -1
  26. package/dist/{cli-6ncjvx55.js → cli-fyzjmseb.js} +1 -1
  27. package/dist/{cli-0bh477zn.js → cli-h38rjv87.js} +117 -9
  28. package/dist/{cli-3p8fqcnh.js → cli-h93c9vb3.js} +1 -1
  29. package/dist/{cli-rdq7tzwm.js → cli-hyfw2j1e.js} +8 -8
  30. package/dist/{cli-bn5kevnf.js → cli-n85dqg6d.js} +2 -2
  31. package/dist/{cli-fz9kewbh.js → cli-nmqdc2t3.js} +1 -1
  32. package/dist/{cli-vy0fay6k.js → cli-nn47d7e8.js} +10 -10
  33. package/dist/{cli-mfe7f7b5.js → cli-pkht5hap.js} +1 -1
  34. package/dist/{cli-xftrvxag.js → cli-r99kc9yq.js} +1 -1
  35. package/dist/{cli-p0rakbrk.js → cli-rdyw3mct.js} +1 -1
  36. package/dist/{cli-sjyetj21.js → cli-s6vr7r2d.js} +1 -1
  37. package/dist/{cli-k9z4zd4p.js → cli-saw9a6f6.js} +2 -2
  38. package/dist/{cli-ash6xxk7.js → cli-shvfedvm.js} +2 -2
  39. package/dist/{cli-syhq378v.js → cli-t30yj95q.js} +1 -1
  40. package/dist/{cli-kmqgmcnb.js → cli-y2x52gs2.js} +4 -4
  41. package/dist/{cli-471qk6s2.js → cli-y8n5k515.js} +14 -14
  42. package/dist/{cli-3tnpj2bh.js → cli-z4wd2ftv.js} +1 -1
  43. package/dist/cli.js +12 -12
  44. package/dist/{codex-adapter-p6rmm7vv.js → codex-adapter-ttygw382.js} +1 -1
  45. package/dist/{codex-session-runner-8vd5t9t0.js → codex-session-runner-60b58vv3.js} +1 -1
  46. package/dist/{commands-7ems2p13.js → commands-edmdwa4x.js} +2 -2
  47. package/dist/{controllers-connect-bg33ae53.js → controllers-connect-5fym8sw1.js} +16 -16
  48. package/dist/{db-ys2rbdft.js → db-2y0mgstc.js} +3 -3
  49. package/dist/{db-w505dwa8.js → db-nn0hcmx5.js} +5 -1
  50. package/dist/{dispatcher-0s0mckqr.js → dispatcher-0a9wwjcx.js} +15 -15
  51. package/dist/{external-channel-5b23fv8z.js → external-channel-zhvt95n3.js} +2 -2
  52. package/dist/{grok-adapter-q9fghe5q.js → grok-adapter-qnr1hp2y.js} +2 -2
  53. package/dist/{handlers-mqrym347.js → handlers-dkcarkd0.js} +18 -18
  54. package/dist/{heartbeat-tww6yx1w.js → heartbeat-gz97r7ac.js} +17 -17
  55. package/dist/{hook-dx0pkvar.js → hook-1mmdgjqs.js} +1 -1
  56. package/dist/{hook-pvmh9b6m.js → hook-x8rthca4.js} +1 -1
  57. package/dist/{http-k2ejbt05.js → http-r8f85xr9.js} +111 -65
  58. package/dist/{index-pqfwh9nn.js → index-5jecgp3n.js} +17 -17
  59. package/dist/{index-h2ek08d6.js → index-aex0eba9.js} +15 -15
  60. package/dist/{index-x5aktmp8.js → index-smxyk04s.js} +1 -1
  61. package/dist/{index-dgz61nff.js → index-vzvfqzfj.js} +15 -15
  62. package/dist/{index-2z710v4x.js → index-y7rbcrc1.js} +8 -8
  63. package/dist/{keepalive-nhvpw10z.js → keepalive-64c0f34c.js} +3 -3
  64. package/dist/{lead-jb6sf69z.js → lead-b1da0f97.js} +23 -23
  65. package/dist/{maintenance-agakc519.js → maintenance-mnxpar12.js} +1 -1
  66. package/dist/{oauth-refresh-sweep-4dcbhtn0.js → oauth-refresh-sweep-36hs2v4h.js} +2 -2
  67. package/dist/{onboard-4n2kwa4v.js → onboard-xes8de61.js} +2 -2
  68. package/dist/{otel-impl-tfa12080.js → otel-impl-fzc57kcq.js} +1 -1
  69. package/dist/{pricing-refresh-3cqx3f3x.js → pricing-refresh-1nek2w7b.js} +3 -3
  70. package/dist/{rbac-roles-y6zbfzve.js → rbac-roles-sqefb5hw.js} +2 -2
  71. package/dist/{rbac-roles-9fae5rnv.js → rbac-roles-ttyfaep2.js} +1 -1
  72. package/dist/{render-v2-emawjvc4.js → render-v2-vb527jwn.js} +3 -3
  73. package/dist/{resume-zhgts7h7.js → resume-jcdzg1bn.js} +5 -5
  74. package/dist/{session-access-cm823e06.js → session-access-zsp4wsp0.js} +4 -4
  75. package/dist/{setup-tkp99w1e.js → setup-1nb2zqd3.js} +1 -1
  76. package/dist/{work-objects-f722h263.js → work-objects-61w08fwr.js} +18 -18
  77. package/dist/{worker-p7f336rq.js → worker-c1e68hpa.js} +23 -23
  78. package/openapi.json +393 -1
  79. package/package.json +2 -2
  80. package/src/apps/catalog.generated.json +3 -2
  81. package/src/apps/definition.ts +152 -4
  82. package/src/apps/row-store.ts +19 -7
  83. package/src/apps/schema-migrate.ts +14 -6
  84. package/src/apps/script-types.ts +1 -0
  85. package/src/apps/sync.ts +20 -19
  86. package/src/be/db/tasks/read.ts +112 -0
  87. package/src/be/db.ts +2 -0
  88. package/src/be/swarm-config-guard.ts +15 -0
  89. package/src/http/apps.ts +15 -2
  90. package/src/http/status.ts +49 -43
  91. package/src/http/tasks.ts +47 -0
  92. package/src/providers/acp-targets.ts +1 -1
  93. package/src/providers/amp-adapter.ts +1 -1
  94. package/src/telemetry.ts +15 -3
  95. package/src/tests/app-row-tools.test.ts +25 -0
  96. package/src/tests/apps-json-column.test.ts +611 -0
  97. package/src/tests/apps-script-types.test.ts +2 -0
  98. package/src/tests/apps-sync-engine.test.ts +42 -0
  99. package/src/tests/db-task-read-contract.test.ts +4 -0
  100. package/src/tests/db-task-write-contract.test.ts +2 -0
  101. package/src/tests/docs-index-footprint.test.js +2 -2
  102. package/src/tests/runner-harness-telemetry-env.test.ts +6 -0
  103. package/src/tests/status.test.ts +158 -9
  104. package/src/tests/task-lineage.test.ts +180 -0
  105. package/src/tests/telemetry-init.test.ts +62 -5
  106. package/src/tests/user-token-rest-auth.test.ts +38 -0
  107. package/src/tools/app-rows.ts +5 -0
  108. package/templates/skills/apps/SKILL.md +3 -2
  109. package/templates/skills/apps/content.md +3 -2
@@ -66,7 +66,7 @@ import {
66
66
  getStaleApprovalRequests2,
67
67
  upsertKv2,
68
68
  init_db3
69
- } from "./cli-rqqsfz30.js";
69
+ } from "./cli-d3qqdy4c.js";
70
70
  import {
71
71
  poolTaskRunsOnHarness,
72
72
  isRuntimePoolWakeable,
@@ -91,24 +91,24 @@ import {
91
91
  createRerouteDecisionTask,
92
92
  createPoolStarvationDecisionTask,
93
93
  canClaim
94
- } from "./cli-kr2pmfqx.js";
94
+ } from "./cli-5rk36sjf.js";
95
95
  import {
96
96
  listRuntimePools2,
97
97
  init_db
98
- } from "./cli-bn5kevnf.js";
98
+ } from "./cli-n85dqg6d.js";
99
99
  import {
100
100
  createApprovalFollowUpTask
101
- } from "./cli-tbhwrxpt.js";
101
+ } from "./cli-02qm7src.js";
102
102
  import {
103
103
  remediateStalledRuntime
104
- } from "./cli-axh29tyr.js";
104
+ } from "./cli-8zwe9mpk.js";
105
105
  import {
106
106
  runSavedScriptAsAgent
107
- } from "./cli-0bh477zn.js";
107
+ } from "./cli-h38rjv87.js";
108
108
  import {
109
109
  mintToken,
110
110
  init_users
111
- } from "./cli-fz9kewbh.js";
111
+ } from "./cli-nmqdc2t3.js";
112
112
  import {
113
113
  TERMINAL_TASK_STATUSES,
114
114
  SUPERSEDED_WORKFLOW_TASK_REASON,
@@ -128,7 +128,7 @@ import {
128
128
  import {
129
129
  init_package,
130
130
  package_default
131
- } from "./cli-ash6xxk7.js";
131
+ } from "./cli-shvfedvm.js";
132
132
  import {
133
133
  isEnvFlagEnabled,
134
134
  init_env_flag
@@ -15,7 +15,7 @@ import {
15
15
  init_secret_registry,
16
16
  upsertSwarmConfig2,
17
17
  init_db3
18
- } from "./cli-rqqsfz30.js";
18
+ } from "./cli-d3qqdy4c.js";
19
19
  import {
20
20
  createRuntimeProvider,
21
21
  init_runtime_providers
@@ -25,7 +25,7 @@ import {
25
25
  init_session_token_connections,
26
26
  insertSessionToken,
27
27
  init_users
28
- } from "./cli-fz9kewbh.js";
28
+ } from "./cli-nmqdc2t3.js";
29
29
  import {
30
30
  RuntimeControllerCreateSchema,
31
31
  RuntimeControllerUpdateSchema,
@@ -5,7 +5,7 @@ import {
5
5
  validateRuntimeTokenTtlHours,
6
6
  init_swarm_config_guard,
7
7
  init_db3
8
- } from "./cli-rqqsfz30.js";
8
+ } from "./cli-d3qqdy4c.js";
9
9
  import {
10
10
  unregisterVolatileSecret,
11
11
  init_secret_scrubber
@@ -47,10 +47,10 @@ import {
47
47
  checkDependencies2,
48
48
  emitBuiltInIntegrationConnectedOnce2,
49
49
  init_db3
50
- } from "./cli-rqqsfz30.js";
50
+ } from "./cli-d3qqdy4c.js";
51
51
  import {
52
52
  getChannelBlockReason2
53
- } from "./cli-mfe7f7b5.js";
53
+ } from "./cli-pkht5hap.js";
54
54
  import {
55
55
  require_dist5,
56
56
  require_axios,
@@ -6235,7 +6235,7 @@ async function initOtel(serviceRole = process.env.AGENT_ROLE || "api") {
6235
6235
  return;
6236
6236
  initialized = true;
6237
6237
  try {
6238
- const impl = await import("./otel-impl-tfa12080.js");
6238
+ const impl = await import("./otel-impl-fzc57kcq.js");
6239
6239
  await impl.boot(serviceRole, {
6240
6240
  exportConsoleLogs: serviceRole === "api" && isApiLogExportEnabled()
6241
6241
  });
@@ -10080,17 +10080,17 @@ async function initSlackApp2() {
10080
10080
  });
10081
10081
  initialized2 = true;
10082
10082
  app.use(slackInboundOutcomeMiddleware());
10083
- const { registerMessageHandler } = await import("./handlers-mqrym347.js");
10084
- const { registerCommandHandler } = await import("./commands-7ems2p13.js");
10085
- const { registerActionHandlers } = await import("./actions-jhtqdw69.js");
10086
- const { registerWorkObjectHandlers } = await import("./work-objects-f722h263.js");
10083
+ const { registerMessageHandler } = await import("./handlers-dkcarkd0.js");
10084
+ const { registerCommandHandler } = await import("./commands-edmdwa4x.js");
10085
+ const { registerActionHandlers } = await import("./actions-51nc1gny.js");
10086
+ const { registerWorkObjectHandlers } = await import("./work-objects-61w08fwr.js");
10087
10087
  registerMessageHandler(app);
10088
10088
  registerCommandHandler(app);
10089
10089
  registerActionHandlers(app);
10090
10090
  registerWorkObjectHandlers(app);
10091
- const { createAssistant } = await import("./assistant-3k22sbsq.js");
10091
+ const { createAssistant } = await import("./assistant-wv1gz3mt.js");
10092
10092
  app.assistant(createAssistant());
10093
- const { isBlockExternalEnabled, scanExternalChannelsOnBoot } = await import("./external-channel-5b23fv8z.js");
10093
+ const { isBlockExternalEnabled, scanExternalChannelsOnBoot } = await import("./external-channel-zhvt95n3.js");
10094
10094
  if (isBlockExternalEnabled()) {
10095
10095
  scanExternalChannelsOnBoot(app.client).catch((error) => {
10096
10096
  console.error("[Slack] External channel boot scan failed:", error);
@@ -10103,7 +10103,7 @@ async function startSlackApp2() {
10103
10103
  await initSlackApp2();
10104
10104
  }
10105
10105
  if (app) {
10106
- const { isSlackRenderV2Enabled } = await import("./render-v2-emawjvc4.js");
10106
+ const { isSlackRenderV2Enabled } = await import("./render-v2-vb527jwn.js");
10107
10107
  if (isSlackRenderV2Enabled())
10108
10108
  await ensureSlackRenderV2Activation2();
10109
10109
  await app.start();
@@ -4,7 +4,7 @@ import {
4
4
  claimKv2,
5
5
  deleteKv2,
6
6
  init_db3
7
- } from "./cli-rqqsfz30.js";
7
+ } from "./cli-d3qqdy4c.js";
8
8
  import {
9
9
  isEnvFlagEnabled,
10
10
  init_env_flag
@@ -36,7 +36,7 @@ import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises";
36
36
  import { tmpdir } from "node:os";
37
37
  import { join } from "node:path";
38
38
  init_secret_scrubber();
39
- var AMP_PACKAGE = "@ampcode/cli@0.0.1792368068-g91990d";
39
+ var AMP_PACKAGE = "@ampcode/cli@0.0.1792411243-gb8cffc";
40
40
  var AMP_MCP_SERVER_NAME = "agent-swarm";
41
41
  var AMP_PLUGIN_MODE_KEY = "agent-swarm";
42
42
  var AMP_LIVE_TEST_TIMEOUT_MS = 5000;
@@ -60,7 +60,7 @@ import {
60
60
  import {
61
61
  init_package,
62
62
  package_default
63
- } from "./cli-ash6xxk7.js";
63
+ } from "./cli-shvfedvm.js";
64
64
  import {
65
65
  isEnvFlagEnabled,
66
66
  init_env_flag
@@ -9,7 +9,7 @@ import {
9
9
  acquireOAuthRefreshLock,
10
10
  releaseOAuthRefreshLock,
11
11
  init_oauth
12
- } from "./cli-rqqsfz30.js";
12
+ } from "./cli-d3qqdy4c.js";
13
13
  import {
14
14
  scrubSecrets,
15
15
  registerVolatileSecret,
@@ -4,11 +4,11 @@ import {
4
4
  getActivePricingRow2,
5
5
  insertPricingRow2,
6
6
  init_db3
7
- } from "./cli-rqqsfz30.js";
7
+ } from "./cli-d3qqdy4c.js";
8
8
  import {
9
9
  loadModelsDevCache,
10
10
  buildModelsDevSeedRows
11
- } from "./cli-3p8fqcnh.js";
11
+ } from "./cli-h93c9vb3.js";
12
12
  import {
13
13
  setRuntimeModelCatalog,
14
14
  init_runtime_model_catalog
@@ -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: "2.4.1",
10
+ version: "2.4.2",
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",
@@ -216,7 +216,7 @@ var init_package = __esm(() => {
216
216
  "@chat-adapter/teams": "4.41.1",
217
217
  "@chat-adapter/telegram": "4.41.1",
218
218
  "@cursor/sdk": "1.0.38",
219
- "@desplega.ai/agent-fs-just-bash": "0.18.4",
219
+ "@desplega.ai/agent-fs-just-bash": "0.18.5",
220
220
  "@desplega.ai/business-use": "^0.4.2",
221
221
  "@earendil-works/pi-agent-core": "^1.3.0",
222
222
  "@earendil-works/pi-ai": "^1.3.0",
@@ -6,7 +6,7 @@ import {
6
6
  getResolvedConfig2,
7
7
  getAllUsers2,
8
8
  init_db3
9
- } from "./cli-rqqsfz30.js";
9
+ } from "./cli-d3qqdy4c.js";
10
10
  import {
11
11
  scrubSecrets,
12
12
  init_secret_scrubber
@@ -39,7 +39,7 @@ import {
39
39
  getPendingWaitsByEvent2,
40
40
  resolveWaitState2,
41
41
  init_db3
42
- } from "./cli-rqqsfz30.js";
42
+ } from "./cli-d3qqdy4c.js";
43
43
  import {
44
44
  BaseExecutor,
45
45
  postApprovalCancellationUpdates,
@@ -50,7 +50,7 @@ import {
50
50
  findEntryNodes,
51
51
  resolveValidationPort,
52
52
  getSuccessors
53
- } from "./cli-tbhwrxpt.js";
53
+ } from "./cli-02qm7src.js";
54
54
  import {
55
55
  workflowEventBus2,
56
56
  init_event_bus
@@ -107,7 +107,7 @@ async function notifyAutomationPreflightFailure(preflight) {
107
107
  return;
108
108
  }
109
109
  try {
110
- const { getSlackApp } = await import("./app-kreq1gwg.js");
110
+ const { getSlackApp } = await import("./app-9h14qvr6.js");
111
111
  const app = getSlackApp();
112
112
  if (!app) {
113
113
  console.warn("[Automation Preflight] Slack not available, cannot send notification");
@@ -1435,7 +1435,7 @@ async function runClaimedStep(def, runId, ctx, node, registry, existingStep, ste
1435
1435
  if ("async" in result && result.async) {
1436
1436
  const waiting = await checkpointStepWaiting(runId, stepId, ctx);
1437
1437
  if (waiting && result.waitFor === "workflow.child.finished") {
1438
- const { resumeFromChildRun } = await import("./resume-zhgts7h7.js");
1438
+ const { resumeFromChildRun } = await import("./resume-jcdzg1bn.js");
1439
1439
  await resumeFromChildRun(stepId, registry);
1440
1440
  }
1441
1441
  return { outcome: waiting ? "waiting" : "completed", successors: [] };
@@ -20,7 +20,7 @@ import {
20
20
  renderMemoriesPrompt,
21
21
  isUnknownModelError,
22
22
  writeSkillsToFilesystem
23
- } from "./cli-m2qgh5sv.js";
23
+ } from "./cli-ftyypbg5.js";
24
24
  import {
25
25
  isPollTracingEnabled,
26
26
  initOtel,
@@ -30,7 +30,7 @@ import {
30
30
  injectTraceContext2,
31
31
  initialize,
32
32
  ensure
33
- } from "./cli-vy0fay6k.js";
33
+ } from "./cli-nn47d7e8.js";
34
34
  import {
35
35
  getContextWindowSize
36
36
  } from "./cli-a5ebc95n.js";
@@ -51,7 +51,7 @@ import {
51
51
  canonicalAzureDevOpsRepoUrl,
52
52
  parseAzureDevOpsRepoUrl,
53
53
  resolveScriptsOnlyMode
54
- } from "./cli-kr2pmfqx.js";
54
+ } from "./cli-5rk36sjf.js";
55
55
  import {
56
56
  ACP_TARGET_IDS,
57
57
  isAcpTarget
@@ -59,17 +59,17 @@ import {
59
59
  import {
60
60
  checkAmpCredentials2,
61
61
  liveTestAmpCredentials2
62
- } from "./cli-xftrvxag.js";
62
+ } from "./cli-r99kc9yq.js";
63
63
  import {
64
64
  checkClaudeCredentials2
65
- } from "./cli-gf0kfg81.js";
65
+ } from "./cli-239yjk27.js";
66
66
  import {
67
67
  checkClaudeManagedCredentials2
68
68
  } from "./cli-a0kcty51.js";
69
69
  import {
70
70
  codexUserHome,
71
71
  checkCodexCredentials2
72
- } from "./cli-p0rakbrk.js";
72
+ } from "./cli-rdyw3mct.js";
73
73
  import {
74
74
  checkCursorCredentials2
75
75
  } from "./cli-g0hgtz4p.js";
@@ -84,7 +84,7 @@ import {
84
84
  } from "./cli-xbzvet96.js";
85
85
  import {
86
86
  checkGrokCredentials2
87
- } from "./cli-6ncjvx55.js";
87
+ } from "./cli-fyzjmseb.js";
88
88
  import {
89
89
  CODEX_OAUTH_POOL_SLOTS_ENV,
90
90
  isCodexOAuthConfigKey,
@@ -93,7 +93,7 @@ import {
93
93
  } from "./cli-j4bwnpkm.js";
94
94
  import {
95
95
  validateJsonSchema
96
- } from "./cli-kmqgmcnb.js";
96
+ } from "./cli-y2x52gs2.js";
97
97
  import {
98
98
  mapTriggerSurface,
99
99
  init_telemetry_context,
@@ -111,7 +111,7 @@ import {
111
111
  init_vcs_repo_match,
112
112
  isApiDrainingResponse,
113
113
  init_api_drain
114
- } from "./cli-rqqsfz30.js";
114
+ } from "./cli-d3qqdy4c.js";
115
115
  import {
116
116
  parseWorkerModelTierOverrides,
117
117
  resolveTaskModelSelection,
@@ -246,7 +246,7 @@ async function materializeCodexAuthJson(_slot, creds, deps = {}) {
246
246
  async function createProviderAdapter(provider) {
247
247
  switch (provider) {
248
248
  case "claude": {
249
- const { ClaudeAdapter } = await import("./claude-adapter-gfts5044.js");
249
+ const { ClaudeAdapter } = await import("./claude-adapter-gf3kxhf0.js");
250
250
  return new ClaudeAdapter;
251
251
  }
252
252
  case "pi": {
@@ -254,7 +254,7 @@ async function createProviderAdapter(provider) {
254
254
  return new PiMonoAdapter;
255
255
  }
256
256
  case "codex": {
257
- const { CodexAdapter } = await import("./codex-adapter-p6rmm7vv.js");
257
+ const { CodexAdapter } = await import("./codex-adapter-ttygw382.js");
258
258
  return new CodexAdapter;
259
259
  }
260
260
  case "claude-managed": {
@@ -274,7 +274,7 @@ async function createProviderAdapter(provider) {
274
274
  return new DshAdapter;
275
275
  }
276
276
  case "amp": {
277
- const { AmpAdapter } = await import("./amp-adapter-bd84rhs2.js");
277
+ const { AmpAdapter } = await import("./amp-adapter-abp5tdx8.js");
278
278
  return new AmpAdapter;
279
279
  }
280
280
  case "cursor": {
@@ -282,11 +282,11 @@ async function createProviderAdapter(provider) {
282
282
  return new CursorAdapter;
283
283
  }
284
284
  case "grok": {
285
- const { GrokAdapter } = await import("./grok-adapter-q9fghe5q.js");
285
+ const { GrokAdapter } = await import("./grok-adapter-qnr1hp2y.js");
286
286
  return new GrokAdapter;
287
287
  }
288
288
  case "acp": {
289
- const { ACPAdapter } = await import("./acp-adapter-zvzr538d.js");
289
+ const { ACPAdapter } = await import("./acp-adapter-dv7hmx4r.js");
290
290
  return new ACPAdapter;
291
291
  }
292
292
  default:
@@ -43,7 +43,7 @@ import {
43
43
  import {
44
44
  init_package,
45
45
  package_default
46
- } from "./cli-ash6xxk7.js";
46
+ } from "./cli-shvfedvm.js";
47
47
  import {
48
48
  scrubSecrets,
49
49
  init_secret_scrubber
package/dist/cli.js CHANGED
@@ -51,7 +51,7 @@ var import_react = __toESM(require_react(), 1);
51
51
  // package.json
52
52
  var package_default = {
53
53
  name: "@desplega.ai/agent-swarm",
54
- version: "2.4.1",
54
+ version: "2.4.2",
55
55
  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.",
56
56
  keywords: [
57
57
  "agent-swarm.dev",
@@ -260,7 +260,7 @@ var package_default = {
260
260
  "@chat-adapter/teams": "4.41.1",
261
261
  "@chat-adapter/telegram": "4.41.1",
262
262
  "@cursor/sdk": "1.0.38",
263
- "@desplega.ai/agent-fs-just-bash": "0.18.4",
263
+ "@desplega.ai/agent-fs-just-bash": "0.18.5",
264
264
  "@desplega.ai/business-use": "^0.4.2",
265
265
  "@earendil-works/pi-agent-core": "^1.3.0",
266
266
  "@earendil-works/pi-ai": "^1.3.0",
@@ -812,7 +812,7 @@ function McpServer({ port, apiKey, dbPath }) {
812
812
  if (dbPath) {
813
813
  process.env.DATABASE_PATH = dbPath;
814
814
  }
815
- import("./http-k2ejbt05.js").then(() => {
815
+ import("./http-r8f85xr9.js").then(() => {
816
816
  setStatus("running");
817
817
  }).catch((err) => {
818
818
  setStatus("error");
@@ -899,7 +899,7 @@ function WorkerRunner({
899
899
  const { exit } = use_app_default();
900
900
  import_react.useEffect(() => {
901
901
  installConsoleScrub();
902
- import("./worker-p7f336rq.js").then(({ runWorker }) => runWorker({
902
+ import("./worker-c1e68hpa.js").then(({ runWorker }) => runWorker({
903
903
  prompt: prompt || undefined,
904
904
  yolo,
905
905
  systemPrompt: systemPrompt || undefined,
@@ -917,7 +917,7 @@ function LeadRunner({ prompt, yolo, systemPrompt, systemPromptFile, additionalAr
917
917
  const { exit } = use_app_default();
918
918
  import_react.useEffect(() => {
919
919
  installConsoleScrub();
920
- import("./lead-jb6sf69z.js").then(({ runLead }) => runLead({
920
+ import("./lead-b1da0f97.js").then(({ runLead }) => runLead({
921
921
  prompt: prompt || undefined,
922
922
  yolo,
923
923
  systemPrompt: systemPrompt || undefined,
@@ -957,8 +957,8 @@ function LazyComponent({
957
957
  }
958
958
  return import_react.createElement(Component, props);
959
959
  }
960
- var loadOnboard = () => import("./onboard-4n2kwa4v.js").then(({ Onboard }) => Onboard);
961
- var loadConnect = () => import("./setup-tkp99w1e.js").then(({ Setup }) => Setup);
960
+ var loadOnboard = () => import("./onboard-xes8de61.js").then(({ Onboard }) => Onboard);
961
+ var loadConnect = () => import("./setup-1nb2zqd3.js").then(({ Setup }) => Setup);
962
962
  function UnknownCommand({ command }) {
963
963
  const { exit } = use_app_default();
964
964
  import_react.useEffect(() => {
@@ -1088,14 +1088,14 @@ ${binName} docs \u2014 v${package_default.version}
1088
1088
  }
1089
1089
  process.exit(0);
1090
1090
  } else if (args.command === "hook") {
1091
- const { runHook } = await import("./hook-pvmh9b6m.js");
1091
+ const { runHook } = await import("./hook-x8rthca4.js");
1092
1092
  await runHook();
1093
1093
  } else if (args.command === "codex-hook") {
1094
1094
  const { handleCodexHook } = await import("./codex-hook-x7nejyrr.js");
1095
1095
  await handleCodexHook();
1096
1096
  process.exit(process.exitCode ?? 0);
1097
1097
  } else if (args.command === "session-summary-stdin") {
1098
- const { runSessionSummaryFromStdin } = await import("./hook-dx0pkvar.js");
1098
+ const { runSessionSummaryFromStdin } = await import("./hook-1mmdgjqs.js");
1099
1099
  await runSessionSummaryFromStdin();
1100
1100
  process.exit(process.exitCode ?? 0);
1101
1101
  } else if (args.command === "x") {
@@ -1108,7 +1108,7 @@ ${binName} docs \u2014 v${package_default.version}
1108
1108
  printHelp("scripts");
1109
1109
  process.exit(scriptsArgs[0] === "reembed" || args.showHelp ? 0 : 1);
1110
1110
  }
1111
- const { runScriptsMaintenanceCommand } = await import("./maintenance-agakc519.js");
1111
+ const { runScriptsMaintenanceCommand } = await import("./maintenance-mnxpar12.js");
1112
1112
  await runScriptsMaintenanceCommand(scriptsArgs);
1113
1113
  console.log("Scripts re-embedded.");
1114
1114
  } else if (args.command === "rbac") {
@@ -1118,14 +1118,14 @@ ${binName} docs \u2014 v${package_default.version}
1118
1118
  printHelp("rbac");
1119
1119
  process.exit(args.showHelp ? 0 : 1);
1120
1120
  }
1121
- const { runRbacCliCommand } = await import("./rbac-roles-9fae5rnv.js");
1121
+ const { runRbacCliCommand } = await import("./rbac-roles-ttyfaep2.js");
1122
1122
  await runRbacCliCommand(rbacArgs);
1123
1123
  } else if (args.command === "codex-login") {
1124
1124
  const { runCodexLogin } = await import("./codex-login-m819c41r.js");
1125
1125
  const codexLoginArgs = process.argv.slice(process.argv.indexOf("codex-login") + 1);
1126
1126
  await runCodexLogin(codexLoginArgs);
1127
1127
  } else if (args.command === "codex-session-runner") {
1128
- const { runCodexSessionRunner } = await import("./codex-session-runner-8vd5t9t0.js");
1128
+ const { runCodexSessionRunner } = await import("./codex-session-runner-60b58vv3.js");
1129
1129
  await runCodexSessionRunner();
1130
1130
  } else if (args.command === "claude-managed-setup") {
1131
1131
  const { runClaudeManagedSetup } = await import("./claude-managed-setup-h00hsgtz.js");
@@ -2,7 +2,7 @@ import {
2
2
  checkCodexCredentials2,
3
3
  createInProcessCodexSession2,
4
4
  CodexAdapter2
5
- } from "./cli-p0rakbrk.js";
5
+ } from "./cli-rdyw3mct.js";
6
6
  import"./cli-4zsenjhy.js";
7
7
  import"./cli-kr5tjjtz.js";
8
8
  import"./cli-vbhgkw9h.js";
@@ -10,7 +10,7 @@ import"./cli-7a91w22y.js";
10
10
  import"./cli-3ggwdtb0.js";
11
11
  import {
12
12
  createInProcessCodexSession2
13
- } from "./cli-p0rakbrk.js";
13
+ } from "./cli-rdyw3mct.js";
14
14
  import"./cli-jc1g9ndz.js";
15
15
  import"./cli-0726awxw.js";
16
16
  import"./cli-4bd1rck6.js";
@@ -2,11 +2,11 @@ import {
2
2
  getAllAgents2,
3
3
  getAllTasks2,
4
4
  init_db3
5
- } from "./cli-rqqsfz30.js";
5
+ } from "./cli-d3qqdy4c.js";
6
6
  import {
7
7
  EXTERNAL_CHANNEL_BLOCKED_REPLY2,
8
8
  shouldBlockChannel2
9
- } from "./cli-mfe7f7b5.js";
9
+ } from "./cli-pkht5hap.js";
10
10
  import {
11
11
  isEnvFlagEnabled,
12
12
  init_env_flag
@@ -6,7 +6,7 @@ import {
6
6
  isRuntimePoolsEnabled,
7
7
  init_runtime_pools_flag,
8
8
  init_db3
9
- } from "./cli-rqqsfz30.js";
9
+ } from "./cli-d3qqdy4c.js";
10
10
  import {
11
11
  CONTROLLER_PROTOCOL_VERSION,
12
12
  CONTROLLER_PING_INTERVAL_MS,
@@ -15,11 +15,11 @@ import {
15
15
  import"./cli-7a91w22y.js";
16
16
  import {
17
17
  resolveHttpRequestAuth
18
- } from "./cli-kr2pmfqx.js";
18
+ } from "./cli-5rk36sjf.js";
19
19
  import {
20
20
  getRuntimeController2,
21
21
  init_db
22
- } from "./cli-bn5kevnf.js";
22
+ } from "./cli-n85dqg6d.js";
23
23
  import {
24
24
  remoteControllerSession,
25
25
  installRemoteController,
@@ -28,29 +28,29 @@ import {
28
28
  ensureRuntimeOwnerId,
29
29
  reconcileRemoteProvisions,
30
30
  reconcileControllerOrphans
31
- } from "./cli-axh29tyr.js";
32
- import"./cli-kmqgmcnb.js";
33
- import"./cli-0bh477zn.js";
34
- import"./cli-sjyetj21.js";
31
+ } from "./cli-8zwe9mpk.js";
32
+ import"./cli-y2x52gs2.js";
33
+ import"./cli-h38rjv87.js";
34
+ import"./cli-s6vr7r2d.js";
35
35
  import"./cli-3ggwdtb0.js";
36
- import"./cli-vy0fay6k.js";
37
- import"./cli-mfe7f7b5.js";
38
- import"./cli-tbhwrxpt.js";
36
+ import"./cli-nn47d7e8.js";
37
+ import"./cli-pkht5hap.js";
38
+ import"./cli-02qm7src.js";
39
39
  import"./cli-8nyhf7za.js";
40
40
  import"./cli-kvzgak7c.js";
41
41
  import"./cli-445c1vp7.js";
42
42
  import"./cli-ejs3m1sx.js";
43
43
  import"./cli-wt645v7q.js";
44
44
  import"./cli-sv5gb0yb.js";
45
- import"./cli-3p8fqcnh.js";
46
- import"./cli-k9z4zd4p.js";
45
+ import"./cli-h93c9vb3.js";
46
+ import"./cli-saw9a6f6.js";
47
47
  import"./cli-qz93y3x5.js";
48
- import"./cli-nx462e4v.js";
49
- import"./cli-s48yvzb8.js";
48
+ import"./cli-7awf1fp8.js";
49
+ import"./cli-faypxz7q.js";
50
50
  import"./cli-qje9k2nh.js";
51
51
  import {
52
52
  route
53
- } from "./cli-z071fb95.js";
53
+ } from "./cli-efaqv1c7.js";
54
54
  import"./cli-3h26v7yj.js";
55
55
  import"./cli-smvcw9z5.js";
56
56
  import"./cli-13p25grh.js";
@@ -58,7 +58,7 @@ import"./cli-0adyhvq2.js";
58
58
  import {
59
59
  registerSessionTokenConnection,
60
60
  init_session_token_connections
61
- } from "./cli-fz9kewbh.js";
61
+ } from "./cli-nmqdc2t3.js";
62
62
  import {
63
63
  getApiKey,
64
64
  init_api_key
@@ -19,9 +19,9 @@ import {
19
19
  createPoolAgent2,
20
20
  loadRuntimeControllerSecrets2,
21
21
  init_db
22
- } from "./cli-bn5kevnf.js";
23
- import"./cli-fz9kewbh.js";
24
- import"./cli-rqqsfz30.js";
22
+ } from "./cli-n85dqg6d.js";
23
+ import"./cli-nmqdc2t3.js";
24
+ import"./cli-d3qqdy4c.js";
25
25
  init_db();
26
26
 
27
27
  export {
@@ -51,6 +51,8 @@ import {
51
51
  getContextVersionHistory2,
52
52
  getTaskById2,
53
53
  getChildTasks2,
54
+ TASK_LINEAGE_LIMITS2,
55
+ getTaskLineage2,
54
56
  hasNonTerminalResumeChild2,
55
57
  SUPERSEDED_RESUME_REPAIR_WINDOW_MS2,
56
58
  getSupersededTasksWithoutResume2,
@@ -501,7 +503,7 @@ import {
501
503
  countScriptRunJournalSteps2,
502
504
  countScriptRunJournalAgentTaskSteps2,
503
505
  init_db3
504
- } from "./cli-rqqsfz30.js";
506
+ } from "./cli-d3qqdy4c.js";
505
507
  import {
506
508
  generateDefaultClaudeMd2,
507
509
  generateDefaultSoulMd2,
@@ -520,6 +522,7 @@ export {
520
522
  SESSION_ACTIVITY_REFRESH_MIN_INTERVAL_MS2 as SESSION_ACTIVITY_REFRESH_MIN_INTERVAL_MS,
521
523
  SKILL_FILE_LIMITS2 as SKILL_FILE_LIMITS,
522
524
  SUPERSEDED_RESUME_REPAIR_WINDOW_MS2 as SUPERSEDED_RESUME_REPAIR_WINDOW_MS,
525
+ TASK_LINEAGE_LIMITS2 as TASK_LINEAGE_LIMITS,
523
526
  UNATTRIBUTED_USER_ID2 as UNATTRIBUTED_USER_ID,
524
527
  __resetSqliteVecExtensionPathCacheForTests2 as __resetSqliteVecExtensionPathCacheForTests,
525
528
  abandonSlackOutcomeDelivery2 as abandonSlackOutcomeDelivery,
@@ -821,6 +824,7 @@ export {
821
824
  getTaskAttachments2 as getTaskAttachments,
822
825
  getTaskById2 as getTaskById,
823
826
  getTaskByWorkflowRunStepId2 as getTaskByWorkflowRunStepId,
827
+ getTaskLineage2 as getTaskLineage,
824
828
  getTaskStats2 as getTaskStats,
825
829
  getTasksByAgentId2 as getTasksByAgentId,
826
830
  getTasksByStatus2 as getTasksByStatus,