@desplega.ai/agent-swarm 1.157.0 → 1.158.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 (256) hide show
  1. package/dist/{acp-adapter-qhqrk4q0.js → acp-adapter-xaq4n6pc.js} +1 -1
  2. package/dist/{actions-9rrg0zxm.js → actions-p9hz5yat.js} +15 -15
  3. package/dist/{app-enysy1zd.js → app-g26wdcz6.js} +4 -4
  4. package/dist/{artifact-td4q4dch.js → artifact-3v5t9jtg.js} +1 -1
  5. package/dist/{assistant-zegamy48.js → assistant-wydfqkb3.js} +16 -16
  6. package/dist/{boot-reembed-r6shx5qx.js → boot-reembed-g5ckg9yb.js} +6 -6
  7. package/dist/{boot-reembed-zfxb937k.js → boot-reembed-se8zmdcp.js} +5 -5
  8. package/dist/{boot-scrub-logs-k5y0se6r.js → boot-scrub-logs-wfxqan61.js} +3 -3
  9. package/dist/{seed-pricing-vqxa06qf.js → boot-seeds-s3q01xj3.js} +10 -10
  10. package/dist/{claude-adapter-5yc7hxwv.js → claude-adapter-tv2x4f36.js} +7 -7
  11. package/dist/{claude-managed-adapter-ea2aga6w.js → claude-managed-adapter-41b2s7fd.js} +2 -2
  12. package/dist/{claude-sdk-session-j4ywn3xf.js → claude-sdk-session-t442qz6f.js} +8 -8
  13. package/dist/{cli-e781c6f9.js → cli-0xjkj1j7.js} +1 -0
  14. package/dist/{cli-58rgvkt4.js → cli-1hkrch3k.js} +2 -2
  15. package/dist/{cli-yscm6cv8.js → cli-20cj37vt.js} +1866 -9
  16. package/dist/{cli-h0wdadsx.js → cli-4198qc9v.js} +7 -3
  17. package/dist/{cli-awwphhcs.js → cli-47m6dkd3.js} +362 -126
  18. package/dist/{cli-wb2zvbfg.js → cli-53sz8gkz.js} +1 -1
  19. package/dist/{cli-005pze6s.js → cli-5d10vd2m.js} +1 -1
  20. package/dist/{cli-v53rbqp3.js → cli-65hjmev5.js} +57 -17
  21. package/dist/{cli-scwq51gn.js → cli-68w09sjw.js} +7 -1
  22. package/dist/{cli-s98skd5r.js → cli-7gtvvpbh.js} +4 -4
  23. package/dist/{cli-y3nxwx0t.js → cli-7s3syk22.js} +18 -11
  24. package/dist/{cli-74h6f2bp.js → cli-8qmme6vd.js} +2 -2
  25. package/dist/{cli-wsed24mk.js → cli-987hg0aa.js} +2 -2
  26. package/dist/{cli-9n76jszt.js → cli-9httdpyq.js} +1 -1
  27. package/dist/{cli-f3va018d.js → cli-aky8tctm.js} +26 -93
  28. package/dist/{cli-sgyqyyxe.js → cli-c07r9a2m.js} +2 -1
  29. package/dist/{cli-c41wjx0r.js → cli-fgqxwrpv.js} +291 -12
  30. package/dist/{cli-01vfmq8c.js → cli-ftfvggzx.js} +607 -164
  31. package/dist/{cli-ytxs7mn1.js → cli-g8djp6qe.js} +17 -0
  32. package/dist/{cli-avkd6mqv.js → cli-h967nb6r.js} +551 -0
  33. package/dist/{cli-r9ee9c4w.js → cli-j55n64b6.js} +23 -22
  34. package/dist/{cli-9p33cz9h.js → cli-j57qkrpq.js} +86 -28
  35. package/dist/{cli-tjmghmm5.js → cli-q67y4wzm.js} +6 -3
  36. package/dist/{cli-n6zq3kbd.js → cli-rj19hc34.js} +1 -1
  37. package/dist/{cli-jytrw2na.js → cli-rjehvrts.js} +4 -4
  38. package/dist/{cli-tpv97m71.js → cli-rqz8qbw7.js} +245 -75
  39. package/dist/{cli-p37sg0a9.js → cli-s8eet254.js} +1 -1
  40. package/dist/cli-t1ze64h3.js +811 -0
  41. package/dist/{cli-6jjzxv3b.js → cli-ws6rqycm.js} +3 -2
  42. package/dist/{cli-xf5b7y1f.js → cli-wscdvcqz.js} +13 -5
  43. package/dist/{cli-5j7bm4tb.js → cli-x24pshtq.js} +5 -5
  44. package/dist/{cli-nbp6m6gp.js → cli-xberxa1r.js} +51 -26
  45. package/dist/{cli-vx9p3qdt.js → cli-xhaeg2nc.js} +1 -1
  46. package/dist/cli.js +29 -15
  47. package/dist/{codex-adapter-gns3s6c3.js → codex-adapter-cnm8wk11.js} +5 -5
  48. package/dist/{codex-session-runner-gqnxys5w.js → codex-session-runner-gfg547zj.js} +5 -5
  49. package/dist/{commands-hxy2y2sp.js → commands-e3bn0p75.js} +3 -3
  50. package/dist/{db-w8ghhsgf.js → db-03v9kzr2.js} +17 -3
  51. package/dist/{dispatcher-cp1rknjz.js → dispatcher-nrmg8yht.js} +14 -14
  52. package/dist/{dsh-adapter-1dwg97zv.js → dsh-adapter-k03nfqa6.js} +2 -2
  53. package/dist/{handlers-egfhr351.js → handlers-aqcedbyb.js} +17 -17
  54. package/dist/{hook-x4kftwzt.js → hook-7vkskkre.js} +19 -11
  55. package/dist/{hook-fbxjqfjz.js → hook-ybvmrmhq.js} +4 -4
  56. package/dist/{http-c7jfx990.js → http-2eqa8t24.js} +432 -195
  57. package/dist/{index-4k9hct21.js → index-1yks3qcr.js} +14 -14
  58. package/dist/{index-jtvpgb8f.js → index-a3vn96n8.js} +30 -27
  59. package/dist/{index-dc2ek6bw.js → index-c6zsv1bd.js} +5 -5
  60. package/dist/{index-yy07ef2s.js → index-chgdkq36.js} +14 -14
  61. package/dist/{index-r6bty6tb.js → index-x71bvq0p.js} +15 -15
  62. package/dist/{keepalive-f7ekefyc.js → keepalive-vtkf5n99.js} +5 -5
  63. package/dist/{lead-h053syts.js → lead-h3sp357x.js} +26 -26
  64. package/dist/{maintenance-a3w6zs54.js → maintenance-jzeqtk3q.js} +6 -6
  65. package/dist/{oauth-refresh-sweep-vra1dhkd.js → oauth-refresh-sweep-qp3dzmdp.js} +4 -4
  66. package/dist/{onboard-mfgzeqxs.js → onboard-tmsp0qbz.js} +278 -81
  67. package/dist/{opencode-adapter-z64xjzec.js → opencode-adapter-x6x2da1z.js} +3 -3
  68. package/dist/{otel-impl-2ez6xk57.js → otel-impl-9mz73q65.js} +416 -301
  69. package/dist/{pi-mono-adapter-2b7mw16r.js → pi-mono-adapter-m6dvv0dz.js} +2 -2
  70. package/dist/{pricing-refresh-6sw65tck.js → pricing-refresh-v1cbr9te.js} +5 -5
  71. package/dist/{rbac-roles-nm6924sy.js → rbac-roles-c9wqz83x.js} +4 -4
  72. package/dist/{render-v2-f026j6c4.js → render-v2-gryrh9h8.js} +4 -4
  73. package/dist/{setup-w606fr1q.js → setup-q9720bt6.js} +2 -2
  74. package/dist/{virtual-modules-8qheft18.js → virtual-modules-3htpgn8x.js} +1 -1
  75. package/dist/{work-objects-ezmggdne.js → work-objects-b76x7deb.js} +17 -17
  76. package/dist/{worker-1mbyv29k.js → worker-6vrxbv41.js} +26 -26
  77. package/openapi.json +1626 -629
  78. package/package.json +2 -1
  79. package/src/apps/catalog.generated.json +229 -0
  80. package/src/apps/page-validator.ts +71 -16
  81. package/src/apps/row-store.ts +66 -11
  82. package/src/apps/sync.ts +59 -17
  83. package/src/artifact-sdk/browser-sdk.ts +436 -2
  84. package/src/be/approval-sweeps.ts +109 -0
  85. package/src/be/boot-seeds.ts +40 -0
  86. package/src/be/chunking.ts +1 -1
  87. package/src/be/db/agents.ts +20 -0
  88. package/src/be/db/approvals.ts +78 -0
  89. package/src/be/db/tasks/read.ts +197 -39
  90. package/src/be/db/tasks/write.ts +41 -9
  91. package/src/be/db-client.ts +107 -48
  92. package/src/be/db.ts +219 -76
  93. package/src/be/events.ts +33 -1
  94. package/src/be/memory/graph-expansion.ts +10 -3
  95. package/src/be/memory/providers/sqlite-store.ts +55 -13
  96. package/src/be/memory/raters/retrieval.ts +5 -2
  97. package/src/be/memory/reranker.ts +26 -2
  98. package/src/be/memory/types.ts +2 -0
  99. package/src/be/migrations/166_approval_request_auto_cancellation.sql +9 -0
  100. package/src/be/migrations/171_memory_retrieval_relevance.sql +8 -0
  101. package/src/be/migrations/175_workflow_runs_list_index.sql +11 -0
  102. package/src/be/migrations/177_events_event_agent_created_index.sql +11 -0
  103. package/src/be/models-catalog.ts +2 -0
  104. package/src/be/modelsdev-cache.json +1857 -0
  105. package/src/be/modelsdev-cache.ts +14 -1
  106. package/src/be/pricing-normalize.ts +2 -0
  107. package/src/be/scripts/typecheck.ts +1 -0
  108. package/src/be/seed-pricing.ts +3 -1
  109. package/src/be/seed-skills/bundled-files.generated.json +1 -1
  110. package/src/be/steering.ts +53 -3
  111. package/src/be/swarm-config-guard.ts +3 -0
  112. package/src/be/task-citations.ts +29 -0
  113. package/src/cli.tsx +14 -1
  114. package/src/commands/onboard/compose-generator.ts +8 -3
  115. package/src/commands/onboard/container-engine.ts +220 -0
  116. package/src/commands/onboard/manifest.ts +1 -0
  117. package/src/commands/onboard/steps/health-check.tsx +4 -1
  118. package/src/commands/onboard/steps/prereq-check.tsx +50 -54
  119. package/src/commands/onboard/steps/start.tsx +31 -16
  120. package/src/commands/onboard/types.ts +7 -2
  121. package/src/commands/onboard.tsx +39 -4
  122. package/src/commands/profile-sync.ts +79 -26
  123. package/src/commands/runner.ts +8 -1
  124. package/src/extensions/catalog.generated.json +17 -0
  125. package/src/extensions/contract-types.generated.ts +1 -1
  126. package/src/heartbeat/heartbeat.ts +263 -103
  127. package/src/hooks/hook.ts +21 -12
  128. package/src/http/agents.ts +35 -0
  129. package/src/http/approval-requests.ts +136 -64
  130. package/src/http/apps.ts +14 -3
  131. package/src/http/config.ts +15 -1
  132. package/src/http/events.ts +62 -2
  133. package/src/http/index.ts +6 -4
  134. package/src/http/memory.ts +21 -7
  135. package/src/http/schedules.ts +1 -1
  136. package/src/http/session-data.ts +9 -4
  137. package/src/http/sessions.ts +25 -18
  138. package/src/http/stats.ts +19 -7
  139. package/src/http/status.ts +11 -1
  140. package/src/http/tasks.ts +40 -8
  141. package/src/http/webhooks.ts +67 -46
  142. package/src/http/workflows.ts +15 -20
  143. package/src/linear/outbound.ts +37 -15
  144. package/src/otel-impl.ts +151 -1
  145. package/src/otel.ts +14 -3
  146. package/src/prompts/memories.ts +19 -2
  147. package/src/providers/claude-managed-models.ts +8 -0
  148. package/src/providers/modelsdev-reasoning.json +551 -0
  149. package/src/rbac/legacy-policy.ts +16 -0
  150. package/src/rbac/permissions.ts +4 -0
  151. package/src/scheduler/schedule-task.ts +3 -0
  152. package/src/scripts-runtime/sdk-allowlist.ts +1 -0
  153. package/src/scripts-runtime/swarm-sdk.ts +9 -0
  154. package/src/scripts-runtime/types/stdlib.d.ts +1 -0
  155. package/src/scripts-runtime/types/swarm-extension.d.ts +1 -0
  156. package/src/scripts-runtime/types/swarm-sdk.d.ts +1 -0
  157. package/src/server.ts +12 -7
  158. package/src/slack/app.ts +35 -4
  159. package/src/slack/connection-state.ts +17 -0
  160. package/src/tasks/context-key.ts +1 -0
  161. package/src/tasks/worker-follow-up.ts +6 -2
  162. package/src/tests/agent-task-activity.test.ts +74 -0
  163. package/src/tests/agents-list-model-display.test.ts +6 -1
  164. package/src/tests/approval-auto-cancellation-migration.test.ts +104 -0
  165. package/src/tests/approval-requests.test.ts +395 -0
  166. package/src/tests/approval-sweeps-config.test.ts +47 -0
  167. package/src/tests/approval-sweeps.test.ts +508 -0
  168. package/src/tests/apps-kibo-blocks.test.ts +77 -0
  169. package/src/tests/apps-spike.test.ts +56 -1
  170. package/src/tests/apps-sync-engine.test.ts +20 -9
  171. package/src/tests/boot-seeds.test.ts +170 -0
  172. package/src/tests/cancel-approval-request-tool.test.ts +115 -0
  173. package/src/tests/claude-managed-adapter.test.ts +6 -0
  174. package/src/tests/config-key-filter.test.ts +80 -0
  175. package/src/tests/context-window.test.ts +1 -0
  176. package/src/tests/db-client-busy-retry.test.ts +96 -0
  177. package/src/tests/db-client.test.ts +60 -1
  178. package/src/tests/db-task-read-contract.test.ts +10 -0
  179. package/src/tests/db-task-write-contract.test.ts +9 -0
  180. package/src/tests/docs-index-footprint.test.js +3 -3
  181. package/src/tests/events-http.test.ts +103 -0
  182. package/src/tests/extensions-catalog.test.ts +22 -17
  183. package/src/tests/extensions-pre-task.test.ts +107 -0
  184. package/src/tests/fixtures/kibo-blocks-definition.json.txt +105 -0
  185. package/src/tests/follow-up-config-inheritance.test.ts +260 -0
  186. package/src/tests/heartbeat-orphan-resume.test.ts +84 -0
  187. package/src/tests/heartbeat-reboot-live.test.ts +95 -0
  188. package/src/tests/heartbeat-stall-cas.test.ts +80 -0
  189. package/src/tests/heartbeat.test.ts +99 -3
  190. package/src/tests/hook-mcp-config.test.ts +29 -0
  191. package/src/tests/http-api-integration.test.ts +16 -2
  192. package/src/tests/kv-storage.test.ts +62 -0
  193. package/src/tests/linear-outbound-sync.test.ts +120 -5
  194. package/src/tests/list-endpoint-slimming.test.ts +91 -0
  195. package/src/tests/memory-graph-organic-route.test.ts +155 -0
  196. package/src/tests/memory-http-recall-gating.test.ts +14 -4
  197. package/src/tests/memory-hybrid.test.ts +161 -1
  198. package/src/tests/memory-prompt-recall-crowdout.test.ts +297 -0
  199. package/src/tests/memory.test.ts +22 -0
  200. package/src/tests/onboard-container-engine.test.ts +240 -0
  201. package/src/tests/otel-event-loop-and-logs.test.ts +99 -0
  202. package/src/tests/pricing-routes.test.ts +14 -0
  203. package/src/tests/profile-sync-warning.test.ts +8 -4
  204. package/src/tests/promote-draft-task-route.test.ts +19 -0
  205. package/src/tests/provider-registration.test.ts +296 -42
  206. package/src/tests/rbac-engine.test.ts +30 -0
  207. package/src/tests/reasoning-effort.test.ts +8 -0
  208. package/src/tests/script-connections.test.ts +7 -0
  209. package/src/tests/sdk-allowlist.test.ts +39 -0
  210. package/src/tests/session-costs-model-key-normalize.test.ts +1 -0
  211. package/src/tests/sessions-detail-batch.test.ts +250 -0
  212. package/src/tests/sessions.test.ts +118 -0
  213. package/src/tests/slack-config.test.ts +22 -0
  214. package/src/tests/sonnet-5-5-registry.test.ts +44 -0
  215. package/src/tests/status.test.ts +36 -1
  216. package/src/tests/swarm-diff.test.ts +316 -10
  217. package/src/tests/task-completion-idempotency.test.ts +2 -1
  218. package/src/tests/tasks-requested-by-filter.test.ts +3 -1
  219. package/src/tests/tool-annotations.test.ts +1 -1
  220. package/src/tests/ui-list-slim-projections.test.ts +158 -0
  221. package/src/tests/webhooks-task-blocked.test.ts +127 -0
  222. package/src/tests/workflow-approval-recovery.test.ts +203 -0
  223. package/src/tests/workflow-hitl-routing.test.ts +22 -1
  224. package/src/tests/workflow-hitl-slack-card.test.ts +52 -0
  225. package/src/tests/workflow-http-v2.test.ts +99 -8
  226. package/src/tests/workflow-retry-validation.test.ts +56 -0
  227. package/src/tests/workflow-tla-races.test.ts +389 -0
  228. package/src/tests/workflow-validation-port-routing.test.ts +113 -1
  229. package/src/tools/cancel-approval-request.ts +57 -0
  230. package/src/tools/memory-search.ts +1 -0
  231. package/src/tools/request-human-input.ts +4 -2
  232. package/src/tools/send-task.ts +4 -0
  233. package/src/tools/templates.ts +19 -0
  234. package/src/tools/tool-config.ts +2 -1
  235. package/src/tools/workflows/list-workflow-runs.ts +1 -0
  236. package/src/types.ts +38 -0
  237. package/src/utils/context-window.ts +1 -0
  238. package/src/workflows/approval-cancel.ts +152 -0
  239. package/src/workflows/approval-notifications.ts +84 -0
  240. package/src/workflows/checkpoint.ts +10 -5
  241. package/src/workflows/definition.ts +21 -0
  242. package/src/workflows/engine.ts +152 -21
  243. package/src/workflows/executors/human-in-the-loop.ts +1 -1
  244. package/src/workflows/recovery.ts +100 -45
  245. package/src/workflows/resume.ts +49 -18
  246. package/src/workflows/retry-poller.ts +71 -21
  247. package/templates/extensions/README.md +1 -0
  248. package/templates/extensions/github-sender-allowlist/README.md +18 -0
  249. package/templates/extensions/github-sender-allowlist/hooks.ts +55 -0
  250. package/templates/extensions/github-sender-allowlist/manifest.json +8 -0
  251. package/templates/skills/apps/content.md +20 -1
  252. package/templates/skills/code-quality/content.md +26 -1
  253. package/templates/skills/pages/content.md +16 -4
  254. package/templates/skills/pages/files/examples/multiplayer-board.html +3 -12
  255. package/dist/cli-2daksqps.js +0 -378
  256. package/dist/rbac-roles-3gxmnb20.js +0 -37
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  buildModelsDevSeedRows,
3
3
  loadModelsDevCache
