token-usage-dashboard 1.0.11 → 1.0.13

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 (50) hide show
  1. package/build/client/_app/immutable/chunks/CukLSH0w.js +2 -0
  2. package/build/client/_app/immutable/chunks/CukLSH0w.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/CukLSH0w.js.gz +0 -0
  4. package/build/client/_app/immutable/entry/app.Hr-44d0W.js +2 -0
  5. package/build/client/_app/immutable/entry/app.Hr-44d0W.js.br +0 -0
  6. package/build/client/_app/immutable/entry/app.Hr-44d0W.js.gz +0 -0
  7. package/build/client/_app/immutable/entry/start.DGEKXdCU.js +1 -0
  8. package/build/client/_app/immutable/entry/start.DGEKXdCU.js.br +0 -0
  9. package/build/client/_app/immutable/entry/start.DGEKXdCU.js.gz +0 -0
  10. package/build/client/_app/immutable/nodes/{1.bXNtibEg.js → 1.MxgNrYxb.js} +1 -1
  11. package/build/client/_app/immutable/nodes/1.MxgNrYxb.js.br +0 -0
  12. package/build/client/_app/immutable/nodes/1.MxgNrYxb.js.gz +0 -0
  13. package/build/client/_app/immutable/nodes/{2.CX7_mI8s.js → 2.DOLqBxXu.js} +1 -1
  14. package/build/client/_app/immutable/nodes/2.DOLqBxXu.js.br +0 -0
  15. package/build/client/_app/immutable/nodes/2.DOLqBxXu.js.gz +0 -0
  16. package/build/client/_app/version.json +1 -1
  17. package/build/client/_app/version.json.br +0 -0
  18. package/build/client/_app/version.json.gz +0 -0
  19. package/build/handler.js +8 -8
  20. package/build/index.js +8 -8
  21. package/build/server/chunks/chunks/{client.js-Ct2tMSTS.js → client.js-9ZtqvVP6.js} +6 -6
  22. package/build/server/chunks/chunks/{exports.js-D7S4dPRP.js → exports.js-Bbyr-JtB.js} +2 -2
  23. package/build/server/chunks/chunks/{internal.js-CtDPw1co.js → internal.js-WGl35QnN.js} +3 -3
  24. package/build/server/chunks/chunks/{server.js-DxWEh0qK.js → server.js-UOanU7fq.js} +178 -51
  25. package/build/server/chunks/chunks/{shared.js-CAkvBFpL.js → shared.js-Dg3Ewm8t.js} +2 -2
  26. package/build/server/chunks/chunks/{utils.js-U7QVKoQm.js → utils.js-DUDFXVFd.js} +3 -3
  27. package/build/server/chunks/entries/endpoints/api/refresh/{_server.ts.js-DmuUmmD4.js → _server.ts.js-CcG44vTx.js} +4 -4
  28. package/build/server/chunks/entries/endpoints/api/settings/{_server.ts.js-CiGFkz6L.js → _server.ts.js-B0LWCQis.js} +4 -4
  29. package/build/server/chunks/entries/endpoints/api/usage/{_server.ts.js-GScKbdma.js → _server.ts.js-CJGTdjik.js} +4 -4
  30. package/build/server/chunks/entries/fallbacks/{error.svelte.js-DaJCw5i4.js → error.svelte.js-D7UgI0q0.js} +7 -7
  31. package/build/server/chunks/entries/pages/{_page.svelte.js-ZYdmVAtc.js → _page.svelte.js-HFiLlojS.js} +7 -7
  32. package/build/server/chunks/{handler-BHEnEQNm.js → handler-TvIKu86j.js} +5 -5
  33. package/build/server/chunks/{index.js-BnqGrlE5.js → index.js-C3LwYUKO.js} +6 -6
  34. package/build/server/chunks/{manifest.js-56Cs023v.js → manifest.js-CZoz0xLc.js} +7 -7
  35. package/build/server/chunks/nodes/{1.js-DRwcDqvL.js → 1.js-BcW8BjKg.js} +3 -3
  36. package/build/server/chunks/nodes/{2.js-DRpC6msK.js → 2.js-fS9KDy-5.js} +3 -3
  37. package/package.json +1 -1
  38. package/build/client/_app/immutable/chunks/DDewuPNb.js +0 -2
  39. package/build/client/_app/immutable/chunks/DDewuPNb.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/DDewuPNb.js.gz +0 -0
  41. package/build/client/_app/immutable/entry/app.B4iyXCcH.js +0 -2
  42. package/build/client/_app/immutable/entry/app.B4iyXCcH.js.br +0 -0
  43. package/build/client/_app/immutable/entry/app.B4iyXCcH.js.gz +0 -0
  44. package/build/client/_app/immutable/entry/start.EZhL2Yjj.js +0 -1
  45. package/build/client/_app/immutable/entry/start.EZhL2Yjj.js.br +0 -1
  46. package/build/client/_app/immutable/entry/start.EZhL2Yjj.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/1.bXNtibEg.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/1.bXNtibEg.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/2.CX7_mI8s.js.br +0 -0
  50. package/build/client/_app/immutable/nodes/2.CX7_mI8s.js.gz +0 -0
@@ -66,6 +66,11 @@ function get_type(thing) {
66
66
  return Object.prototype.toString.call(thing).slice(8, -1);
67
67
  }
