@desplega.ai/agent-swarm 1.145.0 → 1.146.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +1 -0
  2. package/dist/{acp-adapter-580t41c0.js → acp-adapter-jnq4612m.js} +20 -3
  3. package/dist/{actions-m662tjng.js → actions-s41xcn3f.js} +8 -8
  4. package/dist/{app-zb3rndm8.js → app-j8bfw3f6.js} +5 -5
  5. package/dist/{assistant-0qt42nzg.js → assistant-dx3ew4d8.js} +10 -10
  6. package/dist/{boot-reembed-072x00vn.js → boot-reembed-jxdz46jp.js} +6 -6
  7. package/dist/{boot-reembed-65zz2smt.js → boot-reembed-x1476agm.js} +7 -7
  8. package/dist/{boot-scrub-logs-yz0ams04.js → boot-scrub-logs-rab9h5bt.js} +4 -4
  9. package/dist/{claude-adapter-paj270y2.js → claude-adapter-ep6qekbm.js} +6 -6
  10. package/dist/{claude-sdk-session-swt80j9z.js → claude-sdk-session-0wp3qrcy.js} +6 -6
  11. package/dist/{cli-fs1kkqgr.js → cli-00kyrp1a.js} +2 -2
  12. package/dist/{cli-7fnkj1hj.js → cli-2zvtzevh.js} +8 -6
  13. package/dist/{cli-123q2get.js → cli-3k2g3kg2.js} +8 -8
  14. package/dist/{cli-jmb7g47h.js → cli-46yck6nj.js} +7 -7
  15. package/dist/{cli-wvp6bvy4.js → cli-4secrq32.js} +1 -1
  16. package/dist/{cli-q34a0e10.js → cli-506z6jqa.js} +1 -1
  17. package/dist/{cli-rs6ec3b9.js → cli-68h2mfrn.js} +3 -3
  18. package/dist/{cli-tqtvj5pt.js → cli-6xwhtc64.js} +1 -1
  19. package/dist/{cli-gzky0gkr.js → cli-a960nkfb.js} +2 -2
  20. package/dist/{cli-m4j6trn4.js → cli-a9bn9svs.js} +2 -2
  21. package/dist/{cli-65vqzz3v.js → cli-ah5hjk49.js} +13 -13
  22. package/dist/{cli-dt553ktb.js → cli-bafd6xnf.js} +1 -1
  23. package/dist/{cli-ygbjp3z8.js → cli-c8q7292f.js} +3 -3
  24. package/dist/{cli-f567d5c1.js → cli-d4xqde2b.js} +5 -5
  25. package/dist/{cli-m1xa8be7.js → cli-d9pnxgth.js} +6 -6
  26. package/dist/{cli-z9fprcrf.js → cli-dhg6j8h3.js} +76 -22
  27. package/dist/{cli-bxdhw615.js → cli-jyy3e193.js} +4 -4
  28. package/dist/{cli-axs8e6d4.js → cli-m4xsy03s.js} +1 -1
  29. package/dist/{cli-a0g1gbt5.js → cli-pmwbdw36.js} +2 -2
  30. package/dist/{cli-s2f20r5w.js → cli-pzfc7j7g.js} +2 -2
  31. package/dist/{cli-z96t0thj.js → cli-q0qq1sxw.js} +1 -1
  32. package/dist/{cli-gxnzc6wh.js → cli-q3qr220d.js} +1 -1
  33. package/dist/{cli-1fj0chdk.js → cli-qar1f940.js} +3 -3
  34. package/dist/{cli-v0asr5yv.js → cli-rymrjneb.js} +2 -2
  35. package/dist/{cli-xytwff7f.js → cli-s8sbe32s.js} +2 -2
  36. package/dist/{cli-kpev657q.js → cli-skd674mt.js} +1 -1
  37. package/dist/{cli-jnf5zghe.js → cli-ss6vybmt.js} +1 -1
  38. package/dist/{cli-gh8y8f36.js → cli-yqeb27t1.js} +1 -1
  39. package/dist/{cli-dc9k2ba9.js → cli-yxwe913z.js} +1 -1
  40. package/dist/{cli-anktweqr.js → cli-zn65x0w8.js} +2 -2
  41. package/dist/{cli-59ej1c07.js → cli-zww3vcnm.js} +5 -5
  42. package/dist/cli.js +12 -12
  43. package/dist/{codex-adapter-k98vaw2r.js → codex-adapter-d6qajxj3.js} +2 -2
  44. package/dist/{codex-hook-9pf19cks.js → codex-hook-n7m5k7cr.js} +2 -2
  45. package/dist/{codex-session-runner-tngtphx7.js → codex-session-runner-v9krqe4x.js} +2 -2
  46. package/dist/{commands-y8nbr3fv.js → commands-923wsas7.js} +4 -4
  47. package/dist/{db-30p4h2t1.js → db-m1hy4zh5.js} +4 -4
  48. package/dist/{handlers-yfp1qn81.js → handlers-e9vp2fr8.js} +10 -10
  49. package/dist/{hook-21jexvfx.js → hook-bxe3bkdy.js} +4 -4
  50. package/dist/{hook-dcw4jfbj.js → hook-ee4hff56.js} +5 -5
  51. package/dist/{http-r4kq5g8d.js → http-a8rx91me.js} +44 -39
  52. package/dist/{index-53zyht4z.js → index-1j9va48r.js} +11 -11
  53. package/dist/{index-gay66b9w.js → index-3x9g3nbg.js} +12 -12
  54. package/dist/{index-q3qja6ta.js → index-697zfzv1.js} +14 -14
  55. package/dist/{index-nqvf26za.js → index-jj4q3x59.js} +13 -13
  56. package/dist/{keepalive-xs8fa55y.js → keepalive-sds4e4ce.js} +6 -6
  57. package/dist/{lead-d9m2t4s0.js → lead-ggq6szk8.js} +26 -26
  58. package/dist/{maintenance-3zh82g6z.js → maintenance-093p41d4.js} +7 -7
  59. package/dist/{oauth-refresh-sweep-03snsye5.js → oauth-refresh-sweep-dvzq4ckj.js} +5 -5
  60. package/dist/{onboard-0cg1925x.js → onboard-ydr9tzw5.js} +2 -2
  61. package/dist/{otel-impl-0ab95z27.js → otel-impl-zx3tdf3j.js} +1 -1
  62. package/dist/{pricing-refresh-e5jhzz4j.js → pricing-refresh-7e6pqnzp.js} +6 -6
  63. package/dist/{rbac-roles-2w3cmrkc.js → rbac-roles-0dv1wt0w.js} +4 -4
  64. package/dist/{rbac-roles-p1mf40z3.js → rbac-roles-p2rh6d0r.js} +5 -5
  65. package/dist/{render-v2-xhawry3k.js → render-v2-4k3jt4r2.js} +5 -5
  66. package/dist/{seed-pricing-t223sw91.js → seed-pricing-2cc1qmcd.js} +5 -5
  67. package/dist/{setup-zcs0rce7.js → setup-c5yss30k.js} +2 -2
  68. package/dist/{worker-qnp2ka62.js → worker-7srgeqcr.js} +26 -26
  69. package/openapi.json +1 -1
  70. package/package.json +1 -1
  71. package/src/be/db.ts +1 -1
  72. package/src/be/swarm-config-guard.ts +4 -1
  73. package/src/http/index.ts +2 -0
  74. package/src/http/pages.ts +11 -3
  75. package/src/http/utils.ts +79 -1
  76. package/src/prompts/session-templates.ts +8 -6
  77. package/src/providers/acp-adapter.ts +20 -2
  78. package/src/providers/pricing-sources.md +11 -0
  79. package/src/tests/acp-adapter.test.ts +119 -2
  80. package/src/tests/cors-allowlist.test.ts +309 -0
  81. package/src/tests/reload-config.test.ts +26 -0
  82. package/src/tests/swarm-config-reserved-keys.test.ts +21 -0
