@desplega.ai/agent-swarm 1.155.0 → 1.155.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 (111) hide show
  1. package/dist/{acp-adapter-wr8k9emt.js → acp-adapter-fqsedz9y.js} +1 -1
  2. package/dist/{actions-fn65prvt.js → actions-by3qdvvk.js} +14 -14
  3. package/dist/{app-xxzqxp84.js → app-99hz4k80.js} +3 -3
  4. package/dist/{assistant-y3mvz5hd.js → assistant-18hve126.js} +15 -15
  5. package/dist/{boot-reembed-a52cz5xy.js → boot-reembed-gv4gkq87.js} +3 -3
  6. package/dist/{boot-reembed-mma39mkx.js → boot-reembed-zm7dmkqt.js} +4 -4
  7. package/dist/{boot-scrub-logs-88xcdng4.js → boot-scrub-logs-f42mskp2.js} +2 -2
  8. package/dist/{claude-adapter-6zp26gwf.js → claude-adapter-thxafssy.js} +6 -6
  9. package/dist/{claude-managed-setup-f5pmsyrp.js → claude-managed-setup-7da6qnmx.js} +2 -1
  10. package/dist/{claude-sdk-session-ze81m2c1.js → claude-sdk-session-ww42x2t2.js} +6 -6
  11. package/dist/{cli-e2fmyxrc.js → cli-03jn5306.js} +3 -3
  12. package/dist/{cli-nmh0gdph.js → cli-1msp3k1h.js} +1 -1
  13. package/dist/{cli-6yegpc3a.js → cli-2gjxfg9n.js} +15 -12
  14. package/dist/{cli-3bh2bbga.js → cli-60cwjbsn.js} +30 -4
  15. package/dist/{cli-y6m789kb.js → cli-66k89bhx.js} +1 -1
  16. package/dist/{cli-798byan3.js → cli-6rgnj7rs.js} +1 -1
  17. package/dist/{cli-hrgw5qfp.js → cli-79vvw6e7.js} +1 -1
  18. package/dist/{cli-fdtv576r.js → cli-82w25rb4.js} +1 -1
  19. package/dist/{cli-1n7d9wac.js → cli-967j85jf.js} +5 -3
  20. package/dist/{cli-jbzfb1np.js → cli-bg3d9v8z.js} +2 -2
  21. package/dist/{cli-mnmh7mj3.js → cli-czbmash2.js} +1 -1
  22. package/dist/{cli-tj253fr8.js → cli-gwha4avb.js} +5 -5
  23. package/dist/{cli-qxmjs2tx.js → cli-gy9ctpmm.js} +1 -1
  24. package/dist/{cli-52r0n5f8.js → cli-h4jrts5n.js} +18 -15
  25. package/dist/{cli-1chr8hz0.js → cli-j1gcxf46.js} +1 -1
  26. package/dist/{cli-s7zv7xdf.js → cli-jmbz691m.js} +4 -4
  27. package/dist/{cli-4mwfhwwc.js → cli-k85m894w.js} +2 -2
  28. package/dist/{cli-085v29fc.js → cli-kz0xtztz.js} +3 -3
  29. package/dist/{cli-e7d20cty.js → cli-ntqdjgtp.js} +13 -5
  30. package/dist/{cli-aa3m1yxe.js → cli-p2hxs01b.js} +2 -2
  31. package/dist/{cli-08rnbjhh.js → cli-pbsk349d.js} +56 -25
  32. package/dist/{cli-4jgxek08.js → cli-rqbvtc1v.js} +2 -2
  33. package/dist/{cli-zf8pjpgb.js → cli-vdd537x3.js} +2 -2
  34. package/dist/{cli-3361cns4.js → cli-vnyd306v.js} +1 -1
  35. package/dist/{cli-chas5sza.js → cli-x3xn5y1p.js} +4 -4
  36. package/dist/cli.js +13 -13
  37. package/dist/{codex-adapter-cfgvs1qf.js → codex-adapter-3b6r5n1c.js} +5 -5
  38. package/dist/{codex-login-vx7ghkzj.js → codex-login-8rwg7vdn.js} +8 -7
  39. package/dist/{codex-session-runner-e7yz0j6n.js → codex-session-runner-1eepz35q.js} +5 -5
  40. package/dist/{commands-b3z94mtk.js → commands-3ryb64pj.js} +2 -2
  41. package/dist/{db-v3bjpzv8.js → db-efjt4fwn.js} +4 -2
  42. package/dist/{dispatcher-vnbkay7r.js → dispatcher-8vmkfxsh.js} +13 -13
  43. package/dist/{handlers-1rh14gcx.js → handlers-n1p7kpt3.js} +16 -16
  44. package/dist/{hook-7e7p62af.js → hook-13hfpvqx.js} +5 -5
  45. package/dist/{hook-75jr7mpw.js → hook-frca1cmv.js} +4 -4
  46. package/dist/{http-v8jp8dm9.js → http-czpm03y6.js} +9658 -8324
  47. package/dist/{index-ma6jdv7m.js → index-2mw4vc58.js} +13 -13
  48. package/dist/{index-gx3qt7sy.js → index-ayydfsax.js} +3 -3
  49. package/dist/{index-garnqc85.js → index-cbrwzzq1.js} +14 -14
  50. package/dist/{index-2kqjb29c.js → index-jxsk850z.js} +7 -7
  51. package/dist/{index-5j3q4qzr.js → index-mfqv15hj.js} +13 -13
  52. package/dist/{keepalive-q593kbap.js → keepalive-qxpq5wqz.js} +4 -4
  53. package/dist/{lead-xm2q0s04.js → lead-ybh9mf8g.js} +19 -19
  54. package/dist/{maintenance-j8kgn90c.js → maintenance-z5xb15gt.js} +4 -4
  55. package/dist/{oauth-refresh-sweep-htexfa1n.js → oauth-refresh-sweep-k89c5081.js} +3 -3
  56. package/dist/{onboard-621a6j39.js → onboard-hw2agvbp.js} +2 -2
  57. package/dist/{otel-impl-vcxd9xr4.js → otel-impl-fwfz8r5y.js} +1 -1
  58. package/dist/{pi-mono-adapter-hpqzw55z.js → pi-mono-adapter-bn004cee.js} +3 -3
  59. package/dist/{pricing-refresh-3ejja3b1.js → pricing-refresh-y978f0jw.js} +4 -4
  60. package/dist/{rbac-roles-9m8q7svw.js → rbac-roles-r4gb80zd.js} +2 -2
  61. package/dist/{rbac-roles-9my9d5mf.js → rbac-roles-sp257r0x.js} +3 -3
  62. package/dist/{render-v2-19qtasfm.js → render-v2-gzx9dkx8.js} +3 -3
  63. package/dist/{seed-pricing-rg67eyqm.js → seed-pricing-59s5cqw7.js} +3 -3
  64. package/dist/{setup-m0jxmp5e.js → setup-hj6wr8rt.js} +2 -2
  65. package/dist/{work-objects-m0w74fxg.js → work-objects-pxkkejb4.js} +16 -16
  66. package/dist/{worker-2jyzjtfr.js → worker-yw7xsr4n.js} +19 -19
  67. package/openapi.json +2590 -615
  68. package/package.json +1 -1
  69. package/src/be/db.ts +17 -2
  70. package/src/be/memory/providers/openai-embedding.ts +4 -0
  71. package/src/be/onboarding.ts +689 -0
  72. package/src/be/swarm-config-guard.ts +11 -0
  73. package/src/commands/codex-login.ts +10 -8
  74. package/src/commands/provider-credentials.ts +10 -1
  75. package/src/http/all-routes.ts +2 -0
  76. package/src/http/codex-oauth-device.ts +383 -0
  77. package/src/http/config.ts +16 -3
  78. package/src/http/index.ts +5 -1
  79. package/src/http/integrations.ts +23 -0
  80. package/src/http/onboarding.ts +319 -0
  81. package/src/http/status.ts +11 -5
  82. package/src/http/trackers/jira.ts +6 -2
  83. package/src/http/trackers/linear.ts +6 -2
  84. package/src/http/utils.ts +18 -2
  85. package/src/jira/oauth.ts +6 -2
  86. package/src/linear/oauth.ts +6 -2
  87. package/src/providers/codex-oauth/device.ts +105 -0
  88. package/src/providers/codex-oauth/flow.ts +6 -3
  89. package/src/providers/codex-oauth/storage.ts +1 -0
  90. package/src/slack/manifest.ts +16 -0
  91. package/src/slack/task-output.ts +32 -13
  92. package/src/telemetry.ts +27 -0
  93. package/src/tests/codex-oauth-device.test.ts +515 -0
  94. package/src/tests/config-internal-keys.test.ts +162 -0
  95. package/src/tests/cors-allowlist.test.ts +20 -0
  96. package/src/tests/db-task-read-contract.test.ts +1 -0
  97. package/src/tests/db-task-write-contract.test.ts +1 -0
  98. package/src/tests/docs-index-footprint.test.js +3 -3
  99. package/src/tests/dsh-adapter.test.ts +3 -2
  100. package/src/tests/onboarding.test.ts +800 -0
  101. package/src/tests/openai-embedding-provider.test.ts +56 -0
  102. package/src/tests/slack-manifest.test.ts +23 -0
  103. package/src/tests/slack-render-v2.test.ts +14 -8
  104. package/src/tests/slack-task-output.test.ts +45 -12
  105. package/src/tests/status.test.ts +62 -0
  106. package/src/tests/telemetry-init.test.ts +34 -0
  107. package/src/tools/defer-task.ts +3 -3
  108. package/src/tools/swarm-config/delete-config.ts +6 -0
  109. package/src/tools/swarm-config/get-config.ts +2 -0
  110. package/src/tools/swarm-config/list-config.ts +8 -5
  111. package/src/tools/swarm-config/set-config.ts +8 -0
