sunpeak 0.18.7 → 0.18.12

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 (76) hide show
  1. package/README.md +12 -0
  2. package/bin/commands/dev.mjs +3 -3
  3. package/bin/commands/inspect.mjs +4 -1
  4. package/bin/lib/sandbox-server.mjs +31 -1
  5. package/dist/chatgpt/index.cjs +1 -2
  6. package/dist/chatgpt/index.js +1 -2
  7. package/dist/claude/index.cjs +1 -2
  8. package/dist/claude/index.js +1 -2
  9. package/dist/host/chatgpt/index.cjs +1 -2
  10. package/dist/host/chatgpt/index.cjs.map +1 -1
  11. package/dist/host/chatgpt/index.js +1 -2
  12. package/dist/host/chatgpt/index.js.map +1 -1
  13. package/dist/index.cjs +93 -93
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.js +54 -54
  16. package/dist/index.js.map +1 -1
  17. package/dist/inspector/hosts.d.ts +12 -0
  18. package/dist/inspector/index.cjs +1 -2
  19. package/dist/inspector/index.js +1 -2
  20. package/dist/{inspector-CKc58UuI.cjs → inspector-8nPV2A-z.cjs} +104 -54
  21. package/dist/inspector-8nPV2A-z.cjs.map +1 -0
  22. package/dist/{inspector-DZrN0kej.js → inspector-Cdo5BK2D.js} +103 -53
  23. package/dist/inspector-Cdo5BK2D.js.map +1 -0
  24. package/dist/mcp/index.cjs +85 -71
  25. package/dist/mcp/index.cjs.map +1 -1
  26. package/dist/mcp/index.js +79 -65
  27. package/dist/mcp/index.js.map +1 -1
  28. package/dist/{protocol-DJmRaBzO.js → protocol-BfAACnv0.js} +14 -9
  29. package/dist/{protocol-DJmRaBzO.js.map → protocol-BfAACnv0.js.map} +1 -1
  30. package/dist/{protocol-jbxhzcnS.cjs → protocol-C7kTcBr_.cjs} +14 -9
  31. package/dist/{protocol-jbxhzcnS.cjs.map → protocol-C7kTcBr_.cjs.map} +1 -1
  32. package/dist/style.css +36 -1
  33. package/dist/{use-app-BNbz1uzj.js → use-app-CfP9VypY.js} +107 -56
  34. package/dist/use-app-CfP9VypY.js.map +1 -0
  35. package/dist/{use-app-Dqh20JPP.cjs → use-app-CzcYw1Kz.cjs} +165 -114
  36. package/dist/use-app-CzcYw1Kz.cjs.map +1 -0
  37. package/package.json +7 -7
  38. package/template/README.md +12 -0
  39. package/template/dist/albums/albums.html +16 -15
  40. package/template/dist/albums/albums.json +1 -1
  41. package/template/dist/carousel/carousel.html +20 -19
  42. package/template/dist/carousel/carousel.json +1 -1
  43. package/template/dist/map/map.html +7 -6
  44. package/template/dist/map/map.json +1 -1
  45. package/template/dist/review/review.html +6 -5
  46. package/template/dist/review/review.json +1 -1
  47. package/template/node_modules/.bin/vite +2 -2
  48. package/template/node_modules/.bin/vitest +2 -2
  49. package/template/node_modules/.vite/deps/_metadata.json +4 -4
  50. package/template/node_modules/.vite-mcp/deps/@modelcontextprotocol_ext-apps.js +49 -49
  51. package/template/node_modules/.vite-mcp/deps/@modelcontextprotocol_ext-apps.js.map +1 -1
  52. package/template/node_modules/.vite-mcp/deps/@modelcontextprotocol_ext-apps_app-bridge.js +49 -49
  53. package/template/node_modules/.vite-mcp/deps/@modelcontextprotocol_ext-apps_app-bridge.js.map +1 -1
  54. package/template/node_modules/.vite-mcp/deps/@modelcontextprotocol_ext-apps_react.js +89 -89
  55. package/template/node_modules/.vite-mcp/deps/@modelcontextprotocol_ext-apps_react.js.map +1 -1
  56. package/template/node_modules/.vite-mcp/deps/@testing-library_react.js +9 -6
  57. package/template/node_modules/.vite-mcp/deps/@testing-library_react.js.map +1 -1
  58. package/template/node_modules/.vite-mcp/deps/_metadata.json +26 -26
  59. package/template/node_modules/.vite-mcp/deps/{protocol-CTflwIfG.js → protocol-B_qKkui_.js} +14 -9
  60. package/template/node_modules/.vite-mcp/deps/protocol-B_qKkui_.js.map +1 -0
  61. package/template/node_modules/.vite-mcp/deps/vitest.js +366 -128
  62. package/template/node_modules/.vite-mcp/deps/vitest.js.map +1 -1
  63. package/template/package.json +2 -2
  64. package/template/src/resources/carousel/carousel.test.tsx +16 -2
  65. package/template/src/resources/carousel/carousel.tsx +42 -14
  66. package/template/src/resources/carousel/components/carousel.tsx +20 -0
  67. package/template/src/resources/carousel/components/index.ts +1 -0
  68. package/template/src/resources/carousel/components/place-detail.tsx +153 -0
  69. package/template/tests/e2e/carousel.spec.ts +125 -0
  70. package/template/tests/live/carousel.spec.ts +2 -2
  71. package/template/tests/simulations/show-carousel.json +54 -5
  72. package/dist/inspector-CKc58UuI.cjs.map +0 -1
  73. package/dist/inspector-DZrN0kej.js.map +0 -1
  74. package/dist/use-app-BNbz1uzj.js.map +0 -1
  75. package/dist/use-app-Dqh20JPP.cjs.map +0 -1
  76. package/template/node_modules/.vite-mcp/deps/protocol-CTflwIfG.js.map +0 -1
@@ -82,7 +82,7 @@ function C({ force: e } = {}) {
82
82
  }
83
83
  var y = C();
84
84
  //#endregion