@@ -21,7 +21,7 @@ import {
21
21
  init_profile_sync,
22
22
  readIdentityBaselines,
23
23
  warnProfileFileTooLarge
24
- } from "./cli-fs1kkqgr.js";
24
+ } from "./cli-00kyrp1a.js";
25
25
  import {
26
26
  MAX_PROFILE_FILE_LENGTH,
27
27
  getMcpBaseUrl,
@@ -30,7 +30,7 @@ import {
30
30
  import {
31
31
  init_package,
32
32
  package_default
33
- } from "./cli-dc9k2ba9.js";
33
+ } from "./cli-yxwe913z.js";
34
34
  import {
35
35
  init_secret_scrubber,
36
36
  scrubSecrets
@@ -11,20 +11,20 @@ import {
11
11
  renderAutomationTokens,
12
12
  schedulePreflightInput,
13
13
  startWorkflowExecution
14
- } from "./cli-123q2get.js";
14
+ } from "./cli-3k2g3kg2.js";
15
15
  import {
16
16
  buildScriptCredentialBindings,
17
17
  getScript,
18
18
  getScriptApiConnectionDescriptors,
19
19
  getScriptMcpConnectionDescriptors,
20
20
  runScript
21
- } from "./cli-rs6ec3b9.js";
21
+ } from "./cli-68h2mfrn.js";
22
22
  import {
23
23
  createTaskWithSiblingAwareness
24
- } from "./cli-axs8e6d4.js";
24
+ } from "./cli-m4xsy03s.js";
25
25
  import {
26
26
  ensure
27
- } from "./cli-jmb7g47h.js";
27
+ } from "./cli-46yck6nj.js";
28
28
  import {
29
29
  getDbClient,
30
30
  getDueScheduledTasks,
@@ -38,7 +38,7 @@ import {
38
38
  scheduleContextKey,
39
39
  telemetry,
40
40
  updateScheduledTask
41
- } from "./cli-f567d5c1.js";
41
+ } from "./cli-d4xqde2b.js";
42
42
  import {
43
43
  __toESM
44
44
  } from "./cli-bc05qbss.js";
package/dist/cli.js CHANGED
@@ -65,7 +65,7 @@ var import_react = __toESM(require_react(), 1);
65
65
  // package.json
