@desplega.ai/agent-swarm 2.5.1 → 2.5.3

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 (197) hide show
  1. package/dist/{acp-adapter-7g6bpwbk.js → acp-adapter-gr2fcyyj.js} +3 -3
  2. package/dist/{actions-w8xd014k.js → actions-wv766ghf.js} +18 -18
  3. package/dist/{amp-adapter-z4qvhacj.js → amp-adapter-speb906t.js} +3 -3
  4. package/dist/{app-nndcvftq.js → app-ag29n14f.js} +3 -3
  5. package/dist/{assistant-hjmqyscx.js → assistant-3x8bz3eg.js} +19 -19
  6. package/dist/{boot-reembed-r8rhf9h8.js → boot-reembed-5b3d2eea.js} +1 -1
  7. package/dist/{boot-reembed-vwcj2y5d.js → boot-reembed-jsmfrpzf.js} +1 -1
  8. package/dist/{boot-scrub-sweep-fr9q36ne.js → boot-scrub-sweep-s73gerxy.js} +2 -2
  9. package/dist/{boot-seeds-9jqwnegq.js → boot-seeds-5zmax2wr.js} +4 -4
  10. package/dist/{claude-adapter-2f8b85df.js → claude-adapter-hswdnm3t.js} +3 -3
  11. package/dist/{claude-managed-adapter-gt6pa35d.js → claude-managed-adapter-cvbzj1h6.js} +2 -2
  12. package/dist/{claude-managed-setup-c3hp36ph.js → claude-managed-setup-3k8m3hhc.js} +2 -2
  13. package/dist/{claude-sdk-session-05kat8rv.js → claude-sdk-session-fkbyk66x.js} +6905 -6855
  14. package/dist/{cli-y3zyaee5.js → cli-1fc85mvt.js} +5 -5
  15. package/dist/{cli-v2g93k4v.js → cli-210xd1f4.js} +4 -4
  16. package/dist/{cli-sn1vbtg2.js → cli-25j01dpj.js} +3 -3
  17. package/dist/{cli-n6kmqngw.js → cli-35gtk1p6.js} +1 -1
  18. package/dist/{cli-r9fy0ddc.js → cli-3ngdk5te.js} +1 -1
  19. package/dist/{cli-z63a269p.js → cli-40jsnrjm.js} +2 -2
  20. package/dist/{cli-ba8ne1es.js → cli-4rvr7zfx.js} +10 -0
  21. package/dist/{cli-qfm6my86.js → cli-502eqv93.js} +1 -1
  22. package/dist/{cli-xd4eqtr2.js → cli-6n8axjv1.js} +1 -1
  23. package/dist/{cli-hadv0725.js → cli-8s5wx3nz.js} +2 -2
  24. package/dist/{cli-z2dv25mf.js → cli-99xgw26r.js} +116 -5
  25. package/dist/{cli-jpxsrxcb.js → cli-9s05422w.js} +1 -1
  26. package/dist/{cli-kcsd1ez8.js → cli-aecdcr77.js} +343 -325
  27. package/dist/{cli-w9etnnxk.js → cli-bf8ma3f1.js} +120 -50
  28. package/dist/{cli-e9btqw4y.js → cli-ce0ak9ms.js} +18 -13
  29. package/dist/{cli-nj12tn2c.js → cli-e2ar4bp1.js} +71 -20
  30. package/dist/{cli-gwcf52gz.js → cli-e8jyq7d8.js} +11 -7
  31. package/dist/{cli-rngde2jv.js → cli-egjggehm.js} +1 -1
  32. package/dist/{cli-qfjm4gvt.js → cli-ewm3pwbq.js} +2 -2
  33. package/dist/{cli-9mm5ade4.js → cli-fsdprwrg.js} +1 -1
  34. package/dist/{cli-3ee5z0q0.js → cli-fzcn3d87.js} +1 -1
  35. package/dist/{cli-eym3jg7w.js → cli-gpsz7g88.js} +6 -6
  36. package/dist/{cli-cwyafhw1.js → cli-hcpj2xqz.js} +1 -1
  37. package/dist/{cli-j1eghqfm.js → cli-hhxjnjzs.js} +1 -1
  38. package/dist/{cli-pyy4c9ch.js → cli-jjznk3f7.js} +881 -232
  39. package/dist/{cli-q9pzwxvk.js → cli-kxawjrxg.js} +222 -37
  40. package/dist/{cli-rh5smt8t.js → cli-mz9afxxf.js} +14 -3
  41. package/dist/{cli-mz2ygeyq.js → cli-n45mr7zh.js} +2 -2
  42. package/dist/{cli-fes51ya2.js → cli-p0rzjkya.js} +2 -2
  43. package/dist/{cli-3qv8naq8.js → cli-p6zs9h4y.js} +827 -107
  44. package/dist/{cli-mq7kg1b1.js → cli-p9rafdrb.js} +41 -6
  45. package/dist/{cli-cah5detr.js → cli-qgf8emrn.js} +5 -5
  46. package/dist/{cli-2wba1ac9.js → cli-qzme5949.js} +26 -26
  47. package/dist/{cli-znvq0k3t.js → cli-s49hpn37.js} +2 -2
  48. package/dist/{cli-xc65x52q.js → cli-s53vp709.js} +1 -1
  49. package/dist/{cli-0jy85zz4.js → cli-svrj71pg.js} +18 -16
  50. package/dist/{cli-1dp1zj04.js → cli-vwn81jbs.js} +3 -3
  51. package/dist/{cli-ajqhxtnz.js → cli-w1zwctj2.js} +1 -1
  52. package/dist/{cli-22rmcjkg.js → cli-y561h5a9.js} +7 -6
  53. package/dist/{cli-2jg61wab.js → cli-z21whrrg.js} +15 -15
  54. package/dist/cli.js +19 -18
  55. package/dist/{codex-adapter-p4ptwar5.js → codex-adapter-n8ka66vf.js} +2 -2
  56. package/dist/{codex-session-runner-964c7dnk.js → codex-session-runner-fsebts37.js} +1 -1
  57. package/dist/{commands-mbvhbrcy.js → commands-t04rt2pc.js} +2 -2
  58. package/dist/{controller-gnq1k1mf.js → controller-rgna04r2.js} +2 -2
  59. package/dist/{controllers-connect-6dkm71tg.js → controllers-connect-bqm1rtft.js} +20 -20
  60. package/dist/{cursor-adapter-yq5xgfcg.js → cursor-adapter-swr2k95y.js} +1 -1
  61. package/dist/{db-88wcymxt.js → db-24ck09xy.js} +1 -1
  62. package/dist/{db-af9y8nkf.js → db-a4m7haw0.js} +3 -3
  63. package/dist/{dispatcher-606ydx5v.js → dispatcher-nwf9ss0q.js} +17 -17
  64. package/dist/{dsh-adapter-tvhc4k2d.js → dsh-adapter-kpdnhjst.js} +2 -2
  65. package/dist/{external-channel-y8q5z8z2.js → external-channel-j1e2p34p.js} +2 -2
  66. package/dist/{grok-adapter-39aha52t.js → grok-adapter-qtjz0whk.js} +4 -4
  67. package/dist/{handlers-rk9dqech.js → handlers-19xr6dnz.js} +20 -20
  68. package/dist/{heartbeat-jfe9zfjr.js → heartbeat-vtesda5d.js} +20 -20
  69. package/dist/{hook-b1mez1m8.js → hook-8wqaszda.js} +1 -1
  70. package/dist/{hook-ffevzed1.js → hook-b2hhj6rd.js} +1 -1
  71. package/dist/{http-d5b44f1r.js → http-mxcqhhcs.js} +3020 -2463
  72. package/dist/{index-5en23s5z.js → index-1r8wfpzs.js} +1 -1
  73. package/dist/{index-cbxkmfc5.js → index-9pn1pfkf.js} +1 -1
  74. package/dist/{index-mj46rk9k.js → index-kw2mmat7.js} +20 -20
  75. package/dist/{index-nq8hhv28.js → index-n1vbvta9.js} +19 -10
  76. package/dist/{index-6srwvd5b.js → index-p4xfz37z.js} +1 -1
  77. package/dist/{index-d2qeem97.js → index-spwxjgay.js} +17 -17
  78. package/dist/{index-4q3vj1yr.js → index-srg522m6.js} +17 -17
  79. package/dist/{keepalive-wsby1btq.js → keepalive-dsd8rtgx.js} +3 -3
  80. package/dist/{lead-paa141j6.js → lead-zyerk1x2.js} +30 -30
  81. package/dist/{maintenance-vnshcyv9.js → maintenance-jqmqwnet.js} +1 -1
  82. package/dist/{oauth-refresh-sweep-d6sqn5np.js → oauth-refresh-sweep-q2c3bnvm.js} +2 -2
  83. package/dist/{onboard-nr4xhpzy.js → onboard-w4yd7s8t.js} +2 -2
  84. package/dist/{opencode-adapter-e56086m1.js → opencode-adapter-9tppvxar.js} +2 -2
  85. package/dist/{otel-impl-ytn9wyv9.js → otel-impl-f36byzbd.js} +1 -1
  86. package/dist/{pricing-refresh-pva04zee.js → pricing-refresh-xvak5p4v.js} +3 -3
  87. package/dist/{rbac-roles-7rc1q3g4.js → rbac-roles-682k2mt5.js} +12 -2
  88. package/dist/rbac-roles-gfn30fb8.js +26 -0
  89. package/dist/{render-v2-pyfsg9zk.js → render-v2-hgytz8nn.js} +3 -3
  90. package/dist/{resume-phj8xhqr.js → resume-2dvq348g.js} +7 -5
  91. package/dist/{session-access-jzx2z9h5.js → session-access-7f21ekq9.js} +4 -4
  92. package/dist/{setup-rfg0f0sg.js → setup-epffxtbk.js} +1 -1
  93. package/dist/{work-objects-44z2yjg8.js → work-objects-xz1a5rqk.js} +20 -20
  94. package/dist/{worker-zsfqzxhm.js → worker-42t8emjt.js} +30 -30
  95. package/openapi.json +3163 -2114
  96. package/package.json +7 -6
  97. package/src/be/approval-config-question.ts +389 -0
  98. package/src/be/automation-preflight.ts +37 -3
  99. package/src/be/db/session-tree.ts +158 -13
  100. package/src/be/db/session-visibility.ts +31 -0
  101. package/src/be/db/skill-search.ts +87 -0
  102. package/src/be/db/tasks/read.ts +47 -7
  103. package/src/be/db/workflow-runs.ts +54 -7
  104. package/src/be/db.ts +27 -5
  105. package/src/be/migrations/233_script_run_session_tokens.sql +8 -0
  106. package/src/be/migrations/235_chat_relay_defer.sql +86 -0
  107. package/src/be/migrations/237_session_inbox_cleanup.sql +75 -0
  108. package/src/be/migrations/239_skills_fts.sql +40 -0
  109. package/src/be/migrations/240_workflow_run_parent_step_attempt.sql +37 -0
  110. package/src/be/migrations/241_skills_meta_fts.sql +39 -0
  111. package/src/be/rbac-roles.ts +138 -0
  112. package/src/be/scripts/run-credential.ts +64 -0
  113. package/src/be/scripts/run-saved.ts +3 -2
  114. package/src/be/swarm-config-guard.ts +23 -0
  115. package/src/be/users.ts +28 -4
  116. package/src/extensions/catalog.generated.json +4 -4
  117. package/src/http/all-routes.ts +1 -0
  118. package/src/http/approval-requests.ts +254 -43
  119. package/src/http/config.ts +22 -37
  120. package/src/http/index.ts +2 -0
  121. package/src/http/schedules.ts +26 -0
  122. package/src/http/scripts.ts +2 -2
  123. package/src/http/sessions.ts +118 -2
  124. package/src/http/user-roles.ts +173 -0
  125. package/src/http/users.ts +9 -0
  126. package/src/http/x.ts +2 -2
  127. package/src/integrations/chat-sdk/commands.ts +14 -1
  128. package/src/integrations/chat-sdk/inbound.ts +42 -6
  129. package/src/integrations/chat-sdk/outbound.ts +35 -10
  130. package/src/integrations/chat-sdk/reactions.ts +107 -0
  131. package/src/integrations/chat-sdk/relay.ts +75 -7
  132. package/src/integrations/chat-sdk/thread-buffer.ts +2 -0
  133. package/src/integrations/reaction-events.ts +20 -0
  134. package/src/providers/amp-adapter.ts +1 -1
  135. package/src/providers/dsh-adapter.ts +1 -1
  136. package/src/rbac/legacy-policy.ts +3 -0
  137. package/src/rbac/permissions.ts +8 -0
  138. package/src/scheduler/schedule-task.ts +44 -3
  139. package/src/scheduler/scheduler.ts +4 -4
  140. package/src/scripts-runtime/loader.ts +8 -1
  141. package/src/slack/ack.ts +2 -1
  142. package/src/slack/reaction-shortcode.ts +4 -7
  143. package/src/tasks/worker-follow-up.ts +30 -0
  144. package/src/tests/approval-config-question.test.ts +702 -0
  145. package/src/tests/approval-requests-notifications.test.ts +189 -0
  146. package/src/tests/chat-sdk-commands.test.ts +12 -0
  147. package/src/tests/chat-sdk-inbound.test.ts +183 -9
  148. package/src/tests/chat-sdk-outbound-files.test.ts +9 -2
  149. package/src/tests/chat-sdk-relay.test.ts +361 -10
  150. package/src/tests/chat-sdk-tools.test.ts +104 -0
  151. package/src/tests/docs-index-footprint.test.js +3 -3
  152. package/src/tests/dsh-adapter.test.ts +1 -1
  153. package/src/tests/entrypoint-gitlab-credential-helper.test.ts +273 -0
  154. package/src/tests/extensions-example-comms-adherence-gate.test.ts +321 -12
  155. package/src/tests/http-users.test.ts +38 -0
  156. package/src/tests/list-endpoint-slimming.test.ts +33 -0
  157. package/src/tests/migration-237-session-inbox-cleanup.test.ts +136 -0
  158. package/src/tests/migration-240-workflow-run-parent-step-attempt.test.ts +55 -0
  159. package/src/tests/rbac-engine.test.ts +2 -0
  160. package/src/tests/rbac-roles.test.ts +10 -0
  161. package/src/tests/schedule-http-triage-tools.test.ts +44 -0
  162. package/src/tests/script-api-credential.test.ts +173 -0
  163. package/src/tests/script-connections.test.ts +10 -0
  164. package/src/tests/script-run-config-scope.test.ts +120 -0
  165. package/src/tests/script-run-token.test.ts +75 -0
  166. package/src/tests/scripts-http.test.ts +19 -0
  167. package/src/tests/sessions-tree.test.ts +410 -1
  168. package/src/tests/skill-search-long-content.test.ts +193 -0
  169. package/src/tests/skill-search.test.ts +173 -22
  170. package/src/tests/user-roles-http.test.ts +204 -0
  171. package/src/tests/workflow-hitl-dynamic-questions.test.ts +1 -1
  172. package/src/tests/workflow-sub-workflow.test.ts +538 -1
  173. package/src/tools/chat-reply.ts +2 -0
  174. package/src/tools/request-human-input.ts +27 -5
  175. package/src/tools/schedules/patch-schedule.ts +18 -0
  176. package/src/tools/schedules/update-schedule.ts +18 -0
  177. package/src/types.ts +23 -0
  178. package/src/workflows/approval-notifications.ts +221 -0
  179. package/src/workflows/checkpoint.ts +69 -35
  180. package/src/workflows/engine.ts +234 -87
  181. package/src/workflows/executors/base.ts +6 -0
  182. package/src/workflows/executors/human-in-the-loop.ts +36 -173
  183. package/src/workflows/executors/sub-workflow.ts +45 -16
  184. package/src/workflows/executors/swarm-script.ts +2 -2
  185. package/src/workflows/recovery.ts +63 -1
  186. package/src/workflows/resume.ts +60 -21
  187. package/src/workflows/retry-poller.ts +25 -4
  188. package/templates/extensions/comms-adherence-gate/README.md +38 -13
  189. package/templates/extensions/comms-adherence-gate/hooks.ts +272 -69
  190. package/templates/extensions/comms-adherence-gate/manifest.json +2 -2
  191. package/templates/schedules/weekly-harness-upgrade-check/content.md +1 -1
  192. package/templates/skills/code-quality/content.md +1 -1
  193. package/templates/skills/turso-interaction/content.md +1 -1
  194. package/templates/skills/workflow-iterate/content.md +8 -1
  195. package/dist/rbac-roles-ff1ffmec.js +0 -12
  196. /package/dist/{cli-stxdrqs2.js → cli-avdvgcay.js} +0 -0
  197. /package/dist/{pi-mono-adapter-tzps8f38.js → pi-mono-adapter-tqsge1ay.js} +0 -0
