diff --git a/harness/cli.ts b/harness/cli.ts index 3f34391..b4e79fa 100644 --- a/harness/cli.ts +++ b/harness/cli.ts @@ -54,9 +54,10 @@ export const parseCount = ( raw: string | undefined, fallback: number, ): number | undefined => { - if (raw === undefined) return fallback; - const value = Number(raw); - return Number.isSafeInteger(value) && value >= 1 ? value : undefined; + const value = raw === undefined ? fallback : Number(raw); + return raw === undefined || (Number.isSafeInteger(value) && value >= 1) + ? value + : undefined; }; export const formatLiveLine = (line: string): string => { diff --git a/harness/gate.ts b/harness/gate.ts index 9ed29f0..33286cf 100644 --- a/harness/gate.ts +++ b/harness/gate.ts @@ -147,35 +147,33 @@ function runOneCheck( command: readonly string[], ): string | undefined { const [executable, ...rest] = command; - if (executable === undefined || executable.length === 0) { - return `${name} failed:\nempty command`; - } - const started = Date.now(); - process.stderr.write(`gate: starting ${name}: ${command.join(" ")}\n`); - const result = spawnSync(executable, rest, { - cwd: context.repo, - encoding: "utf8", - env: context.environment, - // 0 => undefined => no timeout: the full gate must run long browser/build checks. - timeout: context.timeoutMs > 0 ? context.timeoutMs : undefined, - }); - const elapsedMs = Date.now() - started; - process.stderr.write( - `gate: finished ${name} in ${String(elapsedMs)}ms ` + - `status=${String(result.status)} signal=${String(result.signal)} ` + - `error=${result.error === undefined ? "none" : String(result.error)}\n`, - ); - if (isToolMissing(result, executable)) { - return undefined; - } - if ( - result.status === 0 && - result.signal === null && - result.error === undefined - ) { - return undefined; + let failure: string | undefined = `${name} failed:\nempty command`; + if (executable !== undefined && executable.length > 0) { + const started = Date.now(); + process.stderr.write(`gate: starting ${name}: ${command.join(" ")}\n`); + const result = spawnSync(executable, rest, { + cwd: context.repo, + encoding: "utf8", + env: context.environment, + // 0 => undefined => no timeout: the full gate must run long browser/build checks. + timeout: context.timeoutMs > 0 ? context.timeoutMs : undefined, + }); + const elapsedMs = Date.now() - started; + process.stderr.write( + `gate: finished ${name} in ${String(elapsedMs)}ms ` + + `status=${String(result.status)} signal=${String(result.signal)} ` + + `error=${result.error === undefined ? "none" : String(result.error)}\n`, + ); + const hasFailed = + result.status !== 0 || + result.signal !== null || + result.error !== undefined; + failure = + hasFailed && !isToolMissing(result, executable) + ? `${name} failed:\n${describeFailure(result, command)}` + : undefined; } - return `${name} failed:\n${describeFailure(result, command)}`; + return failure; } /** diff --git a/harness/logging.ts b/harness/logging.ts index e2d811d..f9a109c 100644 --- a/harness/logging.ts +++ b/harness/logging.ts @@ -42,6 +42,9 @@ interface LogFile extends ParsedLog { const isRec = (value: unknown): value is Rec => typeof value === "object" && value !== null && !Array.isArray(value); +const maybe = (value: T | undefined): T | undefined => value; +const pair = (first: A, second: B | undefined): [A, B] | undefined => + second === undefined ? undefined : [first, second]; const compact = (value: string): string => value.replaceAll(/\s+/gu, " ").trim(); @@ -83,7 +86,7 @@ const numberFrom = (rec: Rec, keys: readonly string[]): number | undefined => { const usageTotal = (source: Rec): number | undefined => { const total = numberFrom(source, TOTAL_KEYS); - if (total !== undefined) return total; + if (total !== undefined) return maybe(total); const input = numberFrom(source, INPUT_KEYS); const output = numberFrom(source, OUTPUT_KEYS); return input === undefined && output === undefined @@ -100,28 +103,29 @@ const toolText = (part: Rec): string => { }; const textPart = (content: unknown): string | undefined => { - if (!Array.isArray(content)) return undefined; + if (!Array.isArray(content)) return maybe(undefined); for (const part of content) { if (!isRec(part)) continue; - if (part.type === "text" && typeof part.text === "string") return part.text; + if (part.type === "text" && typeof part.text === "string") + return maybe(part.text); if (part.type === "tool_use" && typeof part.name === "string") - return toolText(part); + return maybe(toolText(part)); } - return undefined; + return maybe(undefined); }; const agentText = (value: Rec): string | undefined => { const item = isRec(value.item) ? value.item : undefined; if (item?.type === "agent_message" && typeof item.text === "string") - return item.text; + return maybe(item.text); const message = isRec(value.message) ? value.message : undefined; return textPart(message?.content); }; const summary = (value: Rec): [number, string] | undefined => { - if (typeof value.result === "string") return [4, value.result]; + if (typeof value.result === "string") return pair(4, value.result); const text = agentText(value); - if (text !== undefined) return [3, text]; + if (text !== undefined) return pair(3, text); const usage = isRec(value.usage) ? usageTotal(value.usage) : undefined; return usage === undefined ? undefined @@ -153,19 +157,16 @@ const keyedUsage = ( lineNumber: number, ): readonly [string, number] | undefined => { const direct = isRec(value.usage) ? usageTotal(value.usage) : undefined; - if (direct !== undefined) - return [ - value.type === "result" ? "result" : `direct-${String(lineNumber)}`, - direct, - ]; + const key = + value.type === "result" ? "result" : `direct-${String(lineNumber)}`; + if (direct !== undefined) return pair(key, direct); const message = isRec(value.message) ? value.message : undefined; const fallback = isRec(message?.usage) ? usageTotal(message.usage) : undefined; - if (fallback === undefined) return undefined; const id = typeof message?.id === "string" ? message.id : `line-${String(lineNumber)}`; - return [`fallback-${id}-${String(fallback)}`, fallback]; + return pair(`fallback-${id}-${String(fallback)}`, fallback); }; const addUsage = ( diff --git a/harness/package.json b/harness/package.json index c2e168e..503cec1 100644 --- a/harness/package.json +++ b/harness/package.json @@ -39,6 +39,7 @@ "@playwright/test": "latest", "@secretlint/secretlint-rule-preset-recommend": "latest", "@stoplight/spectral-cli": "latest", + "@typescript/native": "npm:typescript@~7.0.2", "@types/node": "latest", "@vitest/coverage-v8": "latest", "ajv": "latest", @@ -75,7 +76,7 @@ "stylelint-media-use-custom-media": "latest", "stylelint-plugin-defensive-css": "latest", "tsx": "latest", - "typescript": "~5.9.3", + "typescript": "npm:@typescript/typescript6@~6.0.2", "typescript-eslint": "latest", "vite": "latest", "vitest": "latest" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c3b9464..0624926 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -34,10 +34,10 @@ importers: version: 30.0.1 vite: specifier: latest - version: 8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) + version: 8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) vitest: specifier: latest - version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@26.4.0)(@vitest/coverage-v8@4.1.11)(jsdom@30.0.1)(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@26.4.1)(@vitest/coverage-v8@4.1.11)(jsdom@30.0.1)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) harness: devDependencies: @@ -49,7 +49,7 @@ importers: version: 10.0.1(eslint@10.9.1(jiti@2.7.0)) '@eslint/json': specifier: latest - version: 2.0.1 + version: 2.1.0 '@google/design.md': specifier: latest version: 0.4.0 @@ -67,7 +67,10 @@ importers: version: 6.16.3 '@types/node': specifier: latest - version: 26.4.0 + version: 26.4.1 + '@typescript/native': + specifier: npm:typescript@~7.0.2 + version: typescript@7.0.2 '@vitest/coverage-v8': specifier: latest version: 4.1.11(vitest@4.1.11) @@ -85,7 +88,7 @@ importers: version: 5.1.0(ajv@8.20.0) cspell: specifier: latest - version: 10.1.1 + version: 10.2.0 dependency-cruiser: specifier: latest version: 18.2.0 @@ -100,13 +103,13 @@ importers: version: 0.4.0 eslint-plugin-import-x: specifier: latest - version: 4.17.1(@typescript-eslint/utils@8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.4.0)(eslint@10.9.1(jiti@2.7.0)) + version: 4.17.1(@typescript-eslint/utils@8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)))(eslint-import-resolver-node@0.4.0)(eslint@10.9.1(jiti@2.7.0)) eslint-plugin-jsdoc: specifier: latest - version: 64.3.2(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3) + version: 64.3.4(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) eslint-plugin-n: specifier: latest - version: 18.3.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3) + version: 18.3.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) eslint-plugin-no-only-tests: specifier: latest version: 3.4.0 @@ -130,10 +133,10 @@ importers: version: 4.9.0 globals: specifier: latest - version: 17.11.0 + version: 17.12.0 html-validate: specifier: latest - version: 11.11.0(@vitest/expect@4.1.11)(vitest@4.1.11) + version: 11.12.0(@vitest/expect@4.1.11)(vitest@4.1.11) jiti: specifier: latest version: 2.7.0 @@ -142,7 +145,7 @@ importers: version: 30.0.1 knip: specifier: latest - version: 6.33.0 + version: 6.34.0 lighthouse: specifier: latest version: 13.4.1(@opentelemetry/core@2.10.0(@opentelemetry/api@1.9.1))(yauzl@2.10.0) @@ -157,34 +160,34 @@ importers: version: 13.0.5 stylelint: specifier: latest - version: 17.14.1(typescript@5.9.3) + version: 17.14.1(@typescript/typescript6@6.0.2) stylelint-config-standard: specifier: latest - version: 40.0.0(stylelint@17.14.1(typescript@5.9.3)) + version: 40.0.0(stylelint@17.14.1(@typescript/typescript6@6.0.2)) stylelint-declaration-strict-value: specifier: latest - version: 1.12.1(stylelint@17.14.1(typescript@5.9.3)) + version: 1.12.1(stylelint@17.14.1(@typescript/typescript6@6.0.2)) stylelint-media-use-custom-media: specifier: latest - version: 4.1.0(stylelint@17.14.1(typescript@5.9.3)) + version: 4.1.0(stylelint@17.14.1(@typescript/typescript6@6.0.2)) stylelint-plugin-defensive-css: specifier: latest - version: 2.9.6(stylelint@17.14.1(typescript@5.9.3)) + version: 2.9.6(stylelint@17.14.1(@typescript/typescript6@6.0.2)) tsx: specifier: latest version: 4.23.13 typescript: - specifier: ~5.9.3 - version: 5.9.3 + specifier: npm:@typescript/typescript6@~6.0.2 + version: '@typescript/typescript6@6.0.2' typescript-eslint: specifier: latest - version: 8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3) + version: 8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) vite: specifier: latest - version: 8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) + version: 8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) vitest: specifier: latest - version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@26.4.0)(@vitest/coverage-v8@4.1.11)(jsdom@30.0.1)(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) + version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@26.4.1)(@vitest/coverage-v8@4.1.11)(jsdom@30.0.1)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) packages: @@ -245,36 +248,36 @@ packages: '@cacheable/utils@2.5.0': resolution: {integrity: sha512-buipgOVDkkPXNR5+xBpDw7Zk2n1EvU7qBJCNUcL7rhQ//kfpOXPAvQ511Os0vpLYJ1pZnvudNytkQt2hst3wqA==} - '@cspell/cspell-bundled-dicts@10.1.1': - resolution: {integrity: sha512-EvPFPWwEPbPn2pIAD4D6PRRFbuM5OCiYfY0GhmpQyWWteCwR4gRmRs06UOWqfSRKHYBL/rUqcr3OAfiF5ctAjw==} + '@cspell/cspell-bundled-dicts@10.2.0': + resolution: {integrity: sha512-pNdBzc3+njM1A8cp0t/az+FbwBoiIzKCJ15gHVdEtynGOH+GLKzpbNeRAXe3ci+BYUjQQXlQrCKalXaa+ZXVtQ==} engines: {node: '>=22.18.0'} - '@cspell/cspell-json-reporter@10.1.1': - resolution: {integrity: sha512-6makYERzgDCBGeOG7jSgZBOWxJKxBV6k0UQ60xDBZNrccACP45q8zO9YIXdHAYLmHB52l3Iz2vifeG7zhue7jA==} + '@cspell/cspell-json-reporter@10.2.0': + resolution: {integrity: sha512-2iKTU/UPkSV9O4EzWSFreqM4/RTLoYnvCA9dmh9hJnmarYu/eDJk1CIVu+HgMlOiyCI3cgVux+649vJ0T2dHrA==} engines: {node: '>=22.18.0'} - '@cspell/cspell-performance-monitor@10.1.1': - resolution: {integrity: sha512-M3Bq+K0jmbnAE2dWB8vG/TljagcKWuILTpcf6sIMB/jTaT7QH9FyzVp0Q6srlN3GEdSBwFBqrfWCorkjRUd0cQ==} + '@cspell/cspell-performance-monitor@10.2.0': + resolution: {integrity: sha512-Wzh984VNI+nkNiVSC4yXbzdVhVnxtxcvtCmslVhk7wc0nmwN5r9M4TQ1k5tSOihVMJn4iV3+fy3TUjkrSsppFA==} engines: {node: '>=22.18.0'} - '@cspell/cspell-pipe@10.1.1': - resolution: {integrity: sha512-WOuL9zdcl38b9P5Kpco3c1vg5v82bSWZ7LVeARbyrOmW60HxS8uP4nkbCGeU6pINvJCs0JUQxEZCRMHuEF0dfQ==} + '@cspell/cspell-pipe@10.2.0': + resolution: {integrity: sha512-BlA7k9kjgH7LxA3DZGRvOo2Cs9wArR0ux6gvmweoyD+zbOsZquTfrCwnU9IoctTy7HjuYrsE7mvCCN6xP11E7g==} engines: {node: '>=22.18.0'} - '@cspell/cspell-resolver@10.1.1': - resolution: {integrity: sha512-bbsykc5c7dDdPTDFdsY0GKwXlflDDaTUycAegziFLCcp8b/q1txQmqBxx95ok1pjpU10sWxiJztZZRayFcM5sg==} + '@cspell/cspell-resolver@10.2.0': + resolution: {integrity: sha512-m94I4iTzWaklOr+eNxy/kgpcJYS9dMzeEsZKV6uprVCPNLNn63Ic+ChadNErwV2ii3tiNLAkn8VJy84oe2h1YA==} engines: {node: '>=22.18.0'} - '@cspell/cspell-service-bus@10.1.1': - resolution: {integrity: sha512-Z3BUsVllqyAoJSGXcyFp0hXtBVKEfrxVcSy3UPoSoLW9gZZjXmFwOorhga3+fMseC9VRK3L6mKSccn9YGAjsnA==} + '@cspell/cspell-service-bus@10.2.0': + resolution: {integrity: sha512-r061UxqmEwZK+XiW0dnbE6r7nKHNavQJ4PVw2zqzBVtcFj9YU9LCpOZx4mL49IlmCWxy7jf2jAD9w8nFPn1pWg==} engines: {node: '>=22.18.0'} - '@cspell/cspell-types@10.1.1': - resolution: {integrity: sha512-lsc+/pazJQ47Zy7qyuFiQRZzco+kBSUmAtCzbmT96pFpAVxR+b4A8qRBoTdiq4OXBRXRT+CqWMNynSiwQJWM6g==} + '@cspell/cspell-types@10.2.0': + resolution: {integrity: sha512-tkmOVCm2XzPUipa8eIu88ShRogjJ5RIen3y9kzBn51re5Nmjw4HDWRLbeBP1WTGFYR7bMi2h0ybnH0BuBCA29g==} engines: {node: '>=22.18.0'} - '@cspell/cspell-worker@10.1.1': - resolution: {integrity: sha512-X9Ehif6c/9BRIODBjWMr0paHQrY3Jw7q0FWeSdxPZrnKhgJ+cX4vtvqlSD1dGXMV2/fGh10p1HznuDhNlQ4tjg==} + '@cspell/cspell-worker@10.2.0': + resolution: {integrity: sha512-6yom68ucNQIUA56gEsXtoquM55AeQBKaMe/a35a91HIvB7AyhrTRTTeheuE/Gl2FUyszHecdewC6sbYELaAsvA==} engines: {node: '>=22.18.0'} '@cspell/dict-ada@4.1.1': @@ -459,24 +462,24 @@ packages: '@cspell/dict-zig@1.0.0': resolution: {integrity: sha512-XibBIxBlVosU06+M6uHWkFeT0/pW5WajDRYdXG2CgHnq85b0TI/Ks0FuBJykmsgi2CAD3Qtx8UHFEtl/DSFnAQ==} - '@cspell/dynamic-import@10.1.1': - resolution: {integrity: sha512-bNI+Gp0Rnx/WyOvni4TksvNWeQvCfyQAhZRIGMt+9bbLyniVagnftnoahV/yoF9h3WWxU3tL2eaVZx9B5dijuQ==} + '@cspell/dynamic-import@10.2.0': + resolution: {integrity: sha512-FpmedZcu9qcN14/awVPISEBi3A1nPR2zyLslvSRhp6GPJt0YsRVBR5BDKxbLNIGqvM2xg3ZLjo2eGTjThiyHxA==} engines: {node: '>=22.18.0'} - '@cspell/filetypes@10.1.1': - resolution: {integrity: sha512-sSREdKF4roC4QM2n0qUgv10W74nUO7CUhDTCz3Sd3mHlUM46WI8QqbAIZFNTm5U4SuVaVAmXzsZvM69O/rOjvQ==} + '@cspell/filetypes@10.2.0': + resolution: {integrity: sha512-1I1wnjGqJkQqoHWZ8I28HuMPLG7yzJOh//rGGHBZE6Ly2loJWhk4+/Fa4wEoZ71Ss1HQii9d7smB0B/w1dqGDA==} engines: {node: '>=22.18.0'} - '@cspell/rpc@10.1.1': - resolution: {integrity: sha512-sWQ++D8++6pAv8FSCfJOpc/t/yoK1r0xwcBb23SenOA9nvcmI7CwAp2FK2oByLnDTe+Bh6mQWtRRZSr3gfoGhQ==} + '@cspell/rpc@10.2.0': + resolution: {integrity: sha512-K8g80OcuhsGqFQvX2kjhgCGs7mOQf5lSeR2Jg34Uq6VQQ/WapJ9pE7CK6R3RKFjhWT8hlrbALiByk9Mj+7GyeQ==} engines: {node: '>=22.18.0'} - '@cspell/strong-weak-map@10.1.1': - resolution: {integrity: sha512-s7PsRDfZO5J1dB0gtlaeNxwaibDUCYIFlbdzMawlUejR/UNrhDgDIr48OScoOt5SaUHijEVpFDkrWVyCs5R7oQ==} + '@cspell/strong-weak-map@10.2.0': + resolution: {integrity: sha512-fBLmVOakQ42Wy+7ZnIdnOSk4/WtJFoNLMEG4yqX/cGML3tIh06PTd9UphwltuwPDCL/tXJQsN/LOY8iLx6hmfw==} engines: {node: '>=22.18.0'} - '@cspell/url@10.1.1': - resolution: {integrity: sha512-5O2bZ5H/zPomc4qshTpfCbIltallsdQNwlw6j/Gl+eVElrlFsgc0kzuYJdk1BMnpA0ZXPXYH7XVKCGIKzLcr2g==} + '@cspell/url@10.2.0': + resolution: {integrity: sha512-TIgG/pCkgo3SiayAbV0CorYPdnaNkYWfJFKHhSBTKIdBDwK4YwcbbDlXWGCTJ6gxhhwnrNhcw4jDjz8jejKS4A==} engines: {node: '>=22.18.0'} '@csstools/color-helpers@6.1.1': @@ -751,8 +754,8 @@ packages: eslint: optional: true - '@eslint/json@2.0.1': - resolution: {integrity: sha512-Thz2j92ceUF3Bq/0TuWb3MWn3Z+Cwc8k5ptF0fakl2D4Mp8mSx07Xr1aQM4R5NoihzarWUdxfOmQ8DesGy4jOg==} + '@eslint/json@2.1.0': + resolution: {integrity: sha512-Zcg+SXHmdAlo+0ZFwxOvDQye2zxhaFCu/CPdJTsMDSEYZXkX67AWvdwzhI/YdPYNW68Q1Tr1Rv2SsuUZydnjBg==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/object-schema@3.0.5': @@ -1582,8 +1585,8 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@26.4.0': - resolution: {integrity: sha512-faiGnoIrLH/V8cibOMEAZ8pMw6oXqSukl29ra4mN8GdaB2ZewzeaLj+INpV5N+Z1eKWzY+IzaIZH2EIR6YZRNQ==} + '@types/node@26.4.1': + resolution: {integrity: sha512-k97ENvZWtvA6yqz5/FS6a7duDgOPEeOQOc2iKS/nY6mX6qJUKtLnWzQS+Xj6tXweyj6ZcTAK2Qecetnvi9nCLA==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1603,16 +1606,16 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.68.0': - resolution: {integrity: sha512-WASHDpCm6qO5jj9g1a+8NiW5+GCkAyLReR56/4VruYmNgfUmqpxOfZ2Yfb8xGfJPWv5Qi6LSD8sXdces3vbp/Q==} + '@typescript-eslint/eslint-plugin@8.69.0': + resolution: {integrity: sha512-t5jQTKPIgVW1PE6dR6H6Qz5gm8zjMlX5/2gRaOGd9eO6V7J+tQc6iWKukEe7dY8u9HyYasQ0yfF0/FSSTEO2gA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.68.0 + '@typescript-eslint/parser': ^8.69.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.68.0': - resolution: {integrity: sha512-fHq2VC1kpyYfvEcbiMjOpySY4WS7voEp89yAThrHRX5sm9j2lzYppCb2umFMEed4fWcyeLjHxrz0mpjNBaBxMQ==} + '@typescript-eslint/parser@8.69.0': + resolution: {integrity: sha512-l4b0DhWioGg6Gt2ebGlvfkFMOjRsauxtsnDRwUSRX1qHq3HdTfQHV8wW9zEXeciai6HfeaKOedQn2Zoofx3WBw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -1624,18 +1627,34 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/project-service@8.69.0': + resolution: {integrity: sha512-yi4obFrHMmnsesWehHbkg9zMA7Jt8cXT+mKM08G999pH1yT6nqgsHx7MYm0uY1wAj8CqiBXYRJ7WAT0QdQHQXg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/scope-manager@8.68.0': resolution: {integrity: sha512-T5eXpcaJNg8bhjHJ8Rjp68Vq/QBteYtTKY8TZqVNPaUbuz0f6jI9t6aDkylwvalpAB9XTTFeFOjrjXAZ3YvmVA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.69.0': + resolution: {integrity: sha512-ewfspqWvSxKSOaplqAUNbaSFO0eB6w1EtQ+esfYFRm3614Ty4uNtExkcbgd6nWsXphbqKyf9ZYdbZdv2xEoWEQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/tsconfig-utils@8.68.0': resolution: {integrity: sha512-F7zrGQfiJHojPwi8vhxZQC1tWtJzvL74cK/nqri2lk8YUXvYaYwl263xOJ69jDWPUk1hmcdoayFwk9lX09npVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.68.0': - resolution: {integrity: sha512-X77zqoY1EjeWGs/0JNxeaMfp5C5lIz4Tw8y66F1Ne8Faq6g424sBNYM6xBAqElfGZPLpWS+CZAp0DXyKDzWiHg==} + '@typescript-eslint/tsconfig-utils@8.69.0': + resolution: {integrity: sha512-xNqK7YTDZsLniQMV/4rpFR8Z5JlqeRvVjuG1YgF/mdPVH84HSD19L8CczMA0qg2RfwEV231GHH3VnToJDo4MfQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/type-utils@8.69.0': + resolution: {integrity: sha512-ZfoJAVg3JZndQEpEl9petVlxau3lRuElc4HRMuAlLCf8to04/iHz692RUSNmXKDjEuJmIL+KZ2/BsOcBc16dsA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -1645,12 +1664,22 @@ packages: resolution: {integrity: sha512-9RnpsGJjrAllCMefGVVsImJM24YurhC0Q1h4UbvivtvOqXmR/vEJge2OoE++z9m6hyg8T1Q8t5SNT6tHSbrxcg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.69.0': + resolution: {integrity: sha512-K3VrubUPhlo9VDBS6QdI8YB5j7ClpqLRdefcz6PFrhnwicehBweqQ9Evhl4l+FYz0HdDmMqIiSX0aldGRYtDCA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.68.0': resolution: {integrity: sha512-OKKsD0tYmoNiU5PW2zehO1yO56jYOm1ShYlxon/Z0SJNidAkdVg86eg9ruRuoXf8xfnuWZGbwDsStkoXbZtIIA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/typescript-estree@8.69.0': + resolution: {integrity: sha512-AdFkgqck3Vudb/kWnxlyafU/4aBhHrbQ9locP2N4psXTy5mOBg0SHJumnLvx7r6g1gV4DKvUFwV2nJZBoqOD8w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/utils@8.68.0': resolution: {integrity: sha512-PB5gJMMOg0Q5P1tsgWtEAqQacJXq0qEqRHDX/YJ4FaTMLfZPpHB3gjl2EJuiZyPABxmj4ZQYiY9m1bdAJ5y7tQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1658,10 +1687,145 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/utils@8.69.0': + resolution: {integrity: sha512-tUbx60BBqQa31kXF5MCsOOLL5E/WzUuxIn7YpAvq+eaUlqvk8/NXnXMBNAdLCr0icjkzem7iUA5QqWHe/hJ1aw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/visitor-keys@8.68.0': resolution: {integrity: sha512-YR65gGdGvTUAWLldC3xLOvOzamdGzB4A5/N8rehEaHs3Zvoe39BhgY+u0SPch1OvrVTfLcc55wsSgK2NcnTS/A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.69.0': + resolution: {integrity: sha512-+rmdgPA+EXkNgKYvHvFfhrs35utXbwaC5PGpDquSXcoXQDKUA5UjV0LmTucG/4JXkM31BTu4TilHtrN8IVBe8w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript/typescript-aix-ppc64@7.0.2': + resolution: {integrity: sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [aix] + + '@typescript/typescript-darwin-arm64@7.0.2': + resolution: {integrity: sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [darwin] + + '@typescript/typescript-darwin-x64@7.0.2': + resolution: {integrity: sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [darwin] + + '@typescript/typescript-freebsd-arm64@7.0.2': + resolution: {integrity: sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [freebsd] + + '@typescript/typescript-freebsd-x64@7.0.2': + resolution: {integrity: sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [freebsd] + + '@typescript/typescript-linux-arm64@7.0.2': + resolution: {integrity: sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [linux] + + '@typescript/typescript-linux-arm@7.0.2': + resolution: {integrity: sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==} + engines: {node: '>=16.20.0'} + cpu: [arm] + os: [linux] + + '@typescript/typescript-linux-loong64@7.0.2': + resolution: {integrity: sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==} + engines: {node: '>=16.20.0'} + cpu: [loong64] + os: [linux] + + '@typescript/typescript-linux-mips64el@7.0.2': + resolution: {integrity: sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==} + engines: {node: '>=16.20.0'} + cpu: [mips64el] + os: [linux] + + '@typescript/typescript-linux-ppc64@7.0.2': + resolution: {integrity: sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [linux] + + '@typescript/typescript-linux-riscv64@7.0.2': + resolution: {integrity: sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==} + engines: {node: '>=16.20.0'} + cpu: [riscv64] + os: [linux] + + '@typescript/typescript-linux-s390x@7.0.2': + resolution: {integrity: sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==} + engines: {node: '>=16.20.0'} + cpu: [s390x] + os: [linux] + + '@typescript/typescript-linux-x64@7.0.2': + resolution: {integrity: sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [linux] + + '@typescript/typescript-netbsd-arm64@7.0.2': + resolution: {integrity: sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [netbsd] + + '@typescript/typescript-netbsd-x64@7.0.2': + resolution: {integrity: sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [netbsd] + + '@typescript/typescript-openbsd-arm64@7.0.2': + resolution: {integrity: sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [openbsd] + + '@typescript/typescript-openbsd-x64@7.0.2': + resolution: {integrity: sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [openbsd] + + '@typescript/typescript-sunos-x64@7.0.2': + resolution: {integrity: sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [sunos] + + '@typescript/typescript-win32-arm64@7.0.2': + resolution: {integrity: sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [win32] + + '@typescript/typescript-win32-x64@7.0.2': + resolution: {integrity: sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [win32] + + '@typescript/typescript6@6.0.2': + resolution: {integrity: sha512-mbCddXd+jm7hfx7w2YU64/Av4/NqqeG3GoRZgxPcgoTxYjhrcfJRw9ULch71SS4G+Q3bOXFhRvPqjguN0Hyp5w==} + hasBin: true + '@unrs/resolver-binding-android-arm-eabi@1.12.2': resolution: {integrity: sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==} cpu: [arm] @@ -2343,44 +2507,44 @@ packages: csp_evaluator@1.1.8: resolution: {integrity: sha512-EwOnfYuNbTytvbMKsLixTrRgnjOa0WZCxGy8A9nnSYAicrdwn+T/epU/yjgymmOxlgKnvH+8wXt+7p/8ak5Feg==} - cspell-config-lib@10.1.1: - resolution: {integrity: sha512-/AgOcOxO0jmAJCkShhaPQqSNrx+QUkEOncTf2uFnIx4/gRxFwiRZ0Zrv6PyHNBTC5vY82+qB6scT5Pj30n174A==} + cspell-config-lib@10.2.0: + resolution: {integrity: sha512-QweJ6dtHm1UkguapTm3Csra6p87HiOmLKiVRAxn75tW9Yojb5fGnqLxErO5sGQZvwgWAqQeT9lrqm3ohvCJjVw==} engines: {node: '>=22.18.0'} - cspell-dictionary@10.1.1: - resolution: {integrity: sha512-94eW96hjAa3ASAjtmWkC1h1S7GLNHEoDftViilZ/nQzHxeYHp8kU73/0Jqjawr3tzfNvdKV0Bq/8zgeEp1LNrA==} + cspell-dictionary@10.2.0: + resolution: {integrity: sha512-5r7HBf3nkST6mwsFvRV51i3ETcqFuDQoYK03EqzZYTX4ZLVR/nGrRSOZuFW+d9yU3IKjLWgY14Ab4dDKmBcw7A==} engines: {node: '>=22.18.0'} - cspell-gitignore@10.1.1: - resolution: {integrity: sha512-vYQjziKDH8qQzj/gHHJPKwmAqwfQIHBvyqukR0Uf1WzY1X08Ns9jMl5JDRUL7ffcosDYsReIhLxy2KJrxRkrng==} + cspell-gitignore@10.2.0: + resolution: {integrity: sha512-2/b64Niu5wNlUOW6N7QBRnU8dpnCdvRfZbOgcCO5f5m0OuIbrXTsnrfHJk25w/9M9H2yv2VS8LRKPWuxGXiZpA==} engines: {node: '>=22.18.0'} hasBin: true - cspell-glob@10.1.1: - resolution: {integrity: sha512-+xRfPD/KHU3JCMPK3Blt3AchW6KAzsyrNUdNns9mmkDRiej5Vl19kdN3eKh7B/0XoAKnX/v67tucCu/jr8MTug==} + cspell-glob@10.2.0: + resolution: {integrity: sha512-b6H3zFMkqM5OUVabAvdd4sqyziEo3fFlss73Jn2RsHY2h5PH8gOwM1WsWQOcbDSEn7tj5NsA9a3iETXMkY1thw==} engines: {node: '>=22.18.0'} - cspell-grammar@10.1.1: - resolution: {integrity: sha512-mOHufusJEld/q8ZfC+AhequR515QIOHC0LdD1z6PU+Mpn3GRBGJBWK56iUwHH4XX935GsUMJFIQuOoMXXcbAsw==} + cspell-grammar@10.2.0: + resolution: {integrity: sha512-CrMM0Qoh9WuputdD08n3qrJKtzoLEZArT7QhMaeZkl58fARYqmx8JgtrE9X0+GSV4Uden0zVa5o4KcdXtXUSAQ==} engines: {node: '>=22.18.0'} hasBin: true - cspell-io@10.1.1: - resolution: {integrity: sha512-Gcl2B2hKOJBqi+nf1ZnZ2XZj+VWN+AZLfQZR5dxxny3Ggy51vW8AfJX8lF8Ev/c559AkC5G7KkO2jkVuZ4SVsA==} + cspell-io@10.2.0: + resolution: {integrity: sha512-UqZcOCH+W9DhcjQGRiKJIwQaeNLGA+PKBHVmw4hvmBvuWGCH7uSiHuOeO+WrvJbolFDfZ9f7gV5ItmITgSANHg==} engines: {node: '>=22.18.0'} - cspell-lib@10.1.1: - resolution: {integrity: sha512-jckdiCU/3pkvJ21G77R2fl93R6JjpYwP+wj8qQNUewYlTl9bdhMJi8xgLb4os7CJnHD5kA59ow8tNvh45d3zDw==} + cspell-lib@10.2.0: + resolution: {integrity: sha512-uIU4RtUzodzlS39O26Q1g0AxdHNB7CndkaN40Ekmb19kKrOf49umsXhRhdzrYc/uQ9dsp4AFp/mQI5Yc1MK1NA==} engines: {node: '>=22.18.0'} - cspell-trie-lib@10.1.1: - resolution: {integrity: sha512-4ico1ebFl9lvP1Yr4pD+FxOYRS7Ct+ImV8v0KcEclxMixqNku4NoVP/CvmE1AyyVB3FN16fITN0vo3ZAR79PFw==} + cspell-trie-lib@10.2.0: + resolution: {integrity: sha512-lvEfGc/SfNfkdq9LZYQENDMuPoILsLwo2o4QHqdyic65MvmL1fZLi77O/qgSJ4aKgVja0/A8cbsdtKnFuruHbw==} engines: {node: '>=22.18.0'} peerDependencies: - '@cspell/cspell-types': 10.1.1 + '@cspell/cspell-types': 10.2.0 - cspell@10.1.1: - resolution: {integrity: sha512-imoZaB1+9gHMyFFMDBY7VbtIdDwkRJXQjs3bIfo1H+AUJnw/vMxLwXk8mnPmH7ziw2m2kyGF+rPAVUE93VEAAA==} + cspell@10.2.0: + resolution: {integrity: sha512-BZaciNlTSZ72IQtju46JlVXyXIMOdoqjU/i1KamisH1uYw1OO4HgG6T0Y8doB99s6v1WJH7W2RL2kqpfq7e1Kw==} engines: {node: '>=22.18.0'} hasBin: true @@ -2691,8 +2855,8 @@ packages: eslint-import-resolver-node: optional: true - eslint-plugin-jsdoc@64.3.2: - resolution: {integrity: sha512-9/j8KKTdLt5Gy7FbayPASLKabm9wcntcwkOJ+kidikNudqglqxjbsZBddkPwK9/6AeOyCwlwwAtuzHQzwTQP7A==} + eslint-plugin-jsdoc@64.3.4: + resolution: {integrity: sha512-aZZp44/yc6UTuH6U+cp1IVTTImfP2gd4JTuc+zMoB76ZI746avwbAqbdTejlKDFIYl6gBBhx3FG+jTRPZjnSXw==} engines: {node: ^22.22.2 || >=24.15.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 @@ -3066,8 +3230,8 @@ packages: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} - globals@17.11.0: - resolution: {integrity: sha512-Z2I8hM+PbJDXQDq3Icgpzv+mPdwr68iZUU9d5WW4FuXfDUQfkZaZuvjMv42/5crNyw154+9+VWXbYrUgDXbxNw==} + globals@17.12.0: + resolution: {integrity: sha512-cezEd/DTyyht9cvSSURyygXPfy04GtWO/5e6ZPvH7fCtjKz9PYOmuawphw1Ctd1f6C+5JypXfGD7ahNMXvevBA==} engines: {node: '>=18'} globalthis@1.0.4: @@ -3158,8 +3322,8 @@ packages: resolution: {integrity: sha512-n6l5uca7/y5joxZ3LUePhzmBFUJ+U2YWzhMa8XUTecSeSlQiZdF5XAd/Q3/WUl0VsXgUwWi8I7CNIwdI5WN1SQ==} engines: {node: '>=20.10'} - html-validate@11.11.0: - resolution: {integrity: sha512-ta6WyTPBO6/qj9OdlwW4p9rcArFWaMV4eiiYzfrrypnfSQP+VOHorkJBem1/UBhuahNB4G/YItX9Fkk8eK3rQg==} + html-validate@11.12.0: + resolution: {integrity: sha512-9i3ye9rVLj2fmm1UqZPzYmr2DwBa3yxjgl8tWAkWJGvYIYPiwD/8DOuz68hhMz4OZgSOkFBzNfBcORsXC6unfQ==} engines: {node: ^22.22.0 || >= 24.8.0} hasBin: true peerDependencies: @@ -3602,8 +3766,8 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - knip@6.33.0: - resolution: {integrity: sha512-gMXWV2bqgJcdZKsaRgl1oH5V2J0VumhJ2ujfP4M6b9ftpca2BNpvlX3Dq++vVtEey7sU67EXCvZGNkQfG2w1RQ==} + knip@6.34.0: + resolution: {integrity: sha512-bbHIrnGspYwe4EBPjjx+lvkUor0F2qfKQc5BPzPI4SOAImYA+k2ueVpIcF7d/W1LEVT7XoJUPt6zELeGZhXBgA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -4981,8 +5145,8 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typescript-eslint@8.68.0: - resolution: {integrity: sha512-MHy0Y0ynqeEbx/S45+i/bBssdy3X6KNBfmJAP35GrgtNxu2TQ5K5xsFDhAnmsq1jvpdoZOPG1LGtJo0HWqYCrQ==} + typescript-eslint@8.69.0: + resolution: {integrity: sha512-B3MltX0VqjUBNEe3b3sSuiRbfa6XrfHFtBiPamjT5AsW/dfq+y+bc0wyuS9DxAS1LyzCxRp2+rxzpLUvqM2BvA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -4993,6 +5157,16 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} + engines: {node: '>=14.17'} + hasBin: true + + typescript@7.0.2: + resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==} + engines: {node: '>=16.20.0'} + hasBin: true + unbash@4.0.10: resolution: {integrity: sha512-b7zoBQvpWp0vuN5q2vK2RRBR2SvuruQAs50DApdDveBSn3eSYd84IaHodFqQIMlvY9K2VnyBUEXgwOBuGU9GBg==} engines: {node: '>=14'} @@ -5457,7 +5631,7 @@ snapshots: hashery: 1.5.1 keyv: 5.6.0 - '@cspell/cspell-bundled-dicts@10.1.1': + '@cspell/cspell-bundled-dicts@10.2.0': dependencies: '@cspell/dict-ada': 4.1.1 '@cspell/dict-al': 1.1.1 @@ -5519,25 +5693,25 @@ snapshots: '@cspell/dict-vue': 3.0.5 '@cspell/dict-zig': 1.0.0 - '@cspell/cspell-json-reporter@10.1.1': + '@cspell/cspell-json-reporter@10.2.0': dependencies: - '@cspell/cspell-types': 10.1.1 + '@cspell/cspell-types': 10.2.0 - '@cspell/cspell-performance-monitor@10.1.1': {} + '@cspell/cspell-performance-monitor@10.2.0': {} - '@cspell/cspell-pipe@10.1.1': {} + '@cspell/cspell-pipe@10.2.0': {} - '@cspell/cspell-resolver@10.1.1': + '@cspell/cspell-resolver@10.2.0': dependencies: global-directory: 5.0.0 - '@cspell/cspell-service-bus@10.1.1': {} + '@cspell/cspell-service-bus@10.2.0': {} - '@cspell/cspell-types@10.1.1': {} + '@cspell/cspell-types@10.2.0': {} - '@cspell/cspell-worker@10.1.1': + '@cspell/cspell-worker@10.2.0': dependencies: - cspell-lib: 10.1.1 + cspell-lib: 10.2.0 '@cspell/dict-ada@4.1.1': {} @@ -5666,18 +5840,18 @@ snapshots: '@cspell/dict-zig@1.0.0': {} - '@cspell/dynamic-import@10.1.1': + '@cspell/dynamic-import@10.2.0': dependencies: - '@cspell/url': 10.1.1 + '@cspell/url': 10.2.0 import-meta-resolve: 4.2.0 - '@cspell/filetypes@10.1.1': {} + '@cspell/filetypes@10.2.0': {} - '@cspell/rpc@10.1.1': {} + '@cspell/rpc@10.2.0': {} - '@cspell/strong-weak-map@10.1.1': {} + '@cspell/strong-weak-map@10.2.0': {} - '@cspell/url@10.1.1': {} + '@cspell/url@10.2.0': {} '@csstools/color-helpers@6.1.1': {} @@ -5868,7 +6042,7 @@ snapshots: optionalDependencies: eslint: 10.9.1(jiti@2.7.0) - '@eslint/json@2.0.1': + '@eslint/json@2.1.0': dependencies: '@eslint/core': 1.2.1 '@eslint/plugin-kit': 0.7.2 @@ -6633,7 +6807,7 @@ snapshots: '@stoplight/spectral-rulesets': 1.22.7 '@stoplight/spectral-runtime': 1.1.6 '@stoplight/types': 13.20.0 - '@types/node': 26.4.0 + '@types/node': 26.4.1 pony-cause: 1.1.1 rollup: 2.80.0 tslib: 2.8.1 @@ -6650,7 +6824,7 @@ snapshots: '@stoplight/spectral-runtime': 1.1.6 '@stoplight/types': 13.20.0 '@stoplight/yaml': 4.2.3 - '@types/node': 26.4.0 + '@types/node': 26.4.1 ajv: 8.20.0 ast-types: 0.14.2 astring: 1.9.0 @@ -6773,7 +6947,7 @@ snapshots: '@types/es-aggregate-error@1.0.6': dependencies: - '@types/node': 26.4.0 + '@types/node': 26.4.1 '@types/esrecurse@4.3.1': {} @@ -6799,7 +6973,7 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node@26.4.0': + '@types/node@26.4.1': dependencies: undici-types: 8.3.0 @@ -6815,43 +6989,52 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 26.4.0 + '@types/node': 26.4.1 optional: true - '@typescript-eslint/eslint-plugin@8.68.0(@typescript-eslint/parser@8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3))(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.69.0(@typescript-eslint/parser@8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)))(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0))': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.68.0 - '@typescript-eslint/type-utils': 8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/utils': 8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.68.0 + '@typescript-eslint/parser': 8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) + '@typescript-eslint/scope-manager': 8.69.0 + '@typescript-eslint/type-utils': 8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) + '@typescript-eslint/utils': 8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) + '@typescript-eslint/visitor-keys': 8.69.0 eslint: 10.9.1(jiti@2.7.0) ignore: 7.0.7 natural-compare: 1.4.0 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) + typescript: '@typescript/typescript6@6.0.2' transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3)': + '@typescript-eslint/parser@8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0))': dependencies: - '@typescript-eslint/scope-manager': 8.68.0 - '@typescript-eslint/types': 8.68.0 - '@typescript-eslint/typescript-estree': 8.68.0(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.68.0 + '@typescript-eslint/scope-manager': 8.69.0 + '@typescript-eslint/types': 8.69.0 + '@typescript-eslint/typescript-estree': 8.69.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/visitor-keys': 8.69.0 debug: 4.4.3 eslint: 10.9.1(jiti@2.7.0) - typescript: 5.9.3 + typescript: '@typescript/typescript6@6.0.2' transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.68.0(typescript@5.9.3)': + '@typescript-eslint/project-service@8.68.0(@typescript/typescript6@6.0.2)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.68.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.68.0(@typescript/typescript6@6.0.2) '@typescript-eslint/types': 8.68.0 debug: 4.4.3 - typescript: 5.9.3 + typescript: '@typescript/typescript6@6.0.2' + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.69.0(@typescript/typescript6@6.0.2)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.69.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/types': 8.69.0 + debug: 4.4.3 + typescript: '@typescript/typescript6@6.0.2' transitivePeerDependencies: - supports-color @@ -6860,47 +7043,84 @@ snapshots: '@typescript-eslint/types': 8.68.0 '@typescript-eslint/visitor-keys': 8.68.0 - '@typescript-eslint/tsconfig-utils@8.68.0(typescript@5.9.3)': + '@typescript-eslint/scope-manager@8.69.0': dependencies: - typescript: 5.9.3 + '@typescript-eslint/types': 8.69.0 + '@typescript-eslint/visitor-keys': 8.69.0 - '@typescript-eslint/type-utils@8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.68.0(@typescript/typescript6@6.0.2)': dependencies: - '@typescript-eslint/types': 8.68.0 - '@typescript-eslint/typescript-estree': 8.68.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3) + typescript: '@typescript/typescript6@6.0.2' + + '@typescript-eslint/tsconfig-utils@8.69.0(@typescript/typescript6@6.0.2)': + dependencies: + typescript: '@typescript/typescript6@6.0.2' + + '@typescript-eslint/type-utils@8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0))': + dependencies: + '@typescript-eslint/types': 8.69.0 + '@typescript-eslint/typescript-estree': 8.69.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/utils': 8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) debug: 4.4.3 eslint: 10.9.1(jiti@2.7.0) - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) + typescript: '@typescript/typescript6@6.0.2' transitivePeerDependencies: - supports-color '@typescript-eslint/types@8.68.0': {} - '@typescript-eslint/typescript-estree@8.68.0(typescript@5.9.3)': + '@typescript-eslint/types@8.69.0': {} + + '@typescript-eslint/typescript-estree@8.68.0(@typescript/typescript6@6.0.2)': dependencies: - '@typescript-eslint/project-service': 8.68.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.68.0(typescript@5.9.3) + '@typescript-eslint/project-service': 8.68.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/tsconfig-utils': 8.68.0(@typescript/typescript6@6.0.2) '@typescript-eslint/types': 8.68.0 '@typescript-eslint/visitor-keys': 8.68.0 debug: 4.4.3 minimatch: 10.2.6 semver: 7.8.5 tinyglobby: 0.2.17 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) + typescript: '@typescript/typescript6@6.0.2' transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.69.0(@typescript/typescript6@6.0.2)': + dependencies: + '@typescript-eslint/project-service': 8.69.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/tsconfig-utils': 8.69.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/types': 8.69.0 + '@typescript-eslint/visitor-keys': 8.69.0 + debug: 4.4.3 + minimatch: 10.2.6 + semver: 7.8.5 + tinyglobby: 0.2.17 + ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) + typescript: '@typescript/typescript6@6.0.2' + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.68.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0))': dependencies: '@eslint-community/eslint-utils': 4.10.1(eslint@10.9.1(jiti@2.7.0)) '@typescript-eslint/scope-manager': 8.68.0 '@typescript-eslint/types': 8.68.0 - '@typescript-eslint/typescript-estree': 8.68.0(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.68.0(@typescript/typescript6@6.0.2) eslint: 10.9.1(jiti@2.7.0) - typescript: 5.9.3 + typescript: '@typescript/typescript6@6.0.2' + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0))': + dependencies: + '@eslint-community/eslint-utils': 4.10.1(eslint@10.9.1(jiti@2.7.0)) + '@typescript-eslint/scope-manager': 8.69.0 + '@typescript-eslint/types': 8.69.0 + '@typescript-eslint/typescript-estree': 8.69.0(@typescript/typescript6@6.0.2) + eslint: 10.9.1(jiti@2.7.0) + typescript: '@typescript/typescript6@6.0.2' transitivePeerDependencies: - supports-color @@ -6909,6 +7129,75 @@ snapshots: '@typescript-eslint/types': 8.68.0 eslint-visitor-keys: 5.0.1 + '@typescript-eslint/visitor-keys@8.69.0': + dependencies: + '@typescript-eslint/types': 8.69.0 + eslint-visitor-keys: 5.0.1 + + '@typescript/typescript-aix-ppc64@7.0.2': + optional: true + + '@typescript/typescript-darwin-arm64@7.0.2': + optional: true + + '@typescript/typescript-darwin-x64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-x64@7.0.2': + optional: true + + '@typescript/typescript-linux-arm64@7.0.2': + optional: true + + '@typescript/typescript-linux-arm@7.0.2': + optional: true + + '@typescript/typescript-linux-loong64@7.0.2': + optional: true + + '@typescript/typescript-linux-mips64el@7.0.2': + optional: true + + '@typescript/typescript-linux-ppc64@7.0.2': + optional: true + + '@typescript/typescript-linux-riscv64@7.0.2': + optional: true + + '@typescript/typescript-linux-s390x@7.0.2': + optional: true + + '@typescript/typescript-linux-x64@7.0.2': + optional: true + + '@typescript/typescript-netbsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-netbsd-x64@7.0.2': + optional: true + + '@typescript/typescript-openbsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-openbsd-x64@7.0.2': + optional: true + + '@typescript/typescript-sunos-x64@7.0.2': + optional: true + + '@typescript/typescript-win32-arm64@7.0.2': + optional: true + + '@typescript/typescript-win32-x64@7.0.2': + optional: true + + '@typescript/typescript6@6.0.2': + dependencies: + '@typescript/old': typescript@6.0.3 + '@unrs/resolver-binding-android-arm-eabi@1.12.2': optional: true @@ -6991,7 +7280,7 @@ snapshots: obug: 2.1.4 std-env: 4.2.0 tinyrainbow: 3.1.1 - vitest: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@26.4.0)(@vitest/coverage-v8@4.1.11)(jsdom@30.0.1)(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) + vitest: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@26.4.1)(@vitest/coverage-v8@4.1.11)(jsdom@30.0.1)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) '@vitest/expect@4.1.11': dependencies: @@ -7002,13 +7291,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.1 - '@vitest/mocker@4.1.11(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0))': + '@vitest/mocker@4.1.11(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0))': dependencies: '@vitest/spy': 4.1.11 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) + vite: 8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) '@vitest/pretty-format@4.1.11': dependencies: @@ -7366,7 +7655,7 @@ snapshots: chrome-launcher@0.13.4: dependencies: - '@types/node': 26.4.0 + '@types/node': 26.4.1 escape-string-regexp: 1.0.5 is-wsl: 2.2.0 lighthouse-logger: 1.2.0 @@ -7377,7 +7666,7 @@ snapshots: chrome-launcher@1.2.1: dependencies: - '@types/node': 26.4.0 + '@types/node': 26.4.1 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 2.0.2 @@ -7513,14 +7802,14 @@ snapshots: dependencies: browserslist: 4.28.8 - cosmiconfig@9.0.2(typescript@5.9.3): + cosmiconfig@9.0.2(@typescript/typescript6@6.0.2): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.3.2 parse-json: 5.2.0 optionalDependencies: - typescript: 5.9.3 + typescript: '@typescript/typescript6@6.0.2' cross-spawn@7.0.6: dependencies: @@ -7534,60 +7823,60 @@ snapshots: csp_evaluator@1.1.8: {} - cspell-config-lib@10.1.1: + cspell-config-lib@10.2.0: dependencies: - '@cspell/cspell-types': 10.1.1 + '@cspell/cspell-types': 10.2.0 comment-json: 5.0.0 smol-toml: 1.8.0 yaml: 2.9.0 - cspell-dictionary@10.1.1: + cspell-dictionary@10.2.0: dependencies: - '@cspell/cspell-performance-monitor': 10.1.1 - '@cspell/cspell-pipe': 10.1.1 - '@cspell/cspell-types': 10.1.1 - cspell-trie-lib: 10.1.1(@cspell/cspell-types@10.1.1) + '@cspell/cspell-performance-monitor': 10.2.0 + '@cspell/cspell-pipe': 10.2.0 + '@cspell/cspell-types': 10.2.0 + cspell-trie-lib: 10.2.0(@cspell/cspell-types@10.2.0) fast-equals: 6.0.2 - cspell-gitignore@10.1.1: + cspell-gitignore@10.2.0: dependencies: - '@cspell/url': 10.1.1 - cspell-glob: 10.1.1 - cspell-io: 10.1.1 + '@cspell/url': 10.2.0 + cspell-glob: 10.2.0 + cspell-io: 10.2.0 - cspell-glob@10.1.1: + cspell-glob@10.2.0: dependencies: - '@cspell/url': 10.1.1 + '@cspell/url': 10.2.0 picomatch: 4.0.7 - cspell-grammar@10.1.1: - dependencies: - '@cspell/cspell-pipe': 10.1.1 - '@cspell/cspell-types': 10.1.1 - - cspell-io@10.1.1: - dependencies: - '@cspell/cspell-service-bus': 10.1.1 - '@cspell/url': 10.1.1 - - cspell-lib@10.1.1: - dependencies: - '@cspell/cspell-bundled-dicts': 10.1.1 - '@cspell/cspell-performance-monitor': 10.1.1 - '@cspell/cspell-pipe': 10.1.1 - '@cspell/cspell-resolver': 10.1.1 - '@cspell/cspell-types': 10.1.1 - '@cspell/dynamic-import': 10.1.1 - '@cspell/filetypes': 10.1.1 - '@cspell/rpc': 10.1.1 - '@cspell/strong-weak-map': 10.1.1 - '@cspell/url': 10.1.1 - cspell-config-lib: 10.1.1 - cspell-dictionary: 10.1.1 - cspell-glob: 10.1.1 - cspell-grammar: 10.1.1 - cspell-io: 10.1.1 - cspell-trie-lib: 10.1.1(@cspell/cspell-types@10.1.1) + cspell-grammar@10.2.0: + dependencies: + '@cspell/cspell-pipe': 10.2.0 + '@cspell/cspell-types': 10.2.0 + + cspell-io@10.2.0: + dependencies: + '@cspell/cspell-service-bus': 10.2.0 + '@cspell/url': 10.2.0 + + cspell-lib@10.2.0: + dependencies: + '@cspell/cspell-bundled-dicts': 10.2.0 + '@cspell/cspell-performance-monitor': 10.2.0 + '@cspell/cspell-pipe': 10.2.0 + '@cspell/cspell-resolver': 10.2.0 + '@cspell/cspell-types': 10.2.0 + '@cspell/dynamic-import': 10.2.0 + '@cspell/filetypes': 10.2.0 + '@cspell/rpc': 10.2.0 + '@cspell/strong-weak-map': 10.2.0 + '@cspell/url': 10.2.0 + cspell-config-lib: 10.2.0 + cspell-dictionary: 10.2.0 + cspell-glob: 10.2.0 + cspell-grammar: 10.2.0 + cspell-io: 10.2.0 + cspell-trie-lib: 10.2.0(@cspell/cspell-types@10.2.0) env-paths: 4.0.0 gensequence: 8.0.8 import-fresh: 4.0.0 @@ -7596,29 +7885,29 @@ snapshots: vscode-uri: 3.2.0 xdg-basedir: 5.1.0 - cspell-trie-lib@10.1.1(@cspell/cspell-types@10.1.1): + cspell-trie-lib@10.2.0(@cspell/cspell-types@10.2.0): dependencies: - '@cspell/cspell-types': 10.1.1 + '@cspell/cspell-types': 10.2.0 - cspell@10.1.1: + cspell@10.2.0: dependencies: - '@cspell/cspell-json-reporter': 10.1.1 - '@cspell/cspell-performance-monitor': 10.1.1 - '@cspell/cspell-pipe': 10.1.1 - '@cspell/cspell-types': 10.1.1 - '@cspell/cspell-worker': 10.1.1 - '@cspell/dynamic-import': 10.1.1 - '@cspell/url': 10.1.1 + '@cspell/cspell-json-reporter': 10.2.0 + '@cspell/cspell-performance-monitor': 10.2.0 + '@cspell/cspell-pipe': 10.2.0 + '@cspell/cspell-types': 10.2.0 + '@cspell/cspell-worker': 10.2.0 + '@cspell/dynamic-import': 10.2.0 + '@cspell/url': 10.2.0 ansi-regex: 6.3.0 chalk: 6.0.0 chalk-template: 1.1.2 commander: 15.0.0 - cspell-config-lib: 10.1.1 - cspell-dictionary: 10.1.1 - cspell-gitignore: 10.1.1 - cspell-glob: 10.1.1 - cspell-io: 10.1.1 - cspell-lib: 10.1.1 + cspell-config-lib: 10.2.0 + cspell-dictionary: 10.2.0 + cspell-gitignore: 10.2.0 + cspell-glob: 10.2.0 + cspell-io: 10.2.0 + cspell-lib: 10.2.0 fast-json-stable-stringify: 2.1.0 flatted: 3.4.4 semver: 7.8.5 @@ -7988,7 +8277,7 @@ snapshots: eslint: 10.9.1(jiti@2.7.0) eslint-compat-utils: 0.5.1(eslint@10.9.1(jiti@2.7.0)) - eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.4.0)(eslint@10.9.1(jiti@2.7.0)): + eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)))(eslint-import-resolver-node@0.4.0)(eslint@10.9.1(jiti@2.7.0)): dependencies: '@typescript-eslint/types': 8.68.0 comment-parser: 1.4.8 @@ -8001,16 +8290,16 @@ snapshots: stable-hash-x: 0.2.0 unrs-resolver: 1.12.2 optionalDependencies: - '@typescript-eslint/utils': 8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/utils': 8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) eslint-import-resolver-node: 0.4.0 transitivePeerDependencies: - supports-color - eslint-plugin-jsdoc@64.3.2(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3): + eslint-plugin-jsdoc@64.3.4(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)): dependencies: '@es-joy/jsdoccomment': 0.95.1 '@es-joy/resolve.exports': 1.2.0 - '@typescript-eslint/utils': 8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/utils': 8.68.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) are-docs-informative: 0.1.1 comment-parser: 1.4.8 debug: 4.4.3 @@ -8028,7 +8317,7 @@ snapshots: - supports-color - typescript - eslint-plugin-n@18.3.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3): + eslint-plugin-n@18.3.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)): dependencies: '@eslint-community/eslint-utils': 4.10.1(eslint@10.9.1(jiti@2.7.0)) enhanced-resolve: 5.24.5 @@ -8040,7 +8329,7 @@ snapshots: ignore: 5.3.2 semver: 7.8.5 optionalDependencies: - typescript: 5.9.3 + typescript: '@typescript/typescript6@6.0.2' eslint-plugin-no-only-tests@3.4.0: {} @@ -8071,7 +8360,7 @@ snapshots: bytes: 3.1.2 eslint: 10.9.1(jiti@2.7.0) functional-red-black-tree: 1.0.1 - globals: 17.11.0 + globals: 17.12.0 jsx-ast-utils-x: 0.1.0 lodash.merge: 4.6.2 minimatch: 10.2.6 @@ -8093,7 +8382,7 @@ snapshots: entities: 8.0.0 eslint: 10.9.1(jiti@2.7.0) find-up-simple: 1.0.1 - globals: 17.11.0 + globals: 17.12.0 indent-string: 5.0.0 is-builtin-module: 5.0.0 is-identifier: 1.1.0 @@ -8504,7 +8793,7 @@ snapshots: globals@15.15.0: {} - globals@17.11.0: {} + globals@17.12.0: {} globalthis@1.0.4: dependencies: @@ -8581,7 +8870,7 @@ snapshots: html-tags@5.1.0: {} - html-validate@11.11.0(@vitest/expect@4.1.11)(vitest@4.1.11): + html-validate@11.12.0(@vitest/expect@4.1.11)(vitest@4.1.11): dependencies: '@html-validate/stylish': 6.0.0 '@sidvind/better-ajv-errors': 7.0.0(ajv@8.20.0) @@ -8591,7 +8880,7 @@ snapshots: semver: 7.8.5 optionalDependencies: '@vitest/expect': 4.1.11 - vitest: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@26.4.0)(@vitest/coverage-v8@4.1.11)(jsdom@30.0.1)(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) + vitest: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@26.4.1)(@vitest/coverage-v8@4.1.11)(jsdom@30.0.1)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) http-errors@2.0.1: dependencies: @@ -8927,7 +9216,7 @@ snapshots: jsdoc-type-pratt-parser@9.2.1: dependencies: '@types/estree': 1.0.9 - '@types/node': 26.4.0 + '@types/node': 26.4.1 jsdom@30.0.1: dependencies: @@ -9007,7 +9296,7 @@ snapshots: kleur@4.1.5: {} - knip@6.33.0: + knip@6.34.0: dependencies: fdir: 6.5.0(picomatch@4.0.7) formatly: 0.7.0 @@ -10402,7 +10691,7 @@ snapshots: speedline-core@1.4.3: dependencies: - '@types/node': 26.4.0 + '@types/node': 26.4.1 image-ssim: 0.2.0 jpeg-js: 0.4.4 @@ -10518,30 +10807,30 @@ snapshots: stubborn-utils@1.0.2: {} - stylelint-config-recommended@18.0.0(stylelint@17.14.1(typescript@5.9.3)): + stylelint-config-recommended@18.0.0(stylelint@17.14.1(@typescript/typescript6@6.0.2)): dependencies: - stylelint: 17.14.1(typescript@5.9.3) + stylelint: 17.14.1(@typescript/typescript6@6.0.2) - stylelint-config-standard@40.0.0(stylelint@17.14.1(typescript@5.9.3)): + stylelint-config-standard@40.0.0(stylelint@17.14.1(@typescript/typescript6@6.0.2)): dependencies: - stylelint: 17.14.1(typescript@5.9.3) - stylelint-config-recommended: 18.0.0(stylelint@17.14.1(typescript@5.9.3)) + stylelint: 17.14.1(@typescript/typescript6@6.0.2) + stylelint-config-recommended: 18.0.0(stylelint@17.14.1(@typescript/typescript6@6.0.2)) - stylelint-declaration-strict-value@1.12.1(stylelint@17.14.1(typescript@5.9.3)): + stylelint-declaration-strict-value@1.12.1(stylelint@17.14.1(@typescript/typescript6@6.0.2)): dependencies: regexp.escape: 2.0.1 - stylelint: 17.14.1(typescript@5.9.3) + stylelint: 17.14.1(@typescript/typescript6@6.0.2) - stylelint-media-use-custom-media@4.1.0(stylelint@17.14.1(typescript@5.9.3)): + stylelint-media-use-custom-media@4.1.0(stylelint@17.14.1(@typescript/typescript6@6.0.2)): dependencies: - stylelint: 17.14.1(typescript@5.9.3) + stylelint: 17.14.1(@typescript/typescript6@6.0.2) - stylelint-plugin-defensive-css@2.9.6(stylelint@17.14.1(typescript@5.9.3)): + stylelint-plugin-defensive-css@2.9.6(stylelint@17.14.1(@typescript/typescript6@6.0.2)): dependencies: postcss-selector-parser: 7.1.5 - stylelint: 17.14.1(typescript@5.9.3) + stylelint: 17.14.1(@typescript/typescript6@6.0.2) - stylelint@17.14.1(typescript@5.9.3): + stylelint@17.14.1(@typescript/typescript6@6.0.2): dependencies: '@csstools/css-calc': 3.3.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) @@ -10551,7 +10840,7 @@ snapshots: '@csstools/selector-resolve-nested': 4.0.1(postcss-selector-parser@7.1.5) '@csstools/selector-specificity': 6.0.0(postcss-selector-parser@7.1.5) colord: 2.10.0 - cosmiconfig: 9.0.2(typescript@5.9.3) + cosmiconfig: 9.0.2(@typescript/typescript6@6.0.2) css-functions-list: 3.3.3 css-tree: 3.2.1 debug: 4.4.3 @@ -10732,6 +11021,10 @@ snapshots: trough@2.2.0: {} + ts-api-utils@2.5.0(@typescript/typescript6@6.0.2): + dependencies: + typescript: '@typescript/typescript6@6.0.2' + ts-api-utils@2.5.0(typescript@5.9.3): dependencies: typescript: 5.9.3 @@ -10813,19 +11106,44 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typescript-eslint@8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3): + typescript-eslint@8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)): dependencies: - '@typescript-eslint/eslint-plugin': 8.68.0(@typescript-eslint/parser@8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3))(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/parser': 8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.68.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.68.0(eslint@10.9.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.69.0(@typescript-eslint/parser@8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)))(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) + '@typescript-eslint/parser': 8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) + '@typescript-eslint/typescript-estree': 8.69.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/utils': 8.69.0(@typescript/typescript6@6.0.2)(eslint@10.9.1(jiti@2.7.0)) eslint: 10.9.1(jiti@2.7.0) - typescript: 5.9.3 + typescript: '@typescript/typescript6@6.0.2' transitivePeerDependencies: - supports-color typescript@5.9.3: {} + typescript@6.0.3: {} + + typescript@7.0.2: + optionalDependencies: + '@typescript/typescript-aix-ppc64': 7.0.2 + '@typescript/typescript-darwin-arm64': 7.0.2 + '@typescript/typescript-darwin-x64': 7.0.2 + '@typescript/typescript-freebsd-arm64': 7.0.2 + '@typescript/typescript-freebsd-x64': 7.0.2 + '@typescript/typescript-linux-arm': 7.0.2 + '@typescript/typescript-linux-arm64': 7.0.2 + '@typescript/typescript-linux-loong64': 7.0.2 + '@typescript/typescript-linux-mips64el': 7.0.2 + '@typescript/typescript-linux-ppc64': 7.0.2 + '@typescript/typescript-linux-riscv64': 7.0.2 + '@typescript/typescript-linux-s390x': 7.0.2 + '@typescript/typescript-linux-x64': 7.0.2 + '@typescript/typescript-netbsd-arm64': 7.0.2 + '@typescript/typescript-netbsd-x64': 7.0.2 + '@typescript/typescript-openbsd-arm64': 7.0.2 + '@typescript/typescript-openbsd-x64': 7.0.2 + '@typescript/typescript-sunos-x64': 7.0.2 + '@typescript/typescript-win32-arm64': 7.0.2 + '@typescript/typescript-win32-x64': 7.0.2 + unbash@4.0.10: {} unbox-primitive@1.1.0: @@ -10952,7 +11270,7 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0): + vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 @@ -10960,17 +11278,17 @@ snapshots: rolldown: 1.2.6 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 26.4.0 + '@types/node': 26.4.1 esbuild: 0.28.2 fsevents: 2.3.3 jiti: 2.7.0 tsx: 4.23.13 yaml: 2.9.0 - vitest@4.1.11(@opentelemetry/api@1.9.1)(@types/node@26.4.0)(@vitest/coverage-v8@4.1.11)(jsdom@30.0.1)(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)): + vitest@4.1.11(@opentelemetry/api@1.9.1)(@types/node@26.4.1)(@vitest/coverage-v8@4.1.11)(jsdom@30.0.1)(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)): dependencies: '@vitest/expect': 4.1.11 - '@vitest/mocker': 4.1.11(vite@8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) + '@vitest/mocker': 4.1.11(vite@8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0)) '@vitest/pretty-format': 4.1.11 '@vitest/runner': 4.1.11 '@vitest/snapshot': 4.1.11 @@ -10987,11 +11305,11 @@ snapshots: tinyexec: 1.3.0 tinyglobby: 0.2.17 tinyrainbow: 3.1.1 - vite: 8.2.2(@types/node@26.4.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) + vite: 8.2.2(@types/node@26.4.1)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.13)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@types/node': 26.4.0 + '@types/node': 26.4.1 '@vitest/coverage-v8': 4.1.11(vitest@4.1.11) jsdom: 30.0.1 transitivePeerDependencies: