@desplega.ai/agent-swarm 2.5.0 → 2.5.1

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 (82) hide show
  1. package/dist/{acp-adapter-11gp67nr.js → acp-adapter-7g6bpwbk.js} +1 -1
  2. package/dist/{actions-8p2kze8j.js → actions-w8xd014k.js} +16 -16
  3. package/dist/{app-0qp0a2gk.js → app-nndcvftq.js} +3 -3
  4. package/dist/{assistant-jedd3ktm.js → assistant-hjmqyscx.js} +17 -17
  5. package/dist/{boot-reembed-n4wq5dd2.js → boot-reembed-r8rhf9h8.js} +1 -1
  6. package/dist/{boot-reembed-4xwq5tg0.js → boot-reembed-vwcj2y5d.js} +1 -1
  7. package/dist/{boot-scrub-sweep-69h90xcq.js → boot-scrub-sweep-fr9q36ne.js} +2 -2
  8. package/dist/{boot-seeds-3vn0m9sg.js → boot-seeds-9jqwnegq.js} +4 -4
  9. package/dist/{claude-adapter-221mvad5.js → claude-adapter-2f8b85df.js} +2 -2
  10. package/dist/{claude-sdk-session-8thjsk5e.js → claude-sdk-session-05kat8rv.js} +2 -2
  11. package/dist/{cli-x6vf4sad.js → cli-0jy85zz4.js} +5 -5
  12. package/dist/{cli-5rvg1ddk.js → cli-1dp1zj04.js} +2 -2
  13. package/dist/{cli-179xcyky.js → cli-22rmcjkg.js} +1 -1
  14. package/dist/{cli-7g40g8hq.js → cli-2jg61wab.js} +8 -8
  15. package/dist/{cli-r25qpaxt.js → cli-2wba1ac9.js} +12 -12
  16. package/dist/{cli-y4x8ww6s.js → cli-3ee5z0q0.js} +1 -1
  17. package/dist/{cli-0y6f0ckq.js → cli-9mm5ade4.js} +1 -1
  18. package/dist/{cli-x21dqn18.js → cli-ajqhxtnz.js} +1 -1
  19. package/dist/{cli-segs7hx9.js → cli-cah5detr.js} +5 -5
  20. package/dist/{cli-4w24f7z3.js → cli-cwyafhw1.js} +1 -1
  21. package/dist/{cli-fy1jyyym.js → cli-e9btqw4y.js} +10 -10
  22. package/dist/{cli-bgdtv62r.js → cli-eym3jg7w.js} +6 -6
  23. package/dist/{cli-xt768r5m.js → cli-gwcf52gz.js} +1 -1
  24. package/dist/{cli-nnvjb17s.js → cli-hadv0725.js} +1 -1
  25. package/dist/{cli-5kzk3472.js → cli-kcsd1ez8.js} +60 -32
  26. package/dist/{cli-we0ra057.js → cli-mq7kg1b1.js} +2 -2
  27. package/dist/{cli-y9jvxfhk.js → cli-mz2ygeyq.js} +2 -2
  28. package/dist/{cli-3zwye9sn.js → cli-nj12tn2c.js} +2 -2
  29. package/dist/{cli-92mqenkc.js → cli-pyy4c9ch.js} +7 -7
  30. package/dist/{cli-fcc5qe3f.js → cli-q9pzwxvk.js} +3 -3
  31. package/dist/{cli-sy8f9705.js → cli-qfjm4gvt.js} +2 -2
  32. package/dist/{cli-mbfj11fq.js → cli-qfm6my86.js} +1 -1
  33. package/dist/{cli-1pr672hz.js → cli-r9fy0ddc.js} +1 -1
  34. package/dist/{cli-s4sntwt4.js → cli-rngde2jv.js} +1 -1
  35. package/dist/{cli-7bwtc6yx.js → cli-sn1vbtg2.js} +3 -3
  36. package/dist/{cli-36j4jnk3.js → cli-v2g93k4v.js} +3 -3
  37. package/dist/{cli-ftmq4nvk.js → cli-xc65x52q.js} +1 -1
  38. package/dist/{cli-9ce2xw98.js → cli-y3zyaee5.js} +4 -4
  39. package/dist/{cli-0z3vjrpm.js → cli-z2dv25mf.js} +1 -1
  40. package/dist/{cli-xawhpgc9.js → cli-znvq0k3t.js} +1 -1
  41. package/dist/cli.js +11 -11
  42. package/dist/{codex-adapter-tcg1q3jk.js → codex-adapter-p4ptwar5.js} +1 -1
  43. package/dist/{codex-session-runner-xfx4wd9x.js → codex-session-runner-964c7dnk.js} +1 -1
  44. package/dist/{commands-ew83nj70.js → commands-mbvhbrcy.js} +2 -2
  45. package/dist/{controllers-connect-tw1dan9r.js → controllers-connect-6dkm71tg.js} +16 -16
  46. package/dist/{db-7gbc53fd.js → db-88wcymxt.js} +1 -1
  47. package/dist/{db-t86xrnes.js → db-af9y8nkf.js} +3 -3
  48. package/dist/{dispatcher-64bdyhps.js → dispatcher-606ydx5v.js} +15 -15
  49. package/dist/{external-channel-e9nw24zv.js → external-channel-y8q5z8z2.js} +2 -2
  50. package/dist/{grok-adapter-v82srhrx.js → grok-adapter-39aha52t.js} +2 -2
  51. package/dist/{handlers-c9ajzhbn.js → handlers-rk9dqech.js} +18 -18
  52. package/dist/{heartbeat-2vqs1319.js → heartbeat-jfe9zfjr.js} +17 -17
  53. package/dist/{hook-jzpheegg.js → hook-b1mez1m8.js} +1 -1
  54. package/dist/{hook-01nk13wx.js → hook-ffevzed1.js} +1 -1
  55. package/dist/{http-fc1k6ec8.js → http-d5b44f1r.js} +36 -36
  56. package/dist/{index-q3t40ryv.js → index-4q3vj1yr.js} +15 -15
  57. package/dist/{index-sepja052.js → index-5en23s5z.js} +1 -1
  58. package/dist/{index-07ef7nkm.js → index-d2qeem97.js} +15 -15
  59. package/dist/{index-7yts8n9s.js → index-mj46rk9k.js} +17 -17
  60. package/dist/{index-zdycv3ja.js → index-nq8hhv28.js} +7 -7
  61. package/dist/{keepalive-5nh2rhmr.js → keepalive-wsby1btq.js} +3 -3
  62. package/dist/{lead-aayq64jn.js → lead-paa141j6.js} +22 -22
  63. package/dist/{maintenance-hjhzdt3k.js → maintenance-vnshcyv9.js} +1 -1
  64. package/dist/{oauth-refresh-sweep-y3n1knmd.js → oauth-refresh-sweep-d6sqn5np.js} +2 -2
  65. package/dist/{onboard-1zq3m7db.js → onboard-nr4xhpzy.js} +2 -2
  66. package/dist/{otel-impl-h9yyza47.js → otel-impl-ytn9wyv9.js} +1 -1
  67. package/dist/{pricing-refresh-nevhat8h.js → pricing-refresh-pva04zee.js} +3 -3
  68. package/dist/{rbac-roles-4y6ngvzq.js → rbac-roles-7rc1q3g4.js} +1 -1
  69. package/dist/{rbac-roles-exbg8xb6.js → rbac-roles-ff1ffmec.js} +2 -2
  70. package/dist/{render-v2-cfsh13z3.js → render-v2-pyfsg9zk.js} +3 -3
  71. package/dist/{resume-5s2t0dbs.js → resume-phj8xhqr.js} +5 -5
  72. package/dist/{session-access-dnbyp3cn.js → session-access-jzx2z9h5.js} +4 -4
  73. package/dist/{setup-1wj1y77j.js → setup-rfg0f0sg.js} +1 -1
  74. package/dist/{work-objects-7mg6216g.js → work-objects-44z2yjg8.js} +18 -18
  75. package/dist/{worker-nwb789mg.js → worker-zsfqzxhm.js} +22 -22
  76. package/openapi.json +1 -1
  77. package/package.json +1 -1
  78. package/src/gitlab/auth.ts +8 -2
  79. package/src/gitlab/handlers.ts +60 -12
  80. package/src/gitlab/index.ts +1 -1
  81. package/src/tests/gitlab-auth.test.ts +13 -5
  82. package/src/tests/gitlab-handlers.test.ts +270 -22