@@ -14,6 +14,7 @@ import {
14
14
  getDbClient2,
15
15
  normalizeDateRequired,
16
16
  init_date_utils,
17
+ getAgentById2,
17
18
  getLeadAgent2,
18
19
  resolveQuickJSPoolSize,
19
20
  init_quickjs_pool_config,
@@ -39,14 +40,14 @@ import {
39
40
  getResolvedConfig2,
40
41
  getMcpServerById2,
41
42
  init_db3
42
- } from "./cli-q9pzwxvk.js";
43
+ } from "./cli-kxawjrxg.js";
43
44
  import {
44
45
  generateRandomCodeVerifier,
45
46
  generateRandomState,
46
47
  calculatePKCECodeChallenge,
47
48
  oauthAppRowToProviderConfig,
48
49
  ensureAuthorizationTokenOrThrow
49
- } from "./cli-rngde2jv.js";
50
+ } from "./cli-egjggehm.js";
50
51
  import {
51
52
  detachedProcessGroup,
52
53
  registerProcessGroup,
@@ -55,10 +56,15 @@ import {
55
56
  import {
56
57
  McpHttpClient
57
58
  } from "./cli-s8d0dmcx.js";
59
+ import {
60
+ mintScriptRunToken,
61
+ revokeSessionToken,
62
+ init_users
63
+ } from "./cli-e8jyq7d8.js";
58
64
  import {
59
65
  defaultAssetKey,
60
66
  init_key
61
- } from "./cli-rh5smt8t.js";
67
+ } from "./cli-mz9afxxf.js";
62
68
  import {
63
69
  init_zod
64
70
  } from "./cli-4chz1hye.js";
@@ -178326,7 +178332,7 @@ function scriptEgressPolicy(env = process.env) {
178326
178332
  };
178327
178333
  }
