@ait-co/devtools 0.1.107 → 0.1.109

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 (54) hide show
  1. package/dist/bundle-KFs4t-wc.d.ts +96 -0
  2. package/dist/bundle-KFs4t-wc.d.ts.map +1 -0
  3. package/dist/cdp-connection-C0AP0tH2.d.ts +277 -0
  4. package/dist/cdp-connection-C0AP0tH2.d.ts.map +1 -0
  5. package/dist/in-app/auto.d.ts +17 -0
  6. package/dist/in-app/auto.d.ts.map +1 -1
  7. package/dist/in-app/auto.js +76 -0
  8. package/dist/in-app/auto.js.map +1 -1
  9. package/dist/in-app/index.d.ts +48 -1
  10. package/dist/in-app/index.d.ts.map +1 -1
  11. package/dist/in-app/index.js +60 -1
  12. package/dist/in-app/index.js.map +1 -1
  13. package/dist/mcp/cli.js +651 -9
  14. package/dist/mcp/cli.js.map +1 -1
  15. package/dist/mcp/server.d.ts.map +1 -1
  16. package/dist/mcp/server.js +59 -2
  17. package/dist/mcp/server.js.map +1 -1
  18. package/dist/panel/index.js +1 -1
  19. package/dist/pool-CuVMzWGB.d.ts +14577 -0
  20. package/dist/pool-CuVMzWGB.d.ts.map +1 -0
  21. package/dist/relay-worker-xxanNQGs.d.ts +74 -0
  22. package/dist/relay-worker-xxanNQGs.d.ts.map +1 -0
  23. package/dist/runtime-Wi5d6Ywz.d.ts +50 -0
  24. package/dist/runtime-Wi5d6Ywz.d.ts.map +1 -0
  25. package/dist/test-runner/bundle.d.ts +2 -0
  26. package/dist/test-runner/bundle.js +232 -0
  27. package/dist/test-runner/bundle.js.map +1 -0
  28. package/dist/test-runner/cli.d.ts +462 -0
  29. package/dist/test-runner/cli.d.ts.map +1 -0
  30. package/dist/test-runner/cli.js +516 -0
  31. package/dist/test-runner/cli.js.map +1 -0
  32. package/dist/test-runner/config.d.ts +80 -0
  33. package/dist/test-runner/config.d.ts.map +1 -0
  34. package/dist/test-runner/config.js +54 -0
  35. package/dist/test-runner/config.js.map +1 -0
  36. package/dist/test-runner/pool.d.ts +2 -0
  37. package/dist/test-runner/pool.js +136 -0
  38. package/dist/test-runner/pool.js.map +1 -0
  39. package/dist/test-runner/relay-worker.d.ts +2 -0
  40. package/dist/test-runner/relay-worker.js +96 -0
  41. package/dist/test-runner/relay-worker.js.map +1 -0
  42. package/dist/test-runner/rpc.d.ts +53 -0
  43. package/dist/test-runner/rpc.d.ts.map +1 -0
  44. package/dist/test-runner/rpc.js +78 -0
  45. package/dist/test-runner/rpc.js.map +1 -0
  46. package/dist/test-runner/task-graph.d.ts +38 -0
  47. package/dist/test-runner/task-graph.d.ts.map +1 -0
  48. package/dist/test-runner/task-graph.js +182 -0
  49. package/dist/test-runner/task-graph.js.map +1 -0
  50. package/dist/unplugin/index.d.cts +13 -32
  51. package/dist/unplugin/index.d.cts.map +1 -1
  52. package/dist/unplugin/index.d.ts +13 -32
  53. package/dist/unplugin/index.d.ts.map +1 -1
  54. package/package.json +13 -3