4
- } from "./cli-xf5b7y1f.js";
4
+ } from "./cli-wscdvcqz.js";
5
5
  import {
6
6
  createLogEntry,
7
7
  getActivePricingRow,
8
8
  getDbClient,
9
9
  init_db,
10
10
  insertPricingRow
11
- } from "./cli-awwphhcs.js";
11
+ } from "./cli-47m6dkd3.js";
12
12
  import {
13
13
  init_secret_scrubber,
14
14
  scrubSecrets
@@ -28,6 +28,7 @@ var CATALOG_PROVIDER_IDS = [
28
28
  ];
29
29
  var PINNED_MODELSDEV_ENTRIES = [
30
30
  "anthropic/claude-opus-5-5",
31
+ "anthropic/claude-sonnet-5-5",
31
32
  "anthropic/claude-mythos-5",
32
33
  "anthropic/claude-sonnet-5",
33
34
  "amazon-bedrock/anthropic.claude-sonnet-5",
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getDb,
3
3
  init_db
4
- } from "./cli-awwphhcs.js";
4
+ } from "./cli-47m6dkd3.js";
5
5
 
6
6
  // src/be/seed-pricing.ts
7
7
  init_db();
@@ -10,6 +10,7 @@ init_db();
10
10
  import { readFileSync } from "node:fs";
