@langwatch/mcp-server 1.0.0 → 2.0.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 (125) hide show
  1. package/.python-version +1 -0
  2. package/CHANGELOG.md +21 -0
  3. package/CONTRIBUTING.md +1 -1
  4. package/README.md +55 -1
  5. package/dist/{archive-project-MK3673A7.js → archive-project-4EQGLBJJ.js} +5 -5
  6. package/dist/{archive-scenario-KATSXRIN.js → archive-scenario-W6BXYDZ3.js} +5 -5
  7. package/dist/{archive-suite-C3KX6IIZ.js → archive-suite-4T6BSRS7.js} +5 -5
  8. package/dist/{assign-prompt-tag-E3C5W6PI.js → assign-prompt-tag-VLXUWEKU.js} +4 -4
  9. package/dist/{chunk-VYPSKRPN.js → chunk-4QC7SA2L.js} +91 -91
  10. package/dist/{chunk-T7WJVS2N.js → chunk-5CCZFUXS.js} +2 -2
  11. package/dist/{chunk-J45SVWPR.js → chunk-77BNWQ3U.js} +2 -2
  12. package/dist/{chunk-XY4STOBE.js → chunk-7RHG56OH.js} +2 -2
  13. package/dist/{chunk-5UWY24RP.js → chunk-A2LEVYQ5.js} +2 -2
  14. package/dist/{chunk-UXXA4D6K.js → chunk-AQJO2EI5.js} +2 -2
  15. package/dist/{chunk-EU22L52K.js → chunk-CDYQOY5U.js} +2 -2
  16. package/dist/{chunk-O3LWVN67.js → chunk-J42FWRJ2.js} +2 -2
  17. package/dist/{chunk-BJ7B4R26.js → chunk-SAS5OB7F.js} +18 -2
  18. package/dist/{chunk-DAIQKS27.js → chunk-SFB4MU6H.js} +2 -2
  19. package/dist/{chunk-WWMDHZZV.js → chunk-TJCXFNDT.js} +2 -2
  20. package/dist/{chunk-CE6QMZOP.js → chunk-TOXJQDIZ.js} +4 -4
  21. package/dist/chunk-UJPXFA26.js +267 -0
  22. package/dist/{chunk-KOO5733S.js → chunk-WT4PO4A3.js} +8 -2
  23. package/dist/{chunk-RYRB2YVJ.js → chunk-YX3A3CFM.js} +2 -2
  24. package/dist/{chunk-WDH5P5RF.js → chunk-YZLYHLLI.js} +2 -2
  25. package/dist/{chunk-Y3HDZ6OW.js → chunk-ZWIL4EFL.js} +2 -2
  26. package/dist/config.js +2 -2
  27. package/dist/{create-agent-7W57J7MT.js → create-agent-7XHO6UIS.js} +5 -5
  28. package/dist/{create-annotation-W2XELBCQ.js → create-annotation-YQXRQC6A.js} +5 -5
  29. package/dist/{create-api-key-MKRXKFJM.js → create-api-key-YUS36KBU.js} +5 -5
  30. package/dist/{create-dashboard-QGL7IODC.js → create-dashboard-4Z5JO5LB.js} +5 -5
  31. package/dist/{create-dataset-3PH7A4HG.js → create-dataset-E6NMSVX7.js} +5 -5
  32. package/dist/{create-dataset-records-4DZS3VRL.js → create-dataset-records-SKHPRD2K.js} +5 -5
  33. package/dist/{create-evaluator-YWH6NC4M.js → create-evaluator-JXF5PF33.js} +5 -5
  34. package/dist/create-mcp-server.js +4 -4
  35. package/dist/{create-project-BOBQ32C5.js → create-project-CS2CB57Y.js} +5 -5
  36. package/dist/{create-prompt-FLCFGITE.js → create-prompt-F5RMX3L3.js} +4 -4
  37. package/dist/{create-prompt-tag-EMPNIKEA.js → create-prompt-tag-GMRWTEFR.js} +4 -4
  38. package/dist/{create-scenario-BSBIHUL6.js → create-scenario-JDR2VB2H.js} +5 -5
  39. package/dist/{create-suite-TWF6BBR4.js → create-suite-LZS6QIAF.js} +5 -5
  40. package/dist/{delete-agent-7MSYNY5E.js → delete-agent-O3EEH4S5.js} +5 -5
  41. package/dist/{delete-annotation-ZT5IGN24.js → delete-annotation-XP6FQM7A.js} +5 -5
  42. package/dist/{delete-dashboard-BTIY5S3L.js → delete-dashboard-RFUNYCNP.js} +5 -5
  43. package/dist/{delete-dataset-U45HQHPR.js → delete-dataset-3MJFRDLP.js} +5 -5
  44. package/dist/{delete-dataset-records-R43IMAWB.js → delete-dataset-records-WPMU5GL5.js} +5 -5
  45. package/dist/{delete-evaluator-U6JMQ6C7.js → delete-evaluator-33SP2JFX.js} +5 -5
  46. package/dist/{delete-prompt-tag-4EV4TDHB.js → delete-prompt-tag-KNMZVSPB.js} +4 -4
  47. package/dist/{delete-workflow-5QYALXEL.js → delete-workflow-3NUXO46U.js} +5 -5
  48. package/dist/{discover-evaluator-schema-MRGHVNTT.js → discover-evaluator-schema-XTAD4X7D.js} +52 -36
  49. package/dist/{discover-scenario-schema-UPBTCWPG.js → discover-scenario-schema-FE64QK2D.js} +2 -2
  50. package/dist/{discover-schema-ICGXPHUW.js → discover-schema-L6QDPON3.js} +2 -2
  51. package/dist/{get-agent-7QJVPH72.js → get-agent-Y7MWZ65F.js} +5 -5
  52. package/dist/{get-analytics-PVERWOA5.js → get-analytics-TETCSOK6.js} +4 -4
  53. package/dist/{get-dashboard-ZZPC3WMD.js → get-dashboard-KHBEGZGL.js} +5 -5
  54. package/dist/{get-dataset-25TB2LQH.js → get-dataset-RCMU5VAH.js} +5 -5
  55. package/dist/{get-evaluator-3FTRQKEC.js → get-evaluator-ADMKVWYZ.js} +5 -5
  56. package/dist/{get-project-5OAXYC57.js → get-project-RAK7URQJ.js} +5 -5
  57. package/dist/{get-prompt-I753LZKZ.js → get-prompt-OY5B7TRI.js} +4 -4
  58. package/dist/{get-scenario-DSSTR6FI.js → get-scenario-ZTAJJL5T.js} +5 -5
  59. package/dist/{get-simulation-run-RQPMS2MC.js → get-simulation-run-T2ZQWYH2.js} +5 -5
  60. package/dist/{get-suite-GTOCY5PL.js → get-suite-J7JVWO6O.js} +5 -5
  61. package/dist/{get-trace-O5VT3NAC.js → get-trace-K7U234Q4.js} +4 -4
  62. package/dist/{get-workflow-3EZDOEIF.js → get-workflow-L5L2PSK3.js} +5 -5
  63. package/dist/http-security-EU3CHTY7.js +26 -0
  64. package/dist/{http-server-2ACJ3CXW.js → http-server-YXHFPPGA.js} +1033 -693
  65. package/dist/index.js +3066 -2105
  66. package/dist/{langwatch-api-annotations-E65MI3WZ.js → langwatch-api-annotations-FDAS6NQ7.js} +5 -5
  67. package/dist/{langwatch-api-dashboards-QCDECRCY.js → langwatch-api-dashboards-JTVCS7ZJ.js} +5 -5
  68. package/dist/{langwatch-api-monitors-UIO2KTDV.js → langwatch-api-monitors-3J7UIQME.js} +4 -4
  69. package/dist/{langwatch-api-secrets-4T2EKSJ7.js → langwatch-api-secrets-BUBSNCNO.js} +4 -4
  70. package/dist/{langwatch-api-triggers-MPOEKPUY.js → langwatch-api-triggers-EDFUCJN6.js} +4 -4
  71. package/dist/langwatch-api-workflows-NBJX5KOG.js +16 -0
  72. package/dist/{list-agents-TIJTP566.js → list-agents-KFHKGPXV.js} +5 -5
  73. package/dist/{list-annotations-CGX5BT7E.js → list-annotations-ZTVP4EEL.js} +5 -5
  74. package/dist/{list-api-keys-JLWJPFRX.js → list-api-keys-CWD4UQT5.js} +5 -5
  75. package/dist/{list-dashboards-RNIWX3TX.js → list-dashboards-PWG6P6KR.js} +5 -5
  76. package/dist/{list-dataset-records-B5MHZR66.js → list-dataset-records-IOE7LQXS.js} +5 -5
  77. package/dist/{list-datasets-BVCAMQCP.js → list-datasets-ZT4JYUDT.js} +5 -5
  78. package/dist/{list-evaluators-65FBTL2U.js → list-evaluators-SJHC7VBH.js} +5 -5
  79. package/dist/{list-model-providers-GRK3I3VV.js → list-model-providers-PPD2WPD2.js} +5 -5
  80. package/dist/{list-projects-JLMBFMW3.js → list-projects-K7QAIX2I.js} +5 -5
  81. package/dist/{list-prompt-tags-UHNWDGQI.js → list-prompt-tags-FOO6TNHB.js} +4 -4
  82. package/dist/{list-prompts-7254B3U7.js → list-prompts-SC2HAUFG.js} +4 -4
  83. package/dist/{list-scenarios-46YNICKM.js → list-scenarios-F2WYNRIE.js} +5 -5
  84. package/dist/{list-simulation-runs-LGNEFNPN.js → list-simulation-runs-KF5THG5H.js} +5 -5
  85. package/dist/{list-suites-5VK4HXEK.js → list-suites-CRY4VWW6.js} +5 -5
  86. package/dist/{list-workflows-MLQDM6CP.js → list-workflows-QSJWURCK.js} +5 -5
  87. package/dist/{rename-prompt-tag-RHQMNEQL.js → rename-prompt-tag-EKWU5QF3.js} +4 -4
  88. package/dist/{report-issue-DXJ6TPTC.js → report-issue-XYVAPAYJ.js} +7 -7
  89. package/dist/{revoke-api-key-3Y35EMBT.js → revoke-api-key-FTRTZMOF.js} +5 -5
  90. package/dist/{run-agent-RBSIFKRT.js → run-agent-6SM4XNA7.js} +5 -5
  91. package/dist/{run-suite-K3DNQ3SE.js → run-suite-NKZCJ2IN.js} +5 -5
  92. package/dist/{run-workflow-5LVBZYLS.js → run-workflow-QPXC627O.js} +5 -5
  93. package/dist/{search-traces-U4HLOCZ2.js → search-traces-A6HFKPLJ.js} +4 -4
  94. package/dist/{set-model-provider-V3M5CDIY.js → set-model-provider-3WKT63ZN.js} +5 -5
  95. package/dist/{update-agent-47RZIHS7.js → update-agent-SMAEHLXH.js} +5 -5
  96. package/dist/{update-dataset-G6QJJGS5.js → update-dataset-BDUK7TUO.js} +5 -5
  97. package/dist/{update-dataset-record-RMWLSWCS.js → update-dataset-record-4ZSDRBSW.js} +5 -5
  98. package/dist/{update-evaluator-SFRRI5Q3.js → update-evaluator-LS6TIBY7.js} +5 -5
  99. package/dist/{update-project-PI5DWBVK.js → update-project-LKVYXENH.js} +5 -5
  100. package/dist/{update-prompt-RQFTEO7Y.js → update-prompt-ODCRQRN6.js} +4 -4
  101. package/dist/{update-scenario-G3IU2UIB.js → update-scenario-NEXCAQI7.js} +5 -5
  102. package/dist/{update-suite-TRGGLNR7.js → update-suite-SNO3GS7T.js} +5 -5
  103. package/package.json +3 -3
  104. package/pyproject.toml +1 -1
  105. package/src/__tests__/config.unit.test.ts +33 -0
  106. package/src/__tests__/docker.integration.test.ts +91 -7
  107. package/src/__tests__/documentation-fetch-security.integration.test.ts +8 -2
  108. package/src/__tests__/feature-map-tool-drift.unit.test.ts +93 -0
  109. package/src/__tests__/http-security-origin.unit.test.ts +97 -0
  110. package/src/__tests__/http-security-sessions.unit.test.ts +209 -0
  111. package/src/__tests__/http-security-verifier.unit.test.ts +248 -0
  112. package/src/__tests__/http-server-allocation.integration.test.ts +279 -0
  113. package/src/__tests__/http-server-origin.integration.test.ts +169 -0
  114. package/src/__tests__/http-server-session-auth.integration.test.ts +341 -0
  115. package/src/__tests__/http-transport.integration.test.ts +85 -87
  116. package/src/__tests__/support/http-server-harness.ts +138 -0
  117. package/src/config.ts +17 -2
  118. package/src/http-security.ts +492 -0
  119. package/src/http-server.ts +536 -152
  120. package/src/index.ts +49 -2
  121. package/src/tools/discover-evaluator-schema.ts +2 -2
  122. package/tsconfig.json +2 -2
  123. package/uv.lock +2 -2
  124. package/dist/langwatch-api-workflows-5HRZ7HR4.js +0 -16
  125. package/pnpm-workspace.yaml +0 -34
@@ -1,20 +1,33 @@
1
+ import {
2
+ DEFAULT_BIND_HOST,
3
+ admitOAuthToken,
4
+ apiKeysMatch,
5
+ createApiKeyVerifier,
6
+ createRateLimiter,
7
+ createSessionStore,
8
+ isOriginAllowed,
9
+ parseAllowedOrigins
10
+ } from "./chunk-UJPXFA26.js";
1
11
  import {
2
12
  createMcpServer
3
- } from "./chunk-VYPSKRPN.js";
4
- import "./chunk-5UWY24RP.js";
13
+ } from "./chunk-4QC7SA2L.js";
14
+ import "./chunk-A2LEVYQ5.js";
5
15
  import {
6
16
  getConfig,
7
17
  runWithConfig
8
- } from "./chunk-KOO5733S.js";
18
+ } from "./chunk-WT4PO4A3.js";
9
19
  import {
10
20
  __commonJS,
21
+ __esm,
22
+ __export,
11
23
  __require,
24
+ __toCommonJS,
12
25
  __toESM
13
- } from "./chunk-BJ7B4R26.js";
26
+ } from "./chunk-SAS5OB7F.js";
14
27
 