@@ -0,0 +1,182 @@
1
+ import { calculateSuiteHash, createFileTask, generateHash } from "@vitest/runner/utils";
2
+ //#region src/test-runner/task-graph.ts
3
+ /** Separator the page runtime uses to join suite path + test name. */
4
+ const NAME_SEPARATOR = " > ";
5
+ /**
6
+ * Maps a page-runtime status to a Vitest {@link TaskState}.
7
+ * `skip` collapses to Vitest's `skip` run-mode; `pass`/`fail` are terminal.
8
+ */
9
+ function toTaskState(status) {
10
+ switch (status) {
11
+ case "pass": return "pass";
12
+ case "fail": return "fail";
13
+ case "skip": return "skip";
14
+ }
15
+ }
16
+ /**
17
+ * Builds a {@link TaskResult} for a finished test. Suites and files only carry
18
+ * a result on collection/hook error (we leave those undefined — the page never
19
+ * reports suite-level errors separately).
20
+ */
21
+ function toTaskResult(t) {
22
+ const result = {
23
+ state: toTaskState(t.status),
24
+ duration: t.duration
25
+ };
26
+ if (t.status === "fail") result.errors = [{
27
+ message: t.error ?? "Test failed",
28
+ name: "AssertionError"
29
+ }];
30
+ return result;
31
+ }
32
+ /**
33
+ * Creates a structural suite task under `parent`. Mirrors the partial-object
34
+ * pattern Vitest uses in `createFileTask`; ids are assigned by
35
+ * `calculateSuiteHash` afterwards.
36
+ */
37
+ function makeSuite(parent, file, name) {
38
+ return {
39
+ id: "",
40
+ type: "suite",
41
+ name,
42
+ fullName: "",
43
+ mode: "run",
44
+ meta: {},
45
+ file,
46
+ suite: parent,
47
+ tasks: []
48
+ };
49
+ }
50
+ /**
51
+ * Finds-or-creates a child suite named `name` under `parent`.
52
+ * The caller recomputes ids once the whole file tree is built.
53
+ */
54
+ function ensureSuite(parent, file, name) {
55
+ const existing = parent.tasks.find((t) => t.type === "suite" && t.name === name);
56
+ if (existing) return existing;
57
+ const suite = makeSuite(parent, file, name);
58
+ parent.tasks.push(suite);
59
+ return suite;
60
+ }
61
+ /**
62
+ * Creates a structural test task and appends it to `parent`.
63
+ *
64
+ * `Test` carries runtime-only required fields (context/timeout/annotations/
65
+ * artifacts) that are never read off a *reported* task — reporters consume
66
+ * id/name/type/mode/result/suite/file. We satisfy the type at this one cast
67
+ * boundary instead of fabricating fake runtime values.
68
+ */
69
+ function appendTest(parent, file, t, name) {
70
+ const test = {
71
+ id: "",
72
+ type: "test",
73
+ name,
74
+ fullName: "",
75
+ mode: t.status === "skip" ? "skip" : "run",
76
+ meta: {},
77
+ file,
78
+ suite: parent,
79
+ result: toTaskResult(t),
80
+ annotations: []
81
+ };
82
+ parent.tasks.push(test);
83
+ }
84
+ /**
85
+ * Rebuilds a single `File` task graph from one file's flat `RunReport`.
86
+ *
87
+ * @param filepath Absolute path to the test file.
88
+ * @param root Project root (used for the file id hash).
89
+ * @param projectName Vitest project name (or undefined for the default project).
90
+ * @param pool Pool name to stamp on the file task (our relay pool name).
91
+ * @param report The page-runtime report for this file.
92
+ */
93
+ function synthesizeFileTask(filepath, root, projectName, pool, report) {
94
+ const file = createFileTask(filepath, root, projectName, pool);
95
+ for (const t of report.tests) {
96
+ const segments = t.name.split(NAME_SEPARATOR);
97
+ const testName = segments.pop() ?? t.name;
98
+ let parent = file;
99
+ for (const suiteName of segments) parent = ensureSuite(parent, file, suiteName);
100
+ appendTest(parent, file, t, testName);
101
+ }
102
+ calculateSuiteHash(file);
103
+ if (report.tests.length === 0 && report.failed > 0) file.result = {
104
+ state: "fail",
105
+ errors: [{
106
+ message: "File failed to run",
107
+ name: "Error"
108
+ }]
109
+ };
110
+ return file;
111
+ }
112
+ /**
113
+ * Flattens a File task subtree into the {@link TaskResultPack} tuples Vitest's
114
+ * `state.updateTasks` consumes: `[id, result, meta]`.
115
+ *
116
+ * Includes every task (file, suites, tests). Suites/files without a result
117
+ * report `undefined` in the result slot — Vitest tolerates that.
118
+ */
119
+ function toTaskResultPacks(file) {
120
+ const packs = [];
121
+ const walk = (task) => {
122
+ packs.push([
123
+ task.id,
124
+ task.result,
125
+ task.meta
126
+ ]);
127
+ if (task.type === "suite") for (const child of task.tasks) walk(child);
128
+ };
129
+ walk(file);
130
+ return packs;
131
+ }
132
+ /**
133
+ * Builds the {@link TaskEventPack} sequence reporters expect: a `suite-prepare`
134
+ * before a suite's children, `test-prepare`/`test-finished` per test, and a
135
+ * `suite-finished` after. This drives reporter progress output.
136
+ */
137
+ function toTaskEventPacks(file) {
138
+ const events = [];
139
+ const isFile = (task) => task.type === "suite" && task.file === task;
140
+ const walk = (task) => {
141
+ if (task.type === "test") {
142
+ events.push([
143
+ task.id,
144
+ "test-prepare",
145
+ void 0
146
+ ]);
147
+ events.push([
148
+ task.id,
149
+ "test-finished",
150
+ void 0
151
+ ]);
152
+ return;
153
+ }
154
+ const emitSuiteEvents = task.type === "suite" && !isFile(task);
155
+ if (emitSuiteEvents) events.push([
156
+ task.id,
157
+ "suite-prepare",
158
+ void 0
159
+ ]);
160
+ for (const child of task.tasks) walk(child);
161
+ if (emitSuiteEvents) events.push([
162
+ task.id,
163
+ "suite-finished",
164
+ void 0
165
+ ]);
166
+ };
167
+ walk(file);
168
+ return events;
169
+ }
170
+ /**
171
+ * Deterministic synthetic id for a file that failed before any task graph could
172
+ * be built (bundle/inject error). Uses the same `generateHash` Vitest uses, on
173
+ * the root-relative path + projectName, matching `generateFileHash` semantics so
174
+ * the id is stable across runs and won't collide with real file ids.
175
+ */
176
+ function syntheticFileId(relativePath, projectName) {
177
+ return generateHash(`${relativePath}${projectName ?? ""}`);
178
+ }
179
+ //#endregion
180
+ export { synthesizeFileTask, syntheticFileId, toTaskEventPacks, toTaskResultPacks };
181
+
182
+ //# sourceMappingURL=task-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-graph.js","names":[],"sources":["../../src/test-runner/task-graph.ts"],"sourcesContent":["/**\n * Synthesises a Vitest task graph from a relay `RunReport`.\n *\n * The page-side runtime (`runtime.ts`) only knows how to collect a flat list\n * of `TestResult { name: 'suite > sub > test', status, duration, error }`.\n * Vitest's reporters/watch/UI ecosystem, however, expect a populated task\n * graph (`File` → `Suite` → `Test`) plus `TaskResultPack`/`TaskEventPack`\n * tuples reported through `vitest.state`.\n *\n * This module bridges the two: it rebuilds the nested suite/test tree from the\n * ` > `-joined names, assigns Vitest-compatible stable ids via the official\n * `@vitest/runner/utils` helpers (NEVER hand-rolled — ids must match Vitest's\n * own scheme so reruns and reporter lookups line up), and emits the result\n * packs Vitest consumes.\n *\n * Pure functions only — no CDP, no Node IO. This keeps the synthesis unit\n * testable with a plain `RunReport` input (no phone/relay needed).\n *\n * Implementation note: like Vitest's own `createFileTask`, we build structural\n * task objects and fill only the fields reporters read (id/name/type/mode/meta/\n * result/tasks/suite/file). Runtime-only fields on `Test` (context/timeout/\n * annotations/artifacts) are never read off a reported task, so we satisfy the\n * type at a single explicit boundary rather than fabricating fake values.\n */\n\nimport type {\n File,\n Suite,\n Task,\n TaskEventPack,\n TaskResult,\n TaskResultPack,\n TaskState,\n Test,\n} from '@vitest/runner';\nimport { calculateSuiteHash, createFileTask, generateHash } from '@vitest/runner/utils';\nimport type { RunReport, TestResult } from './runtime.js';\n\n/** Separator the page runtime uses to join suite path + test name. */\nconst NAME_SEPARATOR = ' > ';\n\n/**\n * Maps a page-runtime status to a Vitest {@link TaskState}.\n * `skip` collapses to Vitest's `skip` run-mode; `pass`/`fail` are terminal.\n */\nfunction toTaskState(status: TestResult['status']): TaskState {\n switch (status) {\n case 'pass':\n return 'pass';\n case 'fail':\n return 'fail';\n case 'skip':\n return 'skip';\n }\n}\n\n/**\n * Builds a {@link TaskResult} for a finished test. Suites and files only carry\n * a result on collection/hook error (we leave those undefined — the page never\n * reports suite-level errors separately).\n */\nfunction toTaskResult(t: TestResult): TaskResult {\n const result: TaskResult = {\n state: toTaskState(t.status),\n duration: t.duration,\n };\n if (t.status === 'fail') {\n // SECRET-HANDLING: `error` is the matcher message only — rpc.ts already\n // strips the expression/value before it reaches us. Pass it through as the\n // single error object Vitest reporters render.\n result.errors = [{ message: t.error ?? 'Test failed', name: 'AssertionError' }];\n }\n return result;\n}\n\n/**\n * Creates a structural suite task under `parent`. Mirrors the partial-object\n * pattern Vitest uses in `createFileTask`; ids are assigned by\n * `calculateSuiteHash` afterwards.\n */\nfunction makeSuite(parent: Suite, file: File, name: string): Suite {\n const suite: Suite = {\n id: '',\n type: 'suite',\n name,\n fullName: '',\n mode: 'run',\n meta: {},\n file,\n suite: parent,\n tasks: [],\n };\n return suite;\n}\n\n/**\n * Finds-or-creates a child suite named `name` under `parent`.\n * The caller recomputes ids once the whole file tree is built.\n */\nfunction ensureSuite(parent: Suite, file: File, name: string): Suite {\n const existing = parent.tasks.find((t): t is Suite => t.type === 'suite' && t.name === name);\n if (existing) return existing;\n const suite = makeSuite(parent, file, name);\n parent.tasks.push(suite);\n return suite;\n}\n\n/**\n * Creates a structural test task and appends it to `parent`.\n *\n * `Test` carries runtime-only required fields (context/timeout/annotations/\n * artifacts) that are never read off a *reported* task — reporters consume\n * id/name/type/mode/result/suite/file. We satisfy the type at this one cast\n * boundary instead of fabricating fake runtime values.\n */\nfunction appendTest(parent: Suite, file: File, t: TestResult, name: string): void {\n const test = {\n id: '',\n type: 'test',\n name,\n fullName: '',\n mode: t.status === 'skip' ? 'skip' : 'run',\n meta: {},\n file,\n suite: parent,\n result: toTaskResult(t),\n annotations: [],\n // `Test` has runtime-only required fields (context/timeout/artifacts)\n // populated by Vitest at execution time and never read off a *reported*\n // task. We satisfy the type via `unknown` (not `any`) at this single\n // boundary, mirroring how Vitest's own createFileTask builds a partial\n // structural task object.\n } as unknown as Test;\n parent.tasks.push(test);\n}\n\n/**\n * Rebuilds a single `File` task graph from one file's flat `RunReport`.\n *\n * @param filepath Absolute path to the test file.\n * @param root Project root (used for the file id hash).\n * @param projectName Vitest project name (or undefined for the default project).\n * @param pool Pool name to stamp on the file task (our relay pool name).\n * @param report The page-runtime report for this file.\n */\nexport function synthesizeFileTask(\n filepath: string,\n root: string,\n projectName: string | undefined,\n pool: string,\n report: RunReport,\n): File {\n // createFileTask assigns the canonical stable file id (generateFileHash on the\n // root-relative path + projectName) and self-references file.file = file.\n const file = createFileTask(filepath, root, projectName, pool);\n\n for (const t of report.tests) {\n const segments = t.name.split(NAME_SEPARATOR);\n const testName = segments.pop() ?? t.name;\n let parent: Suite = file;\n for (const suiteName of segments) {\n parent = ensureSuite(parent, file, suiteName);\n }\n appendTest(parent, file, t, testName);\n }\n\n // Assign Vitest-stable position-based ids to every suite/test under the file\n // (file id stays as createFileTask set it).\n calculateSuiteHash(file);\n\n // Surface a file-level error result when the whole file failed to run with no\n // collected tests (bundle/inject error path surfaces as a synthetic file).\n if (report.tests.length === 0 && report.failed > 0) {\n file.result = { state: 'fail', errors: [{ message: 'File failed to run', name: 'Error' }] };\n }\n\n return file;\n}\n\n/**\n * Flattens a File task subtree into the {@link TaskResultPack} tuples Vitest's\n * `state.updateTasks` consumes: `[id, result, meta]`.\n *\n * Includes every task (file, suites, tests). Suites/files without a result\n * report `undefined` in the result slot — Vitest tolerates that.\n */\nexport function toTaskResultPacks(file: File): TaskResultPack[] {\n const packs: TaskResultPack[] = [];\n // Note: a File task also has `type: 'suite'` (File extends Suite) — the suite\n // branch covers both, so we never need a separate 'file' check.\n const walk = (task: Task): void => {\n packs.push([task.id, task.result, task.meta]);\n if (task.type === 'suite') {\n for (const child of task.tasks) walk(child);\n }\n };\n walk(file);\n return packs;\n}\n\n/**\n * Builds the {@link TaskEventPack} sequence reporters expect: a `suite-prepare`\n * before a suite's children, `test-prepare`/`test-finished` per test, and a\n * `suite-finished` after. This drives reporter progress output.\n */\nexport function toTaskEventPacks(file: File): TaskEventPack[] {\n const events: TaskEventPack[] = [];\n // A File task also has `type: 'suite'`. Emit suite-prepare/finished for the\n // file and every nested suite; test-prepare/finished for each test.\n const isFile = (task: Task): boolean => task.type === 'suite' && task.file === task;\n const walk = (task: Task): void => {\n if (task.type === 'test') {\n events.push([task.id, 'test-prepare', undefined]);\n events.push([task.id, 'test-finished', undefined]);\n return;\n }\n // Don't emit suite events for the file root itself — reporters track the\n // module separately; only inner suites get suite-prepare/finished.\n const emitSuiteEvents = task.type === 'suite' && !isFile(task);\n if (emitSuiteEvents) {\n events.push([task.id, 'suite-prepare', undefined]);\n }\n for (const child of task.tasks) walk(child);\n if (emitSuiteEvents) {\n events.push([task.id, 'suite-finished', undefined]);\n }\n };\n walk(file);\n return events;\n}\n\n/**\n * Deterministic synthetic id for a file that failed before any task graph could\n * be built (bundle/inject error). Uses the same `generateHash` Vitest uses, on\n * the root-relative path + projectName, matching `generateFileHash` semantics so\n * the id is stable across runs and won't collide with real file ids.\n */\nexport function syntheticFileId(relativePath: string, projectName: string | undefined): string {\n return generateHash(`${relativePath}${projectName ?? ''}`);\n}\n"],"mappings":"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"}
@@ -8,6 +8,8 @@ import { EventEmitter } from "node:events";
8
8
  import { Server as Server$1, ServerOptions as ServerOptions$1 } from "node:https";