11
11
  import path from "node:path";
12
12
  var MODELSDEV_CACHE_PATH = path.join("src", "be", "modelsdev-cache.json");
13
+ var parsedCaches = new Map;
13
14
  function loadModelsDevCache() {
14
15
  const explicitPath = process.env.MODELSDEV_CACHE_PATH;
15
16
  const candidates = [
@@ -19,8 +20,13 @@ function loadModelsDevCache() {
19
20
  path.join("/app", MODELSDEV_CACHE_PATH)
20
21
  ];
21
22
  for (const candidate of candidates) {
23
+ const memoized = parsedCaches.get(candidate)?.deref();
24
+ if (memoized)
25
+ return memoized;
22
26
  try {
23
- return JSON.parse(readFileSync(candidate, "utf-8"));
27
+ const parsed = JSON.parse(readFileSync(candidate, "utf-8"));
28
+ parsedCaches.set(candidate, new WeakRef(parsed));
29
+ return parsed;
24
30
  } catch {}
25
31
  }
26
32
  return null;
@@ -35,7 +41,8 @@ var ROUTING_PREFIXES_BY_PROVIDER = {
35
41
  "claude-managed": [],
36
42
  devin: [],
37
43
  gemini: [],
38
- acp: []
44
+ acp: [],
45
+ dsh: []
39
46
  };
40
47
  function normalizeModelKey(provider, model) {
41
48
  if (!model)
@@ -90,11 +97,12 @@ var ANTHROPIC_SHORTNAME_TO_MODELSDEV = {
90
97
  fable: "claude-fable-5-1",
91
98
  mythos: "claude-mythos-5-1",
92
99
  opus: "claude-opus-5-5",
93
- sonnet: "claude-sonnet-5",
100
+ sonnet: "claude-sonnet-5-5",
94
101
  haiku: "claude-haiku-4-5"
95
102
  };
96
103
  var ANTHROPIC_SHORTNAME_PRICING_FALLBACKS = {
97
104
  "claude-opus-5-5": { input: 4, output: 20, cache_read: 0.2, cache_write: 5 },
105
+ "claude-sonnet-5-5": { input: 2, output: 10, cache_read: 0.2, cache_write: 2.5 },
98
106
  "claude-fable-5-1": { input: 10, output: 50, cache_read: 0.25, cache_write: 12.5 },
99
107
  "claude-mythos-5-1": { input: 10, output: 50, cache_read: 0.25, cache_write: 12.5 }
100
108
  };
@@ -231,4 +239,4 @@ function seedPricingFromModelsDev(opts) {
231
239
  return { inserted, modelsdevFound: !!cache };
232
240
  }
233
241
 
234
- export { loadModelsDevCache, normalizeModelKey, buildModelsDevSeedRows, buildPricingSeedRows, seedPricingFromModelsDev };
242
+ export { loadModelsDevCache, normalizeModelKey, buildModelsDevSeedRows, seedPricingFromModelsDev };
@@ -5,12 +5,12 @@ import {
5
5
  instantFlush,
6
6
  requestSlackThreadSteering,
7
7
  wasEventSeen
8
- } from "./cli-jytrw2na.js";
8
+ } from "./cli-rjehvrts.js";
9
9
  import {
10
10
  enrichSlackUserEmail,
11
11
  resolveSlackUserId,
12
12
  rewriteSlackMentions
13
- } from "./cli-74h6f2bp.js";
13
+ } from "./cli-8qmme6vd.js";
14
14
  import {
15
15
  TaskCreationBlockedError,
16
16
  broadcastMatches,
@@ -23,14 +23,14 @@ import {
23
23
  hasOtherUserMention,
24
24
  notifySlackFileFailures,
25
25
  routeMessage
26
- } from "./cli-01vfmq8c.js";
26
+ } from "./cli-ftfvggzx.js";
27
27
  import {
28
28
  ackSlackMessage,
29
29
  buildTreeBlocks,
30
30
  ensureSlackThreadTree,
31
31
  isSlackRenderV2Enabled,
32
32
  registerTreeMessage
33
- } from "./cli-9p33cz9h.js";
33
+ } from "./cli-j57qkrpq.js";
34
34
  import {
35
35
  getAgentById,
36
36
  getAgentWorkingOnThread,
@@ -43,7 +43,7 @@ import {
43
43
  isExtensionAgent,
44
44
  reactionName,
45
45
  slackContextKey
46
- } from "./cli-awwphhcs.js";
46
+ } from "./cli-47m6dkd3.js";
47
47
  import {
48
48
  init_resolver,
49
49
  resolveTemplate
@@ -415,33 +415,58 @@ async function renderProfileSyncRejectionBanner(event) {
415
415
  });