66
66
  var package_default = {
67
67
  name: "@desplega.ai/agent-swarm",
68
- version: "1.145.0",
68
+ version: "1.146.0",
69
69
  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.",
70
70
  keywords: [
71
71
  "agent-swarm.dev",
@@ -739,7 +739,7 @@ function McpServer({ port, apiKey, dbPath }) {
739
739
  if (dbPath) {
740
740
  process.env.DATABASE_PATH = dbPath;
741
741
  }
742
- import("./http-r4kq5g8d.js").then(() => {
742
+ import("./http-a8rx91me.js").then(() => {
743
743
  setStatus("running");
744
744
  }).catch((err) => {
745
745
  setStatus("error");
@@ -825,7 +825,7 @@ function WorkerRunner({
825
825
  }) {
826
826
  const { exit } = use_app_default();
827
827
  import_react.useEffect(() => {
828
- import("./worker-qnp2ka62.js").then(({ runWorker }) => runWorker({
828
+ import("./worker-7srgeqcr.js").then(({ runWorker }) => runWorker({
829
829
  prompt: prompt || undefined,
830
830
  yolo,
831
831
  systemPrompt: systemPrompt || undefined,
@@ -842,7 +842,7 @@ function WorkerRunner({
842
842
  function LeadRunner({ prompt, yolo, systemPrompt, systemPromptFile, additionalArgs }) {
843
843
  const { exit } = use_app_default();
844
844
  import_react.useEffect(() => {
845
- import("./lead-d9m2t4s0.js").then(({ runLead }) => runLead({
845
+ import("./lead-ggq6szk8.js").then(({ runLead }) => runLead({
846
846
  prompt: prompt || undefined,
847
847
  yolo,
848
848
  systemPrompt: systemPrompt || undefined,
@@ -882,8 +882,8 @@ function LazyComponent({
882
882
  }
883
883
  return import_react.createElement(Component, props);
884
884
  }
885
- var loadOnboard = () => import("./onboard-0cg1925x.js").then(({ Onboard }) => Onboard);
886
- var loadConnect = () => import("./setup-zcs0rce7.js").then(({ Setup }) => Setup);
885
+ var loadOnboard = () => import("./onboard-ydr9tzw5.js").then(({ Onboard }) => Onboard);
886
+ var loadConnect = () => import("./setup-c5yss30k.js").then(({ Setup }) => Setup);
887
887
  function UnknownCommand({ command }) {
888
888
  const { exit } = use_app_default();
889
889
  import_react.useEffect(() => {
@@ -1004,14 +1004,14 @@ ${binName} docs \u2014 v${package_default.version}
1004
1004
  }
1005
1005
  process.exit(0);
1006
1006
  } else if (args.command === "hook") {
1007
- const { runHook } = await import("./hook-dcw4jfbj.js");
1007
+ const { runHook } = await import("./hook-ee4hff56.js");
1008
1008
  await runHook();
1009
1009
  } else if (args.command === "codex-hook") {
1010
- const { handleCodexHook } = await import("./codex-hook-9pf19cks.js");
1010
+ const { handleCodexHook } = await import("./codex-hook-n7m5k7cr.js");
1011
1011
  await handleCodexHook();
1012
1012
  process.exit(0);
1013
1013
  } else if (args.command === "session-summary-stdin") {
1014
- const { runSessionSummaryFromStdin } = await import("./hook-21jexvfx.js");
1014
+ const { runSessionSummaryFromStdin } = await import("./hook-bxe3bkdy.js");
1015
1015
  await runSessionSummaryFromStdin();
1016
1016
  process.exit(process.exitCode ?? 0);
1017
1017
  } else if (args.command === "artifact") {
@@ -1032,7 +1032,7 @@ ${binName} docs \u2014 v${package_default.version}
1032
1032
  printHelp("scripts");
1033
1033
  process.exit(scriptsArgs[0] === "reembed" || args.showHelp ? 0 : 1);
1034
1034
  }
1035
- const { runScriptsMaintenanceCommand } = await import("./maintenance-3zh82g6z.js");
1035
+ const { runScriptsMaintenanceCommand } = await import("./maintenance-093p41d4.js");
1036
1036
  await runScriptsMaintenanceCommand(scriptsArgs);
1037
1037
  console.log("Scripts re-embedded.");
1038
1038
  } else if (args.command === "rbac") {
@@ -1042,14 +1042,14 @@ ${binName} docs \u2014 v${package_default.version}
1042
1042
  printHelp("rbac");
1043
1043
  process.exit(args.showHelp ? 0 : 1);
1044
1044
  }
1045
- const { runRbacCliCommand } = await import("./rbac-roles-2w3cmrkc.js");
1045
+ const { runRbacCliCommand } = await import("./rbac-roles-0dv1wt0w.js");
1046
1046
  await runRbacCliCommand(rbacArgs);
1047
1047
  } else if (args.command === "codex-login") {
1048
1048
  const { runCodexLogin } = await import("./codex-login-vx7ghkzj.js");
1049
1049
  const codexLoginArgs = process.argv.slice(process.argv.indexOf("codex-login") + 1);
1050
1050
  await runCodexLogin(codexLoginArgs);
1051
1051
  } else if (args.command === "codex-session-runner") {
1052
- const { runCodexSessionRunner } = await import("./codex-session-runner-tngtphx7.js");
1052
+ const { runCodexSessionRunner } = await import("./codex-session-runner-v9krqe4x.js");
1053
1053
  await runCodexSessionRunner();
1054
1054
  } else if (args.command === "claude-managed-setup") {
1055
1055
  const { runClaudeManagedSetup } = await import("./claude-managed-setup-w619jncn.js");
@@ -6,7 +6,7 @@ import {
6
6
  createInProcessCodexSession,
7
7
  resolveCodexAuthMode,
8
8
  resolveCodexRunnerArgv
9
- } from "./cli-gxnzc6wh.js";
9
+ } from "./cli-q3qr220d.js";
10
10
  import"./cli-hsxj0yar.js";
11
11
  import"./cli-r94z9p1z.js";
12
12
  import"./cli-2djtr51b.js";
@@ -27,7 +27,7 @@ import"./cli-bsakbbkm.js";
27
27
  import"./cli-ej6gbxfb.js";
28
28
  import"./cli-sd0mxa3c.js";
29
29
  import"./cli-w5e1d1vv.js";
30
- import"./cli-dc9k2ba9.js";
30
+ import"./cli-yxwe913z.js";
31
31
  import"./cli-xqcq9y5e.js";
32
32
  import"./cli-knd276ed.js";
33
33
  import"./cli-c4eeb5q2.js";
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env bun
2
2
  import {
3
3
  renderSteeringDelivery
4
- } from "./cli-dt553ktb.js";
4
+ } from "./cli-bafd6xnf.js";
5
5
  import {
6
6
  getApiKey
7
7
  } from "./cli-f14fvzag.js";
8
8
  import {
9
9
  init_steering_enabled,
10
10
  isSteeringEnabled
11
- } from "./cli-7fnkj1hj.js";
11
+ } from "./cli-2zvtzevh.js";
12
12
  import {
13
13
  getMcpBaseUrl,
14
14
  init_constants
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createInProcessCodexSession
3
- } from "./cli-gxnzc6wh.js";
3
+ } from "./cli-q3qr220d.js";
4
4
  import"./cli-hsxj0yar.js";
5
5
  import"./cli-r94z9p1z.js";
6
6
  import"./cli-2djtr51b.js";
@@ -21,7 +21,7 @@ import"./cli-bsakbbkm.js";
21
21
  import"./cli-ej6gbxfb.js";
22
22
  import"./cli-sd0mxa3c.js";
23
23
  import"./cli-w5e1d1vv.js";
24
- import"./cli-dc9k2ba9.js";
24
+ import"./cli-yxwe913z.js";
25
25
  import {
26
26
  init_secret_scrubber,
27
27
  scrubSecrets
@@ -2,9 +2,9 @@ import {
2
2
  getAllAgents,
3
3
  getAllTasks,
4
4
  init_db
5
- } from "./cli-f567d5c1.js";
6
- import"./cli-kpev657q.js";
7
- import"./cli-7fnkj1hj.js";
5
+ } from "./cli-d4xqde2b.js";
6
+ import"./cli-skd674mt.js";
7
+ import"./cli-2zvtzevh.js";
8
8
  import"./cli-e29gmdmw.js";
9
9
  import"./cli-c2mk1kgf.js";
10
10
  import {
@@ -13,7 +13,7 @@ import {
13
13
  } from "./cli-ej6gbxfb.js";
14
14
  import"./cli-sd0mxa3c.js";
15
15
  import"./cli-w5e1d1vv.js";
16
- import"./cli-dc9k2ba9.js";
16
+ import"./cli-yxwe913z.js";
17
17
  import"./cli-xqcq9y5e.js";
18
18
  import"./cli-zf8jjwex.js";
19
19
  import"./cli-bc05qbss.js";
@@ -454,20 +454,20 @@ import {
454
454
  upsertSkillFiles,
455
455
  upsertSwarmConfig,
456
456
  withFavoriteFlags
457
- } from "./cli-f567d5c1.js";
457
+ } from "./cli-d4xqde2b.js";
458
458
  import {
459
459
  generateDefaultClaudeMd,
460
460
  generateDefaultIdentityMd,
461
461
  generateDefaultSoulMd,
462
462
  generateDefaultToolsMd
463
- } from "./cli-kpev657q.js";
464
- import"./cli-7fnkj1hj.js";
463
+ } from "./cli-skd674mt.js";
464
+ import"./cli-2zvtzevh.js";
465
465
  import"./cli-e29gmdmw.js";
466
466
  import"./cli-c2mk1kgf.js";
467
467
  import"./cli-ej6gbxfb.js";
468
468
  import"./cli-sd0mxa3c.js";
469
469
  import"./cli-w5e1d1vv.js";
470
- import"./cli-dc9k2ba9.js";
470
+ import"./cli-yxwe913z.js";
471
471
  import"./cli-xqcq9y5e.js";
472
472
  import"./cli-zf8jjwex.js";
473
473
  import"./cli-bc05qbss.js";
@@ -5,29 +5,29 @@ import {
5
5
  instantFlush,
6
6
  requestSlackThreadSteering,
7
7
  wasEventSeen
8
- } from "./cli-m1xa8be7.js";
8
+ } from "./cli-d9pnxgth.js";
9
9
  import {
10
10
  extractSlackMessageText,
11
11
  extractTaskFromMessage,
12
12
  hasOtherUserMention,
13
13
  routeMessage
14
- } from "./cli-jnf5zghe.js";
14
+ } from "./cli-ss6vybmt.js";
15
15
  import {
16
16
  enrichSlackUserEmail,
17
17
  resolveSlackUserId,
18
18
  rewriteSlackMentions
19
- } from "./cli-xytwff7f.js";
20
- import"./cli-z96t0thj.js";
19
+ } from "./cli-s8sbe32s.js";
20
+ import"./cli-q0qq1sxw.js";
21
21
  import {
22
22
  createTaskWithSiblingAwareness
23
- } from "./cli-axs8e6d4.js";
23
+ } from "./cli-m4xsy03s.js";
24
24
  import {
25
25
  ackSlackMessage,
26
26
  buildTreeBlocks,
27
27
  ensureSlackThreadTree,
28
28
  isSlackRenderV2Enabled,
29
29
  registerTreeMessage
30
- } from "./cli-jmb7g47h.js";
30
+ } from "./cli-46yck6nj.js";
31
31
  import"./cli-q51yprfq.js";
32
32
  import"./cli-yatxqynm.js";
33
33
  import {
@@ -40,12 +40,12 @@ import {
40
40
  init_db,
41
41
  reactionName,
42
42
  slackContextKey
43
- } from "./cli-f567d5c1.js";
44
- import"./cli-kpev657q.js";
43
+ } from "./cli-d4xqde2b.js";
44
+ import"./cli-skd674mt.js";
45
45
  import {
46
46
  init_resolver,
47
47
  resolveTemplate
48
- } from "./cli-7fnkj1hj.js";
48
+ } from "./cli-2zvtzevh.js";
49
49
  import"./cli-e29gmdmw.js";
50
50
  import"./cli-c2mk1kgf.js";
51
51
  import {
@@ -54,7 +54,7 @@ import {
54
54
  } from "./cli-ej6gbxfb.js";
55
55
  import"./cli-sd0mxa3c.js";
56
56
  import"./cli-w5e1d1vv.js";
57
- import"./cli-dc9k2ba9.js";
57
+ import"./cli-yxwe913z.js";
58
58
  import"./cli-xqcq9y5e.js";
59
59
  import"./cli-pzxba7gw.js";
60
60
  import {
@@ -25,10 +25,10 @@ import {
25
25
  init_profile_sync,
26
26
  readIdentityBaselines,
27
27
  warnProfileFileTooLarge
28
- } from "./cli-fs1kkqgr.js";
28
+ } from "./cli-00kyrp1a.js";
29
29
  import"./cli-bsakbbkm.js";
30
- import"./cli-kpev657q.js";
31
- import"./cli-7fnkj1hj.js";
30
+ import"./cli-skd674mt.js";
31
+ import"./cli-2zvtzevh.js";
32
32
  import {
33
33
  MAX_PROFILE_FILE_LENGTH,
34
34
  getMcpBaseUrl,
@@ -40,7 +40,7 @@ import"./cli-w5e1d1vv.js";
40
40
  import {
41
41
  init_package,
42
42
  package_default
43
- } from "./cli-dc9k2ba9.js";
43
+ } from "./cli-yxwe913z.js";
44
44
  import {
45
45
  init_secret_scrubber,
46
46
  scrubSecrets
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  handleHook
3
- } from "./cli-anktweqr.js";
3
+ } from "./cli-zn65x0w8.js";
4
4
  import"./cli-rvqz34y5.js";
5
5
  import"./cli-hp1n6zq3.js";
6
6
  import"./cli-xvkmedgn.js";
@@ -8,15 +8,15 @@ import"./cli-1ebpar1q.js";
8
8
  import"./cli-e7d20cty.js";
9
9
  import"./cli-3dpj7atn.js";
10
10
  import"./cli-f14fvzag.js";
11
- import"./cli-fs1kkqgr.js";
11
+ import"./cli-00kyrp1a.js";
12
12
  import"./cli-bsakbbkm.js";
13
- import"./cli-kpev657q.js";
14
- import"./cli-7fnkj1hj.js";
13
+ import"./cli-skd674mt.js";
14
+ import"./cli-2zvtzevh.js";
15
15
  import"./cli-e29gmdmw.js";
16
16
  import"./cli-ej6gbxfb.js";
17
17
  import"./cli-sd0mxa3c.js";
18
18
  import"./cli-w5e1d1vv.js";
19
- import"./cli-dc9k2ba9.js";
19
+ import"./cli-yxwe913z.js";
20
20
  import"./cli-xqcq9y5e.js";
21
21
  import"./cli-c4eeb5q2.js";
22
22
  import"./cli-btbzvq95.js";
@@ -108,6 +108,7 @@ import {
108
108
  isJSONRPCResultResponse,
109
109
  isJiraEnabled,
110
110
  isLinearEnabled,
111
+ isOriginAllowedForCredentials,
111
112
  isSenderAllowed,
112
113
  issuePageSessionCookie,
113
114
  json,
@@ -178,9 +179,10 @@ import {
178
179
  verifyAgentMailWebhook,
179
180
  verifyGitLabWebhook,
180
181
  verifyWebhookSignature,
182
+ warnIfCorsAllowsAnyOrigin,
181
183
  wireHttpSpanLifecycle,
182
184
  writeSkillsToFilesystem
183
- } from "./cli-z9fprcrf.js";
185
+ } from "./cli-dhg6j8h3.js";
184
186
  import"./cli-8fc8de14.js";
185
187
  import {
186
188
  Anthropic
@@ -199,16 +201,16 @@ import {
199
201
  import {
200
202
  calculateNextRun,
201
203
  dispatchScheduleTarget
202
- } from "./cli-59ej1c07.js";
204
+ } from "./cli-zww3vcnm.js";
203
205
  import {
204
206
  getModelsCatalog
205
- } from "./cli-m4j6trn4.js";
207
+ } from "./cli-a9bn9svs.js";
206
208
  import {
207
209
  normalizeModelKey
208
- } from "./cli-gh8y8f36.js";
210
+ } from "./cli-yqeb27t1.js";
209
211
  import {
210
212
  getUserGrant
211
- } from "./cli-q34a0e10.js";
213
+ } from "./cli-506z6jqa.js";
212
214
  import {
213
215
  can,
214
216
  clearAuditSink,
@@ -225,12 +227,12 @@ import {
225
227
  scriptSdkTypesWithGeneratedApis,
226
228
  scriptStdlibTypesWithGeneratedApis,
227
229
  typecheckScript
228
- } from "./cli-ygbjp3z8.js";
230
+ } from "./cli-c8q7292f.js";
229
231
  import {
230
232
  collectScriptReferences,
231
233
  getApp,
232
234
  listAppRecords
233
- } from "./cli-gzky0gkr.js";
235
+ } from "./cli-a960nkfb.js";
234
236
  import {
235
237
  require_dist
236
238
  } from "./cli-qgm2pfpq.js";
@@ -238,7 +240,7 @@ import {
238
240
  checkHeartbeatChecklist,
239
241
  runHeartbeatSweep,
240
242
  stopHeartbeat
241
- } from "./cli-bxdhw615.js";
243
+ } from "./cli-jyy3e193.js";
242
244
  import {
243
245
  AGENT_MAX_TASKS_CONFIG_KEY,
244
246
  createResumeFollowUp,
@@ -253,7 +255,7 @@ import {
253
255
  touchRuntimeInstance,
254
256
  upsertRuntimeInstance,
255
257
  upsertSwarmConfigWithPolicyMirror
256
- } from "./cli-1fj0chdk.js";
258
+ } from "./cli-qar1f940.js";
257
259
  import {
258
260
  isMultiRuntimeEnabled
259
261
  } from "./cli-07jd68a1.js";
@@ -276,7 +278,7 @@ import {
276
278
  startWorkflowExecution,
277
279
  validateJsonSchema,
278
280
  verifyHmacSignature
279
- } from "./cli-123q2get.js";
281
+ } from "./cli-3k2g3kg2.js";
280
282
  import"./cli-1ebpar1q.js";
281
283
  import {
282
284
  deriveCodexKeySuffix,
@@ -361,11 +363,11 @@ import {
361
363
  upsertScriptByName,
362
364
  upsertScriptConnection,
363
365
  validateDefinition
364
- } from "./cli-rs6ec3b9.js";
366
+ } from "./cli-68h2mfrn.js";
365
367
  import"./cli-epan13p1.js";
366
368
  import {
367
369
  searchScripts
368
- } from "./cli-a0g1gbt5.js";
370
+ } from "./cli-pmwbdw36.js";
369
371
  import {
370
372
  CANDIDATE_SET_MULTIPLIER,
371
373
  getEmbeddingProvider,
@@ -373,7 +375,7 @@ import {
373
375
  init_constants as init_constants2,
374
376
  init_reranker,
375
377
  rerank
376
- } from "./cli-s2f20r5w.js";
378
+ } from "./cli-pzfc7j7g.js";
377
379
  import {
378
380
  detachedProcessGroup,
379
381
  forceTerminateProcessGroup,
@@ -384,7 +386,7 @@ import {
384
386
  import {
385
387
  getApiKey
386
388
  } from "./cli-f14fvzag.js";
387
- import"./cli-fs1kkqgr.js";
389
+ import"./cli-00kyrp1a.js";
388
390
  import {
389
391
  acquireOAuthRefreshLock,
390
392
  buildAuthorizationUrl,
@@ -408,7 +410,7 @@ import {
408
410
  updateAuthorizationIdentity,
409
411
  updateOAuthAppById,
410
412
  upsertAuthorization
411
- } from "./cli-wvp6bvy4.js";
413
+ } from "./cli-4secrq32.js";
412
414
  import"./cli-fad8m16k.js";
413
415
  import"./cli-aehm1rbq.js";
414
416
  import"./cli-bsakbbkm.js";
@@ -420,7 +422,7 @@ import {
420
422
  normalizeFilesError
421
423
  } from "./cli-fhsz3twr.js";
422
424
  import"./cli-51tf7ac3.js";
423
- import"./cli-jnf5zghe.js";
425
+ import"./cli-ss6vybmt.js";
424
426
  import {
425
427
  findUserById,
426
428
  fingerprintApiKey,
@@ -436,10 +438,10 @@ import {
436
438
  resolveUserByToken,
437
439
  revokeToken,
438
440
  unlinkIdentity
439
- } from "./cli-z96t0thj.js";
441
+ } from "./cli-q0qq1sxw.js";
440
442
  import {
441
443
  createTaskWithSiblingAwareness
442
- } from "./cli-axs8e6d4.js";
444
+ } from "./cli-m4xsy03s.js";
443
445
  import {
444
446
  ensure,
445
447
  getSlackApp,
@@ -455,7 +457,7 @@ import {
455
457
  withRemoteContext,
456
458
  withSpan,
457
459
  withSpanContext
458
- } from "./cli-jmb7g47h.js";
460
+ } from "./cli-46yck6nj.js";
459
461
  import"./cli-q51yprfq.js";
460
462
  import"./cli-yatxqynm.js";
461
463
  import {
@@ -853,12 +855,12 @@ import {
853
855
  upsertSwarmConfig,
854
856
  validateConfigValue,
855
857
  withFavoriteFlags
856
- } from "./cli-f567d5c1.js";
858
+ } from "./cli-d4xqde2b.js";
857
859
  import {
858
860
  IDENTITY_FIELD_BUDGETS,
859
861
  IdentityFieldBudgetError,
860
862
  init_identity_field_budget
861
- } from "./cli-kpev657q.js";
863
+ } from "./cli-skd674mt.js";
862
864
  import {
863
865
  getAllTemplateDefinitions,
864
866
  getTemplateDefinition,
@@ -869,7 +871,7 @@ import {
869
871
  interpolate,
870
872
  isSteeringEnabled,
871
873
  resolveTemplate
872
- } from "./cli-7fnkj1hj.js";
874
+ } from "./cli-2zvtzevh.js";
873
875
  import {
874
876
  MAX_PROFILE_FILE_LENGTH,
875
877
  getAppUrl,
@@ -898,7 +900,7 @@ import {
898
900
  import {
899
901
  init_package,
900
902
  package_default
901
- } from "./cli-dc9k2ba9.js";
903
+ } from "./cli-yxwe913z.js";
902
904
  import {
903
905
  init_secret_scrubber,
904
906
  registerVolatileSecret,
@@ -13222,9 +13224,11 @@ var getPageVersionRoute = route({
13222
13224
  function applyLaunchCors(req, res) {
13223
13225
  const origin = req.headers.origin ?? "";
13224
13226
  if (origin) {
13225
- res.setHeader("Access-Control-Allow-Origin", origin);
13226
13227
  res.setHeader("Vary", "Origin");
13227
- res.setHeader("Access-Control-Allow-Credentials", "true");
13228
+ if (isOriginAllowedForCredentials(origin)) {
13229
+ res.setHeader("Access-Control-Allow-Origin", origin);
13230
+ res.setHeader("Access-Control-Allow-Credentials", "true");
13231
+ }
13228
13232
  }
13229
13233
  res.setHeader("Access-Control-Allow-Methods", "POST, OPTIONS");
13230
13234
  res.setHeader("Access-Control-Allow-Headers", "Authorization, Content-Type");
@@ -26369,7 +26373,7 @@ async function shutdown() {
26369
26373
  sessionsProcessed: getServerSessionsProcessed()
26370
26374
  });
26371
26375
  if (hasCapability("scheduling")) {
26372
- const { stopScheduler } = await import("./index-nqvf26za.js");
26376
+ const { stopScheduler } = await import("./index-jj4q3x59.js");
26373
26377
  stopScheduler();
26374
26378
  }
26375
26379
  stopHeartbeat();
@@ -26377,7 +26381,7 @@ async function shutdown() {
26377
26381
  await stopScriptRunSupervisor();
26378
26382
  await stopSlackApp();
26379
26383
  if (process.env.OAUTH_KEEPALIVE_DISABLE !== "true") {
26380
- const { stopOAuthKeepalive } = await import("./keepalive-xs8fa55y.js");
26384
+ const { stopOAuthKeepalive } = await import("./keepalive-sds4e4ce.js");
26381
26385
  await stopOAuthKeepalive();
26382
26386
  }
26383
26387
  stopOAuthPendingGc();
@@ -26437,21 +26441,22 @@ try {
26437
26441
  process.exitCode = 1;
26438
26442
  throw err;
26439
26443
  }
26444
+ warnIfCorsAllowsAnyOrigin();
26440
26445
  try {
26441
26446
  await seedLegacyCapabilitiesConfig();
26442
26447
  } catch (err) {
26443
26448
  console.warn("[startup] CAPABILITIES upgrade seed failed (non-fatal):", err);
26444
26449
  }
26445
26450
  try {
26446
- const { seedPricingFromModelsDev } = await import("./seed-pricing-t223sw91.js");
26451
+ const { seedPricingFromModelsDev } = await import("./seed-pricing-2cc1qmcd.js");
26447
26452
  seedPricingFromModelsDev();
26448
- const { startPricingRefreshLoop } = await import("./pricing-refresh-e5jhzz4j.js");
26453
+ const { startPricingRefreshLoop } = await import("./pricing-refresh-7e6pqnzp.js");
26449
26454
  startPricingRefreshLoop();
26450
26455
  } catch (err) {
26451
26456
  console.error("[startup] Failed to seed pricing rows:", err);
26452
26457
  }
26453
26458
  try {
26454
- const { ensureRbacSeedsSynced } = await import("./rbac-roles-p1mf40z3.js");
26459
+ const { ensureRbacSeedsSynced } = await import("./rbac-roles-p2rh6d0r.js");
26455
26460
  ensureRbacSeedsSynced();
26456
26461
  } catch (err) {
26457
26462
  console.error("[startup] Failed to sync RBAC seed rows:", err);
@@ -26459,7 +26464,7 @@ try {
26459
26464
  throw err;
26460
26465
  }
26461
26466
  try {
26462
- const { runAllSeeders } = await import("./index-53zyht4z.js");
26467
+ const { runAllSeeders } = await import("./index-1j9va48r.js");
26463
26468
  await runAllSeeders({ scriptEmbeddingMode: "skip" });
26464
26469
  } catch (err) {
26465
26470
  console.error("[startup] Failed to seed built-in entities:", err);
@@ -26500,36 +26505,36 @@ httpServer.listen(port, async () => {
26500
26505
  await initWorkflows();
26501
26506
  await startScriptRunSupervisor(getMcpBaseUrl());
26502
26507
  if (hasCapability("scheduling")) {
26503
- const { startScheduler } = await import("./index-nqvf26za.js");
26504
- const { getExecutorRegistry: getExecutorRegistry2 } = await import("./index-gay66b9w.js");
26508
+ const { startScheduler } = await import("./index-jj4q3x59.js");
26509
+ const { getExecutorRegistry: getExecutorRegistry2 } = await import("./index-3x9g3nbg.js");
26505
26510
  const intervalMs = Number(process.env.SCHEDULER_INTERVAL_MS) || 1e4;
26506
26511
  startScheduler(getExecutorRegistry2(), intervalMs, {
26507
26512
  runId: globalState.__runId
26508
26513
  });
26509
26514
  }
26510
26515
  if (!isEnvFlagEnabled("HEARTBEAT_DISABLE", false)) {
26511
- const { startHeartbeat } = await import("./index-q3qja6ta.js");
26516
+ const { startHeartbeat } = await import("./index-697zfzv1.js");
26512
26517
  const heartbeatMs = Number(process.env.HEARTBEAT_INTERVAL_MS) || 90000;
26513
26518
  startHeartbeat(heartbeatMs);
26514
26519
  }
26515
26520
  if (process.env.OAUTH_KEEPALIVE_DISABLE !== "true") {
26516
- const { startOAuthKeepalive } = await import("./keepalive-xs8fa55y.js");
26521
+ const { startOAuthKeepalive } = await import("./keepalive-sds4e4ce.js");
26517
26522
  startOAuthKeepalive();
26518
26523
  }
26519
26524
  if (process.env.OAUTH_REFRESH_SWEEP_DISABLE !== "true") {
26520
- const { startOAuthRefreshSweep } = await import("./oauth-refresh-sweep-03snsye5.js");
26525
+ const { startOAuthRefreshSweep } = await import("./oauth-refresh-sweep-dvzq4ckj.js");
26521
26526
  startOAuthRefreshSweep();
26522
26527
  }
26523
26528
  startOAuthPendingGc();
26524
26529
  await startMemoryGc();
26525
26530
  await startDbRetention();
26526
- import("./boot-reembed-072x00vn.js").then(({ runBootReembed }) => runBootReembed()).catch((err) => {
26531
+ import("./boot-reembed-jxdz46jp.js").then(({ runBootReembed }) => runBootReembed()).catch((err) => {
26527
26532
  console.error("[boot-reembed] startup backfill failed (non-fatal):", err);
26528
26533
  });
26529
- import("./boot-reembed-65zz2smt.js").then(({ runBootReembedScripts }) => runBootReembedScripts()).catch((err) => {
26534
+ import("./boot-reembed-x1476agm.js").then(({ runBootReembedScripts }) => runBootReembedScripts()).catch((err) => {
26530
26535
  console.error("[boot-reembed-scripts] startup backfill failed (non-fatal):", err);
26531
26536
  });
26532
- import("./boot-scrub-logs-yz0ams04.js").then(({ runBootScrubLogs }) => runBootScrubLogs()).catch((err) => {
26537
+ import("./boot-scrub-logs-rab9h5bt.js").then(({ runBootScrubLogs }) => runBootScrubLogs()).catch((err) => {
26533
26538
  console.error("[boot-scrub-logs] startup scrub failed (non-fatal):", err);
26534
26539
  });
26535
26540
  }).on("error", (err) => {