9
9
  import * as net from "node:net";
10
10
  import { Duplex, DuplexOptions, Stream } from "node:stream";
11
+ import * as _$esbuild from "esbuild";
12
+ import esbuild$1 from "esbuild";
11
13
  import { SecureContextOptions } from "node:tls";
12
14
  import { URL as URL$1 } from "node:url";
13
15
  import { ZlibOptions } from "node:zlib";
@@ -16,7 +18,7 @@ import SassEmbedded from "sass-embedded";
16
18
  import Less from "less";
17
19
  import Stylus from "stylus";
18
20
 
19
- //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/hmrPayload.d.ts
21
+ //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.28.1_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/hmrPayload.d.ts
20
22
  type HotPayload = ConnectedPayload | PingPayload | UpdatePayload | FullReloadPayload | CustomPayload | ErrorPayload | PrunePayload;
21
23
  interface ConnectedPayload {
22
24
  type: 'connected';
@@ -81,7 +83,7 @@ interface ErrorPayload {
81
83
  };
82
84
  }
83
85
  //#endregion
84
- //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts
86
+ //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.28.1_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts
85
87
  //#region src/shared/invokeMethods.d.ts
86
88
  interface FetchFunctionOptions {
87
89
  cached?: boolean;
@@ -134,7 +136,7 @@ interface ViteFetchResult {
134
136
  invalidate: boolean;
135
137
  }
136
138
  //#endregion
137
- //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/customEvent.d.ts
139
+ //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.28.1_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/customEvent.d.ts
138
140
  interface CustomEventMap {
139
141
  // client events
140
142
  'vite:beforeUpdate': UpdatePayload;
@@ -6181,34 +6183,13 @@ interface TransformOptions$1 extends BindingEnhancedTransformOptions {}
6181
6183
  * @category Utilities
6182
6184
  */
6183
6185
  //#endregion
6184
- //#region node_modules/.pnpm/esbuild@0.27.7/node_modules/esbuild/lib/main.d.ts
6185
- // Note: These declarations exist to avoid type errors when you omit "dom" from
6186
- // "lib" in your "tsconfig.json" file. TypeScript confusingly declares the
6187
- // global "WebAssembly" type in "lib.dom.d.ts" even though it has nothing to do
6188
- // with the browser DOM and is present in many non-browser JavaScript runtimes
6189
- // (e.g. node and deno). Declaring it here allows esbuild's API to be used in
6190
- // these scenarios.
6191
- //
6192
- // There's an open issue about getting this problem corrected (although these
6193
- // declarations will need to remain even if this is fixed for backward
6194
- // compatibility with older TypeScript versions):
6195
- //
6196
- // https://github.com/microsoft/TypeScript-DOM-lib-generator/issues/826
6197
- //
6198
- declare global {
6199
- namespace WebAssembly {
6200
- interface Module {}
6201
- }
6202
- interface URL {}
6203
- }
6204
- //#endregion
6205
- //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/internal/esbuildOptions.d.ts
6186
+ //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.28.1_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/internal/esbuildOptions.d.ts
6206
6187
  /* eslint-enable @typescript-eslint/ban-ts-comment */
6207
6188
  type EsbuildTarget = string | string[];
6208
6189
  type EsbuildTransformOptions = esbuild$1.TransformOptions;
6209
6190
  type DepsOptimizerEsbuildOptions = Omit<esbuild$1.BuildOptions, 'bundle' | 'entryPoints' | 'external' | 'write' | 'watch' | 'outdir' | 'outfile' | 'outbase' | 'outExtension' | 'metafile'>;
6210
6191
  //#endregion
6211
- //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/metadata.d.ts
6192
+ //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.28.1_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/metadata.d.ts
6212
6193
  interface AssetMetadata {
6213
6194
  importedAssets: Set<string>;
6214
6195
  importedCss: Set<string>;
@@ -6526,16 +6507,16 @@ interface SourceMapOptions$1 {
6526
6507
  url?: string | 'inline';
6527
6508
  }
6528
6509
  //#endregion
6529
- //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/internal/terserOptions.d.ts
6510
+ //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.28.1_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/internal/terserOptions.d.ts
6530
6511
  /* eslint-enable @typescript-eslint/ban-ts-comment */
6531
6512
  type TerserMinifyOptions = MinifyOptions;
6532
6513
  //#endregion
6533
- //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/internal/lightningcssOptions.d.ts
6514
+ //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.28.1_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/internal/lightningcssOptions.d.ts
6534
6515
  /* eslint-enable @typescript-eslint/ban-ts-comment */
6535
6516
  type LightningCSSOptions = Omit<Lightningcss.BundleAsyncOptions<Lightningcss.CustomAtRules>, 'filename' | 'resolver' | 'minify' | 'sourceMap' | 'analyzeDependencies' // properties not overridden by Vite, but does not make sense to set by end users
6536
6517
  | 'inputSourceMap' | 'projectRoot'>;
6537
6518
  //#endregion
6538
- //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/internal/cssPreprocessorOptions.d.ts
6519
+ //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.28.1_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/internal/cssPreprocessorOptions.d.ts
6539
6520
  /* eslint-enable @typescript-eslint/ban-ts-comment */
6540
6521
  // https://github.com/type-challenges/type-challenges/issues/29285
6541
6522
  type IsAny<T> = boolean extends (T extends never ? true : false) ? true : false;
@@ -6554,7 +6535,7 @@ declare global {
6554
6535
  interface HTMLLinkElement {}
6555
6536
  }
6556
6537
  //#endregion
6557
- //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/importGlob.d.ts
6538
+ //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.28.1_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/types/importGlob.d.ts
6558
6539
  /**
6559
6540
  * Declare Worker in case DOM is not added to the tsconfig lib causing
6560
6541
  * Worker interface is not defined. For developers with DOM lib added,
@@ -6565,7 +6546,7 @@ declare global {
6565
6546
  interface Worker {}
6566
6547
  }
6567
6548
  //#endregion
6568
- //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/dist/node/index.d.ts
6549
+ //#region node_modules/.pnpm/vite@8.0.8_@types+node@25.6.0_esbuild@0.28.1_jiti@2.6.1_terser@5.46.1_tsx@4.21.0_yaml@2.8.3/node_modules/vite/dist/node/index.d.ts
6569
6550
  //#region \0rolldown/runtime.js
6570
6551
  //#endregion
6571
6552
  //#region ../../node_modules/.pnpm/@vitejs+devtools@0.1.13_typescript@6.0.2_vite@packages+vite/node_modules/@vitejs/devtools/dist/cli-commands.d.ts
@@ -10213,7 +10194,7 @@ declare const aitDevtoolsPlugin: _$unplugin.UnpluginInstance<AitDevtoolsOptions
10213
10194
  declare const vite: (options?: AitDevtoolsOptions | undefined) => Plugin<any> | Plugin<any>[];
10214
10195
  declare const webpack: (options?: AitDevtoolsOptions | undefined) => WebpackPluginInstance;
10215
10196
  declare const rollup: (options?: AitDevtoolsOptions | undefined) => _$unplugin.RollupPlugin<any> | _$unplugin.RollupPlugin<any>[];
10216
- declare const esbuild: (options?: AitDevtoolsOptions | undefined) => _$unplugin.EsbuildPlugin;
10197
+ declare const esbuild: (options?: AitDevtoolsOptions | undefined) => _$esbuild.Plugin;
10217
10198
  declare const rspack: (options?: AitDevtoolsOptions | undefined) => RspackPluginInstance;
10218
10199
  //#endregion
10219
10200
  export { AitDevtoolsOptions, aitDevtoolsPlugin as default, esbuild, resolveTunnelOption, rollup, rspack, vite, webpack };