416
416
  return result.skipped ? null : result.text;
417
417
  }
418
+ function profileSyncHeaders(config) {
419
+ return { Authorization: `Bearer ${config.apiKey}`, "X-Agent-ID": config.agentId };
420
+ }
421
+ async function fetchLatestProfileSyncEventsBatched(config, fetchImpl) {
422
+ const query = new URLSearchParams({
423
+ events: `${PROFILE_SYNC_REJECTED},${PROFILE_SYNC_RECONCILED}`,
424
+ dataFields: Object.keys(IDENTITY_FIELD_BUDGETS).join(","),
425
+ agentId: config.agentId,
426
+ latestPerDataField: "true"
427
+ });
428
+ const response = await fetchImpl(`${config.apiUrl}/api/events?${query}`, {
429
+ headers: profileSyncHeaders(config)
430
+ });
431
+ if (!response.ok)
432
+ return null;
433
+ const payload = await response.json();
434
+ if (payload.latestPerDataField !== true || !Array.isArray(payload.events))
435
+ return null;
436
+ const events = payload.events;
437
+ const latest = (event, field) => events.find((candidate) => candidate.event === event && candidate.data?.field === field) ?? null;
438
+ return Object.keys(IDENTITY_FIELD_BUDGETS).map((field) => ({
439
+ rejection: latest(PROFILE_SYNC_REJECTED, field),
440
+ reconciliation: latest(PROFILE_SYNC_RECONCILED, field)
441
+ }));
442
+ }
443
+ async function fetchLatestProfileSyncEventsPerField(config, fetchImpl) {
444
+ return await Promise.all(Object.keys(IDENTITY_FIELD_BUDGETS).map(async (field) => {
445
+ const fetchLatestEvent = async (event) => {
446
+ const query = new URLSearchParams({
447
+ event,
448
+ agentId: config.agentId,
449
+ dataField: field,
450
+ limit: "1"
451
+ });
452
+ const response = await fetchImpl(`${config.apiUrl}/api/events?${query}`, {
453
+ headers: profileSyncHeaders(config)
454
+ });
455
+ if (!response.ok)
456
+ return null;
457
+ const payload = await response.json();
458
+ return payload.events?.[0] ?? null;
459
+ };
460
+ const [rejection, reconciliation] = await Promise.all([
461
+ fetchLatestEvent(PROFILE_SYNC_REJECTED),
462
+ fetchLatestEvent(PROFILE_SYNC_RECONCILED)
463
+ ]);
464
+ return { rejection, reconciliation };
465
+ }));
466
+ }
418
467
  async function fetchProfileSyncRejectionBanner(config, fetchImpl = fetch, readFile = readFileIfExists) {
419
468
  try {
420
- const responses = await Promise.all(Object.keys(IDENTITY_FIELD_BUDGETS).map(async (field) => {
421
- const fetchLatestEvent = async (event) => {
422
- const query = new URLSearchParams({
423
- event,
424
- agentId: config.agentId,
425
- dataField: field,
426
- limit: "1"
427
- });
428
- const response = await fetchImpl(`${config.apiUrl}/api/events?${query}`, {
429
- headers: {
430
- Authorization: `Bearer ${config.apiKey}`,
431
- "X-Agent-ID": config.agentId
432
- }
433
- });
434
- if (!response.ok)
435
- return null;
436
- const payload = await response.json();
437
- return payload.events?.[0] ?? null;
438
- };
439
- const [rejection, reconciliation] = await Promise.all([
440
- fetchLatestEvent("system.profile_sync_rejected"),
441
- fetchLatestEvent("system.profile_sync_reconciled")
442
- ]);
443
- return { rejection, reconciliation };
444
- }));
469
+ const responses = await fetchLatestProfileSyncEventsBatched(config, fetchImpl) ?? await fetchLatestProfileSyncEventsPerField(config, fetchImpl);
445
470
  const latestEvents = responses.flatMap(({ rejection, reconciliation }) => rejection ? [{ rejection, reconciliation }] : []);
446
471
  if (latestEvents.length === 0)
447
472
  return "";
@@ -743,7 +768,7 @@ async function syncProfileFilesToServer(opts) {
743
768
  }
744
769
  }
745
770
  }