15
- // node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js
28
+ // ../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js
16
29
  var require_ms = __commonJS({
17
- "node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js"(exports, module) {
30
+ "../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js"(exports, module) {
18
31
  "use strict";
19
32
  var s = 1e3;
20
33
  var m = s * 60;
@@ -129,11 +142,11 @@ var require_ms = __commonJS({
129
142
  }
130
143
  });
131
144
 
132
- // node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/common.js
145
+ // ../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/common.js
133
146
  var require_common = __commonJS({
134
- "node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/common.js"(exports, module) {
147
+ "../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/common.js"(exports, module) {
135
148
  "use strict";
136
- function setup(env) {
149
+ function setup(env2) {
137
150
  createDebug.debug = createDebug;
138
151
  createDebug.default = createDebug;
139
152
  createDebug.coerce = coerce;
@@ -142,8 +155,8 @@ var require_common = __commonJS({
142
155
  createDebug.enabled = enabled;
143
156
  createDebug.humanize = require_ms();
144
157
  createDebug.destroy = destroy;
145
- Object.keys(env).forEach((key) => {
146
- createDebug[key] = env[key];
158
+ Object.keys(env2).forEach((key) => {
159
+ createDebug[key] = env2[key];
147
160
  });
148
161
  createDebug.names = [];
149
162
  createDebug.skips = [];
@@ -307,9 +320,9 @@ var require_common = __commonJS({
307
320
  }
308
321
  });
309
322
 
310
- // node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/browser.js
323
+ // ../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/browser.js
311
324
  var require_browser = __commonJS({
312
- "node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/browser.js"(exports, module) {
325
+ "../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/browser.js"(exports, module) {
313
326
  "use strict";
314
327
  exports.formatArgs = formatArgs;
315
328
  exports.save = save;
@@ -478,126 +491,161 @@ var require_browser = __commonJS({
478
491
  }
479
492
  });
480
493
 
481
- // node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js
482
- var require_has_flag = __commonJS({
483
- "node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js"(exports, module) {
484
- "use strict";
485
- module.exports = (flag, argv = process.argv) => {
486
- const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
487
- const position = argv.indexOf(prefix + flag);
488
- const terminatorPosition = argv.indexOf("--");
489
- return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
490
- };
491
- }
494
+ // ../../node_modules/.pnpm/supports-color@10.2.2/node_modules/supports-color/index.js
495
+ var supports_color_exports = {};
496
+ __export(supports_color_exports, {
497
+ createSupportsColor: () => createSupportsColor,
498
+ default: () => supports_color_default
492
499
  });
493
-
494
- // node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js
495
- var require_supports_color = __commonJS({
496
- "node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js"(exports, module) {
497
- "use strict";
498
- var os = __require("os");
499
- var tty = __require("tty");
500
- var hasFlag = require_has_flag();
501
- var { env } = process;
502
- var forceColor;
503
- if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
504
- forceColor = 0;
505
- } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
506
- forceColor = 1;
500
+ import process2 from "process";
501
+ import os from "os";
502
+ import tty from "tty";
503
+ function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
504
+ const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
505
+ const position = argv.indexOf(prefix + flag);
506
+ const terminatorPosition = argv.indexOf("--");
507
+ return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
508
+ }
509
+ function envForceColor() {
510
+ if (!("FORCE_COLOR" in env)) {
511
+ return;
512
+ }
513
+ if (env.FORCE_COLOR === "true") {
514
+ return 1;
515
+ }
516
+ if (env.FORCE_COLOR === "false") {
517
+ return 0;
518
+ }
519
+ if (env.FORCE_COLOR.length === 0) {
520
+ return 1;
521
+ }
522
+ const level = Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
523
+ if (![0, 1, 2, 3].includes(level)) {
524
+ return;
525
+ }
526
+ return level;
527
+ }
528
+ function translateLevel(level) {
529
+ if (level === 0) {
530
+ return false;
531
+ }
532
+ return {
533
+ level,
534
+ hasBasic: true,
535
+ has256: level >= 2,
536
+ has16m: level >= 3
537
+ };
538
+ }
539
+ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
540
+ const noFlagForceColor = envForceColor();
541
+ if (noFlagForceColor !== void 0) {
542
+ flagForceColor = noFlagForceColor;
543
+ }
544
+ const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
545
+ if (forceColor === 0) {
546
+ return 0;
547
+ }
548
+ if (sniffFlags) {
549
+ if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
550
+ return 3;
507
551
  }
508
- if ("FORCE_COLOR" in env) {
509
- if (env.FORCE_COLOR === "true") {
510
- forceColor = 1;
511
- } else if (env.FORCE_COLOR === "false") {
512
- forceColor = 0;
513
- } else {
514
- forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
515
- }
552
+ if (hasFlag("color=256")) {
553
+ return 2;
516
554
  }
517
- function translateLevel(level) {
518
- if (level === 0) {
519
- return false;
520
- }
521
- return {
522
- level,
523
- hasBasic: true,
524
- has256: level >= 2,
525
- has16m: level >= 3
526
- };
555
+ }
556
+ if ("TF_BUILD" in env && "AGENT_NAME" in env) {
557
+ return 1;
558
+ }
559
+ if (haveStream && !streamIsTTY && forceColor === void 0) {
560
+ return 0;
561
+ }
562
+ const min = forceColor || 0;
563
+ if (env.TERM === "dumb") {
564
+ return min;
565
+ }
566
+ if (process2.platform === "win32") {
567
+ const osRelease = os.release().split(".");
568
+ if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
569
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
527
570
  }
528
- function supportsColor(haveStream, streamIsTTY) {
529
- if (forceColor === 0) {
530
- return 0;
531
- }
532
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
533
- return 3;
534
- }
535
- if (hasFlag("color=256")) {
536
- return 2;
537
- }
538
- if (haveStream && !streamIsTTY && forceColor === void 0) {
539
- return 0;
540
- }
541
- const min = forceColor || 0;
542
- if (env.TERM === "dumb") {
543
- return min;
544
- }
545
- if (process.platform === "win32") {
546
- const osRelease = os.release().split(".");
547
- if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
548
- return Number(osRelease[2]) >= 14931 ? 3 : 2;
549
- }
550
- return 1;
551
- }
552
- if ("CI" in env) {
553
- if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
554
- return 1;
555
- }
556
- return min;
557
- }
558
- if ("TEAMCITY_VERSION" in env) {
559
- return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
560
- }
561
- if (env.COLORTERM === "truecolor") {
562
- return 3;
563
- }
564
- if ("TERM_PROGRAM" in env) {
565
- const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
566
- switch (env.TERM_PROGRAM) {
567
- case "iTerm.app":
568
- return version >= 3 ? 3 : 2;
569
- case "Apple_Terminal":
570
- return 2;
571
- }
571
+ return 1;
572
+ }
573
+ if ("CI" in env) {
574
+ if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => key in env)) {
575
+ return 3;
576
+ }
577
+ if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
578
+ return 1;
579
+ }
580
+ return min;
581
+ }
582
+ if ("TEAMCITY_VERSION" in env) {
583
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
584
+ }
585
+ if (env.COLORTERM === "truecolor") {
586
+ return 3;
587
+ }
588
+ if (env.TERM === "xterm-kitty") {
589
+ return 3;
590
+ }
591
+ if (env.TERM === "xterm-ghostty") {
592
+ return 3;
593
+ }
594
+ if (env.TERM === "wezterm") {
595
+ return 3;
596
+ }
597
+ if ("TERM_PROGRAM" in env) {
598
+ const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
599
+ switch (env.TERM_PROGRAM) {
600
+ case "iTerm.app": {
601
+ return version >= 3 ? 3 : 2;
572
602
  }
573
- if (/-256(color)?$/i.test(env.TERM)) {
603
+ case "Apple_Terminal": {
574
604
  return 2;
575
605
  }
576
- if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
577
- return 1;
578
- }
579
- if ("COLORTERM" in env) {
580
- return 1;
581
- }
582
- return min;
583
606
  }
584
- function getSupportLevel(stream) {
585
- const level = supportsColor(stream, stream && stream.isTTY);
586
- return translateLevel(level);
607
+ }
608
+ if (/-256(color)?$/i.test(env.TERM)) {
609
+ return 2;
610
+ }
611
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
612
+ return 1;
613
+ }
614
+ if ("COLORTERM" in env) {
615
+ return 1;
616
+ }
617
+ return min;
618
+ }
619
+ function createSupportsColor(stream, options = {}) {
620
+ const level = _supportsColor(stream, {
621
+ streamIsTTY: stream && stream.isTTY,
622
+ ...options
623
+ });
624
+ return translateLevel(level);
625
+ }
626
+ var env, flagForceColor, supportsColor, supports_color_default;
627
+ var init_supports_color = __esm({
628
+ "../../node_modules/.pnpm/supports-color@10.2.2/node_modules/supports-color/index.js"() {
629
+ "use strict";
630
+ ({ env } = process2);
631
+ if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
632
+ flagForceColor = 0;
633
+ } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
634
+ flagForceColor = 1;
587
635
  }
588
- module.exports = {
589
- supportsColor: getSupportLevel,
590
- stdout: translateLevel(supportsColor(true, tty.isatty(1))),
591
- stderr: translateLevel(supportsColor(true, tty.isatty(2)))
636
+ supportsColor = {
637
+ stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
638
+ stderr: createSupportsColor({ isTTY: tty.isatty(2) })
592
639
  };
640
+ supports_color_default = supportsColor;
593
641
  }
594
642
  });
595
643
 
596
- // node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/node.js
644
+ // ../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/node.js
597
645
  var require_node = __commonJS({
598
- "node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/node.js"(exports, module) {
646
+ "../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/node.js"(exports, module) {
599
647
  "use strict";
600
- var tty = __require("tty");
648
+ var tty2 = __require("tty");
601
649
  var util = __require("util");
602
650
  exports.init = init;
603
651
  exports.log = log;
@@ -612,8 +660,8 @@ var require_node = __commonJS({
612
660
  );
613
661
  exports.colors = [6, 2, 3, 4, 5, 1];
614
662
  try {
615
- const supportsColor = require_supports_color();
616
- if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
663
+ const supportsColor2 = (init_supports_color(), __toCommonJS(supports_color_exports));
664
+ if (supportsColor2 && (supportsColor2.stderr || supportsColor2).level >= 2) {
617
665
  exports.colors = [
618
666
  20,
619
667
  21,
@@ -715,7 +763,7 @@ var require_node = __commonJS({
715
763
  return obj;
716
764
  }, {});
717
765
  function useColors() {
718
- return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty.isatty(process.stderr.fd);
766
+ return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty2.isatty(process.stderr.fd);
719
767
  }
720
768
  function formatArgs(args) {
721
769
  const { namespace: name, useColors: useColors2 } = this;
@@ -768,9 +816,9 @@ var require_node = __commonJS({
768
816
  }
769
817
  });
770
818
 
771
- // node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/index.js
819
+ // ../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/index.js
772
820
  var require_src = __commonJS({
773
- "node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/index.js"(exports, module) {
821
+ "../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/index.js"(exports, module) {
774
822
  "use strict";
775
823
  if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
776
824
  module.exports = require_browser();
@@ -780,9 +828,9 @@ var require_src = __commonJS({
780
828
  }
781
829
  });
782
830
 
783
- // node_modules/.pnpm/depd@2.0.0/node_modules/depd/index.js
831
+ // ../../node_modules/.pnpm/depd@2.0.0/node_modules/depd/index.js
784
832
  var require_depd = __commonJS({
785
- "node_modules/.pnpm/depd@2.0.0/node_modules/depd/index.js"(exports, module) {
833
+ "../../node_modules/.pnpm/depd@2.0.0/node_modules/depd/index.js"(exports, module) {
786
834
  "use strict";
787
835
  var relative = __require("path").relative;
788
836
  module.exports = depd;
@@ -1087,9 +1135,9 @@ var require_depd = __commonJS({
1087
1135
  }
1088
1136
  });
1089
1137
 
1090
- // node_modules/.pnpm/setprototypeof@1.2.0/node_modules/setprototypeof/index.js
1138
+ // ../../node_modules/.pnpm/setprototypeof@1.2.0/node_modules/setprototypeof/index.js
1091
1139
  var require_setprototypeof = __commonJS({
1092
- "node_modules/.pnpm/setprototypeof@1.2.0/node_modules/setprototypeof/index.js"(exports, module) {
1140
+ "../../node_modules/.pnpm/setprototypeof@1.2.0/node_modules/setprototypeof/index.js"(exports, module) {
1093
1141
  "use strict";
1094
1142
  module.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties);
1095
1143
  function setProtoOf(obj, proto) {
@@ -1107,9 +1155,9 @@ var require_setprototypeof = __commonJS({
1107
1155
  }
1108
1156
  });
1109
1157
 
1110
- // node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/codes.json
1158
+ // ../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/codes.json
1111
1159
  var require_codes = __commonJS({
1112
- "node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/codes.json"(exports, module) {
1160
+ "../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/codes.json"(exports, module) {
1113
1161
  module.exports = {
1114
1162
  "100": "Continue",
1115
1163
  "101": "Switching Protocols",
@@ -1178,9 +1226,9 @@ var require_codes = __commonJS({
1178
1226
  }
1179
1227
  });
1180
1228
 
1181
- // node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/index.js
1229
+ // ../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/index.js
1182
1230
  var require_statuses = __commonJS({
1183
- "node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/index.js"(exports, module) {
1231
+ "../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/index.js"(exports, module) {
1184
1232
  "use strict";
1185
1233
  var codes = require_codes();
1186
1234
  module.exports = status;
@@ -1249,9 +1297,9 @@ var require_statuses = __commonJS({
1249
1297
  }
1250
1298
  });
1251
1299
 
1252
- // node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js
1300
+ // ../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js
1253
1301
  var require_inherits_browser = __commonJS({
1254
- "node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js"(exports, module) {
1302
+ "../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js"(exports, module) {
1255
1303
  "use strict";
1256
1304
  if (typeof Object.create === "function") {
1257
1305
  module.exports = function inherits(ctor, superCtor) {
@@ -1282,9 +1330,9 @@ var require_inherits_browser = __commonJS({
1282
1330
  }
1283
1331
  });
1284
1332
 
1285
- // node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js
1333
+ // ../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js
1286
1334
  var require_inherits = __commonJS({
1287
- "node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js"(exports, module) {
1335
+ "../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js"(exports, module) {
1288
1336
  "use strict";
1289
1337
  try {
1290
1338
  util = __require("util");
@@ -1297,9 +1345,9 @@ var require_inherits = __commonJS({
1297
1345
  }
1298
1346
  });
1299
1347
 
1300
- // node_modules/.pnpm/toidentifier@1.0.1/node_modules/toidentifier/index.js
1348
+ // ../../node_modules/.pnpm/toidentifier@1.0.1/node_modules/toidentifier/index.js
1301
1349
  var require_toidentifier = __commonJS({
1302
- "node_modules/.pnpm/toidentifier@1.0.1/node_modules/toidentifier/index.js"(exports, module) {
1350
+ "../../node_modules/.pnpm/toidentifier@1.0.1/node_modules/toidentifier/index.js"(exports, module) {
1303
1351
  "use strict";
1304
1352
  module.exports = toIdentifier;
1305
1353
  function toIdentifier(str) {
@@ -1310,9 +1358,9 @@ var require_toidentifier = __commonJS({
1310
1358
  }
1311
1359
  });
1312
1360
 
1313
- // node_modules/.pnpm/http-errors@2.0.1/node_modules/http-errors/index.js
1361
+ // ../../node_modules/.pnpm/http-errors@2.0.1/node_modules/http-errors/index.js
1314
1362
  var require_http_errors = __commonJS({
1315
- "node_modules/.pnpm/http-errors@2.0.1/node_modules/http-errors/index.js"(exports, module) {
1363
+ "../../node_modules/.pnpm/http-errors@2.0.1/node_modules/http-errors/index.js"(exports, module) {
1316
1364
  "use strict";
1317
1365
  var deprecate = require_depd()("http-errors");
1318
1366
  var setPrototypeOf = require_setprototypeof();
@@ -1474,9 +1522,9 @@ var require_http_errors = __commonJS({
1474
1522
  }
1475
1523
  });
1476
1524
 
1477
- // node_modules/.pnpm/bytes@3.1.2/node_modules/bytes/index.js
1525
+ // ../../node_modules/.pnpm/bytes@3.1.2/node_modules/bytes/index.js
1478
1526
  var require_bytes = __commonJS({
1479
- "node_modules/.pnpm/bytes@3.1.2/node_modules/bytes/index.js"(exports, module) {
1527
+ "../../node_modules/.pnpm/bytes@3.1.2/node_modules/bytes/index.js"(exports, module) {
1480
1528
  "use strict";
1481
1529
  module.exports = bytes;
1482
1530
  module.exports.format = format;
@@ -1563,9 +1611,9 @@ var require_bytes = __commonJS({
1563
1611
  }
1564
1612
  });
1565
1613
 
1566
- // node_modules/.pnpm/safer-buffer@2.1.2/node_modules/safer-buffer/safer.js
1614
+ // ../../node_modules/.pnpm/safer-buffer@2.1.2/node_modules/safer-buffer/safer.js
1567
1615
  var require_safer = __commonJS({
1568
- "node_modules/.pnpm/safer-buffer@2.1.2/node_modules/safer-buffer/safer.js"(exports, module) {
1616
+ "../../node_modules/.pnpm/safer-buffer@2.1.2/node_modules/safer-buffer/safer.js"(exports, module) {
1569
1617
  "use strict";
1570
1618
  var buffer = __require("buffer");
1571
1619
  var Buffer2 = buffer.Buffer;
@@ -1631,9 +1679,9 @@ var require_safer = __commonJS({
1631
1679
  }
1632
1680
  });
1633
1681
 
1634
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/bom-handling.js
1682
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/bom-handling.js
1635
1683
  var require_bom_handling = __commonJS({
1636
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/bom-handling.js"(exports) {
1684
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/bom-handling.js"(exports) {
1637
1685
  "use strict";
1638
1686
  var BOMChar = "\uFEFF";
1639
1687
  exports.PrependBOM = PrependBOMWrapper;
@@ -1677,9 +1725,9 @@ var require_bom_handling = __commonJS({
1677
1725
  }
1678
1726
  });
1679
1727
 
1680
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/helpers/merge-exports.js
1728
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/helpers/merge-exports.js
1681
1729
  var require_merge_exports = __commonJS({
1682
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/helpers/merge-exports.js"(exports, module) {
1730
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/helpers/merge-exports.js"(exports, module) {
1683
1731
  "use strict";
1684
1732
  var hasOwn = typeof Object.hasOwn === "undefined" ? Function.call.bind(Object.prototype.hasOwnProperty) : Object.hasOwn;
1685
1733
  function mergeModules(target, module2) {
@@ -1693,9 +1741,9 @@ var require_merge_exports = __commonJS({
1693
1741
  }
1694
1742
  });
1695
1743
 
1696
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/internal.js
1744
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/internal.js
1697
1745
  var require_internal = __commonJS({
1698
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/internal.js"(exports, module) {
1746
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/internal.js"(exports, module) {
1699
1747
  "use strict";
1700
1748
  var Buffer2 = require_safer().Buffer;
1701
1749
  module.exports = {
@@ -1874,9 +1922,9 @@ var require_internal = __commonJS({
1874
1922
  }
1875
1923
  });
1876
1924
 
1877
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf32.js
1925
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf32.js
1878
1926
  var require_utf32 = __commonJS({
1879
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf32.js"(exports) {
1927
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf32.js"(exports) {
1880
1928
  "use strict";
1881
1929
  var Buffer2 = require_safer().Buffer;
1882
1930
  exports._utf32 = Utf32Codec;
@@ -2105,9 +2153,9 @@ var require_utf32 = __commonJS({
2105
2153
  }
2106
2154
  });
2107
2155
 
2108
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf16.js
2156
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf16.js
2109
2157
  var require_utf16 = __commonJS({
2110
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf16.js"(exports) {
2158
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf16.js"(exports) {
2111
2159
  "use strict";
2112
2160
  var Buffer2 = require_safer().Buffer;
2113
2161
  exports.utf16be = Utf16BECodec;
@@ -2248,9 +2296,9 @@ var require_utf16 = __commonJS({
2248
2296
  }
2249
2297
  });
2250
2298
 
2251
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf7.js
2299
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf7.js
2252
2300
  var require_utf7 = __commonJS({
2253
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf7.js"(exports) {
2301
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf7.js"(exports) {
2254
2302
  "use strict";
2255
2303
  var Buffer2 = require_safer().Buffer;
2256
2304
  exports.utf7 = Utf7Codec;
@@ -2466,9 +2514,9 @@ var require_utf7 = __commonJS({
2466
2514
  }
2467
2515
  });
2468
2516
 
2469
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-codec.js
2517
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-codec.js
2470
2518
  var require_sbcs_codec = __commonJS({
2471
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-codec.js"(exports) {
2519
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-codec.js"(exports) {
2472
2520
  "use strict";
2473
2521
  var Buffer2 = require_safer().Buffer;
2474
2522
  exports._sbcs = SBCSCodec;
@@ -2528,9 +2576,9 @@ var require_sbcs_codec = __commonJS({
2528
2576
  }
2529
2577
  });
2530
2578
 
2531
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-data.js
2579
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-data.js
2532
2580
  var require_sbcs_data = __commonJS({
2533
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-data.js"(exports, module) {
2581
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-data.js"(exports, module) {
2534
2582
  "use strict";
2535
2583
  module.exports = {
2536
2584
  // Not supported by iconv, not sure why.
@@ -2681,9 +2729,9 @@ var require_sbcs_data = __commonJS({
2681
2729
  }
2682
2730
  });
2683
2731
 
2684
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-data-generated.js
2732
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-data-generated.js
2685
2733
  var require_sbcs_data_generated = __commonJS({
2686
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports, module) {
2734
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports, module) {
2687
2735
  "use strict";
2688
2736
  module.exports = {
2689
2737
  "437": "cp437",
@@ -3136,9 +3184,9 @@ var require_sbcs_data_generated = __commonJS({
3136
3184
  }
3137
3185
  });
3138
3186
 
3139
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-codec.js
3187
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-codec.js
3140
3188
  var require_dbcs_codec = __commonJS({
3141
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-codec.js"(exports) {
3189
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-codec.js"(exports) {
3142
3190
  "use strict";
3143
3191
  var Buffer2 = require_safer().Buffer;
3144
3192
  exports._dbcs = DBCSCodec;
@@ -3596,9 +3644,9 @@ var require_dbcs_codec = __commonJS({
3596
3644
  }
3597
3645
  });
3598
3646
 
3599
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/shiftjis.json
3647
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/shiftjis.json
3600
3648
  var require_shiftjis = __commonJS({
3601
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports, module) {
3649
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports, module) {
3602
3650
  module.exports = [
3603
3651
  ["0", "\0", 128],
3604
3652
  ["a1", "\uFF61", 62],
@@ -3727,9 +3775,9 @@ var require_shiftjis = __commonJS({
3727
3775
  }
3728
3776
  });
3729
3777
 
3730
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/eucjp.json
3778
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/eucjp.json
3731
3779
  var require_eucjp = __commonJS({
3732
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/eucjp.json"(exports, module) {
3780
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/eucjp.json"(exports, module) {
3733
3781
  module.exports = [
3734
3782
  ["0", "\0", 127],
3735
3783
  ["8ea1", "\uFF61", 62],
@@ -3915,9 +3963,9 @@ var require_eucjp = __commonJS({
3915
3963
  }
3916
3964
  });
3917
3965
 
3918
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp936.json
3966
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp936.json
3919
3967
  var require_cp936 = __commonJS({
3920
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp936.json"(exports, module) {
3968
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp936.json"(exports, module) {
3921
3969
  module.exports = [
3922
3970
  ["0", "\0", 127, "\u20AC"],
3923
3971
  ["8140", "\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A", 5, "\u4E72\u4E74", 9, "\u4E7F", 6, "\u4E87\u4E8A"],
@@ -4185,9 +4233,9 @@ var require_cp936 = __commonJS({
4185
4233
  }
4186
4234
  });
4187
4235
 
4188
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/gbk-added.json
4236
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/gbk-added.json
4189
4237
  var require_gbk_added = __commonJS({
4190
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports, module) {
4238
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports, module) {
4191
4239
  module.exports = [
4192
4240
  ["a140", "\uE4C6", 62],
4193
4241
  ["a180", "\uE505", 32],
@@ -4247,16 +4295,16 @@ var require_gbk_added = __commonJS({
4247
4295
  }
4248
4296
  });
4249
4297
 
4250
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json
4298
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json
4251
4299
  var require_gb18030_ranges = __commonJS({
4252
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports, module) {
4300
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports, module) {
4253
4301
  module.exports = { uChars: [128, 165, 169, 178, 184, 216, 226, 235, 238, 244, 248, 251, 253, 258, 276, 284, 300, 325, 329, 334, 364, 463, 465, 467, 469, 471, 473, 475, 477, 506, 594, 610, 712, 716, 730, 930, 938, 962, 970, 1026, 1104, 1106, 8209, 8215, 8218, 8222, 8231, 8241, 8244, 8246, 8252, 8365, 8452, 8454, 8458, 8471, 8482, 8556, 8570, 8596, 8602, 8713, 8720, 8722, 8726, 8731, 8737, 8740, 8742, 8748, 8751, 8760, 8766, 8777, 8781, 8787, 8802, 8808, 8816, 8854, 8858, 8870, 8896, 8979, 9322, 9372, 9548, 9588, 9616, 9622, 9634, 9652, 9662, 9672, 9676, 9680, 9702, 9735, 9738, 9793, 9795, 11906, 11909, 11913, 11917, 11928, 11944, 11947, 11951, 11956, 11960, 11964, 11979, 12284, 12292, 12312, 12319, 12330, 12351, 12436, 12447, 12535, 12543, 12586, 12842, 12850, 12964, 13200, 13215, 13218, 13253, 13263, 13267, 13270, 13384, 13428, 13727, 13839, 13851, 14617, 14703, 14801, 14816, 14964, 15183, 15471, 15585, 16471, 16736, 17208, 17325, 17330, 17374, 17623, 17997, 18018, 18212, 18218, 18301, 18318, 18760, 18811, 18814, 18820, 18823, 18844, 18848, 18872, 19576, 19620, 19738, 19887, 40870, 59244, 59336, 59367, 59413, 59417, 59423, 59431, 59437, 59443, 59452, 59460, 59478, 59493, 63789, 63866, 63894, 63976, 63986, 64016, 64018, 64021, 64025, 64034, 64037, 64042, 65074, 65093, 65107, 65112, 65127, 65132, 65375, 65510, 65536], gbChars: [0, 36, 38, 45, 50, 81, 89, 95, 96, 100, 103, 104, 105, 109, 126, 133, 148, 172, 175, 179, 208, 306, 307, 308, 309, 310, 311, 312, 313, 341, 428, 443, 544, 545, 558, 741, 742, 749, 750, 805, 819, 820, 7922, 7924, 7925, 7927, 7934, 7943, 7944, 7945, 7950, 8062, 8148, 8149, 8152, 8164, 8174, 8236, 8240, 8262, 8264, 8374, 8380, 8381, 8384, 8388, 8390, 8392, 8393, 8394, 8396, 8401, 8406, 8416, 8419, 8424, 8437, 8439, 8445, 8482, 8485, 8496, 8521, 8603, 8936, 8946, 9046, 9050, 9063, 9066, 9076, 9092, 9100, 9108, 9111, 9113, 9131, 9162, 9164, 9218, 9219, 11329, 11331, 11334, 11336, 11346, 11361, 11363, 11366, 11370, 11372, 11375, 11389, 11682, 11686, 11687, 11692, 11694, 11714, 11716, 11723, 11725, 11730, 11736, 11982, 11989, 12102, 12336, 12348, 12350, 12384, 12393, 12395, 12397, 12510, 12553, 12851, 12962, 12973, 13738, 13823, 13919, 13933, 14080, 14298, 14585, 14698, 15583, 15847, 16318, 16434, 16438, 16481, 16729, 17102, 17122, 17315, 17320, 17402, 17418, 17859, 17909, 17911, 17915, 17916, 17936, 17939, 17961, 18664, 18703, 18814, 18962, 19043, 33469, 33470, 33471, 33484, 33485, 33490, 33497, 33501, 33505, 33513, 33520, 33536, 33550, 37845, 37921, 37948, 38029, 38038, 38064, 38065, 38066, 38069, 38075, 38076, 38078, 39108, 39109, 39113, 39114, 39115, 39116, 39265, 39394, 189e3] };
4254
4302
  }
4255
4303
  });
4256
4304
 
4257
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp949.json
4305
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp949.json
4258
4306
  var require_cp949 = __commonJS({
4259
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp949.json"(exports, module) {
4307
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp949.json"(exports, module) {
4260
4308
  module.exports = [
4261
4309
  ["0", "\0", 127],
4262
4310
  ["8141", "\uAC02\uAC03\uAC05\uAC06\uAC0B", 4, "\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25", 6, "\uAC2E\uAC32\uAC33\uAC34"],
@@ -4533,9 +4581,9 @@ var require_cp949 = __commonJS({
4533
4581
  }
4534
4582
  });
4535
4583
 
4536
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp950.json
4584
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp950.json
4537
4585
  var require_cp950 = __commonJS({
4538
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp950.json"(exports, module) {
4586
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp950.json"(exports, module) {
4539
4587
  module.exports = [
4540
4588
  ["0", "\0", 127],
4541
4589
  ["a140", "\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"],
@@ -4716,9 +4764,9 @@ var require_cp950 = __commonJS({
4716
4764
  }
4717
4765
  });
4718
4766
 
4719
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/big5-added.json
4767
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/big5-added.json
4720
4768
  var require_big5_added = __commonJS({
4721
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/big5-added.json"(exports, module) {
4769
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/big5-added.json"(exports, module) {
4722
4770
  module.exports = [
4723
4771
  ["8740", "\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"],
4724
4772
  ["8767", "\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"],
@@ -4844,9 +4892,9 @@ var require_big5_added = __commonJS({
4844
4892
  }
4845
4893
  });
4846
4894
 
4847
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-data.js
4895
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-data.js
4848
4896
  var require_dbcs_data = __commonJS({
4849
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-data.js"(exports, module) {
4897
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-data.js"(exports, module) {
4850
4898
  "use strict";
4851
4899
  module.exports = {
4852
4900
  // == Japanese/ShiftJIS ====================================================
@@ -5091,9 +5139,9 @@ var require_dbcs_data = __commonJS({
5091
5139
  }
5092
5140
  });
5093
5141
 
5094
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/index.js
5142
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/index.js
5095
5143
  var require_encodings = __commonJS({
5096
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/index.js"(exports, module) {
5144
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/index.js"(exports, module) {
5097
5145
  "use strict";
5098
5146
  var mergeModules = require_merge_exports();
5099
5147
  var modules = [
@@ -5116,9 +5164,9 @@ var require_encodings = __commonJS({
5116
5164
  }
5117
5165
  });
5118
5166
 
5119
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/streams.js
5167
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/streams.js
5120
5168
  var require_streams = __commonJS({
5121
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/streams.js"(exports, module) {
5169
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/streams.js"(exports, module) {
5122
5170
  "use strict";
5123
5171
  var Buffer2 = require_safer().Buffer;
5124
5172
  module.exports = function(streamModule) {
@@ -5213,9 +5261,9 @@ var require_streams = __commonJS({
5213
5261
  }
5214
5262
  });
5215
5263
 
5216
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/index.js
5264
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/index.js
5217
5265
  var require_lib = __commonJS({
5218
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/index.js"(exports, module) {
5266
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/index.js"(exports, module) {
5219
5267
  "use strict";
5220
5268
  var Buffer2 = require_safer().Buffer;
5221
5269
  var bomHandling = require_bom_handling();
@@ -5345,9 +5393,9 @@ var require_lib = __commonJS({
5345
5393
  }
5346
5394
  });
5347
5395
 
5348
- // node_modules/.pnpm/unpipe@1.0.0/node_modules/unpipe/index.js
5396
+ // ../../node_modules/.pnpm/unpipe@1.0.0/node_modules/unpipe/index.js
5349
5397
  var require_unpipe = __commonJS({
5350
- "node_modules/.pnpm/unpipe@1.0.0/node_modules/unpipe/index.js"(exports, module) {
5398
+ "../../node_modules/.pnpm/unpipe@1.0.0/node_modules/unpipe/index.js"(exports, module) {
5351
5399
  "use strict";
5352
5400
  module.exports = unpipe;
5353
5401
  function hasPipeDataListeners(stream) {
@@ -5383,9 +5431,9 @@ var require_unpipe = __commonJS({
5383
5431
  }
5384
5432
  });
5385
5433
 
5386
- // node_modules/.pnpm/raw-body@3.0.2/node_modules/raw-body/index.js
5434
+ // ../../node_modules/.pnpm/raw-body@3.0.2/node_modules/raw-body/index.js
5387
5435
  var require_raw_body = __commonJS({
5388
- "node_modules/.pnpm/raw-body@3.0.2/node_modules/raw-body/index.js"(exports, module) {
5436
+ "../../node_modules/.pnpm/raw-body@3.0.2/node_modules/raw-body/index.js"(exports, module) {
5389
5437
  "use strict";
5390
5438
  var asyncHooks = tryRequireAsyncHooks();
5391
5439
  var bytes = require_bytes();
@@ -5572,9 +5620,9 @@ var require_raw_body = __commonJS({
5572
5620
  }
5573
5621
  });
5574
5622
 
5575
- // node_modules/.pnpm/ee-first@1.1.1/node_modules/ee-first/index.js
5623
+ // ../../node_modules/.pnpm/ee-first@1.1.1/node_modules/ee-first/index.js
5576
5624
  var require_ee_first = __commonJS({
5577
- "node_modules/.pnpm/ee-first@1.1.1/node_modules/ee-first/index.js"(exports, module) {
5625
+ "../../node_modules/.pnpm/ee-first@1.1.1/node_modules/ee-first/index.js"(exports, module) {
5578
5626
  "use strict";
5579
5627
  module.exports = first;
5580
5628
  function first(stuff, done) {
@@ -5628,9 +5676,9 @@ var require_ee_first = __commonJS({
5628
5676
  }
5629
5677
  });
5630
5678
 
5631
- // node_modules/.pnpm/on-finished@2.4.1/node_modules/on-finished/index.js
5679
+ // ../../node_modules/.pnpm/on-finished@2.4.1/node_modules/on-finished/index.js
5632
5680
  var require_on_finished = __commonJS({
5633
- "node_modules/.pnpm/on-finished@2.4.1/node_modules/on-finished/index.js"(exports, module) {
5681
+ "../../node_modules/.pnpm/on-finished@2.4.1/node_modules/on-finished/index.js"(exports, module) {
5634
5682
  "use strict";
5635
5683
  module.exports = onFinished;
5636
5684
  module.exports.isFinished = isFinished;
@@ -5732,9 +5780,9 @@ var require_on_finished = __commonJS({
5732
5780
  }
5733
5781
  });
5734
5782
 
5735
- // node_modules/.pnpm/content-type@2.0.0/node_modules/content-type/dist/index.js
5783
+ // ../../node_modules/.pnpm/content-type@2.0.0/node_modules/content-type/dist/index.js
5736
5784
  var require_dist = __commonJS({
5737
- "node_modules/.pnpm/content-type@2.0.0/node_modules/content-type/dist/index.js"(exports) {
5785
+ "../../node_modules/.pnpm/content-type@2.0.0/node_modules/content-type/dist/index.js"(exports) {
5738
5786
  "use strict";
5739
5787
  Object.defineProperty(exports, "__esModule", { value: true });
5740
5788
  exports.format = format;
@@ -5863,9 +5911,9 @@ var require_dist = __commonJS({
5863
5911
  }
5864
5912
  });
5865
5913
 
5866
- // node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/db.json
5914
+ // ../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/db.json
5867
5915
  var require_db = __commonJS({
5868
- "node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/db.json"(exports, module) {
5916
+ "../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/db.json"(exports, module) {
5869
5917
  module.exports = {
5870
5918
  "application/1d-interleaved-parityfec": {
5871
5919
  source: "iana"
@@ -15211,17 +15259,17 @@ var require_db = __commonJS({
15211
15259
  }
15212
15260
  });
15213
15261
 
15214
- // node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/index.js
15262
+ // ../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/index.js
15215
15263
  var require_mime_db = __commonJS({
15216
- "node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/index.js"(exports, module) {
15264
+ "../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/index.js"(exports, module) {
15217
15265
  "use strict";
15218
15266
  module.exports = require_db();
15219
15267
  }
15220
15268
  });
15221
15269
 
15222
- // node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/mimeScore.js
15270
+ // ../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/mimeScore.js
15223
15271
  var require_mimeScore = __commonJS({
15224
- "node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/mimeScore.js"(exports, module) {
15272
+ "../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/mimeScore.js"(exports, module) {
15225
15273
  "use strict";
15226
15274
  var FACET_SCORES = {
15227
15275
  "prs.": 100,
@@ -15264,9 +15312,9 @@ var require_mimeScore = __commonJS({
15264
15312
  }
15265
15313
  });
15266
15314
 
15267
- // node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/index.js
15315
+ // ../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/index.js
15268
15316
  var require_mime_types = __commonJS({
15269
- "node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/index.js"(exports) {
15317
+ "../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/index.js"(exports) {
15270
15318
  "use strict";
15271
15319
  var db = require_mime_db();
15272
15320
  var extname = __require("path").extname;
@@ -15370,9 +15418,9 @@ var require_mime_types = __commonJS({
15370
15418
  }
15371
15419
  });
15372
15420
 
15373
- // node_modules/.pnpm/media-typer@1.1.0/node_modules/media-typer/index.js
15421
+ // ../../node_modules/.pnpm/media-typer@1.1.0/node_modules/media-typer/index.js
15374
15422
  var require_media_typer = __commonJS({
15375
- "node_modules/.pnpm/media-typer@1.1.0/node_modules/media-typer/index.js"(exports) {
15423
+ "../../node_modules/.pnpm/media-typer@1.1.0/node_modules/media-typer/index.js"(exports) {
15376
15424
  "use strict";
15377
15425
  var SUBTYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/;
15378
15426
  var TYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/;
@@ -15440,9 +15488,9 @@ var require_media_typer = __commonJS({
15440
15488
  }
15441
15489
  });
15442
15490
 
15443
- // node_modules/.pnpm/type-is@2.1.0/node_modules/type-is/index.js
15491
+ // ../../node_modules/.pnpm/type-is@2.1.0/node_modules/type-is/index.js
15444
15492
  var require_type_is = __commonJS({
15445
- "node_modules/.pnpm/type-is@2.1.0/node_modules/type-is/index.js"(exports, module) {
15493
+ "../../node_modules/.pnpm/type-is@2.1.0/node_modules/type-is/index.js"(exports, module) {
15446
15494
  "use strict";
15447
15495
  var contentType = require_dist();
15448
15496
  var mime = require_mime_types();
@@ -15531,116 +15579,12 @@ var require_type_is = __commonJS({
15531
15579
  }
15532
15580
  });
15533
15581
 
15534
- // node_modules/.pnpm/content-type@1.0.5/node_modules/content-type/index.js
15535
- var require_content_type = __commonJS({
15536
- "node_modules/.pnpm/content-type@1.0.5/node_modules/content-type/index.js"(exports) {
15537
- "use strict";
15538
- var PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g;
15539
- var TEXT_REGEXP = /^[\u000b\u0020-\u007e\u0080-\u00ff]+$/;
15540
- var TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
15541
- var QESC_REGEXP = /\\([\u000b\u0020-\u00ff])/g;
15542
- var QUOTE_REGEXP = /([\\"])/g;
15543
- var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
15544
- exports.format = format;
15545
- exports.parse = parse;
15546
- function format(obj) {
15547
- if (!obj || typeof obj !== "object") {
15548
- throw new TypeError("argument obj is required");
15549
- }
15550
- var parameters = obj.parameters;
15551
- var type = obj.type;
15552
- if (!type || !TYPE_REGEXP.test(type)) {
15553
- throw new TypeError("invalid type");
15554
- }
15555
- var string = type;
15556
- if (parameters && typeof parameters === "object") {
15557
- var param;
15558
- var params = Object.keys(parameters).sort();
15559
- for (var i = 0; i < params.length; i++) {
15560
- param = params[i];
15561
- if (!TOKEN_REGEXP.test(param)) {
15562
- throw new TypeError("invalid parameter name");
15563
- }
15564
- string += "; " + param + "=" + qstring(parameters[param]);
15565
- }
15566
- }
15567
- return string;
15568
- }
15569
- function parse(string) {
15570
- if (!string) {
15571
- throw new TypeError("argument string is required");
15572
- }
15573
- var header = typeof string === "object" ? getcontenttype(string) : string;
15574
- if (typeof header !== "string") {
15575
- throw new TypeError("argument string is required to be a string");
15576
- }
15577
- var index = header.indexOf(";");
15578
- var type = index !== -1 ? header.slice(0, index).trim() : header.trim();
15579
- if (!TYPE_REGEXP.test(type)) {
15580
- throw new TypeError("invalid media type");
15581
- }
15582
- var obj = new ContentType(type.toLowerCase());
15583
- if (index !== -1) {
15584
- var key;
15585
- var match;
15586
- var value;
15587
- PARAM_REGEXP.lastIndex = index;
15588
- while (match = PARAM_REGEXP.exec(header)) {
15589
- if (match.index !== index) {
15590
- throw new TypeError("invalid parameter format");
15591
- }
15592
- index += match[0].length;
15593
- key = match[1].toLowerCase();
15594
- value = match[2];
15595
- if (value.charCodeAt(0) === 34) {
15596
- value = value.slice(1, -1);
15597
- if (value.indexOf("\\") !== -1) {
15598
- value = value.replace(QESC_REGEXP, "$1");
15599
- }
15600
- }
15601
- obj.parameters[key] = value;
15602
- }
15603
- if (index !== header.length) {
15604
- throw new TypeError("invalid parameter format");
15605
- }
15606
- }
15607
- return obj;
15608
- }
15609
- function getcontenttype(obj) {
15610
- var header;
15611
- if (typeof obj.getHeader === "function") {
15612
- header = obj.getHeader("content-type");
15613
- } else if (typeof obj.headers === "object") {
15614
- header = obj.headers && obj.headers["content-type"];
15615
- }
15616
- if (typeof header !== "string") {
15617
- throw new TypeError("content-type header is missing from object");
15618
- }
15619
- return header;
15620
- }
15621
- function qstring(val) {
15622
- var str = String(val);
15623
- if (TOKEN_REGEXP.test(str)) {
15624
- return str;
15625
- }
15626
- if (str.length > 0 && !TEXT_REGEXP.test(str)) {
15627
- throw new TypeError("invalid parameter value");
15628
- }
15629
- return '"' + str.replace(QUOTE_REGEXP, "\\$1") + '"';
15630
- }
15631
- function ContentType(type) {
15632
- this.parameters = /* @__PURE__ */ Object.create(null);
15633
- this.type = type;
15634
- }
15635
- }
15636
- });
15637
-
15638
- // node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/utils.js
15582
+ // ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/utils.js
15639
15583
  var require_utils = __commonJS({
15640
- "node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/utils.js"(exports, module) {
15584
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/utils.js"(exports, module) {
15641
15585
  "use strict";
15642
15586
  var bytes = require_bytes();
15643
- var contentType = require_content_type();
15587
+ var contentType = require_dist();
15644
15588
  var typeis = require_type_is();
15645
15589
  module.exports = {
15646
15590
  getCharset,
@@ -15648,11 +15592,9 @@ var require_utils = __commonJS({
15648
15592
  passthrough
15649
15593
  };
15650
15594
  function getCharset(req) {
15651
- try {
15652
- return (contentType.parse(req).parameters.charset || "").toLowerCase();
15653
- } catch {
15654
- return void 0;
15655
- }
15595
+ const header = req.headers["content-type"];
15596
+ if (!header) return void 0;
15597
+ return contentType.parse(header).parameters.charset?.toLowerCase();
15656
15598
  }
15657
15599
  function typeChecker(type) {
15658
15600
  return function checkType(req) {
@@ -15663,15 +15605,18 @@ var require_utils = __commonJS({
15663
15605
  if (!defaultType) {
15664
15606
  throw new TypeError("defaultType must be provided");
15665
15607
  }
15666
- var inflate = options?.inflate !== false;
15667
- var limit = typeof options?.limit !== "number" ? bytes.parse(options?.limit || "100kb") : options?.limit;
15668
- var type = options?.type || defaultType;
15669
- var verify = options?.verify || false;
15670
- var defaultCharset = options?.defaultCharset || "utf-8";
15608
+ const inflate = options?.inflate !== false;
15609
+ const limit = typeof options?.limit === "undefined" || options?.limit === null ? 102400 : bytes.parse(options.limit);
15610
+ const type = options?.type || defaultType;
15611
+ const verify = options?.verify || false;
15612
+ const defaultCharset = options?.defaultCharset || "utf-8";
15613
+ if (limit === null) {
15614
+ throw new TypeError(`option limit "${String(options.limit)}" is invalid`);
15615
+ }
15671
15616
  if (verify !== false && typeof verify !== "function") {
15672
15617
  throw new TypeError("option verify must be function");
15673
15618
  }
15674
- var shouldParse = typeof type !== "function" ? typeChecker(type) : type;
15619
+ const shouldParse = typeof type !== "function" ? typeChecker(type) : type;
15675
15620
  return {
15676
15621
  inflate,
15677
15622
  limit,
@@ -15686,9 +15631,9 @@ var require_utils = __commonJS({
15686
15631
  }
15687
15632
  });
15688
15633
 
15689
- // node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/read.js
15634
+ // ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/read.js
15690
15635
  var require_read = __commonJS({
15691
- "node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/read.js"(exports, module) {
15636
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/read.js"(exports, module) {
15692
15637
  "use strict";
15693
15638
  var createError = require_http_errors();
15694
15639
  var getBody = require_raw_body();
@@ -15718,7 +15663,7 @@ var require_read = __commonJS({
15718
15663
  next();
15719
15664
  return;
15720
15665
  }
15721
- var encoding = null;
15666
+ let encoding = null;
15722
15667
  if (options?.skipCharset !== true) {
15723
15668
  encoding = getCharset(req) || options.defaultCharset;
15724
15669
  if (!!options?.isValidCharset && !options.isValidCharset(encoding)) {
@@ -15730,10 +15675,10 @@ var require_read = __commonJS({
15730
15675
  return;
15731
15676
  }
15732
15677
  }
15733
- var length;
15734
- var opts = options;
15735
- var stream;
15736
- var verify = opts.verify;
15678
+ let length;
15679
+ const opts = options;
15680
+ let stream;
15681
+ const verify = opts.verify;
15737
15682
  try {
15738
15683
  stream = contentstream(req, debug, opts.inflate);
15739
15684
  length = stream.length;
@@ -15752,7 +15697,7 @@ var require_read = __commonJS({
15752
15697
  debug("read body");
15753
15698
  getBody(stream, opts, function(error, body) {
15754
15699
  if (error) {
15755
- var _error;
15700
+ let _error;
15756
15701
  if (error.type === "encoding.unsupported") {
15757
15702
  _error = createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', {
15758
15703
  charset: encoding.toLowerCase(),
@@ -15782,7 +15727,7 @@ var require_read = __commonJS({
15782
15727
  return;
15783
15728
  }
15784
15729
  }
15785
- var str = body;
15730
+ let str = body;
15786
15731
  try {
15787
15732
  debug("parse body");
15788
15733
  str = typeof body !== "string" && encoding !== null ? iconv.decode(body, encoding) : body;
@@ -15798,8 +15743,8 @@ var require_read = __commonJS({
15798
15743
  });
15799
15744
  }
15800
15745
  function contentstream(req, debug, inflate) {
15801
- var encoding = (req.headers["content-encoding"] || "identity").toLowerCase();
15802
- var length = req.headers["content-length"];
15746
+ const encoding = (req.headers["content-encoding"] || "identity").toLowerCase();
15747
+ const length = req.headers["content-length"];
15803
15748
  debug('content-encoding "%s"', encoding);
15804
15749
  if (inflate === false && encoding !== "identity") {
15805
15750
  throw createError(415, "content encoding unsupported", {
@@ -15811,7 +15756,7 @@ var require_read = __commonJS({
15811
15756
  req.length = length;
15812
15757
  return req;
15813
15758
  }
15814
- var stream = createDecompressionStream(encoding, debug);
15759
+ const stream = createDecompressionStream(encoding, debug);
15815
15760
  req.pipe(stream);
15816
15761
  return stream;
15817
15762
  }
@@ -15844,9 +15789,9 @@ var require_read = __commonJS({
15844
15789
  }
15845
15790
  });
15846
15791
 
15847
- // node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/json.js
15792
+ // ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/json.js
15848
15793
  var require_json = __commonJS({
15849
- "node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/json.js"(exports, module) {
15794
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/json.js"(exports, module) {
15850
15795
  "use strict";
15851
15796
  var debug = require_src()("body-parser:json");
15852
15797
  var read = require_read();
@@ -15857,18 +15802,43 @@ var require_json = __commonJS({
15857
15802
  var JSON_SYNTAX_REGEXP = /#+/g;
15858
15803
  function json(options) {
15859
15804
  const normalizedOptions = normalizeOptions(options, "application/json");
15860
- var reviver = options?.reviver;
15861
- var strict = options?.strict !== false;
15862
- function parse(body) {
15863
- if (body.length === 0) {
15864
- return {};
15865
- }
15866
- if (strict) {
15867
- var first = firstchar(body);
15805
+ const parse = createJsonParser(options);
15806
+ const readOptions = {
15807
+ ...normalizedOptions,
15808
+ // assert charset per RFC 7159 sec 8.1
15809
+ isValidCharset: (charset) => charset.slice(0, 4) === "utf-"
15810
+ };
15811
+ return function jsonParser(req, res, next) {
15812
+ read(req, res, next, parse, debug, readOptions);
15813
+ };
15814
+ }
15815
+ function createJsonParser(options) {
15816
+ const reviver = options?.reviver;
15817
+ const strict = options?.strict !== false;
15818
+ if (strict) {
15819
+ return function parse(body) {
15820
+ if (body.length === 0) {
15821
+ return {};
15822
+ }
15823
+ const first = firstchar(body);
15868
15824
  if (first !== "{" && first !== "[") {
15869
15825
  debug("strict violation");
15870
15826
  throw createStrictSyntaxError(body, first);
15871
15827
  }
15828
+ try {
15829
+ debug("parse json");
15830
+ return JSON.parse(body, reviver);
15831
+ } catch (e) {
15832
+ throw normalizeJsonSyntaxError(e, {
15833
+ message: e.message,
15834
+ stack: e.stack
15835
+ });
15836
+ }
15837
+ };
15838
+ }
15839
+ return function parse(body) {
15840
+ if (body.length === 0) {
15841
+ return {};
15872
15842
  }
15873
15843
  try {
15874
15844
  debug("parse json");
@@ -15879,19 +15849,11 @@ var require_json = __commonJS({
15879
15849
  stack: e.stack
15880
15850
  });
15881
15851
  }
15882
- }
15883
- const readOptions = {
15884
- ...normalizedOptions,
15885
- // assert charset per RFC 7159 sec 8.1
15886
- isValidCharset: (charset) => charset.slice(0, 4) === "utf-"
15887
- };
15888
- return function jsonParser(req, res, next) {
15889
- read(req, res, next, parse, debug, readOptions);
15890
15852
  };
15891
15853
  }
15892
15854
  function createStrictSyntaxError(str, char) {
15893
- var index = str.indexOf(char);
15894
- var partial = "";
15855
+ const index = str.indexOf(char);
15856
+ let partial = "";
15895
15857
  if (index !== -1) {
15896
15858
  partial = str.substring(0, index) + JSON_SYNTAX_CHAR.repeat(str.length - index);
15897
15859
  }
@@ -15908,13 +15870,13 @@ var require_json = __commonJS({
15908
15870
  }
15909
15871
  }
15910
15872
  function firstchar(str) {
15911
- var match = FIRST_CHAR_REGEXP.exec(str);
15873
+ const match = FIRST_CHAR_REGEXP.exec(str);
15912
15874
  return match ? match[1] : void 0;
15913
15875
  }
15914
15876
  function normalizeJsonSyntaxError(error, obj) {
15915
- var keys = Object.getOwnPropertyNames(error);
15916
- for (var i = 0; i < keys.length; i++) {
15917
- var key = keys[i];
15877
+ const keys = Object.getOwnPropertyNames(error);
15878
+ for (let i = 0; i < keys.length; i++) {
15879
+ const key = keys[i];
15918
15880
  if (key !== "stack" && key !== "message") {
15919
15881
  delete error[key];
15920
15882
  }
@@ -15926,9 +15888,9 @@ var require_json = __commonJS({
15926
15888
  }
15927
15889
  });
15928
15890
 
15929
- // node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/raw.js
15891
+ // ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/raw.js
15930
15892
  var require_raw = __commonJS({
15931
- "node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/raw.js"(exports, module) {
15893
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/raw.js"(exports, module) {
15932
15894
  "use strict";
15933
15895
  var debug = require_src()("body-parser:raw");
15934
15896
  var read = require_read();
@@ -15948,9 +15910,9 @@ var require_raw = __commonJS({
15948
15910
  }
15949
15911
  });
15950
15912
 
15951
- // node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/text.js
15913
+ // ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/text.js
15952
15914
  var require_text = __commonJS({
15953
- "node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/text.js"(exports, module) {
15915
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/text.js"(exports, module) {
15954
15916
  "use strict";
15955
15917
  var debug = require_src()("body-parser:text");
15956
15918
  var read = require_read();
@@ -15965,25 +15927,25 @@ var require_text = __commonJS({
15965
15927
  }
15966
15928
  });
15967
15929
 
15968
- // node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js
15930
+ // ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js
15969
15931
  var require_type = __commonJS({
15970
- "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js"(exports, module) {
15932
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js"(exports, module) {
15971
15933
  "use strict";
15972
15934
  module.exports = TypeError;
15973
15935
  }
15974
15936
  });
15975
15937
 
15976
- // node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js
15938
+ // ../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js
15977
15939
  var require_util_inspect = __commonJS({
15978
- "node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js"(exports, module) {
15940
+ "../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js"(exports, module) {
15979
15941
  "use strict";
15980
15942
  module.exports = __require("util").inspect;
15981
15943
  }
15982
15944
  });
15983
15945
 
15984
- // node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js
15946
+ // ../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js
15985
15947
  var require_object_inspect = __commonJS({
15986
- "node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js"(exports, module) {
15948
+ "../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js"(exports, module) {
15987
15949
  "use strict";
15988
15950
  var hasMap = typeof Map === "function" && Map.prototype;
15989
15951
  var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null;
@@ -16513,9 +16475,9 @@ var require_object_inspect = __commonJS({
16513
16475
  }
16514
16476
  });
16515
16477
 
16516
- // node_modules/.pnpm/side-channel-list@1.0.1/node_modules/side-channel-list/index.js
16478
+ // ../../node_modules/.pnpm/side-channel-list@1.0.1/node_modules/side-channel-list/index.js
16517
16479
  var require_side_channel_list = __commonJS({
16518
- "node_modules/.pnpm/side-channel-list@1.0.1/node_modules/side-channel-list/index.js"(exports, module) {
16480
+ "../../node_modules/.pnpm/side-channel-list@1.0.1/node_modules/side-channel-list/index.js"(exports, module) {
16519
16481
  "use strict";
16520
16482
  var inspect = require_object_inspect();
16521
16483
  var $TypeError = require_type();
@@ -16606,113 +16568,113 @@ var require_side_channel_list = __commonJS({
16606
16568
  }
16607
16569
  });
16608
16570
 
16609
- // node_modules/.pnpm/es-object-atoms@1.1.2/node_modules/es-object-atoms/index.js
16571
+ // ../../node_modules/.pnpm/es-object-atoms@1.1.2/node_modules/es-object-atoms/index.js
16610
16572
  var require_es_object_atoms = __commonJS({
16611
- "node_modules/.pnpm/es-object-atoms@1.1.2/node_modules/es-object-atoms/index.js"(exports, module) {
16573
+ "../../node_modules/.pnpm/es-object-atoms@1.1.2/node_modules/es-object-atoms/index.js"(exports, module) {
16612
16574
  "use strict";
16613
16575
  module.exports = Object;
16614
16576
  }
16615
16577
  });
16616
16578
 
16617
- // node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js
16579
+ // ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js
16618
16580
  var require_es_errors = __commonJS({
16619
- "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js"(exports, module) {
16581
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js"(exports, module) {
16620
16582
  "use strict";
16621
16583
  module.exports = Error;
16622
16584
  }
16623
16585
  });
16624
16586
 
16625
- // node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js
16587
+ // ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js
16626
16588
  var require_eval = __commonJS({
16627
- "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js"(exports, module) {
16589
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js"(exports, module) {
16628
16590
  "use strict";
16629
16591
  module.exports = EvalError;
16630
16592
  }
16631
16593
  });
16632
16594
 
16633
- // node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js
16595
+ // ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js
16634
16596
  var require_range = __commonJS({
16635
- "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js"(exports, module) {
16597
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js"(exports, module) {
16636
16598
  "use strict";
16637
16599
  module.exports = RangeError;
16638
16600
  }
16639
16601
  });
16640
16602
 
16641
- // node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js
16603
+ // ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js
16642
16604
  var require_ref = __commonJS({
16643
- "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js"(exports, module) {
16605
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js"(exports, module) {
16644
16606
  "use strict";
16645
16607
  module.exports = ReferenceError;
16646
16608
  }
16647
16609
  });
16648
16610
 
16649
- // node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js
16611
+ // ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js
16650
16612
  var require_syntax = __commonJS({
16651
- "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js"(exports, module) {
16613
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js"(exports, module) {
16652
16614
  "use strict";
16653
16615
  module.exports = SyntaxError;
16654
16616
  }
16655
16617
  });
16656
16618
 
16657
- // node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js
16619
+ // ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js
16658
16620
  var require_uri = __commonJS({
16659
- "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js"(exports, module) {
16621
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js"(exports, module) {
16660
16622
  "use strict";
16661
16623
  module.exports = URIError;
16662
16624
  }
16663
16625
  });
16664
16626
 
16665
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js
16627
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js
16666
16628
  var require_abs = __commonJS({
16667
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js"(exports, module) {
16629
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js"(exports, module) {
16668
16630
  "use strict";
16669
16631
  module.exports = Math.abs;
16670
16632
  }
16671
16633
  });
16672
16634
 
16673
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js
16635
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js
16674
16636
  var require_floor = __commonJS({
16675
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js"(exports, module) {
16637
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js"(exports, module) {
16676
16638
  "use strict";
16677
16639
  module.exports = Math.floor;
16678
16640
  }
16679
16641
  });
16680
16642
 
16681
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js
16643
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js
16682
16644
  var require_max = __commonJS({
16683
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js"(exports, module) {
16645
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js"(exports, module) {
16684
16646
  "use strict";
16685
16647
  module.exports = Math.max;
16686
16648
  }
16687
16649
  });
16688
16650
 
16689
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js
16651
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js
16690
16652
  var require_min = __commonJS({
16691
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js"(exports, module) {
16653
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js"(exports, module) {
16692
16654
  "use strict";
16693
16655
  module.exports = Math.min;
16694
16656
  }
16695
16657
  });
16696
16658
 
16697
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js
16659
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js
16698
16660
  var require_pow = __commonJS({
16699
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js"(exports, module) {
16661
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js"(exports, module) {
16700
16662
  "use strict";
16701
16663
  module.exports = Math.pow;
16702
16664
  }
16703
16665
  });
16704
16666
 
16705
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js
16667
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js
16706
16668
  var require_round = __commonJS({
16707
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js"(exports, module) {
16669
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js"(exports, module) {
16708
16670
  "use strict";
16709
16671
  module.exports = Math.round;
16710
16672
  }
16711
16673
  });
16712
16674
 
16713
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js
16675
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js
16714
16676
  var require_isNaN = __commonJS({
16715
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js"(exports, module) {
16677
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js"(exports, module) {
16716
16678
  "use strict";
16717
16679
  module.exports = Number.isNaN || function isNaN2(a) {
16718
16680
  return a !== a;
@@ -16720,9 +16682,9 @@ var require_isNaN = __commonJS({
16720
16682
  }
16721
16683
  });
16722
16684
 
16723
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js
16685
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js
16724
16686
  var require_sign = __commonJS({
16725
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js"(exports, module) {
16687
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js"(exports, module) {
16726
16688
  "use strict";
16727
16689
  var $isNaN = require_isNaN();
16728
16690
  module.exports = function sign(number) {
@@ -16734,17 +16696,17 @@ var require_sign = __commonJS({
16734
16696
  }
16735
16697
  });
16736
16698
 
16737
- // node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js
16699
+ // ../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js
16738
16700
  var require_gOPD = __commonJS({
16739
- "node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js"(exports, module) {
16701
+ "../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js"(exports, module) {
16740
16702
  "use strict";
16741
16703
  module.exports = Object.getOwnPropertyDescriptor;
16742
16704
  }
16743
16705
  });
16744
16706
 
16745
- // node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js
16707
+ // ../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js
16746
16708
  var require_gopd = __commonJS({
16747
- "node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js"(exports, module) {
16709
+ "../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js"(exports, module) {
16748
16710
  "use strict";
16749
16711
  var $gOPD = require_gOPD();
16750
16712
  if ($gOPD) {
@@ -16758,9 +16720,9 @@ var require_gopd = __commonJS({
16758
16720
  }
16759
16721
  });
16760
16722
 
16761
- // node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js
16723
+ // ../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js
16762
16724
  var require_es_define_property = __commonJS({
16763
- "node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js"(exports, module) {
16725
+ "../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js"(exports, module) {
16764
16726
  "use strict";
16765
16727
  var $defineProperty = Object.defineProperty || false;
16766
16728
  if ($defineProperty) {
@@ -16774,9 +16736,9 @@ var require_es_define_property = __commonJS({
16774
16736
  }
16775
16737
  });
16776
16738
 
16777
- // node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js
16739
+ // ../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js
16778
16740
  var require_shams = __commonJS({
16779
- "node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js"(exports, module) {
16741
+ "../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js"(exports, module) {
16780
16742
  "use strict";
16781
16743
  module.exports = function hasSymbols() {
16782
16744
  if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") {
@@ -16829,9 +16791,9 @@ var require_shams = __commonJS({
16829
16791
  }
16830
16792
  });
16831
16793
 
16832
- // node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js
16794
+ // ../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js
16833
16795
  var require_has_symbols = __commonJS({
16834
- "node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js"(exports, module) {
16796
+ "../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js"(exports, module) {
16835
16797
  "use strict";
16836
16798
  var origSymbol = typeof Symbol !== "undefined" && Symbol;
16837
16799
  var hasSymbolSham = require_shams();
@@ -16853,26 +16815,26 @@ var require_has_symbols = __commonJS({
16853
16815
  }
16854
16816
  });
16855
16817
 
16856
- // node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js
16818
+ // ../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js
16857
16819
  var require_Reflect_getPrototypeOf = __commonJS({
16858
- "node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js"(exports, module) {
16820
+ "../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js"(exports, module) {
16859
16821
  "use strict";
16860
16822
  module.exports = typeof Reflect !== "undefined" && Reflect.getPrototypeOf || null;
16861
16823
  }
16862
16824
  });
16863
16825
 
16864
- // node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js
16826
+ // ../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js
16865
16827
  var require_Object_getPrototypeOf = __commonJS({
16866
- "node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js"(exports, module) {
16828
+ "../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js"(exports, module) {
16867
16829
  "use strict";
16868
16830
  var $Object = require_es_object_atoms();
16869
16831
  module.exports = $Object.getPrototypeOf || null;
16870
16832
  }
16871
16833
  });
16872
16834
 
16873
- // node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js
16835
+ // ../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js
16874
16836
  var require_implementation = __commonJS({
16875
- "node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js"(exports, module) {
16837
+ "../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js"(exports, module) {
16876
16838
  "use strict";
16877
16839
  var ERROR_MESSAGE = "Function.prototype.bind called on incompatible ";
16878
16840
  var toStr = Object.prototype.toString;
@@ -16946,42 +16908,42 @@ var require_implementation = __commonJS({
16946
16908
  }
16947
16909
  });
16948
16910
 
16949
- // node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js
16911
+ // ../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js
16950
16912
  var require_function_bind = __commonJS({
16951
- "node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js"(exports, module) {
16913
+ "../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js"(exports, module) {
16952
16914
  "use strict";
16953
16915
  var implementation = require_implementation();
16954
16916
  module.exports = Function.prototype.bind || implementation;
16955
16917
  }
16956
16918
  });
16957
16919
 
16958
- // node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js
16920
+ // ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js
16959
16921
  var require_functionCall = __commonJS({
16960
- "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js"(exports, module) {
16922
+ "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js"(exports, module) {
16961
16923
  "use strict";
16962
16924
  module.exports = Function.prototype.call;
16963
16925
  }
16964
16926
  });
16965
16927
 
16966
- // node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js
16928
+ // ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js
16967
16929
  var require_functionApply = __commonJS({
16968
- "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js"(exports, module) {
16930
+ "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js"(exports, module) {
16969
16931
  "use strict";
16970
16932
  module.exports = Function.prototype.apply;
16971
16933
  }
16972
16934
  });
16973
16935
 
16974
- // node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js
16936
+ // ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js
16975
16937
  var require_reflectApply = __commonJS({
16976
- "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js"(exports, module) {
16938
+ "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js"(exports, module) {
16977
16939
  "use strict";
16978
16940
  module.exports = typeof Reflect !== "undefined" && Reflect && Reflect.apply;
16979
16941
  }
16980
16942
  });
16981
16943
 
16982
- // node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js
16944
+ // ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js
16983
16945
  var require_actualApply = __commonJS({
16984
- "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js"(exports, module) {
16946
+ "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js"(exports, module) {
16985
16947
  "use strict";
16986
16948
  var bind = require_function_bind();
16987
16949
  var $apply = require_functionApply();
@@ -16991,9 +16953,9 @@ var require_actualApply = __commonJS({
16991
16953
  }
16992
16954
  });
16993
16955
 
16994
- // node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js
16956
+ // ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js
16995
16957
  var require_call_bind_apply_helpers = __commonJS({
16996
- "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js"(exports, module) {
16958
+ "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js"(exports, module) {
16997
16959
  "use strict";
16998
16960
  var bind = require_function_bind();
16999
16961
  var $TypeError = require_type();
@@ -17008,9 +16970,9 @@ var require_call_bind_apply_helpers = __commonJS({
17008
16970
  }
17009
16971
  });
17010
16972
 
17011
- // node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js
16973
+ // ../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js
17012
16974
  var require_get = __commonJS({
17013
- "node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js"(exports, module) {
16975
+ "../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js"(exports, module) {
17014
16976
  "use strict";
17015
16977
  var callBind = require_call_bind_apply_helpers();
17016
16978
  var gOPD = require_gopd();
@@ -17039,9 +17001,9 @@ var require_get = __commonJS({
17039
17001
  }
17040
17002
  });
17041
17003
 
17042
- // node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js
17004
+ // ../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js
17043
17005
  var require_get_proto = __commonJS({
17044
- "node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js"(exports, module) {
17006
+ "../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js"(exports, module) {
17045
17007
  "use strict";
17046
17008
  var reflectGetProto = require_Reflect_getPrototypeOf();
17047
17009
  var originalGetProto = require_Object_getPrototypeOf();
@@ -17059,9 +17021,9 @@ var require_get_proto = __commonJS({
17059
17021
  }
17060
17022
  });
17061
17023
 
17062
- // node_modules/.pnpm/hasown@2.0.4/node_modules/hasown/index.js
17024
+ // ../../node_modules/.pnpm/hasown@2.0.4/node_modules/hasown/index.js
17063
17025
  var require_hasown = __commonJS({
17064
- "node_modules/.pnpm/hasown@2.0.4/node_modules/hasown/index.js"(exports, module) {
17026
+ "../../node_modules/.pnpm/hasown@2.0.4/node_modules/hasown/index.js"(exports, module) {
17065
17027
  "use strict";
17066
17028
  var call = Function.prototype.call;
17067
17029
  var $hasOwn = Object.prototype.hasOwnProperty;
@@ -17070,9 +17032,9 @@ var require_hasown = __commonJS({
17070
17032
  }
17071
17033
  });
17072
17034
 
17073
- // node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js
17035
+ // ../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js
17074
17036
  var require_get_intrinsic = __commonJS({
17075
- "node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js"(exports, module) {
17037
+ "../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js"(exports, module) {
17076
17038
  "use strict";
17077
17039
  var undefined2;
17078
17040
  var $Object = require_es_object_atoms();
@@ -17401,9 +17363,9 @@ var require_get_intrinsic = __commonJS({
17401
17363
  }
17402
17364
  });
17403
17365
 
17404
- // node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js
17366
+ // ../../node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js
17405
17367
  var require_call_bound = __commonJS({
17406
- "node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js"(exports, module) {
17368
+ "../../node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js"(exports, module) {
17407
17369
  "use strict";
17408
17370
  var GetIntrinsic = require_get_intrinsic();
17409
17371
  var callBindBasic = require_call_bind_apply_helpers();
@@ -17424,9 +17386,9 @@ var require_call_bound = __commonJS({
17424
17386
  }
17425
17387
  });
17426
17388
 
17427
- // node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js
17389
+ // ../../node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js
17428
17390
  var require_side_channel_map = __commonJS({
17429
- "node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js"(exports, module) {
17391
+ "../../node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js"(exports, module) {
17430
17392
  "use strict";
17431
17393
  var GetIntrinsic = require_get_intrinsic();
17432
17394
  var callBound = require_call_bound();
@@ -17480,9 +17442,9 @@ var require_side_channel_map = __commonJS({
17480
17442
  }
17481
17443
  });
17482
17444
 
17483
- // node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js
17445
+ // ../../node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js
17484
17446
  var require_side_channel_weakmap = __commonJS({
17485
- "node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js"(exports, module) {
17447
+ "../../node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js"(exports, module) {
17486
17448
  "use strict";
17487
17449
  var GetIntrinsic = require_get_intrinsic();
17488
17450
  var callBound = require_call_bound();
@@ -17553,9 +17515,9 @@ var require_side_channel_weakmap = __commonJS({
17553
17515
  }
17554
17516
  });
17555
17517
 
17556
- // node_modules/.pnpm/side-channel@1.1.0/node_modules/side-channel/index.js
17518
+ // ../../node_modules/.pnpm/side-channel@1.1.1/node_modules/side-channel/index.js
17557
17519
  var require_side_channel = __commonJS({
17558
- "node_modules/.pnpm/side-channel@1.1.0/node_modules/side-channel/index.js"(exports, module) {
17520
+ "../../node_modules/.pnpm/side-channel@1.1.1/node_modules/side-channel/index.js"(exports, module) {
17559
17521
  "use strict";
17560
17522
  var $TypeError = require_type();
17561
17523
  var inspect = require_object_inspect();
@@ -17568,7 +17530,8 @@ var require_side_channel = __commonJS({
17568
17530
  var channel = {
17569
17531
  assert: function(key) {
17570
17532
  if (!channel.has(key)) {
17571
- throw new $TypeError("Side channel does not contain " + inspect(key));
17533
+ var keyDesc = key && Object(key) === key ? "the given object key" : inspect(key);
17534
+ throw new $TypeError("Side channel does not contain " + keyDesc);
17572
17535
  }
17573
17536
  },
17574
17537
  "delete": function(key) {
@@ -17592,9 +17555,9 @@ var require_side_channel = __commonJS({
17592
17555
  }
17593
17556
  });
17594
17557
 
17595
- // node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/formats.js
17558
+ // ../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/formats.js
17596
17559
  var require_formats = __commonJS({
17597
- "node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/formats.js"(exports, module) {
17560
+ "../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/formats.js"(exports, module) {
17598
17561
  "use strict";
17599
17562
  var replace = String.prototype.replace;
17600
17563
  var percentTwenties = /%20/g;
@@ -17618,12 +17581,13 @@ var require_formats = __commonJS({
17618
17581
  }
17619
17582
  });
17620
17583
 
17621
- // node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/utils.js
17584
+ // ../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/utils.js
17622
17585
  var require_utils2 = __commonJS({
17623
- "node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/utils.js"(exports, module) {
17586
+ "../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/utils.js"(exports, module) {
17624
17587
  "use strict";
17625
17588
  var formats = require_formats();
17626
17589
  var getSideChannel = require_side_channel();
17590
+ var defineProperty = require_es_define_property();
17627
17591
  var has = Object.prototype.hasOwnProperty;
17628
17592
  var isArray = Array.isArray;
17629
17593
  var overflowChannel = getSideChannel();
@@ -17671,6 +17635,18 @@ var require_utils2 = __commonJS({
17671
17635
  }
17672
17636
  return obj;
17673
17637
  };
17638
+ var setProperty = function setProperty2(obj, key, value) {
17639
+ if (key === "__proto__" && defineProperty) {
17640
+ defineProperty(obj, key, {
17641
+ configurable: true,
17642
+ enumerable: true,
17643
+ value,
17644
+ writable: true
17645
+ });
17646
+ } else {
17647
+ obj[key] = value;
17648
+ }
17649
+ };
17674
17650
  var merge = function merge2(target, source, options) {
17675
17651
  if (!source) {
17676
17652
  return target;
@@ -17678,7 +17654,10 @@ var require_utils2 = __commonJS({
17678
17654
  if (typeof source !== "object" && typeof source !== "function") {
17679
17655
  if (isArray(target)) {
17680
17656
  var nextIndex = target.length;
17681
- if (options && typeof options.arrayLimit === "number" && nextIndex > options.arrayLimit) {
17657
+ if (options && typeof options.arrayLimit === "number" && nextIndex >= options.arrayLimit) {
17658
+ if (options.throwOnLimitExceeded) {
17659
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
17660
+ }
17682
17661
  return markOverflow(arrayToObject(target.concat(source), options), nextIndex);
17683
17662
  }
17684
17663
  target[nextIndex] = source;
@@ -17709,6 +17688,9 @@ var require_utils2 = __commonJS({
17709
17688
  }
17710
17689
  var combined = [target].concat(source);
17711
17690
  if (options && typeof options.arrayLimit === "number" && combined.length > options.arrayLimit) {
17691
+ if (options.throwOnLimitExceeded) {
17692
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
17693
+ }
17712
17694
  return markOverflow(arrayToObject(combined, options), combined.length - 1);
17713
17695
  }
17714
17696
  return combined;
@@ -17730,14 +17712,20 @@ var require_utils2 = __commonJS({
17730
17712
  target[i] = item;
17731
17713
  }
17732
17714
  });
17715
+ if (options && typeof options.arrayLimit === "number" && target.length > options.arrayLimit) {
17716
+ if (options.throwOnLimitExceeded) {
17717
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
17718
+ }
17719
+ return markOverflow(arrayToObject(target, options), target.length - 1);
17720
+ }
17733
17721
  return target;
17734
17722
  }
17735
17723
  return Object.keys(source).reduce(function(acc, key) {
17736
17724
  var value = source[key];
17737
17725
  if (has.call(acc, key)) {
17738
- acc[key] = merge2(acc[key], value, options);
17726
+ setProperty(acc, key, merge2(acc[key], value, options));
17739
17727
  } else {
17740
- acc[key] = value;
17728
+ setProperty(acc, key, value);
17741
17729
  }
17742
17730
  if (isOverflow(source) && !isOverflow(acc)) {
17743
17731
  markOverflow(acc, getMaxIndex(source));
@@ -17753,7 +17741,7 @@ var require_utils2 = __commonJS({
17753
17741
  };
17754
17742
  var assign = function assignSingleSource(target, source) {
17755
17743
  return Object.keys(source).reduce(function(acc, key) {
17756
- acc[key] = source[key];
17744
+ setProperty(acc, key, source[key]);
17757
17745
  return acc;
17758
17746
  }, target);
17759
17747
  };
@@ -17787,6 +17775,13 @@ var require_utils2 = __commonJS({
17787
17775
  var out = "";
17788
17776
  for (var j = 0; j < string.length; j += limit) {
17789
17777
  var segment = string.length >= limit ? string.slice(j, j + limit) : string;
17778
+ if (j + limit < string.length) {
17779
+ var last = segment.charCodeAt(segment.length - 1);
17780
+ if (last >= 55296 && last <= 56319) {
17781
+ segment = segment.slice(0, -1);
17782
+ j -= 1;
17783
+ }
17784
+ }
17790
17785
  var arr = [];
17791
17786
  for (var i = 0; i < segment.length; ++i) {
17792
17787
  var c = segment.charCodeAt(i);
@@ -17816,7 +17811,7 @@ var require_utils2 = __commonJS({
17816
17811
  };
17817
17812
  var compact = function compact2(value) {
17818
17813
  var queue = [{ obj: { o: value }, prop: "o" }];
17819
- var refs = [];
17814
+ var refs = getSideChannel();
17820
17815
  for (var i = 0; i < queue.length; ++i) {
17821
17816
  var item = queue[i];
17822
17817
  var obj = item.obj[item.prop];
@@ -17824,9 +17819,9 @@ var require_utils2 = __commonJS({
17824
17819
  for (var j = 0; j < keys.length; ++j) {
17825
17820
  var key = keys[j];
17826
17821
  var val = obj[key];
17827
- if (typeof val === "object" && val !== null && refs.indexOf(val) === -1) {
17822
+ if (typeof val === "object" && val !== null && !refs.has(val)) {
17828
17823
  queue[queue.length] = { obj, prop: key };
17829
- refs[refs.length] = val;
17824
+ refs.set(val, true);
17830
17825
  }
17831
17826
  }
17832
17827
  }
@@ -17842,8 +17837,11 @@ var require_utils2 = __commonJS({
17842
17837
  }
17843
17838
  return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
17844
17839
  };
17845
- var combine = function combine2(a, b, arrayLimit, plainObjects) {
17840
+ var combine = function combine2(a, b, arrayLimit, plainObjects, throwOnLimitExceeded) {
17846
17841
  if (isOverflow(a)) {
17842
+ if (throwOnLimitExceeded) {
17843
+ throw new RangeError("Array limit exceeded. Only " + arrayLimit + " element" + (arrayLimit === 1 ? "" : "s") + " allowed in an array.");
17844
+ }
17847
17845
  var newIndex = getMaxIndex(a) + 1;
17848
17846
  a[newIndex] = b;
17849
17847
  setMaxIndex(a, newIndex);
@@ -17851,6 +17849,9 @@ var require_utils2 = __commonJS({
17851
17849
  }
17852
17850
  var result = [].concat(a, b);
17853
17851
  if (result.length > arrayLimit) {
17852
+ if (throwOnLimitExceeded) {
17853
+ throw new RangeError("Array limit exceeded. Only " + arrayLimit + " element" + (arrayLimit === 1 ? "" : "s") + " allowed in an array.");
17854
+ }
17854
17855
  return markOverflow(arrayToObject(result, { plainObjects }), result.length - 1);
17855
17856
  }
17856
17857
  return result;
@@ -17882,9 +17883,9 @@ var require_utils2 = __commonJS({
17882
17883
  }
17883
17884
  });
17884
17885
 
17885
- // node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/stringify.js
17886
+ // ../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/stringify.js
17886
17887
  var require_stringify = __commonJS({
17887
- "node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/stringify.js"(exports, module) {
17888
+ "../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/stringify.js"(exports, module) {
17888
17889
  "use strict";
17889
17890
  var getSideChannel = require_side_channel();
17890
17891
  var utils = require_utils2();
@@ -18170,9 +18171,9 @@ var require_stringify = __commonJS({
18170
18171
  }
18171
18172
  });
18172
18173
 
18173
- // node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/parse.js
18174
+ // ../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/parse.js
18174
18175
  var require_parse = __commonJS({
18175
- "node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/parse.js"(exports, module) {
18176
+ "../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/parse.js"(exports, module) {
18176
18177
  "use strict";
18177
18178
  var utils = require_utils2();
18178
18179
  var has = Object.prototype.hasOwnProperty;
@@ -18206,8 +18207,19 @@ var require_parse = __commonJS({
18206
18207
  return String.fromCharCode(parseInt(numberStr, 10));
18207
18208
  });
18208
18209
  };
18209
- var parseArrayValue = function(val, options, currentArrayLength) {
18210
+ var parseArrayValue = function(val, options, currentArrayLength, isFlatArrayValue) {
18210
18211
  if (val && typeof val === "string" && options.comma && val.indexOf(",") > -1) {
18212
+ if (isFlatArrayValue && options.throwOnLimitExceeded) {
18213
+ var commaCount = 0;
18214
+ var commaIndex = val.indexOf(",");
18215
+ while (commaIndex > -1) {
18216
+ commaCount += 1;
18217
+ if (commaCount >= options.arrayLimit) {
18218
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
18219
+ }
18220
+ commaIndex = val.indexOf(",", commaIndex + 1);
18221
+ }
18222
+ }
18211
18223
  return val.split(",");
18212
18224
  }
18213
18225
  if (options.throwOnLimitExceeded && currentArrayLength >= options.arrayLimit) {
@@ -18264,7 +18276,8 @@ var require_parse = __commonJS({
18264
18276
  parseArrayValue(
18265
18277
  part.slice(pos + 1),
18266
18278
  options,
18267
- isArray(obj[key]) ? obj[key].length : 0
18279
+ isArray(obj[key]) ? obj[key].length : 0,
18280
+ part.indexOf("[]=") === -1
18268
18281
  ),
18269
18282
  function(encodedVal) {
18270
18283
  return options.decoder(encodedVal, defaults.decoder, charset, "value");
@@ -18279,10 +18292,7 @@ var require_parse = __commonJS({
18279
18292
  val = isArray(val) ? [val] : val;
18280
18293
  }
18281
18294
  if (options.comma && isArray(val) && val.length > options.arrayLimit) {
18282
- if (options.throwOnLimitExceeded) {
18283
- throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
18284
- }
18285
- val = utils.combine([], val, options.arrayLimit, options.plainObjects);
18295
+ val = utils.combine([], val, options.arrayLimit, options.plainObjects, options.throwOnLimitExceeded);
18286
18296
  }
18287
18297
  if (key !== null) {
18288
18298
  var existing = has.call(obj, key);
@@ -18291,7 +18301,8 @@ var require_parse = __commonJS({
18291
18301
  obj[key],
18292
18302
  val,
18293
18303
  options.arrayLimit,
18294
- options.plainObjects
18304
+ options.plainObjects,
18305
+ options.throwOnLimitExceeded
18295
18306
  );
18296
18307
  } else if (!existing || options.duplicates === "last") {
18297
18308
  obj[key] = val;
@@ -18318,7 +18329,8 @@ var require_parse = __commonJS({
18318
18329
  [],
18319
18330
  leaf,
18320
18331
  options.arrayLimit,
18321
- options.plainObjects
18332
+ options.plainObjects,
18333
+ options.throwOnLimitExceeded
18322
18334
  );
18323
18335
  }
18324
18336
  } else {
@@ -18488,9 +18500,9 @@ var require_parse = __commonJS({
18488
18500
  }
18489
18501
  });
18490
18502
 
18491
- // node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/index.js
18503
+ // ../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/index.js
18492
18504
  var require_lib2 = __commonJS({
18493
- "node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/index.js"(exports, module) {
18505
+ "../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/index.js"(exports, module) {
18494
18506
  "use strict";
18495
18507
  var stringify = require_stringify();
18496
18508
  var parse = require_parse();
@@ -18503,9 +18515,9 @@ var require_lib2 = __commonJS({
18503
18515
  }
18504
18516
  });
18505
18517
 
18506
- // node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/urlencoded.js
18518
+ // ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/urlencoded.js
18507
18519
  var require_urlencoded = __commonJS({
18508
- "node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/urlencoded.js"(exports, module) {
18520
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/urlencoded.js"(exports, module) {
18509
18521
  "use strict";
18510
18522
  var createError = require_http_errors();
18511
18523
  var debug = require_src()("body-parser:urlencoded");
@@ -18518,10 +18530,7 @@ var require_urlencoded = __commonJS({
18518
18530
  if (normalizedOptions.defaultCharset !== "utf-8" && normalizedOptions.defaultCharset !== "iso-8859-1") {
18519
18531
  throw new TypeError("option defaultCharset must be either utf-8 or iso-8859-1");
18520
18532
  }
18521
- var queryparse = createQueryParser(options);
18522
- function parse(body, encoding) {
18523
- return body.length ? queryparse(body, encoding) : {};
18524
- }
18533
+ const parse = createQueryParser(options);
18525
18534
  const readOptions = {
18526
18535
  ...normalizedOptions,
18527
18536
  // assert charset
@@ -18532,11 +18541,11 @@ var require_urlencoded = __commonJS({
18532
18541
  };
18533
18542
  }
18534
18543
  function createQueryParser(options) {
18535
- var extended = Boolean(options?.extended);
18536
- var parameterLimit = options?.parameterLimit !== void 0 ? options?.parameterLimit : 1e3;
18537
- var charsetSentinel = options?.charsetSentinel;
18538
- var interpretNumericEntities = options?.interpretNumericEntities;
18539
- var depth = extended ? options?.depth !== void 0 ? options?.depth : 32 : 0;
18544
+ const extended = Boolean(options?.extended);
18545
+ let parameterLimit = options?.parameterLimit !== void 0 ? options?.parameterLimit : 1e3;
18546
+ const charsetSentinel = options?.charsetSentinel;
18547
+ const interpretNumericEntities = options?.interpretNumericEntities;
18548
+ const depth = extended ? options?.depth !== void 0 ? options?.depth : 32 : 0;
18540
18549
  if (isNaN(parameterLimit) || parameterLimit < 1) {
18541
18550
  throw new TypeError("option parameterLimit must be a positive number");
18542
18551
  }
@@ -18546,15 +18555,16 @@ var require_urlencoded = __commonJS({
18546
18555
  if (isFinite(parameterLimit)) {
18547
18556
  parameterLimit = parameterLimit | 0;
18548
18557
  }
18549
- return function queryparse(body, encoding) {
18550
- var paramCount = parameterCount(body, parameterLimit);
18558
+ return function parse(body, encoding) {
18559
+ if (!body.length) return {};
18560
+ const paramCount = parameterCount(body, parameterLimit);
18551
18561
  if (paramCount === void 0) {
18552
18562
  debug("too many parameters");
18553
18563
  throw createError(413, "too many parameters", {
18554
18564
  type: "parameters.too.many"
18555
18565
  });
18556
18566
  }
18557
- var arrayLimit = extended ? Math.max(100, paramCount) : paramCount;
18567
+ const arrayLimit = extended ? Math.max(100, paramCount) : paramCount;
18558
18568
  debug("parse " + (extended ? "extended " : "") + "urlencoding");
18559
18569
  try {
18560
18570
  return qs.parse(body, {
@@ -18591,40 +18601,24 @@ var require_urlencoded = __commonJS({
18591
18601
  }
18592
18602
  });
18593
18603
 
18594
- // node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/index.js
18604
+ // ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/index.js
18595
18605
  var require_body_parser = __commonJS({
18596
- "node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/index.js"(exports, module) {
18606
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/index.js"(exports, module) {
18597
18607
  "use strict";
18598
18608
  exports = module.exports = bodyParser;
18599
- Object.defineProperty(exports, "json", {
18600
- configurable: true,
18601
- enumerable: true,
18602
- get: () => require_json()
18603
- });
18604
- Object.defineProperty(exports, "raw", {
18605
- configurable: true,
18606
- enumerable: true,
18607
- get: () => require_raw()
18608
- });
18609
- Object.defineProperty(exports, "text", {
18610
- configurable: true,
18611
- enumerable: true,
18612
- get: () => require_text()
18613
- });
18614
- Object.defineProperty(exports, "urlencoded", {
18615
- configurable: true,
18616
- enumerable: true,
18617
- get: () => require_urlencoded()
18618
- });
18609
+ exports.json = require_json();
18610
+ exports.raw = require_raw();
18611
+ exports.text = require_text();
18612
+ exports.urlencoded = require_urlencoded();
18619
18613
  function bodyParser() {
18620
18614
  throw new Error("The bodyParser() generic has been split into individual middleware to use instead.");
18621
18615
  }
18622
18616
  }
18623
18617
  });
18624
18618
 
18625
- // node_modules/.pnpm/merge-descriptors@2.0.0/node_modules/merge-descriptors/index.js
18619
+ // ../../node_modules/.pnpm/merge-descriptors@2.0.0/node_modules/merge-descriptors/index.js
18626
18620
  var require_merge_descriptors = __commonJS({
18627
- "node_modules/.pnpm/merge-descriptors@2.0.0/node_modules/merge-descriptors/index.js"(exports, module) {
18621
+ "../../node_modules/.pnpm/merge-descriptors@2.0.0/node_modules/merge-descriptors/index.js"(exports, module) {
18628
18622
  "use strict";
18629
18623
  function mergeDescriptors(destination, source, overwrite = true) {
18630
18624
  if (!destination) {
@@ -18646,9 +18640,9 @@ var require_merge_descriptors = __commonJS({
18646
18640
  }
18647
18641
  });
18648
18642
 
18649
- // node_modules/.pnpm/encodeurl@2.0.0/node_modules/encodeurl/index.js
18643
+ // ../../node_modules/.pnpm/encodeurl@2.0.0/node_modules/encodeurl/index.js
18650
18644
  var require_encodeurl = __commonJS({
18651
- "node_modules/.pnpm/encodeurl@2.0.0/node_modules/encodeurl/index.js"(exports, module) {
18645
+ "../../node_modules/.pnpm/encodeurl@2.0.0/node_modules/encodeurl/index.js"(exports, module) {
18652
18646
  "use strict";
18653
18647
  module.exports = encodeUrl;
18654
18648
  var ENCODE_CHARS_REGEXP = /(?:[^\x21\x23-\x3B\x3D\x3F-\x5F\x61-\x7A\x7C\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g;
@@ -18660,9 +18654,9 @@ var require_encodeurl = __commonJS({
18660
18654
  }
18661
18655
  });
18662
18656
 
18663
- // node_modules/.pnpm/escape-html@1.0.3/node_modules/escape-html/index.js
18657
+ // ../../node_modules/.pnpm/escape-html@1.0.3/node_modules/escape-html/index.js
18664
18658
  var require_escape_html = __commonJS({
18665
- "node_modules/.pnpm/escape-html@1.0.3/node_modules/escape-html/index.js"(exports, module) {
18659
+ "../../node_modules/.pnpm/escape-html@1.0.3/node_modules/escape-html/index.js"(exports, module) {
18666
18660
  "use strict";
18667
18661
  var matchHtmlRegExp = /["'&<>]/;
18668
18662
  module.exports = escapeHtml;
@@ -18707,9 +18701,9 @@ var require_escape_html = __commonJS({
18707
18701
  }
18708
18702
  });
18709
18703
 
18710
- // node_modules/.pnpm/parseurl@1.3.3/node_modules/parseurl/index.js
18704
+ // ../../node_modules/.pnpm/parseurl@1.3.3/node_modules/parseurl/index.js
18711
18705
  var require_parseurl = __commonJS({
18712
- "node_modules/.pnpm/parseurl@1.3.3/node_modules/parseurl/index.js"(exports, module) {
18706
+ "../../node_modules/.pnpm/parseurl@1.3.3/node_modules/parseurl/index.js"(exports, module) {
18713
18707
  "use strict";
18714
18708
  var url = __require("url");
18715
18709
  var parse = url.parse;
@@ -18791,9 +18785,9 @@ var require_parseurl = __commonJS({
18791
18785
  }
18792
18786
  });
18793
18787
 
18794
- // node_modules/.pnpm/finalhandler@2.1.1/node_modules/finalhandler/index.js
18788
+ // ../../node_modules/.pnpm/finalhandler@2.1.1/node_modules/finalhandler/index.js
18795
18789
  var require_finalhandler = __commonJS({
18796
- "node_modules/.pnpm/finalhandler@2.1.1/node_modules/finalhandler/index.js"(exports, module) {
18790
+ "../../node_modules/.pnpm/finalhandler@2.1.1/node_modules/finalhandler/index.js"(exports, module) {
18797
18791
  "use strict";
18798
18792
  var debug = require_src()("finalhandler");
18799
18793
  var encodeUrl = require_encodeurl();
@@ -18809,7 +18803,7 @@ var require_finalhandler = __commonJS({
18809
18803
  module.exports = finalhandler;
18810
18804
  function finalhandler(req, res, options) {
18811
18805
  var opts = options || {};
18812
- var env = opts.env || process.env.NODE_ENV || "development";
18806
+ var env2 = opts.env || process.env.NODE_ENV || "development";
18813
18807
  var onerror = opts.onerror;
18814
18808
  return function(err) {
18815
18809
  var headers;
@@ -18826,7 +18820,7 @@ var require_finalhandler = __commonJS({
18826
18820
  } else {
18827
18821
  headers = getErrorHeaders(err);
18828
18822
  }
18829
- msg = getErrorMessage(err, status, env);
18823
+ msg = getErrorMessage(err, status, env2);
18830
18824
  } else {
18831
18825
  status = 404;
18832
18826
  msg = "Cannot " + req.method + " " + encodeUrl(getResourceName(req));
@@ -18851,9 +18845,9 @@ var require_finalhandler = __commonJS({
18851
18845
  }
18852
18846
  return { ...err.headers };
18853
18847
  }
18854
- function getErrorMessage(err, status, env) {
18848
+ function getErrorMessage(err, status, env2) {
18855
18849
  var msg;
18856
- if (env !== "production") {
18850
+ if (env2 !== "production") {
18857
18851
  msg = err.stack;
18858
18852
  if (!msg && typeof err.toString === "function") {
18859
18853
  msg = err.toString();
@@ -18918,9 +18912,9 @@ var require_finalhandler = __commonJS({
18918
18912
  }
18919
18913
  });
18920
18914
 
18921
- // node_modules/.pnpm/express@5.2.1/node_modules/express/lib/view.js
18915
+ // ../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/view.js
18922
18916
  var require_view = __commonJS({
18923
- "node_modules/.pnpm/express@5.2.1/node_modules/express/lib/view.js"(exports, module) {
18917
+ "../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/view.js"(exports, module) {
18924
18918
  "use strict";
18925
18919
  var debug = require_src()("express:view");
18926
18920
  var path = __require("path");
@@ -19012,9 +19006,113 @@ var require_view = __commonJS({
19012
19006
  }
19013
19007
  });
19014
19008
 
19015
- // node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js
19009
+ // ../../node_modules/.pnpm/content-type@1.0.5/node_modules/content-type/index.js
19010
+ var require_content_type = __commonJS({
19011
+ "../../node_modules/.pnpm/content-type@1.0.5/node_modules/content-type/index.js"(exports) {
19012
+ "use strict";
19013
+ var PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g;
19014
+ var TEXT_REGEXP = /^[\u000b\u0020-\u007e\u0080-\u00ff]+$/;
19015
+ var TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
19016
+ var QESC_REGEXP = /\\([\u000b\u0020-\u00ff])/g;
19017
+ var QUOTE_REGEXP = /([\\"])/g;
19018
+ var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
19019
+ exports.format = format;
19020
+ exports.parse = parse;
19021
+ function format(obj) {
19022
+ if (!obj || typeof obj !== "object") {
19023
+ throw new TypeError("argument obj is required");
19024
+ }
19025
+ var parameters = obj.parameters;
19026
+ var type = obj.type;
19027
+ if (!type || !TYPE_REGEXP.test(type)) {
19028
+ throw new TypeError("invalid type");
19029
+ }
19030
+ var string = type;
19031
+ if (parameters && typeof parameters === "object") {
19032
+ var param;
19033
+ var params = Object.keys(parameters).sort();
19034
+ for (var i = 0; i < params.length; i++) {
19035
+ param = params[i];
19036
+ if (!TOKEN_REGEXP.test(param)) {
19037
+ throw new TypeError("invalid parameter name");
19038
+ }
19039
+ string += "; " + param + "=" + qstring(parameters[param]);
19040
+ }
19041
+ }
19042
+ return string;
19043
+ }
19044
+ function parse(string) {
19045
+ if (!string) {
19046
+ throw new TypeError("argument string is required");
19047
+ }
19048
+ var header = typeof string === "object" ? getcontenttype(string) : string;
19049
+ if (typeof header !== "string") {
19050
+ throw new TypeError("argument string is required to be a string");
19051
+ }
19052
+ var index = header.indexOf(";");
19053
+ var type = index !== -1 ? header.slice(0, index).trim() : header.trim();
19054
+ if (!TYPE_REGEXP.test(type)) {
19055
+ throw new TypeError("invalid media type");
19056
+ }
19057
+ var obj = new ContentType(type.toLowerCase());
19058
+ if (index !== -1) {
19059
+ var key;
19060
+ var match;
19061
+ var value;
19062
+ PARAM_REGEXP.lastIndex = index;
19063
+ while (match = PARAM_REGEXP.exec(header)) {
19064
+ if (match.index !== index) {
19065
+ throw new TypeError("invalid parameter format");
19066
+ }
19067
+ index += match[0].length;
19068
+ key = match[1].toLowerCase();
19069
+ value = match[2];
19070
+ if (value.charCodeAt(0) === 34) {
19071
+ value = value.slice(1, -1);
19072
+ if (value.indexOf("\\") !== -1) {
19073
+ value = value.replace(QESC_REGEXP, "$1");
19074
+ }
19075
+ }
19076
+ obj.parameters[key] = value;
19077
+ }
19078
+ if (index !== header.length) {
19079
+ throw new TypeError("invalid parameter format");
19080
+ }
19081
+ }
19082
+ return obj;
19083
+ }
19084
+ function getcontenttype(obj) {
19085
+ var header;
19086
+ if (typeof obj.getHeader === "function") {
19087
+ header = obj.getHeader("content-type");
19088
+ } else if (typeof obj.headers === "object") {
19089
+ header = obj.headers && obj.headers["content-type"];
19090
+ }
19091
+ if (typeof header !== "string") {
19092
+ throw new TypeError("content-type header is missing from object");
19093
+ }
19094
+ return header;
19095
+ }
19096
+ function qstring(val) {
19097
+ var str = String(val);
19098
+ if (TOKEN_REGEXP.test(str)) {
19099
+ return str;
19100
+ }
19101
+ if (str.length > 0 && !TEXT_REGEXP.test(str)) {
19102
+ throw new TypeError("invalid parameter value");
19103
+ }
19104
+ return '"' + str.replace(QUOTE_REGEXP, "\\$1") + '"';
19105
+ }
19106
+ function ContentType(type) {
19107
+ this.parameters = /* @__PURE__ */ Object.create(null);
19108
+ this.type = type;
19109
+ }
19110
+ }
19111
+ });
19112
+
19113
+ // ../../node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js
19016
19114
  var require_etag = __commonJS({
19017
- "node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js"(exports, module) {
19115
+ "../../node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js"(exports, module) {
19018
19116
  "use strict";
19019
19117
  module.exports = etag;
19020
19118
  var crypto = __require("crypto");
@@ -19054,9 +19152,9 @@ var require_etag = __commonJS({
19054
19152
  }
19055
19153
  });
19056
19154
 
19057
- // node_modules/.pnpm/forwarded@0.2.0/node_modules/forwarded/index.js
19155
+ // ../../node_modules/.pnpm/forwarded@0.2.0/node_modules/forwarded/index.js
19058
19156
  var require_forwarded = __commonJS({
19059
- "node_modules/.pnpm/forwarded@0.2.0/node_modules/forwarded/index.js"(exports, module) {
19157
+ "../../node_modules/.pnpm/forwarded@0.2.0/node_modules/forwarded/index.js"(exports, module) {
19060
19158
  "use strict";
19061
19159
  module.exports = forwarded;
19062
19160
  function forwarded(req) {
@@ -19101,9 +19199,9 @@ var require_forwarded = __commonJS({
19101
19199
  }
19102
19200
  });
19103
19201
 
19104
- // node_modules/.pnpm/ipaddr.js@1.9.1/node_modules/ipaddr.js/lib/ipaddr.js
19202
+ // ../../node_modules/.pnpm/ipaddr.js@1.9.1/node_modules/ipaddr.js/lib/ipaddr.js
19105
19203
  var require_ipaddr = __commonJS({
19106
- "node_modules/.pnpm/ipaddr.js@1.9.1/node_modules/ipaddr.js/lib/ipaddr.js"(exports, module) {
19204
+ "../../node_modules/.pnpm/ipaddr.js@1.9.1/node_modules/ipaddr.js/lib/ipaddr.js"(exports, module) {
19107
19205
  "use strict";
19108
19206
  (function() {
19109
19207
  var expandIPv6, ipaddr, ipv4Part, ipv4Regexes, ipv6Part, ipv6Regexes, matchCIDR, root, zoneIndex;
@@ -19724,9 +19822,9 @@ var require_ipaddr = __commonJS({
19724
19822
  }
19725
19823
  });
19726
19824
 
19727
- // node_modules/.pnpm/proxy-addr@2.0.7/node_modules/proxy-addr/index.js
19825
+ // ../../node_modules/.pnpm/proxy-addr@2.0.7/node_modules/proxy-addr/index.js
19728
19826
  var require_proxy_addr = __commonJS({
19729
- "node_modules/.pnpm/proxy-addr@2.0.7/node_modules/proxy-addr/index.js"(exports, module) {
19827
+ "../../node_modules/.pnpm/proxy-addr@2.0.7/node_modules/proxy-addr/index.js"(exports, module) {
19730
19828
  "use strict";
19731
19829
  module.exports = proxyaddr;
19732
19830
  module.exports.all = alladdrs;
@@ -19883,9 +19981,9 @@ var require_proxy_addr = __commonJS({
19883
19981
  }
19884
19982
  });
19885
19983
 
19886
- // node_modules/.pnpm/express@5.2.1/node_modules/express/lib/utils.js
19984
+ // ../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/utils.js
19887
19985
  var require_utils3 = __commonJS({
19888
- "node_modules/.pnpm/express@5.2.1/node_modules/express/lib/utils.js"(exports) {
19986
+ "../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/utils.js"(exports) {
19889
19987
  "use strict";
19890
19988
  var { METHODS } = __require("http");
19891
19989
  var contentType = require_content_type();
@@ -20010,9 +20108,9 @@ var require_utils3 = __commonJS({
20010
20108
  }
20011
20109
  });
20012
20110
 
20013
- // node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js
20111
+ // ../../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js
20014
20112
  var require_wrappy = __commonJS({
20015
- "node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js"(exports, module) {
20113
+ "../../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js"(exports, module) {
20016
20114
  "use strict";
20017
20115
  module.exports = wrappy;
20018
20116
  function wrappy(fn, cb) {
@@ -20041,9 +20139,9 @@ var require_wrappy = __commonJS({
20041
20139
  }
20042
20140
  });
20043
20141
 
20044
- // node_modules/.pnpm/once@1.4.0/node_modules/once/once.js
20142
+ // ../../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js
20045
20143
  var require_once = __commonJS({
20046
- "node_modules/.pnpm/once@1.4.0/node_modules/once/once.js"(exports, module) {
20144
+ "../../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js"(exports, module) {
20047
20145
  "use strict";
20048
20146
  var wrappy = require_wrappy();
20049
20147
  module.exports = wrappy(once);
@@ -20086,9 +20184,9 @@ var require_once = __commonJS({
20086
20184
  }
20087
20185
  });
20088
20186
 
20089
- // node_modules/.pnpm/is-promise@4.0.0/node_modules/is-promise/index.js
20187
+ // ../../node_modules/.pnpm/is-promise@4.0.0/node_modules/is-promise/index.js
20090
20188
  var require_is_promise = __commonJS({
20091
- "node_modules/.pnpm/is-promise@4.0.0/node_modules/is-promise/index.js"(exports, module) {
20189
+ "../../node_modules/.pnpm/is-promise@4.0.0/node_modules/is-promise/index.js"(exports, module) {
20092
20190
  "use strict";
20093
20191
  module.exports = isPromise;
20094
20192
  module.exports.default = isPromise;
@@ -20098,9 +20196,9 @@ var require_is_promise = __commonJS({
20098
20196
  }
20099
20197
  });
20100
20198
 
20101
- // node_modules/.pnpm/path-to-regexp@8.4.2/node_modules/path-to-regexp/dist/index.js
20199
+ // ../../node_modules/.pnpm/path-to-regexp@8.4.2/node_modules/path-to-regexp/dist/index.js
20102
20200
  var require_dist2 = __commonJS({
20103
- "node_modules/.pnpm/path-to-regexp@8.4.2/node_modules/path-to-regexp/dist/index.js"(exports) {
20201
+ "../../node_modules/.pnpm/path-to-regexp@8.4.2/node_modules/path-to-regexp/dist/index.js"(exports) {
20104
20202
  "use strict";
20105
20203
  Object.defineProperty(exports, "__esModule", { value: true });
20106
20204
  exports.PathError = exports.TokenData = void 0;
@@ -20321,10 +20419,10 @@ var require_dist2 = __commonJS({
20321
20419
  const keys = [];
20322
20420
  let source = "";
20323
20421
  let combinations = 0;
20324
- function process2(path2) {
20422
+ function process3(path2) {
20325
20423
  if (Array.isArray(path2)) {
20326
20424
  for (const p of path2)
20327
- process2(p);
20425
+ process3(p);
20328
20426
  return;
20329
20427
  }
20330
20428
  const data = typeof path2 === "object" ? path2 : parse(path2, options);
@@ -20338,7 +20436,7 @@ var require_dist2 = __commonJS({
20338
20436
  combinations++;
20339
20437
  });
20340
20438
  }
20341
- process2(path);
20439
+ process3(path);
20342
20440
  let pattern = `^(?:${source})`;
20343
20441
  if (trailing)
20344
20442
  pattern += "(?:" + escape2(delimiter) + "$)?";
@@ -20467,9 +20565,9 @@ var require_dist2 = __commonJS({
20467
20565
  }
20468
20566
  });
20469
20567
 
20470
- // node_modules/.pnpm/router@2.2.0/node_modules/router/lib/layer.js
20568
+ // ../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/layer.js
20471
20569
  var require_layer = __commonJS({
20472
- "node_modules/.pnpm/router@2.2.0/node_modules/router/lib/layer.js"(exports, module) {
20570
+ "../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/layer.js"(exports, module) {
20473
20571
  "use strict";
20474
20572
  var isPromise = require_is_promise();
20475
20573
  var pathRegexp = require_dist2();
@@ -20617,9 +20715,9 @@ var require_layer = __commonJS({
20617
20715
  }
20618
20716
  });
20619
20717
 
20620
- // node_modules/.pnpm/router@2.2.0/node_modules/router/lib/route.js
20718
+ // ../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/route.js
20621
20719
  var require_route = __commonJS({
20622
- "node_modules/.pnpm/router@2.2.0/node_modules/router/lib/route.js"(exports, module) {
20720
+ "../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/route.js"(exports, module) {
20623
20721
  "use strict";
20624
20722
  var debug = require_src()("router:route");
20625
20723
  var Layer = require_layer();
@@ -20737,9 +20835,9 @@ var require_route = __commonJS({
20737
20835
  }
20738
20836
  });
20739
20837
 
20740
- // node_modules/.pnpm/router@2.2.0/node_modules/router/index.js
20838
+ // ../../node_modules/.pnpm/router@2.2.0/node_modules/router/index.js
20741
20839
  var require_router = __commonJS({
20742
- "node_modules/.pnpm/router@2.2.0/node_modules/router/index.js"(exports, module) {
20840
+ "../../node_modules/.pnpm/router@2.2.0/node_modules/router/index.js"(exports, module) {
20743
20841
  "use strict";
20744
20842
  var isPromise = require_is_promise();
20745
20843
  var Layer = require_layer();
@@ -21135,9 +21233,9 @@ var require_router = __commonJS({
21135
21233
  }
21136
21234
  });
21137
21235
 
21138
- // node_modules/.pnpm/express@5.2.1/node_modules/express/lib/application.js
21236
+ // ../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/application.js
21139
21237
  var require_application = __commonJS({
21140
- "node_modules/.pnpm/express@5.2.1/node_modules/express/lib/application.js"(exports, module) {
21238
+ "../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/application.js"(exports, module) {
21141
21239
  "use strict";
21142
21240
  var finalhandler = require_finalhandler();
21143
21241
  var debug = require_src()("express:application");
@@ -21175,10 +21273,10 @@ var require_application = __commonJS({
21175
21273
  });
21176
21274
  };
21177
21275
  app.defaultConfiguration = function defaultConfiguration() {
21178
- var env = process.env.NODE_ENV || "development";
21276
+ var env2 = process.env.NODE_ENV || "development";
21179
21277
  this.enable("x-powered-by");
21180
21278
  this.set("etag", "weak");
21181
- this.set("env", env);
21279
+ this.set("env", env2);
21182
21280
  this.set("query parser", "simple");
21183
21281
  this.set("subdomain offset", 2);
21184
21282
  this.set("trust proxy", false);
@@ -21186,7 +21284,7 @@ var require_application = __commonJS({
21186
21284
  configurable: true,
21187
21285
  value: true
21188
21286
  });
21189
- debug("booting in %s mode", env);
21287
+ debug("booting in %s mode", env2);
21190
21288
  this.on("mount", function onmount(parent) {
21191
21289
  if (this.settings[trustProxyDefaultSymbol] === true && typeof parent.settings["trust proxy fn"] === "function") {
21192
21290
  delete this.settings["trust proxy"];
@@ -21203,7 +21301,7 @@ var require_application = __commonJS({
21203
21301
  this.set("view", View);
21204
21302
  this.set("views", resolve("views"));
21205
21303
  this.set("jsonp callback name", "callback");
21206
- if (env === "production") {
21304
+ if (env2 === "production") {
21207
21305
  this.enable("view cache");
21208
21306
  }
21209
21307
  };
@@ -21396,9 +21494,9 @@ var require_application = __commonJS({
21396
21494
  }
21397
21495
  });
21398
21496
 
21399
- // node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/charset.js
21497
+ // ../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/charset.js
21400
21498
  var require_charset = __commonJS({
21401
- "node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/charset.js"(exports, module) {
21499
+ "../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/charset.js"(exports, module) {
21402
21500
  "use strict";
21403
21501
  module.exports = preferredCharsets;
21404
21502
  module.exports.preferredCharsets = preferredCharsets;
@@ -21483,9 +21581,9 @@ var require_charset = __commonJS({
21483
21581
  }
21484
21582
  });
21485
21583
 
21486
- // node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/encoding.js
21584
+ // ../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/encoding.js
21487
21585
  var require_encoding = __commonJS({
21488
- "node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/encoding.js"(exports, module) {
21586
+ "../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/encoding.js"(exports, module) {
21489
21587
  "use strict";
21490
21588
  module.exports = preferredEncodings;
21491
21589
  module.exports.preferredEncodings = preferredEncodings;
@@ -21596,9 +21694,9 @@ var require_encoding = __commonJS({
21596
21694
  }
21597
21695
  });
21598
21696
 
21599
- // node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/language.js
21697
+ // ../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/language.js
21600
21698
  var require_language = __commonJS({
21601
- "node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/language.js"(exports, module) {
21699
+ "../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/language.js"(exports, module) {
21602
21700
  "use strict";
21603
21701
  module.exports = preferredLanguages;
21604
21702
  module.exports.preferredLanguages = preferredLanguages;
@@ -21691,9 +21789,9 @@ var require_language = __commonJS({
21691
21789
  }
21692
21790
  });
21693
21791
 
21694
- // node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/mediaType.js
21792
+ // ../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/mediaType.js
21695
21793
  var require_mediaType = __commonJS({
21696
- "node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/mediaType.js"(exports, module) {
21794
+ "../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/mediaType.js"(exports, module) {
21697
21795
  "use strict";
21698
21796
  module.exports = preferredMediaTypes;
21699
21797
  module.exports.preferredMediaTypes = preferredMediaTypes;
@@ -21853,9 +21951,9 @@ var require_mediaType = __commonJS({
21853
21951
  }
21854
21952
  });
21855
21953
 
21856
- // node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/index.js
21954
+ // ../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/index.js
21857
21955
  var require_negotiator = __commonJS({
21858
- "node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/index.js"(exports, module) {
21956
+ "../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/index.js"(exports, module) {
21859
21957
  "use strict";
21860
21958
  var preferredCharsets = require_charset();
21861
21959
  var preferredEncodings = require_encoding();
@@ -21909,9 +22007,9 @@ var require_negotiator = __commonJS({
21909
22007
  }
21910
22008
  });
21911
22009
 
21912
- // node_modules/.pnpm/accepts@2.0.0/node_modules/accepts/index.js
22010
+ // ../../node_modules/.pnpm/accepts@2.0.0/node_modules/accepts/index.js
21913
22011
  var require_accepts = __commonJS({
21914
- "node_modules/.pnpm/accepts@2.0.0/node_modules/accepts/index.js"(exports, module) {
22012
+ "../../node_modules/.pnpm/accepts@2.0.0/node_modules/accepts/index.js"(exports, module) {
21915
22013
  "use strict";
21916
22014
  var Negotiator = require_negotiator();
21917
22015
  var mime = require_mime_types();
@@ -21990,9 +22088,9 @@ var require_accepts = __commonJS({
21990
22088
  }
21991
22089
  });
21992
22090
 
21993
- // node_modules/.pnpm/fresh@2.0.0/node_modules/fresh/index.js
22091
+ // ../../node_modules/.pnpm/fresh@2.0.0/node_modules/fresh/index.js
21994
22092
  var require_fresh = __commonJS({
21995
- "node_modules/.pnpm/fresh@2.0.0/node_modules/fresh/index.js"(exports, module) {
22093
+ "../../node_modules/.pnpm/fresh@2.0.0/node_modules/fresh/index.js"(exports, module) {
21996
22094
  "use strict";
21997
22095
  var CACHE_CONTROL_NO_CACHE_REGEXP = /(?:^|,)\s*?no-cache\s*?(?:,|$)/;
21998
22096
  module.exports = fresh;
@@ -22062,9 +22160,9 @@ var require_fresh = __commonJS({
22062
22160
  }
22063
22161
  });
22064
22162
 
22065
- // node_modules/.pnpm/range-parser@1.2.1/node_modules/range-parser/index.js
22163
+ // ../../node_modules/.pnpm/range-parser@1.3.0/node_modules/range-parser/index.js
22066
22164
  var require_range_parser = __commonJS({
22067
- "node_modules/.pnpm/range-parser@1.2.1/node_modules/range-parser/index.js"(exports, module) {
22165
+ "../../node_modules/.pnpm/range-parser@1.3.0/node_modules/range-parser/index.js"(exports, module) {
22068
22166
  "use strict";
22069
22167
  module.exports = rangeParser;
22070
22168
  function rangeParser(size, str, options) {
@@ -22079,19 +22177,27 @@ var require_range_parser = __commonJS({
22079
22177
  var ranges = [];
22080
22178
  ranges.type = str.slice(0, index);
22081
22179
  for (var i = 0; i < arr.length; i++) {
22082
- var range = arr[i].split("-");
22083
- var start = parseInt(range[0], 10);
22084
- var end = parseInt(range[1], 10);
22085
- if (isNaN(start)) {
22180
+ var indexOf = arr[i].indexOf("-");
22181
+ if (indexOf === -1) {
22182
+ return -2;
22183
+ }
22184
+ var startStr = arr[i].slice(0, indexOf).trim();
22185
+ var endStr = arr[i].slice(indexOf + 1).trim();
22186
+ var start = parsePos(startStr);
22187
+ var end = parsePos(endStr);
22188
+ if (startStr.length === 0) {
22086
22189
  start = size - end;
22087
22190
  end = size - 1;
22088
- } else if (isNaN(end)) {
22191
+ } else if (endStr.length === 0) {
22089
22192
  end = size - 1;
22090
22193
  }
22091
22194
  if (end > size - 1) {
22092
22195
  end = size - 1;
22093
22196
  }
22094
- if (isNaN(start) || isNaN(end) || start > end || start < 0) {
22197
+ if (isNaN(start) || isNaN(end)) {
22198
+ return -2;
22199
+ }
22200
+ if (start > end || start < 0) {
22095
22201
  continue;
22096
22202
  }
22097
22203
  ranges.push({
@@ -22104,6 +22210,10 @@ var require_range_parser = __commonJS({
22104
22210
  }
22105
22211
  return options && options.combine ? combineRanges(ranges) : ranges;
22106
22212
  }
22213
+ function parsePos(str) {
22214
+ if (/^\d+$/.test(str)) return Number(str);
22215
+ return NaN;
22216
+ }
22107
22217
  function combineRanges(ranges) {
22108
22218
  var ordered = ranges.map(mapWithIndex).sort(sortByRangeStart);
22109
22219
  for (var j = 0, i = 1; i < ordered.length; i++) {
@@ -22143,9 +22253,9 @@ var require_range_parser = __commonJS({
22143
22253
  }
22144
22254
  });
22145
22255
 
22146
- // node_modules/.pnpm/express@5.2.1/node_modules/express/lib/request.js
22256
+ // ../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/request.js
22147
22257
  var require_request = __commonJS({
22148
- "node_modules/.pnpm/express@5.2.1/node_modules/express/lib/request.js"(exports, module) {
22258
+ "../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/request.js"(exports, module) {
22149
22259
  "use strict";
22150
22260
  var accepts = require_accepts();
22151
22261
  var isIP = __require("net").isIP;
@@ -22291,9 +22401,9 @@ var require_request = __commonJS({
22291
22401
  }
22292
22402
  });
22293
22403
 
22294
- // node_modules/.pnpm/content-disposition@1.1.0/node_modules/content-disposition/index.js
22404
+ // ../../node_modules/.pnpm/content-disposition@1.1.0/node_modules/content-disposition/index.js
22295
22405
  var require_content_disposition = __commonJS({
22296
- "node_modules/.pnpm/content-disposition@1.1.0/node_modules/content-disposition/index.js"(exports, module) {
22406
+ "../../node_modules/.pnpm/content-disposition@1.1.0/node_modules/content-disposition/index.js"(exports, module) {
22297
22407
  "use strict";
22298
22408
  module.exports = contentDisposition;
22299
22409
  module.exports.parse = parse;
@@ -22500,9 +22610,9 @@ var require_content_disposition = __commonJS({
22500
22610
  }
22501
22611
  });
22502
22612
 
22503
- // node_modules/.pnpm/cookie-signature@1.2.2/node_modules/cookie-signature/index.js
22613
+ // ../../node_modules/.pnpm/cookie-signature@1.2.2/node_modules/cookie-signature/index.js
22504
22614
  var require_cookie_signature = __commonJS({
22505
- "node_modules/.pnpm/cookie-signature@1.2.2/node_modules/cookie-signature/index.js"(exports) {
22615
+ "../../node_modules/.pnpm/cookie-signature@1.2.2/node_modules/cookie-signature/index.js"(exports) {
22506
22616
  "use strict";
22507
22617
  var crypto = __require("crypto");
22508
22618
  exports.sign = function(val, secret) {
@@ -22519,9 +22629,9 @@ var require_cookie_signature = __commonJS({
22519
22629
  }
22520
22630
  });
22521
22631
 
22522
- // node_modules/.pnpm/cookie@0.7.2/node_modules/cookie/index.js
22632
+ // ../../node_modules/.pnpm/cookie@0.7.2/node_modules/cookie/index.js
22523
22633
  var require_cookie = __commonJS({
22524
- "node_modules/.pnpm/cookie@0.7.2/node_modules/cookie/index.js"(exports) {
22634
+ "../../node_modules/.pnpm/cookie@0.7.2/node_modules/cookie/index.js"(exports) {
22525
22635
  "use strict";
22526
22636
  exports.parse = parse;
22527
22637
  exports.serialize = serialize;
@@ -22685,9 +22795,9 @@ var require_cookie = __commonJS({
22685
22795
  }
22686
22796
  });
22687
22797
 
22688
- // node_modules/.pnpm/send@1.2.1/node_modules/send/index.js
22798
+ // ../../node_modules/.pnpm/send@1.2.1/node_modules/send/index.js
22689
22799
  var require_send = __commonJS({
22690
- "node_modules/.pnpm/send@1.2.1/node_modules/send/index.js"(exports, module) {
22800
+ "../../node_modules/.pnpm/send@1.2.1/node_modules/send/index.js"(exports, module) {
22691
22801
  "use strict";
22692
22802
  var createError = require_http_errors();
22693
22803
  var debug = require_src()("send");
@@ -23168,9 +23278,9 @@ var require_send = __commonJS({
23168
23278
  }
23169
23279
  });
23170
23280
 
23171
- // node_modules/.pnpm/vary@1.1.2/node_modules/vary/index.js
23281
+ // ../../node_modules/.pnpm/vary@1.1.2/node_modules/vary/index.js
23172
23282
  var require_vary = __commonJS({
23173
- "node_modules/.pnpm/vary@1.1.2/node_modules/vary/index.js"(exports, module) {
23283
+ "../../node_modules/.pnpm/vary@1.1.2/node_modules/vary/index.js"(exports, module) {
23174
23284
  "use strict";
23175
23285
  module.exports = vary;
23176
23286
  module.exports.append = append;
@@ -23241,9 +23351,9 @@ var require_vary = __commonJS({
23241
23351
  }
23242
23352
  });
23243
23353
 
23244
- // node_modules/.pnpm/express@5.2.1/node_modules/express/lib/response.js
23354
+ // ../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/response.js
23245
23355
  var require_response = __commonJS({
23246
- "node_modules/.pnpm/express@5.2.1/node_modules/express/lib/response.js"(exports, module) {
23356
+ "../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/response.js"(exports, module) {
23247
23357
  "use strict";
23248
23358
  var contentDisposition = require_content_disposition();
23249
23359
  var createError = require_http_errors();
@@ -23711,9 +23821,9 @@ var require_response = __commonJS({
23711
23821
  }
23712
23822
  });
23713
23823
 
23714
- // node_modules/.pnpm/serve-static@2.2.1/node_modules/serve-static/index.js
23824
+ // ../../node_modules/.pnpm/serve-static@2.2.1/node_modules/serve-static/index.js
23715
23825
  var require_serve_static = __commonJS({
23716
- "node_modules/.pnpm/serve-static@2.2.1/node_modules/serve-static/index.js"(exports, module) {
23826
+ "../../node_modules/.pnpm/serve-static@2.2.1/node_modules/serve-static/index.js"(exports, module) {
23717
23827
  "use strict";
23718
23828
  var encodeUrl = require_encodeurl();
23719
23829
  var escapeHtml = require_escape_html();
@@ -23815,9 +23925,9 @@ var require_serve_static = __commonJS({
23815
23925
  }
23816
23926
  });
23817
23927
 
23818
- // node_modules/.pnpm/express@5.2.1/node_modules/express/lib/express.js
23928
+ // ../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/express.js
23819
23929
  var require_express = __commonJS({
23820
- "node_modules/.pnpm/express@5.2.1/node_modules/express/lib/express.js"(exports, module) {
23930
+ "../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/express.js"(exports, module) {
23821
23931
  "use strict";
23822
23932
  var bodyParser = require_body_parser();
23823
23933
  var EventEmitter = __require("events").EventEmitter;
@@ -23855,9 +23965,9 @@ var require_express = __commonJS({
23855
23965
  }
23856
23966
  });
23857
23967
 
23858
- // node_modules/.pnpm/express@5.2.1/node_modules/express/index.js
23968
+ // ../../node_modules/.pnpm/express@5.2.1/node_modules/express/index.js
23859
23969
  var require_express2 = __commonJS({
23860
- "node_modules/.pnpm/express@5.2.1/node_modules/express/index.js"(exports, module) {
23970
+ "../../node_modules/.pnpm/express@5.2.1/node_modules/express/index.js"(exports, module) {
23861
23971
  "use strict";
23862
23972
  module.exports = require_express();
23863
23973
  }
@@ -23869,58 +23979,133 @@ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/
23869
23979
  import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
23870
23980
  import { isInitializeRequest } from "@modelcontextprotocol/sdk/types.js";
23871
23981
  import { randomUUID, createHash } from "crypto";
23872
- var oauthTokens = /* @__PURE__ */ new Map();
23873
- function extractBearerToken(req) {
23982
+ var SESSION_MAX_AGE_MS = 30 * 60 * 1e3;
23983
+ var REAPER_INTERVAL_MS = 60 * 1e3;
23984
+ var MAX_SESSIONS_PER_KEY = 20;
23985
+ var OAUTH_TOKEN_TTL_SECONDS = 3600;
23986
+ var MAX_OAUTH_TOKENS_PER_KEY = 10;
23987
+ function readBearerToken(req) {
23874
23988
  const authHeader = req.headers.authorization;
23875
- if (!authHeader?.startsWith("Bearer ")) return null;
23876
- const token = authHeader.slice(7) || null;
23877
- if (!token) return null;
23878
- const oauthEntry = oauthTokens.get(token);
23879
- if (oauthEntry) {
23880
- if (Date.now() < oauthEntry.expiresAt) {
23881
- return oauthEntry.apiKey;
23882
- }
23883
- oauthTokens.delete(token);
23884
- return null;
23885
- }
23886
- return token;
23989
+ if (!authHeader) return null;
23990
+ const header = authHeader.trim();
23991
+ const separator = header.indexOf(" ");
23992
+ if (separator === -1) return null;
23993
+ if (header.slice(0, separator).toLowerCase() !== "bearer") return null;
23994
+ return header.slice(separator + 1).trim() || null;
23887
23995
  }
23888
23996
  function generateAccessToken() {
23889
23997
  return createHash("sha256").update(randomUUID()).digest("hex");
23890
23998
  }
23999
+ function rateLimitKey(req) {
24000
+ if (process.env.LANGWATCH_MCP_TRUST_PROXY === "true") {
24001
+ return req.ip ?? req.socket.remoteAddress ?? "unknown";
24002
+ }
24003
+ return req.socket.remoteAddress ?? "unknown";
24004
+ }
24005
+ function resolveApiKey({
24006
+ token,
24007
+ oauthTokens
24008
+ }) {
24009
+ const oauthEntry = oauthTokens.get(token);
24010
+ if (!oauthEntry) return token;
24011
+ if (Date.now() < oauthEntry.expiresAt) return oauthEntry.apiKey;
24012
+ oauthTokens.delete(token);
24013
+ return null;
24014
+ }
24015
+ function sendUnauthorized({
24016
+ res,
24017
+ error
24018
+ }) {
24019
+ res.status(401).json({ error });
24020
+ }
23891
24021
  async function handleWithSessionConfig(apiKey, fn) {
23892
24022
  const baseConfig = getConfig();
23893
24023
  return runWithConfig({ ...baseConfig, apiKey }, fn);
23894
24024
  }
23895
- async function startHttpServer({
23896
- port
24025
+ function createOriginMiddleware({
24026
+ allowedOrigins
23897
24027
  }) {
23898
- const app = (0, import_express.default)();
23899
- app.set("trust proxy", true);
23900
- app.use(import_express.default.json());
23901
- app.use((_req, res, next) => {
23902
- res.header("Access-Control-Allow-Origin", "*");
23903
- res.header(
23904
- "Access-Control-Allow-Methods",
23905
- "GET, POST, DELETE, OPTIONS"
23906
- );
24028
+ return (req, res, next) => {
24029
+ const origin = req.headers.origin;
24030
+ if (typeof origin === "string" && origin.length > 0) {
24031
+ if (!isOriginAllowed({ origin, allowedOrigins })) {
24032
+ res.status(403).json({ error: "Origin not allowed" });
24033
+ return;
24034
+ }
24035
+ res.header("Access-Control-Allow-Origin", origin);
24036
+ res.header("Vary", "Origin");
24037
+ res.header(
24038
+ "Access-Control-Expose-Headers",
24039
+ "Mcp-Session-Id, MCP-Protocol-Version"
24040
+ );
24041
+ }
24042
+ res.header("Access-Control-Allow-Methods", "GET, POST, DELETE, OPTIONS");
23907
24043
  res.header(
23908
24044
  "Access-Control-Allow-Headers",
23909
24045
  "Content-Type, Authorization, mcp-session-id, MCP-Protocol-Version"
23910
24046
  );
23911
- if (_req.method === "OPTIONS") {
23912
- res.sendStatus(200);
24047
+ res.header("X-Content-Type-Options", "nosniff");
24048
+ res.header("X-Frame-Options", "DENY");
24049
+ if (req.method === "OPTIONS") {
24050
+ res.sendStatus(204);
23913
24051
  return;
23914
24052
  }
23915
24053
  next();
24054
+ };
24055
+ }
24056
+ function createAuthenticator(runtime) {
24057
+ const { verifier, oauthTokens, authFailRateLimiter } = runtime;
24058
+ return async ({ req, res, expectedApiKey }) => {
24059
+ const ip = rateLimitKey(req);
24060
+ if (authFailRateLimiter.isBlocked(ip)) {
24061
+ res.status(429).json({ error: "Too many requests" });
24062
+ return null;
24063
+ }
24064
+ const token = readBearerToken(req);
24065
+ if (!token) {
24066
+ sendUnauthorized({ res, error: "Authorization: Bearer <LANGWATCH_API_KEY> header required" });
24067
+ return null;
24068
+ }
24069
+ const apiKey = resolveApiKey({ token, oauthTokens });
24070
+ if (!apiKey) {
24071
+ authFailRateLimiter.track(ip);
24072
+ sendUnauthorized({ res, error: "Invalid or expired token" });
24073
+ return null;
24074
+ }
24075
+ if (expectedApiKey !== void 0 && !apiKeysMatch({ presentedKey: apiKey, expectedKey: expectedApiKey })) {
24076
+ authFailRateLimiter.track(ip);
24077
+ sendUnauthorized({ res, error: "Bearer token does not match session" });
24078
+ return null;
24079
+ }
24080
+ if (!await verifier.verify(apiKey)) {
24081
+ authFailRateLimiter.track(ip);
24082
+ sendUnauthorized({ res, error: "Invalid API key" });
24083
+ return null;
24084
+ }
24085
+ return apiKey;
24086
+ };
24087
+ }
24088
+ function overSessionLimit({
24089
+ apiKey,
24090
+ sessions,
24091
+ sseSessions
24092
+ }) {
24093
+ return sessions.countForKey(apiKey) + sseSessions.countForKey(apiKey) >= MAX_SESSIONS_PER_KEY;
24094
+ }
24095
+ function sendSessionLimitReached(res) {
24096
+ res.status(429).json({
24097
+ error: `Too many concurrent sessions (max ${MAX_SESSIONS_PER_KEY})`
23916
24098
  });
23917
- app.get("/health", (_req, res) => {
23918
- res.json({ status: "ok" });
23919
- });
24099
+ }
24100
+ function registerOAuthRoutes({
24101
+ app,
24102
+ runtime
24103
+ }) {
24104
+ const { verifier, oauthTokens, oauthRateLimiter } = runtime;
23920
24105
  app.get(
23921
24106
  "/.well-known/oauth-authorization-server",
23922
- (_req, res) => {
23923
- const baseUrl = `${_req.protocol}://${_req.get("host")}`;
24107
+ (req, res) => {
24108
+ const baseUrl = `${req.protocol}://${req.get("host")}`;
23924
24109
  res.json({
23925
24110
  issuer: baseUrl,
23926
24111
  token_endpoint: `${baseUrl}/oauth/token`,
@@ -23934,9 +24119,14 @@ async function startHttpServer({
23934
24119
  app.post(
23935
24120
  "/oauth/token",
23936
24121
  import_express.default.urlencoded({ extended: false }),
23937
- (req, res) => {
23938
- const grantType = req.body.grant_type;
23939
- if (grantType !== "client_credentials") {
24122
+ async (req, res) => {
24123
+ const ip = rateLimitKey(req);
24124
+ if (oauthRateLimiter.isBlocked(ip)) {
24125
+ res.status(429).json({ error: "Too many requests" });
24126
+ return;
24127
+ }
24128
+ oauthRateLimiter.track(ip);
24129
+ if (req.body.grant_type !== "client_credentials") {
23940
24130
  res.status(400).json({
23941
24131
  error: "unsupported_grant_type",
23942
24132
  error_description: "Only client_credentials grant type is supported"
@@ -23951,25 +24141,50 @@ async function startHttpServer({
23951
24141
  });
23952
24142
  return;
23953
24143
  }
23954
- const expiresIn = 3600;
24144
+ if (!await verifier.verify(clientSecret)) {
24145
+ res.status(401).json({
24146
+ error: "invalid_client",
24147
+ error_description: "client_secret is not a valid LangWatch API key"
24148
+ });
24149
+ return;
24150
+ }
23955
24151
  const accessToken = generateAccessToken();
24152
+ admitOAuthToken({
24153
+ apiKey: clientSecret,
24154
+ tokens: oauthTokens,
24155
+ maxPerKey: MAX_OAUTH_TOKENS_PER_KEY
24156
+ });
23956
24157
  oauthTokens.set(accessToken, {
23957
24158
  apiKey: clientSecret,
23958
- expiresAt: Date.now() + expiresIn * 1e3
24159
+ expiresAt: Date.now() + OAUTH_TOKEN_TTL_SECONDS * 1e3
23959
24160
  });
23960
24161
  res.json({
23961
24162
  access_token: accessToken,
23962
24163
  token_type: "Bearer",
23963
- expires_in: expiresIn,
24164
+ expires_in: OAUTH_TOKEN_TTL_SECONDS,
23964
24165
  scope: "mcp:tools"
23965
24166
  });
23966
24167
  }
23967
24168
  );
23968
- const sessions = {};
24169
+ }
24170
+ function registerStreamableHttpRoutes({
24171
+ app,
24172
+ runtime,
24173
+ authenticate
24174
+ }) {
24175
+ const { sessions, sseSessions } = runtime;
24176
+ const sessionIdOf = (req) => req.headers["mcp-session-id"];
23969
24177
  app.post("/mcp", async (req, res) => {
23970
- const sessionId = req.headers["mcp-session-id"];
23971
- if (sessionId && sessions[sessionId]) {
23972
- const session = sessions[sessionId];
24178
+ const sessionId = sessionIdOf(req);
24179
+ const session = sessionId ? sessions.get(sessionId) : void 0;
24180
+ if (sessionId && session) {
24181
+ const apiKey = await authenticate({
24182
+ req,
24183
+ res,
24184
+ expectedApiKey: session.apiKey
24185
+ });
24186
+ if (!apiKey) return;
24187
+ sessions.touch(sessionId);
23973
24188
  await handleWithSessionConfig(
23974
24189
  session.apiKey,
23975
24190
  () => session.transport.handleRequest(req, res, req.body)
@@ -23977,90 +24192,131 @@ async function startHttpServer({
23977
24192
  return;
23978
24193
  }
23979
24194
  if (!sessionId && isInitializeRequest(req.body)) {
23980
- const apiKey = extractBearerToken(req);
23981
- if (!apiKey) {
23982
- res.status(401).json({
23983
- error: "Authorization: Bearer <LANGWATCH_API_KEY> header required"
23984
- });
24195
+ const apiKey = await authenticate({ req, res });
24196
+ if (!apiKey) return;
24197
+ if (overSessionLimit({ apiKey, sessions, sseSessions })) {
24198
+ sendSessionLimitReached(res);
23985
24199
  return;
23986
24200
  }
24201
+ const reservation = sessions.reserve(apiKey);
23987
24202
  const transport = new StreamableHTTPServerTransport({
23988
24203
  sessionIdGenerator: () => randomUUID(),
23989
24204
  onsessioninitialized: (id) => {
23990
- sessions[id] = { transport, apiKey };
24205
+ reservation.commit({ sessionId: id, transport });
23991
24206
  }
23992
24207
  });
23993
24208
  transport.onclose = () => {
23994
- if (transport.sessionId) {
23995
- delete sessions[transport.sessionId];
23996
- }
24209
+ if (transport.sessionId) sessions.remove(transport.sessionId);
23997
24210
  };
23998
24211
  const sessionServer = createMcpServer();
23999
- await handleWithSessionConfig(
24000
- apiKey,
24001
- () => sessionServer.connect(transport)
24002
- );
24003
- await handleWithSessionConfig(
24004
- apiKey,
24005
- () => transport.handleRequest(req, res, req.body)
24006
- );
24212
+ try {
24213
+ await handleWithSessionConfig(
24214
+ apiKey,
24215
+ () => sessionServer.connect(transport)
24216
+ );
24217
+ await handleWithSessionConfig(
24218
+ apiKey,
24219
+ () => transport.handleRequest(req, res, req.body)
24220
+ );
24221
+ } catch (error) {
24222
+ if (transport.sessionId) sessions.remove(transport.sessionId);
24223
+ await transport.close().catch(() => void 0);
24224
+ throw error;
24225
+ } finally {
24226
+ reservation.release();
24227
+ }
24228
+ return;
24229
+ }
24230
+ if (sessionId) {
24231
+ sendUnauthorized({ res, error: "Session expired or not found" });
24007
24232
  return;
24008
24233
  }
24009
24234
  res.status(400).json({
24010
- error: "Invalid request \u2014 no session ID or not an initialize request"
24235
+ error: "Invalid request, no session ID or not an initialize request"
24011
24236
  });
24012
24237
  });
24013
24238
  app.get("/mcp", async (req, res) => {
24014
- const sessionId = req.headers["mcp-session-id"];
24015
- if (sessionId && sessions[sessionId]) {
24016
- const session = sessions[sessionId];
24239
+ const sessionId = sessionIdOf(req);
24240
+ const session = sessionId ? sessions.get(sessionId) : void 0;
24241
+ if (sessionId && session) {
24242
+ const apiKey = await authenticate({
24243
+ req,
24244
+ res,
24245
+ expectedApiKey: session.apiKey
24246
+ });
24247
+ if (!apiKey) return;
24248
+ sessions.touch(sessionId);
24017
24249
  await handleWithSessionConfig(
24018
24250
  session.apiKey,
24019
24251
  () => session.transport.handleRequest(req, res)
24020
24252
  );
24021
- } else {
24022
- res.status(400).json({ error: "Invalid request \u2014 no valid session ID" });
24253
+ return;
24254
+ }
24255
+ if (sessionId) {
24256
+ sendUnauthorized({ res, error: "Session expired or not found" });
24257
+ return;
24023
24258
  }
24259
+ res.status(400).json({ error: "Invalid request, no valid session ID" });
24024
24260
  });
24025
24261
  app.delete("/mcp", async (req, res) => {
24026
- const sessionId = req.headers["mcp-session-id"];
24027
- if (sessionId && sessions[sessionId]) {
24028
- const session = sessions[sessionId];
24029
- await session.transport.close();
24030
- delete sessions[sessionId];
24031
- res.status(200).json({ status: "session closed" });
24032
- } else {
24262
+ const apiKey = await authenticate({ req, res });
24263
+ if (!apiKey) return;
24264
+ const sessionId = sessionIdOf(req);
24265
+ const session = sessionId ? sessions.get(sessionId) : void 0;
24266
+ const owned = session !== void 0 && apiKeysMatch({ presentedKey: apiKey, expectedKey: session.apiKey });
24267
+ if (!sessionId || !session || !owned) {
24033
24268
  res.status(404).json({ error: "Session not found" });
24269
+ return;
24034
24270
  }
24271
+ sessions.remove(sessionId);
24272
+ await session.transport.close();
24273
+ res.status(200).json({ status: "session closed" });
24035
24274
  });
24036
- const sseSessions = {};
24275
+ }
24276
+ function registerSseRoutes({
24277
+ app,
24278
+ runtime,
24279
+ authenticate
24280
+ }) {
24281
+ const { sessions, sseSessions } = runtime;
24037
24282
  app.get("/sse", async (req, res) => {
24038
- const apiKey = extractBearerToken(req) || // lgtm[js/sensitive-get-query]
24039
- req.query["apiKey"] || null;
24040
- if (!apiKey) {
24041
- res.status(401).json({
24042
- error: "Authorization: Bearer <LANGWATCH_API_KEY> header or ?apiKey= query parameter required"
24043
- });
24283
+ const apiKey = await authenticate({ req, res });
24284
+ if (!apiKey) return;
24285
+ if (overSessionLimit({ apiKey, sessions, sseSessions })) {
24286
+ sendSessionLimitReached(res);
24044
24287
  return;
24045
24288
  }
24046
24289
  const transport = new SSEServerTransport("/messages", res);
24047
- sseSessions[transport.sessionId] = { transport, apiKey };
24290
+ sseSessions.add({ sessionId: transport.sessionId, transport, apiKey });
24048
24291
  const sessionServer = createMcpServer();
24049
24292
  res.on("close", () => {
24050
- delete sseSessions[transport.sessionId];
24293
+ sseSessions.remove(transport.sessionId);
24051
24294
  });
24052
- await handleWithSessionConfig(
24053
- apiKey,
24054
- () => sessionServer.connect(transport)
24055
- );
24295
+ try {
24296
+ await handleWithSessionConfig(
24297
+ apiKey,
24298
+ () => sessionServer.connect(transport)
24299
+ );
24300
+ } catch (error) {
24301
+ sseSessions.remove(transport.sessionId);
24302
+ await transport.close().catch(() => void 0);
24303
+ if (!res.headersSent) {
24304
+ res.status(500).json({ error: "Failed to open SSE session" });
24305
+ }
24306
+ throw error;
24307
+ }
24056
24308
  });
24057
24309
  const handleSseMessage = async (req, res) => {
24310
+ const apiKey = await authenticate({ req, res });
24311
+ if (!apiKey) return;
24058
24312
  const sessionId = req.query["sessionId"];
24059
- if (!sessionId || !sseSessions[sessionId]) {
24313
+ const session = sessionId ? sseSessions.get(sessionId) : void 0;
24314
+ const owned = session !== void 0 && apiKeysMatch({ presentedKey: apiKey, expectedKey: session.apiKey });
24315
+ if (!sessionId || !session || !owned) {
24060
24316
  res.status(400).json({ error: "Invalid or missing session ID" });
24061
24317
  return;
24062
24318
  }
24063
- const session = sseSessions[sessionId];
24319
+ sseSessions.touch(sessionId);
24064
24320
  await handleWithSessionConfig(
24065
24321
  session.apiKey,
24066
24322
  () => session.transport.handlePostMessage(req, res, req.body)
@@ -24068,11 +24324,95 @@ async function startHttpServer({
24068
24324
  };
24069
24325
  app.post("/messages", handleSseMessage);
24070
24326
  app.post("/sse/messages", handleSseMessage);
24327
+ }
24328
+ function startReaper(runtime) {
24329
+ const {
24330
+ sessions,
24331
+ sseSessions,
24332
+ oauthTokens,
24333
+ verifier,
24334
+ authFailRateLimiter,
24335
+ oauthRateLimiter
24336
+ } = runtime;
24337
+ const reaper = setInterval(() => {
24338
+ sessions.sweep();
24339
+ sseSessions.sweep();
24340
+ const now = Date.now();
24341
+ for (const [token, entry] of oauthTokens) {
24342
+ if (now >= entry.expiresAt) oauthTokens.delete(token);
24343
+ }
24344
+ verifier.sweep();
24345
+ authFailRateLimiter.sweep();
24346
+ oauthRateLimiter.sweep();
24347
+ }, REAPER_INTERVAL_MS);
24348
+ reaper.unref();
24349
+ return reaper;
24350
+ }
24351
+ function createRuntime({
24352
+ endpoint,
24353
+ apiKeyVerifier
24354
+ }) {
24355
+ const closeTransport = (transport) => void transport.close().catch(() => void 0);
24356
+ return {
24357
+ verifier: apiKeyVerifier ?? createApiKeyVerifier({ endpoint }),
24358
+ oauthTokens: /* @__PURE__ */ new Map(),
24359
+ // Failed authentication is rate limited per client address so an attacker
24360
+ // cannot spray candidate keys or turn one flood into unbounded
24361
+ // verification traffic upstream.
24362
+ authFailRateLimiter: createRateLimiter({
24363
+ windowMs: 6e4,
24364
+ maxRequests: 20
24365
+ }),
24366
+ oauthRateLimiter: createRateLimiter({ windowMs: 6e4, maxRequests: 10 }),
24367
+ sessions: createSessionStore({
24368
+ maxAgeMs: SESSION_MAX_AGE_MS,
24369
+ closeTransport
24370
+ }),
24371
+ sseSessions: createSessionStore({
24372
+ maxAgeMs: SESSION_MAX_AGE_MS,
24373
+ closeTransport
24374
+ })
24375
+ };
24376
+ }
24377
+ async function startHttpServer({
24378
+ port,
24379
+ host,
24380
+ allowedOrigins,
24381
+ apiKeyVerifier
24382
+ }) {
24383
+ const bindHost = host ?? process.env.LANGWATCH_MCP_HTTP_HOST ?? DEFAULT_BIND_HOST;
24384
+ const originAllowlist = allowedOrigins ?? parseAllowedOrigins(process.env.LANGWATCH_MCP_ALLOWED_ORIGINS);
24385
+ const runtime = createRuntime({
24386
+ endpoint: getConfig().endpoint,
24387
+ apiKeyVerifier
24388
+ });
24389
+ const authenticate = createAuthenticator(runtime);
24390
+ const reaper = startReaper(runtime);
24391
+ const app = (0, import_express.default)();
24392
+ app.set("trust proxy", true);
24393
+ app.use(import_express.default.json());
24394
+ app.use(createOriginMiddleware({ allowedOrigins: originAllowlist }));
24395
+ app.get("/health", (_req, res) => {
24396
+ res.json({ status: "ok" });
24397
+ });
24398
+ registerOAuthRoutes({ app, runtime });
24399
+ registerStreamableHttpRoutes({ app, runtime, authenticate });
24400
+ registerSseRoutes({ app, runtime, authenticate });
24071
24401
  return new Promise((resolve) => {
24072
- const server = app.listen(port, "0.0.0.0", () => {
24402
+ const server = app.listen(port, bindHost, () => {
24073
24403
  const addr = server.address();
24074
24404
  const resolvedPort = typeof addr === "object" && addr ? addr.port : port;
24075
- resolve({ server, port: resolvedPort });
24405
+ resolve({
24406
+ server,
24407
+ port: resolvedPort,
24408
+ host: bindHost,
24409
+ allowedOrigins: originAllowlist
24410
+ });
24411
+ });
24412
+ server.on("close", () => {
24413
+ clearInterval(reaper);
24414
+ runtime.sessions.closeAll();
24415
+ runtime.sseSessions.closeAll();
24076
24416
  });
24077
24417
  });
24078
24418
  }
@@ -24363,4 +24703,4 @@ serve-static/index.js:
24363
24703
  * MIT Licensed
24364
24704
  *)
24365
24705
  */
24366
- //# sourceMappingURL=http-server-2ACJ3CXW.js.map
24706
+ //# sourceMappingURL=http-server-YXHFPPGA.js.map