178328
178334
  async function buildConfigPayload(input) {
178329
- const apiKey = getApiKey();
178335
+ const apiKey = input.apiKey ?? getApiKey();
178330
178336
  if (!apiKey)
178331
178337
  throw new Error("Swarm API key is required to run scripts");
178332
178338
  return {
@@ -178403,6 +178409,35 @@ async function runScript(input) {
178403
178409
  };
178404
178410
  }
178405
178411
 
178412
+ // src/be/scripts/run-credential.ts
178413
+ init_db3();
178414
+ init_users();
178415
+ var SCRIPT_RUN_TOKEN_TTL_MS = 15 * 60 * 1000;
178416
+ async function acquireScriptApiCredential(agentId) {
178417
+ if (!await getAgentById2(agentId)) {
178418
+ return { apiKey: undefined, release: async () => {} };
178419
+ }
178420
+ const token = await mintScriptRunToken(agentId, SCRIPT_RUN_TOKEN_TTL_MS);
178421
+ let released = false;
178422
+ return {
178423
+ apiKey: token.plaintext,
178424
+ release: async () => {
178425
+ if (released)
178426
+ return;
178427
+ released = true;
178428
+ await revokeSessionToken(token.tokenId);
178429
+ }
178430
+ };
178431
+ }
178432
+ async function runScriptWithRunCredential(input) {
178433
+ const credential = await acquireScriptApiCredential(input.agentId);
178434
+ try {
178435
+ return await runScript({ ...input, apiKey: credential.apiKey });
178436
+ } finally {
178437
+ await credential.release();
178438
+ }
178439
+ }
178440
+
178406
178441
  // src/scripts-runtime/extract-signature.ts
178407
178442
  var import_typescript2 = __toESM(require_typescript2(), 1);
178408
178443
  var FALLBACK_SIGNATURE = {
@@ -178532,7 +178567,7 @@ async function runSavedScriptAsAgent(args, deps = {}) {
178532
178567
  durationMs: 0,
178533
178568
  exitCode: 1,
178534
178569
  error: "killed"
178535
- } : await runScript({
178570
+ } : await runScriptWithRunCredential({
178536
178571
  source: args.script.source,
178537
178572
  args: args.input,
178538
178573
  fsMode: args.script.fsMode,
@@ -185143,4 +185178,4 @@ function parseSkillContent(content) {
185143
185178
  };
185144
185179
  }
185145
185180
 
185146
- export { require_dist2, isInvalidClientError, publicEndpointSsrfOptions, mcpOAuthSsrfOptions, discoverProtectedResourceMetadata, discoverAuthorizationServerMetadata, normalizeTokenEndpointAuthMethod, resolveAdvertisedTokenEndpointAuthMethod, authMethodForStoredClient, selectDcrTokenEndpointAuthMethod, registerClient, buildAuthorizeUrl, exchangeCodeForTokens, refreshMcpToken, revokeMcpToken, computeExpiresAt, getMcpOAuthToken, findReusableMcpOAuthClient, invalidateMcpOAuthClient, upsertMcpOAuthToken, applyMcpOAuthRefresh, markMcpOAuthTokenStatus, deleteMcpOAuthToken, insertMcpOAuthPending, consumeMcpOAuthPending, gcMcpOAuthPending, setMcpServerAuthMethod, ensureMcpToken, callMcpServerTool, resolveSqlDsn, runReadOnlyQuery, listVendoredOpenapiEntries, ConnectionAuthInputSchema, SqlDsnInputSchema, connectionAuthSummary, listRelationalCredentialBindings, getCredentialBindingById, findCredentialBindingByIdentity, upsertCredentialBinding, disableCredentialBinding, listScriptConnections, listScriptConnectionsAsync, getScriptConnectionById, ScriptConnectionConflictError, connectionAuthInputFromFlat, upsertScriptConnection, refreshScriptConnection, setScriptConnectionEnabled, deleteScriptConnection, getScriptApiConnectionDescriptors, getScriptMcpConnectionDescriptors, getScriptApiTypes, getScriptMcpTypes, oauthAppToProviderConfig, getOAuthProviderConfig, getOAuthBindingTokenStatus, buildScriptCredentialBindingsWithFailures, buildSandboxedCommand, sandboxSpawnEnv, createCappedStreamState, snapshotCapped, readStreamCapped, writeBareImportShim, MIN_SCRIPT_WALL_CLOCK_MS, SCRIPT_LONG_TIMEOUT_HINT_MS, MAX_SCRIPT_WALL_CLOCK_MS, DEFAULT_SCRIPT_RESOURCES, require_typescript2, checkImportAllowlist, validateScriptImports, runScript, extractScriptSignature, extractArgsJsonSchema, getSavedScriptOwnerAgentId, runSavedScriptAsAgent, checkQuickJSCompat, quickJSCompatWarnings, resolveSyncRunAs, AppNameSchema, ScalarColumnKindSchema, isIso8601Date, jsonColumnSizeLabel, jsonColumnValueIssue, isValidColumnValue, SYSTEM_COLUMN_KINDS, SORTABLE_SYSTEM_DATE_COLUMNS, AppElementsSchema, AppDefinitionSchema, collectScriptReferences, scriptCompatWarnings, parseAppDefinition, applyAppDefinitionPatch, upgradeAppDefinition, decodeAppDefinition, appDefinitionNeedsRepair, createApp, getApp, listApps, listAppRecords, updateApp, deleteApp, getScriptAppTypes, SCRIPT_SDK_TYPES, scriptSdkTypesWithGeneratedApis, SCRIPT_STDLIB_MODULE_TYPES, scriptStdlibTypesWithGeneratedApis, typecheckWithAmbient, typecheckScript, parseSkillContent };
185181
+ export { require_dist2, isInvalidClientError, publicEndpointSsrfOptions, mcpOAuthSsrfOptions, discoverProtectedResourceMetadata, discoverAuthorizationServerMetadata, normalizeTokenEndpointAuthMethod, resolveAdvertisedTokenEndpointAuthMethod, authMethodForStoredClient, selectDcrTokenEndpointAuthMethod, registerClient, buildAuthorizeUrl, exchangeCodeForTokens, refreshMcpToken, revokeMcpToken, computeExpiresAt, getMcpOAuthToken, findReusableMcpOAuthClient, invalidateMcpOAuthClient, upsertMcpOAuthToken, applyMcpOAuthRefresh, markMcpOAuthTokenStatus, deleteMcpOAuthToken, insertMcpOAuthPending, consumeMcpOAuthPending, gcMcpOAuthPending, setMcpServerAuthMethod, ensureMcpToken, callMcpServerTool, resolveSqlDsn, runReadOnlyQuery, listVendoredOpenapiEntries, ConnectionAuthInputSchema, SqlDsnInputSchema, connectionAuthSummary, listRelationalCredentialBindings, getCredentialBindingById, findCredentialBindingByIdentity, upsertCredentialBinding, disableCredentialBinding, listScriptConnections, listScriptConnectionsAsync, getScriptConnectionById, ScriptConnectionConflictError, connectionAuthInputFromFlat, upsertScriptConnection, refreshScriptConnection, setScriptConnectionEnabled, deleteScriptConnection, getScriptApiConnectionDescriptors, getScriptMcpConnectionDescriptors, getScriptApiTypes, getScriptMcpTypes, oauthAppToProviderConfig, getOAuthProviderConfig, getOAuthBindingTokenStatus, buildScriptCredentialBindingsWithFailures, buildSandboxedCommand, sandboxSpawnEnv, createCappedStreamState, snapshotCapped, readStreamCapped, writeBareImportShim, MIN_SCRIPT_WALL_CLOCK_MS, SCRIPT_LONG_TIMEOUT_HINT_MS, MAX_SCRIPT_WALL_CLOCK_MS, DEFAULT_SCRIPT_RESOURCES, require_typescript2, checkImportAllowlist, validateScriptImports, runScriptWithRunCredential, extractScriptSignature, extractArgsJsonSchema, getSavedScriptOwnerAgentId, runSavedScriptAsAgent, checkQuickJSCompat, quickJSCompatWarnings, resolveSyncRunAs, AppNameSchema, ScalarColumnKindSchema, isIso8601Date, jsonColumnSizeLabel, jsonColumnValueIssue, isValidColumnValue, SYSTEM_COLUMN_KINDS, SORTABLE_SYSTEM_DATE_COLUMNS, AppElementsSchema, AppDefinitionSchema, collectScriptReferences, scriptCompatWarnings, parseAppDefinition, applyAppDefinitionPatch, upgradeAppDefinition, decodeAppDefinition, appDefinitionNeedsRepair, createApp, getApp, listApps, listAppRecords, updateApp, deleteApp, getScriptAppTypes, SCRIPT_SDK_TYPES, scriptSdkTypesWithGeneratedApis, SCRIPT_STDLIB_MODULE_TYPES, scriptStdlibTypesWithGeneratedApis, typecheckWithAmbient, typecheckScript, parseSkillContent };
@@ -10,7 +10,7 @@ import {
10
10
  init_steering,
11
11
  createLogEntry2,
12
12
  init_db3
13
- } from "./cli-q9pzwxvk.js";
13
+ } from "./cli-kxawjrxg.js";
14
14
  import {
15
15
  ackSlackMessage,
16
16
  buildBufferFlushBlocks,
@@ -20,7 +20,7 @@ import {
20
20
  ensureSlackThreadTree2,
21
21
  registerTreeMessage,
22
22
  getSlackApp2
23
- } from "./cli-e9btqw4y.js";
23
+ } from "./cli-ce0ak9ms.js";
24
24
  import {
25
25
  createAdditiveBuffer,
26
26
  TaskCreationBlockedError,
@@ -30,15 +30,15 @@ import {
30
30
  createSlackTaskWithFiles,
31
31
  notifySlackFileFailures,
32
32
  extractSlackMessageText
33
- } from "./cli-kcsd1ez8.js";
33
+ } from "./cli-aecdcr77.js";
34
34
  import {
35
35
  resolveSlackUserId,
36
36
  rewriteSlackMentions
37
- } from "./cli-sn1vbtg2.js";
37
+ } from "./cli-25j01dpj.js";
38
38
  import {
39
39
  findUserByExternalId,
40
40
  init_users
41
- } from "./cli-gwcf52gz.js";
41
+ } from "./cli-e8jyq7d8.js";
42
42
  import {
43
43
  isSteeringEnabled2,
44
44
  init_steering_enabled
@@ -20,7 +20,7 @@ import {
20
20
  renderMemoriesPrompt,
21
21
  isUnknownModelError,
22
22
  writeSkillsToFilesystem
23
- } from "./cli-cwyafhw1.js";
23
+ } from "./cli-hcpj2xqz.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-e9btqw4y.js";
33
+ } from "./cli-ce0ak9ms.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-kcsd1ez8.js";
54
+ } from "./cli-aecdcr77.js";
55
55
  import {
56
56
  ACP_TARGET_IDS,
57
57
  isAcpTarget
@@ -59,32 +59,32 @@ import {
59
59
  import {
60
60
  checkAmpCredentials2,
61
61
  liveTestAmpCredentials2
62
- } from "./cli-fes51ya2.js";
62
+ } from "./cli-p0rzjkya.js";
63
63
  import {
64
64
  checkClaudeCredentials2
65
- } from "./cli-qfjm4gvt.js";
65
+ } from "./cli-ewm3pwbq.js";
66
66
  import {
67
67
  checkClaudeManagedCredentials2
68
- } from "./cli-n6kmqngw.js";
68
+ } from "./cli-35gtk1p6.js";
69
69
  import {
70
70
  codexUserHome,
71
71
  checkCodexCredentials2
72
- } from "./cli-znvq0k3t.js";
72
+ } from "./cli-s49hpn37.js";
73
73
  import {
74
74
  checkCursorCredentials2
75
- } from "./cli-j1eghqfm.js";
75
+ } from "./cli-hhxjnjzs.js";
76
76
  import {
77
77
  checkDevinCredentials2
78
78
  } from "./cli-g1cw7xtt.js";
