@langwatch/mcp-server 1.0.0 → 2.1.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 (204) hide show
  1. package/.python-version +1 -0
  2. package/CHANGELOG.md +110 -0
  3. package/CONTRIBUTING.md +1 -1
  4. package/README.md +86 -4
  5. package/dist/{archive-project-MK3673A7.js → archive-project-W3IKI7UL.js} +5 -5
  6. package/dist/archive-run-plan-474OKHHU.js +16 -0
  7. package/dist/{archive-scenario-KATSXRIN.js → archive-scenario-V5UNYK26.js} +5 -5
  8. package/dist/archive-test-suite-O7FLDMXK.js +16 -0
  9. package/dist/{assign-prompt-tag-E3C5W6PI.js → assign-prompt-tag-Q46WRB6P.js} +4 -4
  10. package/dist/chunk-56OGTS24.js +44 -0
  11. package/dist/chunk-6DJDEXET.js +63 -0
  12. package/dist/chunk-7E4FZIYJ.js +15 -0
  13. package/dist/{chunk-J45SVWPR.js → chunk-AN4OUA4D.js} +2 -2
  14. package/dist/chunk-CKNAH5TG.js +74 -0
  15. package/dist/{chunk-CE6QMZOP.js → chunk-EYXMLE5X.js} +86 -11
  16. package/dist/{chunk-XY4STOBE.js → chunk-G4ZAZTZW.js} +2 -2
  17. package/dist/{chunk-5UWY24RP.js → chunk-GELJ2MQR.js} +12 -3
  18. package/dist/chunk-HV4DWKBI.js +46 -0
  19. package/dist/chunk-JR6DJZOU.js +49 -0
  20. package/dist/{chunk-DAIQKS27.js → chunk-JTQJRNFJ.js} +2 -2
  21. package/dist/{chunk-WWMDHZZV.js → chunk-K37ZNPXK.js} +2 -2
  22. package/dist/{chunk-EU22L52K.js → chunk-OJLYYJWI.js} +2 -2
  23. package/dist/{chunk-Y3HDZ6OW.js → chunk-QAMP3CGR.js} +2 -2
  24. package/dist/{chunk-VYPSKRPN.js → chunk-QRO35SOM.js} +347 -146
  25. package/dist/{chunk-O3LWVN67.js → chunk-RVAE2MEA.js} +2 -2
  26. package/dist/{chunk-UXXA4D6K.js → chunk-S4GVX36W.js} +2 -2
  27. package/dist/{chunk-BJ7B4R26.js → chunk-SAS5OB7F.js} +18 -2
  28. package/dist/{chunk-RYRB2YVJ.js → chunk-SR6QPRIE.js} +2 -2
  29. package/dist/chunk-UF6XIGYR.js +58 -0
  30. package/dist/{chunk-T7WJVS2N.js → chunk-UFOYFYI7.js} +2 -2
  31. package/dist/chunk-UJPXFA26.js +267 -0
  32. package/dist/{chunk-KOO5733S.js → chunk-WT4PO4A3.js} +8 -2
  33. package/dist/config.js +2 -2
  34. package/dist/{create-agent-7W57J7MT.js → create-agent-JFJ2K6X3.js} +5 -5
  35. package/dist/{create-annotation-W2XELBCQ.js → create-annotation-EUXXQ6NS.js} +5 -5
  36. package/dist/{create-api-key-MKRXKFJM.js → create-api-key-BGBB76JX.js} +5 -5
  37. package/dist/{create-dashboard-QGL7IODC.js → create-dashboard-Z76AIPLS.js} +5 -5
  38. package/dist/{create-dataset-3PH7A4HG.js → create-dataset-FD5VAXU4.js} +5 -5
  39. package/dist/{create-dataset-records-4DZS3VRL.js → create-dataset-records-WQUXXOHI.js} +5 -5
  40. package/dist/{create-evaluator-YWH6NC4M.js → create-evaluator-6NV33Z52.js} +5 -5
  41. package/dist/create-mcp-server.js +9 -4
  42. package/dist/{create-project-BOBQ32C5.js → create-project-ZQ7TFIO2.js} +5 -5
  43. package/dist/{create-prompt-FLCFGITE.js → create-prompt-BS6QRCUU.js} +4 -4
  44. package/dist/{create-prompt-tag-EMPNIKEA.js → create-prompt-tag-FCQ5ELSQ.js} +4 -4
  45. package/dist/{create-scenario-BSBIHUL6.js → create-scenario-DRPTPXU3.js} +12 -5
  46. package/dist/create-test-suite-ZIZCCFJ4.js +37 -0
  47. package/dist/{delete-agent-7MSYNY5E.js → delete-agent-SA4JMUZF.js} +5 -5
  48. package/dist/{delete-annotation-ZT5IGN24.js → delete-annotation-X3KKK7QY.js} +5 -5
  49. package/dist/{delete-dashboard-BTIY5S3L.js → delete-dashboard-LYMRPF27.js} +5 -5
  50. package/dist/{delete-dataset-U45HQHPR.js → delete-dataset-W6EZ44HY.js} +5 -5
  51. package/dist/{delete-dataset-records-R43IMAWB.js → delete-dataset-records-7CNOTALB.js} +5 -5
  52. package/dist/{delete-evaluator-U6JMQ6C7.js → delete-evaluator-RKYC4TNB.js} +5 -5
  53. package/dist/{delete-prompt-tag-4EV4TDHB.js → delete-prompt-tag-QB3OCZUV.js} +4 -4
  54. package/dist/{delete-workflow-5QYALXEL.js → delete-workflow-NG2VXYYM.js} +5 -5
  55. package/dist/{discover-evaluator-schema-MRGHVNTT.js → discover-evaluator-schema-ESSHQGPY.js} +58 -321
  56. package/dist/{discover-scenario-schema-UPBTCWPG.js → discover-scenario-schema-W7KBXA4J.js} +54 -2
  57. package/dist/{discover-schema-ICGXPHUW.js → discover-schema-L6QDPON3.js} +2 -2
  58. package/dist/get-agent-7THF7HCU.js +66 -0
  59. package/dist/{get-analytics-PVERWOA5.js → get-analytics-R6AZD3AW.js} +4 -4
  60. package/dist/{get-dashboard-ZZPC3WMD.js → get-dashboard-P4WWVHFU.js} +5 -5
  61. package/dist/{get-dataset-25TB2LQH.js → get-dataset-AKTYSQDI.js} +5 -5
  62. package/dist/{get-evaluator-3FTRQKEC.js → get-evaluator-RZ44UIN6.js} +5 -5
  63. package/dist/{get-project-5OAXYC57.js → get-project-QSQEAB33.js} +5 -5
  64. package/dist/get-prompt-GVKXF5NL.js +100 -0
  65. package/dist/get-run-plan-NY7J5GRE.js +61 -0
  66. package/dist/{get-scenario-DSSTR6FI.js → get-scenario-Q3LLQE4T.js} +9 -5
  67. package/dist/{get-simulation-run-RQPMS2MC.js → get-simulation-run-WINEYDMK.js} +14 -5
  68. package/dist/get-test-suite-4HKA7OKS.js +49 -0
  69. package/dist/{get-trace-O5VT3NAC.js → get-trace-RCUV7N4O.js} +4 -4
  70. package/dist/{get-workflow-3EZDOEIF.js → get-workflow-EEOC7Y45.js} +5 -5
  71. package/dist/http-security-EU3CHTY7.js +26 -0
  72. package/dist/{http-server-2ACJ3CXW.js → http-server-WCDUARTH.js} +1038 -693
  73. package/dist/index.js +6437 -4020
  74. package/dist/{langwatch-api-annotations-E65MI3WZ.js → langwatch-api-annotations-6DHVZWUK.js} +5 -5
  75. package/dist/{langwatch-api-dashboards-QCDECRCY.js → langwatch-api-dashboards-2KJL2M42.js} +5 -5
  76. package/dist/{langwatch-api-monitors-UIO2KTDV.js → langwatch-api-monitors-6ISFJ7WX.js} +4 -4
  77. package/dist/{langwatch-api-secrets-4T2EKSJ7.js → langwatch-api-secrets-OEBD6GBU.js} +4 -4
  78. package/dist/{langwatch-api-triggers-MPOEKPUY.js → langwatch-api-triggers-5E6DDGX6.js} +4 -4
  79. package/dist/langwatch-api-workflows-6UJL5U4Z.js +16 -0
  80. package/dist/list-agents-AMVDQPQL.js +43 -0
  81. package/dist/{list-annotations-CGX5BT7E.js → list-annotations-6PR5NLIC.js} +5 -5
  82. package/dist/{list-api-keys-JLWJPFRX.js → list-api-keys-GVPNBIHQ.js} +5 -5
  83. package/dist/{list-dashboards-RNIWX3TX.js → list-dashboards-Z3BZKDGF.js} +5 -5
  84. package/dist/{list-dataset-records-B5MHZR66.js → list-dataset-records-O67HZ35Y.js} +5 -5
  85. package/dist/{list-datasets-BVCAMQCP.js → list-datasets-WXZL6UMP.js} +5 -5
  86. package/dist/{list-evaluators-65FBTL2U.js → list-evaluators-PAX72WCN.js} +5 -5
  87. package/dist/{list-model-providers-GRK3I3VV.js → list-model-providers-VVLZMLCX.js} +5 -5
  88. package/dist/{list-projects-JLMBFMW3.js → list-projects-AQVI6SUK.js} +5 -5
  89. package/dist/{list-prompt-tags-UHNWDGQI.js → list-prompt-tags-WZFBJOHG.js} +4 -4
  90. package/dist/{list-prompts-7254B3U7.js → list-prompts-BQOHRHYT.js} +4 -4
  91. package/dist/list-run-plans-UBAU2DGH.js +46 -0
  92. package/dist/{list-scenarios-46YNICKM.js → list-scenarios-MS4IUIVM.js} +10 -7
  93. package/dist/{list-simulation-runs-LGNEFNPN.js → list-simulation-runs-D6YF4ZOU.js} +13 -7
  94. package/dist/list-test-suites-L7R2O6DR.js +35 -0
  95. package/dist/{list-workflows-MLQDM6CP.js → list-workflows-6MV4XJHF.js} +5 -5
  96. package/dist/{rename-prompt-tag-RHQMNEQL.js → rename-prompt-tag-K5LQ4CY6.js} +4 -4
  97. package/dist/rename-test-suite-NTYHAO5X.js +21 -0
  98. package/dist/report-issue-RHZZ33IS.js +885 -0
  99. package/dist/rerun-run-plan-MUDWJBE4.js +22 -0
  100. package/dist/{revoke-api-key-3Y35EMBT.js → revoke-api-key-6LAZ3QZZ.js} +5 -5
  101. package/dist/run-agent-CAGWGTYT.js +72 -0
  102. package/dist/run-plan-T4ZYOZGA.js +39 -0
  103. package/dist/run-test-suite-L4MZ7G4D.js +26 -0
  104. package/dist/{run-workflow-5LVBZYLS.js → run-workflow-DFIS23AP.js} +5 -5
  105. package/dist/{search-traces-U4HLOCZ2.js → search-traces-4XTJYXIK.js} +4 -4
  106. package/dist/{set-model-provider-V3M5CDIY.js → set-model-provider-XRNMFOVR.js} +5 -5
  107. package/dist/{update-agent-47RZIHS7.js → update-agent-DUWNYBNA.js} +5 -5
  108. package/dist/{update-dataset-G6QJJGS5.js → update-dataset-YSOMDCOB.js} +5 -5
  109. package/dist/{update-dataset-record-RMWLSWCS.js → update-dataset-record-DEA2ITYR.js} +5 -5
  110. package/dist/{update-evaluator-SFRRI5Q3.js → update-evaluator-NH7Q5GWV.js} +5 -5
  111. package/dist/{update-project-PI5DWBVK.js → update-project-Q26FBSYH.js} +5 -5
  112. package/dist/update-prompt-ZQQ2C3KU.js +143 -0
  113. package/dist/{update-scenario-G3IU2UIB.js → update-scenario-WUX34JAR.js} +12 -5
  114. package/package.json +8 -9
  115. package/pyproject.toml +5 -5
  116. package/src/__tests__/agent-tools.unit.test.ts +257 -0
  117. package/src/__tests__/all-tools.integration.test.ts +321 -75
  118. package/src/__tests__/config.unit.test.ts +33 -0
  119. package/src/__tests__/docker.integration.test.ts +91 -7
  120. package/src/__tests__/documentation-fetch-security.integration.test.ts +8 -2
  121. package/src/__tests__/feature-map-tool-drift.unit.test.ts +93 -0
  122. package/src/__tests__/http-security-origin.unit.test.ts +97 -0
  123. package/src/__tests__/http-security-sessions.unit.test.ts +209 -0
  124. package/src/__tests__/http-security-verifier.unit.test.ts +248 -0
  125. package/src/__tests__/http-server-allocation.integration.test.ts +279 -0
  126. package/src/__tests__/http-server-origin.integration.test.ts +169 -0
  127. package/src/__tests__/http-server-session-auth.integration.test.ts +341 -0
  128. package/src/__tests__/http-transport.integration.test.ts +85 -87
  129. package/src/__tests__/integration.integration.test.ts +7 -11
  130. package/src/__tests__/prompt-response-types.unit.test.ts +51 -0
  131. package/src/__tests__/prompts.integration.test.ts +736 -0
  132. package/src/__tests__/run-plan-tools.unit.test.ts +565 -0
  133. package/src/__tests__/scenario-tools.unit.test.ts +19 -0
  134. package/src/__tests__/simulation-run-tools.unit.test.ts +116 -0
  135. package/src/__tests__/support/http-server-harness.ts +138 -0
  136. package/src/__tests__/test-suite-tools.unit.test.ts +615 -0
  137. package/src/__tests__/{tools.unit.test.ts → tools.integration.test.ts} +31 -59
  138. package/src/config.ts +17 -2
  139. package/src/create-mcp-server.ts +334 -55
  140. package/src/http-security.ts +492 -0
  141. package/src/http-server.ts +536 -152
  142. package/src/index.ts +49 -2
  143. package/src/langwatch-api-agents.ts +196 -12
  144. package/src/langwatch-api-run-plans.ts +157 -0
  145. package/src/langwatch-api-scenarios.ts +9 -0
  146. package/src/langwatch-api-simulation-runs.ts +5 -0
  147. package/src/langwatch-api-test-suites.ts +135 -0
  148. package/src/langwatch-api.ts +62 -12
  149. package/src/schemas/index.ts +5 -0
  150. package/src/schemas/run-plan.ts +92 -0
  151. package/src/schemas/suite-fields.ts +149 -0
  152. package/src/tools/archive-run-plan.ts +12 -0
  153. package/src/tools/archive-test-suite.ts +12 -0
  154. package/src/tools/create-scenario.ts +8 -0
  155. package/src/tools/create-test-suite.ts +43 -0
  156. package/src/tools/discover-evaluator-schema.ts +2 -2
  157. package/src/tools/discover-scenario-schema.ts +54 -0
  158. package/src/tools/format-run-plan.ts +68 -0
  159. package/src/tools/format-scenario.ts +14 -0
  160. package/src/tools/format-suite-details.ts +96 -0
  161. package/src/tools/get-agent.ts +45 -3
  162. package/src/tools/get-prompt.ts +108 -24
  163. package/src/tools/get-run-plan.ts +62 -0
  164. package/src/tools/get-scenario.ts +3 -0
  165. package/src/tools/get-simulation-run.ts +9 -0
  166. package/src/tools/get-test-suite.ts +49 -0
  167. package/src/tools/list-agents.ts +20 -3
  168. package/src/tools/list-run-plans.ts +47 -0
  169. package/src/tools/list-scenarios.ts +12 -2
  170. package/src/tools/list-simulation-runs.ts +6 -2
  171. package/src/tools/list-test-suites.ts +35 -0
  172. package/src/tools/rename-test-suite.ts +18 -0
  173. package/src/tools/rerun-run-plan.ts +21 -0
  174. package/src/tools/run-agent.ts +54 -6
  175. package/src/tools/run-plan.ts +49 -0
  176. package/src/tools/run-test-suite.ts +30 -0
  177. package/src/tools/test-agent.ts +18 -0
  178. package/src/tools/update-prompt.ts +195 -10
  179. package/src/tools/update-scenario.ts +8 -0
  180. package/src/tools/update-test-suite.ts +45 -0
  181. package/tsconfig.json +7 -2
  182. package/uv.lock +418 -298
  183. package/dist/archive-suite-C3KX6IIZ.js +0 -16
  184. package/dist/chunk-WDH5P5RF.js +0 -48
  185. package/dist/create-suite-TWF6BBR4.js +0 -39
  186. package/dist/get-agent-7QJVPH72.js +0 -29
  187. package/dist/get-prompt-I753LZKZ.js +0 -46
  188. package/dist/get-suite-GTOCY5PL.js +0 -45
  189. package/dist/langwatch-api-workflows-5HRZ7HR4.js +0 -16
  190. package/dist/list-agents-TIJTP566.js +0 -33
  191. package/dist/list-suites-5VK4HXEK.js +0 -43
  192. package/dist/report-issue-DXJ6TPTC.js +0 -412
  193. package/dist/run-agent-RBSIFKRT.js +0 -37
  194. package/dist/run-suite-K3DNQ3SE.js +0 -30
  195. package/dist/update-prompt-RQFTEO7Y.js +0 -25
  196. package/dist/update-suite-TRGGLNR7.js +0 -40
  197. package/pnpm-workspace.yaml +0 -34
  198. package/src/langwatch-api-suites.ts +0 -118
  199. package/src/tools/archive-suite.ts +0 -12
  200. package/src/tools/create-suite.ts +0 -42
  201. package/src/tools/get-suite.ts +0 -47
  202. package/src/tools/list-suites.ts +0 -43
  203. package/src/tools/run-suite.ts +0 -28
  204. package/src/tools/update-suite.ts +0 -44
@@ -1,20 +1,38 @@
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-QRO35SOM.js";
14
+ import "./chunk-EYXMLE5X.js";
15
+ import "./chunk-HV4DWKBI.js";
16
+ import "./chunk-CKNAH5TG.js";
17
+ import "./chunk-UF6XIGYR.js";
18
+ import "./chunk-6DJDEXET.js";
19
+ import "./chunk-GELJ2MQR.js";
5
20
  import {
6
21
  getConfig,
7
22
  runWithConfig
8
- } from "./chunk-KOO5733S.js";
23
+ } from "./chunk-WT4PO4A3.js";
9
24
  import {
10
25
  __commonJS,
26
+ __esm,
27
+ __export,
11
28
  __require,
29
+ __toCommonJS,
12
30
  __toESM
13
- } from "./chunk-BJ7B4R26.js";
31
+ } from "./chunk-SAS5OB7F.js";
14
32
 
