@spotlightjs/spotlight 4.11.3 → 4.11.4

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 (94) hide show
  1. package/dist/_virtual/index.js +3 -3
  2. package/dist/_virtual/index2.js +3 -3
  3. package/dist/_virtual/index3.js +3 -3
  4. package/dist/_virtual/index4.js +3 -3
  5. package/dist/_virtual/index5.js +3 -3
  6. package/dist/_virtual/index6.js +3 -3
  7. package/dist/_virtual/index7.js +3 -3
  8. package/dist/_virtual/index8.js +3 -3
  9. package/dist/_virtual/index9.js +3 -3
  10. package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/index.js +3 -3
  11. package/dist/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/limit.js +2 -2
  12. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/ajv.js +7 -9
  13. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/ajv.js.map +1 -1
  14. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/index.js +2 -2
  15. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/errors.js +2 -2
  16. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/index.js +18 -20
  17. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/index.js.map +1 -1
  18. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/names.js +2 -2
  19. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/util.js +2 -2
  20. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -44
  21. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -1
  22. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/dataType.js +2 -2
  23. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/defaults.js +35 -29
  24. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -1
  25. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/index.js +467 -465
  26. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/index.js.map +1 -1
  27. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/keyword.js +110 -104
  28. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -1
  29. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/subschema.js +80 -74
  30. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -1
  31. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/core.js +7 -9
  32. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/core.js.map +1 -1
  33. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/uri.js +2 -2
  34. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/validation_error.js +17 -8
  35. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/validation_error.js.map +1 -1
  36. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +2 -2
  37. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +2 -2
  38. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/contains.js +2 -2
  39. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +2 -2
  40. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/if.js +2 -2
  41. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/index.js +2 -2
  42. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items.js +2 -2
  43. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js +2 -2
  44. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +2 -2
  45. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +2 -2
  46. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/properties.js +3 -4
  47. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -1
  48. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +2 -2
  49. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/code.js +2 -2
  50. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/index.js +2 -2
  51. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/ref.js +3 -3
  52. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/index.js +4 -4
  53. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/draft7.js +5 -5
  54. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/format.js +2 -2
  55. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/index.js +2 -2
  56. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/const.js +2 -2
  57. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/enum.js +2 -2
  58. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/index.js +2 -2
  59. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js +2 -2
  60. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js +2 -2
  61. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +2 -2
  62. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +2 -2
  63. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +2 -2
  64. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/pattern.js +2 -2
  65. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/required.js +2 -2
  66. package/dist/node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +2 -2
  67. package/dist/node_modules/.pnpm/{fast-uri@3.1.0 → fast-uri@3.1.2}/node_modules/fast-uri/index.js +54 -23
  68. package/dist/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/index.js.map +1 -0
  69. package/dist/node_modules/.pnpm/{fast-uri@3.1.0 → fast-uri@3.1.2}/node_modules/fast-uri/lib/schemes.js.map +1 -1
  70. package/dist/node_modules/.pnpm/{fast-uri@3.1.0 → fast-uri@3.1.2}/node_modules/fast-uri/lib/utils.js +76 -20
  71. package/dist/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/utils.js.map +1 -0
  72. package/dist/node_modules/.pnpm/hono@4.12.18/node_modules/hono/dist/helper/streaming/sse.js.map +1 -0
  73. package/dist/node_modules/.pnpm/{hono@4.12.8 → hono@4.12.18}/node_modules/hono/dist/middleware/cors/index.js +8 -8
  74. package/dist/node_modules/.pnpm/hono@4.12.18/node_modules/hono/dist/middleware/cors/index.js.map +1 -0
  75. package/dist/node_modules/.pnpm/hono@4.12.18/node_modules/hono/dist/utils/html.js.map +1 -0
  76. package/dist/node_modules/.pnpm/hono@4.12.18/node_modules/hono/dist/utils/stream.js.map +1 -0
  77. package/dist/sentry-config.js +2 -2
  78. package/dist/server/cli/run.js +2 -2
  79. package/dist/server/cli.js +2 -2
  80. package/dist/server/main.js +2 -2
  81. package/dist/server/mcp/mcp.js +2 -2
  82. package/dist/server/routes/stream/streaming.js +2 -2
  83. package/dist/ui/assets/instrumentation.js +2 -2
  84. package/package.json +6 -6
  85. package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js.map +0 -1
  86. package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js.map +0 -1
  87. package/dist/node_modules/.pnpm/hono@4.12.8/node_modules/hono/dist/helper/streaming/sse.js.map +0 -1
  88. package/dist/node_modules/.pnpm/hono@4.12.8/node_modules/hono/dist/middleware/cors/index.js.map +0 -1
  89. package/dist/node_modules/.pnpm/hono@4.12.8/node_modules/hono/dist/utils/html.js.map +0 -1
  90. package/dist/node_modules/.pnpm/hono@4.12.8/node_modules/hono/dist/utils/stream.js.map +0 -1
  91. /package/dist/node_modules/.pnpm/{fast-uri@3.1.0 → fast-uri@3.1.2}/node_modules/fast-uri/lib/schemes.js +0 -0
  92. /package/dist/node_modules/.pnpm/{hono@4.12.8 → hono@4.12.18}/node_modules/hono/dist/helper/streaming/sse.js +0 -0
  93. /package/dist/node_modules/.pnpm/{hono@4.12.8 → hono@4.12.18}/node_modules/hono/dist/utils/html.js +0 -0
  94. /package/dist/node_modules/.pnpm/{hono@4.12.8 → hono@4.12.18}/node_modules/hono/dist/utils/stream.js +0 -0
@@ -2,19 +2,19 @@
2
2
  !(function() {
3
3
  try {
4
4
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
5
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "81b7abad-748b-495e-952a-84de27242bac", e._sentryDebugIdIdentifier = "sentry-dbid-81b7abad-748b-495e-952a-84de27242bac");
5
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "0c10e33d-1edb-4e4f-80a8-3920b642693c", e._sentryDebugIdIdentifier = "sentry-dbid-0c10e33d-1edb-4e4f-80a8-3920b642693c");
6
6
  } catch (e2) {
7
7
  }
8
8
  })();
9
9
  import { __module as fastUri$1 } from "../../../../../_virtual/index11.js";
10
10
  import { u as utils } from "./lib/utils.js";
11
11
  import { s as schemes } from "./lib/schemes.js";
12
- const { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizeComponentEncoding, isIPv4, nonSimpleDomain } = utils;
12
+ const { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizePercentEncoding, normalizePathEncoding, escapePreservingEscapes, reescapeHostDelimiters, isIPv4, nonSimpleDomain } = utils;
13
13
  const { SCHEMES, getSchemeHandler } = schemes;