79
79
  import {
80
80
  checkDshCredentials2
81
- } from "./cli-z63a269p.js";
81
+ } from "./cli-40jsnrjm.js";
82
82
  import {
83
83
  checkOpencodeCredentials2
84
- } from "./cli-stxdrqs2.js";
84
+ } from "./cli-avdvgcay.js";
85
85
  import {
86
86
  checkGrokCredentials2
87
- } from "./cli-3ee5z0q0.js";
87
+ } from "./cli-fzcn3d87.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-pyy4c9ch.js";
96
+ } from "./cli-jjznk3f7.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-q9pzwxvk.js";
114
+ } from "./cli-kxawjrxg.js";
115
115
  import {
116
116
  parseWorkerModelTierOverrides,
117
117
  resolveTaskModelSelection,
@@ -119,7 +119,7 @@ import {
119
119
  ProviderNameSchema,
120
120
  WorkerNudgeSchema,
121
121
  init_types
122
- } from "./cli-rh5smt8t.js";
122
+ } from "./cli-mz9afxxf.js";
123
123
  import {
124
124
  generateDefaultClaudeMd2,
125
125
  generateDefaultSoulMd2,
@@ -246,19 +246,19 @@ 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-2f8b85df.js");
249
+ const { ClaudeAdapter } = await import("./claude-adapter-hswdnm3t.js");
250
250
  return new ClaudeAdapter;
251
251
  }