@@ -43,7 +43,7 @@ import {
43
43
  import {
44
44
  init_package,
45
45
  package_default
46
- } from "./cli-179xcyky.js";
46
+ } from "./cli-22rmcjkg.js";
47
47
  import {
48
48
  scrubSecrets,
49
49
  init_secret_scrubber
@@ -336,19 +336,19 @@ import {
336
336
  recordInlineScriptRun2,
337
337
  exports_db,
338
338
  init_db3
339
- } from "./cli-fcc5qe3f.js";
339
+ } from "./cli-q9pzwxvk.js";
340
340
  import {
341
341
  getUserGrant2,
342
342
  init_rbac_roles
343
- } from "./cli-0z3vjrpm.js";
343
+ } from "./cli-z2dv25mf.js";
344
344
  import {
345
345
  ensurePricingSeeded2,
346
346
  ensureRbacSeeded2,
347
347
  ensureModelProfilesSeeded2
348
- } from "./cli-36j4jnk3.js";
348
+ } from "./cli-v2g93k4v.js";
349
349
  import {
350
350
  loadModelsDevCache
351
- } from "./cli-0y6f0ckq.js";
351
+ } from "./cli-9mm5ade4.js";
352
352
  import {
353
353
  buildCatalogEntries,
354
354
  listModelCatalog,
@@ -358,7 +358,7 @@ import {
358
358
  loadModelsCatalog,
359
359
  requestModelCatalogRefresh2,
360
360
  startPricingRefreshLoop2
361
- } from "./cli-y9jvxfhk.js";
361
+ } from "./cli-mz2ygeyq.js";
362
362
  import {
363
363
  ampPinProviderError,
364
364
  ampPinCatalogError,
@@ -415,7 +415,7 @@ import {
415
415
  definitionNodeIds,
416
416
  validateDefinition,
417
417
  applyDefinitionPatch
418
- } from "./cli-92mqenkc.js";
418
+ } from "./cli-pyy4c9ch.js";
419
419
  import {
420
420
  require_dist2,
421
421
  publicEndpointSsrfOptions,
@@ -475,14 +475,14 @@ import {
475
475
  deleteApp,
476
476
  typecheckScript,
477
477
  parseSkillContent
478
- } from "./cli-we0ra057.js";
478
+ } from "./cli-mq7kg1b1.js";
479
479
  import {
480
480
  buildAuthorizationUrl,
481
481
  onAuthorizationRefreshed,
482
482
  ensureAuthorizationTokenOrThrow,
483
483
  ensureToken,
484
484
  ensureTokenOrThrow
485
- } from "./cli-s4sntwt4.js";
485
+ } from "./cli-rngde2jv.js";
486
486
  import {
487
487
  detachedProcessGroup,
488
488
  registerProcessGroup,
@@ -512,14 +512,14 @@ import {
512
512
  getSlackApp2,
513
513
  startSlackApp2,
514
514
  stopSlackApp2
515
- } from "./cli-fy1jyyym.js";
515
+ } from "./cli-e9btqw4y.js";
516
516
  import {
517
517
  slackCode,
518
518
  slackMissingScopeMessage,
519
519
  withAutoJoin,
520
520
  externalChannelToolError2,
521
521
  getChannelBlockReason2
522
- } from "./cli-ftmq4nvk.js";
522
+ } from "./cli-xc65x52q.js";
523
523
  import {
524
524
  workflowEventBus2,
525
525
  init_event_bus
@@ -541,7 +541,7 @@ import {
541
541
  recoverResolvedWaitState2,
542
542
  resumeFromChildRun2,
543
543
  initWaitBusSubscriptions2
544
- } from "./cli-3zwye9sn.js";
544
+ } from "./cli-nj12tn2c.js";
545
545
  import {
546
546
  duplicateGuardedQueryKey,
547
547
  parseQueryParams,
@@ -568,7 +568,7 @@ import {
568
568
  isPublicRoute,
569
569
  findRoute,
570
570
  route
571
- } from "./cli-9ce2xw98.js";
571
+ } from "./cli-y3zyaee5.js";
572
572
  import {
573
573
  isMultiRuntimeEnabled
574
574
  } from "./cli-e8xyjvfc.js";
@@ -582,7 +582,7 @@ import {
582
582
  import {
583
583
  getRuntimePool2,
584
584
  init_db
585
- } from "./cli-5rvg1ddk.js";
585
+ } from "./cli-1dp1zj04.js";
586
586
  import {
587
587
  getMemoryRaterNames,
588
588
  REFERENCES_SOURCE_MAX_LENGTH,
@@ -623,7 +623,7 @@ import {
623
623
  resolveSessionToken,
624
624
  fingerprintApiKey,
625
625
  init_users
626
- } from "./cli-xt768r5m.js";
626
+ } from "./cli-gwcf52gz.js";
627
627
  import {
628
628
  isRbacEnabled,
629
629
  decideAdmission,
@@ -761,7 +761,7 @@ import {
761
761
  import {
762
762
  init_package,
763
763
  package_default
764
- } from "./cli-179xcyky.js";
764
+ } from "./cli-22rmcjkg.js";
765
765
  import {
766
766
  realtimeBus,
767
767
  init_bus
@@ -21119,7 +21119,7 @@ class NotifyExecutor extends BaseExecutor {
21119
21119
  }
21120
21120
  }
21121
21121
  case "slack": {
21122
- const { getSlackApp } = await import("./app-0qp0a2gk.js");
21122
+ const { getSlackApp } = await import("./app-nndcvftq.js");
21123
21123
  const app = getSlackApp();
21124
21124
  if (!app) {
21125
21125
  return {
@@ -24482,7 +24482,7 @@ function setPreloadedTools(server, names) {
24482
24482
  async function applyPreToolCall(name, args, requestInfo, inputSchema) {
24483
24483
  if (requestInfo.callOrigin !== "mcp")
24484
24484
  return { args };
24485
- const dispatcher = await import("./dispatcher-64bdyhps.js");
24485
+ const dispatcher = await import("./dispatcher-606ydx5v.js");
24486
24486
  const result = await dispatcher.dispatchPre("pre.tool.call", { tool: name, args, requestInfo }, inputSchema ? {
24487
24487
  validateModify: async (data) => {
24488
24488
  const schema = normalizeObjectSchema(inputSchema) ?? inputSchema;
@@ -30912,7 +30912,9 @@ function getGitLabToken() {
30912
30912
  function getGitLabUrl() {
30913
30913
  return gitlabUrl;
30914
30914
  }
30915
- var GITLAB_BOT_NAME = process.env.GITLAB_BOT_NAME ?? "agent-swarm-bot";
30915
+ function getGitLabBotName() {
30916
+ return process.env.GITLAB_BOT_NAME || "agent-swarm-bot";
30917
+ }
30916
30918
  function resetGitLab() {
30917
30919
  initialized5 = false;
30918
30920
  webhookSecret5 = null;
@@ -31103,10 +31105,26 @@ function isDuplicate5(key) {
31103
31105
  function detectMention4(text) {
31104
31106
  if (!text)
31105
31107
  return false;
31106
- return new RegExp(`@${GITLAB_BOT_NAME}\\b`, "i").test(text);
31108
+ return new RegExp(`@${getGitLabBotName()}\\b`, "i").test(text);
31107
31109
  }
31108
31110
  function extractMentionContext4(text) {
31109
- return text.replace(new RegExp(`@${GITLAB_BOT_NAME}\\b`, "gi"), "").trim();
31111
+ return text.replace(new RegExp(`@${getGitLabBotName()}\\b`, "gi"), "").trim();
31112
+ }
31113
+ var LEGACY_SCOPE = {
31114
+ mr: {
31115
+ taskTypes: new Set(["gitlab-mr", "gitlab-ci"]),
31116
+ eventTypes: new Set(["merge_request", "note_on_mr", "pipeline"])
31117
+ },
31118
+ issue: {
31119
+ taskTypes: new Set(["gitlab-issue"]),
31120
+ eventTypes: new Set(["issue", "note_on_issue"])
31121
+ }
31122
+ };
31123
+ function isScopedTask(task, kind, contextKey) {
31124
+ if (task.contextKey)
31125
+ return task.contextKey === contextKey;
31126
+ const legacy = LEGACY_SCOPE[kind];
31127
+ return task.taskType !== undefined && legacy.taskTypes.has(task.taskType) || task.vcsEventType !== undefined && legacy.eventTypes.has(task.vcsEventType);
31110
31128
  }
31111
31129
  async function findLeadAgent5() {
31112
31130
  const agents = await getAllAgents2();
@@ -31205,11 +31223,16 @@ async function handleMergeRequest(event) {
31205
31223
  }
31206
31224
  case "close":
31207
31225
  case "merge": {
31208
- const existingTask = await findTaskByVcs2(repo, mr.iid, "gitlab");
31209
- if (existingTask) {
31210
- const reason = action === "merge" ? "MR was merged" : "MR was closed";
31211
- console.log(`[GitLab] Cancelling task ${existingTask.id} — ${reason}`);
31212
- await failTask2(existingTask.id, reason);
31226
+ const reason = action === "merge" ? "MR was merged" : "MR was closed";
31227
+ const mrContextKey = gitlabContextKey({
31228
+ projectId: String(project.id),
31229
+ kind: "mr",
31230
+ iid: mr.iid
31231
+ });
31232
+ const tasks = await findActiveTasksByVcs2(repo, mr.iid, "gitlab");
31233
+ for (const task of tasks.filter((t) => isScopedTask(t, "mr", mrContextKey))) {
31234
+ console.log(`[GitLab] Cancelling task ${task.id} — ${reason}`);
31235
+ await failTask2(task.id, reason);
31213
31236
  }
31214
31237
  return { created: false };
31215
31238
  }
@@ -31241,7 +31264,7 @@ async function handleIssue2(event) {
31241
31264
  case "open": {
31242
31265
  const hasMention = detectMention4(issue.description);
31243
31266
  if (!hasMention) {
31244
- const isBotAssigned = event.assignees?.some((a) => a.username.toLowerCase() === GITLAB_BOT_NAME.toLowerCase());
31267
+ const isBotAssigned = event.assignees?.some((a) => a.username.toLowerCase() === getGitLabBotName().toLowerCase());
31245
31268
  if (!isBotAssigned) {
31246
31269
  console.log(`[GitLab] Issue opened without bot mention/assignment, skipping`);
31247
31270
  return { created: false };
@@ -31288,7 +31311,12 @@ async function handleIssue2(event) {
31288
31311
  return { created: true, taskId: task.id };
31289
31312
  }
31290
31313
  case "close": {
31291
- const existingTask = await findTaskByVcs2(repo, issue.iid, "gitlab");
31314
+ const issueContextKey = gitlabContextKey({
31315
+ projectId: String(project.id),
31316
+ kind: "issue",
31317
+ iid: issue.iid
31318
+ });
31319
+ const existingTask = (await findActiveTasksByVcs2(repo, issue.iid, "gitlab")).find((t) => isScopedTask(t, "issue", issueContextKey));
31292
31320
  if (existingTask) {
31293
31321
  console.log(`[GitLab] Cancelling task ${existingTask.id} — issue closed`);
31294
31322
  await failTask2(existingTask.id, "Issue was closed");
@@ -34942,7 +34970,7 @@ async function notifySlack(text) {
34942
34970
  return;
34943
34971
  }
34944
34972
  try {
34945
- const { getSlackApp } = await import("./app-0qp0a2gk.js");
34973
+ const { getSlackApp } = await import("./app-nndcvftq.js");
34946
34974
  const app = getSlackApp();
34947
34975
  if (!app) {
34948
34976
  console.warn("[Jira webhook keepalive] Slack not available, cannot send notification");
@@ -35013,7 +35041,7 @@ async function deleteJiraWebhook(webhookId) {
35013
35041
  console.log(`[Jira webhook keepalive] Deleted webhook id=${webhookId}`);
35014
35042
  }
35015
35043
  async function overwriteWebhookIds(next) {
35016
- const { getDbClient } = await import("./db-7gbc53fd.js");
35044
+ const { getDbClient } = await import("./db-88wcymxt.js");
35017
35045
  await getDbClient().transaction(async (tx) => {
35018
35046
  const row = await tx.get("SELECT metadata FROM oauth_apps WHERE provider = 'jira'");
35019
35047
  if (!row) {
@@ -108408,7 +108436,7 @@ async function reloadGlobalConfigsAndIntegrations() {
108408
108436
  return runWithoutRequestAuth(() => reloadGlobalConfigsAndIntegrationsInner());
108409
108437
  }
108410
108438
  async function reloadGlobalConfigsAndIntegrationsInner() {
108411
- const { getEmbeddingProvider, resetEmbeddingProvider } = await import("./index-sepja052.js");
108439
+ const { getEmbeddingProvider, resetEmbeddingProvider } = await import("./index-5en23s5z.js");
108412
108440
  const wasEmbeddingsConfigured = getEmbeddingProvider().isConfigured();
108413
108441
  const updated = await loadGlobalConfigsIntoEnv(true);
108414
108442
  await syncTelemetryEnabled("settings").catch((err) => {
@@ -108424,10 +108452,10 @@ async function reloadGlobalConfigsAndIntegrationsInner() {
108424
108452
  integrations.push("embeddings");
108425
108453
  }
108426
108454
  if (!wasEmbeddingsConfigured && isEmbeddingsConfigured) {
108427
- import("./boot-reembed-n4wq5dd2.js").then(({ runBootReembed }) => runBootReembed()).catch((err) => {
108455
+ import("./boot-reembed-r8rhf9h8.js").then(({ runBootReembed }) => runBootReembed()).catch((err) => {
108428
108456
  console.error("[config-reload] memory backfill failed (non-fatal):", err);
108429
108457
  });
108430
- import("./boot-reembed-4xwq5tg0.js").then(({ runBootReembedScripts }) => runBootReembedScripts()).catch((err) => {
108458
+ import("./boot-reembed-vwcj2y5d.js").then(({ runBootReembedScripts }) => runBootReembedScripts()).catch((err) => {
108431
108459
  console.error("[config-reload] script backfill failed (non-fatal):", err);
108432
108460
  });
108433
108461
  }
@@ -39,14 +39,14 @@ import {
39
39
  getResolvedConfig2,
40
40
  getMcpServerById2,
41
41
  init_db3
42
- } from "./cli-fcc5qe3f.js";
42
+ } from "./cli-q9pzwxvk.js";
43
43
  import {
44
44
  generateRandomCodeVerifier,
45
45
  generateRandomState,
46
46
  calculatePKCECodeChallenge,
47
47
  oauthAppRowToProviderConfig,
48
48
  ensureAuthorizationTokenOrThrow
49
- } from "./cli-s4sntwt4.js";
49
+ } from "./cli-rngde2jv.js";
50
50
  import {
51
51
  detachedProcessGroup,
52
52
  registerProcessGroup,
@@ -4,11 +4,11 @@ import {
4
4
  getActivePricingRow2,
5
5
  insertPricingRow2,
6
6
  init_db3
7
- } from "./cli-fcc5qe3f.js";
7
+ } from "./cli-q9pzwxvk.js";
8
8
  import {
9
9
  loadModelsDevCache,
10
10
  buildModelsDevSeedRows
11
- } from "./cli-0y6f0ckq.js";
11
+ } from "./cli-9mm5ade4.js";
12
12
  import {
13
13
  setRuntimeModelCatalog,
14
14
  init_runtime_model_catalog
@@ -22,7 +22,7 @@ import {
22
22
  getPendingWaitsByEvent2,
23
23
  resolveWaitState2,
24
24
  init_db3
25
- } from "./cli-fcc5qe3f.js";
25
+ } from "./cli-q9pzwxvk.js";
26
26
  import {
27
27
  BaseExecutor,
28
28
  postApprovalCancellationUpdates,
@@ -48,7 +48,7 @@ import {
48
48
  stepFailureMode,
49
49
  getNextTargets,
50
50
  getSuccessors
51
- } from "./cli-92mqenkc.js";
51
+ } from "./cli-pyy4c9ch.js";
52
52
  import {
53
53
  workflowEventBus2,
54
54
  init_event_bus
@@ -35,10 +35,10 @@ import {
35
35
  completeApprovalCancellationNotificationClaim2,
36
36
  releaseApprovalCancellationNotificationClaim2,
37
37
  init_db3
38
- } from "./cli-fcc5qe3f.js";
38
+ } from "./cli-q9pzwxvk.js";
39
39
  import {
40
40
  getSlackApp2
41
- } from "./cli-fy1jyyym.js";
41
+ } from "./cli-e9btqw4y.js";
42
42
  import {
43
43
  DEFAULT_MODEL,
44
44
  resolveCredential
@@ -117,7 +117,7 @@ async function notifyAutomationPreflightFailure(preflight) {
117
117
  return;
118
118
  }
119
119
  try {
120
- const { getSlackApp } = await import("./app-0qp0a2gk.js");
120
+ const { getSlackApp } = await import("./app-nndcvftq.js");
121
121
  const app = getSlackApp();
122
122
  if (!app) {
123
123
  console.warn("[Automation Preflight] Slack not available, cannot send notification");
@@ -790,7 +790,7 @@ class HumanInTheLoopExecutor extends BaseExecutor {
790
790
  }
791
791
  if (notification.channel === "slack") {
792
792
  try {
793
- const { getSlackApp } = await import("./app-0qp0a2gk.js");
793
+ const { getSlackApp } = await import("./app-nndcvftq.js");
794
794
  const slackApp = getSlackApp();
795
795
  if (!slackApp) {
796
796
  console.warn("[HITL] Slack not initialized — cannot send notification");
@@ -3878,7 +3878,7 @@ async function runClaimedStep(def, runId, ctx, node, registry, existingStep, ste
3878
3878
  }
3879
3879
  const waiting = await checkpointStepWaiting(runId, stepId, ctx);
3880
3880
  if (waiting && result.waitFor === "workflow.child.finished") {
3881
- const { resumeFromChildRun } = await import("./resume-5s2t0dbs.js");
3881
+ const { resumeFromChildRun } = await import("./resume-phj8xhqr.js");
3882
3882
  await resumeFromChildRun(stepId, registry);
3883
3883
  }
3884
3884
  return { outcome: waiting ? "waiting" : "completed", successors: [] };
@@ -4330,7 +4330,7 @@ async function runForeachDrive(runId, parentNodeId, registry) {
4330
4330
  if (drive.successors.length > 0) {
4331
4331
  await walkGraph(workflow.definition, runId, ctx, drive.successors, registry, workflow.id, getSecretInputKeys(workflow.input));
4332
4332
  } else {
4333
- const { finalizeOrWait } = await import("./resume-5s2t0dbs.js");
4333
+ const { finalizeOrWait } = await import("./resume-phj8xhqr.js");
4334
4334
  await finalizeOrWait(runId);
4335
4335
  }
4336
4336
  return drive;
@@ -4472,7 +4472,7 @@ async function startChild(input) {
4472
4472
  const parked = await getDbClient2().get("UPDATE workflow_run_steps SET status = 'waiting' WHERE id = ? AND status = 'running' RETURNING id", [child.id]);
4473
4473
  if (parked && result.waitFor === "workflow.child.finished") {
4474
4474
  ownedChildren.delete(child.id);
4475
- const { resumeFromChildRun } = await import("./resume-5s2t0dbs.js");
4475
+ const { resumeFromChildRun } = await import("./resume-phj8xhqr.js");
4476
4476
  await resumeFromChildRun(child.id, registry);
4477
4477
  }
4478
4478
  return null;
@@ -109,7 +109,7 @@ import {
109
109
  import {
110
110
  init_package,
111
111
  package_default
112
- } from "./cli-179xcyky.js";
112
+ } from "./cli-22rmcjkg.js";
113
113
  import {
114
114
  realtimeBus,
115
115
  init_bus
@@ -4871,7 +4871,7 @@ var init_runtime = __esm(() => {
4871
4871
  // src/telemetry-identity.ts
4872
4872
  async function loadUserRole(userId) {
4873
4873
  try {
4874
- const { getUserGrant } = await import("./rbac-roles-exbg8xb6.js");
4874
+ const { getUserGrant } = await import("./rbac-roles-ff1ffmec.js");
4875
4875
  const grant = await getUserGrant(userId);
4876
4876
  const role = grant.grantsAll ? "admin" : "member";
4877
4877
  const user = await getDbClient2().get("SELECT json_extract(metadata, '$.jobFunction') AS jobFunction FROM users WHERE id = ? AND json_valid(metadata)", [userId]);
@@ -19708,7 +19708,7 @@ async function loadSecretRegistry() {
19708
19708
  result.failed += 1;
19709
19709
  }
19710
19710
  try {
19711
- const { loadRuntimeControllerSecrets } = await import("./db-t86xrnes.js");
19711
+ const { loadRuntimeControllerSecrets } = await import("./db-af9y8nkf.js");
19712
19712
  const loaded = await loadRuntimeControllerSecrets();
19713
19713
  result.runtimeController = loaded.count;
19714
19714
  result.failed += loaded.failed;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runStopHookSessionSummarySubprocess
3
- } from "./cli-x21dqn18.js";
3
+ } from "./cli-ajqhxtnz.js";
4
4
  import {
5
5
  CONTEXT_FORMULA,
6
6
  getContextWindowSize,
@@ -1236,7 +1236,7 @@ class ClaudeAdapter2 {
1236
1236
  if (transport === "sdk" && isClaudeBridgeEffective(sourceEnv)) {
1237
1237
  throw new Error("CLAUDE_TRANSPORT=sdk cannot run with an effective Claude Bridge configuration. Select CLI transport or disable the bridge.");
1238
1238
  }
1239
- const claudeSdk = transport === "sdk" ? await import("./claude-sdk-session-8thjsk5e.js") : undefined;
1239
+ const claudeSdk = transport === "sdk" ? await import("./claude-sdk-session-05kat8rv.js") : undefined;
1240
1240
  claudeSdk?.validateClaudeSdkAdditionalArgs([
1241
1241
  ...claudeBinaryArgv.slice(1),
1242
1242
  ...config.additionalArgs ?? []
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  init_package,
3
3
  package_default
4
- } from "./cli-179xcyky.js";
4
+ } from "./cli-22rmcjkg.js";
5
5
 
6
6
  // src/commands/shared/client-config.ts
7
7
  init_package();
@@ -6,7 +6,7 @@ import {
6
6
  getResolvedConfig2,
7
7
  getAllUsers2,
8
8
  init_db3
9
- } from "./cli-fcc5qe3f.js";
9
+ } from "./cli-q9pzwxvk.js";
10
10
  import {
11
11
  scrubSecrets,
12
12
  init_secret_scrubber
@@ -9,7 +9,7 @@ import {
9
9
  acquireOAuthRefreshLock,
10
10
  releaseOAuthRefreshLock,
11
11
  init_oauth
12
- } from "./cli-fcc5qe3f.js";
12
+ } from "./cli-q9pzwxvk.js";
13
13
  import {
14
14
  scrubSecrets,
15
15
  registerVolatileSecret,
@@ -2,17 +2,17 @@ import {
2
2
  getKv2,
3
3
  upsertKv2,
4
4
  init_db3
5
- } from "./cli-fcc5qe3f.js";
5
+ } from "./cli-q9pzwxvk.js";
6
6
  import {
7
7
  resolveIdentity,
8
8
  recordUnmappedIdentity
9
- } from "./cli-5kzk3472.js";
9
+ } from "./cli-kcsd1ez8.js";
10
10
  import {
11
11
  findUserByExternalId,
12
12
  findOrCreateUserByEmail,
13
13
  linkIdentity,
14
14
  init_users
15
- } from "./cli-xt768r5m.js";
15
+ } from "./cli-gwcf52gz.js";
16
16
 
17
17
  // src/slack/enrich.ts
18
18
  init_db3();
@@ -7,14 +7,14 @@ import {
7
7
  tierConfigKey,
8
8
  init_model_tier_keys,
9
9
  init_db3
10
- } from "./cli-fcc5qe3f.js";
10
+ } from "./cli-q9pzwxvk.js";
11
11
  import {
12
12
  ensureRbacSeedsSynced2,
13
13
  init_rbac_roles
14
- } from "./cli-0z3vjrpm.js";
14
+ } from "./cli-z2dv25mf.js";
15
15
  import {
16
16
  seedPricingFromModelsDev
17
- } from "./cli-0y6f0ckq.js";
17
+ } from "./cli-9mm5ade4.js";
18
18
  import {
19
19
  MODEL_TIERS,
20
20
  DEFAULT_MODEL_TIER_MAP,
@@ -4,7 +4,7 @@ import {
4
4
  claimKv2,
5
5
  deleteKv2,
6
6
  init_db3
7
- } from "./cli-fcc5qe3f.js";
7
+ } from "./cli-q9pzwxvk.js";
8
8
  import {
9
9
  isEnvFlagEnabled,
10
10
  init_env_flag
@@ -9,16 +9,16 @@ import {
9
9
  init_active_sessions,
10
10
  getSteeringMessageById2,
11
11
  init_db3
12
- } from "./cli-fcc5qe3f.js";
12
+ } from "./cli-q9pzwxvk.js";
13
13
  import {
14
14
  getUserGrant2,
15
15
  init_rbac_roles
16
- } from "./cli-0z3vjrpm.js";
16
+ } from "./cli-z2dv25mf.js";
17
17
  import {
18
18
  findUserById,
19
19
  findUserByExternalId,
20
20
  init_users
21
- } from "./cli-xt768r5m.js";
21
+ } from "./cli-gwcf52gz.js";
22
22
  import {
23
23
  isRbacEnabled,
24
24
  can,
@@ -503,7 +503,7 @@ function route(def) {
503
503
  try {
504
504
  const rawBody = def.body ? await parseBody(req, def.maxBodyBytes) : undefined;
505
505
  if (def.session && "bodyTaskIds" in def.session) {
506
- const { bodySessionDenial } = await import("./session-access-dnbyp3cn.js");
506
+ const { bodySessionDenial } = await import("./session-access-jzx2z9h5.js");
507
507
  const denial = await bodySessionDenial(req, def.session.bodyTaskIds(rawBody));
508
508
  if (denial) {
509
509
  jsonError(res, denial, 403);
@@ -2,7 +2,7 @@ import {
2
2
  getDb2,
3
3
  getDbClient2,
4
4
  init_db3
5
- } from "./cli-fcc5qe3f.js";
5
+ } from "./cli-q9pzwxvk.js";
6
6
  import {
7
7
  PermissionVerbSchema,
8
8
  init_rbac
@@ -60,7 +60,7 @@ import {
60
60
  import {
61
61
  init_package,
62
62
  package_default
63
- } from "./cli-179xcyky.js";
63
+ } from "./cli-22rmcjkg.js";
64
64
  import {
65
65
  isEnvFlagEnabled,
66
66
  isSessionSummarySkipped,
package/dist/cli.js CHANGED
@@ -53,7 +53,7 @@ var import_react = __toESM(require_react(), 1);
53
53
  // package.json
54
54
  var package_default = {
55
55
  name: "@desplega.ai/agent-swarm",
56
- version: "2.5.0",
56
+ version: "2.5.1",
57
57
  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.",
58
58
  keywords: [
59
59
  "agent-swarm.dev",
@@ -835,7 +835,7 @@ function McpServer({ port, apiKey, dbPath }) {
835
835
  if (dbPath) {
836
836
  process.env.DATABASE_PATH = dbPath;
837
837
  }
838
- import("./http-fc1k6ec8.js").then(() => {
838
+ import("./http-d5b44f1r.js").then(() => {
839
839
  setStatus("running");
840
840
  }).catch((err) => {
841
841
  setStatus("error");
@@ -922,7 +922,7 @@ function WorkerRunner({
922
922
  const { exit } = use_app_default();
923
923
  import_react.useEffect(() => {
924
924
  installConsoleScrub();
925
- import("./worker-nwb789mg.js").then(({ runWorker }) => runWorker({
925
+ import("./worker-zsfqzxhm.js").then(({ runWorker }) => runWorker({
926
926
  prompt: prompt || undefined,
927
927
  yolo,
928
928
  systemPrompt: systemPrompt || undefined,
@@ -940,7 +940,7 @@ function LeadRunner({ prompt, yolo, systemPrompt, systemPromptFile, additionalAr
940
940
  const { exit } = use_app_default();
941
941
  import_react.useEffect(() => {
942
942
  installConsoleScrub();
943
- import("./lead-aayq64jn.js").then(({ runLead }) => runLead({
943
+ import("./lead-paa141j6.js").then(({ runLead }) => runLead({
944
944
  prompt: prompt || undefined,
945
945
  yolo,
946
946
  systemPrompt: systemPrompt || undefined,
@@ -980,8 +980,8 @@ function LazyComponent({
980
980
  }
981
981
  return import_react.createElement(Component, props);
982
982
  }
983
- var loadOnboard = () => import("./onboard-1zq3m7db.js").then(({ Onboard }) => Onboard);
984
- var loadConnect = () => import("./setup-1wj1y77j.js").then(({ Setup }) => Setup);
983
+ var loadOnboard = () => import("./onboard-nr4xhpzy.js").then(({ Onboard }) => Onboard);
984
+ var loadConnect = () => import("./setup-rfg0f0sg.js").then(({ Setup }) => Setup);
985
985
  function UnknownCommand({ command }) {
986
986
  const { exit } = use_app_default();
987
987
  import_react.useEffect(() => {
@@ -1111,14 +1111,14 @@ ${binName} docs \u2014 v${package_default.version}
1111
1111
  }
1112
1112
  process.exit(0);
1113
1113
  } else if (args.command === "hook") {
1114
- const { runHook } = await import("./hook-01nk13wx.js");
1114
+ const { runHook } = await import("./hook-ffevzed1.js");
1115
1115
  await runHook();
1116
1116
  } else if (args.command === "codex-hook") {
1117
1117
  const { handleCodexHook } = await import("./codex-hook-e2he7aca.js");
1118
1118
  await handleCodexHook();
1119
1119
  process.exit(process.exitCode ?? 0);
1120
1120
  } else if (args.command === "session-summary-stdin") {
1121
- const { runSessionSummaryFromStdin } = await import("./hook-jzpheegg.js");
1121
+ const { runSessionSummaryFromStdin } = await import("./hook-b1mez1m8.js");
1122
1122
  await runSessionSummaryFromStdin();
1123
1123
  process.exit(process.exitCode ?? 0);
1124
1124
  } else if (args.command === "x") {
@@ -1131,7 +1131,7 @@ ${binName} docs \u2014 v${package_default.version}
1131
1131
  printHelp("scripts");
1132
1132
  process.exit(scriptsArgs[0] === "reembed" || args.showHelp ? 0 : 1);
1133
1133
  }
1134
- const { runScriptsMaintenanceCommand } = await import("./maintenance-hjhzdt3k.js");
1134
+ const { runScriptsMaintenanceCommand } = await import("./maintenance-vnshcyv9.js");
1135
1135
  await runScriptsMaintenanceCommand(scriptsArgs);
1136
1136
  console.log("Scripts re-embedded.");
1137
1137
  } else if (args.command === "rbac") {
@@ -1141,14 +1141,14 @@ ${binName} docs \u2014 v${package_default.version}
1141
1141
  printHelp("rbac");
1142
1142
  process.exit(args.showHelp ? 0 : 1);
1143
1143
  }
1144
- const { runRbacCliCommand } = await import("./rbac-roles-4y6ngvzq.js");
1144
+ const { runRbacCliCommand } = await import("./rbac-roles-7rc1q3g4.js");
1145
1145
  await runRbacCliCommand(rbacArgs);
1146
1146
  } else if (args.command === "codex-login") {
1147
1147
  const { runCodexLogin } = await import("./codex-login-rn7c5gxt.js");
1148
1148
  const codexLoginArgs = process.argv.slice(process.argv.indexOf("codex-login") + 1);
1149
1149
  await runCodexLogin(codexLoginArgs);
1150
1150
  } else if (args.command === "codex-session-runner") {
1151
- const { runCodexSessionRunner } = await import("./codex-session-runner-xfx4wd9x.js");
1151
+ const { runCodexSessionRunner } = await import("./codex-session-runner-964c7dnk.js");
1152
1152
  await runCodexSessionRunner();
1153
1153
  } else if (args.command === "claude-managed-setup") {
1154
1154
  const { runClaudeManagedSetup } = await import("./claude-managed-setup-c3hp36ph.js");
@@ -2,7 +2,7 @@ import {
2
2
  checkCodexCredentials2,
3
3
  createInProcessCodexSession2,
4
4
  CodexAdapter2
5
- } from "./cli-xawhpgc9.js";
5
+ } from "./cli-znvq0k3t.js";
6
6
  import"./cli-4zsenjhy.js";
7
7
  import"./cli-kr5tjjtz.js";
8
8
  import"./cli-vbhgkw9h.js";
@@ -11,7 +11,7 @@ import"./cli-e8xyjvfc.js";
11
11
  import"./cli-3ggwdtb0.js";
12
12
  import {
13
13
  createInProcessCodexSession2
14
- } from "./cli-xawhpgc9.js";
14
+ } from "./cli-znvq0k3t.js";
15
15
  import"./cli-jc1g9ndz.js";
16
16
  import"./cli-0726awxw.js";
17
17
  import"./cli-4bd1rck6.js";