85
- //#region ../../../node_modules/.pnpm/@vitest+pretty-format@4.1.0/node_modules/@vitest/pretty-format/dist/index.js
85
+ //#region ../../../node_modules/.pnpm/@vitest+pretty-format@4.1.2/node_modules/@vitest/pretty-format/dist/index.js
86
86
  function _mergeNamespaces(n, m) {
87
87
  m.forEach(function(e) {
88
88
  e && typeof e !== "string" && !Array.isArray(e) && Object.keys(e).forEach(function(k) {
@@ -845,11 +845,18 @@ function findPlugin(plugins, val) {
845
845
  return null;
846
846
  }
847
847
  function printer(val, config, indentation, depth, refs, hasCalledToJSON) {
848
+ let result;
848
849
  const plugin = findPlugin(config.plugins, val);
849
- if (plugin !== null) return printPlugin(plugin, val, config, indentation, depth, refs);
850
- const basicResult = printBasicValue(val, config.printFunctionName, config.escapeRegex, config.escapeString);
851
- if (basicResult !== null) return basicResult;
852
- return printComplexValue(val, config, indentation, depth, refs, hasCalledToJSON);
850
+ if (plugin !== null) result = printPlugin(plugin, val, config, indentation, depth, refs);
851
+ else {
852
+ const basicResult = printBasicValue(val, config.printFunctionName, config.escapeRegex, config.escapeString);
853
+ if (basicResult !== null) result = basicResult;
854
+ else result = printComplexValue(val, config, indentation, depth, refs, hasCalledToJSON);
855
+ }
856
+ config._outputLengthPerDepth[depth] ??= 0;
857
+ config._outputLengthPerDepth[depth] += result.length;
858
+ if (config._outputLengthPerDepth[depth] > config.maxOutputLength) config.maxDepth = 0;
859
+ return result;
853
860
  }
854
861
  var DEFAULT_THEME = {
855
862
  comment: "gray",
@@ -867,6 +874,7 @@ var DEFAULT_OPTIONS = {
867
874
  highlight: false,
868
875
  indent: 2,
869
876
  maxDepth: Number.POSITIVE_INFINITY,
877
+ maxOutputLength: 1e6,
870
878
  maxWidth: Number.POSITIVE_INFINITY,
871
879
  min: false,
872
880
  plugins: [],
@@ -922,7 +930,9 @@ function getConfig(options) {
922
930
  printFunctionName: getPrintFunctionName(options),
923
931
  printShadowRoot: options?.printShadowRoot ?? true,
924
932
  spacingInner: options?.min ? " " : "\n",
925
- spacingOuter: options?.min ? "" : "\n"
933
+ spacingOuter: options?.min ? "" : "\n",
934
+ maxOutputLength: options?.maxOutputLength ?? DEFAULT_OPTIONS.maxOutputLength,
935
+ _outputLengthPerDepth: []
926
936
  };
927
937
  }
928
938
  function createIndent(indent) {
@@ -955,7 +965,7 @@ var plugins = {
955
965
  Error: ErrorPlugin
956
966
  };
957
967
  //#endregion
958
- //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.0/node_modules/@vitest/utils/dist/display.js
968
+ //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.2/node_modules/@vitest/utils/dist/display.js
959
969
  var ansiColors$1 = {
960
970
  bold: ["1", "22"],
961
971
  dim: ["2", "22"],
@@ -1509,7 +1519,7 @@ function objDisplay$1(obj, options = {}) {
1509
1519
  return str;
1510
1520
  }
1511
1521
  //#endregion
1512
- //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.0/node_modules/@vitest/utils/dist/helpers.js
1522
+ //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.2/node_modules/@vitest/utils/dist/helpers.js
1513
1523
  /**
1514
1524
  * Get original stacktrace without source map support the most performant way.
1515
1525
  * - Create only 1 stack frame.
@@ -2985,7 +2995,7 @@ function getCommonAndChangedSubstrings(diffs, op, hasCommonDiff) {
2985
2995
  return diffs.reduce((reduced, diff) => reduced + (diff[0] === 0 ? diff[1] : diff[0] === op ? hasCommonDiff ? y.inverse(diff[1]) : diff[1] : ""), "");
2986
2996
  }
2987
2997
  //#endregion
2988
- //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.0/node_modules/@vitest/utils/dist/serialize.js
2998
+ //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.2/node_modules/@vitest/utils/dist/serialize.js
2989
2999
  var IS_RECORD_SYMBOL$1 = "@@__IMMUTABLE_RECORD__@@";
2990
3000
  var IS_COLLECTION_SYMBOL = "@@__IMMUTABLE_ITERABLE__@@";
2991
3001
  function isImmutable(v) {
@@ -3059,7 +3069,7 @@ function normalizeErrorMessage(message) {
3059
3069
  return message.replace(/\(0\s?,\s?__vite_ssr_import_\d+__.(\w+)\)/g, "$1").replace(/__(vite_ssr_import|vi_import)_\d+__\./g, "").replace(/getByTestId('__vitest_\d+__')/g, "page");
3060
3070
  }
3061
3071
  //#endregion
3062
- //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.0/node_modules/@vitest/utils/dist/error.js
3072
+ //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.2/node_modules/@vitest/utils/dist/error.js
3063
3073
  function processError(_err, diffOptions, seen = /* @__PURE__ */ new WeakSet()) {
3064
3074
  if (!_err || typeof _err !== "object") return { message: String(_err) };
3065
3075
  const err = _err;
@@ -3082,7 +3092,7 @@ function processError(_err, diffOptions, seen = /* @__PURE__ */ new WeakSet()) {
3082
3092
  }
3083
3093
  }
3084
3094
  //#endregion
3085
- //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.0/node_modules/@vitest/utils/dist/timers.js
3095
+ //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.2/node_modules/@vitest/utils/dist/timers.js
3086
3096
  var SAFE_TIMERS_SYMBOL = Symbol("vitest:SAFE_TIMERS");
3087
3097
  function getSafeTimers() {
3088
3098
  const { setTimeout: safeSetTimeout, setInterval: safeSetInterval, clearInterval: safeClearInterval, clearTimeout: safeClearTimeout, setImmediate: safeSetImmediate, clearImmediate: safeClearImmediate, queueMicrotask: safeQueueMicrotask } = globalThis[SAFE_TIMERS_SYMBOL] || globalThis;
@@ -3116,7 +3126,7 @@ function delay(timeout, scheduler = setTimeout) {
3116
3126
  return new Promise((resolve) => scheduler(resolve, timeout));
3117
3127
  }
3118
3128
  //#endregion
3119
- //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.0/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js
3129
+ //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.2/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js
3120
3130
  var _DRIVE_LETTER_START_RE$2 = /^[A-Za-z]:\//;
3121
3131
  function normalizeWindowsPath$2(input = "") {
3122
3132
  if (!input) return input;
@@ -3195,7 +3205,7 @@ var isAbsolute$2 = function(p) {
3195
3205
  return _IS_ABSOLUTE_RE$2.test(p);
3196
3206
  };
3197
3207
  //#endregion
3198
- //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.0/node_modules/@vitest/utils/dist/source-map.js
3208
+ //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.2/node_modules/@vitest/utils/dist/source-map.js
3199
3209
  var comma$1 = ",".charCodeAt(0);
3200
3210
  var chars$1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
3201
3211
  var intToChar$1 = new Uint8Array(64);
@@ -3669,93 +3679,7 @@ var dirname$1 = function(p) {
3669
3679
  };
3670
3680
  globalThis.process?.platform;
3671
3681
  //#endregion
3672
- //#region ../../../node_modules/.pnpm/@vitest+runner@4.1.0/node_modules/@vitest/runner/dist/chunk-tasks.js
3673
- var kChainableContext = Symbol("kChainableContext");
3674
- function getChainableContext(chainable) {
3675
- return chainable?.[kChainableContext];
3676
- }
3677
- function createChainable(keys, fn, context) {
3678
- function create(context) {
3679
- const chain = function(...args) {
3680
- return fn.apply(context, args);
3681
- };
3682
- Object.assign(chain, fn);
3683
- Object.defineProperty(chain, kChainableContext, {
3684
- value: {
3685
- withContext: () => chain.bind(context),
3686
- getFixtures: () => context.fixtures,
3687
- setContext: (key, value) => {
3688
- context[key] = value;
3689
- },
3690
- mergeContext: (ctx) => {
3691
- Object.assign(context, ctx);
3692
- }
3693
- },
3694
- enumerable: false
3695
- });
3696
- for (const key of keys) Object.defineProperty(chain, key, { get() {
3697
- return create({
3698
- ...context,
3699
- [key]: true
3700
- });
3701
- } });
3702
- return chain;
3703
- }
3704
- const chain = create(context ?? {});
3705
- Object.defineProperty(chain, "fn", {
3706
- value: fn,
3707
- enumerable: false
3708
- });
3709
- return chain;
3710
- }
3711
- function findTestFileStackTrace(testFilePath, error) {
3712
- const lines = error.split("\n").slice(1);
3713
- for (const line of lines) {
3714
- const stack = parseSingleStack(line);
3715
- if (stack && stack.file === testFilePath) return stack;
3716
- }
3717
- }
3718
- function validateTags(config, tags) {
3719
- if (!config.strictTags) return;
3720
- const availableTags = new Set(config.tags.map((tag) => tag.name));
3721
- for (const tag of tags) if (!availableTags.has(tag)) throw createNoTagsError(config.tags, tag);
3722
- }
3723
- function createNoTagsError(availableTags, tag, prefix = "tag") {
3724
- if (!availableTags.length) throw new Error(`The Vitest config does't define any "tags", cannot apply "${tag}" ${prefix} for this test. See: https://vitest.dev/guide/test-tags`);
3725
- throw new Error(`The ${prefix} "${tag}" is not defined in the configuration. Available tags are:\n${availableTags.map((t) => `- ${t.name}${t.description ? `: ${t.description}` : ""}`).join("\n")}`);
3726
- }
3727
- function isTestCase(s) {
3728
- return s.type === "test";
3729
- }
3730
- function getTests(suite) {
3731
- const tests = [];
3732
- const arraySuites = toArray(suite);
3733
- for (const s of arraySuites) if (isTestCase(s)) tests.push(s);
3734
- else for (const task of s.tasks) if (isTestCase(task)) tests.push(task);
3735
- else {
3736
- const taskTests = getTests(task);
3737
- for (const test of taskTests) tests.push(test);
3738
- }
3739
- return tests;
3740
- }
3741
- function getNames(task) {
3742
- const names = [task.name];
3743
- let current = task;
3744
- while (current?.suite) {
3745
- current = current.suite;
3746
- if (current?.name) names.unshift(current.name);
3747
- }
3748
- if (current !== task.file) names.unshift(task.file.name);
3749
- return names;
3750
- }
3751
- function getTestName(task, separator = " > ") {
3752
- return getNames(task).slice(1).join(separator);
3753
- }
3754
- function createTaskName(names, separator = " > ") {
3755
- return names.filter((name) => name !== void 0).join(separator);
3756
- }
3757
- //#endregion
3758
- //#region ../../../node_modules/.pnpm/@vitest+runner@4.1.0/node_modules/@vitest/runner/dist/index.js
3682
+ //#region ../../../node_modules/.pnpm/@vitest+runner@4.1.2/node_modules/@vitest/runner/dist/chunk-artifact.js
3759
3683
  var PendingError = class extends Error {
3760
3684
  code = "VITEST_PENDING";
3761
3685
  taskId;
@@ -3796,6 +3720,7 @@ function setHooks(key, hooks) {
3796
3720
  function getHooks(key) {
3797
3721
  return hooksMap.get(key);
3798
3722
  }
3723
+ var FIXTURE_STACK_TRACE_KEY = Symbol.for("VITEST_FIXTURE_STACK_TRACE");
3799
3724
  var TestFixtures = class TestFixtures {
3800
3725
  _suiteContexts;
3801
3726
  _overrides = /* @__PURE__ */ new WeakMap();
@@ -3829,6 +3754,9 @@ var TestFixtures = class TestFixtures {
3829
3754
  static getFileContexts(file) {
3830
3755
  return TestFixtures._definitions.map((f) => f.getFileContext(file));
3831
3756
  }
3757
+ static isFixtureOptions(obj) {
3758
+ return isObject(obj) && Object.keys(obj).some((key) => TestFixtures._fixtureOptionKeys.includes(key));
3759
+ }
3832
3760
  constructor(registrations) {
3833
3761
  this._registrations = registrations ?? /* @__PURE__ */ new Map();
3834
3762
  this._suiteContexts = /* @__PURE__ */ new WeakMap();
@@ -3872,7 +3800,7 @@ var TestFixtures = class TestFixtures {
3872
3800
  let options;
3873
3801
  let value;
3874
3802
  let _options;
3875
- if (Array.isArray(fn) && fn.length >= 2 && isObject(fn[1]) && Object.keys(fn[1]).some((key) => TestFixtures._fixtureOptionKeys.includes(key))) {
3803
+ if (Array.isArray(fn) && fn.length >= 2 && TestFixtures.isFixtureOptions(fn[1])) {
3876
3804
  _options = fn[1];
3877
3805
  options = {
3878
3806
  auto: _options.auto ?? false,
@@ -3907,6 +3835,7 @@ var TestFixtures = class TestFixtures {
3907
3835
  deps,
3908
3836
  parent
3909
3837
  };
3838
+ if (isFixtureFunction(value)) Object.assign(value, { [FIXTURE_STACK_TRACE_KEY]: /* @__PURE__ */ new Error("STACK_TRACE_ERROR") });
3910
3839
  registrations.set(name, item);
3911
3840
  if (item.scope === "worker" && (runner.pool === "vmThreads" || runner.pool === "vmForks")) item.scope = "file";
3912
3841
  });
@@ -3989,7 +3918,7 @@ function isFixtureFunction(value) {
3989
3918
  }
3990
3919
  function resolveTestFixtureValue(fixture, context, cleanupFnArray) {
3991
3920
  if (!isFixtureFunction(fixture.value)) return fixture.value;
3992
- return resolveFixtureFunction(fixture.value, context, cleanupFnArray);
3921
+ return resolveFixtureFunction(fixture.value, fixture.name, context, cleanupFnArray);
3993
3922
  }
3994
3923
  var scopedFixturePromiseCache = /* @__PURE__ */ new WeakMap();
3995
3924
  async function resolveScopeFixtureValue(fixtures, suite, fixture) {
@@ -4004,7 +3933,7 @@ async function resolveScopeFixtureValue(fixtures, suite, fixture) {
4004
3933
  if (scopedFixturePromiseCache.has(fixture)) return scopedFixturePromiseCache.get(fixture);
4005
3934
  if (!cleanupFnArrayMap.has(fixtureContext)) cleanupFnArrayMap.set(fixtureContext, []);
4006
3935
  const cleanupFnFileArray = cleanupFnArrayMap.get(fixtureContext);
4007
- const promise = resolveFixtureFunction(fixture.value, fixture.scope === "file" ? {
3936
+ const promise = resolveFixtureFunction(fixture.value, fixture.name, fixture.scope === "file" ? {
4008
3937
  ...workerContext,
4009
3938
  ...fileContext
4010
3939
  } : fixtureContext, cleanupFnFileArray).then((value) => {
@@ -4015,8 +3944,9 @@ async function resolveScopeFixtureValue(fixtures, suite, fixture) {
4015
3944
  scopedFixturePromiseCache.set(fixture, promise);
4016
3945
  return promise;
4017
3946
  }
4018
- async function resolveFixtureFunction(fixtureFn, context, cleanupFnArray) {
3947
+ async function resolveFixtureFunction(fixtureFn, fixtureName, context, cleanupFnArray) {
4019
3948
  const useFnArgPromise = createDefer();
3949
+ const stackTraceError = FIXTURE_STACK_TRACE_KEY in fixtureFn && fixtureFn[FIXTURE_STACK_TRACE_KEY] instanceof Error ? fixtureFn[FIXTURE_STACK_TRACE_KEY] : void 0;
4020
3950
  let isUseFnArgResolved = false;
4021
3951
  const fixtureReturn = fixtureFn(context, async (useFnArg) => {
4022
3952
  isUseFnArgResolved = true;
@@ -4027,6 +3957,12 @@ async function resolveFixtureFunction(fixtureFn, context, cleanupFnArray) {
4027
3957
  await fixtureReturn;
4028
3958
  });
4029
3959
  await useReturnPromise;
3960
+ }).then(() => {
3961
+ if (!isUseFnArgResolved) {
3962
+ const error = /* @__PURE__ */ new Error(`Fixture "${fixtureName}" returned without calling "use". Make sure to call "use" in every code path of the fixture function.`);
3963
+ if (stackTraceError?.stack) error.stack = error.message + stackTraceError.stack.replace(stackTraceError.message, "");
3964
+ useFnArgPromise.reject(error);
3965
+ }
4030
3966
  }).catch((e) => {
4031
3967
  if (!isUseFnArgResolved) {
4032
3968
  useFnArgPromise.reject(e);
@@ -4122,6 +4058,44 @@ var _test;
4122
4058
  function getCurrentTest() {
4123
4059
  return _test;
4124
4060
  }
4061
+ var kChainableContext = Symbol("kChainableContext");
4062
+ function getChainableContext(chainable) {
4063
+ return chainable?.[kChainableContext];
4064
+ }
4065
+ function createChainable(keys, fn, context) {
4066
+ function create(context) {
4067
+ const chain = function(...args) {
4068
+ return fn.apply(context, args);
4069
+ };
4070
+ Object.assign(chain, fn);
4071
+ Object.defineProperty(chain, kChainableContext, {
4072
+ value: {
4073
+ withContext: () => chain.bind(context),
4074
+ getFixtures: () => context.fixtures,
4075
+ setContext: (key, value) => {
4076
+ context[key] = value;
4077
+ },
4078
+ mergeContext: (ctx) => {
4079
+ Object.assign(context, ctx);
4080
+ }
4081
+ },
4082
+ enumerable: false
4083
+ });
4084
+ for (const key of keys) Object.defineProperty(chain, key, { get() {
4085
+ return create({
4086
+ ...context,
4087
+ [key]: true
4088
+ });
4089
+ } });
4090
+ return chain;
4091
+ }
4092
+ const chain = create(context ?? {});
4093
+ Object.defineProperty(chain, "fn", {
4094
+ value: fn,
4095
+ enumerable: false
4096
+ });
4097
+ return chain;
4098
+ }
4125
4099
  function getDefaultHookTimeout() {
4126
4100
  return getRunner().config.hookTimeout;
4127
4101
  }
@@ -4386,6 +4360,262 @@ function createTestHook(name, handler) {
4386
4360
  return handler(current, fn, timeout);
4387
4361
  };
4388
4362
  }
4363
+ function findTestFileStackTrace(testFilePath, error) {
4364
+ const lines = error.split("\n").slice(1);
4365
+ for (const line of lines) {
4366
+ const stack = parseSingleStack(line);
4367
+ if (stack && stack.file === testFilePath) return stack;
4368
+ }
4369
+ }
4370
+ var filterMap = /* @__PURE__ */ new WeakMap();
4371
+ /**
4372
+ * @experimental
4373
+ */
4374
+ function matchesTags(testTags) {
4375
+ const runner = getRunner();
4376
+ const tagsFilter = runner._currentSpecification?.testTagsFilter ?? runner.config.tagsFilter;
4377
+ if (!tagsFilter) return true;
4378
+ let tagsFilterPredicate = filterMap.get(tagsFilter);
4379
+ if (!tagsFilterPredicate) {
4380
+ tagsFilterPredicate = createTagsFilter(tagsFilter, runner.config.tags);
4381
+ filterMap.set(tagsFilter, tagsFilterPredicate);
4382
+ }
4383
+ return tagsFilterPredicate(testTags);
4384
+ }
4385
+ function validateTags(config, tags) {
4386
+ if (!config.strictTags) return;
4387
+ const availableTags = new Set(config.tags.map((tag) => tag.name));
4388
+ for (const tag of tags) if (!availableTags.has(tag)) throw createNoTagsError(config.tags, tag);
4389
+ }
4390
+ function createNoTagsError(availableTags, tag, prefix = "tag") {
4391
+ if (!availableTags.length) throw new Error(`The Vitest config does't define any "tags", cannot apply "${tag}" ${prefix} for this test. See: https://vitest.dev/guide/test-tags`);
4392
+ throw new Error(`The ${prefix} "${tag}" is not defined in the configuration. Available tags are:\n${availableTags.map((t) => `- ${t.name}${t.description ? `: ${t.description}` : ""}`).join("\n")}`);
4393
+ }
4394
+ function createTagsFilter(tagsExpr, availableTags) {
4395
+ const matchers = tagsExpr.map((expr) => parseTagsExpression(expr, availableTags));
4396
+ return (testTags) => {
4397
+ return matchers.every((matcher) => matcher(testTags));
4398
+ };
4399
+ }
4400
+ function parseTagsExpression(expr, availableTags) {
4401
+ const stream = new TokenStream(tokenize(expr), expr);
4402
+ const ast = parseOrExpression(stream, availableTags);
4403
+ if (stream.peek().type !== "EOF") throw new Error(`Invalid tags expression: unexpected "${formatToken(stream.peek())}" in "${expr}"`);
4404
+ return (tags) => evaluateNode(ast, tags);
4405
+ }
4406
+ function formatToken(token) {
4407
+ switch (token.type) {
4408
+ case "TAG": return token.value;
4409
+ default: return formatTokenType(token.type);
4410
+ }
4411
+ }
4412
+ function tokenize(expr) {
4413
+ const tokens = [];
4414
+ let i = 0;
4415
+ while (i < expr.length) {
4416
+ if (expr[i] === " " || expr[i] === " ") {
4417
+ i++;
4418
+ continue;
4419
+ }
4420
+ if (expr[i] === "(") {
4421
+ tokens.push({ type: "LPAREN" });
4422
+ i++;
4423
+ continue;
4424
+ }
4425
+ if (expr[i] === ")") {
4426
+ tokens.push({ type: "RPAREN" });
4427
+ i++;
4428
+ continue;
4429
+ }
4430
+ if (expr[i] === "!") {
4431
+ tokens.push({ type: "NOT" });
4432
+ i++;
4433
+ continue;
4434
+ }
4435
+ if (expr.slice(i, i + 2) === "&&") {
4436
+ tokens.push({ type: "AND" });
4437
+ i += 2;
4438
+ continue;
4439
+ }
4440
+ if (expr.slice(i, i + 2) === "||") {
4441
+ tokens.push({ type: "OR" });
4442
+ i += 2;
4443
+ continue;
4444
+ }
4445
+ if (/^and(?:\s|\)|$)/i.test(expr.slice(i))) {
4446
+ tokens.push({ type: "AND" });
4447
+ i += 3;
4448
+ continue;
4449
+ }
4450
+ if (/^or(?:\s|\)|$)/i.test(expr.slice(i))) {
4451
+ tokens.push({ type: "OR" });
4452
+ i += 2;
4453
+ continue;
4454
+ }
4455
+ if (/^not\s/i.test(expr.slice(i))) {
4456
+ tokens.push({ type: "NOT" });
4457
+ i += 3;
4458
+ continue;
4459
+ }
4460
+ let tag = "";
4461
+ while (i < expr.length && expr[i] !== " " && expr[i] !== " " && expr[i] !== "(" && expr[i] !== ")" && expr[i] !== "!" && expr[i] !== "&" && expr[i] !== "|") {
4462
+ const remaining = expr.slice(i);
4463
+ if (tag === "" && (/^and(?:\s|\)|$)/i.test(remaining) || /^or(?:\s|\)|$)/i.test(remaining) || /^not\s/i.test(remaining))) break;
4464
+ tag += expr[i];
4465
+ i++;
4466
+ }
4467
+ if (tag) tokens.push({
4468
+ type: "TAG",
4469
+ value: tag
4470
+ });
4471
+ }
4472
+ tokens.push({ type: "EOF" });
4473
+ return tokens;
4474
+ }
4475
+ var TokenStream = class {
4476
+ pos = 0;
4477
+ constructor(tokens, expr) {
4478
+ this.tokens = tokens;
4479
+ this.expr = expr;
4480
+ }
4481
+ peek() {
4482
+ return this.tokens[this.pos];
4483
+ }
4484
+ next() {
4485
+ return this.tokens[this.pos++];
4486
+ }
4487
+ expect(type) {
4488
+ const token = this.next();
4489
+ if (token.type !== type) {
4490
+ if (type === "RPAREN" && token.type === "EOF") throw new Error(`Invalid tags expression: missing closing ")" in "${this.expr}"`);
4491
+ throw new Error(`Invalid tags expression: expected "${formatTokenType(type)}" but got "${formatToken(token)}" in "${this.expr}"`);
4492
+ }
4493
+ return token;
4494
+ }
4495
+ unexpectedToken() {
4496
+ const token = this.peek();
4497
+ if (token.type === "EOF") throw new Error(`Invalid tags expression: unexpected end of expression in "${this.expr}"`);
4498
+ throw new Error(`Invalid tags expression: unexpected "${formatToken(token)}" in "${this.expr}"`);
4499
+ }
4500
+ };
4501
+ function formatTokenType(type) {
4502
+ switch (type) {
4503
+ case "TAG": return "tag";
4504
+ case "AND": return "and";
4505
+ case "OR": return "or";
4506
+ case "NOT": return "not";
4507
+ case "LPAREN": return "(";
4508
+ case "RPAREN": return ")";
4509
+ case "EOF": return "end of expression";
4510
+ }
4511
+ }
4512
+ function parseOrExpression(stream, availableTags) {
4513
+ let left = parseAndExpression(stream, availableTags);
4514
+ while (stream.peek().type === "OR") {
4515
+ stream.next();
4516
+ const right = parseAndExpression(stream, availableTags);
4517
+ left = {
4518
+ type: "or",
4519
+ left,
4520
+ right
4521
+ };
4522
+ }
4523
+ return left;
4524
+ }
4525
+ function parseAndExpression(stream, availableTags) {
4526
+ let left = parseUnaryExpression(stream, availableTags);
4527
+ while (stream.peek().type === "AND") {
4528
+ stream.next();
4529
+ const right = parseUnaryExpression(stream, availableTags);
4530
+ left = {
4531
+ type: "and",
4532
+ left,
4533
+ right
4534
+ };
4535
+ }
4536
+ return left;
4537
+ }
4538
+ function parseUnaryExpression(stream, availableTags) {
4539
+ if (stream.peek().type === "NOT") {
4540
+ stream.next();
4541
+ return {
4542
+ type: "not",
4543
+ operand: parseUnaryExpression(stream, availableTags)
4544
+ };
4545
+ }
4546
+ return parsePrimaryExpression(stream, availableTags);
4547
+ }
4548
+ function parsePrimaryExpression(stream, availableTags) {
4549
+ const token = stream.peek();
4550
+ if (token.type === "LPAREN") {
4551
+ stream.next();
4552
+ const expr = parseOrExpression(stream, availableTags);
4553
+ stream.expect("RPAREN");
4554
+ return expr;
4555
+ }
4556
+ if (token.type === "TAG") {
4557
+ stream.next();
4558
+ const tagValue = token.value;
4559
+ return {
4560
+ type: "tag",
4561
+ value: tagValue,
4562
+ pattern: resolveTagPattern(tagValue, availableTags)
4563
+ };
4564
+ }
4565
+ stream.unexpectedToken();
4566
+ }
4567
+ function createWildcardRegex(pattern) {
4568
+ return new RegExp(`^${pattern.replace(/[.+?^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*")}$`);
4569
+ }
4570
+ function resolveTagPattern(tagPattern, availableTags) {
4571
+ if (tagPattern.includes("*")) {
4572
+ const regex = createWildcardRegex(tagPattern);
4573
+ if (!availableTags.some((tag) => regex.test(tag.name))) throw createNoTagsError(availableTags, tagPattern, "tag pattern");
4574
+ return regex;
4575
+ }
4576
+ if (!availableTags.length || !availableTags.some((tag) => tag.name === tagPattern)) throw createNoTagsError(availableTags, tagPattern, "tag pattern");
4577
+ return null;
4578
+ }
4579
+ function evaluateNode(node, tags) {
4580
+ switch (node.type) {
4581
+ case "tag":
4582
+ if (node.pattern) return tags.some((tag) => node.pattern.test(tag));
4583
+ return tags.includes(node.value);
4584
+ case "not": return !evaluateNode(node.operand, tags);
4585
+ case "and": return evaluateNode(node.left, tags) && evaluateNode(node.right, tags);
4586
+ case "or": return evaluateNode(node.left, tags) || evaluateNode(node.right, tags);
4587
+ }
4588
+ }
4589
+ function isTestCase(s) {
4590
+ return s.type === "test";
4591
+ }
4592
+ function getTests(suite) {
4593
+ const tests = [];
4594
+ const arraySuites = toArray(suite);
4595
+ for (const s of arraySuites) if (isTestCase(s)) tests.push(s);
4596
+ else for (const task of s.tasks) if (isTestCase(task)) tests.push(task);
4597
+ else {
4598
+ const taskTests = getTests(task);
4599
+ for (const test of taskTests) tests.push(test);
4600
+ }
4601
+ return tests;
4602
+ }
4603
+ function getNames(task) {
4604
+ const names = [task.name];
4605
+ let current = task;
4606
+ while (current?.suite) {
4607
+ current = current.suite;
4608
+ if (current?.name) names.unshift(current.name);
4609
+ }
4610
+ if (current !== task.file) names.unshift(task.file.name);
4611
+ return names;
4612
+ }
4613
+ function getTestName(task, separator = " > ") {
4614
+ return getNames(task).slice(1).join(separator);
4615
+ }
4616
+ function createTaskName(names, separator = " > ") {
4617
+ return names.filter((name) => name !== void 0).join(separator);
4618
+ }
4389
4619
  /**
4390
4620
  * Creates a suite of tests, allowing for grouping and hierarchical organization of tests.
4391
4621
  * Suites can contain both tests and other suites, enabling complex test structures.
@@ -4843,7 +5073,7 @@ function createTaskCollector(fn) {
4843
5073
  if (maybeFn !== void 0) {
4844
5074
  fixtureOptions = optionsOrFn;
4845
5075
  fixtureValue = maybeFn;
4846
- } else if (optionsOrFn !== null && typeof optionsOrFn === "object" && !Array.isArray(optionsOrFn) && ("scope" in optionsOrFn || "auto" in optionsOrFn)) {
5076
+ } else if (optionsOrFn !== null && typeof optionsOrFn === "object" && !Array.isArray(optionsOrFn) && TestFixtures.isFixtureOptions(optionsOrFn)) {
4847
5077
  fixtureOptions = optionsOrFn;
4848
5078
  fixtureValue = {};
4849
5079
  } else {
@@ -5267,7 +5497,7 @@ function manageArtifactAttachment(attachment) {
5267
5497
  if (attachment.body instanceof Uint8Array) attachment.body = encodeUint8Array(attachment.body);
5268
5498
  }
5269
5499
  //#endregion
5270
- //#region ../../../node_modules/.pnpm/vitest@4.1.0_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.1_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/dist/chunks/utils.BX5Fg8C4.js
5500
+ //#region ../../../node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/dist/chunks/utils.BX5Fg8C4.js
5271
5501
  var NAME_WORKER_STATE = "__vitest_worker__";
5272
5502
  function getWorkerState() {
5273
5503
  const workerState = globalThis[NAME_WORKER_STATE];
@@ -5307,7 +5537,7 @@ async function waitForImportsToResolve() {
5307
5537
  await waitForImportsToResolve();
5308
5538
  }
5309
5539
  //#endregion
5310
- //#region ../../../node_modules/.pnpm/vitest@4.1.0_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.1_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/dist/chunks/benchmark.D0SlKNbZ.js
5540
+ //#region ../../../node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/dist/chunks/benchmark.CX_oY03V.js
5311
5541
  var benchFns = /* @__PURE__ */ new WeakMap();
5312
5542
  var benchOptsMap = /* @__PURE__ */ new WeakMap();
5313
5543
  function getBenchOptions(key) {
@@ -5340,7 +5570,7 @@ function formatName(name) {
5340
5570
  return typeof name === "string" ? name : typeof name === "function" ? name.name || "<anonymous>" : String(name);
5341
5571
  }
5342
5572
  //#endregion
5343
- //#region ../../../node_modules/.pnpm/@vitest+spy@4.1.0/node_modules/@vitest/spy/dist/index.js
5573
+ //#region ../../../node_modules/.pnpm/@vitest+spy@4.1.2/node_modules/@vitest/spy/dist/index.js
5344
5574
  function isMockFunction(fn) {
5345
5575
  return typeof fn === "function" && "_isMockFunction" in fn && fn._isMockFunction === true;
5346
5576
  }
@@ -8605,7 +8835,7 @@ function use(fn) {
8605
8835
  }
8606
8836
  __name(use, "use");
8607
8837
  //#endregion
8608
- //#region ../../../node_modules/.pnpm/@vitest+expect@4.1.0/node_modules/@vitest/expect/dist/index.js
8838
+ //#region ../../../node_modules/.pnpm/@vitest+expect@4.1.2/node_modules/@vitest/expect/dist/index.js
8609
8839
  var ChaiStyleAssertions = (chai, utils) => {
8610
8840
  function defProperty(name, delegateTo) {
8611
8841
  utils.addProperty(chai.Assertion.prototype, name, function() {
@@ -8622,15 +8852,14 @@ var ChaiStyleAssertions = (chai, utils) => {
8622
8852
  });
8623
8853
  }
8624
8854
  function defMethod(name, delegateTo) {
8625
- utils.addChainableMethod(chai.Assertion.prototype, name, function(...args) {
8855
+ utils.addMethod(chai.Assertion.prototype, name, function(...args) {
8626
8856
  const jestMethod = chai.Assertion.prototype[delegateTo];
8627
8857
  if (!jestMethod) throw new Error(`Cannot delegate to ${String(delegateTo)}: method not found. Ensure JestChaiExpect plugin is loaded first.`);
8628
8858
  return jestMethod.call(this, ...args);
8629
- }, () => {});
8859
+ });
8630
8860
  }
8631
8861
  defProperty("called", "toHaveBeenCalled");
8632
8862
  defProperty("calledOnce", "toHaveBeenCalledOnce");
8633
- defProperty("returned", "toHaveReturned");
8634
8863
  defPropertyWithArgs("calledTwice", "toHaveBeenCalledTimes", 2);
8635
8864
  defPropertyWithArgs("calledThrice", "toHaveBeenCalledTimes", 3);
8636
8865
  defMethod("callCount", "toHaveBeenCalledTimes");
@@ -8638,6 +8867,7 @@ var ChaiStyleAssertions = (chai, utils) => {
8638
8867
  defMethod("calledOnceWith", "toHaveBeenCalledExactlyOnceWith");
8639
8868
  defMethod("lastCalledWith", "toHaveBeenLastCalledWith");
8640
8869
  defMethod("nthCalledWith", "toHaveBeenNthCalledWith");
8870
+ defMethod("returned", "toHaveReturned");
8641
8871
  defMethod("returnedWith", "toHaveReturnedWith");
8642
8872
  defMethod("returnedTimes", "toHaveReturnedTimes");
8643
8873
  defMethod("lastReturnedWith", "toHaveLastReturnedWith");
@@ -9892,7 +10122,7 @@ var JestChaiExpect = (chai, utils) => {
9892
10122
  }).catch((err) => {
9893
10123
  if (isError(err) && error.stack) err.stack = error.stack.replace(error.message, err.message);
9894
10124
  throw err;
9895
- }), createAssertionMessage(utils, this, !!args.length), error);
10125
+ }), createAssertionMessage(utils, this, !!args.length), error, utils.flag(this, "soft"));
9896
10126
  };
9897
10127
  } });
9898
10128
  return proxy;
@@ -9923,7 +10153,7 @@ var JestChaiExpect = (chai, utils) => {
9923
10153
  }).catch((err) => {
9924
10154
  if (isError(err) && error.stack) err.stack = error.stack.replace(error.message, err.message);
9925
10155
  throw err;
9926
- }), createAssertionMessage(utils, this, !!args.length), error);
10156
+ }), createAssertionMessage(utils, this, !!args.length), error, utils.flag(this, "soft"));
9927
10157
  };
9928
10158
  } });
9929
10159
  return proxy;
@@ -9986,10 +10216,11 @@ function getMatcherState(assertion, expect) {
9986
10216
  };
9987
10217
  }
9988
10218
  var JestExtendError = class extends Error {
9989
- constructor(message, actual, expected) {
10219
+ constructor(message, actual, expected, context) {
9990
10220
  super(message);
9991
10221
  this.actual = actual;
9992
10222
  this.expected = expected;
10223
+ this.context = context;
9993
10224
  }
9994
10225
  };
9995
10226
  function JestExtendPlugin(c, expect, matchers) {
@@ -9998,11 +10229,17 @@ function JestExtendPlugin(c, expect, matchers) {
9998
10229
  function expectWrapper(...args) {
9999
10230
  const { state, isNot, obj, customMessage } = getMatcherState(this, expect);
10000
10231
  const result = expectAssertion.call(state, obj, ...args);
10001
- if (result && typeof result === "object" && typeof result.then === "function") return result.then(({ pass, message, actual, expected }) => {
10002
- if (pass && isNot || !pass && !isNot) throw new JestExtendError(customMessage != null ? customMessage : message(), actual, expected);
10232
+ if (result && typeof result === "object" && typeof result.then === "function") return result.then(({ pass, message, actual, expected, meta }) => {
10233
+ if (pass && isNot || !pass && !isNot) throw new JestExtendError(customMessage != null ? customMessage : message(), actual, expected, {
10234
+ assertionName: expectAssertionName,
10235
+ meta
10236
+ });
10237
+ });
10238
+ const { pass, message, actual, expected, meta } = result;
10239
+ if (pass && isNot || !pass && !isNot) throw new JestExtendError(customMessage != null ? customMessage : message(), actual, expected, {
10240
+ assertionName: expectAssertionName,
10241
+ meta
10003
10242
  });
10004
- const { pass, message, actual, expected } = result;
10005
- if (pass && isNot || !pass && !isNot) throw new JestExtendError(customMessage != null ? customMessage : message(), actual, expected);
10006
10243
  }
10007
10244
  const softWrapper = wrapAssertion(utils, expectAssertionName, expectWrapper);
10008
10245
  utils.addMethod(globalThis[JEST_MATCHERS_OBJECT].matchers, expectAssertionName, softWrapper);
@@ -10053,7 +10290,7 @@ var JestExtend = (chai, utils) => {
10053
10290
  });
10054
10291
  };
10055
10292
  //#endregion
10056
- //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.0/node_modules/@vitest/utils/dist/offset.js
10293
+ //#region ../../../node_modules/.pnpm/@vitest+utils@4.1.2/node_modules/@vitest/utils/dist/offset.js
10057
10294
  var lineSplitRE = /\r?\n/;
10058
10295
  function positionToOffset(source, lineNumber, columnNumber) {
10059
10296
  const lines = source.split(lineSplitRE);
@@ -10077,7 +10314,7 @@ function offsetToLineNumber(source, offset) {
10077
10314
  return line + 1;
10078
10315
  }
10079
10316
  //#endregion
10080
- //#region ../../../node_modules/.pnpm/@vitest+snapshot@4.1.0/node_modules/@vitest/snapshot/dist/index.js
10317
+ //#region ../../../node_modules/.pnpm/@vitest+snapshot@4.1.2/node_modules/@vitest/snapshot/dist/index.js
10081
10318
  async function saveInlineSnapshots(environment, snapshots) {
10082
10319
  const MagicString = (await import("./magic-string.es-Cklsmr-5.js")).default;
10083
10320
  const files = new Set(snapshots.map((i) => i.file));
@@ -10732,10 +10969,10 @@ var SnapshotClient = class {
10732
10969
  }
10733
10970
  };
10734
10971
  //#endregion
10735
- //#region ../../../node_modules/.pnpm/vitest@4.1.0_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.1_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js
10972
+ //#region ../../../node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js
10736
10973
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
10737
10974
  //#endregion
10738
- //#region ../../../node_modules/.pnpm/vitest@4.1.0_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.1_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/dist/chunks/rpc.MzXet3jl.js
10975
+ //#region ../../../node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/dist/chunks/rpc.MzXet3jl.js
10739
10976
  var RealDate = Date;
10740
10977
  var now = null;
10741
10978
  var MockDate = class MockDate extends RealDate {
@@ -10788,7 +11025,7 @@ function rpc() {
10788
11025
  return rpc;
10789
11026
  }
10790
11027
  //#endregion
10791
- //#region ../../../node_modules/.pnpm/vitest@4.1.0_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.1_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/dist/chunks/test.CTcmp4Su.js
11028
+ //#region ../../../node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/dist/chunks/test.p_J6dB8a.js
10792
11029
  var unsupported = [
10793
11030
  "matchSnapshot",
10794
11031
  "toMatchSnapshot",
@@ -13658,6 +13895,7 @@ var TestRunner = class {
13658
13895
  static getTestFn = getFn;
13659
13896
  static setSuiteHooks = getHooks;
13660
13897
  static setTestFn = getFn;
13898
+ static matchesTags = matchesTags;
13661
13899
  /**
13662
13900
  * @deprecated
13663
13901
  */
@@ -13676,7 +13914,7 @@ function clearModuleMocks(config) {
13676
13914
  if (unstubGlobals) vi.unstubAllGlobals();
13677
13915
  }
13678
13916
  //#endregion
13679
- //#region ../../../node_modules/.pnpm/vite@8.0.1_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0/node_modules/vite/dist/node/module-runner.js
13917
+ //#region ../../../node_modules/.pnpm/vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0/node_modules/vite/dist/node/module-runner.js
13680
13918
  var SOURCEMAPPING_URL = "sourceMa";
13681
13919
  SOURCEMAPPING_URL += "ppingURL";
13682
13920
  var isWindows = typeof process < "u" && process.platform === "win32";
@@ -13742,7 +13980,7 @@ var isAbsolute = function(p) {
13742
13980
  }, dirname = function(p) {
13743
13981
  let segments = normalizeWindowsPath(p).replace(/\/$/, "").split("/").slice(0, -1);
13744
13982
  return segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0]) && (segments[0] += "/"), segments.join("/") || (isAbsolute(p) ? "/" : ".");
13745
- }, decodeBase64 = typeof atob < "u" ? atob : (str) => Buffer.from(str, "base64").toString("utf-8");
13983
+ }, textDecoder = new TextDecoder(), decodeBase64 = typeof Buffer == "function" && typeof Buffer.from == "function" ? (base64) => Buffer.from(base64, "base64").toString("utf-8") : (base64) => textDecoder.decode(Uint8Array.from(atob(base64), (c) => c.charCodeAt(0)));
13746
13984
  var posixDirname = dirname, posixResolve = resolve, chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", intToChar = new Uint8Array(64), charToInt = new Uint8Array(128);
13747
13985
  for (let i = 0; i < chars.length; i++) {
13748
13986
  let c = chars.charCodeAt(i);
@@ -13881,7 +14119,7 @@ new Proxy({}, { get(_, p) {
13881
14119
  throw Error(`[module runner] Dynamic access of "import.meta.env" is not supported. Please, use "import.meta.env.${String(p)}" instead.`);
13882
14120
  } });
13883
14121
  //#endregion
13884
- //#region ../../../node_modules/.pnpm/vitest@4.1.0_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.1_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/dist/chunks/evaluatedModules.Dg1zASAC.js
14122
+ //#region ../../../node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/dist/chunks/evaluatedModules.Dg1zASAC.js
13885
14123
  var VitestEvaluatedModules = class extends EvaluatedModules {
13886
14124
  getModuleSourceMapById(id) {
13887
14125
  const map = super.getModuleSourceMapById(id);
@@ -13914,7 +14152,7 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports) => {
13914
14152
  Object.defineProperty(exports, "__esModule", { value: true });
13915
14153
  }));
13916
14154
  //#endregion
13917
- //#region ../../../node_modules/.pnpm/vitest@4.1.0_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.1_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/dist/chunks/index.DlDSLQD3.js
14155
+ //#region ../../../node_modules/.pnpm/vitest@4.1.2_@types+node@25.5.0_jsdom@29.0.1_vite@8.0.3_@types+node@25.5.0_esbuild@0.27.4_jiti@2.6.1_tsx@4.21.0_/node_modules/vitest/dist/chunks/index.DOa3dzoN.js
13918
14156
  var import_dist = (/* @__PURE__ */ __commonJSMin(((exports) => {
13919
14157
  var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
13920
14158
  if (k2 === void 0) k2 = k;