746
- var SOUL_MD_PATH = "/workspace/SOUL.md", IDENTITY_MD_PATH = "/workspace/IDENTITY.md", TOOLS_MD_PATH = "/workspace/TOOLS.md", HEARTBEAT_MD_PATH = "/workspace/HEARTBEAT.md", SETUP_SCRIPT_PATH = "/workspace/start-up.sh", IDENTITY_BASELINES_PATH = "/tmp/identity-baselines.json", PROFILE_FIELD_DETAILS, CLAUDE_MD_PATH, CLAUDE_MD_LINEAGE_PATH, CLAUDE_MD_LOCK_PATH, CLAUDE_MD_SYNC_TIMEOUT_MS = 1e4, RUNNER_LOCK_WAIT_MS = 15000, SHA256_HEX, WORKSPACE_CLAUDE_MD_PATH = "/workspace/CLAUDE.md", IDENTITY_FILE_MIN_LENGTH = 500, SETUP_MARKER_START = "# === Agent-managed setup (from DB) ===", SETUP_MARKER_END = "# === End agent-managed setup ===";
771
+ var SOUL_MD_PATH = "/workspace/SOUL.md", IDENTITY_MD_PATH = "/workspace/IDENTITY.md", TOOLS_MD_PATH = "/workspace/TOOLS.md", HEARTBEAT_MD_PATH = "/workspace/HEARTBEAT.md", SETUP_SCRIPT_PATH = "/workspace/start-up.sh", IDENTITY_BASELINES_PATH = "/tmp/identity-baselines.json", PROFILE_FIELD_DETAILS, PROFILE_SYNC_REJECTED = "system.profile_sync_rejected", PROFILE_SYNC_RECONCILED = "system.profile_sync_reconciled", CLAUDE_MD_PATH, CLAUDE_MD_LINEAGE_PATH, CLAUDE_MD_LOCK_PATH, CLAUDE_MD_SYNC_TIMEOUT_MS = 1e4, RUNNER_LOCK_WAIT_MS = 15000, SHA256_HEX, WORKSPACE_CLAUDE_MD_PATH = "/workspace/CLAUDE.md", IDENTITY_FILE_MIN_LENGTH = 500, SETUP_MARKER_START = "# === Agent-managed setup (from DB) ===", SETUP_MARKER_END = "# === End agent-managed setup ===";
747
772
  var init_profile_sync = __esm(() => {
748
773
  init_resolver();
749
774
  init_constants();
@@ -6,7 +6,7 @@ import {
6
6
  getSwarmConfigs,
7
7
  init_db,
8
8
  upsertSwarmConfig
9
- } from "./cli-awwphhcs.js";
9
+ } from "./cli-47m6dkd3.js";
10
10
  import {
11
11
  init_secret_scrubber,
12
12
  scrubSecrets
package/dist/cli.js CHANGED
@@ -57,7 +57,7 @@ var import_react = __toESM(require_react(), 1);
57
57
  // package.json
58
58
  var package_default = {
59
59
  name: "@desplega.ai/agent-swarm",
60
- version: "1.157.0",
60
+ version: "1.158.0",
61
61
  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.",
62
62
  keywords: [
63
63
  "agent-swarm.dev",
@@ -260,6 +260,7 @@ var package_default = {
260
260
  "@opencode-ai/sdk": "^1.18.32",
261
261
  "@openfort/openfort-node": "^0.9.1",
262
262
  "@opentelemetry/api": "^1.9.1",
263
+ "@opentelemetry/api-logs": "^0.218.0",
263
264
  "@opentelemetry/exporter-metrics-otlp-http": "^0.218.0",
264
265
  "@opentelemetry/exporter-trace-otlp-http": "^0.218.0",
265
266
  "@opentelemetry/resources": "^2.7.1",
@@ -329,6 +330,7 @@ function parseArgs(args) {
329
330
  let preset = "";
330
331
  let maxConcurrentTasks;
331
332
  let pullPolicy;
333
+ let containerEngine;
332
334
  let open = false;
333
335
  let showHelp = false;
334
336
  let dbPath = "";
@@ -381,6 +383,13 @@ function parseArgs(args) {
381
383
  i++;
382
384
  } else if (arg?.startsWith("--pull-policy=")) {
383
385
  pullPolicy = arg.slice("--pull-policy=".length);
386
+ } else if (arg === "--container-engine") {
387
+ const value = mainArgs[i + 1];
388
+ containerEngine = value && !value.startsWith("-") ? value : "";
389
+ if (value && !value.startsWith("-"))
390
+ i++;
391
+ } else if (arg?.startsWith("--container-engine=")) {
392
+ containerEngine = arg.slice("--container-engine=".length);
384
393
  } else if (arg === "--open") {
385
394
  open = true;
386
395
  } else if (arg === "--help" || arg === "-h") {
@@ -406,6 +415,7 @@ function parseArgs(args) {
406
415
  preset,
407
416
  maxConcurrentTasks,
408
417
  pullPolicy,
418
+ containerEngine,
409
419
  open,
410
420
  showHelp,
411
421
  dbPath
@@ -414,7 +424,7 @@ function parseArgs(args) {
414
424
  var COMMAND_HELP = {
415
425
  onboard: {
416
426
  usage: `${binName} onboard [options]`,
417
- description: `Set up a new swarm from scratch using Docker Compose.
427
+ description: `Set up a new swarm from scratch using Docker Compose (or Podman with a Compose provider).
418
428
  Interactive wizard that collects credentials, generates docker-compose.yml + .env,
419
429
  starts the stack, and verifies health.`,
420
430
  options: [
@@ -423,6 +433,7 @@ starts the stack, and verifies health.`,
423
433
  " --preset <name> Preset: full, dev, content, research, solo (required with --yes)",
424
434
  " --max-concurrent-tasks <n> Tasks per agent (1-100; default: lead 2, worker 1)",
425
435
  " --pull-policy <policy> Pull policy: always, missing, never (default: always)",
436
+ " --container-engine <engine> auto, docker, podman (default: $AGENT_SWARM_CONTAINER_ENGINE, else auto; auto prefers Docker)",
426
437
  " -h, --help Show this help"
427
438
  ].join(`
428
439
  `),
@@ -431,6 +442,7 @@ starts the stack, and verifies health.`,
431
442
  ` ${binName} onboard --dry-run`,
432
443
  ` ${binName} onboard --yes --preset=full`,
433
444
  ` ${binName} onboard --yes --preset=dev`,
445
+ ` ${binName} onboard --container-engine=podman`,
434
446
  ` ANTHROPIC_API_KEY=sk-... ${binName} onboard --yes --preset=solo`
435
447
  ].join(`
436
448
  `)
@@ -739,7 +751,7 @@ function McpServer({ port, apiKey, dbPath }) {
739
751
  if (dbPath) {
740
752
  process.env.DATABASE_PATH = dbPath;
741
753
  }
742
- import("./http-c7jfx990.js").then(() => {
754
+ import("./http-2eqa8t24.js").then(() => {
743
755
  setStatus("running");
744
756
  }).catch((err) => {
745
757
  setStatus("error");
@@ -825,7 +837,7 @@ function WorkerRunner({
825
837
  }) {
826
838
  const { exit } = use_app_default();
827
839
  import_react.useEffect(() => {
828
- import("./worker-1mbyv29k.js").then(({ runWorker }) => runWorker({
840
+ import("./worker-6vrxbv41.js").then(({ runWorker }) => runWorker({
829
841
  prompt: prompt || undefined,
830
842
  yolo,
831
843
  systemPrompt: systemPrompt || undefined,
@@ -842,7 +854,7 @@ function WorkerRunner({
842
854
  function LeadRunner({ prompt, yolo, systemPrompt, systemPromptFile, additionalArgs }) {
843
855
  const { exit } = use_app_default();
844
856
  import_react.useEffect(() => {
845
- import("./lead-h053syts.js").then(({ runLead }) => runLead({
857
+ import("./lead-h3sp357x.js").then(({ runLead }) => runLead({
846
858
  prompt: prompt || undefined,
847
859
  yolo,
848
860
  systemPrompt: systemPrompt || undefined,
@@ -882,8 +894,8 @@ function LazyComponent({
882
894
  }
883
895
  return import_react.createElement(Component, props);
884
896
  }
885
- var loadOnboard = () => import("./onboard-mfgzeqxs.js").then(({ Onboard }) => Onboard);
886
- var loadConnect = () => import("./setup-w606fr1q.js").then(({ Setup }) => Setup);
897
+ var loadOnboard = () => import("./onboard-tmsp0qbz.js").then(({ Onboard }) => Onboard);
898
+ var loadConnect = () => import("./setup-q9720bt6.js").then(({ Setup }) => Setup);
887
899
  function UnknownCommand({ command }) {
888
900
  const { exit } = use_app_default();
889
901
  import_react.useEffect(() => {
@@ -927,7 +939,8 @@ function App({ args }) {
927
939
  additionalArgs,
928
940
  preset,
929
941
  maxConcurrentTasks,
930
- pullPolicy
942
+ pullPolicy,
943
+ containerEngine
931
944
  } = args;
932
945
  switch (command) {
933
946
  case "onboard":
@@ -938,7 +951,8 @@ function App({ args }) {
938
951
  yes,
939
952
  preset: preset || undefined,
940
953
  maxConcurrentTasks,
941
- pullPolicy
954
+ pullPolicy,
955
+ containerEngine
942
956
  }
943
957
  }, undefined, false, undefined, this);
944
958
  case "connect":
@@ -1004,19 +1018,19 @@ ${binName} docs \u2014 v${package_default.version}
1004
1018
  }
1005
1019
  process.exit(0);
1006
1020
  } else if (args.command === "hook") {
1007
- const { runHook } = await import("./hook-fbxjqfjz.js");
1021
+ const { runHook } = await import("./hook-ybvmrmhq.js");
1008
1022
  await runHook();
1009
1023
  } else if (args.command === "codex-hook") {
1010
1024
  const { handleCodexHook } = await import("./codex-hook-9hptmdhj.js");
1011
1025
  await handleCodexHook();
1012
1026
  process.exit(0);
1013
1027
  } else if (args.command === "session-summary-stdin") {
1014
- const { runSessionSummaryFromStdin } = await import("./hook-x4kftwzt.js");
1028
+ const { runSessionSummaryFromStdin } = await import("./hook-7vkskkre.js");
1015
1029
  await runSessionSummaryFromStdin();
1016
1030
  process.exit(process.exitCode ?? 0);
1017
1031
  } else if (args.command === "artifact") {
1018
1032
  const artifactArgs = process.argv.slice(process.argv.indexOf("artifact") + 1);
1019
- const { runArtifact } = await import("./artifact-td4q4dch.js");
1033
+ const { runArtifact } = await import("./artifact-3v5t9jtg.js");
1020
1034
  await runArtifact(artifactArgs[0] || "help", {
1021
1035
  additionalArgs: artifactArgs.slice(1),
1022
1036
  port: args.port,
@@ -1032,7 +1046,7 @@ ${binName} docs \u2014 v${package_default.version}
1032
1046
  printHelp("scripts");
1033
1047
  process.exit(scriptsArgs[0] === "reembed" || args.showHelp ? 0 : 1);
1034
1048
  }
1035
- const { runScriptsMaintenanceCommand } = await import("./maintenance-a3w6zs54.js");
1049
+ const { runScriptsMaintenanceCommand } = await import("./maintenance-jzeqtk3q.js");
1036
1050
  await runScriptsMaintenanceCommand(scriptsArgs);
1037
1051
  console.log("Scripts re-embedded.");
1038
1052
  } else if (args.command === "rbac") {
@@ -1042,14 +1056,14 @@ ${binName} docs \u2014 v${package_default.version}
1042
1056
  printHelp("rbac");
1043
1057
  process.exit(args.showHelp ? 0 : 1);
1044
1058
  }
1045
- const { runRbacCliCommand } = await import("./rbac-roles-nm6924sy.js");
1059
+ const { runRbacCliCommand } = await import("./rbac-roles-c9wqz83x.js");
1046
1060
  await runRbacCliCommand(rbacArgs);
1047
1061
  } else if (args.command === "codex-login") {
1048
1062
  const { runCodexLogin } = await import("./codex-login-x3jk4etn.js");
1049
1063
  const codexLoginArgs = process.argv.slice(process.argv.indexOf("codex-login") + 1);
1050
1064
  await runCodexLogin(codexLoginArgs);
1051
1065
  } else if (args.command === "codex-session-runner") {
1052
- const { runCodexSessionRunner } = await import("./codex-session-runner-gqnxys5w.js");
1066
+ const { runCodexSessionRunner } = await import("./codex-session-runner-gfg547zj.js");
1053
1067
  await runCodexSessionRunner();
1054
1068
  } else if (args.command === "claude-managed-setup") {
1055
1069
  const { runClaudeManagedSetup } = await import("./claude-managed-setup-60g8aazx.js");
@@ -6,17 +6,17 @@ import {
6
6
  createInProcessCodexSession,
7
7
  resolveCodexAuthMode,
8
8
  resolveCodexRunnerArgv
9
- } from "./cli-yscm6cv8.js";
10
- import"./cli-hsxj0yar.js";
9
+ } from "./cli-20cj37vt.js";
11
10
  import"./cli-r94z9p1z.js";
11
+ import"./cli-hsxj0yar.js";
12
12
  import"./cli-2djtr51b.js";
13
13
  import"./cli-q2j38vre.js";
14
14
  import"./cli-zm7njwzd.js";
15
- import"./cli-e781c6f9.js";
16
15
  import"./cli-cw9zck8j.js";
16
+ import"./cli-0xjkj1j7.js";
17
17
  import"./cli-hp1n6zq3.js";
18
18
  import"./cli-npssxgaz.js";
19
- import"./cli-avkd6mqv.js";
19
+ import"./cli-h967nb6r.js";
20
20
  import"./cli-tt9k8r35.js";
21
21
  import"./cli-vhjwh6cz.js";
22
22
  import"./cli-re8z5p8p.js";
@@ -30,7 +30,7 @@ import"./cli-cqt19wg6.js";
30
30
  import"./cli-ej6gbxfb.js";
31
31
  import"./cli-sd0mxa3c.js";
32
32
  import"./cli-w5e1d1vv.js";
33
- import"./cli-sgyqyyxe.js";
33
+ import"./cli-c07r9a2m.js";
34
34
  import"./cli-r2ap2czm.js";
35
35
  import"./cli-5b6b62tz.js";
36
36
  import"./cli-btbzvq95.js";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  createInProcessCodexSession
3
- } from "./cli-yscm6cv8.js";
4
- import"./cli-hsxj0yar.js";
3
+ } from "./cli-20cj37vt.js";
5
4
  import"./cli-r94z9p1z.js";
5
+ import"./cli-hsxj0yar.js";
6
6
  import"./cli-2djtr51b.js";
7
7
  import"./cli-q2j38vre.js";
8
8
  import"./cli-zm7njwzd.js";
9
- import"./cli-e781c6f9.js";
10
9
  import"./cli-cw9zck8j.js";
10
+ import"./cli-0xjkj1j7.js";
11
11
  import"./cli-hp1n6zq3.js";
12
12
  import"./cli-npssxgaz.js";
13
- import"./cli-avkd6mqv.js";
13
+ import"./cli-h967nb6r.js";
14
14
  import"./cli-tt9k8r35.js";
15
15
  import"./cli-vhjwh6cz.js";
16
16
  import"./cli-re8z5p8p.js";
@@ -24,7 +24,7 @@ import"./cli-cqt19wg6.js";
24
24
  import"./cli-ej6gbxfb.js";
25
25
  import"./cli-sd0mxa3c.js";
26
26
  import"./cli-w5e1d1vv.js";
27
- import"./cli-sgyqyyxe.js";
27
+ import"./cli-c07r9a2m.js";
28
28
  import {
29
29
  init_secret_scrubber,
30
30
  scrubSecrets
@@ -2,8 +2,8 @@ import {
2
2
  getAllAgents,
3
3
  getAllTasks,
4
4
  init_db
5
- } from "./cli-awwphhcs.js";
6
- import"./cli-h0wdadsx.js";
5
+ } from "./cli-47m6dkd3.js";
6
+ import"./cli-4198qc9v.js";
7
7
  import"./cli-3gmcwfyx.js";
8
8
  import"./cli-ggm92wcn.js";
9
9
  import"./cli-19jenss3.js";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./cli-ej6gbxfb.js";
18
18
  import"./cli-sd0mxa3c.js";
19
19
  import"./cli-w5e1d1vv.js";
20
- import"./cli-sgyqyyxe.js";
20
+ import"./cli-c07r9a2m.js";
21
21
  import"./cli-r2ap2czm.js";
22
22
  import"./cli-zf8jjwex.js";
23
23
  import"./cli-bc05qbss.js";
@@ -15,6 +15,7 @@ import {
15
15
  backfillSupersedeTaskResumeTaskId,
16
16
  bindSlackMessageTimestamp,
17
17
  buildRoutingAffinityFromAgent,
18
+ cancelApprovalRequestById,
18
19
  cancelPendingApprovalRequestsForRun,
19
20
  cancelPendingSteeringForTask,
20
21
  cancelTask,
@@ -121,6 +122,7 @@ import {
121
122
  getActiveTaskCount,
122
123
  getAgentById,
123
124
  getAgentCurrentTask,
125
+ getAgentDailyTaskCounts,
124
126
  getAgentHarnessProviders,
125
127
  getAgentMailInboxMapping,
126
128
  getAgentMailInboxMappingsByAgent,
@@ -163,6 +165,7 @@ import {
163
165
  getContextSummaryByTaskId,
164
166
  getContextVersion,
165
167
  getContextVersionHistory,
168
+ getCurrentStepForNode,
166
169
  getDailySpendForAgent,
167
170
  getDailySpendForUser,
168
171
  getDailySpendGlobal,
@@ -268,6 +271,7 @@ import {
268
271
  getSlackTreeMessage,
269
272
  getSlackTreeMessageByThread,
270
273
  getSlackTreeMessages,
274
+ getStaleApprovalRequests,
271
275
  getStalePinnedResumes,
272
276
  getStaleUnassignedAffinityTasks,
273
277
  getStalledInProgressTasks,
@@ -278,6 +282,7 @@ import {
278
282
  getStuckApprovalRuns,
279
283
  getStuckWaitRuns,
280
284
  getStuckWorkflowRuns,
285
+ getSupersededTasksWithoutResume,
281
286
  getSwarmConfigById,
282
287
  getSwarmConfigLookupById,
283
288
  getSwarmConfigs,
@@ -335,9 +340,11 @@ import {
335
340
  isPoolAffinityEnforcementEnabled,
336
341
  isSettledSlackMessage,
337
342
  isSqliteVecAvailable,
343
+ kvPrefixUpperBound,
338
344
  listAgentsWithCredStatusByProvider,
339
345
  listAllMetrics,
340
346
  listAllPages,
347
+ listApprovalRequestSummaries,
341
348
  listApprovalRequests,
342
349
  listAssetSummaries,
343
350
  listCancelledApprovalRequestsForRun,
@@ -471,8 +478,8 @@ import {
471
478
  upsertSkillFiles,
472
479
  upsertSwarmConfig,
473
480
  withFavoriteFlags
474
- } from "./cli-awwphhcs.js";
475
- import"./cli-h0wdadsx.js";
481
+ } from "./cli-47m6dkd3.js";
482
+ import"./cli-4198qc9v.js";
476
483
  import {
477
484
  generateDefaultClaudeMd,
478
485
  generateDefaultIdentityMd,
@@ -488,7 +495,7 @@ import"./cli-cqt19wg6.js";
488
495
  import"./cli-ej6gbxfb.js";
489
496
  import"./cli-sd0mxa3c.js";
490
497
  import"./cli-w5e1d1vv.js";
491
- import"./cli-sgyqyyxe.js";
498
+ import"./cli-c07r9a2m.js";
492
499
  import"./cli-r2ap2czm.js";
493
500
  import"./cli-zf8jjwex.js";
494
501
  import"./cli-bc05qbss.js";
@@ -511,6 +518,7 @@ export {
511
518
  backfillSupersedeTaskResumeTaskId,
512
519
  bindSlackMessageTimestamp,
513
520
  buildRoutingAffinityFromAgent,
521
+ cancelApprovalRequestById,
514
522
  cancelPendingApprovalRequestsForRun,
515
523
  cancelPendingSteeringForTask,
516
524
  cancelTask,
@@ -621,6 +629,7 @@ export {
621
629
  getActiveTaskCount,
622
630
  getAgentById,
623
631
  getAgentCurrentTask,
632
+ getAgentDailyTaskCounts,
624
633
  getAgentHarnessProviders,
625
634
  getAgentMailInboxMapping,
626
635
  getAgentMailInboxMappingsByAgent,
@@ -663,6 +672,7 @@ export {
663
672
  getContextSummaryByTaskId,
664
673
  getContextVersion,
665
674
  getContextVersionHistory,
675
+ getCurrentStepForNode,
666
676
  getDailySpendForAgent,
667
677
  getDailySpendForUser,
668
678
  getDailySpendGlobal,
@@ -768,6 +778,7 @@ export {
768
778
  getSlackTreeMessage,
769
779
  getSlackTreeMessageByThread,
770
780
  getSlackTreeMessages,
781
+ getStaleApprovalRequests,
771
782
  getStalePinnedResumes,
772
783
  getStaleUnassignedAffinityTasks,
773
784
  getStalledInProgressTasks,
@@ -778,6 +789,7 @@ export {
778
789
  getStuckApprovalRuns,
779
790
  getStuckWaitRuns,
780
791
  getStuckWorkflowRuns,
792
+ getSupersededTasksWithoutResume,
781
793
  getSwarmConfigById,
782
794
  getSwarmConfigLookupById,
783
795
  getSwarmConfigs,
@@ -834,9 +846,11 @@ export {
834
846
  isPoolAffinityEnforcementEnabled,
835
847
  isSettledSlackMessage,
836
848
  isSqliteVecAvailable,
849
+ kvPrefixUpperBound,
837
850
  listAgentsWithCredStatusByProvider,
838
851
  listAllMetrics,
839
852
  listAllPages,
853
+ listApprovalRequestSummaries,
840
854
  listApprovalRequests,
841
855
  listAssetSummaries,
842
856
  listCancelledApprovalRequestsForRun,
@@ -11,37 +11,37 @@ import {
11
11
  resolveBridgeCallOrigin,
12
12
  runContext,
13
13
  unregister
14
- } from "./cli-01vfmq8c.js";
14
+ } from "./cli-ftfvggzx.js";
15
15
  import"./cli-0z2v4nhw.js";
16
16
  import"./cli-tt9k8r35.js";
17
17
  import"./cli-vhjwh6cz.js";
18
18
  import"./cli-re8z5p8p.js";
19
19
  import"./cli-3dpj7atn.js";
20
20
  import"./cli-aw1jwp1r.js";
21
- import"./cli-6jjzxv3b.js";
22
- import"./cli-xf5b7y1f.js";
23
- import"./cli-f3va018d.js";
24
- import"./cli-ytxs7mn1.js";
25
- import"./cli-c41wjx0r.js";
21
+ import"./cli-aky8tctm.js";
22
+ import"./cli-g8djp6qe.js";
23
+ import"./cli-ws6rqycm.js";
24
+ import"./cli-wscdvcqz.js";
25
+ import"./cli-fgqxwrpv.js";
26
26
  import"./cli-epan13p1.js";
27
27
  import"./cli-y89t4nca.js";
28
28
  import"./cli-f14fvzag.js";
29
- import"./cli-wsed24mk.js";
30
- import"./cli-wb2zvbfg.js";
29
+ import"./cli-987hg0aa.js";
30
+ import"./cli-53sz8gkz.js";
31
31
  import"./cli-jsp14b6c.js";
32
- import"./cli-v53rbqp3.js";
33
- import"./cli-nbp6m6gp.js";
32
+ import"./cli-65hjmev5.js";
33
+ import"./cli-xberxa1r.js";
34
34
  import"./cli-bsakbbkm.js";
35
35
  import"./cli-fad8m16k.js";
36
36
  import"./cli-51tf7ac3.js";
37
37
  import"./cli-aehm1rbq.js";
38
- import"./cli-9p33cz9h.js";
38
+ import"./cli-j57qkrpq.js";
39
39
  import"./cli-q51yprfq.js";
40
40
  import"./cli-3er6gcsn.js";
41
41
  import"./cli-2658f6at.js";
42
42
  import"./cli-yatxqynm.js";
43
- import"./cli-awwphhcs.js";
44
- import"./cli-h0wdadsx.js";
43
+ import"./cli-47m6dkd3.js";
44
+ import"./cli-4198qc9v.js";
45
45
  import"./cli-3gmcwfyx.js";
46
46
  import"./cli-ggm92wcn.js";
47
47
  import"./cli-19jenss3.js";
@@ -52,7 +52,7 @@ import"./cli-cqt19wg6.js";
52
52
  import"./cli-ej6gbxfb.js";
53
53
  import"./cli-sd0mxa3c.js";
54
54
  import"./cli-w5e1d1vv.js";
55
- import"./cli-sgyqyyxe.js";
55
+ import"./cli-c07r9a2m.js";
56
56
  import"./cli-r2ap2czm.js";
57
57
  import"./cli-5b6b62tz.js";
58
58
  import"./cli-btbzvq95.js";