14
14
  function normalize(uri, options) {
15
15
  if (typeof uri === "string") {
16
16
  uri = /** @type {T} */
17
- serialize(parse(uri, options), options);
17
+ normalizeString(uri, options);
18
18
  } else if (typeof uri === "object") {
19
19
  uri = /** @type {T} */
20
20
  parse(serialize(uri, options), options);
@@ -81,19 +81,9 @@ function resolveComponent(base, relative, options, skipNormalization) {
81
81
  return target;
82
82
  }
83
83
  function equal(uriA, uriB, options) {
84
- if (typeof uriA === "string") {
85
- uriA = unescape(uriA);
86
- uriA = serialize(normalizeComponentEncoding(parse(uriA, options), true), { ...options, skipEscape: true });
87
- } else if (typeof uriA === "object") {
88
- uriA = serialize(normalizeComponentEncoding(uriA, true), { ...options, skipEscape: true });
89
- }
90
- if (typeof uriB === "string") {
91
- uriB = unescape(uriB);
92
- uriB = serialize(normalizeComponentEncoding(parse(uriB, options), true), { ...options, skipEscape: true });
93
- } else if (typeof uriB === "object") {
94
- uriB = serialize(normalizeComponentEncoding(uriB, true), { ...options, skipEscape: true });
95
- }
96
- return uriA.toLowerCase() === uriB.toLowerCase();
84
+ const normalizedA = normalizeComparableURI(uriA, options);
85
+ const normalizedB = normalizeComparableURI(uriB, options);
86
+ return normalizedA !== void 0 && normalizedB !== void 0 && normalizedA.toLowerCase() === normalizedB.toLowerCase();
97
87
  }
98
88
  function serialize(cmpts, opts) {
99
89
  const component = {
@@ -118,12 +108,12 @@ function serialize(cmpts, opts) {
118
108
  if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(component, options);
119
109
  if (component.path !== void 0) {
120
110
  if (!options.skipEscape) {
121
- component.path = escape(component.path);
111
+ component.path = escapePreservingEscapes(component.path);
122
112
  if (component.scheme !== void 0) {
123
113
  component.path = component.path.split("%3A").join(":");
124
114
  }
125
115
  } else {
126
- component.path = unescape(component.path);
116
+ component.path = normalizePercentEncoding(component.path);
127
117
  }
128
118
  }
129
119
  if (options.reference !== "suffix" && component.scheme) {
@@ -158,7 +148,16 @@ function serialize(cmpts, opts) {
158
148
  return uriTokens.join("");
159
149
  }
160
150
  const URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
161
- function parse(uri, opts) {
151
+ function getParseError(parsed, matches) {
152
+ if (matches[2] !== void 0 && parsed.path && parsed.path[0] !== "/") {
153
+ return 'URI path must start with "/" when authority is present.';
154
+ }
155
+ if (typeof parsed.port === "number" && (parsed.port < 0 || parsed.port > 65535)) {
156
+ return "URI port is malformed.";
157
+ }
158
+ return void 0;
159
+ }
160
+ function parseWithStatus(uri, opts) {
162
161
  const options = Object.assign({}, opts);
163
162
  const parsed = {
164
163
  scheme: void 0,
@@ -169,6 +168,7 @@ function parse(uri, opts) {
169
168
  query: void 0,
170
169
  fragment: void 0
171
170
  };
171
+ let malformedAuthorityOrPort = false;
172
172
  let isIP = false;
173
173
  if (options.reference === "suffix") {
174
174
  if (options.scheme) {
@@ -189,6 +189,11 @@ function parse(uri, opts) {
189
189
  if (isNaN(parsed.port)) {
190
190
  parsed.port = matches[5];
191
191
  }
192
+ const parseError = getParseError(parsed, matches);
193
+ if (parseError !== void 0) {
194
+ parsed.error = parsed.error || parseError;
195
+ malformedAuthorityOrPort = true;
196
+ }
192
197
  if (parsed.host) {
193
198
  const ipv4result = isIPv4(parsed.host);
194
199
  if (ipv4result === false) {
@@ -227,14 +232,18 @@ function parse(uri, opts) {
227
232
  parsed.scheme = unescape(parsed.scheme);
228
233
  }
229
234
  if (parsed.host !== void 0) {
230
- parsed.host = unescape(parsed.host);
235
+ parsed.host = reescapeHostDelimiters(unescape(parsed.host), isIP);
231
236
  }
232
237
  }
233
238
  if (parsed.path) {
234
- parsed.path = escape(unescape(parsed.path));
239
+ parsed.path = normalizePathEncoding(parsed.path);
235
240
  }
236
241
  if (parsed.fragment) {
237
- parsed.fragment = encodeURI(decodeURIComponent(parsed.fragment));
242
+ try {
243
+ parsed.fragment = encodeURI(decodeURIComponent(parsed.fragment));
244
+ } catch {
245
+ parsed.error = parsed.error || "URI malformed";
246
+ }
238
247
  }
239
248
  }
240
249
  if (schemeHandler && schemeHandler.parse) {
@@ -243,7 +252,29 @@ function parse(uri, opts) {
243
252
  } else {
244
253
  parsed.error = parsed.error || "URI can not be parsed.";
245
254
  }
246
- return parsed;
255
+ return { parsed, malformedAuthorityOrPort };
256
+ }
257
+ function parse(uri, opts) {
258
+ return parseWithStatus(uri, opts).parsed;
259
+ }
260
+ function normalizeString(uri, opts) {
261
+ return normalizeStringWithStatus(uri, opts).normalized;
262
+ }
263
+ function normalizeStringWithStatus(uri, opts) {
264
+ const { parsed, malformedAuthorityOrPort } = parseWithStatus(uri, opts);
265
+ return {
266
+ normalized: malformedAuthorityOrPort ? uri : serialize(parsed, opts),
267
+ malformedAuthorityOrPort
268
+ };
269
+ }
270
+ function normalizeComparableURI(uri, opts) {
271
+ if (typeof uri === "string") {
272
+ const { normalized, malformedAuthorityOrPort } = normalizeStringWithStatus(uri, opts);
273
+ return malformedAuthorityOrPort ? void 0 : normalized;
274
+ }
275
+ if (typeof uri === "object") {
276
+ return serialize(uri, opts);
277
+ }
247
278
  }
248
279
  const fastUri = {
249
280
  SCHEMES,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../../node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/index.js"],"sourcesContent":["'use strict'\n\nconst { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizePercentEncoding, normalizePathEncoding, escapePreservingEscapes, reescapeHostDelimiters, isIPv4, nonSimpleDomain } = require('./lib/utils')\nconst { SCHEMES, getSchemeHandler } = require('./lib/schemes')\n\n/**\n * @template {import('./types/index').URIComponent|string} T\n * @param {T} uri\n * @param {import('./types/index').Options} [options]\n * @returns {T}\n */\nfunction normalize (uri, options) {\n if (typeof uri === 'string') {\n uri = /** @type {T} */ (normalizeString(uri, options))\n } else if (typeof uri === 'object') {\n uri = /** @type {T} */ (parse(serialize(uri, options), options))\n }\n return uri\n}\n\n/**\n * @param {string} baseURI\n * @param {string} relativeURI\n * @param {import('./types/index').Options} [options]\n * @returns {string}\n */\nfunction resolve (baseURI, relativeURI, options) {\n const schemelessOptions = options ? Object.assign({ scheme: 'null' }, options) : { scheme: 'null' }\n const resolved = resolveComponent(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true)\n schemelessOptions.skipEscape = true\n return serialize(resolved, schemelessOptions)\n}\n\n/**\n * @param {import ('./types/index').URIComponent} base\n * @param {import ('./types/index').URIComponent} relative\n * @param {import('./types/index').Options} [options]\n * @param {boolean} [skipNormalization=false]\n * @returns {import ('./types/index').URIComponent}\n */\nfunction resolveComponent (base, relative, options, skipNormalization) {\n /** @type {import('./types/index').URIComponent} */\n const target = {}\n if (!skipNormalization) {\n base = parse(serialize(base, options), options) // normalize base component\n relative = parse(serialize(relative, options), options) // normalize relative component\n }\n options = options || {}\n\n if (!options.tolerant && relative.scheme) {\n target.scheme = relative.scheme\n // target.authority = relative.authority;\n target.userinfo = relative.userinfo\n target.host = relative.host\n target.port = relative.port\n target.path = removeDotSegments(relative.path || '')\n target.query = relative.query\n } else {\n if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n // target.authority = relative.authority;\n target.userinfo = relative.userinfo\n target.host = relative.host\n target.port = relative.port\n target.path = removeDotSegments(relative.path || '')\n target.query = relative.query\n } else {\n if (!relative.path) {\n target.path = base.path\n if (relative.query !== undefined) {\n target.query = relative.query\n } else {\n target.query = base.query\n }\n } else {\n if (relative.path[0] === '/') {\n target.path = removeDotSegments(relative.path)\n } else {\n if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n target.path = '/' + relative.path\n } else if (!base.path) {\n target.path = relative.path\n } else {\n target.path = base.path.slice(0, base.path.lastIndexOf('/') + 1) + relative.path\n }\n target.path = removeDotSegments(target.path)\n }\n target.query = relative.query\n }\n // target.authority = base.authority;\n target.userinfo = base.userinfo\n target.host = base.host\n target.port = base.port\n }\n target.scheme = base.scheme\n }\n\n target.fragment = relative.fragment\n\n return target\n}\n\n/**\n * @param {import ('./types/index').URIComponent|string} uriA\n * @param {import ('./types/index').URIComponent|string} uriB\n * @param {import ('./types/index').Options} options\n * @returns {boolean}\n */\nfunction equal (uriA, uriB, options) {\n const normalizedA = normalizeComparableURI(uriA, options)\n const normalizedB = normalizeComparableURI(uriB, options)\n\n return normalizedA !== undefined && normalizedB !== undefined && normalizedA.toLowerCase() === normalizedB.toLowerCase()\n}\n\n/**\n * @param {Readonly<import('./types/index').URIComponent>} cmpts\n * @param {import('./types/index').Options} [opts]\n * @returns {string}\n */\nfunction serialize (cmpts, opts) {\n const component = {\n host: cmpts.host,\n scheme: cmpts.scheme,\n userinfo: cmpts.userinfo,\n port: cmpts.port,\n path: cmpts.path,\n query: cmpts.query,\n nid: cmpts.nid,\n nss: cmpts.nss,\n uuid: cmpts.uuid,\n fragment: cmpts.fragment,\n reference: cmpts.reference,\n resourceName: cmpts.resourceName,\n secure: cmpts.secure,\n error: ''\n }\n const options = Object.assign({}, opts)\n const uriTokens = []\n\n // find scheme handler\n const schemeHandler = getSchemeHandler(options.scheme || component.scheme)\n\n // perform scheme specific serialization\n if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(component, options)\n\n if (component.path !== undefined) {\n if (!options.skipEscape) {\n component.path = escapePreservingEscapes(component.path)\n\n if (component.scheme !== undefined) {\n component.path = component.path.split('%3A').join(':')\n }\n } else {\n component.path = normalizePercentEncoding(component.path)\n }\n }\n\n if (options.reference !== 'suffix' && component.scheme) {\n uriTokens.push(component.scheme, ':')\n }\n\n const authority = recomposeAuthority(component)\n if (authority !== undefined) {\n if (options.reference !== 'suffix') {\n uriTokens.push('//')\n }\n\n uriTokens.push(authority)\n\n if (component.path && component.path[0] !== '/') {\n uriTokens.push('/')\n }\n }\n if (component.path !== undefined) {\n let s = component.path\n\n if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n s = removeDotSegments(s)\n }\n\n if (\n authority === undefined &&\n s[0] === '/' &&\n s[1] === '/'\n ) {\n // don't allow the path to start with \"//\"\n s = '/%2F' + s.slice(2)\n }\n\n uriTokens.push(s)\n }\n\n if (component.query !== undefined) {\n uriTokens.push('?', component.query)\n }\n\n if (component.fragment !== undefined) {\n uriTokens.push('#', component.fragment)\n }\n return uriTokens.join('')\n}\n\nconst URI_PARSE = /^(?:([^#/:?]+):)?(?:\\/\\/((?:([^#/?@]*)@)?(\\[[^#/?\\]]+\\]|[^#/:?]*)(?::(\\d*))?))?([^#?]*)(?:\\?([^#]*))?(?:#((?:.|[\\n\\r])*))?/u\n\n/**\n * @param {import('./types/index').URIComponent} parsed\n * @param {RegExpMatchArray} matches\n * @returns {string|undefined}\n */\nfunction getParseError (parsed, matches) {\n if (matches[2] !== undefined && parsed.path && parsed.path[0] !== '/') {\n return 'URI path must start with \"/\" when authority is present.'\n }\n\n if (typeof parsed.port === 'number' && (parsed.port < 0 || parsed.port > 65535)) {\n return 'URI port is malformed.'\n }\n\n return undefined\n}\n\n/**\n * @param {string} uri\n * @param {import('./types/index').Options} [opts]\n * @returns {{ parsed: import('./types/index').URIComponent, malformedAuthorityOrPort: boolean }}\n */\nfunction parseWithStatus (uri, opts) {\n const options = Object.assign({}, opts)\n /** @type {import('./types/index').URIComponent} */\n const parsed = {\n scheme: undefined,\n userinfo: undefined,\n host: '',\n port: undefined,\n path: '',\n query: undefined,\n fragment: undefined\n }\n\n let malformedAuthorityOrPort = false\n\n let isIP = false\n if (options.reference === 'suffix') {\n if (options.scheme) {\n uri = options.scheme + ':' + uri\n } else {\n uri = '//' + uri\n }\n }\n\n const matches = uri.match(URI_PARSE)\n\n if (matches) {\n // store each component\n parsed.scheme = matches[1]\n parsed.userinfo = matches[3]\n parsed.host = matches[4]\n parsed.port = parseInt(matches[5], 10)\n parsed.path = matches[6] || ''\n parsed.query = matches[7]\n parsed.fragment = matches[8]\n\n // fix port number\n if (isNaN(parsed.port)) {\n parsed.port = matches[5]\n }\n\n const parseError = getParseError(parsed, matches)\n if (parseError !== undefined) {\n parsed.error = parsed.error || parseError\n malformedAuthorityOrPort = true\n }\n\n if (parsed.host) {\n const ipv4result = isIPv4(parsed.host)\n if (ipv4result === false) {\n const ipv6result = normalizeIPv6(parsed.host)\n parsed.host = ipv6result.host.toLowerCase()\n isIP = ipv6result.isIPV6\n } else {\n isIP = true\n }\n }\n if (parsed.scheme === undefined && parsed.userinfo === undefined && parsed.host === undefined && parsed.port === undefined && parsed.query === undefined && !parsed.path) {\n parsed.reference = 'same-document'\n } else if (parsed.scheme === undefined) {\n parsed.reference = 'relative'\n } else if (parsed.fragment === undefined) {\n parsed.reference = 'absolute'\n } else {\n parsed.reference = 'uri'\n }\n\n // check for reference errors\n if (options.reference && options.reference !== 'suffix' && options.reference !== parsed.reference) {\n parsed.error = parsed.error || 'URI is not a ' + options.reference + ' reference.'\n }\n\n // find scheme handler\n const schemeHandler = getSchemeHandler(options.scheme || parsed.scheme)\n\n // check if scheme can't handle IRIs\n if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n // if host component is a domain name\n if (parsed.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost)) && isIP === false && nonSimpleDomain(parsed.host)) {\n // convert Unicode IDN -> ASCII IDN\n try {\n parsed.host = URL.domainToASCII(parsed.host.toLowerCase())\n } catch (e) {\n parsed.error = parsed.error || \"Host's domain name can not be converted to ASCII: \" + e\n }\n }\n // convert IRI -> URI\n }\n\n if (!schemeHandler || (schemeHandler && !schemeHandler.skipNormalize)) {\n if (uri.indexOf('%') !== -1) {\n if (parsed.scheme !== undefined) {\n parsed.scheme = unescape(parsed.scheme)\n }\n if (parsed.host !== undefined) {\n parsed.host = reescapeHostDelimiters(unescape(parsed.host), isIP)\n }\n }\n if (parsed.path) {\n parsed.path = normalizePathEncoding(parsed.path)\n }\n if (parsed.fragment) {\n try {\n parsed.fragment = encodeURI(decodeURIComponent(parsed.fragment))\n } catch {\n parsed.error = parsed.error || 'URI malformed'\n }\n }\n }\n\n // perform scheme specific parsing\n if (schemeHandler && schemeHandler.parse) {\n schemeHandler.parse(parsed, options)\n }\n } else {\n parsed.error = parsed.error || 'URI can not be parsed.'\n }\n return { parsed, malformedAuthorityOrPort }\n}\n\n/**\n * @param {string} uri\n * @param {import('./types/index').Options} [opts]\n * @returns\n */\nfunction parse (uri, opts) {\n return parseWithStatus(uri, opts).parsed\n}\n\n/**\n * @param {string} uri\n * @param {import('./types/index').Options} [opts]\n * @returns {string}\n */\nfunction normalizeString (uri, opts) {\n return normalizeStringWithStatus(uri, opts).normalized\n}\n\n/**\n * @param {string} uri\n * @param {import('./types/index').Options} [opts]\n * @returns {{ normalized: string, malformedAuthorityOrPort: boolean }}\n */\nfunction normalizeStringWithStatus (uri, opts) {\n const { parsed, malformedAuthorityOrPort } = parseWithStatus(uri, opts)\n return {\n normalized: malformedAuthorityOrPort ? uri : serialize(parsed, opts),\n malformedAuthorityOrPort\n }\n}\n\n/**\n * @param {import ('./types/index').URIComponent|string} uri\n * @param {import('./types/index').Options} [opts]\n * @returns {string|undefined}\n */\nfunction normalizeComparableURI (uri, opts) {\n if (typeof uri === 'string') {\n const { normalized, malformedAuthorityOrPort } = normalizeStringWithStatus(uri, opts)\n return malformedAuthorityOrPort ? undefined : normalized\n }\n\n if (typeof uri === 'object') {\n return serialize(uri, opts)\n }\n}\n\nconst fastUri = {\n SCHEMES,\n normalize,\n resolve,\n resolveComponent,\n equal,\n serialize,\n parse\n}\n\nmodule.exports = fastUri\nmodule.exports.default = fastUri\nmodule.exports.fastUri = fastUri\n"],"names":["require$$0","require$$1","fastUriModule"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"schemes.js","sources":["../../../../../../../../../node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js"],"sourcesContent":["'use strict'\n\nconst { isUUID } = require('./utils')\nconst URN_REG = /([\\da-z][\\d\\-a-z]{0,31}):((?:[\\w!$'()*+,\\-.:;=@]|%[\\da-f]{2})+)/iu\n\nconst supportedSchemeNames = /** @type {const} */ (['http', 'https', 'ws',\n 'wss', 'urn', 'urn:uuid'])\n\n/** @typedef {supportedSchemeNames[number]} SchemeName */\n\n/**\n * @param {string} name\n * @returns {name is SchemeName}\n */\nfunction isValidSchemeName (name) {\n return supportedSchemeNames.indexOf(/** @type {*} */ (name)) !== -1\n}\n\n/**\n * @callback SchemeFn\n * @param {import('../types/index').URIComponent} component\n * @param {import('../types/index').Options} options\n * @returns {import('../types/index').URIComponent}\n */\n\n/**\n * @typedef {Object} SchemeHandler\n * @property {SchemeName} scheme - The scheme name.\n * @property {boolean} [domainHost] - Indicates if the scheme supports domain hosts.\n * @property {SchemeFn} parse - Function to parse the URI component for this scheme.\n * @property {SchemeFn} serialize - Function to serialize the URI component for this scheme.\n * @property {boolean} [skipNormalize] - Indicates if normalization should be skipped for this scheme.\n * @property {boolean} [absolutePath] - Indicates if the scheme uses absolute paths.\n * @property {boolean} [unicodeSupport] - Indicates if the scheme supports Unicode.\n */\n\n/**\n * @param {import('../types/index').URIComponent} wsComponent\n * @returns {boolean}\n */\nfunction wsIsSecure (wsComponent) {\n if (wsComponent.secure === true) {\n return true\n } else if (wsComponent.secure === false) {\n return false\n } else if (wsComponent.scheme) {\n return (\n wsComponent.scheme.length === 3 &&\n (wsComponent.scheme[0] === 'w' || wsComponent.scheme[0] === 'W') &&\n (wsComponent.scheme[1] === 's' || wsComponent.scheme[1] === 'S') &&\n (wsComponent.scheme[2] === 's' || wsComponent.scheme[2] === 'S')\n )\n } else {\n return false\n }\n}\n\n/** @type {SchemeFn} */\nfunction httpParse (component) {\n if (!component.host) {\n component.error = component.error || 'HTTP URIs must have a host.'\n }\n\n return component\n}\n\n/** @type {SchemeFn} */\nfunction httpSerialize (component) {\n const secure = String(component.scheme).toLowerCase() === 'https'\n\n // normalize the default port\n if (component.port === (secure ? 443 : 80) || component.port === '') {\n component.port = undefined\n }\n\n // normalize the empty path\n if (!component.path) {\n component.path = '/'\n }\n\n // NOTE: We do not parse query strings for HTTP URIs\n // as WWW Form Url Encoded query strings are part of the HTML4+ spec,\n // and not the HTTP spec.\n\n return component\n}\n\n/** @type {SchemeFn} */\nfunction wsParse (wsComponent) {\n// indicate if the secure flag is set\n wsComponent.secure = wsIsSecure(wsComponent)\n\n // construct resouce name\n wsComponent.resourceName = (wsComponent.path || '/') + (wsComponent.query ? '?' + wsComponent.query : '')\n wsComponent.path = undefined\n wsComponent.query = undefined\n\n return wsComponent\n}\n\n/** @type {SchemeFn} */\nfunction wsSerialize (wsComponent) {\n// normalize the default port\n if (wsComponent.port === (wsIsSecure(wsComponent) ? 443 : 80) || wsComponent.port === '') {\n wsComponent.port = undefined\n }\n\n // ensure scheme matches secure flag\n if (typeof wsComponent.secure === 'boolean') {\n wsComponent.scheme = (wsComponent.secure ? 'wss' : 'ws')\n wsComponent.secure = undefined\n }\n\n // reconstruct path from resource name\n if (wsComponent.resourceName) {\n const [path, query] = wsComponent.resourceName.split('?')\n wsComponent.path = (path && path !== '/' ? path : undefined)\n wsComponent.query = query\n wsComponent.resourceName = undefined\n }\n\n // forbid fragment component\n wsComponent.fragment = undefined\n\n return wsComponent\n}\n\n/** @type {SchemeFn} */\nfunction urnParse (urnComponent, options) {\n if (!urnComponent.path) {\n urnComponent.error = 'URN can not be parsed'\n return urnComponent\n }\n const matches = urnComponent.path.match(URN_REG)\n if (matches) {\n const scheme = options.scheme || urnComponent.scheme || 'urn'\n urnComponent.nid = matches[1].toLowerCase()\n urnComponent.nss = matches[2]\n const urnScheme = `${scheme}:${options.nid || urnComponent.nid}`\n const schemeHandler = getSchemeHandler(urnScheme)\n urnComponent.path = undefined\n\n if (schemeHandler) {\n urnComponent = schemeHandler.parse(urnComponent, options)\n }\n } else {\n urnComponent.error = urnComponent.error || 'URN can not be parsed.'\n }\n\n return urnComponent\n}\n\n/** @type {SchemeFn} */\nfunction urnSerialize (urnComponent, options) {\n if (urnComponent.nid === undefined) {\n throw new Error('URN without nid cannot be serialized')\n }\n const scheme = options.scheme || urnComponent.scheme || 'urn'\n const nid = urnComponent.nid.toLowerCase()\n const urnScheme = `${scheme}:${options.nid || nid}`\n const schemeHandler = getSchemeHandler(urnScheme)\n\n if (schemeHandler) {\n urnComponent = schemeHandler.serialize(urnComponent, options)\n }\n\n const uriComponent = urnComponent\n const nss = urnComponent.nss\n uriComponent.path = `${nid || options.nid}:${nss}`\n\n options.skipEscape = true\n return uriComponent\n}\n\n/** @type {SchemeFn} */\nfunction urnuuidParse (urnComponent, options) {\n const uuidComponent = urnComponent\n uuidComponent.uuid = uuidComponent.nss\n uuidComponent.nss = undefined\n\n if (!options.tolerant && (!uuidComponent.uuid || !isUUID(uuidComponent.uuid))) {\n uuidComponent.error = uuidComponent.error || 'UUID is not valid.'\n }\n\n return uuidComponent\n}\n\n/** @type {SchemeFn} */\nfunction urnuuidSerialize (uuidComponent) {\n const urnComponent = uuidComponent\n // normalize UUID\n urnComponent.nss = (uuidComponent.uuid || '').toLowerCase()\n return urnComponent\n}\n\nconst http = /** @type {SchemeHandler} */ ({\n scheme: 'http',\n domainHost: true,\n parse: httpParse,\n serialize: httpSerialize\n})\n\nconst https = /** @type {SchemeHandler} */ ({\n scheme: 'https',\n domainHost: http.domainHost,\n parse: httpParse,\n serialize: httpSerialize\n})\n\nconst ws = /** @type {SchemeHandler} */ ({\n scheme: 'ws',\n domainHost: true,\n parse: wsParse,\n serialize: wsSerialize\n})\n\nconst wss = /** @type {SchemeHandler} */ ({\n scheme: 'wss',\n domainHost: ws.domainHost,\n parse: ws.parse,\n serialize: ws.serialize\n})\n\nconst urn = /** @type {SchemeHandler} */ ({\n scheme: 'urn',\n parse: urnParse,\n serialize: urnSerialize,\n skipNormalize: true\n})\n\nconst urnuuid = /** @type {SchemeHandler} */ ({\n scheme: 'urn:uuid',\n parse: urnuuidParse,\n serialize: urnuuidSerialize,\n skipNormalize: true\n})\n\nconst SCHEMES = /** @type {Record<SchemeName, SchemeHandler>} */ ({\n http,\n https,\n ws,\n wss,\n urn,\n 'urn:uuid': urnuuid\n})\n\nObject.setPrototypeOf(SCHEMES, null)\n\n/**\n * @param {string|undefined} scheme\n * @returns {SchemeHandler|undefined}\n */\nfunction getSchemeHandler (scheme) {\n return (\n scheme && (\n SCHEMES[/** @type {SchemeName} */ (scheme)] ||\n SCHEMES[/** @type {SchemeName} */(scheme.toLowerCase())])\n ) ||\n undefined\n}\n\nmodule.exports = {\n wsIsSecure,\n SCHEMES,\n isValidSchemeName,\n getSchemeHandler,\n}\n"],"names":["require$$0"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"schemes.js","sources":["../../../../../../../../../node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/schemes.js"],"sourcesContent":["'use strict'\n\nconst { isUUID } = require('./utils')\nconst URN_REG = /([\\da-z][\\d\\-a-z]{0,31}):((?:[\\w!$'()*+,\\-.:;=@]|%[\\da-f]{2})+)/iu\n\nconst supportedSchemeNames = /** @type {const} */ (['http', 'https', 'ws',\n 'wss', 'urn', 'urn:uuid'])\n\n/** @typedef {supportedSchemeNames[number]} SchemeName */\n\n/**\n * @param {string} name\n * @returns {name is SchemeName}\n */\nfunction isValidSchemeName (name) {\n return supportedSchemeNames.indexOf(/** @type {*} */ (name)) !== -1\n}\n\n/**\n * @callback SchemeFn\n * @param {import('../types/index').URIComponent} component\n * @param {import('../types/index').Options} options\n * @returns {import('../types/index').URIComponent}\n */\n\n/**\n * @typedef {Object} SchemeHandler\n * @property {SchemeName} scheme - The scheme name.\n * @property {boolean} [domainHost] - Indicates if the scheme supports domain hosts.\n * @property {SchemeFn} parse - Function to parse the URI component for this scheme.\n * @property {SchemeFn} serialize - Function to serialize the URI component for this scheme.\n * @property {boolean} [skipNormalize] - Indicates if normalization should be skipped for this scheme.\n * @property {boolean} [absolutePath] - Indicates if the scheme uses absolute paths.\n * @property {boolean} [unicodeSupport] - Indicates if the scheme supports Unicode.\n */\n\n/**\n * @param {import('../types/index').URIComponent} wsComponent\n * @returns {boolean}\n */\nfunction wsIsSecure (wsComponent) {\n if (wsComponent.secure === true) {\n return true\n } else if (wsComponent.secure === false) {\n return false\n } else if (wsComponent.scheme) {\n return (\n wsComponent.scheme.length === 3 &&\n (wsComponent.scheme[0] === 'w' || wsComponent.scheme[0] === 'W') &&\n (wsComponent.scheme[1] === 's' || wsComponent.scheme[1] === 'S') &&\n (wsComponent.scheme[2] === 's' || wsComponent.scheme[2] === 'S')\n )\n } else {\n return false\n }\n}\n\n/** @type {SchemeFn} */\nfunction httpParse (component) {\n if (!component.host) {\n component.error = component.error || 'HTTP URIs must have a host.'\n }\n\n return component\n}\n\n/** @type {SchemeFn} */\nfunction httpSerialize (component) {\n const secure = String(component.scheme).toLowerCase() === 'https'\n\n // normalize the default port\n if (component.port === (secure ? 443 : 80) || component.port === '') {\n component.port = undefined\n }\n\n // normalize the empty path\n if (!component.path) {\n component.path = '/'\n }\n\n // NOTE: We do not parse query strings for HTTP URIs\n // as WWW Form Url Encoded query strings are part of the HTML4+ spec,\n // and not the HTTP spec.\n\n return component\n}\n\n/** @type {SchemeFn} */\nfunction wsParse (wsComponent) {\n// indicate if the secure flag is set\n wsComponent.secure = wsIsSecure(wsComponent)\n\n // construct resouce name\n wsComponent.resourceName = (wsComponent.path || '/') + (wsComponent.query ? '?' + wsComponent.query : '')\n wsComponent.path = undefined\n wsComponent.query = undefined\n\n return wsComponent\n}\n\n/** @type {SchemeFn} */\nfunction wsSerialize (wsComponent) {\n// normalize the default port\n if (wsComponent.port === (wsIsSecure(wsComponent) ? 443 : 80) || wsComponent.port === '') {\n wsComponent.port = undefined\n }\n\n // ensure scheme matches secure flag\n if (typeof wsComponent.secure === 'boolean') {\n wsComponent.scheme = (wsComponent.secure ? 'wss' : 'ws')\n wsComponent.secure = undefined\n }\n\n // reconstruct path from resource name\n if (wsComponent.resourceName) {\n const [path, query] = wsComponent.resourceName.split('?')\n wsComponent.path = (path && path !== '/' ? path : undefined)\n wsComponent.query = query\n wsComponent.resourceName = undefined\n }\n\n // forbid fragment component\n wsComponent.fragment = undefined\n\n return wsComponent\n}\n\n/** @type {SchemeFn} */\nfunction urnParse (urnComponent, options) {\n if (!urnComponent.path) {\n urnComponent.error = 'URN can not be parsed'\n return urnComponent\n }\n const matches = urnComponent.path.match(URN_REG)\n if (matches) {\n const scheme = options.scheme || urnComponent.scheme || 'urn'\n urnComponent.nid = matches[1].toLowerCase()\n urnComponent.nss = matches[2]\n const urnScheme = `${scheme}:${options.nid || urnComponent.nid}`\n const schemeHandler = getSchemeHandler(urnScheme)\n urnComponent.path = undefined\n\n if (schemeHandler) {\n urnComponent = schemeHandler.parse(urnComponent, options)\n }\n } else {\n urnComponent.error = urnComponent.error || 'URN can not be parsed.'\n }\n\n return urnComponent\n}\n\n/** @type {SchemeFn} */\nfunction urnSerialize (urnComponent, options) {\n if (urnComponent.nid === undefined) {\n throw new Error('URN without nid cannot be serialized')\n }\n const scheme = options.scheme || urnComponent.scheme || 'urn'\n const nid = urnComponent.nid.toLowerCase()\n const urnScheme = `${scheme}:${options.nid || nid}`\n const schemeHandler = getSchemeHandler(urnScheme)\n\n if (schemeHandler) {\n urnComponent = schemeHandler.serialize(urnComponent, options)\n }\n\n const uriComponent = urnComponent\n const nss = urnComponent.nss\n uriComponent.path = `${nid || options.nid}:${nss}`\n\n options.skipEscape = true\n return uriComponent\n}\n\n/** @type {SchemeFn} */\nfunction urnuuidParse (urnComponent, options) {\n const uuidComponent = urnComponent\n uuidComponent.uuid = uuidComponent.nss\n uuidComponent.nss = undefined\n\n if (!options.tolerant && (!uuidComponent.uuid || !isUUID(uuidComponent.uuid))) {\n uuidComponent.error = uuidComponent.error || 'UUID is not valid.'\n }\n\n return uuidComponent\n}\n\n/** @type {SchemeFn} */\nfunction urnuuidSerialize (uuidComponent) {\n const urnComponent = uuidComponent\n // normalize UUID\n urnComponent.nss = (uuidComponent.uuid || '').toLowerCase()\n return urnComponent\n}\n\nconst http = /** @type {SchemeHandler} */ ({\n scheme: 'http',\n domainHost: true,\n parse: httpParse,\n serialize: httpSerialize\n})\n\nconst https = /** @type {SchemeHandler} */ ({\n scheme: 'https',\n domainHost: http.domainHost,\n parse: httpParse,\n serialize: httpSerialize\n})\n\nconst ws = /** @type {SchemeHandler} */ ({\n scheme: 'ws',\n domainHost: true,\n parse: wsParse,\n serialize: wsSerialize\n})\n\nconst wss = /** @type {SchemeHandler} */ ({\n scheme: 'wss',\n domainHost: ws.domainHost,\n parse: ws.parse,\n serialize: ws.serialize\n})\n\nconst urn = /** @type {SchemeHandler} */ ({\n scheme: 'urn',\n parse: urnParse,\n serialize: urnSerialize,\n skipNormalize: true\n})\n\nconst urnuuid = /** @type {SchemeHandler} */ ({\n scheme: 'urn:uuid',\n parse: urnuuidParse,\n serialize: urnuuidSerialize,\n skipNormalize: true\n})\n\nconst SCHEMES = /** @type {Record<SchemeName, SchemeHandler>} */ ({\n http,\n https,\n ws,\n wss,\n urn,\n 'urn:uuid': urnuuid\n})\n\nObject.setPrototypeOf(SCHEMES, null)\n\n/**\n * @param {string|undefined} scheme\n * @returns {SchemeHandler|undefined}\n */\nfunction getSchemeHandler (scheme) {\n return (\n scheme && (\n SCHEMES[/** @type {SchemeName} */ (scheme)] ||\n SCHEMES[/** @type {SchemeName} */(scheme.toLowerCase())])\n ) ||\n undefined\n}\n\nmodule.exports = {\n wsIsSecure,\n SCHEMES,\n isValidSchemeName,\n getSchemeHandler,\n}\n"],"names":["require$$0"],"mappings":"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","x_google_ignoreList":[0]}
@@ -2,12 +2,15 @@
2
2
  !(function() {
3
3
  try {
4
4
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
5
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "44adf7d5-9be4-4d48-a860-74a6f062cc16", e._sentryDebugIdIdentifier = "sentry-dbid-44adf7d5-9be4-4d48-a860-74a6f062cc16");
5
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "129e3cd5-01cc-4900-be10-ac8f180b7aaa", e._sentryDebugIdIdentifier = "sentry-dbid-129e3cd5-01cc-4900-be10-ac8f180b7aaa");
6
6
  } catch (e2) {
7
7
  }
8
8
  })();
9
9
  const isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
10
10
  const isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);
11
+ const isHexPair = RegExp.prototype.test.bind(/^[\da-f]{2}$/iu);
12
+ const isUnreserved = RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu);
13
+ const isPathCharacter = RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);
11
14
  function stringArrayToHexStripped(input) {
12
15
  let acc = "";
13
16
  let code = 0;
@@ -200,27 +203,77 @@ function removeDotSegments(path) {
200
203
  }
201
204
  return output.join("");
202
205
  }
203
- function normalizeComponentEncoding(component, esc) {
204
- const func = esc !== true ? escape : unescape;
205
- if (component.scheme !== void 0) {
206
- component.scheme = func(component.scheme);
207
- }
208
- if (component.userinfo !== void 0) {
209
- component.userinfo = func(component.userinfo);
210
- }
211
- if (component.host !== void 0) {
212
- component.host = func(component.host);
206
+ const HOST_DELIMS = { "@": "%40", "/": "%2F", "?": "%3F", "#": "%23", ":": "%3A" };
207
+ const HOST_DELIM_RE = /[@/?#:]/g;
208
+ const HOST_DELIM_NO_COLON_RE = /[@/?#]/g;
209
+ function reescapeHostDelimiters(host, isIP) {
210
+ const re = isIP ? HOST_DELIM_NO_COLON_RE : HOST_DELIM_RE;
211
+ re.lastIndex = 0;
212
+ return host.replace(re, (ch) => HOST_DELIMS[ch]);
213
+ }
214
+ function normalizePercentEncoding(input, decodeUnreserved = false) {
215
+ if (input.indexOf("%") === -1) {
216
+ return input;
213
217
  }
214
- if (component.path !== void 0) {
215
- component.path = func(component.path);
218
+ let output = "";
219
+ for (let i = 0; i < input.length; i++) {
220
+ if (input[i] === "%" && i + 2 < input.length) {
221
+ const hex = input.slice(i + 1, i + 3);
222
+ if (isHexPair(hex)) {
223
+ const normalizedHex = hex.toUpperCase();
224
+ const decoded = String.fromCharCode(parseInt(normalizedHex, 16));
225
+ if (decodeUnreserved && isUnreserved(decoded)) {
226
+ output += decoded;
227
+ } else {
228
+ output += "%" + normalizedHex;
229
+ }
230
+ i += 2;
231
+ continue;
232
+ }
233
+ }
234
+ output += input[i];
216
235
  }
217
- if (component.query !== void 0) {
218
- component.query = func(component.query);
236
+ return output;
237
+ }
238
+ function normalizePathEncoding(input) {
239
+ let output = "";
240
+ for (let i = 0; i < input.length; i++) {
241
+ if (input[i] === "%" && i + 2 < input.length) {
242
+ const hex = input.slice(i + 1, i + 3);
243
+ if (isHexPair(hex)) {
244
+ const normalizedHex = hex.toUpperCase();
245
+ const decoded = String.fromCharCode(parseInt(normalizedHex, 16));
246
+ if (decoded !== "." && isUnreserved(decoded)) {
247
+ output += decoded;
248
+ } else {
249
+ output += "%" + normalizedHex;
250
+ }
251
+ i += 2;
252
+ continue;
253
+ }
254
+ }
255
+ if (isPathCharacter(input[i])) {
256
+ output += input[i];
257
+ } else {
258
+ output += escape(input[i]);
259
+ }
219
260
  }
220
- if (component.fragment !== void 0) {
221
- component.fragment = func(component.fragment);
261
+ return output;
262
+ }
263
+ function escapePreservingEscapes(input) {
264
+ let output = "";
265
+ for (let i = 0; i < input.length; i++) {
266
+ if (input[i] === "%" && i + 2 < input.length) {
267
+ const hex = input.slice(i + 1, i + 3);
268
+ if (isHexPair(hex)) {
269
+ output += "%" + hex.toUpperCase();
270
+ i += 2;
271
+ continue;
272
+ }
273
+ }
274
+ output += escape(input[i]);
222
275
  }
223
- return component;
276
+ return output;
224
277
  }
225
278
  function recomposeAuthority(component) {
226
279
  const uriTokens = [];
@@ -235,7 +288,7 @@ function recomposeAuthority(component) {
235
288
  if (ipV6res.isIPV6 === true) {
236
289
  host = `[${ipV6res.escapedHost}]`;
237
290
  } else {
238
- host = component.host;
291
+ host = reescapeHostDelimiters(host, false);
239
292
  }
240
293
  }
241
294
  uriTokens.push(host);
@@ -249,7 +302,10 @@ function recomposeAuthority(component) {
249
302
  var utils = {
250
303
  nonSimpleDomain,
251
304
  recomposeAuthority,
252
- normalizeComponentEncoding,
305
+ reescapeHostDelimiters,
306
+ normalizePercentEncoding,
307
+ normalizePathEncoding,
308
+ escapePreservingEscapes,
253
309
  removeDotSegments,
254
310
  isIPv4,
255
311
  isUUID,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../../../../node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/utils.js"],"sourcesContent":["'use strict'\n\n/** @type {(value: string) => boolean} */\nconst isUUID = RegExp.prototype.test.bind(/^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}$/iu)\n\n/** @type {(value: string) => boolean} */\nconst isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)$/u)\n\n/** @type {(value: string) => boolean} */\nconst isHexPair = RegExp.prototype.test.bind(/^[\\da-f]{2}$/iu)\n\n/** @type {(value: string) => boolean} */\nconst isUnreserved = RegExp.prototype.test.bind(/^[\\da-z\\-._~]$/iu)\n\n/** @type {(value: string) => boolean} */\nconst isPathCharacter = RegExp.prototype.test.bind(/^[\\da-z\\-._~!$&'()*+,;=:@/]$/iu)\n\n/**\n * @param {Array<string>} input\n * @returns {string}\n */\nfunction stringArrayToHexStripped (input) {\n let acc = ''\n let code = 0\n let i = 0\n\n for (i = 0; i < input.length; i++) {\n code = input[i].charCodeAt(0)\n if (code === 48) {\n continue\n }\n if (!((code >= 48 && code <= 57) || (code >= 65 && code <= 70) || (code >= 97 && code <= 102))) {\n return ''\n }\n acc += input[i]\n break\n }\n\n for (i += 1; i < input.length; i++) {\n code = input[i].charCodeAt(0)\n if (!((code >= 48 && code <= 57) || (code >= 65 && code <= 70) || (code >= 97 && code <= 102))) {\n return ''\n }\n acc += input[i]\n }\n return acc\n}\n\n/**\n * @typedef {Object} GetIPV6Result\n * @property {boolean} error - Indicates if there was an error parsing the IPv6 address.\n * @property {string} address - The parsed IPv6 address.\n * @property {string} [zone] - The zone identifier, if present.\n */\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nconst nonSimpleDomain = RegExp.prototype.test.bind(/[^!\"$&'()*+,\\-.;=_`a-z{}~]/u)\n\n/**\n * @param {Array<string>} buffer\n * @returns {boolean}\n */\nfunction consumeIsZone (buffer) {\n buffer.length = 0\n return true\n}\n\n/**\n * @param {Array<string>} buffer\n * @param {Array<string>} address\n * @param {GetIPV6Result} output\n * @returns {boolean}\n */\nfunction consumeHextets (buffer, address, output) {\n if (buffer.length) {\n const hex = stringArrayToHexStripped(buffer)\n if (hex !== '') {\n address.push(hex)\n } else {\n output.error = true\n return false\n }\n buffer.length = 0\n }\n return true\n}\n\n/**\n * @param {string} input\n * @returns {GetIPV6Result}\n */\nfunction getIPV6 (input) {\n let tokenCount = 0\n const output = { error: false, address: '', zone: '' }\n /** @type {Array<string>} */\n const address = []\n /** @type {Array<string>} */\n const buffer = []\n let endipv6Encountered = false\n let endIpv6 = false\n\n let consume = consumeHextets\n\n for (let i = 0; i < input.length; i++) {\n const cursor = input[i]\n if (cursor === '[' || cursor === ']') { continue }\n if (cursor === ':') {\n if (endipv6Encountered === true) {\n endIpv6 = true\n }\n if (!consume(buffer, address, output)) { break }\n if (++tokenCount > 7) {\n // not valid\n output.error = true\n break\n }\n if (i > 0 && input[i - 1] === ':') {\n endipv6Encountered = true\n }\n address.push(':')\n continue\n } else if (cursor === '%') {\n if (!consume(buffer, address, output)) { break }\n // switch to zone detection\n consume = consumeIsZone\n } else {\n buffer.push(cursor)\n continue\n }\n }\n if (buffer.length) {\n if (consume === consumeIsZone) {\n output.zone = buffer.join('')\n } else if (endIpv6) {\n address.push(buffer.join(''))\n } else {\n address.push(stringArrayToHexStripped(buffer))\n }\n }\n output.address = address.join('')\n return output\n}\n\n/**\n * @typedef {Object} NormalizeIPv6Result\n * @property {string} host - The normalized host.\n * @property {string} [escapedHost] - The escaped host.\n * @property {boolean} isIPV6 - Indicates if the host is an IPv6 address.\n */\n\n/**\n * @param {string} host\n * @returns {NormalizeIPv6Result}\n */\nfunction normalizeIPv6 (host) {\n if (findToken(host, ':') < 2) { return { host, isIPV6: false } }\n const ipv6 = getIPV6(host)\n\n if (!ipv6.error) {\n let newHost = ipv6.address\n let escapedHost = ipv6.address\n if (ipv6.zone) {\n newHost += '%' + ipv6.zone\n escapedHost += '%25' + ipv6.zone\n }\n return { host: newHost, isIPV6: true, escapedHost }\n } else {\n return { host, isIPV6: false }\n }\n}\n\n/**\n * @param {string} str\n * @param {string} token\n * @returns {number}\n */\nfunction findToken (str, token) {\n let ind = 0\n for (let i = 0; i < str.length; i++) {\n if (str[i] === token) ind++\n }\n return ind\n}\n\n/**\n * @param {string} path\n * @returns {string}\n *\n * @see https://datatracker.ietf.org/doc/html/rfc3986#section-5.2.4\n */\nfunction removeDotSegments (path) {\n let input = path\n const output = []\n let nextSlash = -1\n let len = 0\n\n // eslint-disable-next-line no-cond-assign\n while (len = input.length) {\n if (len === 1) {\n if (input === '.') {\n break\n } else if (input === '/') {\n output.push('/')\n break\n } else {\n output.push(input)\n break\n }\n } else if (len === 2) {\n if (input[0] === '.') {\n if (input[1] === '.') {\n break\n } else if (input[1] === '/') {\n input = input.slice(2)\n continue\n }\n } else if (input[0] === '/') {\n if (input[1] === '.' || input[1] === '/') {\n output.push('/')\n break\n }\n }\n } else if (len === 3) {\n if (input === '/..') {\n if (output.length !== 0) {\n output.pop()\n }\n output.push('/')\n break\n }\n }\n if (input[0] === '.') {\n if (input[1] === '.') {\n if (input[2] === '/') {\n input = input.slice(3)\n continue\n }\n } else if (input[1] === '/') {\n input = input.slice(2)\n continue\n }\n } else if (input[0] === '/') {\n if (input[1] === '.') {\n if (input[2] === '/') {\n input = input.slice(2)\n continue\n } else if (input[2] === '.') {\n if (input[3] === '/') {\n input = input.slice(3)\n if (output.length !== 0) {\n output.pop()\n }\n continue\n }\n }\n }\n }\n\n // Rule 2E: Move normal path segment to output\n if ((nextSlash = input.indexOf('/', 1)) === -1) {\n output.push(input)\n break\n } else {\n output.push(input.slice(0, nextSlash))\n input = input.slice(nextSlash)\n }\n }\n\n return output.join('')\n}\n\n/**\n * Re-escape RFC 3986 gen-delims that must not appear literally in the host.\n * After the URI regex parses, these characters cannot be literal in the host\n * field, so any that appear after decoding came from percent-encoding and\n * must be restored to prevent authority structure changes.\n *\n * @param {string} host\n * @param {boolean} isIP - true for IPv4/IPv6 hosts (skip colon re-escaping)\n * @returns {string}\n */\nconst HOST_DELIMS = { '@': '%40', '/': '%2F', '?': '%3F', '#': '%23', ':': '%3A' }\nconst HOST_DELIM_RE = /[@/?#:]/g\nconst HOST_DELIM_NO_COLON_RE = /[@/?#]/g\n\nfunction reescapeHostDelimiters (host, isIP) {\n const re = isIP ? HOST_DELIM_NO_COLON_RE : HOST_DELIM_RE\n re.lastIndex = 0\n return host.replace(re, (ch) => HOST_DELIMS[ch])\n}\n\n/**\n * Normalizes percent escapes and optionally decodes only unreserved ASCII bytes.\n * Reserved delimiters such as `%2F` and `%2E` stay escaped.\n *\n * @param {string} input\n * @param {boolean} [decodeUnreserved=false]\n * @returns {string}\n */\nfunction normalizePercentEncoding (input, decodeUnreserved = false) {\n if (input.indexOf('%') === -1) {\n return input\n }\n\n let output = ''\n\n for (let i = 0; i < input.length; i++) {\n if (input[i] === '%' && i + 2 < input.length) {\n const hex = input.slice(i + 1, i + 3)\n if (isHexPair(hex)) {\n const normalizedHex = hex.toUpperCase()\n const decoded = String.fromCharCode(parseInt(normalizedHex, 16))\n\n if (decodeUnreserved && isUnreserved(decoded)) {\n output += decoded\n } else {\n output += '%' + normalizedHex\n }\n\n i += 2\n continue\n }\n }\n\n output += input[i]\n }\n\n return output\n}\n\n/**\n * Normalizes path data without turning reserved escapes into live path syntax.\n * Valid escapes are uppercased, raw unsafe characters are escaped, and only\n * unreserved bytes that are not `.` are decoded.\n *\n * @param {string} input\n * @returns {string}\n */\nfunction normalizePathEncoding (input) {\n let output = ''\n\n for (let i = 0; i < input.length; i++) {\n if (input[i] === '%' && i + 2 < input.length) {\n const hex = input.slice(i + 1, i + 3)\n if (isHexPair(hex)) {\n const normalizedHex = hex.toUpperCase()\n const decoded = String.fromCharCode(parseInt(normalizedHex, 16))\n\n if (decoded !== '.' && isUnreserved(decoded)) {\n output += decoded\n } else {\n output += '%' + normalizedHex\n }\n\n i += 2\n continue\n }\n }\n\n if (isPathCharacter(input[i])) {\n output += input[i]\n } else {\n output += escape(input[i])\n }\n }\n\n return output\n}\n\n/**\n * Escapes a component while preserving existing valid percent escapes.\n *\n * @param {string} input\n * @returns {string}\n */\nfunction escapePreservingEscapes (input) {\n let output = ''\n\n for (let i = 0; i < input.length; i++) {\n if (input[i] === '%' && i + 2 < input.length) {\n const hex = input.slice(i + 1, i + 3)\n if (isHexPair(hex)) {\n output += '%' + hex.toUpperCase()\n i += 2\n continue\n }\n }\n\n output += escape(input[i])\n }\n\n return output\n}\n\n/**\n * @param {import('../types/index').URIComponent} component\n * @returns {string|undefined}\n */\nfunction recomposeAuthority (component) {\n const uriTokens = []\n\n if (component.userinfo !== undefined) {\n uriTokens.push(component.userinfo)\n uriTokens.push('@')\n }\n\n if (component.host !== undefined) {\n let host = unescape(component.host)\n if (!isIPv4(host)) {\n const ipV6res = normalizeIPv6(host)\n if (ipV6res.isIPV6 === true) {\n host = `[${ipV6res.escapedHost}]`\n } else {\n host = reescapeHostDelimiters(host, false)\n }\n }\n uriTokens.push(host)\n }\n\n if (typeof component.port === 'number' || typeof component.port === 'string') {\n uriTokens.push(':')\n uriTokens.push(String(component.port))\n }\n\n return uriTokens.length ? uriTokens.join('') : undefined\n};\n\nmodule.exports = {\n nonSimpleDomain,\n recomposeAuthority,\n reescapeHostDelimiters,\n normalizePercentEncoding,\n normalizePathEncoding,\n escapePreservingEscapes,\n removeDotSegments,\n isIPv4,\n isUUID,\n normalizeIPv6,\n stringArrayToHexStripped\n}\n"],"names":["e"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse.js","sources":["../../../../../../../../../../../node_modules/.pnpm/hono@4.12.18/node_modules/hono/dist/helper/streaming/sse.js"],"sourcesContent":["// src/helper/streaming/sse.ts\nimport { HtmlEscapedCallbackPhase, resolveCallback } from \"../../utils/html.js\";\nimport { StreamingApi } from \"../../utils/stream.js\";\nimport { isOldBunVersion } from \"./utils.js\";\nvar SSEStreamingApi = class extends StreamingApi {\n constructor(writable, readable) {\n super(writable, readable);\n }\n async writeSSE(message) {\n const data = await resolveCallback(message.data, HtmlEscapedCallbackPhase.Stringify, false, {});\n const dataLines = data.split(/\\r\\n|\\r|\\n/).map((line) => {\n return `data: ${line}`;\n }).join(\"\\n\");\n for (const key of [\"event\", \"id\", \"retry\"]) {\n if (message[key] && /[\\r\\n]/.test(message[key])) {\n throw new Error(`${key} must not contain \"\\\\r\" or \"\\\\n\"`);\n }\n }\n const sseData = [\n message.event && `event: ${message.event}`,\n dataLines,\n message.id && `id: ${message.id}`,\n message.retry && `retry: ${message.retry}`\n ].filter(Boolean).join(\"\\n\") + \"\\n\\n\";\n await this.write(sseData);\n }\n};\nvar run = async (stream, cb, onError) => {\n try {\n await cb(stream);\n } catch (e) {\n if (e instanceof Error && onError) {\n await onError(e, stream);\n await stream.writeSSE({\n event: \"error\",\n data: e.message\n });\n } else {\n console.error(e);\n }\n } finally {\n stream.close();\n }\n};\nvar contextStash = /* @__PURE__ */ new WeakMap();\nvar streamSSE = (c, cb, onError) => {\n const { readable, writable } = new TransformStream();\n const stream = new SSEStreamingApi(writable, readable);\n if (isOldBunVersion()) {\n c.req.raw.signal.addEventListener(\"abort\", () => {\n if (!stream.closed) {\n stream.abort();\n }\n });\n }\n contextStash.set(stream.responseReadable, c);\n c.header(\"Transfer-Encoding\", \"chunked\");\n c.header(\"Content-Type\", \"text/event-stream\");\n c.header(\"Cache-Control\", \"no-cache\");\n c.header(\"Connection\", \"keep-alive\");\n run(stream, cb, onError);\n return c.newResponse(stream.responseReadable);\n};\nexport {\n SSEStreamingApi,\n streamSSE\n};\n"],"names":[],"mappings":";;;;;;;;;;AAIG,IAAC,kBAAkB,cAAc,aAAa;AAAA,EAC/C,YAAY,UAAU,UAAU;AAC9B,UAAM,UAAU,QAAQ;AAAA,EAC1B;AAAA,EACA,MAAM,SAAS,SAAS;AACtB,UAAM,OAAO,MAAM,gBAAgB,QAAQ,MAAM,yBAAyB,WAAW,OAAO,EAAE;AAC9F,UAAM,YAAY,KAAK,MAAM,YAAY,EAAE,IAAI,CAAC,SAAS;AACvD,aAAO,SAAS,IAAI;AAAA,IACtB,CAAC,EAAE,KAAK,IAAI;AACZ,eAAW,OAAO,CAAC,SAAS,MAAM,OAAO,GAAG;AAC1C,UAAI,QAAQ,GAAG,KAAK,SAAS,KAAK,QAAQ,GAAG,CAAC,GAAG;AAC/C,cAAM,IAAI,MAAM,GAAG,GAAG,kCAAkC;AAAA,MAC1D;AAAA,IACF;AACA,UAAM,UAAU;AAAA,MACd,QAAQ,SAAS,UAAU,QAAQ,KAAK;AAAA,MACxC;AAAA,MACA,QAAQ,MAAM,OAAO,QAAQ,EAAE;AAAA,MAC/B,QAAQ,SAAS,UAAU,QAAQ,KAAK;AAAA,IAC9C,EAAM,OAAO,OAAO,EAAE,KAAK,IAAI,IAAI;AAC/B,UAAM,KAAK,MAAM,OAAO;AAAA,EAC1B;AACF;","x_google_ignoreList":[0]}
@@ -2,24 +2,24 @@
2
2
  !(function() {
3
3
  try {
4
4
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
5
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "f27a8065-2a4c-4578-b313-e9c20b507273", e._sentryDebugIdIdentifier = "sentry-dbid-f27a8065-2a4c-4578-b313-e9c20b507273");
5
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "47be3f81-0750-4ff6-baa2-6ea3ba20957c", e._sentryDebugIdIdentifier = "sentry-dbid-47be3f81-0750-4ff6-baa2-6ea3ba20957c");
6
6
  } catch (e2) {
7
7
  }
8
8
  })();
9
9
  var cors = (options) => {
10
- const defaults = {
10
+ const opts = {
11
11
  origin: "*",
12
12
  allowMethods: ["GET", "HEAD", "PUT", "POST", "DELETE", "PATCH"],
13
13
  allowHeaders: [],
14
- exposeHeaders: []
15
- };
16
- const opts = {
17
- ...defaults,
14
+ exposeHeaders: [],
18
15
  ...options
19
16
  };
20
17
  const findAllowOrigin = ((optsOrigin) => {
21
18
  if (typeof optsOrigin === "string") {
22
19
  if (optsOrigin === "*") {
20
+ if (opts.credentials) {
21
+ return (origin) => origin || null;
22
+ }
23
23
  return () => optsOrigin;
24
24
  } else {
25
25
  return (origin) => optsOrigin === origin ? origin : null;
@@ -54,7 +54,7 @@ var cors = (options) => {
54
54
  set("Access-Control-Expose-Headers", opts.exposeHeaders.join(","));
55
55
  }
56
56
  if (c.req.method === "OPTIONS") {
57
- if (opts.origin !== "*") {
57
+ if (opts.origin !== "*" || opts.credentials) {
58
58
  set("Vary", "Origin");
59
59
  }
60
60
  if (opts.maxAge != null) {
@@ -84,7 +84,7 @@ var cors = (options) => {
84
84
  });
85
85
  }
86
86
  await next();
87
- if (opts.origin !== "*") {
87
+ if (opts.origin !== "*" || opts.credentials) {
88
88
  c.header("Vary", "Origin", { append: true });
89
89
  }
90
90
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../../../../../node_modules/.pnpm/hono@4.12.18/node_modules/hono/dist/middleware/cors/index.js"],"sourcesContent":["// src/middleware/cors/index.ts\nvar cors = (options) => {\n const opts = {\n origin: \"*\",\n allowMethods: [\"GET\", \"HEAD\", \"PUT\", \"POST\", \"DELETE\", \"PATCH\"],\n allowHeaders: [],\n exposeHeaders: [],\n ...options\n };\n const findAllowOrigin = ((optsOrigin) => {\n if (typeof optsOrigin === \"string\") {\n if (optsOrigin === \"*\") {\n if (opts.credentials) {\n return (origin) => origin || null;\n }\n return () => optsOrigin;\n } else {\n return (origin) => optsOrigin === origin ? origin : null;\n }\n } else if (typeof optsOrigin === \"function\") {\n return optsOrigin;\n } else {\n return (origin) => optsOrigin.includes(origin) ? origin : null;\n }\n })(opts.origin);\n const findAllowMethods = ((optsAllowMethods) => {\n if (typeof optsAllowMethods === \"function\") {\n return optsAllowMethods;\n } else if (Array.isArray(optsAllowMethods)) {\n return () => optsAllowMethods;\n } else {\n return () => [];\n }\n })(opts.allowMethods);\n return async function cors2(c, next) {\n function set(key, value) {\n c.res.headers.set(key, value);\n }\n const allowOrigin = await findAllowOrigin(c.req.header(\"origin\") || \"\", c);\n if (allowOrigin) {\n set(\"Access-Control-Allow-Origin\", allowOrigin);\n }\n if (opts.credentials) {\n set(\"Access-Control-Allow-Credentials\", \"true\");\n }\n if (opts.exposeHeaders?.length) {\n set(\"Access-Control-Expose-Headers\", opts.exposeHeaders.join(\",\"));\n }\n if (c.req.method === \"OPTIONS\") {\n if (opts.origin !== \"*\" || opts.credentials) {\n set(\"Vary\", \"Origin\");\n }\n if (opts.maxAge != null) {\n set(\"Access-Control-Max-Age\", opts.maxAge.toString());\n }\n const allowMethods = await findAllowMethods(c.req.header(\"origin\") || \"\", c);\n if (allowMethods.length) {\n set(\"Access-Control-Allow-Methods\", allowMethods.join(\",\"));\n }\n let headers = opts.allowHeaders;\n if (!headers?.length) {\n const requestHeaders = c.req.header(\"Access-Control-Request-Headers\");\n if (requestHeaders) {\n headers = requestHeaders.split(/\\s*,\\s*/);\n }\n }\n if (headers?.length) {\n set(\"Access-Control-Allow-Headers\", headers.join(\",\"));\n c.res.headers.append(\"Vary\", \"Access-Control-Request-Headers\");\n }\n c.res.headers.delete(\"Content-Length\");\n c.res.headers.delete(\"Content-Type\");\n return new Response(null, {\n headers: c.res.headers,\n status: 204,\n statusText: \"No Content\"\n });\n }\n await next();\n if (opts.origin !== \"*\" || opts.credentials) {\n c.header(\"Vary\", \"Origin\", { append: true });\n }\n };\n};\nexport {\n cors\n};\n"],"names":["e"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.js","sources":["../../../../../../../../../../node_modules/.pnpm/hono@4.12.18/node_modules/hono/dist/utils/html.js"],"sourcesContent":["// src/utils/html.ts\nvar HtmlEscapedCallbackPhase = {\n Stringify: 1,\n BeforeStream: 2,\n Stream: 3\n};\nvar raw = (value, callbacks) => {\n const escapedString = new String(value);\n escapedString.isEscaped = true;\n escapedString.callbacks = callbacks;\n return escapedString;\n};\nvar escapeRe = /[&<>'\"]/;\nvar stringBufferToString = async (buffer, callbacks) => {\n let str = \"\";\n callbacks ||= [];\n const resolvedBuffer = await Promise.all(buffer);\n for (let i = resolvedBuffer.length - 1; ; i--) {\n str += resolvedBuffer[i];\n i--;\n if (i < 0) {\n break;\n }\n let r = resolvedBuffer[i];\n if (typeof r === \"object\") {\n callbacks.push(...r.callbacks || []);\n }\n const isEscaped = r.isEscaped;\n r = await (typeof r === \"object\" ? r.toString() : r);\n if (typeof r === \"object\") {\n callbacks.push(...r.callbacks || []);\n }\n if (r.isEscaped ?? isEscaped) {\n str += r;\n } else {\n const buf = [str];\n escapeToBuffer(r, buf);\n str = buf[0];\n }\n }\n return raw(str, callbacks);\n};\nvar escapeToBuffer = (str, buffer) => {\n const match = str.search(escapeRe);\n if (match === -1) {\n buffer[0] += str;\n return;\n }\n let escape;\n let index;\n let lastIndex = 0;\n for (index = match; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escape = \"&quot;\";\n break;\n case 39:\n escape = \"&#39;\";\n break;\n case 38:\n escape = \"&amp;\";\n break;\n case 60:\n escape = \"&lt;\";\n break;\n case 62:\n escape = \"&gt;\";\n break;\n default:\n continue;\n }\n buffer[0] += str.substring(lastIndex, index) + escape;\n lastIndex = index + 1;\n }\n buffer[0] += str.substring(lastIndex, index);\n};\nvar resolveCallbackSync = (str) => {\n const callbacks = str.callbacks;\n if (!callbacks?.length) {\n return str;\n }\n const buffer = [str];\n const context = {};\n callbacks.forEach((c) => c({ phase: HtmlEscapedCallbackPhase.Stringify, buffer, context }));\n return buffer[0];\n};\nvar resolveCallback = async (str, phase, preserveCallbacks, context, buffer) => {\n if (typeof str === \"object\" && !(str instanceof String)) {\n if (!(str instanceof Promise)) {\n str = str.toString();\n }\n if (str instanceof Promise) {\n str = await str;\n }\n }\n const callbacks = str.callbacks;\n if (!callbacks?.length) {\n return Promise.resolve(str);\n }\n if (buffer) {\n buffer[0] += str;\n } else {\n buffer = [str];\n }\n const resStr = Promise.all(callbacks.map((c) => c({ phase, buffer, context }))).then(\n (res) => Promise.all(\n res.filter(Boolean).map((str2) => resolveCallback(str2, phase, false, context, buffer))\n ).then(() => buffer[0])\n );\n if (preserveCallbacks) {\n return raw(await resStr, callbacks);\n } else {\n return resStr;\n }\n};\nexport {\n HtmlEscapedCallbackPhase,\n escapeToBuffer,\n raw,\n resolveCallback,\n resolveCallbackSync,\n stringBufferToString\n};\n"],"names":["e"],"mappings":"AACG;AAAA,EAAA,WAAA;AAAA,MAAA;AAAA,QAAA,IAAA,eAAA,OAAA,SAAA,SAAA,eAAA,OAAA,SAAA,SAAA,eAAA,OAAA,aAAA,aAAA,eAAA,OAAA,OAAA,OAAA,CAAA,GAAA,IAAA,IAAA,EAAA,QAAA;AAAA,UAAA,EAAA,kBAAA,EAAA,mBAAA,CAAA,GAAA,EAAA,gBAAA,CAAA,IAAA,wCAAA,EAAA,2BAAA;AAAA,EAAA,SAAAA,IAAA;AAAA,EAAA;AAAA,GAAA;AAAA,IAAC,2BAA2B;AAAA,EAC7B,WAAW;AAGb;AAiFG,IAAC,kBAAkB,OAAO,KAAK,OAAO,mBAAmB,SAAS,WAAW;AAC9E,MAAI,OAAO,QAAQ,YAAY,EAAE,eAAe,SAAS;AACvD,QAAI,EAAE,eAAe,UAAU;AAC7B,YAAM,IAAI,SAAQ;AAAA,IACpB;AACA,QAAI,eAAe,SAAS;AAC1B,YAAM,MAAM;AAAA,IACd;AAAA,EACF;AACA,QAAM,YAAY,IAAI;AACtB,MAAI,CAAC,WAAW,QAAQ;AACtB,WAAO,QAAQ,QAAQ,GAAG;AAAA,EAC5B;AACA,MAAI,QAAQ;AACV,WAAO,CAAC,KAAK;AAAA,EACf,OAAO;AACL,aAAS,CAAC,GAAG;AAAA,EACf;AACA,QAAM,SAAS,QAAQ,IAAI,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,QAAQ,QAAO,CAAE,CAAC,CAAC,EAAE;AAAA,IAC9E,CAAC,QAAQ,QAAQ;AAAA,MACf,IAAI,OAAO,OAAO,EAAE,IAAI,CAAC,SAAS,gBAAgB,MAAM,OAAO,OAAO,SAAS,MAAM,CAAC;AAAA,IAC5F,EAAM,KAAK,MAAM,OAAO,CAAC,CAAC;AAAA,EAC1B;AAGS;AACL,WAAO;AAAA,EACT;AACF;","x_google_ignoreList":[0]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.js","sources":["../../../../../../../../../../node_modules/.pnpm/hono@4.12.18/node_modules/hono/dist/utils/stream.js"],"sourcesContent":["// src/utils/stream.ts\nvar StreamingApi = class {\n writer;\n encoder;\n writable;\n abortSubscribers = [];\n responseReadable;\n /**\n * Whether the stream has been aborted.\n */\n aborted = false;\n /**\n * Whether the stream has been closed normally.\n */\n closed = false;\n constructor(writable, _readable) {\n this.writable = writable;\n this.writer = writable.getWriter();\n this.encoder = new TextEncoder();\n const reader = _readable.getReader();\n this.abortSubscribers.push(async () => {\n await reader.cancel();\n });\n this.responseReadable = new ReadableStream({\n async pull(controller) {\n const { done, value } = await reader.read();\n done ? controller.close() : controller.enqueue(value);\n },\n cancel: () => {\n this.abort();\n }\n });\n }\n async write(input) {\n try {\n if (typeof input === \"string\") {\n input = this.encoder.encode(input);\n }\n await this.writer.write(input);\n } catch {\n }\n return this;\n }\n async writeln(input) {\n await this.write(input + \"\\n\");\n return this;\n }\n sleep(ms) {\n return new Promise((res) => setTimeout(res, ms));\n }\n async close() {\n try {\n await this.writer.close();\n } catch {\n }\n this.closed = true;\n }\n async pipe(body) {\n this.writer.releaseLock();\n await body.pipeTo(this.writable, { preventClose: true });\n this.writer = this.writable.getWriter();\n }\n onAbort(listener) {\n this.abortSubscribers.push(listener);\n }\n /**\n * Abort the stream.\n * You can call this method when stream is aborted by external event.\n */\n abort() {\n if (!this.aborted) {\n this.aborted = true;\n this.abortSubscribers.forEach((subscriber) => subscriber());\n }\n }\n};\nexport {\n StreamingApi\n};\n"],"names":["e"],"mappings":"AACG;AAAA,EAAA,WAAA;AAAA,MAAA;AAAA,QAAA,IAAA,eAAA,OAAA,SAAA,SAAA,eAAA,OAAA,SAAA,SAAA,eAAA,OAAA,aAAA,aAAA,eAAA,OAAA,OAAA,OAAA,CAAA,GAAA,IAAA,IAAA,EAAA,QAAA;AAAA,UAAA,EAAA,kBAAA,EAAA,mBAAA,CAAA,GAAA,EAAA,gBAAA,CAAA,IAAA,wCAAA,EAAA,2BAAA;AAAA,EAAA,SAAAA,IAAA;AAAA,EAAA;AAAA,GAAA;AAAA,IAAC,eAAe,MAAM;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB,CAAA;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA,EAIA,UAAU;AAAA;AAAA;AAAA;AAAA,EAIV,SAAS;AAAA,EACT,YAAY,UAAU,WAAW;AAC/B,SAAK,WAAW;AAChB,SAAK,SAAS,SAAS,UAAS;AAChC,SAAK,UAAU,IAAI,YAAW;AAC9B,UAAM,SAAS,UAAU,UAAS;AAClC,SAAK,iBAAiB,KAAK,YAAY;AACrC,YAAM,OAAO,OAAM;AAAA,IACrB,CAAC;AACD,SAAK,mBAAmB,IAAI,eAAe;AAAA,MACzC,MAAM,KAAK,YAAY;AACrB,cAAM,EAAE,MAAM,MAAK,IAAK,MAAM,OAAO,KAAI;AACzC,eAAO,WAAW,MAAK,IAAK,WAAW,QAAQ,KAAK;AAAA,MACtD;AAAA,MACA,QAAQ,MAAM;AACZ,aAAK,MAAK;AAAA,MACZ;AAAA,IACN,CAAK;AAAA,EACH;AAAA,EACA,MAAM,MAAM,OAAO;AACjB,QAAI;AACF,UAAI,OAAO,UAAU,UAAU;AAC7B,gBAAQ,KAAK,QAAQ,OAAO,KAAK;AAAA,MACnC;AACA,YAAM,KAAK,OAAO,MAAM,KAAK;AAAA,IAC/B,QAAQ;AAAA,IACR;AACA,WAAO;AAAA,EACT;AAAA,EACA,MAAM,QAAQ,OAAO;AACnB,UAAM,KAAK,MAAM,QAAQ,IAAI;AAC7B,WAAO;AAAA,EACT;AAAA,EACA,MAAM,IAAI;AACR,WAAO,IAAI,QAAQ,CAAC,QAAQ,WAAW,KAAK,EAAE,CAAC;AAAA,EACjD;AAAA,EACA,MAAM,QAAQ;AACZ,QAAI;AACF,YAAM,KAAK,OAAO,MAAK;AAAA,IACzB,QAAQ;AAAA,IACR;AACA,SAAK,SAAS;AAAA,EAChB;AAAA,EACA,MAAM,KAAK,MAAM;AACf,SAAK,OAAO,YAAW;AACvB,UAAM,KAAK,OAAO,KAAK,UAAU,EAAE,cAAc,MAAM;AACvD,SAAK,SAAS,KAAK,SAAS,UAAS;AAAA,EACvC;AAAA,EACA,QAAQ,UAAU;AAChB,SAAK,iBAAiB,KAAK,QAAQ;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ;AACN,QAAI,CAAC,KAAK,SAAS;AACjB,WAAK,UAAU;AACf,WAAK,iBAAiB,QAAQ,CAAC,eAAe,WAAU,CAAE;AAAA,IAC5D;AAAA,EACF;AACF;","x_google_ignoreList":[0]}
@@ -2,12 +2,12 @@
2
2
  !(function() {
3
3
  try {
4
4
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
5
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "fa9f901a-6877-47ae-8b74-9692816ee0b0", e._sentryDebugIdIdentifier = "sentry-dbid-fa9f901a-6877-47ae-8b74-9692816ee0b0");
5
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "27e2a8cb-55de-4296-afe4-acd462ad81e8", e._sentryDebugIdIdentifier = "sentry-dbid-27e2a8cb-55de-4296-afe4-acd462ad81e8");
6
6
  } catch (e2) {
7
7
  }
8
8
  })();
9
9
  const isCI = process.env.CI === "true" || process.env.GITHUB_ACTIONS === "true";
10
- const version = "4.11.3";
10
+ const version = "4.11.4";
11
11
  const sentryBaseConfig = {
12
12
  enabled: Boolean("production") && true,
13
13
  environment: isCI ? "github-ci" : "production",
@@ -2,7 +2,7 @@
2
2
  !(function() {
3
3
  try {
4
4
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
5
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "54c052e6-f4b5-479b-97df-bd236d3a08ef", e._sentryDebugIdIdentifier = "sentry-dbid-54c052e6-f4b5-479b-97df-bd236d3a08ef");
5
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "c92c202c-0220-49e7-aab3-b90b03873ae0", e._sentryDebugIdIdentifier = "sentry-dbid-c92c202c-0220-49e7-aab3-b90b03873ae0");
6
6
  } catch (e2) {
7
7
  }
8
8
  })();
@@ -48,7 +48,7 @@ stdout/stderr are captured and sent to Spotlight as log events.`,
48
48
  "spotlight run docker compose up # Run Docker Compose with Spotlight injection"
49
49
  ]
50
50
  };
51
- const SPOTLIGHT_VERSION = "4.11.3";
51
+ const SPOTLIGHT_VERSION = "4.11.4";
52
52
  const LOCALHOST_HOST = "localhost";
53
53
  function detectPackageJson() {
54
54
  try {
@@ -2,7 +2,7 @@
2
2
  !(function() {
3
3
  try {
4
4
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
5
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "86853b6e-7893-4e10-9945-c17abe5092de", e._sentryDebugIdIdentifier = "sentry-dbid-86853b6e-7893-4e10-9945-c17abe5092de");
5
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "0fad6e9d-a132-44ff-a7e1-21e98f1a417a", e._sentryDebugIdIdentifier = "sentry-dbid-0fad6e9d-a132-44ff-a7e1-21e98f1a417a");
6
6
  } catch (e2) {
7
7
  }
8
8
  })();
@@ -126,7 +126,7 @@ async function main({
126
126
  if (debug || process.env.SPOTLIGHT_DEBUG) {
127
127
  enableDebugLogging(true);
128
128
  }
129
- const spotlightVersion = "4.11.3";
129
+ const spotlightVersion = "4.11.4";
130
130
  logger.info(`Spotlight by Sentry - v${spotlightVersion}`);
131
131
  metrics.count("cli.invocation", 1, {
132
132
  attributes: {
@@ -2,7 +2,7 @@
2
2
  !(function() {
3
3
  try {
4
4
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
5
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "1aced7d2-99f3-474c-8a84-68bffe29bc33", e._sentryDebugIdIdentifier = "sentry-dbid-1aced7d2-99f3-474c-8a84-68bffe29bc33");
5
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "4a269ddf-1859-4af2-bc08-3a3d04be1753", e._sentryDebugIdIdentifier = "sentry-dbid-4a269ddf-1859-4af2-bc08-3a3d04be1753");
6
6
  } catch (e2) {
7
7
  }
8
8
  })();
@@ -11,7 +11,7 @@ import { join } from "node:path";
11
11
  import { serve } from "@hono/node-server";
12
12
  import { addEventProcessor, startSpan, getTraceData, captureException } from "@sentry/node";
13
13
  import { Hono } from "hono";
14
- import { cors } from "../node_modules/.pnpm/hono@4.12.8/node_modules/hono/dist/middleware/cors/index.js";
14
+ import { cors } from "../node_modules/.pnpm/hono@4.12.18/node_modules/hono/dist/middleware/cors/index.js";
15
15
  import { DEFAULT_PORT, SERVER_IDENTIFIER } from "./constants.js";
16
16
  import { serveFilesHandler } from "./handlers/fileToServe.js";
17
17
  import { activateLogger, logger } from "./logger.js";