@@ -11,7 +11,7 @@ import {
11
11
  getDbClient,
12
12
  init_db,
13
13
  isSqliteVecAvailable
14
- } from "./cli-3bh2bbga.js";
14
+ } from "./cli-60cwjbsn.js";
15
15
  import {
16
16
  __esm,
17
17
  __export,
@@ -117,7 +117,8 @@ class OpenAIEmbeddingProvider {
117
117
  const response = await client.embeddings.create({
118
118
  model: this.model,
119
119
  input: cleaned,
120
- dimensions: this.dimensions
120
+ dimensions: this.dimensions,
121
+ encoding_format: "float"
121
122
  });
122
123
  const values = response.data[0]?.embedding;
123
124
  if (!values)
@@ -151,7 +152,8 @@ class OpenAIEmbeddingProvider {
151
152
  const response = await client.embeddings.create({
152
153
  model: this.model,
153
154
  input: nonEmptyTexts,
154
- dimensions: this.dimensions
155
+ dimensions: this.dimensions,
156
+ encoding_format: "float"
155
157
  });
156
158
  const results = texts.map(() => null);
157
159
  for (const item of response.data) {
@@ -4,11 +4,11 @@ import {
4
4
  getEmbeddingProvider,
5
5
  init_embedding,
6
6
  serializeEmbedding
7
- } from "./cli-1n7d9wac.js";
7
+ } from "./cli-967j85jf.js";
8
8
  import {
9
9
  getDbClient,
10
10
  init_db
11
- } from "./cli-3bh2bbga.js";
11
+ } from "./cli-60cwjbsn.js";
12
12
  import {
13
13
  init_secret_scrubber,
14
14
  scrubSecrets
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getValidCodexOAuth,
3
3
  persistCodexOAuth
4
- } from "./cli-e7d20cty.js";
4
+ } from "./cli-ntqdjgtp.js";
5
5
  import {
6
6
  GITHUB_COPILOT_MODELS,
7
7
  builtinModels,
@@ -5,12 +5,12 @@ import {
5
5
  instantFlush,
6
6
  requestSlackThreadSteering,
7
7
  wasEventSeen
8
- } from "./cli-s7zv7xdf.js";
8
+ } from "./cli-jmbz691m.js";
9
9
  import {
10
10
  enrichSlackUserEmail,
11
11
  resolveSlackUserId,
12
12
  rewriteSlackMentions
13
- } from "./cli-aa3m1yxe.js";
13
+ } from "./cli-p2hxs01b.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-08rnbjhh.js";
26
+ } from "./cli-pbsk349d.js";
27
27
  import {
28
28
  ackSlackMessage,
29
29
  buildTreeBlocks,
30
30
  ensureSlackThreadTree,
31
31
  isSlackRenderV2Enabled,
32
32
  registerTreeMessage
33
- } from "./cli-52r0n5f8.js";
33
+ } from "./cli-h4jrts5n.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-3bh2bbga.js";
46
+ } from "./cli-60cwjbsn.js";
47
47
  import {
48
48
  init_resolver,
49
49
  resolveTemplate
@@ -7,7 +7,7 @@ var package_default;
7
7
  var init_package = __esm(() => {
8
8
  package_default = {
9
9
  name: "@desplega.ai/agent-swarm",
10
- version: "1.155.0",
10
+ version: "1.155.1",
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",
@@ -53,7 +53,7 @@ import {
53
53
  setSlackMessageTracking,
54
54
  slackContextKey,
55
55
  updateSlackMessageRecord
56
- } from "./cli-3bh2bbga.js";
56
+ } from "./cli-60cwjbsn.js";
57
57
  import {
58
58
  init_types,
59
59
  isTerminalTaskStatus
@@ -52878,7 +52878,7 @@ async function initOtel(serviceRole = process.env.AGENT_ROLE || "api") {
52878
52878
  return;
52879
52879
  initialized = true;
52880
52880
  try {
52881
- const impl = await import("./otel-impl-vcxd9xr4.js");
52881
+ const impl = await import("./otel-impl-fwfz8r5y.js");
52882
52882
  await impl.boot(serviceRole);
52883
52883
  realWithSpan = impl.withSpan;
52884
52884
  realStartSpan = impl.startSpan;
@@ -53318,17 +53318,20 @@ async function getSlackOutputAttachments(taskId) {
53318
53318
  }
53319
53319
 
53320
53320
  // src/slack/task-output.ts
53321
- var LEGACY_DEFERRAL_NOTICE = /^Deferred until ([^\n(]+?) \([^\n]*?\) -> .*$/;
53321
+ var LEGACY_DEFERRAL_NOTICE = /^Deferred until [^\n(]+? \([^\n]*?\) -> .*$/;
53322
+ var WHEN = String.raw`(?:today|tomorrow|on \S+) at [^\n]+?`;
53323
+ var TIME_DEFERRAL_CARD = new RegExp(`^Checking back ${WHEN}$`);
53324
+ var EVENT_DEFERRAL_CARD = new RegExp(`^Waiting on ([^\\n]+?) — or ${WHEN} at the latest$`);
53322
53325
  function slackTaskOutput(task) {
53323
53326
  const output = task.output ?? undefined;
53324
- if (task.status !== "completed" || task.outputSchema || !task.tags?.includes("deferred")) {
53327
+ if (!output || task.status !== "completed" || task.outputSchema || !task.tags?.includes("deferred")) {
53325
53328
  return output;
53326
53329
  }
53327
- const legacy = output?.match(LEGACY_DEFERRAL_NOTICE);
53328
- if (!legacy)
53329
- return output;
53330
- const eta = legacy[1]?.trim();
53331
- return eta ? `Checking back ${eta}` : output;
53330
+ if (LEGACY_DEFERRAL_NOTICE.test(output) || TIME_DEFERRAL_CARD.test(output)) {
53331
+ return "Checking back later";
53332
+ }
53333
+ const waitingOn = output.match(EVENT_DEFERRAL_CARD)?.[1];
53334
+ return waitingOn ? `Waiting on ${waitingOn}` : output;
53332
53335
  }
53333
53336
  function isDeferredTask(task) {
53334
53337
  if (task.status !== "completed")
@@ -54277,15 +54280,15 @@ async function initSlackApp() {
54277
54280
  ...slackApiUrl ? { clientOptions: { slackApiUrl } } : {}
54278
54281
  });
54279
54282
  initialized2 = true;
54280
- const { registerMessageHandler } = await import("./handlers-1rh14gcx.js");
54281
- const { registerCommandHandler } = await import("./commands-b3z94mtk.js");
54282
- const { registerActionHandlers } = await import("./actions-fn65prvt.js");
54283
- const { registerWorkObjectHandlers } = await import("./work-objects-m0w74fxg.js");
54283
+ const { registerMessageHandler } = await import("./handlers-n1p7kpt3.js");
54284
+ const { registerCommandHandler } = await import("./commands-3ryb64pj.js");
54285
+ const { registerActionHandlers } = await import("./actions-by3qdvvk.js");
54286
+ const { registerWorkObjectHandlers } = await import("./work-objects-pxkkejb4.js");
54284
54287
  registerMessageHandler(app);
54285
54288
  registerCommandHandler(app);
54286
54289
  registerActionHandlers(app);
54287
54290
  registerWorkObjectHandlers(app);
54288
- const { createAssistant } = await import("./assistant-y3mvz5hd.js");
54291
+ const { createAssistant } = await import("./assistant-18hve126.js");
54289
54292
  app.assistant(createAssistant());
54290
54293
  return app;
54291
54294
  }
@@ -54294,7 +54297,7 @@ async function startSlackApp() {
54294
54297
  await initSlackApp();
54295
54298
  }
54296
54299
  if (app) {
54297
- const { isSlackRenderV2Enabled: isSlackRenderV2Enabled2 } = await import("./render-v2-19qtasfm.js");
54300
+ const { isSlackRenderV2Enabled: isSlackRenderV2Enabled2 } = await import("./render-v2-gzx9dkx8.js");
54298
54301
  if (isSlackRenderV2Enabled2())
54299
54302
  await ensureSlackRenderV2Activation();
54300
54303
  await app.start();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getDb,
3
3
  init_db
4
- } from "./cli-3bh2bbga.js";
4
+ } from "./cli-60cwjbsn.js";
5
5
 
6
6
  // src/be/seed-pricing.ts
7
7
  init_db();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  resolveSlackUserId,
3
3
  rewriteSlackMentions
4
- } from "./cli-aa3m1yxe.js";
4
+ } from "./cli-p2hxs01b.js";
5
5
  import {
6
6
  bufferedFileFailures,
7
7
  buildEffectiveText,
@@ -11,7 +11,7 @@ import {
11
11
  fetchSlackFiles,
12
12
  findUserByExternalId,
13
13
  notifySlackFileFailures
14
- } from "./cli-08rnbjhh.js";
14
+ } from "./cli-pbsk349d.js";
15
15
  import {
16
16
  buildBufferFlushBlocks,
17
17
  ensureSlackThreadTree,
@@ -20,7 +20,7 @@ import {
20
20
  getSlackApp,
21
21
  isSlackRenderV2Enabled,
22
22
  registerTreeMessage
23
- } from "./cli-52r0n5f8.js";
23
+ } from "./cli-h4jrts5n.js";
24
24
  import {
25
25
  createLogEntry,
26
26
  getAgentById,
@@ -33,7 +33,7 @@ import {
33
33
  init_steering,
34
34
  requestSteering,
35
35
  slackContextKey
36
- } from "./cli-3bh2bbga.js";
36
+ } from "./cli-60cwjbsn.js";
37
37
  import {
38
38
  init_steering_enabled,
39
39
  isSteeringEnabled
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runStopHookSessionSummarySubprocess
3
- } from "./cli-e2fmyxrc.js";
3
+ } from "./cli-03jn5306.js";
4
4
  import {
5
5
  fetchInstalledMcpServers
6
6
  } from "./cli-tng3131n.js";
@@ -822,7 +822,7 @@ class ClaudeAdapter {
822
822
  if (transport === "sdk" && isClaudeBridgeEffective(sourceEnv)) {
823
823
  throw new Error("CLAUDE_TRANSPORT=sdk cannot run with an effective Claude Bridge configuration. Select CLI transport or disable the bridge.");
824
824
  }
825
- const claudeSdk = transport === "sdk" ? await import("./claude-sdk-session-ze81m2c1.js") : undefined;
825
+ const claudeSdk = transport === "sdk" ? await import("./claude-sdk-session-ww42x2t2.js") : undefined;
826
826
  claudeSdk?.validateClaudeSdkAdditionalArgs([
827
827
  ...claudeBinaryArgv.slice(1),
828
828
  ...config.additionalArgs ?? []
@@ -11,7 +11,7 @@ import {
11
11
  } from "./cli-f14fvzag.js";
12
12
  import {
13
13
  embedScript
14
- } from "./cli-jbzfb1np.js";
14
+ } from "./cli-bg3d9v8z.js";
15
15
  import {
16
16
  calculatePKCECodeChallenge,
17
17
  ensureAuthorizationTokenOrThrow,
@@ -23,7 +23,7 @@ import {
23
23
  oauthAppRowToProviderConfig,
24
24
  updateAuthorizationTokens,
25
25
  upsertAuthorization
26
- } from "./cli-y6m789kb.js";
26
+ } from "./cli-66k89bhx.js";
27
27
  import {
28
28
  CredentialBroker,
29
29
  DEFAULT_CREDENTIAL_BINDINGS,
@@ -43,7 +43,7 @@ import {
43
43
  normalizeDateRequired,
44
44
  placeholderForConfigKey,
45
45
  upsertSwarmConfig
46
- } from "./cli-3bh2bbga.js";
46
+ } from "./cli-60cwjbsn.js";
47
47
  import {
48
48
  defaultAssetKey,
49
49
  init_key
@@ -1,4 +1,10 @@
1
+ import {
2
+ init_secret_scrubber,
3
+ scrubSecrets
4
+ } from "./cli-r2ap2czm.js";
5
+
1
6
  // src/providers/codex-oauth/flow.ts
7
+ init_secret_scrubber();
2
8
  import { randomBytes } from "node:crypto";
3
9
  import { createServer } from "node:http";
4
10
 
@@ -81,7 +87,7 @@ function decodeJwt(token) {
81
87
  return null;
82
88
  }
83
89
  }
84
- async function exchangeAuthorizationCode(code, verifier, redirectUri = REDIRECT_URI) {
90
+ async function exchangeAuthorizationCode(code, verifier, redirectUri = REDIRECT_URI, signal) {
85
91
  const response = await _fetchHolder.current(TOKEN_URL, {
86
92
  method: "POST",
87
93
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
@@ -91,16 +97,17 @@ async function exchangeAuthorizationCode(code, verifier, redirectUri = REDIRECT_
91
97
  code,
92
98
  code_verifier: verifier,
93
99
  redirect_uri: redirectUri
94
- })
100
+ }),
101
+ signal
95
102
  });
96
103
  if (!response.ok) {
97
104
  const text = await response.text().catch(() => "");
98
- console.error("[codex-oauth] code->token failed:", response.status, text);
105
+ console.error("[codex-oauth] code->token failed:", response.status, scrubSecrets(text));
99
106
  return { type: "failed" };
100
107
  }
101
108
  const json = await response.json();
102
109
  if (!json.access_token || !json.refresh_token || typeof json.expires_in !== "number") {
103
- console.error("[codex-oauth] token response missing fields:", json);
110
+ console.error("[codex-oauth] token response missing fields:", Object.keys(json));
104
111
  return { type: "failed" };
105
112
  }
106
113
  return {
@@ -353,6 +360,7 @@ function credentialsToAuthJson(creds, opts = {}) {
353
360
 
354
361
  // src/providers/codex-oauth/storage.ts
355
362
  var CODEX_OAUTH_KEY_LEGACY = "codex_oauth";
363
+ var MAX_CODEX_OAUTH_SLOT = 100;
356
364
  var REFRESH_LOCK_TTL_MS = 2 * 60 * 1000;
357
365
  var REFRESH_LOCK_WAIT_MS = 30 * 1000;
358
366
  var REFRESH_LOCK_POLL_MS = 250;
@@ -585,4 +593,4 @@ async function getValidCodexOAuth(apiUrl, apiKey, slot = 0, opts) {
585
593
  }
586
594
  }
587
595
 
588
- export { loginCodexOAuth, deriveCodexKeySuffix, authJsonToCredentialSelection, credentialsToAuthJson, CodexOAuthRefreshError, loadAllCodexOAuthSlots, storeCodexOAuth, persistCodexOAuth, getValidCodexOAuth };
596
+ export { _fetchHolder, CLIENT_ID, exchangeAuthorizationCode, getAccountId, loginCodexOAuth, deriveCodexKeySuffix, authJsonToCredentialSelection, credentialsToAuthJson, MAX_CODEX_OAUTH_SLOT, CodexOAuthRefreshError, codexOAuthKeyForSlot, loadAllCodexOAuthSlots, storeCodexOAuth, persistCodexOAuth, getValidCodexOAuth };
@@ -4,12 +4,12 @@ import {
4
4
  linkIdentity,
5
5
  recordUnmappedIdentity,
6
6
  resolveIdentity
7
- } from "./cli-08rnbjhh.js";
7
+ } from "./cli-pbsk349d.js";
8
8
  import {
9
9
  getKv,
10
10
  init_db,
11
11
  upsertKv
12
- } from "./cli-3bh2bbga.js";
12
+ } from "./cli-60cwjbsn.js";
13
13
 
14
14
  // src/slack/enrich.ts
15
15
  init_db();
@@ -10,7 +10,7 @@ import {
10
10
  getMemoryRaterNames,
11
11
  resolveCredential,
12
12
  sanitizeReferencesSource
13
- } from "./cli-mnmh7mj3.js";
13
+ } from "./cli-czbmash2.js";
14
14
  import {
15
15
  isMultiRuntimeEnabled
16
16
  } from "./cli-re8z5p8p.js";
@@ -19,14 +19,14 @@ import {
19
19
  } from "./cli-3dpj7atn.js";
20
20
  import {
21
21
  startPricingRefreshLoop
22
- } from "./cli-4jgxek08.js";
22
+ } from "./cli-rqbvtc1v.js";
23
23
  import {
24
24
  seedPricingFromModelsDev
25
- } from "./cli-1chr8hz0.js";
25
+ } from "./cli-j1gcxf46.js";
26
26
  import {
27
27
  ensureRbacSeedsSynced,
28
28
  getUserGrant
29
- } from "./cli-fdtv576r.js";
29
+ } from "./cli-82w25rb4.js";
30
30
  import {
31
31
  can,
32
32
  decideAdmission,
@@ -103,7 +103,7 @@ import {
103
103
  validateDefinition,
104
104
  validateScriptImports,
105
105
  writeBareImportShim
106
- } from "./cli-085v29fc.js";
106
+ } from "./cli-kz0xtztz.js";
107
107
  import {
108
108
  detachedProcessGroup,
109
109
  registerProcessGroup,
@@ -114,7 +114,7 @@ import {
114
114
  } from "./cli-f14fvzag.js";
115
115
  import {
116
116
  embedScript
117
- } from "./cli-jbzfb1np.js";
117
+ } from "./cli-bg3d9v8z.js";
118
118
  import {
119
119
  buildAuthorizationUrl,
120
120
  createOAuthApp,
@@ -129,7 +129,7 @@ import {
129
129
  listAuthorizationsForApp,
130
130
  onAuthorizationRefreshed,
131
131
  upsertOAuthApp
132
- } from "./cli-y6m789kb.js";
132
+ } from "./cli-66k89bhx.js";
133
133
  import {
134
134
  AgentFsProvider,
135
135
  getFileStorageProvider,
@@ -146,7 +146,7 @@ import {
146
146
  isGraphExpansionEnabled,
147
147
  rerank,
148
148
  rowToCandidate
149
- } from "./cli-1n7d9wac.js";
149
+ } from "./cli-967j85jf.js";
150
150
  import {
151
151
  ZodFirstPartyTypeKind,
152
152
  objectType
@@ -176,7 +176,7 @@ import {
176
176
  taskCitationWarnings,
177
177
  upsertTaskCitations,
178
178
  withSpan
179
- } from "./cli-52r0n5f8.js";
179
+ } from "./cli-h4jrts5n.js";
180
180
  import {
181
181
  init_task_attachment_links,
182
182
  taskAttachmentDisplayUrl,
@@ -364,9 +364,11 @@ import {
364
364
  insertTaskAttachment,
365
365
  installMcpServer,
366
366
  installSkill,
367
+ internalConfigKeyError,
367
368
  isAgentEligibleForTask,
368
369
  isExtensionAgent,
369
370
  isInTransaction,
371
+ isInternalConfigKey,
370
372
  isReservedConfigKey,
371
373
  isSteeringEnabled,
372
374
  linearContextKey,
@@ -439,7 +441,7 @@ import {
439
441
  upsertSwarmConfig,
440
442
  validateConfigValue,
441
443
  workflowContextKey
442
- } from "./cli-3bh2bbga.js";
444
+ } from "./cli-60cwjbsn.js";
443
445
  import {
444
446
  $OpenAPIRegistry,
445
447
  $OpenApiGeneratorV31,
@@ -577,7 +579,7 @@ import {
577
579
  import {
578
580
  init_package,
579
581
  package_default
580
- } from "./cli-qxmjs2tx.js";
582
+ } from "./cli-gy9ctpmm.js";
581
583
  import {
582
584
  init_secret_scrubber,
583
585
  isSensitiveKey,
@@ -14316,7 +14318,7 @@ async function notifyAutomationPreflightFailure(preflight) {
14316
14318
  return;
14317
14319
  }
14318
14320
  try {
14319
- const { getSlackApp: getSlackApp2 } = await import("./app-xxzqxp84.js");
14321
+ const { getSlackApp: getSlackApp2 } = await import("./app-99hz4k80.js");
14320
14322
  const app = getSlackApp2();
14321
14323
  if (!app) {
14322
14324
  console.warn("[Automation Preflight] Slack not available, cannot send notification");
@@ -27731,7 +27733,7 @@ async function notifySlack(text) {
27731
27733
  return;
27732
27734
  }
27733
27735
  try {
27734
- const { getSlackApp: getSlackApp2 } = await import("./app-xxzqxp84.js");
27736
+ const { getSlackApp: getSlackApp2 } = await import("./app-99hz4k80.js");
27735
27737
  const app = getSlackApp2();
27736
27738
  if (!app) {
27737
27739
  console.warn("[Jira webhook keepalive] Slack not available, cannot send notification");
@@ -27802,7 +27804,7 @@ async function deleteJiraWebhook(webhookId) {
27802
27804
  console.log(`[Jira webhook keepalive] Deleted webhook id=${webhookId}`);
27803
27805
  }
27804
27806
  async function overwriteWebhookIds(next) {
27805
- const { getDbClient: getDbClient2 } = await import("./db-v3bjpzv8.js");
27807
+ const { getDbClient: getDbClient2 } = await import("./db-efjt4fwn.js");
27806
27808
  await getDbClient2().transaction(async (tx) => {
27807
27809
  const row = await tx.get("SELECT metadata FROM oauth_apps WHERE provider = 'jira'");
27808
27810
  if (!row) {
@@ -100968,8 +100970,8 @@ function getAllowedOrigins() {
100968
100970
  return DEFAULT_ALLOWED_ORIGINS;
100969
100971
  return raw.split(",").map((entry) => entry.trim()).filter(Boolean);
100970
100972
  }
100971
- function isOriginAllowedForCredentials(origin) {
100972
- const allowed = getAllowedOrigins().some((entry) => {
100973
+ function originAllowedForCredentials(origin) {
100974
+ return getAllowedOrigins().some((entry) => {
100973
100975
  if (!entry.includes("*"))
100974
100976
  return entry === origin;
100975
100977
  const pattern = /^([a-zA-Z][a-zA-Z0-9+.-]*):\/\/\*\.([a-zA-Z0-9.-]+)(:\d+)?$/.exec(entry);
@@ -100986,11 +100988,26 @@ function isOriginAllowedForCredentials(origin) {
100986
100988
  }
100987
100989
  return hostname.endsWith(`.${suffix}`);
100988
100990
  });
100991
+ }
100992
+ function isOriginAllowedForCredentials(origin) {
100993
+ const allowed = originAllowedForCredentials(origin);
100989
100994
  if (!allowed) {
100990
100995
  console.warn(`[CORS] Denied credentialed origin ${scrubSecrets(JSON.stringify(origin.slice(0, 512)))}; add the trusted SPA origin to CORS_ALLOWED_ORIGINS (custom values replace hosted/dev defaults).`);
100991
100996
  }
100992
100997
  return allowed;
100993
100998
  }
100999
+ function allowedCredentialRedirect(raw) {
101000
+ if (!raw)
101001
+ return;
101002
+ try {
101003
+ const redirect = new URL(raw);
101004
+ if (redirect.protocol !== "http:" && redirect.protocol !== "https:")
101005
+ return;
101006
+ return originAllowedForCredentials(redirect.origin) ? redirect.toString() : undefined;
101007
+ } catch {
101008
+ return;
101009
+ }
101010
+ }
100994
101011
  function setCorsHeaders(req, res) {
100995
101012
  const rawOrigin = req.headers.origin;
100996
101013
  const origin = Array.isArray(rawOrigin) ? rawOrigin[0] : rawOrigin;
@@ -101522,7 +101539,7 @@ async function reloadGlobalConfigsAndIntegrations() {
101522
101539
  return runWithoutRequestAuth(() => reloadGlobalConfigsAndIntegrationsInner());
101523
101540
  }
101524
101541
  async function reloadGlobalConfigsAndIntegrationsInner() {
101525
- const { getEmbeddingProvider: getEmbeddingProvider2, resetEmbeddingProvider } = await import("./index-gx3qt7sy.js");
101542
+ const { getEmbeddingProvider: getEmbeddingProvider2, resetEmbeddingProvider } = await import("./index-ayydfsax.js");
101526
101543
  const wasEmbeddingsConfigured = getEmbeddingProvider2().isConfigured();
101527
101544
  const updated = await loadGlobalConfigsIntoEnv(true);
101528
101545
  await stopSlackApp();
@@ -101535,10 +101552,10 @@ async function reloadGlobalConfigsAndIntegrationsInner() {
101535
101552
  integrations.push("embeddings");
101536
101553
  }
101537
101554
  if (!wasEmbeddingsConfigured && isEmbeddingsConfigured) {
101538
- import("./boot-reembed-a52cz5xy.js").then(({ runBootReembed }) => runBootReembed()).catch((err) => {
101555
+ import("./boot-reembed-gv4gkq87.js").then(({ runBootReembed }) => runBootReembed()).catch((err) => {
101539
101556
  console.error("[config-reload] memory backfill failed (non-fatal):", err);
101540
101557
  });
101541
- import("./boot-reembed-mma39mkx.js").then(({ runBootReembedScripts }) => runBootReembedScripts()).catch((err) => {
101558
+ import("./boot-reembed-zm7dmkqt.js").then(({ runBootReembedScripts }) => runBootReembedScripts()).catch((err) => {
101542
101559
  console.error("[config-reload] script backfill failed (non-fatal):", err);
101543
101560
  });
101544
101561
  }
@@ -102351,7 +102368,7 @@ function setPreloadedTools(server, names) {
102351
102368
  async function applyPreToolCall(name, args, requestInfo, inputSchema) {
102352
102369
  if (requestInfo.callOrigin !== "mcp")
102353
102370
  return { args };
102354
- const dispatcher = await import("./dispatcher-vnbkay7r.js");
102371
+ const dispatcher = await import("./dispatcher-8vmkfxsh.js");
102355
102372
  const result = await dispatcher.dispatchPre("pre.tool.call", { tool: name, args, requestInfo }, inputSchema ? {
102356
102373
  validateModify: async (data) => {
102357
102374
  const schema = normalizeObjectSchema(inputSchema) ?? inputSchema;
@@ -126120,6 +126137,7 @@ This check refuses once per task; the next completion is accepted and unfixed ci
126120
126137
  // src/tools/swarm-config/delete-config.ts
126121
126138
  init_zod();
126122
126139
  init_db();
126140
+ init_swarm_config_guard();
126123
126141
  var registerDeleteConfigTool = (server) => {
126124
126142
  createToolRegistrar(server)("delete-config", {
126125
126143
  title: "Delete Config",
@@ -126158,6 +126176,11 @@ var registerDeleteConfigTool = (server) => {
126158
126176
  data: { yourAgentId: requestInfo.agentId }
126159
126177
  });
126160
126178
  }
126179
+ if (isInternalConfigKey(existing.key)) {
126180
+ return toolErr(internalConfigKeyError(existing.key).message, {
126181
+ data: { yourAgentId: requestInfo.agentId }
126182
+ });
126183
+ }
126161
126184
  const deleted = await deleteSwarmConfig(id2);
126162
126185
  if (deleted && existing.scope === "agent" && existing.scopeId && existing.key === AGENT_MAX_TASKS_CONFIG_KEY) {
126163
126186
  await resetAgentMaxTasksMirror(existing.scopeId);
@@ -126185,6 +126208,7 @@ var registerDeleteConfigTool = (server) => {
126185
126208
  // src/tools/swarm-config/get-config.ts
126186
126209
  init_zod();
126187
126210
  init_db();
126211
+ init_swarm_config_guard();
126188
126212
  init_types();
126189
126213
  init_secret_scrubber();
126190
126214
  var configEntryShape = looseObject({
@@ -126224,6 +126248,7 @@ var registerGetConfigTool = (server) => {
126224
126248
  }
126225
126249
  try {
126226
126250
  let configs = await getResolvedConfig(agentId, repoId);
126251
+ configs = configs.filter((config) => !isInternalConfigKey(config.key));
126227
126252
  if (key) {
126228
126253
  configs = configs.filter((c) => c.key === key);
126229
126254
  }
@@ -126273,6 +126298,7 @@ var registerGetConfigTool = (server) => {
126273
126298
  // src/tools/swarm-config/list-config.ts
126274
126299
  init_zod();
126275
126300
  init_db();
126301
+ init_swarm_config_guard();
126276
126302
  init_types();
126277
126303
  init_secret_scrubber();
126278
126304
  var configEntryShape2 = looseObject({
@@ -126311,11 +126337,11 @@ var registerListConfigTool = (server) => {
126311
126337
  });
126312
126338
  }
126313
126339
  try {
126314
- const configs = await getSwarmConfigs({
126340
+ const configs = (await getSwarmConfigs({
126315
126341
  scope,
126316
126342
  scopeId,
126317
126343
  key
126318
- });
126344
+ })).filter((config) => !isInternalConfigKey(config.key));
126319
126345
  let effectiveIncludeSecrets = includeSecrets ?? false;
126320
126346
  let secretsNote = "";
126321
126347
  if (includeSecrets) {
@@ -126410,6 +126436,11 @@ var registerSetConfigTool = (server) => {
126410
126436
  const message = reservedKeyError(key).message;
126411
126437
  return toolErr(message, { data: { yourAgentId: requestInfo.agentId } });
126412
126438
  }
126439
+ if (isInternalConfigKey(key)) {
126440
+ return toolErr(internalConfigKeyError(key).message, {
126441
+ data: { yourAgentId: requestInfo.agentId }
126442
+ });
126443
+ }
126413
126444
  const agent = await getAgentById(requestInfo.agentId);
126414
126445
  const decision = can({
126415
126446
  principal: {
@@ -131257,7 +131288,7 @@ class HumanInTheLoopExecutor extends BaseExecutor {
131257
131288
  }
131258
131289
  if (notification.channel === "slack") {
131259
131290
  try {
131260
- const { getSlackApp: getSlackApp2 } = await import("./app-xxzqxp84.js");
131291
+ const { getSlackApp: getSlackApp2 } = await import("./app-99hz4k80.js");
131261
131292
  const slackApp = getSlackApp2();
131262
131293
  if (!slackApp) {
131263
131294
  console.warn("[HITL] Slack not initialized — cannot send notification");
@@ -131386,7 +131417,7 @@ class NotifyExecutor extends BaseExecutor {
131386
131417
  }
131387
131418
  }
131388
131419
  case "slack": {
131389
- const { getSlackApp: getSlackApp2 } = await import("./app-xxzqxp84.js");
131420
+ const { getSlackApp: getSlackApp2 } = await import("./app-99hz4k80.js");
131390
131421
  const app = getSlackApp2();
131391
131422
  if (!app) {
131392
131423
  return {
@@ -132210,4 +132241,4 @@ async function initWorkflows() {
132210
132241
  logOpenWebhookTriggers();
132211
132242
  }
132212
132243
 
132213
- export { DEFAULT_NEGOTIATED_PROTOCOL_VERSION, SUPPORTED_PROTOCOL_VERSIONS, isJSONRPCRequest, isJSONRPCResultResponse, isJSONRPCErrorResponse, JSONRPCMessageSchema, isInitializeRequest, McpServer, isGitHubEnabled, initGitHub, verifyWebhookSignature, isAgentMailEnabled, initAgentMail, verifyAgentMailWebhook, findUserById, findUserByExternalId, getUserIdentities, listUserEvents, listUserTokens, recordIdentityEvent, findOrCreateUserByEmail, linkIdentity, unlinkIdentity, mintToken, revokeToken, resolveUserByToken, mintSessionToken, revokeSessionToken, fingerprintApiKey, resolveIdentity, renderIdentity, createAdditiveBuffer, referencedBundlePaths, skillDirs, TaskCreationBlockedError, recordUnmappedIdentity, MAX_TASK_ATTACHMENT_BYTES, recordTaskAttachmentUpload, buildEffectiveText, bufferedFileFailures, fetchSlackFiles, createSlackTaskWithFiles, notifySlackFileFailures, hasOtherUserMention, broadcastMatches, routeMessage, extractTaskFromMessage, extractSlackMessageText, automationIntegrationFixUrl, preflightAutomation, getAutomationSetupStates, listEnabledAutomationPreflightInputs, validateJsonSchema, TriggerSchemaError, startWorkflowExecution, setupWorkflowResumeListener, retryFailedRun, cancelWorkflowRun, resumeWaitState, initWaitBusSubscriptions, subscribeWaitToBus, recoverIncompleteRuns, startRetryPoller, stopRetryPoller, validateTemplateVariables, instantiateTemplate, handleWebhookTrigger, logOpenWebhookTriggers, handleEventTrigger, handleScheduleTrigger, verifyHmacSignature, WebhookError, snapshotWorkflow, snapshotAndUpdateWorkflow, startWaitPoller, stopWaitPoller, RawLlmConfigSchema, RawLlmOutputSchema, executeRawLlm, getExecutorRegistry, initWorkflows, dispatchScheduleTarget, calculateNextRun, startScheduler, stopScheduler, runScheduleNow, parseSkillContent, ExtensionAssetConflictError, ExtensionOwnershipError, getExtensionFiles, getExtensionById, getExtensionByName, listExtensions, listExtensionVersions, updateExtensionMeta, listExtensionRuns, SDK_ALLOWLIST, mcpToolNameForSdkMethod, mcpOverflowAuthError, toolErr, createToolRegistrar, warnIfCorsAllowsAnyOrigin, isOriginAllowedForCredentials, setCorsHeaders, parseQueryParams, getPathSegments, wireHttpSpanLifecycle, safeRequestUrlForLog, agentWithCapacity, parseBody, BODY_TOO_LARGE, enforceContentLengthCap, json, jsonError, triggerSchemaErrorResponse, deriveApiBaseUrl, httpServerSemconvAttributes, runtimeInstanceHeader, describeRequestRoute, route, handleMcpBridge, Redacted, SCRIPT_SDK_RESPONSE_LIMIT_BYTES, readScriptSdkJsonResponse, ExtensionConfigError, ExtensionLifecycleError, setExtensionLoopbackBaseUrl, enableExtension, disableExtension, activateVersion, ExtensionAssetsInvalidError, installExtensionWithAssets, uninstallExtension, reloadExtension, loadEnabledExtensions, stopExtensionRuntime, ExtensionAbortedError, isRegistered, isExtensionAgentId, getExtensionBridgeToken, resolveBridgeCallOrigin, extensionIdForAgent, runContext, registerLoaded, unregister, listRegistered, dispatchPre, dispatchPost, createTaskWithSiblingAwareness, isInboxAllowed, isSenderAllowed, handleMessageReceived, AGENT_MAX_TASKS_CONFIG_KEY, reconcileAgentMaxTasksPolicy, resetAgentMaxTasksMirror, upsertSwarmConfigWithPolicyMirror, runtimeStaleThresholdMinutes, upsertRuntimeInstance, getRuntimeInstanceById, touchRuntimeInstance, countActiveRuntimeInstancesForAgent, listRuntimeInstancesForAgent, setRuntimeCredentialReady, reconcileAgentStatusFromRuntimes, agentsWithLiveRuntime, expireStaleRuntimeInstances, enqueueAuditRow, enqueueAdmissionRow, flushAuditBuffer, startAuditWriter, stopAuditWriter, startAuditGc, stopAuditGc, handlePullRequest, handleIssue, handleComment, handlePullRequestReview, handleCheckRun, handleCheckSuite, handleWorkflowRun, isGitLabEnabled, initGitLab, verifyGitLabWebhook, handleMergeRequest, handleIssue2 as handleIssue1, handleNote, handlePipeline, repointTrackerSyncBySwarmId, getJiraMetadata, updateJiraMetadata, clearJiraMetadata, registerJiraWebhook, deleteJiraWebhook, isJiraEnabled, initJira, handleJiraWebhook, handleAgentSessionEvent, handleIssueUpdate, handleIssueDelete, handleAgentSessionPrompted, isLinearEnabled, initLinear, parseCookieHeader, extractAndVerifyCookie, issuePageSessionCookie, resolveHttpRequestAuth, loadGlobalConfigsIntoEnv, reloadGlobalConfigsAndIntegrations, scheduleIntegrationsReload, handleCore, userCtx, resolveTaskAuditUserId, resolveHttpAuditUserId, resolveHttpFavoriteOwner, handleApps, getUserCommsPrefs, getTaskDetailsInputSchema, getTaskDetailsOutputSchema, getTaskDetailsHandler, cancelTaskInputSchema, cancelTaskOutputSchema, cancelTaskHandler, executeReadOnlyQuery, assertSelectOnlyQuery, handleDbQuery, snapshotMetric, AssetKeyAuthorizationError, authorizeAssetKeyWrite, snapshotPage, assertOAuthAppUrlsSafe, assertOAuthEgressUrlSafe, listOAuthPresets, listOAuthPresetIds, getOAuthPreset, hydrateOAuthAppFromPreset, scopedResourceScopeIdSchema, resolveScopedResourceId, dedupeMemoryDocumentIds, recordMemoryAccesses, recordRetrievals, ExplicitSelfDuplicateError, applyRating, shouldPersistAutomaticTaskMemory, REBOOT_RETRY_PIN_TAG, getPinCandidateAgent, resolveLeadOnlyRecoveryAssignment, getResumeGeneration, getNextResumeGeneration, createWorkerTaskFollowUp, createResumeFollowUp, createRerouteDecisionTask, createPoolStarvationDecisionTask, guardTerminalTaskResultWrite, getTasksInputSchema, getTasksOutputSchema, getTasksHandler, reservedNamespaceError, reservedRoomKeyError, refreshLinks, canReadMemory, getLinksForMemory, expandCandidatesWithGraph, indexMemoryContent, markKapsoMessageRead, sendKapsoReaction, getKapsoConfig, getKapsoNumberMapping, markKapsoMessageSeen, resolveRoomNamespace, roomRequestInfo, authorizeRoomNamespace, RoomOperationSchema, removeAwarenessStates, roomTopic, decodeRoomSnapshot, roomView, getRoom, changeRoom, applyRoomUpdate, resetRoom, sweepRooms, closeRooms, removeNamespaceRooms, createEvent, createEventsBatch, getEventCountsFiltered, getEventsFiltered, mergeScheduleTiming, validateRecurringTiming, checkOutputSchemaShape, sendTaskOutputSchema, sendTaskHandler, steerTaskUserInputSchema, steerTaskOutputSchema, steerTaskHandler, canClaim, emitBudgetRefusalSideEffects, taskActionInputSchema, taskActionOutputSchema, taskActionHandler, patchWorkflowDefinition, resolveScriptsOnlyMode, ALL_CAPABILITIES, hasCapability, getEnabledCapabilities, createServer };
132244
+ export { DEFAULT_NEGOTIATED_PROTOCOL_VERSION, SUPPORTED_PROTOCOL_VERSIONS, isJSONRPCRequest, isJSONRPCResultResponse, isJSONRPCErrorResponse, JSONRPCMessageSchema, isInitializeRequest, McpServer, isGitHubEnabled, initGitHub, verifyWebhookSignature, isAgentMailEnabled, initAgentMail, verifyAgentMailWebhook, findUserById, findUserByExternalId, getUserIdentities, listUserEvents, listUserTokens, recordIdentityEvent, findOrCreateUserByEmail, linkIdentity, unlinkIdentity, mintToken, revokeToken, resolveUserByToken, mintSessionToken, revokeSessionToken, fingerprintApiKey, resolveIdentity, renderIdentity, createAdditiveBuffer, referencedBundlePaths, skillDirs, TaskCreationBlockedError, recordUnmappedIdentity, MAX_TASK_ATTACHMENT_BYTES, recordTaskAttachmentUpload, buildEffectiveText, bufferedFileFailures, fetchSlackFiles, createSlackTaskWithFiles, notifySlackFileFailures, hasOtherUserMention, broadcastMatches, routeMessage, extractTaskFromMessage, extractSlackMessageText, automationIntegrationFixUrl, preflightAutomation, getAutomationSetupStates, listEnabledAutomationPreflightInputs, validateJsonSchema, TriggerSchemaError, startWorkflowExecution, setupWorkflowResumeListener, retryFailedRun, cancelWorkflowRun, resumeWaitState, initWaitBusSubscriptions, subscribeWaitToBus, recoverIncompleteRuns, startRetryPoller, stopRetryPoller, validateTemplateVariables, instantiateTemplate, handleWebhookTrigger, logOpenWebhookTriggers, handleEventTrigger, handleScheduleTrigger, verifyHmacSignature, WebhookError, snapshotWorkflow, snapshotAndUpdateWorkflow, startWaitPoller, stopWaitPoller, RawLlmConfigSchema, RawLlmOutputSchema, executeRawLlm, getExecutorRegistry, initWorkflows, dispatchScheduleTarget, calculateNextRun, startScheduler, stopScheduler, runScheduleNow, parseSkillContent, ExtensionAssetConflictError, ExtensionOwnershipError, getExtensionFiles, getExtensionById, getExtensionByName, listExtensions, listExtensionVersions, updateExtensionMeta, listExtensionRuns, SDK_ALLOWLIST, mcpToolNameForSdkMethod, mcpOverflowAuthError, toolErr, createToolRegistrar, warnIfCorsAllowsAnyOrigin, isOriginAllowedForCredentials, allowedCredentialRedirect, setCorsHeaders, parseQueryParams, getPathSegments, wireHttpSpanLifecycle, safeRequestUrlForLog, agentWithCapacity, parseBody, BODY_TOO_LARGE, enforceContentLengthCap, json, jsonError, triggerSchemaErrorResponse, deriveApiBaseUrl, httpServerSemconvAttributes, runtimeInstanceHeader, describeRequestRoute, route, handleMcpBridge, Redacted, SCRIPT_SDK_RESPONSE_LIMIT_BYTES, readScriptSdkJsonResponse, ExtensionConfigError, ExtensionLifecycleError, setExtensionLoopbackBaseUrl, enableExtension, disableExtension, activateVersion, ExtensionAssetsInvalidError, installExtensionWithAssets, uninstallExtension, reloadExtension, loadEnabledExtensions, stopExtensionRuntime, ExtensionAbortedError, isRegistered, isExtensionAgentId, getExtensionBridgeToken, resolveBridgeCallOrigin, extensionIdForAgent, runContext, registerLoaded, unregister, listRegistered, dispatchPre, dispatchPost, createTaskWithSiblingAwareness, isInboxAllowed, isSenderAllowed, handleMessageReceived, AGENT_MAX_TASKS_CONFIG_KEY, reconcileAgentMaxTasksPolicy, resetAgentMaxTasksMirror, upsertSwarmConfigWithPolicyMirror, runtimeStaleThresholdMinutes, upsertRuntimeInstance, getRuntimeInstanceById, touchRuntimeInstance, countActiveRuntimeInstancesForAgent, listRuntimeInstancesForAgent, setRuntimeCredentialReady, reconcileAgentStatusFromRuntimes, agentsWithLiveRuntime, expireStaleRuntimeInstances, enqueueAuditRow, enqueueAdmissionRow, flushAuditBuffer, startAuditWriter, stopAuditWriter, startAuditGc, stopAuditGc, handlePullRequest, handleIssue, handleComment, handlePullRequestReview, handleCheckRun, handleCheckSuite, handleWorkflowRun, isGitLabEnabled, initGitLab, verifyGitLabWebhook, handleMergeRequest, handleIssue2 as handleIssue1, handleNote, handlePipeline, repointTrackerSyncBySwarmId, getJiraMetadata, updateJiraMetadata, clearJiraMetadata, registerJiraWebhook, deleteJiraWebhook, isJiraEnabled, initJira, handleJiraWebhook, handleAgentSessionEvent, handleIssueUpdate, handleIssueDelete, handleAgentSessionPrompted, isLinearEnabled, initLinear, parseCookieHeader, extractAndVerifyCookie, issuePageSessionCookie, resolveHttpRequestAuth, loadGlobalConfigsIntoEnv, reloadGlobalConfigsAndIntegrations, scheduleIntegrationsReload, handleCore, userCtx, resolveTaskAuditUserId, resolveHttpAuditUserId, resolveHttpFavoriteOwner, handleApps, getUserCommsPrefs, getTaskDetailsInputSchema, getTaskDetailsOutputSchema, getTaskDetailsHandler, cancelTaskInputSchema, cancelTaskOutputSchema, cancelTaskHandler, executeReadOnlyQuery, assertSelectOnlyQuery, handleDbQuery, snapshotMetric, AssetKeyAuthorizationError, authorizeAssetKeyWrite, snapshotPage, assertOAuthAppUrlsSafe, assertOAuthEgressUrlSafe, listOAuthPresets, listOAuthPresetIds, getOAuthPreset, hydrateOAuthAppFromPreset, scopedResourceScopeIdSchema, resolveScopedResourceId, dedupeMemoryDocumentIds, recordMemoryAccesses, recordRetrievals, ExplicitSelfDuplicateError, applyRating, shouldPersistAutomaticTaskMemory, REBOOT_RETRY_PIN_TAG, getPinCandidateAgent, resolveLeadOnlyRecoveryAssignment, getResumeGeneration, getNextResumeGeneration, createWorkerTaskFollowUp, createResumeFollowUp, createRerouteDecisionTask, createPoolStarvationDecisionTask, guardTerminalTaskResultWrite, getTasksInputSchema, getTasksOutputSchema, getTasksHandler, reservedNamespaceError, reservedRoomKeyError, refreshLinks, canReadMemory, getLinksForMemory, expandCandidatesWithGraph, indexMemoryContent, markKapsoMessageRead, sendKapsoReaction, getKapsoConfig, getKapsoNumberMapping, markKapsoMessageSeen, resolveRoomNamespace, roomRequestInfo, authorizeRoomNamespace, RoomOperationSchema, removeAwarenessStates, roomTopic, decodeRoomSnapshot, roomView, getRoom, changeRoom, applyRoomUpdate, resetRoom, sweepRooms, closeRooms, removeNamespaceRooms, createEvent, createEventsBatch, getEventCountsFiltered, getEventsFiltered, mergeScheduleTiming, validateRecurringTiming, checkOutputSchemaShape, sendTaskOutputSchema, sendTaskHandler, steerTaskUserInputSchema, steerTaskOutputSchema, steerTaskHandler, canClaim, emitBudgetRefusalSideEffects, taskActionInputSchema, taskActionOutputSchema, taskActionHandler, patchWorkflowDefinition, resolveScriptsOnlyMode, ALL_CAPABILITIES, hasCapability, getEnabledCapabilities, createServer };
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  buildModelsDevSeedRows,
3
3
  loadModelsDevCache
4
- } from "./cli-1chr8hz0.js";
4
+ } from "./cli-j1gcxf46.js";
5
5
  import {
6
6
  createLogEntry,
7
7
  getActivePricingRow,
8
8
  getDbClient,
9
9
  init_db,
10
10
  insertPricingRow
11
- } from "./cli-3bh2bbga.js";
11
+ } from "./cli-60cwjbsn.js";
12
12
  import {
13
13
  init_secret_scrubber,
14
14
  scrubSecrets