68
68
 
69
+ /** @param {any} thing */
70
+ function is_buffer(thing) {
71
+ return typeof Buffer !== 'undefined' && Buffer.isBuffer(thing);
72
+ }
73
+
69
74
  /** @param {string} char */
70
75
  function get_escaped_char(char) {
71
76
  switch (char) {
@@ -179,6 +184,10 @@ function valid_array_indices(array) {
179
184
  }
180
185
 
181
186
  const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$';
187
+ // Short strings have bounded escaping/output costs per reference, so they cannot
188
+ // cause quadratic expansion. Keep them on the original fast path rather than
189
+ // paying for deduplication on common values such as names, IDs and status fields.
190
+ const MIN_STRING_LENGTH = 128;
182
191
  const unsafe_chars = /[<\b\f\n\r\t\0\u2028\u2029]/g;
183
192
  const reserved =
184
193
  /^(?:do|if|in|for|int|let|new|try|var|byte|case|char|else|enum|goto|long|this|void|with|await|break|catch|class|const|final|float|short|super|throw|while|yield|delete|double|export|import|native|return|switch|throws|typeof|boolean|default|extends|finally|package|private|abstract|continue|debugger|function|volatile|interface|protected|transient|implements|instanceof|synchronized)$/;
@@ -196,6 +205,28 @@ function uneval(value, replacer) {
196
205
 
197
206
  const custom = new Map();
198
207
 
208
+ // Only allocate a literal cache when we need to reuse an expensive primitive,
209
+ // including long Map keys rendered in error paths during the walk.
210
+ /** @type {Map<string | bigint, string> | undefined} */
211
+ let primitives;
212
+
213
+ /** @param {any} thing */
214
+ function stringify_cached_primitive(thing) {
215
+ if (
216
+ (typeof thing === 'string' && thing.length >= MIN_STRING_LENGTH) ||
217
+ typeof thing === 'bigint'
218
+ ) {
219
+ primitives ??= new Map();
220
+ let literal = primitives.get(thing);
221
+ if (literal === undefined) {
222
+ literal = stringify_primitive$1(thing);
223
+ primitives.set(thing, literal);
224
+ }
225
+ return literal;
226
+ }
227
+ return stringify_primitive$1(thing);
228
+ }
229
+
199
230
  /** @param {any} thing */
200
231
  function walk(thing) {
201
232
  if (!is_primitive(thing)) {
@@ -222,9 +253,12 @@ function uneval(value, replacer) {
222
253
  const type = get_type(thing);
223
254
 
224
255
  switch (type) {
225
- case 'Number':
226
256
  case 'BigInt':
227
257
  case 'String':
258
+ walk(thing.valueOf());
259
+ return;
260
+
261
+ case 'Number':
228
262
  case 'Boolean':
229
263
  case 'Date':
230
264
  case 'RegExp':
@@ -233,11 +267,14 @@ function uneval(value, replacer) {
233
267
  return;
234
268
 
235
269
  case 'Array':
236
- /** @type {any[]} */ (thing).forEach((value, i) => {
270
+ // forEach scans the logical length of dictionary-backed sparse
271
+ // arrays. Visit own enumerable indices without doing work for
272
+ // every hole.
273
+ for (const i of valid_array_indices(thing)) {
237
274
  keys.push(`[${i}]`);
238
- walk(value);
275
+ walk(thing[i]);
239
276
  keys.pop();
240
- });
277
+ }
241
278
  break;
242
279
 
243
280
  case 'Set':
@@ -246,7 +283,7 @@ function uneval(value, replacer) {
246
283
 
247
284
  case 'Map':
248
285
  for (const [key, value] of thing) {
249
- keys.push(`.get(${is_primitive(key) ? stringify_primitive$1(key) : '...'})`);
286
+ keys.push(`.get(${is_primitive(key) ? stringify_cached_primitive(key) : '...'})`);
250
287
  walk(key);
251
288
  walk(value);
252
289
  keys.pop();
@@ -266,7 +303,9 @@ function uneval(value, replacer) {
266
303
  case 'BigInt64Array':
267
304
  case 'BigUint64Array':
268
305
  case 'DataView':
269
- walk(thing.buffer);
306
+ // A Node Buffer's backing store may be a shared pool. It must
307
+ // never be visited or hoisted just because a Buffer uses it.
308
+ if (!is_buffer(thing)) walk(thing.buffer);
270
309
  return;
271
310
 
272
311
  case 'ArrayBuffer':
@@ -308,6 +347,11 @@ function uneval(value, replacer) {
308
347
  }
309
348
  } else if (typeof thing === 'symbol') {
310
349
  throw new DevalueError(`Cannot stringify a Symbol primitive`, keys, thing, value);
350
+ } else if (
351
+ (typeof thing === 'string' && thing.length >= MIN_STRING_LENGTH) ||
352
+ typeof thing === 'bigint'
353
+ ) {
354
+ counts.set(thing, (counts.get(thing) || 0) + 1);
311
355
  }
312
356
  }
313
357
 
@@ -315,11 +359,27 @@ function uneval(value, replacer) {
315
359
 
316
360
  const names = new Map();
317
361
 
318
- Array.from(counts)
319
- .filter((entry) => entry[1] > 1)
362
+ /** @type {Array<[any, number]>} */
363
+ const repeated = [];
364
+ // Avoid allocating entries for all the values that will never be hoisted.
365
+ counts.forEach((count, thing) => {
366
+ if (count > 1) repeated.push([thing, count]);
367
+ });
368
+
369
+ repeated
320
370
  .sort((a, b) => b[1] - a[1])
321
- .forEach((entry, i) => {
322
- names.set(entry[0], get_name(i));
371
+ .forEach(([thing, count]) => {
372
+ const name = get_name(names.size);
373
+
374
+ if (is_primitive(thing)) {
375
+ const length = stringify_cached_primitive(thing).length;
376
+ // Hoisting costs one literal, a parameter and a reference per occurrence.
377
+ // Allow for the IIFE wrapper and separators even if one already exists,
378
+ // so inexpensive repetitions stay inline.
379
+ if (length * count <= length + (count + 1) * name.length + 25) return;
380
+ }
381
+
382
+ names.set(thing, name);
323
383
  });
324
384
 
325
385
  /**
@@ -365,10 +425,10 @@ function uneval(value, replacer) {
365
425
 
366
426
  case 'Array': {
367
427
  // For dense arrays (no holes), we iterate normally.
368
- // When we encounter the first hole, we call Object.keys
428
+ // When we encounter the first hole, we collect own indices
369
429
  // to determine the sparseness, then decide between:
370
430
  // - Array literal with holes: [,"a",,] (default)
371
- // - Object.assign: Object.assign(Array(n),{...}) (for very sparse arrays)
431
+ // - Object.assign with a sparse-safe allocator (for very sparse arrays)
372
432
  // Only the Object.assign path avoids iterating every slot, which
373
433
  // is what protects against the DoS of e.g. `arr[1000000] = 1`.
374
434
  let has_holes = false;
@@ -389,10 +449,11 @@ function uneval(value, replacer) {
389
449
  //
390
450
  // Object.assign: populated indices are listed explicitly.
391
451
  // For example, [, "a", ,] would be written as
392
- // Object.assign(Array(3),{1:"a"}). This avoids paying
393
- // per-hole, but has a large fixed overhead for the
394
- // "Object.assign(Array(n),{...})" wrapper, and each
395
- // element costs extra chars for its index and colon.
452
+ // Object.assign(sparse(3),{1:"a"}), where sparse(n) stands
453
+ // for the expression emitted by stringify_sparse_array(n).
454
+ // This avoids paying per-hole, but has a large fixed
455
+ // overhead for the allocator and Object.assign wrapper,
456
+ // and each element costs extra chars for its index and colon.
396
457
  //
397
458
  // The serialized values are the same size either way, so
398
459
  // the choice comes down to the structural overhead:
@@ -403,30 +464,32 @@ function uneval(value, replacer) {
403
464
  // = L + 2
404
465
  //
405
466
  // Object.assign overhead:
406
- // "Object.assign(Array(" — 20 chars
407
- // + length — d chars
408
- // + "),{" — 3 chars
467
+ // "Object.assign(" — 14 chars
468
+ // + allocator expression — A chars
469
+ // + ",{" — 2 chars
409
470
  // + for each populated element:
410
- // index + ":" + "," — (d + 2) chars
411
- // + "})" — 2 chars
412
- // = (25 + d) + P * (d + 2)
471
+ // index + ":" + "," — (d + 2) chars
472
+ // + "})" — 2 chars
473
+ // = (18 + A) + P * (d + 2)
413
474
  //
414
475
  // where L is the array length, P is the number of
415
- // populated elements, and d is the number of digits
416
- // in L (an upper bound on the digits in any index).
476
+ // populated elements, A is the allocator expression's
477
+ // length, and d is the number of digits in L (an upper
478
+ // bound on the digits in any index).
417
479
  //
418
480
  // Object.assign is cheaper when:
419
- // (25 + d) + P * (d + 2) < L + 2
420
- const populated_keys = valid_array_indices(/** @type {any[]} */ (thing));
481
+ // (18 + A) + P * (d + 2) < L + 2
482
+ const populated_keys = valid_array_indices(thing);
421
483
  const population = populated_keys.length;
422
484
  const d = String(thing.length).length;
485
+ const array = stringify_sparse_array(thing.length);
423
486
 
424
487
  const hole_cost = thing.length + 2;
425
- const sparse_cost = 25 + d + population * (d + 2);
488
+ const sparse_cost = array.length + 18 + population * (d + 2);
426
489
 
427
490
  if (hole_cost > sparse_cost) {
428
491
  const entries = populated_keys.map((k) => `${k}:${stringify(thing[k])}`).join(',');
429
- return `Object.assign(Array(${thing.length}),{${entries}})`;
492
+ return `Object.assign(${array},{${entries}})`;
430
493
  }
431
494
 
432
495
  has_holes = true;
@@ -435,7 +498,7 @@ function uneval(value, replacer) {
435
498
  // (the comma separator is all we need — no content for this position)
436
499
  }
437
500
 
438
- const tail = thing.length === 0 || thing.length - 1 in thing ? '' : ',';
501
+ const tail = thing.length === 0 || Object.hasOwn(thing, thing.length - 1) ? '' : ',';
439
502
  return result + tail + ']';
440
503
  }
441
504
 
@@ -455,6 +518,8 @@ function uneval(value, replacer) {
455
518
  case 'Float64Array':
456
519
  case 'BigInt64Array':
457
520
  case 'BigUint64Array': {
521
+ if (is_buffer(thing)) thing = new Uint8Array(thing);
522
+
458
523
  let str = `new ${type}`;
459
524
 
460
525
  if (!names.has(thing.buffer)) {
@@ -545,7 +610,7 @@ function uneval(value, replacer) {
545
610
  }
546
611
 
547
612
  if (is_primitive(thing)) {
548
- values.push(stringify_primitive$1(thing));
613
+ values.push(stringify_cached_primitive(thing));
549
614
  return;
550
615
  }
551
616
 
@@ -555,9 +620,18 @@ function uneval(value, replacer) {
555
620
  case 'Number':
556
621
  case 'String':
557
622
  case 'Boolean':
558
- case 'BigInt':
559
- values.push(`Object(${stringify(thing.valueOf())})`);
623
+ case 'BigInt': {
624
+ const primitive = thing.valueOf();
625
+ if (names.has(primitive)) {
626
+ // A hoisted primitive is only in scope inside the IIFE, not in
627
+ // its arguments. Reconstruct the box before assigning references.
628
+ values.push('{}');
629
+ reconstructions.push(`${name}=Object(${stringify(primitive)})`);
630
+ } else {
631
+ values.push(`Object(${stringify(primitive)})`);
632
+ }
560
633
  break;
634
+ }
561
635
 
562
636
  case 'RegExp':
563
637
  const { source, flags } = thing;
@@ -579,12 +653,20 @@ function uneval(value, replacer) {
579
653
  values.push(`new URLSearchParams(${stringify_string(thing.toString())})`);
580
654
  break;
581
655
 
582
- case 'Array':
583
- values.push(`Array(${thing.length})`);
584
- /** @type {any[]} */ (thing).forEach((v, i) => {
585
- statements.push(`${name}[${i}]=${stringify(v)}`);
586
- });
656
+ case 'Array': {
657
+ const populated_keys = valid_array_indices(thing);
658
+ // Only preallocate when the length is bounded by the number
659
+ // of populated elements, plus a small constant for short arrays.
660
+ values.push(
661
+ thing.length > 32 + 2 * populated_keys.length
662
+ ? stringify_sparse_array(thing.length)
663
+ : `Array(${thing.length})`
664
+ );
665
+ for (const i of populated_keys) {
666
+ statements.push(`${name}[${i}]=${stringify(thing[i])}`);
667
+ }
587
668
  break;
669
+ }
588
670
 
589
671
  case 'Set': {
590
672
  values.push(`new Set`);
@@ -616,6 +698,8 @@ function uneval(value, replacer) {
616
698
  case 'Float64Array':
617
699
  case 'BigInt64Array':
618
700
  case 'BigUint64Array': {
701
+ if (is_buffer(thing)) thing = new Uint8Array(thing);
702
+
619
703
  let str = `new ${type}`;
620
704
 
621
705
  if (!names.has(thing.buffer)) {
@@ -697,6 +781,17 @@ function uneval(value, replacer) {
697
781
  }
698
782
  }
699
783
 
784
+ /**
785
+ * Emit an array whose storage is not proportional to its declared length.
786
+ * As in the default parse operations, touching and deleting the largest valid
787
+ * index forces V8 into dictionary-elements mode before setting the length.
788
+ * Merely starting with [] and assigning .length still eagerly allocates.
789
+ * @param {number} length
790
+ */
791
+ function stringify_sparse_array(length) {
792
+ return `(function(a){a[${MAX_ARRAY_INDEX}]=0;delete a[${MAX_ARRAY_INDEX}];a.length=${length};return a}([]))`;
793
+ }
794
+
700
795
  /**
701
796
  * Serialize the elements of `buffer`, read as `type`, as a comma-separated list.
702
797
  * The view is created from `type` rather than from the serialized value's own
@@ -850,10 +945,10 @@ function merge_operations(defaults, overrides) {
850
945
  }
851
946
 
852
947
  /** @type {{ kind: 'not-plain' }} */
853
- const NOT_PLAIN = Object.freeze({ kind: 'not-plain' });
948
+ const NOT_PLAIN = /* @__PURE__ */ Object.freeze({ kind: 'not-plain' });
854
949
 
855
950
  /** @type {{ kind: 'symbol-keys' }} */
856
- const SYMBOL_KEYS = Object.freeze({ kind: 'symbol-keys' });
951
+ const SYMBOL_KEYS = /* @__PURE__ */ Object.freeze({ kind: 'symbol-keys' });
857
952
 
858
953
  /**
859
954
  * The default implementations of every introspection/extraction operation
@@ -896,13 +991,19 @@ const stringify_operations = {
896
991
 
897
992
  entriesOf: (map) => map,
898
993
 
899
- viewInfo: (view) => ({
900
- buffer: view.buffer,
901
- byteOffset: view.byteOffset,
902
- byteLength: view.byteLength,
903
- length: view.length,
904
- bufferByteLength: view.buffer.byteLength
905
- }),
994
+ viewInfo: (view) => {
995
+ // Node Buffers may share a pool containing unrelated, sensitive data.
996
+ // Copy only the visible bytes, without using Buffer's pooling or slice.
997
+ if (is_buffer(view)) view = new Uint8Array(view);
998
+
999
+ return {
1000
+ buffer: view.buffer,
1001
+ byteOffset: view.byteOffset,
1002
+ byteLength: view.byteLength,
1003
+ length: view.length,
1004
+ bufferByteLength: view.buffer.byteLength
1005
+ };
1006
+ },
906
1007
 
907
1008
  toArrayBuffer: (buffer) => buffer,
908
1009
 
@@ -925,7 +1026,17 @@ const stringify_operations = {
925
1026
  get: (value, key) => value[key]
926
1027
  };
927
1028
 
928
- const default_stringify_operations = Object.freeze(stringify_operations);
1029
+ const default_stringify_operations = /* @__PURE__ */ Object.freeze(stringify_operations);
1030
+
1031
+ const array_buffer_byte_length = Object.getOwnPropertyDescriptor(
1032
+ ArrayBuffer.prototype,
1033
+ 'byteLength'
1034
+ ).get;
1035
+
1036
+ const shared_array_buffer_byte_length =
1037
+ typeof SharedArrayBuffer === 'undefined'
1038
+ ? undefined
1039
+ : Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, 'byteLength').get;
929
1040
 
930
1041
  /**
931
1042
  * The default implementations of every construction operation `parse` and
@@ -961,6 +1072,17 @@ const parse_operations = {
961
1072
  fromRegExpInfo: (source, flags) => new RegExp(source, flags),
962
1073
 
963
1074
  fromViewInfo: (tag, buffer, byteOffset, length) => {
1075
+ // A reviver can replace an ArrayBuffer with a length or array-like value,
1076
+ // which a typed array constructor would use to allocate a new buffer.
1077
+ // The native getters check internal slots, so they work across realms
1078
+ // and cannot be fooled by a forged prototype or Symbol.toStringTag.
1079
+ try {
1080
+ array_buffer_byte_length.call(buffer);
1081
+ } catch (error) {
1082
+ if (!shared_array_buffer_byte_length) throw error;
1083
+ shared_array_buffer_byte_length.call(buffer);
1084
+ }
1085
+
964
1086
  const Constructor = /** @type {any} */ (globalThis)[tag];
965
1087
  return byteOffset !== undefined
966
1088
  ? new Constructor(buffer, byteOffset, length)
@@ -1010,7 +1132,7 @@ const parse_operations = {
1010
1132
  }
1011
1133
  };
1012
1134
 
1013
- const default_parse_operations = Object.freeze(parse_operations);
1135
+ const default_parse_operations = /* @__PURE__ */ Object.freeze(parse_operations);
1014
1136
 
1015
1137
  /**
1016
1138
  * Revive a value serialized with `devalue.stringify`
@@ -1159,11 +1281,16 @@ function unflatten(parsed, revivers, options) {
1159
1281
  const obj = ops.createNullPrototypeObject();
1160
1282
  hydrated[index] = obj;
1161
1283
  for (let i = 1; i < value.length; i += 2) {
1162
- if (value[i] === '__proto__') {
1284
+ const key = value[i];
1285
+ if (typeof key !== 'string') {
1286
+ throw new Error('Cannot parse an object with a non-string key');
1287
+ }
1288
+
1289
+ if (key === '__proto__') {
1163
1290
  throw new Error('Cannot parse an object with a `__proto__` property');
1164
1291
  }
1165
1292
 
1166
- ops.set(obj, value[i], hydrate(value[i + 1]));
1293
+ ops.set(obj, key, hydrate(value[i + 1]));
1167
1294
  }
1168
1295
  break;
1169
1296
 
@@ -5397,4 +5524,4 @@ function derived(fn) {
5397
5524
  }
5398
5525
 
5399
5526
  export { pop$1 as $, queue_micro_task as A, invoke_error_boundary as B, current_batch as C, pause_effect as D, move_effect as E, defer_effect as F, set_component_context as G, HYDRATION_ERROR as H, Batch as I, component_context as J, internal_set as K, LEGACY_PROPS as L, destroy_effect as M, next as N, skip_nodes as O, derived as P, effect_tracking as Q, render_effect as R, svelte_boundary_reset_noop as S, svelte_boundary_reset_onerror as T, source as U, untrack as V, increment as W, hydrate_next as X, push$1 as Y, mark_as_component as Z, hydration_mismatch as _, get_first_child as a, run as a0, noop as a1, hasContext as a2, getContext as a3, getAllContexts as a4, createContext as a5, ssr_context as a6, lifecycle_function_unavailable as a7, EFFECT_TRANSPARENT as a8, EFFECT_PRESERVED as a9, experimental_async_required as aa, get_render_context as ab, uneval as ac, hydratable_serialization_failed as ad, parse as ae, stringify$1 as af, safe_not_equal as ag, escape_html as ah, head as ai, attr_class as aj, attr as ak, ensure_array_like as al, bind_props as am, stringify as an, attr_style as ao, element as ap, get_next_sibling as b, set_hydrating as c, define_property as d, set_hydrate_node as e, flushSync as f, get as g, hydration_failed as h, init_operations as i, clear_text_content as j, component_root as k, hydrate_node as l, mutable_source as m, create_text as n, array_from as o, is_passive_event as p, set_active_reaction as q, render as r, set as s, set_active_effect as t, active_reaction as u, active_effect as v, setContext as w, hydrating as x, block as y, branch as z };
5400
- //# sourceMappingURL=server.js-DxWEh0qK.js.map
5527
+ //# sourceMappingURL=server.js-UOanU7fq.js.map
@@ -1,4 +1,4 @@
1
- import { ae as parse, af as stringify$1 } from './server.js-DxWEh0qK.js';
1
+ import { ae as parse, af as stringify$1 } from './server.js-UOanU7fq.js';
2
2
 
3
3
  /** @import { StandardSchemaV1 } from '@standard-schema/spec' */
4
4
 
@@ -252,4 +252,4 @@ function split_remote_key(key) {
252
252
  }
253
253
 
254
254
  export { ActionFailure as A, HttpError as H, INVALIDATED_PARAM as I, Redirect as R, SvelteKitError as S, TRAILING_SLASH_PARAM as T, get_message as a, get_relative_path as b, coalesce_to_error as c, normalize_error as d, create_remote_key as e, split_remote_key as f, get_status as g, base64_encode as h, noop as n, once as o, parse_remote_arg as p, stringify as s, text_encoder as t };
255
- //# sourceMappingURL=shared.js-CAkvBFpL.js.map
255
+ //# sourceMappingURL=shared.js-Dg3Ewm8t.js.map
@@ -1,5 +1,5 @@
1
- import { R as Redirect, H as HttpError, c as coalesce_to_error, g as get_status, a as get_message, n as noop, S as SvelteKitError } from './shared.js-CAkvBFpL.js';
2
- import { ac as uneval, ae as parse } from './server.js-DxWEh0qK.js';
1
+ import { R as Redirect, H as HttpError, c as coalesce_to_error, g as get_status, a as get_message, n as noop, S as SvelteKitError } from './shared.js-Dg3Ewm8t.js';
2
+ import { ac as uneval, ae as parse } from './server.js-UOanU7fq.js';
3
3
 
4
4
  var defaultParseOptions = {
5
5
  decodeValues: true,
@@ -1046,4 +1046,4 @@ function create_replacer(transport) {
1046
1046
  }
1047
1047
 
1048
1048
  export { ENDPOINT_METHODS as E, PAGE_METHODS as P, handle_fatal_error as a, method_not_allowed as b, handle_error_and_jsonify as c, get_global_name as d, create_replacer as e, format_server_error as f, get_set_cookies as g, has_prerendered_path as h, is_form_content_type as i, json as j, serialize_uses as k, clarify_devalue_error as l, merge_tracing as m, negotiate as n, get_node_type as o, parseString as p, isRedirect as q, redirect_response as r, static_error_page as s, text as t, escape_html as u, error as v, with_request_store as w, deserialize_binary_form as x, splitCookiesString as y };
1049
- //# sourceMappingURL=utils.js-U7QVKoQm.js.map
1049
+ //# sourceMappingURL=utils.js-DUDFXVFd.js.map
@@ -1,15 +1,15 @@
1
1
  import { u as usage } from '../../../../chunks/queries.js-BEdRnpMa.js';
2
2
  import { r as refresh } from '../../../../chunks/refresh.js-0W7-GwaH.js';
3
3
  import { f as filtersFrom } from '../../../../chunks/request.js-BF7n7fZo.js';
4
- import { j as json } from '../../../../chunks/utils.js-U7QVKoQm.js';
4
+ import { j as json } from '../../../../chunks/utils.js-DUDFXVFd.js';
5
5
  import '../../../../chunks/range.js-CiCoLGqh.js';
6
6
  import 'node:fs/promises';
7
7
  import 'node:path';
8
8
  import 'node:sqlite';
9
9
  import 'node:fs';
10
10
  import 'node:os';
11
- import '../../../../chunks/shared.js-CAkvBFpL.js';
12
- import '../../../../chunks/server.js-DxWEh0qK.js';
11
+ import '../../../../chunks/shared.js-Dg3Ewm8t.js';
12
+ import '../../../../chunks/server.js-UOanU7fq.js';
13
13
 
14
14
  //#region src/routes/api/refresh/+server.ts
15
15
  var POST = async ({ url }) => {
@@ -18,4 +18,4 @@ var POST = async ({ url }) => {
18
18
  };
19
19
 
20
20
  export { POST };
21
- //# sourceMappingURL=_server.ts.js-DmuUmmD4.js.map
21
+ //# sourceMappingURL=_server.ts.js-CcG44vTx.js.map
@@ -1,14 +1,14 @@
1
1
  import { s as settings, f as saveSettings, g as clearUsageMemo } from '../../../../chunks/queries.js-BEdRnpMa.js';
2
2
  import { r as refresh } from '../../../../chunks/refresh.js-0W7-GwaH.js';
3
- import { j as json } from '../../../../chunks/utils.js-U7QVKoQm.js';
3
+ import { j as json } from '../../../../chunks/utils.js-DUDFXVFd.js';
4
4
  import '../../../../chunks/range.js-CiCoLGqh.js';
5
5
  import 'node:fs/promises';
6
6
  import 'node:path';
7
7
  import 'node:sqlite';
8
8
  import 'node:fs';
9
9
  import 'node:os';
10
- import '../../../../chunks/shared.js-CAkvBFpL.js';
11
- import '../../../../chunks/server.js-DxWEh0qK.js';
10
+ import '../../../../chunks/shared.js-Dg3Ewm8t.js';
11
+ import '../../../../chunks/server.js-UOanU7fq.js';
12
12
 
13
13
  //#region src/routes/api/settings/+server.ts
14
14
  var GET = () => json(settings());
@@ -21,4 +21,4 @@ var POST = async ({ request }) => {
21
21
  };
22
22
 
23
23
  export { GET, POST };
24
- //# sourceMappingURL=_server.ts.js-CiGFkz6L.js.map
24
+ //# sourceMappingURL=_server.ts.js-B0LWCQis.js.map
@@ -1,17 +1,17 @@
1
1
  import { u as usage } from '../../../../chunks/queries.js-BEdRnpMa.js';
2
2
  import { f as filtersFrom } from '../../../../chunks/request.js-BF7n7fZo.js';
3
- import { j as json } from '../../../../chunks/utils.js-U7QVKoQm.js';
3
+ import { j as json } from '../../../../chunks/utils.js-DUDFXVFd.js';
4
4
  import '../../../../chunks/range.js-CiCoLGqh.js';
5
5
  import 'node:fs/promises';
6
6
  import 'node:path';
7
7
  import 'node:sqlite';
8
8
  import 'node:fs';
9
9
  import 'node:os';
10
- import '../../../../chunks/shared.js-CAkvBFpL.js';
11
- import '../../../../chunks/server.js-DxWEh0qK.js';
10
+ import '../../../../chunks/shared.js-Dg3Ewm8t.js';
11
+ import '../../../../chunks/server.js-UOanU7fq.js';
12
12
 
13
13
  //#region src/routes/api/usage/+server.ts
14
14
  var GET = ({ url }) => json(usage(filtersFrom(url)));
15
15
 
16
16
  export { GET };
17
- //# sourceMappingURL=_server.ts.js-GScKbdma.js.map
17
+ //# sourceMappingURL=_server.ts.js-CJGTdjik.js.map
@@ -1,9 +1,9 @@
1
- import '../../chunks/internal.js-CtDPw1co.js';
2
- import { ah as escape_html, a3 as getContext } from '../../chunks/server.js-DxWEh0qK.js';
3
- import '../../chunks/client.js-Ct2tMSTS.js';
4
- import '../../chunks/shared.js-CAkvBFpL.js';
5
- import '../../chunks/exports.js-D7S4dPRP.js';
6
- import '../../chunks/utils.js-U7QVKoQm.js';
1
+ import '../../chunks/internal.js-WGl35QnN.js';
2
+ import { ah as escape_html, a3 as getContext } from '../../chunks/server.js-UOanU7fq.js';
3
+ import '../../chunks/client.js-9ZtqvVP6.js';
4
+ import '../../chunks/shared.js-Dg3Ewm8t.js';
5
+ import '../../chunks/exports.js-Bbyr-JtB.js';
6
+ import '../../chunks/utils.js-DUDFXVFd.js';
7
7
 
8
8
  //#endregion
9
9
  //#region node_modules/@sveltejs/kit/src/runtime/app/state/server.js
@@ -65,4 +65,4 @@ function Error$1($$renderer, $$props) {
65
65
  }
66
66
 
67
67
  export { Error$1 as default };
68
- //# sourceMappingURL=error.svelte.js-DaJCw5i4.js.map
68
+ //# sourceMappingURL=error.svelte.js-D7UgI0q0.js.map
@@ -1,10 +1,10 @@
1
- import '../../chunks/internal.js-CtDPw1co.js';
2
- import { a0 as run, ai as head, aj as attr_class, ah as escape_html, ak as attr, al as ensure_array_like, am as bind_props, an as stringify, P as derived, ao as attr_style, ap as element } from '../../chunks/server.js-DxWEh0qK.js';
1
+ import '../../chunks/internal.js-WGl35QnN.js';
2
+ import { a0 as run, ai as head, aj as attr_class, ah as escape_html, ak as attr, al as ensure_array_like, am as bind_props, an as stringify, P as derived, ao as attr_style, ap as element } from '../../chunks/server.js-UOanU7fq.js';
3
3
  import { R as RANGES, a as rangeLabel, b as RATES, T as THEMES } from '../../chunks/range.js-CiCoLGqh.js';
4
- import '../../chunks/client.js-Ct2tMSTS.js';
5
- import '../../chunks/shared.js-CAkvBFpL.js';
6
- import '../../chunks/exports.js-D7S4dPRP.js';
7
- import '../../chunks/utils.js-U7QVKoQm.js';
4
+ import '../../chunks/client.js-9ZtqvVP6.js';
5
+ import '../../chunks/shared.js-Dg3Ewm8t.js';
6
+ import '../../chunks/exports.js-Bbyr-JtB.js';
7
+ import '../../chunks/utils.js-DUDFXVFd.js';
8
8
 
9
9
  //#region src/lib/components/Panel.svelte
10
10
  function Panel($$renderer, $$props) {
@@ -1399,4 +1399,4 @@ function _page($$renderer, $$props) {
1399
1399
  }
1400
1400
 
1401
1401
  export { _page as default };
1402
- //# sourceMappingURL=_page.svelte.js-ZYdmVAtc.js.map
1402
+ //# sourceMappingURL=_page.svelte.js-HFiLlojS.js.map
@@ -7,10 +7,10 @@ import http from 'node:http';
7
7
  import { setImmediate } from 'node:timers';
8
8
  import * as qs from 'node:querystring';
9
9
  import { Readable } from 'node:stream';
10
- import { S as SvelteKitError } from './chunks/shared.js-CAkvBFpL.js';
11
- import { y as splitCookiesString } from './chunks/utils.js-U7QVKoQm.js';
12
- import { S as Server } from './index.js-BnqGrlE5.js';
13
- import { m as manifest } from './manifest.js-56Cs023v.js';
10
+ import { S as SvelteKitError } from './chunks/shared.js-Dg3Ewm8t.js';
11
+ import { y as splitCookiesString } from './chunks/utils.js-DUDFXVFd.js';
12
+ import { S as Server } from './index.js-C3LwYUKO.js';
13
+ import { m as manifest } from './manifest.js-CZoz0xLc.js';
14
14
  import { env, dir, env_prefix } from '../../env.js';
15
15
  import { format } from 'node:url';
16
16
 
@@ -1472,4 +1472,4 @@ const handler = sequence(
1472
1472
  );
1473
1473
 
1474
1474
  export { format_listening_address as f, handler as h, polka as p };
1475
- //# sourceMappingURL=handler-BHEnEQNm.js.map
1475
+ //# sourceMappingURL=handler-TvIKu86j.js.map
@@ -1,9 +1,9 @@
1
- import { o as options, s as set_private_env, a as set_public_env, g as get_hooks, p as public_env, r as read_implementation, b as set_read_implementation } from './chunks/internal.js-CtDPw1co.js';
2
- import { n as noop, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, R as Redirect, b as get_relative_path, S as SvelteKitError, g as get_status, t as text_encoder, o as once, H as HttpError, d as normalize_error, e as create_remote_key, p as parse_remote_arg, s as stringify, A as ActionFailure, f as split_remote_key, h as base64_encode } from './chunks/shared.js-CAkvBFpL.js';
1
+ import { o as options, s as set_private_env, a as set_public_env, g as get_hooks, p as public_env, r as read_implementation, b as set_read_implementation } from './chunks/internal.js-WGl35QnN.js';
2
+ import { n as noop, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, R as Redirect, b as get_relative_path, S as SvelteKitError, g as get_status, t as text_encoder, o as once, H as HttpError, d as normalize_error, e as create_remote_key, p as parse_remote_arg, s as stringify, A as ActionFailure, f as split_remote_key, h as base64_encode } from './chunks/shared.js-Dg3Ewm8t.js';
3
3
  import { b as base, o as override, a as assets, r as reset, c as app_dir } from './chunks/internal2.js-BlXt2rfE.js';
4
- import { f as format_server_error, j as json, i as is_form_content_type, t as text, h as has_prerendered_path, a as handle_fatal_error, r as redirect_response, g as get_set_cookies, n as negotiate, w as with_request_store, p as parseString, m as merge_tracing, b as method_not_allowed, s as static_error_page, c as handle_error_and_jsonify, d as get_global_name, e as create_replacer, k as serialize_uses, l as clarify_devalue_error, E as ENDPOINT_METHODS, P as PAGE_METHODS, o as get_node_type, q as isRedirect, u as escape_html, v as error, x as deserialize_binary_form } from './chunks/utils.js-U7QVKoQm.js';
5
- import { d as decode_pathname, f as find_route, n as normalize_path, a as disable_search, v as validate_layout_server_exports, b as validate_layout_exports, c as validate_page_server_exports, e as validate_page_exports, r as resolve, h as hash, m as make_trackable, w as writable, g as readable } from './chunks/exports.js-D7S4dPRP.js';
6
- import { ac as uneval, af as stringify$1 } from './chunks/server.js-DxWEh0qK.js';
4
+ import { f as format_server_error, j as json, i as is_form_content_type, t as text, h as has_prerendered_path, a as handle_fatal_error, r as redirect_response, g as get_set_cookies, n as negotiate, w as with_request_store, p as parseString, m as merge_tracing, b as method_not_allowed, s as static_error_page, c as handle_error_and_jsonify, d as get_global_name, e as create_replacer, k as serialize_uses, l as clarify_devalue_error, E as ENDPOINT_METHODS, P as PAGE_METHODS, o as get_node_type, q as isRedirect, u as escape_html, v as error, x as deserialize_binary_form } from './chunks/utils.js-DUDFXVFd.js';
5
+ import { d as decode_pathname, f as find_route, n as normalize_path, a as disable_search, v as validate_layout_server_exports, b as validate_layout_exports, c as validate_page_server_exports, e as validate_page_exports, r as resolve, h as hash, m as make_trackable, w as writable, g as readable } from './chunks/exports.js-Bbyr-JtB.js';
6
+ import { ac as uneval, af as stringify$1 } from './chunks/server.js-UOanU7fq.js';
7
7
 
8
8
  var cookie = {};
9
9
 
@@ -3969,4 +3969,4 @@ var Server = class {
3969
3969
  };
3970
3970
 
3971
3971
  export { Server as S };
3972
- //# sourceMappingURL=index.js-BnqGrlE5.js.map
3972
+ //# sourceMappingURL=index.js-C3LwYUKO.js.map