15
- // node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js
33
+ // ../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js
16
34
  var require_ms = __commonJS({
17
- "node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js"(exports, module) {
35
+ "../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js"(exports, module) {
18
36
  "use strict";
19
37
  var s = 1e3;
20
38
  var m = s * 60;
@@ -129,11 +147,11 @@ var require_ms = __commonJS({
129
147
  }
130
148
  });
131
149
 
132
- // node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/common.js
150
+ // ../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/common.js
133
151
  var require_common = __commonJS({
134
- "node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/common.js"(exports, module) {
152
+ "../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/common.js"(exports, module) {
135
153
  "use strict";
136
- function setup(env) {
154
+ function setup(env2) {
137
155
  createDebug.debug = createDebug;
138
156
  createDebug.default = createDebug;
139
157
  createDebug.coerce = coerce;
@@ -142,8 +160,8 @@ var require_common = __commonJS({
142
160
  createDebug.enabled = enabled;
143
161
  createDebug.humanize = require_ms();
144
162
  createDebug.destroy = destroy;
145
- Object.keys(env).forEach((key) => {
146
- createDebug[key] = env[key];
163
+ Object.keys(env2).forEach((key) => {
164
+ createDebug[key] = env2[key];
147
165
  });
148
166
  createDebug.names = [];
149
167
  createDebug.skips = [];
@@ -307,9 +325,9 @@ var require_common = __commonJS({
307
325
  }
308
326
  });
309
327
 
310
- // node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/browser.js
328
+ // ../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/browser.js
311
329
  var require_browser = __commonJS({
312
- "node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/browser.js"(exports, module) {
330
+ "../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/browser.js"(exports, module) {
313
331
  "use strict";
314
332
  exports.formatArgs = formatArgs;
315
333
  exports.save = save;
@@ -478,126 +496,161 @@ var require_browser = __commonJS({
478
496
  }
479
497
  });
480
498
 
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
- }
499
+ // ../../node_modules/.pnpm/supports-color@10.2.2/node_modules/supports-color/index.js
500
+ var supports_color_exports = {};
501
+ __export(supports_color_exports, {
502
+ createSupportsColor: () => createSupportsColor,
503
+ default: () => supports_color_default
492
504
  });
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;
505
+ import process2 from "process";
506
+ import os from "os";
507
+ import tty from "tty";
508
+ function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
509
+ const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
510
+ const position = argv.indexOf(prefix + flag);
511
+ const terminatorPosition = argv.indexOf("--");
512
+ return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
513
+ }
514
+ function envForceColor() {
515
+ if (!("FORCE_COLOR" in env)) {
516
+ return;
517
+ }
518
+ if (env.FORCE_COLOR === "true") {
519
+ return 1;
520
+ }
521
+ if (env.FORCE_COLOR === "false") {
522
+ return 0;
523
+ }
524
+ if (env.FORCE_COLOR.length === 0) {
525
+ return 1;
526
+ }
527
+ const level = Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
528
+ if (![0, 1, 2, 3].includes(level)) {
529
+ return;
530
+ }
531
+ return level;
532
+ }
533
+ function translateLevel(level) {
534
+ if (level === 0) {
535
+ return false;
536
+ }
537
+ return {
538
+ level,
539
+ hasBasic: true,
540
+ has256: level >= 2,
541
+ has16m: level >= 3
542
+ };
543
+ }
544
+ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
545
+ const noFlagForceColor = envForceColor();
546
+ if (noFlagForceColor !== void 0) {
547
+ flagForceColor = noFlagForceColor;
548
+ }
549
+ const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
550
+ if (forceColor === 0) {
551
+ return 0;
552
+ }
553
+ if (sniffFlags) {
554
+ if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
555
+ return 3;
507
556
  }
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
- }
557
+ if (hasFlag("color=256")) {
558
+ return 2;
516
559
  }
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
- };
560
+ }
561
+ if ("TF_BUILD" in env && "AGENT_NAME" in env) {
562
+ return 1;
563
+ }
564
+ if (haveStream && !streamIsTTY && forceColor === void 0) {
565
+ return 0;
566
+ }
567
+ const min = forceColor || 0;
568
+ if (env.TERM === "dumb") {
569
+ return min;
570
+ }
571
+ if (process2.platform === "win32") {
572
+ const osRelease = os.release().split(".");
573
+ if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
574
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
527
575
  }
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
- }
576
+ return 1;
577
+ }
578
+ if ("CI" in env) {
579
+ if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => key in env)) {
580
+ return 3;
581
+ }
582
+ if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
583
+ return 1;
584
+ }
585
+ return min;
586
+ }
587
+ if ("TEAMCITY_VERSION" in env) {
588
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
589
+ }
590
+ if (env.COLORTERM === "truecolor") {
591
+ return 3;
592
+ }
593
+ if (env.TERM === "xterm-kitty") {
594
+ return 3;
595
+ }
596
+ if (env.TERM === "xterm-ghostty") {
597
+ return 3;
598
+ }
599
+ if (env.TERM === "wezterm") {
600
+ return 3;
601
+ }
602
+ if ("TERM_PROGRAM" in env) {
603
+ const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
604
+ switch (env.TERM_PROGRAM) {
605
+ case "iTerm.app": {
606
+ return version >= 3 ? 3 : 2;
572
607
  }
573
- if (/-256(color)?$/i.test(env.TERM)) {
608
+ case "Apple_Terminal": {
574
609
  return 2;
575
610
  }
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
611
  }
584
- function getSupportLevel(stream) {
585
- const level = supportsColor(stream, stream && stream.isTTY);
586
- return translateLevel(level);
612
+ }
613
+ if (/-256(color)?$/i.test(env.TERM)) {
614
+ return 2;
615
+ }
616
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
617
+ return 1;
618
+ }
619
+ if ("COLORTERM" in env) {
620
+ return 1;
621
+ }
622
+ return min;
623
+ }
624
+ function createSupportsColor(stream, options = {}) {
625
+ const level = _supportsColor(stream, {
626
+ streamIsTTY: stream && stream.isTTY,
627
+ ...options
628
+ });
629
+ return translateLevel(level);
630
+ }
631
+ var env, flagForceColor, supportsColor, supports_color_default;
632
+ var init_supports_color = __esm({
633
+ "../../node_modules/.pnpm/supports-color@10.2.2/node_modules/supports-color/index.js"() {
634
+ "use strict";
635
+ ({ env } = process2);
636
+ if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
637
+ flagForceColor = 0;
638
+ } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
639
+ flagForceColor = 1;
587
640
  }
588
- module.exports = {
589
- supportsColor: getSupportLevel,
590
- stdout: translateLevel(supportsColor(true, tty.isatty(1))),
591
- stderr: translateLevel(supportsColor(true, tty.isatty(2)))
641
+ supportsColor = {
642
+ stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
643
+ stderr: createSupportsColor({ isTTY: tty.isatty(2) })
592
644
  };
645
+ supports_color_default = supportsColor;
593
646
  }
594
647
  });
595
648
 
596
- // node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/node.js
649
+ // ../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/node.js
597
650
  var require_node = __commonJS({
598
- "node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/node.js"(exports, module) {
651
+ "../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/node.js"(exports, module) {
599
652
  "use strict";
600
- var tty = __require("tty");
653
+ var tty2 = __require("tty");
601
654
  var util = __require("util");
602
655
  exports.init = init;
603
656
  exports.log = log;
@@ -612,8 +665,8 @@ var require_node = __commonJS({
612
665
  );
613
666
  exports.colors = [6, 2, 3, 4, 5, 1];
614
667
  try {
615
- const supportsColor = require_supports_color();
616
- if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
668
+ const supportsColor2 = (init_supports_color(), __toCommonJS(supports_color_exports));
669
+ if (supportsColor2 && (supportsColor2.stderr || supportsColor2).level >= 2) {
617
670
  exports.colors = [
618
671
  20,
619
672
  21,
@@ -715,7 +768,7 @@ var require_node = __commonJS({
715
768
  return obj;
716
769
  }, {});
717
770
  function useColors() {
718
- return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty.isatty(process.stderr.fd);
771
+ return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty2.isatty(process.stderr.fd);
719
772
  }
720
773
  function formatArgs(args) {
721
774
  const { namespace: name, useColors: useColors2 } = this;
@@ -768,9 +821,9 @@ var require_node = __commonJS({
768
821
  }
769
822
  });
770
823
 
771
- // node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/index.js
824
+ // ../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/index.js
772
825
  var require_src = __commonJS({
773
- "node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/index.js"(exports, module) {
826
+ "../../node_modules/.pnpm/debug@4.4.3_supports-color@10.2.2/node_modules/debug/src/index.js"(exports, module) {
774
827
  "use strict";
775
828
  if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
776
829
  module.exports = require_browser();
@@ -780,9 +833,9 @@ var require_src = __commonJS({
780
833
  }
781
834
  });
782
835
 
783
- // node_modules/.pnpm/depd@2.0.0/node_modules/depd/index.js
836
+ // ../../node_modules/.pnpm/depd@2.0.0/node_modules/depd/index.js
784
837
  var require_depd = __commonJS({
785
- "node_modules/.pnpm/depd@2.0.0/node_modules/depd/index.js"(exports, module) {
838
+ "../../node_modules/.pnpm/depd@2.0.0/node_modules/depd/index.js"(exports, module) {
786
839
  "use strict";
787
840
  var relative = __require("path").relative;
788
841
  module.exports = depd;
@@ -1087,9 +1140,9 @@ var require_depd = __commonJS({
1087
1140
  }
1088
1141
  });
1089
1142
 
1090
- // node_modules/.pnpm/setprototypeof@1.2.0/node_modules/setprototypeof/index.js
1143
+ // ../../node_modules/.pnpm/setprototypeof@1.2.0/node_modules/setprototypeof/index.js
1091
1144
  var require_setprototypeof = __commonJS({
1092
- "node_modules/.pnpm/setprototypeof@1.2.0/node_modules/setprototypeof/index.js"(exports, module) {
1145
+ "../../node_modules/.pnpm/setprototypeof@1.2.0/node_modules/setprototypeof/index.js"(exports, module) {
1093
1146
  "use strict";
1094
1147
  module.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties);
1095
1148
  function setProtoOf(obj, proto) {
@@ -1107,9 +1160,9 @@ var require_setprototypeof = __commonJS({
1107
1160
  }
1108
1161
  });
1109
1162
 
1110
- // node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/codes.json
1163
+ // ../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/codes.json
1111
1164
  var require_codes = __commonJS({
1112
- "node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/codes.json"(exports, module) {
1165
+ "../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/codes.json"(exports, module) {
1113
1166
  module.exports = {
1114
1167
  "100": "Continue",
1115
1168
  "101": "Switching Protocols",
@@ -1178,9 +1231,9 @@ var require_codes = __commonJS({
1178
1231
  }
1179
1232
  });
1180
1233
 
1181
- // node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/index.js
1234
+ // ../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/index.js
1182
1235
  var require_statuses = __commonJS({
1183
- "node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/index.js"(exports, module) {
1236
+ "../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/index.js"(exports, module) {
1184
1237
  "use strict";
1185
1238
  var codes = require_codes();
1186
1239
  module.exports = status;
@@ -1249,9 +1302,9 @@ var require_statuses = __commonJS({
1249
1302
  }
1250
1303
  });
1251
1304
 
1252
- // node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js
1305
+ // ../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js
1253
1306
  var require_inherits_browser = __commonJS({
1254
- "node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js"(exports, module) {
1307
+ "../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js"(exports, module) {
1255
1308
  "use strict";
1256
1309
  if (typeof Object.create === "function") {
1257
1310
  module.exports = function inherits(ctor, superCtor) {
@@ -1282,9 +1335,9 @@ var require_inherits_browser = __commonJS({
1282
1335
  }
1283
1336
  });
1284
1337
 
1285
- // node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js
1338
+ // ../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js
1286
1339
  var require_inherits = __commonJS({
1287
- "node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js"(exports, module) {
1340
+ "../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js"(exports, module) {
1288
1341
  "use strict";
1289
1342
  try {
1290
1343
  util = __require("util");
@@ -1297,9 +1350,9 @@ var require_inherits = __commonJS({
1297
1350
  }
1298
1351
  });
1299
1352
 
1300
- // node_modules/.pnpm/toidentifier@1.0.1/node_modules/toidentifier/index.js
1353
+ // ../../node_modules/.pnpm/toidentifier@1.0.1/node_modules/toidentifier/index.js
1301
1354
  var require_toidentifier = __commonJS({
1302
- "node_modules/.pnpm/toidentifier@1.0.1/node_modules/toidentifier/index.js"(exports, module) {
1355
+ "../../node_modules/.pnpm/toidentifier@1.0.1/node_modules/toidentifier/index.js"(exports, module) {
1303
1356
  "use strict";
1304
1357
  module.exports = toIdentifier;
1305
1358
  function toIdentifier(str) {
@@ -1310,9 +1363,9 @@ var require_toidentifier = __commonJS({
1310
1363
  }
1311
1364
  });
1312
1365
 
1313
- // node_modules/.pnpm/http-errors@2.0.1/node_modules/http-errors/index.js
1366
+ // ../../node_modules/.pnpm/http-errors@2.0.1/node_modules/http-errors/index.js
1314
1367
  var require_http_errors = __commonJS({
1315
- "node_modules/.pnpm/http-errors@2.0.1/node_modules/http-errors/index.js"(exports, module) {
1368
+ "../../node_modules/.pnpm/http-errors@2.0.1/node_modules/http-errors/index.js"(exports, module) {
1316
1369
  "use strict";
1317
1370
  var deprecate = require_depd()("http-errors");
1318
1371
  var setPrototypeOf = require_setprototypeof();
@@ -1474,9 +1527,9 @@ var require_http_errors = __commonJS({
1474
1527
  }
1475
1528
  });
1476
1529
 
1477
- // node_modules/.pnpm/bytes@3.1.2/node_modules/bytes/index.js
1530
+ // ../../node_modules/.pnpm/bytes@3.1.2/node_modules/bytes/index.js
1478
1531
  var require_bytes = __commonJS({
1479
- "node_modules/.pnpm/bytes@3.1.2/node_modules/bytes/index.js"(exports, module) {
1532
+ "../../node_modules/.pnpm/bytes@3.1.2/node_modules/bytes/index.js"(exports, module) {
1480
1533
  "use strict";
1481
1534
  module.exports = bytes;
1482
1535
  module.exports.format = format;
@@ -1563,9 +1616,9 @@ var require_bytes = __commonJS({
1563
1616
  }
1564
1617
  });
1565
1618
 
1566
- // node_modules/.pnpm/safer-buffer@2.1.2/node_modules/safer-buffer/safer.js
1619
+ // ../../node_modules/.pnpm/safer-buffer@2.1.2/node_modules/safer-buffer/safer.js
1567
1620
  var require_safer = __commonJS({
1568
- "node_modules/.pnpm/safer-buffer@2.1.2/node_modules/safer-buffer/safer.js"(exports, module) {
1621
+ "../../node_modules/.pnpm/safer-buffer@2.1.2/node_modules/safer-buffer/safer.js"(exports, module) {
1569
1622
  "use strict";
1570
1623
  var buffer = __require("buffer");
1571
1624
  var Buffer2 = buffer.Buffer;
@@ -1631,9 +1684,9 @@ var require_safer = __commonJS({
1631
1684
  }
1632
1685
  });
1633
1686
 
1634
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/bom-handling.js
1687
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/bom-handling.js
1635
1688
  var require_bom_handling = __commonJS({
1636
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/bom-handling.js"(exports) {
1689
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/bom-handling.js"(exports) {
1637
1690
  "use strict";
1638
1691
  var BOMChar = "\uFEFF";
1639
1692
  exports.PrependBOM = PrependBOMWrapper;
@@ -1677,9 +1730,9 @@ var require_bom_handling = __commonJS({
1677
1730
  }
1678
1731
  });
1679
1732
 
1680
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/helpers/merge-exports.js
1733
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/helpers/merge-exports.js
1681
1734
  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) {
1735
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/helpers/merge-exports.js"(exports, module) {
1683
1736
  "use strict";
1684
1737
  var hasOwn = typeof Object.hasOwn === "undefined" ? Function.call.bind(Object.prototype.hasOwnProperty) : Object.hasOwn;
1685
1738
  function mergeModules(target, module2) {
@@ -1693,9 +1746,9 @@ var require_merge_exports = __commonJS({
1693
1746
  }
1694
1747
  });
1695
1748
 
1696
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/internal.js
1749
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/internal.js
1697
1750
  var require_internal = __commonJS({
1698
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/internal.js"(exports, module) {
1751
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/internal.js"(exports, module) {
1699
1752
  "use strict";
1700
1753
  var Buffer2 = require_safer().Buffer;
1701
1754
  module.exports = {
@@ -1874,9 +1927,9 @@ var require_internal = __commonJS({
1874
1927
  }
1875
1928
  });
1876
1929
 
1877
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf32.js
1930
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf32.js
1878
1931
  var require_utf32 = __commonJS({
1879
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf32.js"(exports) {
1932
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf32.js"(exports) {
1880
1933
  "use strict";
1881
1934
  var Buffer2 = require_safer().Buffer;
1882
1935
  exports._utf32 = Utf32Codec;
@@ -2105,9 +2158,9 @@ var require_utf32 = __commonJS({
2105
2158
  }
2106
2159
  });
2107
2160
 
2108
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf16.js
2161
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf16.js
2109
2162
  var require_utf16 = __commonJS({
2110
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf16.js"(exports) {
2163
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf16.js"(exports) {
2111
2164
  "use strict";
2112
2165
  var Buffer2 = require_safer().Buffer;
2113
2166
  exports.utf16be = Utf16BECodec;
@@ -2248,9 +2301,9 @@ var require_utf16 = __commonJS({
2248
2301
  }
2249
2302
  });
2250
2303
 
2251
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf7.js
2304
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf7.js
2252
2305
  var require_utf7 = __commonJS({
2253
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf7.js"(exports) {
2306
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/utf7.js"(exports) {
2254
2307
  "use strict";
2255
2308
  var Buffer2 = require_safer().Buffer;
2256
2309
  exports.utf7 = Utf7Codec;
@@ -2466,9 +2519,9 @@ var require_utf7 = __commonJS({
2466
2519
  }
2467
2520
  });
2468
2521
 
2469
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-codec.js
2522
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-codec.js
2470
2523
  var require_sbcs_codec = __commonJS({
2471
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-codec.js"(exports) {
2524
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-codec.js"(exports) {
2472
2525
  "use strict";
2473
2526
  var Buffer2 = require_safer().Buffer;
2474
2527
  exports._sbcs = SBCSCodec;
@@ -2528,9 +2581,9 @@ var require_sbcs_codec = __commonJS({
2528
2581
  }
2529
2582
  });
2530
2583
 
2531
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-data.js
2584
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-data.js
2532
2585
  var require_sbcs_data = __commonJS({
2533
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-data.js"(exports, module) {
2586
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-data.js"(exports, module) {
2534
2587
  "use strict";
2535
2588
  module.exports = {
2536
2589
  // Not supported by iconv, not sure why.
@@ -2681,9 +2734,9 @@ var require_sbcs_data = __commonJS({
2681
2734
  }
2682
2735
  });
2683
2736
 
2684
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-data-generated.js
2737
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-data-generated.js
2685
2738
  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) {
2739
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports, module) {
2687
2740
  "use strict";
2688
2741
  module.exports = {
2689
2742
  "437": "cp437",
@@ -3136,9 +3189,9 @@ var require_sbcs_data_generated = __commonJS({
3136
3189
  }
3137
3190
  });
3138
3191
 
3139
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-codec.js
3192
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-codec.js
3140
3193
  var require_dbcs_codec = __commonJS({
3141
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-codec.js"(exports) {
3194
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-codec.js"(exports) {
3142
3195
  "use strict";
3143
3196
  var Buffer2 = require_safer().Buffer;
3144
3197
  exports._dbcs = DBCSCodec;
@@ -3596,9 +3649,9 @@ var require_dbcs_codec = __commonJS({
3596
3649
  }
3597
3650
  });
3598
3651
 
3599
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/shiftjis.json
3652
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/shiftjis.json
3600
3653
  var require_shiftjis = __commonJS({
3601
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports, module) {
3654
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports, module) {
3602
3655
  module.exports = [
3603
3656
  ["0", "\0", 128],
3604
3657
  ["a1", "\uFF61", 62],
@@ -3727,9 +3780,9 @@ var require_shiftjis = __commonJS({
3727
3780
  }
3728
3781
  });
3729
3782
 
3730
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/eucjp.json
3783
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/eucjp.json
3731
3784
  var require_eucjp = __commonJS({
3732
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/eucjp.json"(exports, module) {
3785
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/eucjp.json"(exports, module) {
3733
3786
  module.exports = [
3734
3787
  ["0", "\0", 127],
3735
3788
  ["8ea1", "\uFF61", 62],
@@ -3915,9 +3968,9 @@ var require_eucjp = __commonJS({
3915
3968
  }
3916
3969
  });
3917
3970
 
3918
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp936.json
3971
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp936.json
3919
3972
  var require_cp936 = __commonJS({
3920
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp936.json"(exports, module) {
3973
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp936.json"(exports, module) {
3921
3974
  module.exports = [
3922
3975
  ["0", "\0", 127, "\u20AC"],
3923
3976
  ["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 +4238,9 @@ var require_cp936 = __commonJS({
4185
4238
  }
4186
4239
  });
4187
4240
 
4188
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/gbk-added.json
4241
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/gbk-added.json
4189
4242
  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) {
4243
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports, module) {
4191
4244
  module.exports = [
4192
4245
  ["a140", "\uE4C6", 62],
4193
4246
  ["a180", "\uE505", 32],
@@ -4247,16 +4300,16 @@ var require_gbk_added = __commonJS({
4247
4300
  }
4248
4301
  });
4249
4302
 
4250
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json
4303
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json
4251
4304
  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) {
4305
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports, module) {
4253
4306
  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
4307
  }
4255
4308
  });
4256
4309
 
4257
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp949.json
4310
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp949.json
4258
4311
  var require_cp949 = __commonJS({
4259
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp949.json"(exports, module) {
4312
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp949.json"(exports, module) {
4260
4313
  module.exports = [
4261
4314
  ["0", "\0", 127],
4262
4315
  ["8141", "\uAC02\uAC03\uAC05\uAC06\uAC0B", 4, "\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25", 6, "\uAC2E\uAC32\uAC33\uAC34"],
@@ -4533,9 +4586,9 @@ var require_cp949 = __commonJS({
4533
4586
  }
4534
4587
  });
4535
4588
 
4536
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp950.json
4589
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp950.json
4537
4590
  var require_cp950 = __commonJS({
4538
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp950.json"(exports, module) {
4591
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/cp950.json"(exports, module) {
4539
4592
  module.exports = [
4540
4593
  ["0", "\0", 127],
4541
4594
  ["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 +4769,9 @@ var require_cp950 = __commonJS({
4716
4769
  }
4717
4770
  });
4718
4771
 
4719
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/big5-added.json
4772
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/big5-added.json
4720
4773
  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) {
4774
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/tables/big5-added.json"(exports, module) {
4722
4775
  module.exports = [
4723
4776
  ["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
4777
  ["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 +4897,9 @@ var require_big5_added = __commonJS({
4844
4897
  }
4845
4898
  });
4846
4899
 
4847
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-data.js
4900
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-data.js
4848
4901
  var require_dbcs_data = __commonJS({
4849
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-data.js"(exports, module) {
4902
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/dbcs-data.js"(exports, module) {
4850
4903
  "use strict";
4851
4904
  module.exports = {
4852
4905
  // == Japanese/ShiftJIS ====================================================
@@ -5091,9 +5144,9 @@ var require_dbcs_data = __commonJS({
5091
5144
  }
5092
5145
  });
5093
5146
 
5094
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/index.js
5147
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/index.js
5095
5148
  var require_encodings = __commonJS({
5096
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/index.js"(exports, module) {
5149
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/encodings/index.js"(exports, module) {
5097
5150
  "use strict";
5098
5151
  var mergeModules = require_merge_exports();
5099
5152
  var modules = [
@@ -5116,9 +5169,9 @@ var require_encodings = __commonJS({
5116
5169
  }
5117
5170
  });
5118
5171
 
5119
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/streams.js
5172
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/streams.js
5120
5173
  var require_streams = __commonJS({
5121
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/streams.js"(exports, module) {
5174
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/streams.js"(exports, module) {
5122
5175
  "use strict";
5123
5176
  var Buffer2 = require_safer().Buffer;
5124
5177
  module.exports = function(streamModule) {
@@ -5213,9 +5266,9 @@ var require_streams = __commonJS({
5213
5266
  }
5214
5267
  });
5215
5268
 
5216
- // node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/index.js
5269
+ // ../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/index.js
5217
5270
  var require_lib = __commonJS({
5218
- "node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/index.js"(exports, module) {
5271
+ "../../node_modules/.pnpm/iconv-lite@0.7.2/node_modules/iconv-lite/lib/index.js"(exports, module) {
5219
5272
  "use strict";
5220
5273
  var Buffer2 = require_safer().Buffer;
5221
5274
  var bomHandling = require_bom_handling();
@@ -5345,9 +5398,9 @@ var require_lib = __commonJS({
5345
5398
  }
5346
5399
  });
5347
5400
 
5348
- // node_modules/.pnpm/unpipe@1.0.0/node_modules/unpipe/index.js
5401
+ // ../../node_modules/.pnpm/unpipe@1.0.0/node_modules/unpipe/index.js
5349
5402
  var require_unpipe = __commonJS({
5350
- "node_modules/.pnpm/unpipe@1.0.0/node_modules/unpipe/index.js"(exports, module) {
5403
+ "../../node_modules/.pnpm/unpipe@1.0.0/node_modules/unpipe/index.js"(exports, module) {
5351
5404
  "use strict";
5352
5405
  module.exports = unpipe;
5353
5406
  function hasPipeDataListeners(stream) {
@@ -5383,9 +5436,9 @@ var require_unpipe = __commonJS({
5383
5436
  }
5384
5437
  });
5385
5438
 
5386
- // node_modules/.pnpm/raw-body@3.0.2/node_modules/raw-body/index.js
5439
+ // ../../node_modules/.pnpm/raw-body@3.0.2/node_modules/raw-body/index.js
5387
5440
  var require_raw_body = __commonJS({
5388
- "node_modules/.pnpm/raw-body@3.0.2/node_modules/raw-body/index.js"(exports, module) {
5441
+ "../../node_modules/.pnpm/raw-body@3.0.2/node_modules/raw-body/index.js"(exports, module) {
5389
5442
  "use strict";
5390
5443
  var asyncHooks = tryRequireAsyncHooks();
5391
5444
  var bytes = require_bytes();
@@ -5572,9 +5625,9 @@ var require_raw_body = __commonJS({
5572
5625
  }
5573
5626
  });
5574
5627
 
5575
- // node_modules/.pnpm/ee-first@1.1.1/node_modules/ee-first/index.js
5628
+ // ../../node_modules/.pnpm/ee-first@1.1.1/node_modules/ee-first/index.js
5576
5629
  var require_ee_first = __commonJS({
5577
- "node_modules/.pnpm/ee-first@1.1.1/node_modules/ee-first/index.js"(exports, module) {
5630
+ "../../node_modules/.pnpm/ee-first@1.1.1/node_modules/ee-first/index.js"(exports, module) {
5578
5631
  "use strict";
5579
5632
  module.exports = first;
5580
5633
  function first(stuff, done) {
@@ -5628,9 +5681,9 @@ var require_ee_first = __commonJS({
5628
5681
  }
5629
5682
  });
5630
5683
 
5631
- // node_modules/.pnpm/on-finished@2.4.1/node_modules/on-finished/index.js
5684
+ // ../../node_modules/.pnpm/on-finished@2.4.1/node_modules/on-finished/index.js
5632
5685
  var require_on_finished = __commonJS({
5633
- "node_modules/.pnpm/on-finished@2.4.1/node_modules/on-finished/index.js"(exports, module) {
5686
+ "../../node_modules/.pnpm/on-finished@2.4.1/node_modules/on-finished/index.js"(exports, module) {
5634
5687
  "use strict";
5635
5688
  module.exports = onFinished;
5636
5689
  module.exports.isFinished = isFinished;
@@ -5732,9 +5785,9 @@ var require_on_finished = __commonJS({
5732
5785
  }
5733
5786
  });
5734
5787
 
5735
- // node_modules/.pnpm/content-type@2.0.0/node_modules/content-type/dist/index.js
5788
+ // ../../node_modules/.pnpm/content-type@2.0.0/node_modules/content-type/dist/index.js
5736
5789
  var require_dist = __commonJS({
5737
- "node_modules/.pnpm/content-type@2.0.0/node_modules/content-type/dist/index.js"(exports) {
5790
+ "../../node_modules/.pnpm/content-type@2.0.0/node_modules/content-type/dist/index.js"(exports) {
5738
5791
  "use strict";
5739
5792
  Object.defineProperty(exports, "__esModule", { value: true });
5740
5793
  exports.format = format;
@@ -5863,9 +5916,9 @@ var require_dist = __commonJS({
5863
5916
  }
5864
5917
  });
5865
5918
 
5866
- // node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/db.json
5919
+ // ../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/db.json
5867
5920
  var require_db = __commonJS({
5868
- "node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/db.json"(exports, module) {
5921
+ "../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/db.json"(exports, module) {
5869
5922
  module.exports = {
5870
5923
  "application/1d-interleaved-parityfec": {
5871
5924
  source: "iana"
@@ -15211,17 +15264,17 @@ var require_db = __commonJS({
15211
15264
  }
15212
15265
  });
15213
15266
 
15214
- // node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/index.js
15267
+ // ../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/index.js
15215
15268
  var require_mime_db = __commonJS({
15216
- "node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/index.js"(exports, module) {
15269
+ "../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/index.js"(exports, module) {
15217
15270
  "use strict";
15218
15271
  module.exports = require_db();
15219
15272
  }
15220
15273
  });
15221
15274
 
15222
- // node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/mimeScore.js
15275
+ // ../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/mimeScore.js
15223
15276
  var require_mimeScore = __commonJS({
15224
- "node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/mimeScore.js"(exports, module) {
15277
+ "../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/mimeScore.js"(exports, module) {
15225
15278
  "use strict";
15226
15279
  var FACET_SCORES = {
15227
15280
  "prs.": 100,
@@ -15264,9 +15317,9 @@ var require_mimeScore = __commonJS({
15264
15317
  }
15265
15318
  });
15266
15319
 
15267
- // node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/index.js
15320
+ // ../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/index.js
15268
15321
  var require_mime_types = __commonJS({
15269
- "node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/index.js"(exports) {
15322
+ "../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/index.js"(exports) {
15270
15323
  "use strict";
15271
15324
  var db = require_mime_db();
15272
15325
  var extname = __require("path").extname;
@@ -15370,9 +15423,9 @@ var require_mime_types = __commonJS({
15370
15423
  }
15371
15424
  });
15372
15425
 
15373
- // node_modules/.pnpm/media-typer@1.1.0/node_modules/media-typer/index.js
15426
+ // ../../node_modules/.pnpm/media-typer@1.1.0/node_modules/media-typer/index.js
15374
15427
  var require_media_typer = __commonJS({
15375
- "node_modules/.pnpm/media-typer@1.1.0/node_modules/media-typer/index.js"(exports) {
15428
+ "../../node_modules/.pnpm/media-typer@1.1.0/node_modules/media-typer/index.js"(exports) {
15376
15429
  "use strict";
15377
15430
  var SUBTYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/;
15378
15431
  var TYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/;
@@ -15440,9 +15493,9 @@ var require_media_typer = __commonJS({
15440
15493
  }
15441
15494
  });
15442
15495
 
15443
- // node_modules/.pnpm/type-is@2.1.0/node_modules/type-is/index.js
15496
+ // ../../node_modules/.pnpm/type-is@2.1.0/node_modules/type-is/index.js
15444
15497
  var require_type_is = __commonJS({
15445
- "node_modules/.pnpm/type-is@2.1.0/node_modules/type-is/index.js"(exports, module) {
15498
+ "../../node_modules/.pnpm/type-is@2.1.0/node_modules/type-is/index.js"(exports, module) {
15446
15499
  "use strict";
15447
15500
  var contentType = require_dist();
15448
15501
  var mime = require_mime_types();
@@ -15531,116 +15584,12 @@ var require_type_is = __commonJS({
15531
15584
  }
15532
15585
  });
15533
15586
 
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
15587
+ // ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/utils.js
15639
15588
  var require_utils = __commonJS({
15640
- "node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/utils.js"(exports, module) {
15589
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/utils.js"(exports, module) {
15641
15590
  "use strict";
15642
15591
  var bytes = require_bytes();
15643
- var contentType = require_content_type();
15592
+ var contentType = require_dist();
15644
15593
  var typeis = require_type_is();
15645
15594
  module.exports = {
15646
15595
  getCharset,
@@ -15648,11 +15597,9 @@ var require_utils = __commonJS({
15648
15597
  passthrough
15649
15598
  };
15650
15599
  function getCharset(req) {
15651
- try {
15652
- return (contentType.parse(req).parameters.charset || "").toLowerCase();
15653
- } catch {
15654
- return void 0;
15655
- }
15600
+ const header = req.headers["content-type"];
15601
+ if (!header) return void 0;
15602
+ return contentType.parse(header).parameters.charset?.toLowerCase();
15656
15603
  }
15657
15604
  function typeChecker(type) {
15658
15605
  return function checkType(req) {
@@ -15663,15 +15610,18 @@ var require_utils = __commonJS({
15663
15610
  if (!defaultType) {
15664
15611
  throw new TypeError("defaultType must be provided");
15665
15612
  }
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";
15613
+ const inflate = options?.inflate !== false;
15614
+ const limit = typeof options?.limit === "undefined" || options?.limit === null ? 102400 : bytes.parse(options.limit);
15615
+ const type = options?.type || defaultType;
15616
+ const verify = options?.verify || false;
15617
+ const defaultCharset = options?.defaultCharset || "utf-8";
15618
+ if (limit === null) {
15619
+ throw new TypeError(`option limit "${String(options.limit)}" is invalid`);
15620
+ }
15671
15621
  if (verify !== false && typeof verify !== "function") {
15672
15622
  throw new TypeError("option verify must be function");
15673
15623
  }
15674
- var shouldParse = typeof type !== "function" ? typeChecker(type) : type;
15624
+ const shouldParse = typeof type !== "function" ? typeChecker(type) : type;
15675
15625
  return {
15676
15626
  inflate,
15677
15627
  limit,
@@ -15686,9 +15636,9 @@ var require_utils = __commonJS({
15686
15636
  }
15687
15637
  });
15688
15638
 
15689
- // node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/read.js
15639
+ // ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/read.js
15690
15640
  var require_read = __commonJS({
15691
- "node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/read.js"(exports, module) {
15641
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/read.js"(exports, module) {
15692
15642
  "use strict";
15693
15643
  var createError = require_http_errors();
15694
15644
  var getBody = require_raw_body();
@@ -15718,7 +15668,7 @@ var require_read = __commonJS({
15718
15668
  next();
15719
15669
  return;
15720
15670
  }
15721
- var encoding = null;
15671
+ let encoding = null;
15722
15672
  if (options?.skipCharset !== true) {
15723
15673
  encoding = getCharset(req) || options.defaultCharset;
15724
15674
  if (!!options?.isValidCharset && !options.isValidCharset(encoding)) {
@@ -15730,10 +15680,10 @@ var require_read = __commonJS({
15730
15680
  return;
15731
15681
  }
15732
15682
  }
15733
- var length;
15734
- var opts = options;
15735
- var stream;
15736
- var verify = opts.verify;
15683
+ let length;
15684
+ const opts = options;
15685
+ let stream;
15686
+ const verify = opts.verify;
15737
15687
  try {
15738
15688
  stream = contentstream(req, debug, opts.inflate);
15739
15689
  length = stream.length;
@@ -15752,7 +15702,7 @@ var require_read = __commonJS({
15752
15702
  debug("read body");
15753
15703
  getBody(stream, opts, function(error, body) {
15754
15704
  if (error) {
15755
- var _error;
15705
+ let _error;
15756
15706
  if (error.type === "encoding.unsupported") {
15757
15707
  _error = createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', {
15758
15708
  charset: encoding.toLowerCase(),
@@ -15782,7 +15732,7 @@ var require_read = __commonJS({
15782
15732
  return;
15783
15733
  }
15784
15734
  }
15785
- var str = body;
15735
+ let str = body;
15786
15736
  try {
15787
15737
  debug("parse body");
15788
15738
  str = typeof body !== "string" && encoding !== null ? iconv.decode(body, encoding) : body;
@@ -15798,8 +15748,8 @@ var require_read = __commonJS({
15798
15748
  });
15799
15749
  }
15800
15750
  function contentstream(req, debug, inflate) {
15801
- var encoding = (req.headers["content-encoding"] || "identity").toLowerCase();
15802
- var length = req.headers["content-length"];
15751
+ const encoding = (req.headers["content-encoding"] || "identity").toLowerCase();
15752
+ const length = req.headers["content-length"];
15803
15753
  debug('content-encoding "%s"', encoding);
15804
15754
  if (inflate === false && encoding !== "identity") {
15805
15755
  throw createError(415, "content encoding unsupported", {
@@ -15811,7 +15761,7 @@ var require_read = __commonJS({
15811
15761
  req.length = length;
15812
15762
  return req;
15813
15763
  }
15814
- var stream = createDecompressionStream(encoding, debug);
15764
+ const stream = createDecompressionStream(encoding, debug);
15815
15765
  req.pipe(stream);
15816
15766
  return stream;
15817
15767
  }
@@ -15844,9 +15794,9 @@ var require_read = __commonJS({
15844
15794
  }
15845
15795
  });
15846
15796
 
15847
- // node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/json.js
15797
+ // ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/json.js
15848
15798
  var require_json = __commonJS({
15849
- "node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/json.js"(exports, module) {
15799
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/json.js"(exports, module) {
15850
15800
  "use strict";
15851
15801
  var debug = require_src()("body-parser:json");
15852
15802
  var read = require_read();
@@ -15857,18 +15807,43 @@ var require_json = __commonJS({
15857
15807
  var JSON_SYNTAX_REGEXP = /#+/g;
15858
15808
  function json(options) {
15859
15809
  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);
15810
+ const parse = createJsonParser(options);
15811
+ const readOptions = {
15812
+ ...normalizedOptions,
15813
+ // assert charset per RFC 7159 sec 8.1
15814
+ isValidCharset: (charset) => charset.slice(0, 4) === "utf-"
15815
+ };
15816
+ return function jsonParser(req, res, next) {
15817
+ read(req, res, next, parse, debug, readOptions);
15818
+ };
15819
+ }
15820
+ function createJsonParser(options) {
15821
+ const reviver = options?.reviver;
15822
+ const strict = options?.strict !== false;
15823
+ if (strict) {
15824
+ return function parse(body) {
15825
+ if (body.length === 0) {
15826
+ return {};
15827
+ }
15828
+ const first = firstchar(body);
15868
15829
  if (first !== "{" && first !== "[") {
15869
15830
  debug("strict violation");
15870
15831
  throw createStrictSyntaxError(body, first);
15871
15832
  }
15833
+ try {
15834
+ debug("parse json");
15835
+ return JSON.parse(body, reviver);
15836
+ } catch (e) {
15837
+ throw normalizeJsonSyntaxError(e, {
15838
+ message: e.message,
15839
+ stack: e.stack
15840
+ });
15841
+ }
15842
+ };
15843
+ }
15844
+ return function parse(body) {
15845
+ if (body.length === 0) {
15846
+ return {};
15872
15847
  }
15873
15848
  try {
15874
15849
  debug("parse json");
@@ -15879,19 +15854,11 @@ var require_json = __commonJS({
15879
15854
  stack: e.stack
15880
15855
  });
15881
15856
  }
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
15857
  };
15891
15858
  }
15892
15859
  function createStrictSyntaxError(str, char) {
15893
- var index = str.indexOf(char);
15894
- var partial = "";
15860
+ const index = str.indexOf(char);
15861
+ let partial = "";
15895
15862
  if (index !== -1) {
15896
15863
  partial = str.substring(0, index) + JSON_SYNTAX_CHAR.repeat(str.length - index);
15897
15864
  }
@@ -15908,13 +15875,13 @@ var require_json = __commonJS({
15908
15875
  }
15909
15876
  }
15910
15877
  function firstchar(str) {
15911
- var match = FIRST_CHAR_REGEXP.exec(str);
15878
+ const match = FIRST_CHAR_REGEXP.exec(str);
15912
15879
  return match ? match[1] : void 0;
15913
15880
  }
15914
15881
  function normalizeJsonSyntaxError(error, obj) {
15915
- var keys = Object.getOwnPropertyNames(error);
15916
- for (var i = 0; i < keys.length; i++) {
15917
- var key = keys[i];
15882
+ const keys = Object.getOwnPropertyNames(error);
15883
+ for (let i = 0; i < keys.length; i++) {
15884
+ const key = keys[i];
15918
15885
  if (key !== "stack" && key !== "message") {
15919
15886
  delete error[key];
15920
15887
  }
@@ -15926,9 +15893,9 @@ var require_json = __commonJS({
15926
15893
  }
15927
15894
  });
15928
15895
 
15929
- // node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/raw.js
15896
+ // ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/raw.js
15930
15897
  var require_raw = __commonJS({
15931
- "node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/raw.js"(exports, module) {
15898
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/raw.js"(exports, module) {
15932
15899
  "use strict";
15933
15900
  var debug = require_src()("body-parser:raw");
15934
15901
  var read = require_read();
@@ -15948,9 +15915,9 @@ var require_raw = __commonJS({
15948
15915
  }
15949
15916
  });
15950
15917
 
15951
- // node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/text.js
15918
+ // ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/text.js
15952
15919
  var require_text = __commonJS({
15953
- "node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/text.js"(exports, module) {
15920
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/text.js"(exports, module) {
15954
15921
  "use strict";
15955
15922
  var debug = require_src()("body-parser:text");
15956
15923
  var read = require_read();
@@ -15965,25 +15932,25 @@ var require_text = __commonJS({
15965
15932
  }
15966
15933
  });
15967
15934
 
15968
- // node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js
15935
+ // ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js
15969
15936
  var require_type = __commonJS({
15970
- "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js"(exports, module) {
15937
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js"(exports, module) {
15971
15938
  "use strict";
15972
15939
  module.exports = TypeError;
15973
15940
  }
15974
15941
  });
15975
15942
 
15976
- // node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js
15943
+ // ../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js
15977
15944
  var require_util_inspect = __commonJS({
15978
- "node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js"(exports, module) {
15945
+ "../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js"(exports, module) {
15979
15946
  "use strict";
15980
15947
  module.exports = __require("util").inspect;
15981
15948
  }
15982
15949
  });
15983
15950
 
15984
- // node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js
15951
+ // ../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js
15985
15952
  var require_object_inspect = __commonJS({
15986
- "node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js"(exports, module) {
15953
+ "../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js"(exports, module) {
15987
15954
  "use strict";
15988
15955
  var hasMap = typeof Map === "function" && Map.prototype;
15989
15956
  var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null;
@@ -16513,9 +16480,9 @@ var require_object_inspect = __commonJS({
16513
16480
  }
16514
16481
  });
16515
16482
 
16516
- // node_modules/.pnpm/side-channel-list@1.0.1/node_modules/side-channel-list/index.js
16483
+ // ../../node_modules/.pnpm/side-channel-list@1.0.1/node_modules/side-channel-list/index.js
16517
16484
  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) {
16485
+ "../../node_modules/.pnpm/side-channel-list@1.0.1/node_modules/side-channel-list/index.js"(exports, module) {
16519
16486
  "use strict";
16520
16487
  var inspect = require_object_inspect();
16521
16488
  var $TypeError = require_type();
@@ -16606,113 +16573,113 @@ var require_side_channel_list = __commonJS({
16606
16573
  }
16607
16574
  });
16608
16575
 
16609
- // node_modules/.pnpm/es-object-atoms@1.1.2/node_modules/es-object-atoms/index.js
16576
+ // ../../node_modules/.pnpm/es-object-atoms@1.1.2/node_modules/es-object-atoms/index.js
16610
16577
  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) {
16578
+ "../../node_modules/.pnpm/es-object-atoms@1.1.2/node_modules/es-object-atoms/index.js"(exports, module) {
16612
16579
  "use strict";
16613
16580
  module.exports = Object;
16614
16581
  }
16615
16582
  });
16616
16583
 
16617
- // node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js
16584
+ // ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js
16618
16585
  var require_es_errors = __commonJS({
16619
- "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js"(exports, module) {
16586
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js"(exports, module) {
16620
16587
  "use strict";
16621
16588
  module.exports = Error;
16622
16589
  }
16623
16590
  });
16624
16591
 
16625
- // node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js
16592
+ // ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js
16626
16593
  var require_eval = __commonJS({
16627
- "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js"(exports, module) {
16594
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js"(exports, module) {
16628
16595
  "use strict";
16629
16596
  module.exports = EvalError;
16630
16597
  }
16631
16598
  });
16632
16599
 
16633
- // node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js
16600
+ // ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js
16634
16601
  var require_range = __commonJS({
16635
- "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js"(exports, module) {
16602
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js"(exports, module) {
16636
16603
  "use strict";
16637
16604
  module.exports = RangeError;
16638
16605
  }
16639
16606
  });
16640
16607
 
16641
- // node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js
16608
+ // ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js
16642
16609
  var require_ref = __commonJS({
16643
- "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js"(exports, module) {
16610
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js"(exports, module) {
16644
16611
  "use strict";
16645
16612
  module.exports = ReferenceError;
16646
16613
  }
16647
16614
  });
16648
16615
 
16649
- // node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js
16616
+ // ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js
16650
16617
  var require_syntax = __commonJS({
16651
- "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js"(exports, module) {
16618
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js"(exports, module) {
16652
16619
  "use strict";
16653
16620
  module.exports = SyntaxError;
16654
16621
  }
16655
16622
  });
16656
16623
 
16657
- // node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js
16624
+ // ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js
16658
16625
  var require_uri = __commonJS({
16659
- "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js"(exports, module) {
16626
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js"(exports, module) {
16660
16627
  "use strict";
16661
16628
  module.exports = URIError;
16662
16629
  }
16663
16630
  });
16664
16631
 
16665
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js
16632
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js
16666
16633
  var require_abs = __commonJS({
16667
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js"(exports, module) {
16634
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js"(exports, module) {
16668
16635
  "use strict";
16669
16636
  module.exports = Math.abs;
16670
16637
  }
16671
16638
  });
16672
16639
 
16673
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js
16640
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js
16674
16641
  var require_floor = __commonJS({
16675
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js"(exports, module) {
16642
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js"(exports, module) {
16676
16643
  "use strict";
16677
16644
  module.exports = Math.floor;
16678
16645
  }
16679
16646
  });
16680
16647
 
16681
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js
16648
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js
16682
16649
  var require_max = __commonJS({
16683
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js"(exports, module) {
16650
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js"(exports, module) {
16684
16651
  "use strict";
16685
16652
  module.exports = Math.max;
16686
16653
  }
16687
16654
  });
16688
16655
 
16689
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js
16656
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js
16690
16657
  var require_min = __commonJS({
16691
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js"(exports, module) {
16658
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js"(exports, module) {
16692
16659
  "use strict";
16693
16660
  module.exports = Math.min;
16694
16661
  }
16695
16662
  });
16696
16663
 
16697
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js
16664
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js
16698
16665
  var require_pow = __commonJS({
16699
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js"(exports, module) {
16666
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js"(exports, module) {
16700
16667
  "use strict";
16701
16668
  module.exports = Math.pow;
16702
16669
  }
16703
16670
  });
16704
16671
 
16705
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js
16672
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js
16706
16673
  var require_round = __commonJS({
16707
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js"(exports, module) {
16674
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js"(exports, module) {
16708
16675
  "use strict";
16709
16676
  module.exports = Math.round;
16710
16677
  }
16711
16678
  });
16712
16679
 
16713
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js
16680
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js
16714
16681
  var require_isNaN = __commonJS({
16715
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js"(exports, module) {
16682
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js"(exports, module) {
16716
16683
  "use strict";
16717
16684
  module.exports = Number.isNaN || function isNaN2(a) {
16718
16685
  return a !== a;
@@ -16720,9 +16687,9 @@ var require_isNaN = __commonJS({
16720
16687
  }
16721
16688
  });
16722
16689
 
16723
- // node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js
16690
+ // ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js
16724
16691
  var require_sign = __commonJS({
16725
- "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js"(exports, module) {
16692
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js"(exports, module) {
16726
16693
  "use strict";
16727
16694
  var $isNaN = require_isNaN();
16728
16695
  module.exports = function sign(number) {
@@ -16734,17 +16701,17 @@ var require_sign = __commonJS({
16734
16701
  }
16735
16702
  });
16736
16703
 
16737
- // node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js
16704
+ // ../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js
16738
16705
  var require_gOPD = __commonJS({
16739
- "node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js"(exports, module) {
16706
+ "../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js"(exports, module) {
16740
16707
  "use strict";
16741
16708
  module.exports = Object.getOwnPropertyDescriptor;
16742
16709
  }
16743
16710
  });
16744
16711
 
16745
- // node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js
16712
+ // ../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js
16746
16713
  var require_gopd = __commonJS({
16747
- "node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js"(exports, module) {
16714
+ "../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js"(exports, module) {
16748
16715
  "use strict";
16749
16716
  var $gOPD = require_gOPD();
16750
16717
  if ($gOPD) {
@@ -16758,9 +16725,9 @@ var require_gopd = __commonJS({
16758
16725
  }
16759
16726
  });
16760
16727
 
16761
- // node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js
16728
+ // ../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js
16762
16729
  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) {
16730
+ "../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js"(exports, module) {
16764
16731
  "use strict";
16765
16732
  var $defineProperty = Object.defineProperty || false;
16766
16733
  if ($defineProperty) {
@@ -16774,9 +16741,9 @@ var require_es_define_property = __commonJS({
16774
16741
  }
16775
16742
  });
16776
16743
 
16777
- // node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js
16744
+ // ../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js
16778
16745
  var require_shams = __commonJS({
16779
- "node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js"(exports, module) {
16746
+ "../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js"(exports, module) {
16780
16747
  "use strict";
16781
16748
  module.exports = function hasSymbols() {
16782
16749
  if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") {
@@ -16829,9 +16796,9 @@ var require_shams = __commonJS({
16829
16796
  }
16830
16797
  });
16831
16798
 
16832
- // node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js
16799
+ // ../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js
16833
16800
  var require_has_symbols = __commonJS({
16834
- "node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js"(exports, module) {
16801
+ "../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js"(exports, module) {
16835
16802
  "use strict";
16836
16803
  var origSymbol = typeof Symbol !== "undefined" && Symbol;
16837
16804
  var hasSymbolSham = require_shams();
@@ -16853,26 +16820,26 @@ var require_has_symbols = __commonJS({
16853
16820
  }
16854
16821
  });
16855
16822
 
16856
- // node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js
16823
+ // ../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js
16857
16824
  var require_Reflect_getPrototypeOf = __commonJS({
16858
- "node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js"(exports, module) {
16825
+ "../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js"(exports, module) {
16859
16826
  "use strict";
16860
16827
  module.exports = typeof Reflect !== "undefined" && Reflect.getPrototypeOf || null;
16861
16828
  }
16862
16829
  });
16863
16830
 
16864
- // node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js
16831
+ // ../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js
16865
16832
  var require_Object_getPrototypeOf = __commonJS({
16866
- "node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js"(exports, module) {
16833
+ "../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js"(exports, module) {
16867
16834
  "use strict";
16868
16835
  var $Object = require_es_object_atoms();
16869
16836
  module.exports = $Object.getPrototypeOf || null;
16870
16837
  }
16871
16838
  });
16872
16839
 
16873
- // node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js
16840
+ // ../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js
16874
16841
  var require_implementation = __commonJS({
16875
- "node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js"(exports, module) {
16842
+ "../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js"(exports, module) {
16876
16843
  "use strict";
16877
16844
  var ERROR_MESSAGE = "Function.prototype.bind called on incompatible ";
16878
16845
  var toStr = Object.prototype.toString;
@@ -16946,42 +16913,42 @@ var require_implementation = __commonJS({
16946
16913
  }
16947
16914
  });
16948
16915
 
16949
- // node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js
16916
+ // ../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js
16950
16917
  var require_function_bind = __commonJS({
16951
- "node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js"(exports, module) {
16918
+ "../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js"(exports, module) {
16952
16919
  "use strict";
16953
16920
  var implementation = require_implementation();
16954
16921
  module.exports = Function.prototype.bind || implementation;
16955
16922
  }
16956
16923
  });
16957
16924
 
16958
- // node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js
16925
+ // ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js
16959
16926
  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) {
16927
+ "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js"(exports, module) {
16961
16928
  "use strict";
16962
16929
  module.exports = Function.prototype.call;
16963
16930
  }
16964
16931
  });
16965
16932
 
16966
- // node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js
16933
+ // ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js
16967
16934
  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) {
16935
+ "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js"(exports, module) {
16969
16936
  "use strict";
16970
16937
  module.exports = Function.prototype.apply;
16971
16938
  }
16972
16939
  });
16973
16940
 
16974
- // node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js
16941
+ // ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js
16975
16942
  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) {
16943
+ "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js"(exports, module) {
16977
16944
  "use strict";
16978
16945
  module.exports = typeof Reflect !== "undefined" && Reflect && Reflect.apply;
16979
16946
  }
16980
16947
  });
16981
16948
 
16982
- // node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js
16949
+ // ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js
16983
16950
  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) {
16951
+ "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js"(exports, module) {
16985
16952
  "use strict";
16986
16953
  var bind = require_function_bind();
16987
16954
  var $apply = require_functionApply();
@@ -16991,9 +16958,9 @@ var require_actualApply = __commonJS({
16991
16958
  }
16992
16959
  });
16993
16960
 
16994
- // node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js
16961
+ // ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js
16995
16962
  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) {
16963
+ "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js"(exports, module) {
16997
16964
  "use strict";
16998
16965
  var bind = require_function_bind();
16999
16966
  var $TypeError = require_type();
@@ -17008,9 +16975,9 @@ var require_call_bind_apply_helpers = __commonJS({
17008
16975
  }
17009
16976
  });
17010
16977
 
17011
- // node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js
16978
+ // ../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js
17012
16979
  var require_get = __commonJS({
17013
- "node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js"(exports, module) {
16980
+ "../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js"(exports, module) {
17014
16981
  "use strict";
17015
16982
  var callBind = require_call_bind_apply_helpers();
17016
16983
  var gOPD = require_gopd();
@@ -17039,9 +17006,9 @@ var require_get = __commonJS({
17039
17006
  }
17040
17007
  });
17041
17008
 
17042
- // node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js
17009
+ // ../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js
17043
17010
  var require_get_proto = __commonJS({
17044
- "node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js"(exports, module) {
17011
+ "../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js"(exports, module) {
17045
17012
  "use strict";
17046
17013
  var reflectGetProto = require_Reflect_getPrototypeOf();
17047
17014
  var originalGetProto = require_Object_getPrototypeOf();
@@ -17059,9 +17026,9 @@ var require_get_proto = __commonJS({
17059
17026
  }
17060
17027
  });
17061
17028
 
17062
- // node_modules/.pnpm/hasown@2.0.4/node_modules/hasown/index.js
17029
+ // ../../node_modules/.pnpm/hasown@2.0.4/node_modules/hasown/index.js
17063
17030
  var require_hasown = __commonJS({
17064
- "node_modules/.pnpm/hasown@2.0.4/node_modules/hasown/index.js"(exports, module) {
17031
+ "../../node_modules/.pnpm/hasown@2.0.4/node_modules/hasown/index.js"(exports, module) {
17065
17032
  "use strict";
17066
17033
  var call = Function.prototype.call;
17067
17034
  var $hasOwn = Object.prototype.hasOwnProperty;
@@ -17070,9 +17037,9 @@ var require_hasown = __commonJS({
17070
17037
  }
17071
17038
  });
17072
17039
 
17073
- // node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js
17040
+ // ../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js
17074
17041
  var require_get_intrinsic = __commonJS({
17075
- "node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js"(exports, module) {
17042
+ "../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js"(exports, module) {
17076
17043
  "use strict";
17077
17044
  var undefined2;
17078
17045
  var $Object = require_es_object_atoms();
@@ -17401,9 +17368,9 @@ var require_get_intrinsic = __commonJS({
17401
17368
  }
17402
17369
  });
17403
17370
 
17404
- // node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js
17371
+ // ../../node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js
17405
17372
  var require_call_bound = __commonJS({
17406
- "node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js"(exports, module) {
17373
+ "../../node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js"(exports, module) {
17407
17374
  "use strict";
17408
17375
  var GetIntrinsic = require_get_intrinsic();
17409
17376
  var callBindBasic = require_call_bind_apply_helpers();
@@ -17424,9 +17391,9 @@ var require_call_bound = __commonJS({
17424
17391
  }
17425
17392
  });
17426
17393
 
17427
- // node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js
17394
+ // ../../node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js
17428
17395
  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) {
17396
+ "../../node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js"(exports, module) {
17430
17397
  "use strict";
17431
17398
  var GetIntrinsic = require_get_intrinsic();
17432
17399
  var callBound = require_call_bound();
@@ -17480,9 +17447,9 @@ var require_side_channel_map = __commonJS({
17480
17447
  }
17481
17448
  });
17482
17449
 
17483
- // node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js
17450
+ // ../../node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js
17484
17451
  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) {
17452
+ "../../node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js"(exports, module) {
17486
17453
  "use strict";
17487
17454
  var GetIntrinsic = require_get_intrinsic();
17488
17455
  var callBound = require_call_bound();
@@ -17553,9 +17520,9 @@ var require_side_channel_weakmap = __commonJS({
17553
17520
  }
17554
17521
  });
17555
17522
 
17556
- // node_modules/.pnpm/side-channel@1.1.0/node_modules/side-channel/index.js
17523
+ // ../../node_modules/.pnpm/side-channel@1.1.1/node_modules/side-channel/index.js
17557
17524
  var require_side_channel = __commonJS({
17558
- "node_modules/.pnpm/side-channel@1.1.0/node_modules/side-channel/index.js"(exports, module) {
17525
+ "../../node_modules/.pnpm/side-channel@1.1.1/node_modules/side-channel/index.js"(exports, module) {
17559
17526
  "use strict";
17560
17527
  var $TypeError = require_type();
17561
17528
  var inspect = require_object_inspect();
@@ -17568,7 +17535,8 @@ var require_side_channel = __commonJS({
17568
17535
  var channel = {
17569
17536
  assert: function(key) {
17570
17537
  if (!channel.has(key)) {
17571
- throw new $TypeError("Side channel does not contain " + inspect(key));
17538
+ var keyDesc = key && Object(key) === key ? "the given object key" : inspect(key);
17539
+ throw new $TypeError("Side channel does not contain " + keyDesc);
17572
17540
  }
17573
17541
  },
17574
17542
  "delete": function(key) {
@@ -17592,9 +17560,9 @@ var require_side_channel = __commonJS({
17592
17560
  }
17593
17561
  });
17594
17562
 
17595
- // node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/formats.js
17563
+ // ../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/formats.js
17596
17564
  var require_formats = __commonJS({
17597
- "node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/formats.js"(exports, module) {
17565
+ "../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/formats.js"(exports, module) {
17598
17566
  "use strict";
17599
17567
  var replace = String.prototype.replace;
17600
17568
  var percentTwenties = /%20/g;
@@ -17618,12 +17586,13 @@ var require_formats = __commonJS({
17618
17586
  }
17619
17587
  });
17620
17588
 
17621
- // node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/utils.js
17589
+ // ../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/utils.js
17622
17590
  var require_utils2 = __commonJS({
17623
- "node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/utils.js"(exports, module) {
17591
+ "../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/utils.js"(exports, module) {
17624
17592
  "use strict";
17625
17593
  var formats = require_formats();
17626
17594
  var getSideChannel = require_side_channel();
17595
+ var defineProperty = require_es_define_property();
17627
17596
  var has = Object.prototype.hasOwnProperty;
17628
17597
  var isArray = Array.isArray;
17629
17598
  var overflowChannel = getSideChannel();
@@ -17671,6 +17640,18 @@ var require_utils2 = __commonJS({
17671
17640
  }
17672
17641
  return obj;
17673
17642
  };
17643
+ var setProperty = function setProperty2(obj, key, value) {
17644
+ if (key === "__proto__" && defineProperty) {
17645
+ defineProperty(obj, key, {
17646
+ configurable: true,
17647
+ enumerable: true,
17648
+ value,
17649
+ writable: true
17650
+ });
17651
+ } else {
17652
+ obj[key] = value;
17653
+ }
17654
+ };
17674
17655
  var merge = function merge2(target, source, options) {
17675
17656
  if (!source) {
17676
17657
  return target;
@@ -17678,7 +17659,10 @@ var require_utils2 = __commonJS({
17678
17659
  if (typeof source !== "object" && typeof source !== "function") {
17679
17660
  if (isArray(target)) {
17680
17661
  var nextIndex = target.length;
17681
- if (options && typeof options.arrayLimit === "number" && nextIndex > options.arrayLimit) {
17662
+ if (options && typeof options.arrayLimit === "number" && nextIndex >= options.arrayLimit) {
17663
+ if (options.throwOnLimitExceeded) {
17664
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
17665
+ }
17682
17666
  return markOverflow(arrayToObject(target.concat(source), options), nextIndex);
17683
17667
  }
17684
17668
  target[nextIndex] = source;
@@ -17709,6 +17693,9 @@ var require_utils2 = __commonJS({
17709
17693
  }
17710
17694
  var combined = [target].concat(source);
17711
17695
  if (options && typeof options.arrayLimit === "number" && combined.length > options.arrayLimit) {
17696
+ if (options.throwOnLimitExceeded) {
17697
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
17698
+ }
17712
17699
  return markOverflow(arrayToObject(combined, options), combined.length - 1);
17713
17700
  }
17714
17701
  return combined;
@@ -17730,14 +17717,20 @@ var require_utils2 = __commonJS({
17730
17717
  target[i] = item;
17731
17718
  }
17732
17719
  });
17720
+ if (options && typeof options.arrayLimit === "number" && target.length > options.arrayLimit) {
17721
+ if (options.throwOnLimitExceeded) {
17722
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
17723
+ }
17724
+ return markOverflow(arrayToObject(target, options), target.length - 1);
17725
+ }
17733
17726
  return target;
17734
17727
  }
17735
17728
  return Object.keys(source).reduce(function(acc, key) {
17736
17729
  var value = source[key];
17737
17730
  if (has.call(acc, key)) {
17738
- acc[key] = merge2(acc[key], value, options);
17731
+ setProperty(acc, key, merge2(acc[key], value, options));
17739
17732
  } else {
17740
- acc[key] = value;
17733
+ setProperty(acc, key, value);
17741
17734
  }
17742
17735
  if (isOverflow(source) && !isOverflow(acc)) {
17743
17736
  markOverflow(acc, getMaxIndex(source));
@@ -17753,7 +17746,7 @@ var require_utils2 = __commonJS({
17753
17746
  };
17754
17747
  var assign = function assignSingleSource(target, source) {
17755
17748
  return Object.keys(source).reduce(function(acc, key) {
17756
- acc[key] = source[key];
17749
+ setProperty(acc, key, source[key]);
17757
17750
  return acc;
17758
17751
  }, target);
17759
17752
  };
@@ -17787,6 +17780,13 @@ var require_utils2 = __commonJS({
17787
17780
  var out = "";
17788
17781
  for (var j = 0; j < string.length; j += limit) {
17789
17782
  var segment = string.length >= limit ? string.slice(j, j + limit) : string;
17783
+ if (j + limit < string.length) {
17784
+ var last = segment.charCodeAt(segment.length - 1);
17785
+ if (last >= 55296 && last <= 56319) {
17786
+ segment = segment.slice(0, -1);
17787
+ j -= 1;
17788
+ }
17789
+ }
17790
17790
  var arr = [];
17791
17791
  for (var i = 0; i < segment.length; ++i) {
17792
17792
  var c = segment.charCodeAt(i);
@@ -17816,7 +17816,7 @@ var require_utils2 = __commonJS({
17816
17816
  };
17817
17817
  var compact = function compact2(value) {
17818
17818
  var queue = [{ obj: { o: value }, prop: "o" }];
17819
- var refs = [];
17819
+ var refs = getSideChannel();
17820
17820
  for (var i = 0; i < queue.length; ++i) {
17821
17821
  var item = queue[i];
17822
17822
  var obj = item.obj[item.prop];
@@ -17824,9 +17824,9 @@ var require_utils2 = __commonJS({
17824
17824
  for (var j = 0; j < keys.length; ++j) {
17825
17825
  var key = keys[j];
17826
17826
  var val = obj[key];
17827
- if (typeof val === "object" && val !== null && refs.indexOf(val) === -1) {
17827
+ if (typeof val === "object" && val !== null && !refs.has(val)) {
17828
17828
  queue[queue.length] = { obj, prop: key };
17829
- refs[refs.length] = val;
17829
+ refs.set(val, true);
17830
17830
  }
17831
17831
  }
17832
17832
  }
@@ -17842,8 +17842,11 @@ var require_utils2 = __commonJS({
17842
17842
  }
17843
17843
  return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
17844
17844
  };
17845
- var combine = function combine2(a, b, arrayLimit, plainObjects) {
17845
+ var combine = function combine2(a, b, arrayLimit, plainObjects, throwOnLimitExceeded) {
17846
17846
  if (isOverflow(a)) {
17847
+ if (throwOnLimitExceeded) {
17848
+ throw new RangeError("Array limit exceeded. Only " + arrayLimit + " element" + (arrayLimit === 1 ? "" : "s") + " allowed in an array.");
17849
+ }
17847
17850
  var newIndex = getMaxIndex(a) + 1;
17848
17851
  a[newIndex] = b;
17849
17852
  setMaxIndex(a, newIndex);
@@ -17851,6 +17854,9 @@ var require_utils2 = __commonJS({
17851
17854
  }
17852
17855
  var result = [].concat(a, b);
17853
17856
  if (result.length > arrayLimit) {
17857
+ if (throwOnLimitExceeded) {
17858
+ throw new RangeError("Array limit exceeded. Only " + arrayLimit + " element" + (arrayLimit === 1 ? "" : "s") + " allowed in an array.");
17859
+ }
17854
17860
  return markOverflow(arrayToObject(result, { plainObjects }), result.length - 1);
17855
17861
  }
17856
17862
  return result;
@@ -17882,9 +17888,9 @@ var require_utils2 = __commonJS({
17882
17888
  }
17883
17889
  });
17884
17890
 
17885
- // node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/stringify.js
17891
+ // ../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/stringify.js
17886
17892
  var require_stringify = __commonJS({
17887
- "node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/stringify.js"(exports, module) {
17893
+ "../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/stringify.js"(exports, module) {
17888
17894
  "use strict";
17889
17895
  var getSideChannel = require_side_channel();
17890
17896
  var utils = require_utils2();
@@ -18170,9 +18176,9 @@ var require_stringify = __commonJS({
18170
18176
  }
18171
18177
  });
18172
18178
 
18173
- // node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/parse.js
18179
+ // ../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/parse.js
18174
18180
  var require_parse = __commonJS({
18175
- "node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/parse.js"(exports, module) {
18181
+ "../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/parse.js"(exports, module) {
18176
18182
  "use strict";
18177
18183
  var utils = require_utils2();
18178
18184
  var has = Object.prototype.hasOwnProperty;
@@ -18206,8 +18212,19 @@ var require_parse = __commonJS({
18206
18212
  return String.fromCharCode(parseInt(numberStr, 10));
18207
18213
  });
18208
18214
  };
18209
- var parseArrayValue = function(val, options, currentArrayLength) {
18215
+ var parseArrayValue = function(val, options, currentArrayLength, isFlatArrayValue) {
18210
18216
  if (val && typeof val === "string" && options.comma && val.indexOf(",") > -1) {
18217
+ if (isFlatArrayValue && options.throwOnLimitExceeded) {
18218
+ var commaCount = 0;
18219
+ var commaIndex = val.indexOf(",");
18220
+ while (commaIndex > -1) {
18221
+ commaCount += 1;
18222
+ if (commaCount >= options.arrayLimit) {
18223
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
18224
+ }
18225
+ commaIndex = val.indexOf(",", commaIndex + 1);
18226
+ }
18227
+ }
18211
18228
  return val.split(",");
18212
18229
  }
18213
18230
  if (options.throwOnLimitExceeded && currentArrayLength >= options.arrayLimit) {
@@ -18264,7 +18281,8 @@ var require_parse = __commonJS({
18264
18281
  parseArrayValue(
18265
18282
  part.slice(pos + 1),
18266
18283
  options,
18267
- isArray(obj[key]) ? obj[key].length : 0
18284
+ isArray(obj[key]) ? obj[key].length : 0,
18285
+ part.indexOf("[]=") === -1
18268
18286
  ),
18269
18287
  function(encodedVal) {
18270
18288
  return options.decoder(encodedVal, defaults.decoder, charset, "value");
@@ -18279,10 +18297,7 @@ var require_parse = __commonJS({
18279
18297
  val = isArray(val) ? [val] : val;
18280
18298
  }
18281
18299
  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);
18300
+ val = utils.combine([], val, options.arrayLimit, options.plainObjects, options.throwOnLimitExceeded);
18286
18301
  }
18287
18302
  if (key !== null) {
18288
18303
  var existing = has.call(obj, key);
@@ -18291,7 +18306,8 @@ var require_parse = __commonJS({
18291
18306
  obj[key],
18292
18307
  val,
18293
18308
  options.arrayLimit,
18294
- options.plainObjects
18309
+ options.plainObjects,
18310
+ options.throwOnLimitExceeded
18295
18311
  );
18296
18312
  } else if (!existing || options.duplicates === "last") {
18297
18313
  obj[key] = val;
@@ -18318,7 +18334,8 @@ var require_parse = __commonJS({
18318
18334
  [],
18319
18335
  leaf,
18320
18336
  options.arrayLimit,
18321
- options.plainObjects
18337
+ options.plainObjects,
18338
+ options.throwOnLimitExceeded
18322
18339
  );
18323
18340
  }
18324
18341
  } else {
@@ -18488,9 +18505,9 @@ var require_parse = __commonJS({
18488
18505
  }
18489
18506
  });
18490
18507
 
18491
- // node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/index.js
18508
+ // ../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/index.js
18492
18509
  var require_lib2 = __commonJS({
18493
- "node_modules/.pnpm/qs@6.15.2/node_modules/qs/lib/index.js"(exports, module) {
18510
+ "../../node_modules/.pnpm/qs@6.15.3/node_modules/qs/lib/index.js"(exports, module) {
18494
18511
  "use strict";
18495
18512
  var stringify = require_stringify();
18496
18513
  var parse = require_parse();
@@ -18503,9 +18520,9 @@ var require_lib2 = __commonJS({
18503
18520
  }
18504
18521
  });
18505
18522
 
18506
- // node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/urlencoded.js
18523
+ // ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/urlencoded.js
18507
18524
  var require_urlencoded = __commonJS({
18508
- "node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/types/urlencoded.js"(exports, module) {
18525
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/urlencoded.js"(exports, module) {
18509
18526
  "use strict";
18510
18527
  var createError = require_http_errors();
18511
18528
  var debug = require_src()("body-parser:urlencoded");
@@ -18518,10 +18535,7 @@ var require_urlencoded = __commonJS({
18518
18535
  if (normalizedOptions.defaultCharset !== "utf-8" && normalizedOptions.defaultCharset !== "iso-8859-1") {
18519
18536
  throw new TypeError("option defaultCharset must be either utf-8 or iso-8859-1");
18520
18537
  }
18521
- var queryparse = createQueryParser(options);
18522
- function parse(body, encoding) {
18523
- return body.length ? queryparse(body, encoding) : {};
18524
- }
18538
+ const parse = createQueryParser(options);
18525
18539
  const readOptions = {
18526
18540
  ...normalizedOptions,
18527
18541
  // assert charset
@@ -18532,11 +18546,11 @@ var require_urlencoded = __commonJS({
18532
18546
  };
18533
18547
  }
18534
18548
  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;
18549
+ const extended = Boolean(options?.extended);
18550
+ let parameterLimit = options?.parameterLimit !== void 0 ? options?.parameterLimit : 1e3;
18551
+ const charsetSentinel = options?.charsetSentinel;
18552
+ const interpretNumericEntities = options?.interpretNumericEntities;
18553
+ const depth = extended ? options?.depth !== void 0 ? options?.depth : 32 : 0;
18540
18554
  if (isNaN(parameterLimit) || parameterLimit < 1) {
18541
18555
  throw new TypeError("option parameterLimit must be a positive number");
18542
18556
  }
@@ -18546,15 +18560,16 @@ var require_urlencoded = __commonJS({
18546
18560
  if (isFinite(parameterLimit)) {
18547
18561
  parameterLimit = parameterLimit | 0;
18548
18562
  }
18549
- return function queryparse(body, encoding) {
18550
- var paramCount = parameterCount(body, parameterLimit);
18563
+ return function parse(body, encoding) {
18564
+ if (!body.length) return {};
18565
+ const paramCount = parameterCount(body, parameterLimit);
18551
18566
  if (paramCount === void 0) {
18552
18567
  debug("too many parameters");
18553
18568
  throw createError(413, "too many parameters", {
18554
18569
  type: "parameters.too.many"
18555
18570
  });
18556
18571
  }
18557
- var arrayLimit = extended ? Math.max(100, paramCount) : paramCount;
18572
+ const arrayLimit = extended ? Math.max(100, paramCount) : paramCount;
18558
18573
  debug("parse " + (extended ? "extended " : "") + "urlencoding");
18559
18574
  try {
18560
18575
  return qs.parse(body, {
@@ -18591,40 +18606,24 @@ var require_urlencoded = __commonJS({
18591
18606
  }
18592
18607
  });
18593
18608
 
18594
- // node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/index.js
18609
+ // ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/index.js
18595
18610
  var require_body_parser = __commonJS({
18596
- "node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/index.js"(exports, module) {
18611
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/index.js"(exports, module) {
18597
18612
  "use strict";
18598
18613
  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
- });
18614
+ exports.json = require_json();
18615
+ exports.raw = require_raw();
18616
+ exports.text = require_text();
18617
+ exports.urlencoded = require_urlencoded();
18619
18618
  function bodyParser() {
18620
18619
  throw new Error("The bodyParser() generic has been split into individual middleware to use instead.");
18621
18620
  }
18622
18621
  }
18623
18622
  });
18624
18623
 
18625
- // node_modules/.pnpm/merge-descriptors@2.0.0/node_modules/merge-descriptors/index.js
18624
+ // ../../node_modules/.pnpm/merge-descriptors@2.0.0/node_modules/merge-descriptors/index.js
18626
18625
  var require_merge_descriptors = __commonJS({
18627
- "node_modules/.pnpm/merge-descriptors@2.0.0/node_modules/merge-descriptors/index.js"(exports, module) {
18626
+ "../../node_modules/.pnpm/merge-descriptors@2.0.0/node_modules/merge-descriptors/index.js"(exports, module) {
18628
18627
  "use strict";
18629
18628
  function mergeDescriptors(destination, source, overwrite = true) {
18630
18629
  if (!destination) {
@@ -18646,9 +18645,9 @@ var require_merge_descriptors = __commonJS({
18646
18645
  }
18647
18646
  });
18648
18647
 
18649
- // node_modules/.pnpm/encodeurl@2.0.0/node_modules/encodeurl/index.js
18648
+ // ../../node_modules/.pnpm/encodeurl@2.0.0/node_modules/encodeurl/index.js
18650
18649
  var require_encodeurl = __commonJS({
18651
- "node_modules/.pnpm/encodeurl@2.0.0/node_modules/encodeurl/index.js"(exports, module) {
18650
+ "../../node_modules/.pnpm/encodeurl@2.0.0/node_modules/encodeurl/index.js"(exports, module) {
18652
18651
  "use strict";
18653
18652
  module.exports = encodeUrl;
18654
18653
  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 +18659,9 @@ var require_encodeurl = __commonJS({
18660
18659
  }
18661
18660
  });
18662
18661
 
18663
- // node_modules/.pnpm/escape-html@1.0.3/node_modules/escape-html/index.js
18662
+ // ../../node_modules/.pnpm/escape-html@1.0.3/node_modules/escape-html/index.js
18664
18663
  var require_escape_html = __commonJS({
18665
- "node_modules/.pnpm/escape-html@1.0.3/node_modules/escape-html/index.js"(exports, module) {
18664
+ "../../node_modules/.pnpm/escape-html@1.0.3/node_modules/escape-html/index.js"(exports, module) {
18666
18665
  "use strict";
18667
18666
  var matchHtmlRegExp = /["'&<>]/;
18668
18667
  module.exports = escapeHtml;
@@ -18707,9 +18706,9 @@ var require_escape_html = __commonJS({
18707
18706
  }
18708
18707
  });
18709
18708
 
18710
- // node_modules/.pnpm/parseurl@1.3.3/node_modules/parseurl/index.js
18709
+ // ../../node_modules/.pnpm/parseurl@1.3.3/node_modules/parseurl/index.js
18711
18710
  var require_parseurl = __commonJS({
18712
- "node_modules/.pnpm/parseurl@1.3.3/node_modules/parseurl/index.js"(exports, module) {
18711
+ "../../node_modules/.pnpm/parseurl@1.3.3/node_modules/parseurl/index.js"(exports, module) {
18713
18712
  "use strict";
18714
18713
  var url = __require("url");
18715
18714
  var parse = url.parse;
@@ -18791,9 +18790,9 @@ var require_parseurl = __commonJS({
18791
18790
  }
18792
18791
  });
18793
18792
 
18794
- // node_modules/.pnpm/finalhandler@2.1.1/node_modules/finalhandler/index.js
18793
+ // ../../node_modules/.pnpm/finalhandler@2.1.1/node_modules/finalhandler/index.js
18795
18794
  var require_finalhandler = __commonJS({
18796
- "node_modules/.pnpm/finalhandler@2.1.1/node_modules/finalhandler/index.js"(exports, module) {
18795
+ "../../node_modules/.pnpm/finalhandler@2.1.1/node_modules/finalhandler/index.js"(exports, module) {
18797
18796
  "use strict";
18798
18797
  var debug = require_src()("finalhandler");
18799
18798
  var encodeUrl = require_encodeurl();
@@ -18809,7 +18808,7 @@ var require_finalhandler = __commonJS({
18809
18808
  module.exports = finalhandler;
18810
18809
  function finalhandler(req, res, options) {
18811
18810
  var opts = options || {};
18812
- var env = opts.env || process.env.NODE_ENV || "development";
18811
+ var env2 = opts.env || process.env.NODE_ENV || "development";
18813
18812
  var onerror = opts.onerror;
18814
18813
  return function(err) {
18815
18814
  var headers;
@@ -18826,7 +18825,7 @@ var require_finalhandler = __commonJS({
18826
18825
  } else {
18827
18826
  headers = getErrorHeaders(err);
18828
18827
  }
18829
- msg = getErrorMessage(err, status, env);
18828
+ msg = getErrorMessage(err, status, env2);
18830
18829
  } else {
18831
18830
  status = 404;
18832
18831
  msg = "Cannot " + req.method + " " + encodeUrl(getResourceName(req));
@@ -18851,9 +18850,9 @@ var require_finalhandler = __commonJS({
18851
18850
  }
18852
18851
  return { ...err.headers };
18853
18852
  }
18854
- function getErrorMessage(err, status, env) {
18853
+ function getErrorMessage(err, status, env2) {
18855
18854
  var msg;
18856
- if (env !== "production") {
18855
+ if (env2 !== "production") {
18857
18856
  msg = err.stack;
18858
18857
  if (!msg && typeof err.toString === "function") {
18859
18858
  msg = err.toString();
@@ -18918,9 +18917,9 @@ var require_finalhandler = __commonJS({
18918
18917
  }
18919
18918
  });
18920
18919
 
18921
- // node_modules/.pnpm/express@5.2.1/node_modules/express/lib/view.js
18920
+ // ../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/view.js
18922
18921
  var require_view = __commonJS({
18923
- "node_modules/.pnpm/express@5.2.1/node_modules/express/lib/view.js"(exports, module) {
18922
+ "../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/view.js"(exports, module) {
18924
18923
  "use strict";
18925
18924
  var debug = require_src()("express:view");
18926
18925
  var path = __require("path");
@@ -19012,9 +19011,113 @@ var require_view = __commonJS({
19012
19011
  }
19013
19012
  });
19014
19013
 
19015
- // node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js
19014
+ // ../../node_modules/.pnpm/content-type@1.0.5/node_modules/content-type/index.js
19015
+ var require_content_type = __commonJS({
19016
+ "../../node_modules/.pnpm/content-type@1.0.5/node_modules/content-type/index.js"(exports) {
19017
+ "use strict";
19018
+ var PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g;
19019
+ var TEXT_REGEXP = /^[\u000b\u0020-\u007e\u0080-\u00ff]+$/;
19020
+ var TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
19021
+ var QESC_REGEXP = /\\([\u000b\u0020-\u00ff])/g;
19022
+ var QUOTE_REGEXP = /([\\"])/g;
19023
+ var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
19024
+ exports.format = format;
19025
+ exports.parse = parse;
19026
+ function format(obj) {
19027
+ if (!obj || typeof obj !== "object") {
19028
+ throw new TypeError("argument obj is required");
19029
+ }
19030
+ var parameters = obj.parameters;
19031
+ var type = obj.type;
19032
+ if (!type || !TYPE_REGEXP.test(type)) {
19033
+ throw new TypeError("invalid type");
19034
+ }
19035
+ var string = type;
19036
+ if (parameters && typeof parameters === "object") {
19037
+ var param;
19038
+ var params = Object.keys(parameters).sort();
19039
+ for (var i = 0; i < params.length; i++) {
19040
+ param = params[i];
19041
+ if (!TOKEN_REGEXP.test(param)) {
19042
+ throw new TypeError("invalid parameter name");
19043
+ }
19044
+ string += "; " + param + "=" + qstring(parameters[param]);
19045
+ }
19046
+ }
19047
+ return string;
19048
+ }
19049
+ function parse(string) {
19050
+ if (!string) {
19051
+ throw new TypeError("argument string is required");
19052
+ }
19053
+ var header = typeof string === "object" ? getcontenttype(string) : string;
19054
+ if (typeof header !== "string") {
19055
+ throw new TypeError("argument string is required to be a string");
19056
+ }
19057
+ var index = header.indexOf(";");
19058
+ var type = index !== -1 ? header.slice(0, index).trim() : header.trim();
19059
+ if (!TYPE_REGEXP.test(type)) {
19060
+ throw new TypeError("invalid media type");
19061
+ }
19062
+ var obj = new ContentType(type.toLowerCase());
19063
+ if (index !== -1) {
19064
+ var key;
19065
+ var match;
19066
+ var value;
19067
+ PARAM_REGEXP.lastIndex = index;
19068
+ while (match = PARAM_REGEXP.exec(header)) {
19069
+ if (match.index !== index) {
19070
+ throw new TypeError("invalid parameter format");
19071
+ }
19072
+ index += match[0].length;
19073
+ key = match[1].toLowerCase();
19074
+ value = match[2];
19075
+ if (value.charCodeAt(0) === 34) {
19076
+ value = value.slice(1, -1);
19077
+ if (value.indexOf("\\") !== -1) {
19078
+ value = value.replace(QESC_REGEXP, "$1");
19079
+ }
19080
+ }
19081
+ obj.parameters[key] = value;
19082
+ }
19083
+ if (index !== header.length) {
19084
+ throw new TypeError("invalid parameter format");
19085
+ }
19086
+ }
19087
+ return obj;
19088
+ }
19089
+ function getcontenttype(obj) {
19090
+ var header;
19091
+ if (typeof obj.getHeader === "function") {
19092
+ header = obj.getHeader("content-type");
19093
+ } else if (typeof obj.headers === "object") {
19094
+ header = obj.headers && obj.headers["content-type"];
19095
+ }
19096
+ if (typeof header !== "string") {
19097
+ throw new TypeError("content-type header is missing from object");
19098
+ }
19099
+ return header;
19100
+ }
19101
+ function qstring(val) {
19102
+ var str = String(val);
19103
+ if (TOKEN_REGEXP.test(str)) {
19104
+ return str;
19105
+ }
19106
+ if (str.length > 0 && !TEXT_REGEXP.test(str)) {
19107
+ throw new TypeError("invalid parameter value");
19108
+ }
19109
+ return '"' + str.replace(QUOTE_REGEXP, "\\$1") + '"';
19110
+ }
19111
+ function ContentType(type) {
19112
+ this.parameters = /* @__PURE__ */ Object.create(null);
19113
+ this.type = type;
19114
+ }
19115
+ }
19116
+ });
19117
+
19118
+ // ../../node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js
19016
19119
  var require_etag = __commonJS({
19017
- "node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js"(exports, module) {
19120
+ "../../node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js"(exports, module) {
19018
19121
  "use strict";
19019
19122
  module.exports = etag;
19020
19123
  var crypto = __require("crypto");
@@ -19054,9 +19157,9 @@ var require_etag = __commonJS({
19054
19157
  }
19055
19158
  });
19056
19159
 
19057
- // node_modules/.pnpm/forwarded@0.2.0/node_modules/forwarded/index.js
19160
+ // ../../node_modules/.pnpm/forwarded@0.2.0/node_modules/forwarded/index.js
19058
19161
  var require_forwarded = __commonJS({
19059
- "node_modules/.pnpm/forwarded@0.2.0/node_modules/forwarded/index.js"(exports, module) {
19162
+ "../../node_modules/.pnpm/forwarded@0.2.0/node_modules/forwarded/index.js"(exports, module) {
19060
19163
  "use strict";
19061
19164
  module.exports = forwarded;
19062
19165
  function forwarded(req) {
@@ -19101,9 +19204,9 @@ var require_forwarded = __commonJS({
19101
19204
  }
19102
19205
  });
19103
19206
 
19104
- // node_modules/.pnpm/ipaddr.js@1.9.1/node_modules/ipaddr.js/lib/ipaddr.js
19207
+ // ../../node_modules/.pnpm/ipaddr.js@1.9.1/node_modules/ipaddr.js/lib/ipaddr.js
19105
19208
  var require_ipaddr = __commonJS({
19106
- "node_modules/.pnpm/ipaddr.js@1.9.1/node_modules/ipaddr.js/lib/ipaddr.js"(exports, module) {
19209
+ "../../node_modules/.pnpm/ipaddr.js@1.9.1/node_modules/ipaddr.js/lib/ipaddr.js"(exports, module) {
19107
19210
  "use strict";
19108
19211
  (function() {
19109
19212
  var expandIPv6, ipaddr, ipv4Part, ipv4Regexes, ipv6Part, ipv6Regexes, matchCIDR, root, zoneIndex;
@@ -19724,9 +19827,9 @@ var require_ipaddr = __commonJS({
19724
19827
  }
19725
19828
  });
19726
19829
 
19727
- // node_modules/.pnpm/proxy-addr@2.0.7/node_modules/proxy-addr/index.js
19830
+ // ../../node_modules/.pnpm/proxy-addr@2.0.7/node_modules/proxy-addr/index.js
19728
19831
  var require_proxy_addr = __commonJS({
19729
- "node_modules/.pnpm/proxy-addr@2.0.7/node_modules/proxy-addr/index.js"(exports, module) {
19832
+ "../../node_modules/.pnpm/proxy-addr@2.0.7/node_modules/proxy-addr/index.js"(exports, module) {
19730
19833
  "use strict";
19731
19834
  module.exports = proxyaddr;
19732
19835
  module.exports.all = alladdrs;
@@ -19883,9 +19986,9 @@ var require_proxy_addr = __commonJS({
19883
19986
  }
19884
19987
  });
19885
19988
 
19886
- // node_modules/.pnpm/express@5.2.1/node_modules/express/lib/utils.js
19989
+ // ../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/utils.js
19887
19990
  var require_utils3 = __commonJS({
19888
- "node_modules/.pnpm/express@5.2.1/node_modules/express/lib/utils.js"(exports) {
19991
+ "../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/utils.js"(exports) {
19889
19992
  "use strict";
19890
19993
  var { METHODS } = __require("http");
19891
19994
  var contentType = require_content_type();
@@ -20010,9 +20113,9 @@ var require_utils3 = __commonJS({
20010
20113
  }
20011
20114
  });
20012
20115
 
20013
- // node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js
20116
+ // ../../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js
20014
20117
  var require_wrappy = __commonJS({
20015
- "node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js"(exports, module) {
20118
+ "../../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js"(exports, module) {
20016
20119
  "use strict";
20017
20120
  module.exports = wrappy;
20018
20121
  function wrappy(fn, cb) {
@@ -20041,9 +20144,9 @@ var require_wrappy = __commonJS({
20041
20144
  }
20042
20145
  });
20043
20146
 
20044
- // node_modules/.pnpm/once@1.4.0/node_modules/once/once.js
20147
+ // ../../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js
20045
20148
  var require_once = __commonJS({
20046
- "node_modules/.pnpm/once@1.4.0/node_modules/once/once.js"(exports, module) {
20149
+ "../../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js"(exports, module) {
20047
20150
  "use strict";
20048
20151
  var wrappy = require_wrappy();
20049
20152
  module.exports = wrappy(once);
@@ -20086,9 +20189,9 @@ var require_once = __commonJS({
20086
20189
  }
20087
20190
  });
20088
20191
 
20089
- // node_modules/.pnpm/is-promise@4.0.0/node_modules/is-promise/index.js
20192
+ // ../../node_modules/.pnpm/is-promise@4.0.0/node_modules/is-promise/index.js
20090
20193
  var require_is_promise = __commonJS({
20091
- "node_modules/.pnpm/is-promise@4.0.0/node_modules/is-promise/index.js"(exports, module) {
20194
+ "../../node_modules/.pnpm/is-promise@4.0.0/node_modules/is-promise/index.js"(exports, module) {
20092
20195
  "use strict";
20093
20196
  module.exports = isPromise;
20094
20197
  module.exports.default = isPromise;
@@ -20098,9 +20201,9 @@ var require_is_promise = __commonJS({
20098
20201
  }
20099
20202
  });
20100
20203
 
20101
- // node_modules/.pnpm/path-to-regexp@8.4.2/node_modules/path-to-regexp/dist/index.js
20204
+ // ../../node_modules/.pnpm/path-to-regexp@8.4.2/node_modules/path-to-regexp/dist/index.js
20102
20205
  var require_dist2 = __commonJS({
20103
- "node_modules/.pnpm/path-to-regexp@8.4.2/node_modules/path-to-regexp/dist/index.js"(exports) {
20206
+ "../../node_modules/.pnpm/path-to-regexp@8.4.2/node_modules/path-to-regexp/dist/index.js"(exports) {
20104
20207
  "use strict";
20105
20208
  Object.defineProperty(exports, "__esModule", { value: true });
20106
20209
  exports.PathError = exports.TokenData = void 0;
@@ -20321,10 +20424,10 @@ var require_dist2 = __commonJS({
20321
20424
  const keys = [];
20322
20425
  let source = "";
20323
20426
  let combinations = 0;
20324
- function process2(path2) {
20427
+ function process3(path2) {
20325
20428
  if (Array.isArray(path2)) {
20326
20429
  for (const p of path2)
20327
- process2(p);
20430
+ process3(p);
20328
20431
  return;
20329
20432
  }
20330
20433
  const data = typeof path2 === "object" ? path2 : parse(path2, options);
@@ -20338,7 +20441,7 @@ var require_dist2 = __commonJS({
20338
20441
  combinations++;
20339
20442
  });
20340
20443
  }
20341
- process2(path);
20444
+ process3(path);
20342
20445
  let pattern = `^(?:${source})`;
20343
20446
  if (trailing)
20344
20447
  pattern += "(?:" + escape2(delimiter) + "$)?";
@@ -20467,9 +20570,9 @@ var require_dist2 = __commonJS({
20467
20570
  }
20468
20571
  });
20469
20572
 
20470
- // node_modules/.pnpm/router@2.2.0/node_modules/router/lib/layer.js
20573
+ // ../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/layer.js
20471
20574
  var require_layer = __commonJS({
20472
- "node_modules/.pnpm/router@2.2.0/node_modules/router/lib/layer.js"(exports, module) {
20575
+ "../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/layer.js"(exports, module) {
20473
20576
  "use strict";
20474
20577
  var isPromise = require_is_promise();
20475
20578
  var pathRegexp = require_dist2();
@@ -20617,9 +20720,9 @@ var require_layer = __commonJS({
20617
20720
  }
20618
20721
  });
20619
20722
 
20620
- // node_modules/.pnpm/router@2.2.0/node_modules/router/lib/route.js
20723
+ // ../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/route.js
20621
20724
  var require_route = __commonJS({
20622
- "node_modules/.pnpm/router@2.2.0/node_modules/router/lib/route.js"(exports, module) {
20725
+ "../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/route.js"(exports, module) {
20623
20726
  "use strict";
20624
20727
  var debug = require_src()("router:route");
20625
20728
  var Layer = require_layer();
@@ -20737,9 +20840,9 @@ var require_route = __commonJS({
20737
20840
  }
20738
20841
  });
20739
20842
 
20740
- // node_modules/.pnpm/router@2.2.0/node_modules/router/index.js
20843
+ // ../../node_modules/.pnpm/router@2.2.0/node_modules/router/index.js
20741
20844
  var require_router = __commonJS({
20742
- "node_modules/.pnpm/router@2.2.0/node_modules/router/index.js"(exports, module) {
20845
+ "../../node_modules/.pnpm/router@2.2.0/node_modules/router/index.js"(exports, module) {
20743
20846
  "use strict";
20744
20847
  var isPromise = require_is_promise();
20745
20848
  var Layer = require_layer();
@@ -21135,9 +21238,9 @@ var require_router = __commonJS({
21135
21238
  }
21136
21239
  });
21137
21240
 
21138
- // node_modules/.pnpm/express@5.2.1/node_modules/express/lib/application.js
21241
+ // ../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/application.js
21139
21242
  var require_application = __commonJS({
21140
- "node_modules/.pnpm/express@5.2.1/node_modules/express/lib/application.js"(exports, module) {
21243
+ "../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/application.js"(exports, module) {
21141
21244
  "use strict";
21142
21245
  var finalhandler = require_finalhandler();
21143
21246
  var debug = require_src()("express:application");
@@ -21175,10 +21278,10 @@ var require_application = __commonJS({
21175
21278
  });
21176
21279
  };
21177
21280
  app.defaultConfiguration = function defaultConfiguration() {
21178
- var env = process.env.NODE_ENV || "development";
21281
+ var env2 = process.env.NODE_ENV || "development";
21179
21282
  this.enable("x-powered-by");
21180
21283
  this.set("etag", "weak");
21181
- this.set("env", env);
21284
+ this.set("env", env2);
21182
21285
  this.set("query parser", "simple");
21183
21286
  this.set("subdomain offset", 2);
21184
21287
  this.set("trust proxy", false);
@@ -21186,7 +21289,7 @@ var require_application = __commonJS({
21186
21289
  configurable: true,
21187
21290
  value: true
21188
21291
  });
21189
- debug("booting in %s mode", env);
21292
+ debug("booting in %s mode", env2);
21190
21293
  this.on("mount", function onmount(parent) {
21191
21294
  if (this.settings[trustProxyDefaultSymbol] === true && typeof parent.settings["trust proxy fn"] === "function") {
21192
21295
  delete this.settings["trust proxy"];
@@ -21203,7 +21306,7 @@ var require_application = __commonJS({
21203
21306
  this.set("view", View);
21204
21307
  this.set("views", resolve("views"));
21205
21308
  this.set("jsonp callback name", "callback");
21206
- if (env === "production") {
21309
+ if (env2 === "production") {
21207
21310
  this.enable("view cache");
21208
21311
  }
21209
21312
  };
@@ -21396,9 +21499,9 @@ var require_application = __commonJS({
21396
21499
  }
21397
21500
  });
21398
21501
 
21399
- // node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/charset.js
21502
+ // ../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/charset.js
21400
21503
  var require_charset = __commonJS({
21401
- "node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/charset.js"(exports, module) {
21504
+ "../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/charset.js"(exports, module) {
21402
21505
  "use strict";
21403
21506
  module.exports = preferredCharsets;
21404
21507
  module.exports.preferredCharsets = preferredCharsets;
@@ -21483,9 +21586,9 @@ var require_charset = __commonJS({
21483
21586
  }
21484
21587
  });
21485
21588
 
21486
- // node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/encoding.js
21589
+ // ../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/encoding.js
21487
21590
  var require_encoding = __commonJS({
21488
- "node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/encoding.js"(exports, module) {
21591
+ "../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/encoding.js"(exports, module) {
21489
21592
  "use strict";
21490
21593
  module.exports = preferredEncodings;
21491
21594
  module.exports.preferredEncodings = preferredEncodings;
@@ -21596,9 +21699,9 @@ var require_encoding = __commonJS({
21596
21699
  }
21597
21700
  });
21598
21701
 
21599
- // node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/language.js
21702
+ // ../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/language.js
21600
21703
  var require_language = __commonJS({
21601
- "node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/language.js"(exports, module) {
21704
+ "../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/language.js"(exports, module) {
21602
21705
  "use strict";
21603
21706
  module.exports = preferredLanguages;
21604
21707
  module.exports.preferredLanguages = preferredLanguages;
@@ -21691,9 +21794,9 @@ var require_language = __commonJS({
21691
21794
  }
21692
21795
  });
21693
21796
 
21694
- // node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/mediaType.js
21797
+ // ../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/mediaType.js
21695
21798
  var require_mediaType = __commonJS({
21696
- "node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/mediaType.js"(exports, module) {
21799
+ "../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/mediaType.js"(exports, module) {
21697
21800
  "use strict";
21698
21801
  module.exports = preferredMediaTypes;
21699
21802
  module.exports.preferredMediaTypes = preferredMediaTypes;
@@ -21853,9 +21956,9 @@ var require_mediaType = __commonJS({
21853
21956
  }
21854
21957
  });
21855
21958
 
21856
- // node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/index.js
21959
+ // ../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/index.js
21857
21960
  var require_negotiator = __commonJS({
21858
- "node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/index.js"(exports, module) {
21961
+ "../../node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/index.js"(exports, module) {
21859
21962
  "use strict";
21860
21963
  var preferredCharsets = require_charset();
21861
21964
  var preferredEncodings = require_encoding();
@@ -21909,9 +22012,9 @@ var require_negotiator = __commonJS({
21909
22012
  }
21910
22013
  });
21911
22014
 
21912
- // node_modules/.pnpm/accepts@2.0.0/node_modules/accepts/index.js
22015
+ // ../../node_modules/.pnpm/accepts@2.0.0/node_modules/accepts/index.js
21913
22016
  var require_accepts = __commonJS({
21914
- "node_modules/.pnpm/accepts@2.0.0/node_modules/accepts/index.js"(exports, module) {
22017
+ "../../node_modules/.pnpm/accepts@2.0.0/node_modules/accepts/index.js"(exports, module) {
21915
22018
  "use strict";
21916
22019
  var Negotiator = require_negotiator();
21917
22020
  var mime = require_mime_types();
@@ -21990,9 +22093,9 @@ var require_accepts = __commonJS({
21990
22093
  }
21991
22094
  });
21992
22095
 
21993
- // node_modules/.pnpm/fresh@2.0.0/node_modules/fresh/index.js
22096
+ // ../../node_modules/.pnpm/fresh@2.0.0/node_modules/fresh/index.js
21994
22097
  var require_fresh = __commonJS({
21995
- "node_modules/.pnpm/fresh@2.0.0/node_modules/fresh/index.js"(exports, module) {
22098
+ "../../node_modules/.pnpm/fresh@2.0.0/node_modules/fresh/index.js"(exports, module) {
21996
22099
  "use strict";
21997
22100
  var CACHE_CONTROL_NO_CACHE_REGEXP = /(?:^|,)\s*?no-cache\s*?(?:,|$)/;
21998
22101
  module.exports = fresh;
@@ -22062,9 +22165,9 @@ var require_fresh = __commonJS({
22062
22165
  }
22063
22166
  });
22064
22167
 
22065
- // node_modules/.pnpm/range-parser@1.2.1/node_modules/range-parser/index.js
22168
+ // ../../node_modules/.pnpm/range-parser@1.3.0/node_modules/range-parser/index.js
22066
22169
  var require_range_parser = __commonJS({
22067
- "node_modules/.pnpm/range-parser@1.2.1/node_modules/range-parser/index.js"(exports, module) {
22170
+ "../../node_modules/.pnpm/range-parser@1.3.0/node_modules/range-parser/index.js"(exports, module) {
22068
22171
  "use strict";
22069
22172
  module.exports = rangeParser;
22070
22173
  function rangeParser(size, str, options) {
@@ -22079,19 +22182,27 @@ var require_range_parser = __commonJS({
22079
22182
  var ranges = [];
22080
22183
  ranges.type = str.slice(0, index);
22081
22184
  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)) {
22185
+ var indexOf = arr[i].indexOf("-");
22186
+ if (indexOf === -1) {
22187
+ return -2;
22188
+ }
22189
+ var startStr = arr[i].slice(0, indexOf).trim();
22190
+ var endStr = arr[i].slice(indexOf + 1).trim();
22191
+ var start = parsePos(startStr);
22192
+ var end = parsePos(endStr);
22193
+ if (startStr.length === 0) {
22086
22194
  start = size - end;
22087
22195
  end = size - 1;
22088
- } else if (isNaN(end)) {
22196
+ } else if (endStr.length === 0) {
22089
22197
  end = size - 1;
22090
22198
  }
22091
22199
  if (end > size - 1) {
22092
22200
  end = size - 1;
22093
22201
  }
22094
- if (isNaN(start) || isNaN(end) || start > end || start < 0) {
22202
+ if (isNaN(start) || isNaN(end)) {
22203
+ return -2;
22204
+ }
22205
+ if (start > end || start < 0) {
22095
22206
  continue;
22096
22207
  }
22097
22208
  ranges.push({
@@ -22104,6 +22215,10 @@ var require_range_parser = __commonJS({
22104
22215
  }
22105
22216
  return options && options.combine ? combineRanges(ranges) : ranges;
22106
22217
  }
22218
+ function parsePos(str) {
22219
+ if (/^\d+$/.test(str)) return Number(str);
22220
+ return NaN;
22221
+ }
22107
22222
  function combineRanges(ranges) {
22108
22223
  var ordered = ranges.map(mapWithIndex).sort(sortByRangeStart);
22109
22224
  for (var j = 0, i = 1; i < ordered.length; i++) {
@@ -22143,9 +22258,9 @@ var require_range_parser = __commonJS({
22143
22258
  }
22144
22259
  });
22145
22260
 
22146
- // node_modules/.pnpm/express@5.2.1/node_modules/express/lib/request.js
22261
+ // ../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/request.js
22147
22262
  var require_request = __commonJS({
22148
- "node_modules/.pnpm/express@5.2.1/node_modules/express/lib/request.js"(exports, module) {
22263
+ "../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/request.js"(exports, module) {
22149
22264
  "use strict";
22150
22265
  var accepts = require_accepts();
22151
22266
  var isIP = __require("net").isIP;
@@ -22291,9 +22406,9 @@ var require_request = __commonJS({
22291
22406
  }
22292
22407
  });
22293
22408
 
22294
- // node_modules/.pnpm/content-disposition@1.1.0/node_modules/content-disposition/index.js
22409
+ // ../../node_modules/.pnpm/content-disposition@1.1.0/node_modules/content-disposition/index.js
22295
22410
  var require_content_disposition = __commonJS({
22296
- "node_modules/.pnpm/content-disposition@1.1.0/node_modules/content-disposition/index.js"(exports, module) {
22411
+ "../../node_modules/.pnpm/content-disposition@1.1.0/node_modules/content-disposition/index.js"(exports, module) {
22297
22412
  "use strict";
22298
22413
  module.exports = contentDisposition;
22299
22414
  module.exports.parse = parse;
@@ -22500,9 +22615,9 @@ var require_content_disposition = __commonJS({
22500
22615
  }
22501
22616
  });
22502
22617
 
22503
- // node_modules/.pnpm/cookie-signature@1.2.2/node_modules/cookie-signature/index.js
22618
+ // ../../node_modules/.pnpm/cookie-signature@1.2.2/node_modules/cookie-signature/index.js
22504
22619
  var require_cookie_signature = __commonJS({
22505
- "node_modules/.pnpm/cookie-signature@1.2.2/node_modules/cookie-signature/index.js"(exports) {
22620
+ "../../node_modules/.pnpm/cookie-signature@1.2.2/node_modules/cookie-signature/index.js"(exports) {
22506
22621
  "use strict";
22507
22622
  var crypto = __require("crypto");
22508
22623
  exports.sign = function(val, secret) {
@@ -22519,9 +22634,9 @@ var require_cookie_signature = __commonJS({
22519
22634
  }
22520
22635
  });
22521
22636
 
22522
- // node_modules/.pnpm/cookie@0.7.2/node_modules/cookie/index.js
22637
+ // ../../node_modules/.pnpm/cookie@0.7.2/node_modules/cookie/index.js
22523
22638
  var require_cookie = __commonJS({
22524
- "node_modules/.pnpm/cookie@0.7.2/node_modules/cookie/index.js"(exports) {
22639
+ "../../node_modules/.pnpm/cookie@0.7.2/node_modules/cookie/index.js"(exports) {
22525
22640
  "use strict";
22526
22641
  exports.parse = parse;
22527
22642
  exports.serialize = serialize;
@@ -22685,9 +22800,9 @@ var require_cookie = __commonJS({
22685
22800
  }
22686
22801
  });
22687
22802
 
22688
- // node_modules/.pnpm/send@1.2.1/node_modules/send/index.js
22803
+ // ../../node_modules/.pnpm/send@1.2.1/node_modules/send/index.js
22689
22804
  var require_send = __commonJS({
22690
- "node_modules/.pnpm/send@1.2.1/node_modules/send/index.js"(exports, module) {
22805
+ "../../node_modules/.pnpm/send@1.2.1/node_modules/send/index.js"(exports, module) {
22691
22806
  "use strict";
22692
22807
  var createError = require_http_errors();
22693
22808
  var debug = require_src()("send");
@@ -23168,9 +23283,9 @@ var require_send = __commonJS({
23168
23283
  }
23169
23284
  });
23170
23285
 
23171
- // node_modules/.pnpm/vary@1.1.2/node_modules/vary/index.js
23286
+ // ../../node_modules/.pnpm/vary@1.1.2/node_modules/vary/index.js
23172
23287
  var require_vary = __commonJS({
23173
- "node_modules/.pnpm/vary@1.1.2/node_modules/vary/index.js"(exports, module) {
23288
+ "../../node_modules/.pnpm/vary@1.1.2/node_modules/vary/index.js"(exports, module) {
23174
23289
  "use strict";
23175
23290
  module.exports = vary;
23176
23291
  module.exports.append = append;
@@ -23241,9 +23356,9 @@ var require_vary = __commonJS({
23241
23356
  }
23242
23357
  });
23243
23358
 
23244
- // node_modules/.pnpm/express@5.2.1/node_modules/express/lib/response.js
23359
+ // ../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/response.js
23245
23360
  var require_response = __commonJS({
23246
- "node_modules/.pnpm/express@5.2.1/node_modules/express/lib/response.js"(exports, module) {
23361
+ "../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/response.js"(exports, module) {
23247
23362
  "use strict";
23248
23363
  var contentDisposition = require_content_disposition();
23249
23364
  var createError = require_http_errors();
@@ -23711,9 +23826,9 @@ var require_response = __commonJS({
23711
23826
  }
23712
23827
  });
23713
23828
 
23714
- // node_modules/.pnpm/serve-static@2.2.1/node_modules/serve-static/index.js
23829
+ // ../../node_modules/.pnpm/serve-static@2.2.1/node_modules/serve-static/index.js
23715
23830
  var require_serve_static = __commonJS({
23716
- "node_modules/.pnpm/serve-static@2.2.1/node_modules/serve-static/index.js"(exports, module) {
23831
+ "../../node_modules/.pnpm/serve-static@2.2.1/node_modules/serve-static/index.js"(exports, module) {
23717
23832
  "use strict";
23718
23833
  var encodeUrl = require_encodeurl();
23719
23834
  var escapeHtml = require_escape_html();
@@ -23815,9 +23930,9 @@ var require_serve_static = __commonJS({
23815
23930
  }
23816
23931
  });
23817
23932
 
23818
- // node_modules/.pnpm/express@5.2.1/node_modules/express/lib/express.js
23933
+ // ../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/express.js
23819
23934
  var require_express = __commonJS({
23820
- "node_modules/.pnpm/express@5.2.1/node_modules/express/lib/express.js"(exports, module) {
23935
+ "../../node_modules/.pnpm/express@5.2.1/node_modules/express/lib/express.js"(exports, module) {
23821
23936
  "use strict";
23822
23937
  var bodyParser = require_body_parser();
23823
23938
  var EventEmitter = __require("events").EventEmitter;
@@ -23855,9 +23970,9 @@ var require_express = __commonJS({
23855
23970
  }
23856
23971
  });
23857
23972
 
23858
- // node_modules/.pnpm/express@5.2.1/node_modules/express/index.js
23973
+ // ../../node_modules/.pnpm/express@5.2.1/node_modules/express/index.js
23859
23974
  var require_express2 = __commonJS({
23860
- "node_modules/.pnpm/express@5.2.1/node_modules/express/index.js"(exports, module) {
23975
+ "../../node_modules/.pnpm/express@5.2.1/node_modules/express/index.js"(exports, module) {
23861
23976
  "use strict";
23862
23977
  module.exports = require_express();
23863
23978
  }
@@ -23869,58 +23984,133 @@ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/
23869
23984
  import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
23870
23985
  import { isInitializeRequest } from "@modelcontextprotocol/sdk/types.js";
23871
23986
  import { randomUUID, createHash } from "crypto";
23872
- var oauthTokens = /* @__PURE__ */ new Map();
23873
- function extractBearerToken(req) {
23987
+ var SESSION_MAX_AGE_MS = 30 * 60 * 1e3;
23988
+ var REAPER_INTERVAL_MS = 60 * 1e3;
23989
+ var MAX_SESSIONS_PER_KEY = 20;
23990
+ var OAUTH_TOKEN_TTL_SECONDS = 3600;
23991
+ var MAX_OAUTH_TOKENS_PER_KEY = 10;
23992
+ function readBearerToken(req) {
23874
23993
  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;
23994
+ if (!authHeader) return null;
23995
+ const header = authHeader.trim();
23996
+ const separator = header.indexOf(" ");
23997
+ if (separator === -1) return null;
23998
+ if (header.slice(0, separator).toLowerCase() !== "bearer") return null;
23999
+ return header.slice(separator + 1).trim() || null;
23887
24000
  }
23888
24001
  function generateAccessToken() {
23889
24002
  return createHash("sha256").update(randomUUID()).digest("hex");
23890
24003
  }
24004
+ function rateLimitKey(req) {
24005
+ if (process.env.LANGWATCH_MCP_TRUST_PROXY === "true") {
24006
+ return req.ip ?? req.socket.remoteAddress ?? "unknown";
24007
+ }
24008
+ return req.socket.remoteAddress ?? "unknown";
24009
+ }
24010
+ function resolveApiKey({
24011
+ token,
24012
+ oauthTokens
24013
+ }) {
24014
+ const oauthEntry = oauthTokens.get(token);
24015
+ if (!oauthEntry) return token;
24016
+ if (Date.now() < oauthEntry.expiresAt) return oauthEntry.apiKey;
24017
+ oauthTokens.delete(token);
24018
+ return null;
24019
+ }
24020
+ function sendUnauthorized({
24021
+ res,
24022
+ error
24023
+ }) {
24024
+ res.status(401).json({ error });
24025
+ }
23891
24026
  async function handleWithSessionConfig(apiKey, fn) {
23892
24027
  const baseConfig = getConfig();
23893
24028
  return runWithConfig({ ...baseConfig, apiKey }, fn);
23894
24029
  }
23895
- async function startHttpServer({
23896
- port
24030
+ function createOriginMiddleware({
24031
+ allowedOrigins
23897
24032
  }) {
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
- );
24033
+ return (req, res, next) => {
24034
+ const origin = req.headers.origin;
24035
+ if (typeof origin === "string" && origin.length > 0) {
24036
+ if (!isOriginAllowed({ origin, allowedOrigins })) {
24037
+ res.status(403).json({ error: "Origin not allowed" });
24038
+ return;
24039
+ }
24040
+ res.header("Access-Control-Allow-Origin", origin);
24041
+ res.header("Vary", "Origin");
24042
+ res.header(
24043
+ "Access-Control-Expose-Headers",
24044
+ "Mcp-Session-Id, MCP-Protocol-Version"
24045
+ );
24046
+ }
24047
+ res.header("Access-Control-Allow-Methods", "GET, POST, DELETE, OPTIONS");
23907
24048
  res.header(
23908
24049
  "Access-Control-Allow-Headers",
23909
24050
  "Content-Type, Authorization, mcp-session-id, MCP-Protocol-Version"
23910
24051
  );
23911
- if (_req.method === "OPTIONS") {
23912
- res.sendStatus(200);
24052
+ res.header("X-Content-Type-Options", "nosniff");
24053
+ res.header("X-Frame-Options", "DENY");
24054
+ if (req.method === "OPTIONS") {
24055
+ res.sendStatus(204);
23913
24056
  return;
23914
24057
  }
23915
24058
  next();
24059
+ };
24060
+ }
24061
+ function createAuthenticator(runtime) {
24062
+ const { verifier, oauthTokens, authFailRateLimiter } = runtime;
24063
+ return async ({ req, res, expectedApiKey }) => {
24064
+ const ip = rateLimitKey(req);
24065
+ if (authFailRateLimiter.isBlocked(ip)) {
24066
+ res.status(429).json({ error: "Too many requests" });
24067
+ return null;
24068
+ }
24069
+ const token = readBearerToken(req);
24070
+ if (!token) {
24071
+ sendUnauthorized({ res, error: "Authorization: Bearer <LANGWATCH_API_KEY> header required" });
24072
+ return null;
24073
+ }
24074
+ const apiKey = resolveApiKey({ token, oauthTokens });
24075
+ if (!apiKey) {
24076
+ authFailRateLimiter.track(ip);
24077
+ sendUnauthorized({ res, error: "Invalid or expired token" });
24078
+ return null;
24079
+ }
24080
+ if (expectedApiKey !== void 0 && !apiKeysMatch({ presentedKey: apiKey, expectedKey: expectedApiKey })) {
24081
+ authFailRateLimiter.track(ip);
24082
+ sendUnauthorized({ res, error: "Bearer token does not match session" });
24083
+ return null;
24084
+ }
24085
+ if (!await verifier.verify(apiKey)) {
24086
+ authFailRateLimiter.track(ip);
24087
+ sendUnauthorized({ res, error: "Invalid API key" });
24088
+ return null;
24089
+ }
24090
+ return apiKey;
24091
+ };
24092
+ }
24093
+ function overSessionLimit({
24094
+ apiKey,
24095
+ sessions,
24096
+ sseSessions
24097
+ }) {
24098
+ return sessions.countForKey(apiKey) + sseSessions.countForKey(apiKey) >= MAX_SESSIONS_PER_KEY;
24099
+ }
24100
+ function sendSessionLimitReached(res) {
24101
+ res.status(429).json({
24102
+ error: `Too many concurrent sessions (max ${MAX_SESSIONS_PER_KEY})`
23916
24103
  });
23917
- app.get("/health", (_req, res) => {
23918
- res.json({ status: "ok" });
23919
- });
24104
+ }
24105
+ function registerOAuthRoutes({
24106
+ app,
24107
+ runtime
24108
+ }) {
24109
+ const { verifier, oauthTokens, oauthRateLimiter } = runtime;
23920
24110
  app.get(
23921
24111
  "/.well-known/oauth-authorization-server",
23922
- (_req, res) => {
23923
- const baseUrl = `${_req.protocol}://${_req.get("host")}`;
24112
+ (req, res) => {
24113
+ const baseUrl = `${req.protocol}://${req.get("host")}`;
23924
24114
  res.json({
23925
24115
  issuer: baseUrl,
23926
24116
  token_endpoint: `${baseUrl}/oauth/token`,
@@ -23934,9 +24124,14 @@ async function startHttpServer({
23934
24124
  app.post(
23935
24125
  "/oauth/token",
23936
24126
  import_express.default.urlencoded({ extended: false }),
23937
- (req, res) => {
23938
- const grantType = req.body.grant_type;
23939
- if (grantType !== "client_credentials") {
24127
+ async (req, res) => {
24128
+ const ip = rateLimitKey(req);
24129
+ if (oauthRateLimiter.isBlocked(ip)) {
24130
+ res.status(429).json({ error: "Too many requests" });
24131
+ return;
24132
+ }
24133
+ oauthRateLimiter.track(ip);
24134
+ if (req.body.grant_type !== "client_credentials") {
23940
24135
  res.status(400).json({
23941
24136
  error: "unsupported_grant_type",
23942
24137
  error_description: "Only client_credentials grant type is supported"
@@ -23951,25 +24146,50 @@ async function startHttpServer({
23951
24146
  });
23952
24147
  return;
23953
24148
  }
23954
- const expiresIn = 3600;
24149
+ if (!await verifier.verify(clientSecret)) {
24150
+ res.status(401).json({
24151
+ error: "invalid_client",
24152
+ error_description: "client_secret is not a valid LangWatch API key"
24153
+ });
24154
+ return;
24155
+ }
23955
24156
  const accessToken = generateAccessToken();
24157
+ admitOAuthToken({
24158
+ apiKey: clientSecret,
24159
+ tokens: oauthTokens,
24160
+ maxPerKey: MAX_OAUTH_TOKENS_PER_KEY
24161
+ });
23956
24162
  oauthTokens.set(accessToken, {
23957
24163
  apiKey: clientSecret,
23958
- expiresAt: Date.now() + expiresIn * 1e3
24164
+ expiresAt: Date.now() + OAUTH_TOKEN_TTL_SECONDS * 1e3
23959
24165
  });
23960
24166
  res.json({
23961
24167
  access_token: accessToken,
23962
24168
  token_type: "Bearer",
23963
- expires_in: expiresIn,
24169
+ expires_in: OAUTH_TOKEN_TTL_SECONDS,
23964
24170
  scope: "mcp:tools"
23965
24171
  });
23966
24172
  }
23967
24173
  );
23968
- const sessions = {};
24174
+ }
24175
+ function registerStreamableHttpRoutes({
24176
+ app,
24177
+ runtime,
24178
+ authenticate
24179
+ }) {
24180
+ const { sessions, sseSessions } = runtime;
24181
+ const sessionIdOf = (req) => req.headers["mcp-session-id"];
23969
24182
  app.post("/mcp", async (req, res) => {
23970
- const sessionId = req.headers["mcp-session-id"];
23971
- if (sessionId && sessions[sessionId]) {
23972
- const session = sessions[sessionId];
24183
+ const sessionId = sessionIdOf(req);
24184
+ const session = sessionId ? sessions.get(sessionId) : void 0;
24185
+ if (sessionId && session) {
24186
+ const apiKey = await authenticate({
24187
+ req,
24188
+ res,
24189
+ expectedApiKey: session.apiKey
24190
+ });
24191
+ if (!apiKey) return;
24192
+ sessions.touch(sessionId);
23973
24193
  await handleWithSessionConfig(
23974
24194
  session.apiKey,
23975
24195
  () => session.transport.handleRequest(req, res, req.body)
@@ -23977,90 +24197,131 @@ async function startHttpServer({
23977
24197
  return;
23978
24198
  }
23979
24199
  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
- });
24200
+ const apiKey = await authenticate({ req, res });
24201
+ if (!apiKey) return;
24202
+ if (overSessionLimit({ apiKey, sessions, sseSessions })) {
24203
+ sendSessionLimitReached(res);
23985
24204
  return;
23986
24205
  }
24206
+ const reservation = sessions.reserve(apiKey);
23987
24207
  const transport = new StreamableHTTPServerTransport({
23988
24208
  sessionIdGenerator: () => randomUUID(),
23989
24209
  onsessioninitialized: (id) => {
23990
- sessions[id] = { transport, apiKey };
24210
+ reservation.commit({ sessionId: id, transport });
23991
24211
  }
23992
24212
  });
23993
24213
  transport.onclose = () => {
23994
- if (transport.sessionId) {
23995
- delete sessions[transport.sessionId];
23996
- }
24214
+ if (transport.sessionId) sessions.remove(transport.sessionId);
23997
24215
  };
23998
24216
  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
- );
24217
+ try {
24218
+ await handleWithSessionConfig(
24219
+ apiKey,
24220
+ () => sessionServer.connect(transport)
24221
+ );
24222
+ await handleWithSessionConfig(
24223
+ apiKey,
24224
+ () => transport.handleRequest(req, res, req.body)
24225
+ );
24226
+ } catch (error) {
24227
+ if (transport.sessionId) sessions.remove(transport.sessionId);
24228
+ await transport.close().catch(() => void 0);
24229
+ throw error;
24230
+ } finally {
24231
+ reservation.release();
24232
+ }
24233
+ return;
24234
+ }
24235
+ if (sessionId) {
24236
+ sendUnauthorized({ res, error: "Session expired or not found" });
24007
24237
  return;
24008
24238
  }
24009
24239
  res.status(400).json({
24010
- error: "Invalid request \u2014 no session ID or not an initialize request"
24240
+ error: "Invalid request, no session ID or not an initialize request"
24011
24241
  });
24012
24242
  });
24013
24243
  app.get("/mcp", async (req, res) => {
24014
- const sessionId = req.headers["mcp-session-id"];
24015
- if (sessionId && sessions[sessionId]) {
24016
- const session = sessions[sessionId];
24244
+ const sessionId = sessionIdOf(req);
24245
+ const session = sessionId ? sessions.get(sessionId) : void 0;
24246
+ if (sessionId && session) {
24247
+ const apiKey = await authenticate({
24248
+ req,
24249
+ res,
24250
+ expectedApiKey: session.apiKey
24251
+ });
24252
+ if (!apiKey) return;
24253
+ sessions.touch(sessionId);
24017
24254
  await handleWithSessionConfig(
24018
24255
  session.apiKey,
24019
24256
  () => session.transport.handleRequest(req, res)
24020
24257
  );
24021
- } else {
24022
- res.status(400).json({ error: "Invalid request \u2014 no valid session ID" });
24258
+ return;
24259
+ }
24260
+ if (sessionId) {
24261
+ sendUnauthorized({ res, error: "Session expired or not found" });
24262
+ return;
24023
24263
  }
24264
+ res.status(400).json({ error: "Invalid request, no valid session ID" });
24024
24265
  });
24025
24266
  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 {
24267
+ const apiKey = await authenticate({ req, res });
24268
+ if (!apiKey) return;
24269
+ const sessionId = sessionIdOf(req);
24270
+ const session = sessionId ? sessions.get(sessionId) : void 0;
24271
+ const owned = session !== void 0 && apiKeysMatch({ presentedKey: apiKey, expectedKey: session.apiKey });
24272
+ if (!sessionId || !session || !owned) {
24033
24273
  res.status(404).json({ error: "Session not found" });
24274
+ return;
24034
24275
  }
24276
+ sessions.remove(sessionId);
24277
+ await session.transport.close();
24278
+ res.status(200).json({ status: "session closed" });
24035
24279
  });
24036
- const sseSessions = {};
24280
+ }
24281
+ function registerSseRoutes({
24282
+ app,
24283
+ runtime,
24284
+ authenticate
24285
+ }) {
24286
+ const { sessions, sseSessions } = runtime;
24037
24287
  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
- });
24288
+ const apiKey = await authenticate({ req, res });
24289
+ if (!apiKey) return;
24290
+ if (overSessionLimit({ apiKey, sessions, sseSessions })) {
24291
+ sendSessionLimitReached(res);
24044
24292
  return;
24045
24293
  }
24046
24294
  const transport = new SSEServerTransport("/messages", res);
24047
- sseSessions[transport.sessionId] = { transport, apiKey };
24295
+ sseSessions.add({ sessionId: transport.sessionId, transport, apiKey });
24048
24296
  const sessionServer = createMcpServer();
24049
24297
  res.on("close", () => {
24050
- delete sseSessions[transport.sessionId];
24298
+ sseSessions.remove(transport.sessionId);
24051
24299
  });
24052
- await handleWithSessionConfig(
24053
- apiKey,
24054
- () => sessionServer.connect(transport)
24055
- );
24300
+ try {
24301
+ await handleWithSessionConfig(
24302
+ apiKey,
24303
+ () => sessionServer.connect(transport)
24304
+ );
24305
+ } catch (error) {
24306
+ sseSessions.remove(transport.sessionId);
24307
+ await transport.close().catch(() => void 0);
24308
+ if (!res.headersSent) {
24309
+ res.status(500).json({ error: "Failed to open SSE session" });
24310
+ }
24311
+ throw error;
24312
+ }
24056
24313
  });
24057
24314
  const handleSseMessage = async (req, res) => {
24315
+ const apiKey = await authenticate({ req, res });
24316
+ if (!apiKey) return;
24058
24317
  const sessionId = req.query["sessionId"];
24059
- if (!sessionId || !sseSessions[sessionId]) {
24318
+ const session = sessionId ? sseSessions.get(sessionId) : void 0;
24319
+ const owned = session !== void 0 && apiKeysMatch({ presentedKey: apiKey, expectedKey: session.apiKey });
24320
+ if (!sessionId || !session || !owned) {
24060
24321
  res.status(400).json({ error: "Invalid or missing session ID" });
24061
24322
  return;
24062
24323
  }
24063
- const session = sseSessions[sessionId];
24324
+ sseSessions.touch(sessionId);
24064
24325
  await handleWithSessionConfig(
24065
24326
  session.apiKey,
24066
24327
  () => session.transport.handlePostMessage(req, res, req.body)
@@ -24068,11 +24329,95 @@ async function startHttpServer({
24068
24329
  };
24069
24330
  app.post("/messages", handleSseMessage);
24070
24331
  app.post("/sse/messages", handleSseMessage);
24332
+ }
24333
+ function startReaper(runtime) {
24334
+ const {
24335
+ sessions,
24336
+ sseSessions,
24337
+ oauthTokens,
24338
+ verifier,
24339
+ authFailRateLimiter,
24340
+ oauthRateLimiter
24341
+ } = runtime;
24342
+ const reaper = setInterval(() => {
24343
+ sessions.sweep();
24344
+ sseSessions.sweep();
24345
+ const now = Date.now();
24346
+ for (const [token, entry] of oauthTokens) {
24347
+ if (now >= entry.expiresAt) oauthTokens.delete(token);
24348
+ }
24349
+ verifier.sweep();
24350
+ authFailRateLimiter.sweep();
24351
+ oauthRateLimiter.sweep();
24352
+ }, REAPER_INTERVAL_MS);
24353
+ reaper.unref();
24354
+ return reaper;
24355
+ }
24356
+ function createRuntime({
24357
+ endpoint,
24358
+ apiKeyVerifier
24359
+ }) {
24360
+ const closeTransport = (transport) => void transport.close().catch(() => void 0);
24361
+ return {
24362
+ verifier: apiKeyVerifier ?? createApiKeyVerifier({ endpoint }),
24363
+ oauthTokens: /* @__PURE__ */ new Map(),
24364
+ // Failed authentication is rate limited per client address so an attacker
24365
+ // cannot spray candidate keys or turn one flood into unbounded
24366
+ // verification traffic upstream.
24367
+ authFailRateLimiter: createRateLimiter({
24368
+ windowMs: 6e4,
24369
+ maxRequests: 20
24370
+ }),
24371
+ oauthRateLimiter: createRateLimiter({ windowMs: 6e4, maxRequests: 10 }),
24372
+ sessions: createSessionStore({
24373
+ maxAgeMs: SESSION_MAX_AGE_MS,
24374
+ closeTransport
24375
+ }),
24376
+ sseSessions: createSessionStore({
24377
+ maxAgeMs: SESSION_MAX_AGE_MS,
24378
+ closeTransport
24379
+ })
24380
+ };
24381
+ }
24382
+ async function startHttpServer({
24383
+ port,
24384
+ host,
24385
+ allowedOrigins,
24386
+ apiKeyVerifier
24387
+ }) {
24388
+ const bindHost = host ?? process.env.LANGWATCH_MCP_HTTP_HOST ?? DEFAULT_BIND_HOST;
24389
+ const originAllowlist = allowedOrigins ?? parseAllowedOrigins(process.env.LANGWATCH_MCP_ALLOWED_ORIGINS);
24390
+ const runtime = createRuntime({
24391
+ endpoint: getConfig().endpoint,
24392
+ apiKeyVerifier
24393
+ });
24394
+ const authenticate = createAuthenticator(runtime);
24395
+ const reaper = startReaper(runtime);
24396
+ const app = (0, import_express.default)();
24397
+ app.set("trust proxy", true);
24398
+ app.use(import_express.default.json());
24399
+ app.use(createOriginMiddleware({ allowedOrigins: originAllowlist }));
24400
+ app.get("/health", (_req, res) => {
24401
+ res.json({ status: "ok" });
24402
+ });
24403
+ registerOAuthRoutes({ app, runtime });
24404
+ registerStreamableHttpRoutes({ app, runtime, authenticate });
24405
+ registerSseRoutes({ app, runtime, authenticate });
24071
24406
  return new Promise((resolve) => {
24072
- const server = app.listen(port, "0.0.0.0", () => {
24407
+ const server = app.listen(port, bindHost, () => {
24073
24408
  const addr = server.address();
24074
24409
  const resolvedPort = typeof addr === "object" && addr ? addr.port : port;
24075
- resolve({ server, port: resolvedPort });
24410
+ resolve({
24411
+ server,
24412
+ port: resolvedPort,
24413
+ host: bindHost,
24414
+ allowedOrigins: originAllowlist
24415
+ });
24416
+ });
24417
+ server.on("close", () => {
24418
+ clearInterval(reaper);
24419
+ runtime.sessions.closeAll();
24420
+ runtime.sseSessions.closeAll();
24076
24421
  });
24077
24422
  });
24078
24423
  }
@@ -24363,4 +24708,4 @@ serve-static/index.js:
24363
24708
  * MIT Licensed
24364
24709
  *)
24365
24710
  */
24366
- //# sourceMappingURL=http-server-2ACJ3CXW.js.map
24711
+ //# sourceMappingURL=http-server-WCDUARTH.js.map