252
252
  case "pi": {
253
- const { PiMonoAdapter } = await import("./pi-mono-adapter-tzps8f38.js");
253
+ const { PiMonoAdapter } = await import("./pi-mono-adapter-tqsge1ay.js");
254
254
  return new PiMonoAdapter;
255
255
  }
256
256
  case "codex": {
257
- const { CodexAdapter } = await import("./codex-adapter-p4ptwar5.js");
257
+ const { CodexAdapter } = await import("./codex-adapter-n8ka66vf.js");
258
258
  return new CodexAdapter;
259
259
  }
260
260
  case "claude-managed": {
261
- const { ClaudeManagedAdapter } = await import("./claude-managed-adapter-gt6pa35d.js");
261
+ const { ClaudeManagedAdapter } = await import("./claude-managed-adapter-cvbzj1h6.js");
262
262
  return new ClaudeManagedAdapter;
263
263
  }
264
264
  case "devin": {
@@ -266,27 +266,27 @@ async function createProviderAdapter(provider) {
266
266
  return new DevinAdapter;
267
267
  }
268
268
  case "opencode": {
269
- const { OpencodeAdapter } = await import("./opencode-adapter-e56086m1.js");
269
+ const { OpencodeAdapter } = await import("./opencode-adapter-9tppvxar.js");
270
270
  return new OpencodeAdapter;
271
271
  }
272
272
  case "dsh": {
273
- const { DshAdapter } = await import("./dsh-adapter-tvhc4k2d.js");
273
+ const { DshAdapter } = await import("./dsh-adapter-kpdnhjst.js");
274
274
  return new DshAdapter;
275
275
  }
276
276
  case "amp": {
277
- const { AmpAdapter } = await import("./amp-adapter-z4qvhacj.js");
277
+ const { AmpAdapter } = await import("./amp-adapter-speb906t.js");
278
278
  return new AmpAdapter;
279
279
  }
280
280
  case "cursor": {
281
- const { CursorAdapter } = await import("./cursor-adapter-yq5xgfcg.js");
281
+ const { CursorAdapter } = await import("./cursor-adapter-swr2k95y.js");
282
282
  return new CursorAdapter;
283
283
  }
284
284
  case "grok": {
285
- const { GrokAdapter } = await import("./grok-adapter-39aha52t.js");
285
+ const { GrokAdapter } = await import("./grok-adapter-qtjz0whk.js");
286
286
  return new GrokAdapter;
287
287
  }
288
288
  case "acp": {
289
- const { ACPAdapter } = await import("./acp-adapter-7g6bpwbk.js");
289
+ const { ACPAdapter } = await import("./acp-adapter-gr2fcyyj.js");
290
290
  return new ACPAdapter;
291
291
  }
292
292
  default:
@@ -1267,7 +1267,7 @@ var CREDENTIAL_PROVIDER_CHECKERS = {
1267
1267
  devin: (env) => checkDevinCredentials2(env),
1268
1268
  opencode: (env, opts) => checkOpencodeCredentials2(env, opts),
1269
1269
  pi: async (env, opts) => {
1270
- const { checkPiMonoCredentials, listPiOpencodeGoModelIds } = await import("./pi-mono-adapter-tzps8f38.js");
1270
+ const { checkPiMonoCredentials, listPiOpencodeGoModelIds } = await import("./pi-mono-adapter-tqsge1ay.js");
1271
1271
  return {
1272
1272
  ...await checkPiMonoCredentials(env, opts),
1273
1273
  opencodeGoModels: listPiOpencodeGoModelIds()
@@ -1539,7 +1539,7 @@ async function validateProviderCredentials(provider, env = process.env, presence
1539
1539
  latency_ms: Date.now() - startedAt
1540
1540
  };
1541
1541
  }
1542
- const { liveTestCursorKey } = await import("./cursor-adapter-yq5xgfcg.js");
1542
+ const { liveTestCursorKey } = await import("./cursor-adapter-swr2k95y.js");
1543
1543
  const result = await liveTestCursorKey(apiKey);
1544
1544
  return result.ok ? { ok: true, latency_ms: Date.now() - startedAt } : { ok: false, error: result.error, latency_ms: Date.now() - startedAt };
1545
1545
  }
@@ -52,7 +52,7 @@ import {
52
52
  import {
53
53
  DEFAULT_MODEL_TIER_MAP,
54
54
  init_types
55
- } from "./cli-rh5smt8t.js";
55
+ } from "./cli-mz9afxxf.js";
56
56
  import {
57
57
  runtimeCatalogModel,
58
58
  init_runtime_model_catalog
@@ -60,7 +60,7 @@ import {
60
60
  import {
61
61
  init_package,
62
62
  package_default
63
- } from "./cli-22rmcjkg.js";
63
+ } from "./cli-y561h5a9.js";
64
64
  import {
65
65
  isEnvFlagEnabled,
66
66
  isSessionSummarySkipped,
@@ -4,7 +4,7 @@ import {
4
4
  claimKv2,
5
5
  deleteKv2,
6
6
  init_db3
7
- } from "./cli-q9pzwxvk.js";
7
+ } from "./cli-kxawjrxg.js";
8
8
  import {
9
9
  isEnvFlagEnabled,
10
10
  init_env_flag
@@ -4,7 +4,7 @@ import {
4
4
  CONTROLLER_COMMAND_TIMEOUT_MS,
5
5
  RuntimeHandleSchema,
6
6
  ControllerStatusResultSchema
7
- } from "./cli-xd4eqtr2.js";
7
+ } from "./cli-6n8axjv1.js";
8
8
  import {
9
9
  getDbClient2,
10
10
  isRuntimePoolsEnabled,
@@ -21,17 +21,11 @@ import {
21
21
  upsertSwarmConfig2,
22
22
  getResolvedConfig2,
23
23
  init_db3
24
- } from "./cli-q9pzwxvk.js";
24
+ } from "./cli-kxawjrxg.js";
25
25
  import {
26
- runtimeStaleThresholdMinutes,
27
- getRuntimeInstanceById,
28
- insertProvisioningRuntime,
29
- markRuntimeTerminated,
30
- listRuntimeInstancesForAgent,
31
- listRuntimeInstancesForPool,
32
26
  createWorkerTaskFollowUp,
33
27
  canClaim
34
- } from "./cli-kcsd1ez8.js";
28
+ } from "./cli-aecdcr77.js";
35
29
  import {
36
30
  getRuntimeController2,
37
31
  getRuntimeControllerTarget2,
@@ -42,14 +36,22 @@ import {
42
36
  getPoolForAgent2,
43
37
  resolvePoolDelivery2,
44
38
  init_db
45
- } from "./cli-1dp1zj04.js";
39
+ } from "./cli-vwn81jbs.js";
46
40
  import {
47
- workflowEventBus2,
48
- init_event_bus
49
- } from "./cli-dabehxhp.js";
41
+ runtimeStaleThresholdMinutes,
42
+ getRuntimeInstanceById,
43
+ insertProvisioningRuntime,
44
+ markRuntimeTerminated,
45
+ listRuntimeInstancesForAgent,
46
+ listRuntimeInstancesForPool
47
+ } from "./cli-jjznk3f7.js";
50
48
  import {
51
49
  isMultiRuntimeEnabled
52
50
  } from "./cli-e8xyjvfc.js";
51
+ import {
52
+ workflowEventBus2,
53
+ init_event_bus
54
+ } from "./cli-dabehxhp.js";
53
55
  import {
54
56
  import_websocket
55
57
  } from "./cli-b2mz5mjc.js";
@@ -61,12 +63,12 @@ import {
61
63
  import {
62
64
  mintRuntimeToken,
63
65
  init_users
64
- } from "./cli-gwcf52gz.js";
66
+ } from "./cli-e8jyq7d8.js";
65
67
  import {
66
68
  TERMINAL_TASK_STATUSES,
67
69
  isTerminalTaskStatus,
68
70
  init_types
69
- } from "./cli-rh5smt8t.js";
71
+ } from "./cli-mz9afxxf.js";
70
72
  import {
71
73
  init_zod
72
74
  } from "./cli-4chz1hye.js";
@@ -522,7 +524,7 @@ async function recoverSessions(runtimeId, reason) {
522
524
  }
523
525
  if (!sessions.length)
524
526
  return;
525
- const { remediateTaskForDeadRuntime } = await import("./heartbeat-jfe9zfjr.js");
527
+ const { remediateTaskForDeadRuntime } = await import("./heartbeat-vtesda5d.js");
526
528
  for (const session of sessions) {
527
529
  try {
528
530
  const task = await getTaskById2(session.taskId);
@@ -15,7 +15,7 @@ import {
15
15
  init_secret_registry,
16
16
  upsertSwarmConfig2,
17
17
  init_db3
18
- } from "./cli-q9pzwxvk.js";
18
+ } from "./cli-kxawjrxg.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-gwcf52gz.js";
28
+ } from "./cli-e8jyq7d8.js";
29
29
  import {
30
30
  RuntimeControllerCreateSchema,
31
31
  RuntimeControllerUpdateSchema,
@@ -33,7 +33,7 @@ import {
33
33
  RuntimePoolUpdateSchema,
34
34
  RuntimePoolCreateAgentSchema,
35
35
  init_types
36
- } from "./cli-rh5smt8t.js";
36
+ } from "./cli-mz9afxxf.js";
37
37
  import {
38
38
  scrubSecrets,
39
39
  registerVolatileSecret,
@@ -31,7 +31,7 @@ import {
31
31
  import {
32
32
  init_package,
33
33
  package_default
34
- } from "./cli-22rmcjkg.js";
34
+ } from "./cli-y561h5a9.js";
35
35
  import {
36
36
  MAX_PROFILE_FILE_LENGTH,
37
37
  getMcpBaseUrl,
@@ -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.5.1",
10
+ version: "2.5.3",
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",
@@ -120,6 +120,7 @@ var init_package = __esm(() => {
120
120
  "tsc:check": "bun check",
121
121
  "tsc:check:tsc": "bun tsc --noEmit",
122
122
  "check:db-boundary": "bash scripts/check-db-boundary.sh",
123
+ "check:codex-default-model": "bash scripts/check-codex-default-model.sh",
123
124
  "check:test-spawn-sync": "bash scripts/check-test-spawn-sync.sh",
124
125
  "check:dep-graph": "depcruise src packages/model-routing --config .dependency-cruiser.cjs",
125
126
  "check:api-key-boundary": "bash scripts/check-api-key-boundary.sh",
@@ -186,8 +187,8 @@ var init_package = __esm(() => {
186
187
  "@desplega/model-catalog": "workspace:*",
187
188
  "@desplega/model-routing": "workspace:*",
188
189
  "@faker-js/faker": "^10.4.0",
189
- "@opencode/plugin": "2.1.3",
190
- "@opencode/sdk": "2.1.3",
190
+ "@opencode/plugin": "2.1.4",
191
+ "@opencode/sdk": "2.1.4",
191
192
  "@oxlint/plugins": "1.78.0",
192
193
  "@types/bun": "latest",
193
194
  "dependency-cruiser": "^18.0.0",
@@ -207,8 +208,8 @@ var init_package = __esm(() => {
207
208
  dependencies: {
208
209
  "@agentclientprotocol/sdk": "2.0.1",
209
210
  "@ai-sdk/openai": "^3.0.41",
210
- "@anthropic-ai/claude-agent-sdk": "0.3.308",
211
- "@anthropic-ai/sdk": "^1.1.0",
211
+ "@anthropic-ai/claude-agent-sdk": "0.3.309",
212
+ "@anthropic-ai/sdk": "^1.2.0",
212
213
  "@asteasolutions/zod-to-openapi": "^8.0.0",
213
214
  "@aws-sdk/client-bedrock": "3.1048.0",
214
215
  "@chat-adapter/discord": "4.41.1",
@@ -225,7 +226,7 @@ var init_package = __esm(() => {
225
226
  "@jitl/quickjs-singlefile-mjs-release-sync": "0.32.0",
226
227
  "@linear/sdk": "^77.0.0",
227
228
  "@modelcontextprotocol/sdk": "1.32.1",
228
- "@openai/codex": "0.163.0",
229
+ "@openai/codex": "0.164.0",
229
230
  "@openfort/openfort-node": "^0.9.1",
230
231
  "@opentelemetry/api": "^1.9.1",
231
232
  "@opentelemetry/api-logs": "^0.218.0",
@@ -66,7 +66,7 @@ import {
66
66
  getStaleApprovalRequests2,
67
67
  upsertKv2,
68
68
  init_db3
69
- } from "./cli-q9pzwxvk.js";
69
+ } from "./cli-kxawjrxg.js";
70
70
  import {
71
71
  poolTaskRunsOnHarness,
72
72
  isRuntimePoolWakeable,
@@ -76,10 +76,6 @@ import {
76
76
  extensionIdForAgent2,
77
77
  dispatchPre2,
78
78
  repointTrackerSyncBySwarmId,
79
- runtimeStaleThresholdMinutes,
80
- countActiveRuntimeInstancesForAgent,
81
- agentsWithLiveRuntime,
82
- expireStaleRuntimeInstances,
83
79
  cancelApprovalRequestAndRun,
84
80
  REBOOT_RETRY_PIN_TAG,
85
81
  getPinCandidateAgent,
@@ -91,29 +87,33 @@ import {
91
87
  createRerouteDecisionTask,
92
88
  createPoolStarvationDecisionTask,
93
89
  canClaim
94
- } from "./cli-kcsd1ez8.js";
90
+ } from "./cli-aecdcr77.js";
91
+ import {
92
+ runtimeStaleThresholdMinutes,
93
+ countActiveRuntimeInstancesForAgent,
94
+ agentsWithLiveRuntime,
95
+ expireStaleRuntimeInstances,
96
+ createApprovalFollowUpTask
97
+ } from "./cli-jjznk3f7.js";
95
98
  import {
96
99
  listRuntimePools2,
97
100
  init_db
98
- } from "./cli-1dp1zj04.js";
99
- import {
100
- createApprovalFollowUpTask
101
- } from "./cli-pyy4c9ch.js";
101
+ } from "./cli-vwn81jbs.js";
102
102
  import {
103
103
  remediateStalledRuntime
104
- } from "./cli-0jy85zz4.js";
104
+ } from "./cli-svrj71pg.js";
105
105
  import {
106
106
  runSavedScriptAsAgent
107
- } from "./cli-mq7kg1b1.js";
107
+ } from "./cli-p9rafdrb.js";
108
108
  import {
109
109
  mintToken,
110
110
  init_users
111
- } from "./cli-gwcf52gz.js";
111
+ } from "./cli-e8jyq7d8.js";
112
112
  import {
113
113
  TERMINAL_TASK_STATUSES,
114
114
  SUPERSEDED_WORKFLOW_TASK_REASON,
115
115
  init_types
116
- } from "./cli-rh5smt8t.js";
116
+ } from "./cli-mz9afxxf.js";
117
117
  import {
118
118
  registerTemplate,
119
119
  init_registry,
@@ -128,7 +128,7 @@ import {
128
128
  import {
129
129
  init_package,
130
130
  package_default
131
- } from "./cli-22rmcjkg.js";
131
+ } from "./cli-y561h5a9.js";
132
132
  import {
133
133
  isEnvFlagEnabled,
134
134
  init_env_flag