From d6d169dc7454dc6779f502182d47ec357cc9985c Mon Sep 17 00:00:00 2001 From: Hugo Richard Date: Tue, 9 Jun 2026 21:35:35 +0100 Subject: [PATCH 1/5] feat: improve dev terminal error output --- .changeset/pretty-terminal-errors.md | 5 + apps/docs/content/2.learn/2.wide-events.md | 17 +- .../content/2.learn/3.structured-errors.md | 40 + .../content/3.integrate/frameworks/01.nuxt.md | 9 + .../3.integrate/frameworks/02.nextjs.md | 12 +- .../content/6.reference/1.configuration.md | 17 + .../app/components/playground/TestCard.vue | 33 +- .../app/composables/useTestRunner.ts | 35 +- .../app/composables/useTestState.ts | 41 +- apps/playground/app/config/tests.config.ts | 33 +- packages/evlog/src/logger.ts | 96 +- packages/evlog/src/nitro-v3/errorHandler.ts | 32 +- packages/evlog/src/nitro-v3/module.ts | 14 +- packages/evlog/src/nitro-v3/plugin.ts | 36 +- packages/evlog/src/nitro.ts | 118 ++ packages/evlog/src/nitro/errorHandler.ts | 52 +- packages/evlog/src/nitro/module.ts | 10 +- packages/evlog/src/nitro/plugin.ts | 41 +- packages/evlog/src/nuxt/module.ts | 26 +- packages/evlog/src/shared/define.ts | 8 + .../src/shared/enrich-error-stack.node.ts | 47 + .../src/shared/pretty-error-snippet.node.ts | 40 + packages/evlog/src/shared/pretty-error.ts | 423 +++++ packages/evlog/src/types.ts | 12 + packages/evlog/test/core/pretty-error.test.ts | 263 +++ .../evlog/test/nitro/errorHandler.test.ts | 65 +- .../test/nitro/plugin-enrichment.test.ts | 85 +- pnpm-lock.yaml | 1537 ++++++++++------- 28 files changed, 2312 insertions(+), 835 deletions(-) create mode 100644 .changeset/pretty-terminal-errors.md create mode 100644 packages/evlog/src/shared/enrich-error-stack.node.ts create mode 100644 packages/evlog/src/shared/pretty-error-snippet.node.ts create mode 100644 packages/evlog/src/shared/pretty-error.ts create mode 100644 packages/evlog/test/core/pretty-error.test.ts diff --git a/.changeset/pretty-terminal-errors.md b/.changeset/pretty-terminal-errors.md new file mode 100644 index 00000000..f4383418 --- /dev/null +++ b/.changeset/pretty-terminal-errors.md @@ -0,0 +1,5 @@ +--- +'evlog': minor +--- + +Improve dev terminal error output in pretty mode: tighter error blocks by default (`prettyErrorCompact` — shorter snippet; dim gray stack tail; context tree unchanged). Tree spacers between error message, source, guidance, and stack for easier scanning. Long Why/Fix lines wrap with hanging indent. Writes via `stdout` in dev to avoid duplicate Consola/Nuxt timestamps. Verbose layout with `prettyErrorCompact: false`. Structured `error` blocks shown first with source-mapped file:line via Nitro's `loadStackTrace` in dev (skipped when `pretty: false` or in production). `devErrorHandler: 'evlog'` (default) suppresses Nitro's Youch overlay; `'nitro'` keeps it. On the Nitro error hook, enrich+drain runs in the background (`void`, never `event.waitUntil`) so HTTP error responses are not blocked by slow drains — Nitro 2.13+ queues `waitUntil` work before sending the response, which previously hung 4xx/5xx when Axiom/stream drains were enabled. Options: `prettyErrorFrames`, `prettyErrorStackDepth`, `prettyErrorCompact`. diff --git a/apps/docs/content/2.learn/2.wide-events.md b/apps/docs/content/2.learn/2.wide-events.md index f96e0a2e..1d33272e 100644 --- a/apps/docs/content/2.learn/2.wide-events.md +++ b/apps/docs/content/2.learn/2.wide-events.md @@ -381,15 +381,14 @@ export default defineEventHandler(async (event) => { }) ``` ```bash [Output] -[ERROR] POST /api/checkout (123ms) - user: { id: 1, plan: 'pro' } - cart: { items: 3, total: 9999 } - error: { - message: 'Card declined', - code: 'CARD_DECLINED', - type: 'PaymentError' - } - status: 500 +ERROR [checkout] POST /api/checkout 402 in 123ms + ├─ error: Card declined + │ at server/api/checkout.post.ts:42 + │ ❯ 42 ┃ throw createError({ code: 'CARD_DECLINED', ... }) + │ Why: Issuer declined the charge + │ Fix: Ask the customer to use another card + ├─ user: id=1 plan=pro + └─ cart: items=3 total=9999 ``` :: diff --git a/apps/docs/content/2.learn/3.structured-errors.md b/apps/docs/content/2.learn/3.structured-errors.md index 84d62b38..cf60db7e 100644 --- a/apps/docs/content/2.learn/3.structured-errors.md +++ b/apps/docs/content/2.learn/3.structured-errors.md @@ -192,6 +192,46 @@ try { } ``` +## Development terminal output + +In development with `pretty: true` (the default), evlog prints failed requests as a wide event in the terminal. The **`error` block comes first**, then request context (`user`, `cart`, …). Structured fields (`why`, `fix`, `link`) appear under the error message with a source location and optional code snippet. + +::code-group +```typescript [server/api/checkout.post.ts] +import { createError } from 'evlog' + +throw createError({ + code: 'PAYMENT_DECLINED', + message: 'Card declined', + status: 402, + why: 'Issuer declined the charge', + fix: 'Ask the customer to use another card', +}) +``` +```bash [Terminal (pretty dev)] +ERROR [checkout] POST /api/checkout 402 in 123ms + ├─ error: Card declined + │ at server/api/checkout.post.ts:42 + │ ❯ 42 ┃ throw createError({ code: 'PAYMENT_DECLINED', ... }) + │ Why: Issuer declined the charge + │ Fix: Ask the customer to use another card + ├─ user: id=1 plan=pro + └─ cart: items=3 total=9999 +``` +:: + +Colors and tree connectors render in the terminal; the example above omits ANSI for readability. + +### Choosing evlog vs Nitro console output + +| Goal | Config | +|------|--------| +| One clean signal — wide event only, no Nitro `[request error]` overlay | `devErrorHandler: 'evlog'` (default when `pretty: true` in dev) | +| Wide event **and** Nitro's native Youch stack in the console | `devErrorHandler: 'nitro'` | +| No pretty tree (JSON logs) but still suppress Nitro overlay | `pretty: false`, `devErrorHandler: 'evlog'` | + +Related options: `prettyErrorFrames` (source snippet), `prettyErrorStackDepth` (extra dim stack frames), `prettyErrorCompact` (tighter layout). See [Configuration](/reference/configuration) and [Nuxt integration](/integrate/frameworks/nuxt). + ## Branching on `code` `code` is a stable, machine-readable identifier you control. Pair it with `parseError()` so the client can branch on logic without parsing user-facing messages or coupling to HTTP status codes. diff --git a/apps/docs/content/3.integrate/frameworks/01.nuxt.md b/apps/docs/content/3.integrate/frameworks/01.nuxt.md index eb245731..9d44379b 100644 --- a/apps/docs/content/3.integrate/frameworks/01.nuxt.md +++ b/apps/docs/content/3.integrate/frameworks/01.nuxt.md @@ -145,6 +145,15 @@ All options are set in `nuxt.config.ts` under the `evlog` key: | `exclude` | `string[]` | `undefined` | Route patterns to exclude. Exclusions take precedence | | `routes` | `Record` | `undefined` | Route-specific service configuration | | `pretty` | `boolean` | `true` in dev | Pretty print with tree formatting | +| `prettyErrorFrames` | `boolean` | `true` in dev | Dev-only code snippets around the primary stack frame | +| `prettyErrorStackDepth` | `number` | `2` when compact, `3` otherwise | Max extra stack frames after the snippet (dim gray) | +| `prettyErrorCompact` | `boolean` | `true` in dev | Tighter error block: shorter snippet. Context fields stay on separate tree rows. | +| `devErrorHandler` | `'evlog' \| 'nitro'` | `'evlog'` in pretty dev | `'evlog'`: wide event only (no Nitro `[request error]` overlay). `'nitro'`: keep Nitro's Youch output too | + +::callout{icon="i-lucide-terminal" color="info"} +**Which handler?** Use `'evlog'` (default in pretty dev) for a single terminal signal. Use `'nitro'` when you also want Nitro's native Youch overlay alongside the wide event. With `pretty: false`, set `devErrorHandler: 'evlog'` explicitly to suppress Nitro while logging JSON. +:: + | `silent` | `boolean` | `false` | Suppress console output. Events are still built, sampled, and drained. Use for stdout-based platforms | | `sampling.rates` | `object` | `undefined` | Head sampling rates per log level (0-100%) | | `sampling.keep` | `array` | `undefined` | Tail sampling conditions to force-keep logs | diff --git a/apps/docs/content/3.integrate/frameworks/02.nextjs.md b/apps/docs/content/3.integrate/frameworks/02.nextjs.md index 4c4ddd1a..9f52f926 100644 --- a/apps/docs/content/3.integrate/frameworks/02.nextjs.md +++ b/apps/docs/content/3.integrate/frameworks/02.nextjs.md @@ -359,12 +359,16 @@ export const POST = withEvlog(async (request: Request) => { } ``` -In the terminal, the error renders with colored output: +In the terminal, the error renders inside the wide event with colored guidance and a source location: ```bash [Terminal output] -Error: Payment declined -Why: Card declined by issuer: insufficient_funds -Fix: Try a different payment method or contact your bank +ERROR [app] POST /api/payment/process 402 in 12ms + user: id=user_123 plan=pro + error: Payment declined + at app/api/payment/process/route.ts:18 + ❯ 18 ┃ throw createError({ message: 'Payment declined', ... }) + Why: Card declined by issuer: insufficient_funds + Fix: Try a different payment method or contact your bank ``` ### Parsing Errors on the Client diff --git a/apps/docs/content/6.reference/1.configuration.md b/apps/docs/content/6.reference/1.configuration.md index 9c07696e..ef80e51e 100644 --- a/apps/docs/content/6.reference/1.configuration.md +++ b/apps/docs/content/6.reference/1.configuration.md @@ -43,6 +43,10 @@ initLogger({ | `enabled` | `boolean` | `true` | Enable/disable all logging globally. When `false`, all operations become no-ops | | `env` | `Partial` | Auto-detected | Environment context overrides (see below) | | `pretty` | `boolean` | `true` in dev | Pretty print with tree formatting. Auto-detected based on `NODE_ENV` | +| `prettyErrorFrames` | `boolean` | `true` in dev | Dev-only code snippets around the primary stack frame in pretty error output | +| `prettyErrorStackDepth` | `number` | `2` when compact, `3` otherwise | Max extra stack frames after the snippet (dim gray) | +| `prettyErrorCompact` | `boolean` | `true` in dev | Tighter error block: shorter snippet, compact guidance. Context fields stay on separate tree rows | +| `devErrorHandler` | `'evlog' \| 'nitro'` | `'evlog'` in pretty dev | `'evlog'`: wide event only (no Nitro `[request error]` overlay). `'nitro'`: keep Nitro's Youch output too | | `silent` | `boolean` | `false` | Suppress console output. Events are still built, sampled, and passed to drains | | `stringify` | `boolean` | `true` | Emit JSON strings when `pretty` is disabled. Set to `false` for Cloudflare Workers | | `minLevel` | `'debug' \| 'info' \| 'warn' \| 'error'` | `'debug'` | Minimum severity for the global `log` API only (not `createLogger` / request wide events). Order: debug < info < warn < error | @@ -57,6 +61,19 @@ initLogger({ Evaluation order for `log.info` / `log.debug` / etc.: `enabled` → `minLevel` → head sampling → output. +### Dev error terminal output + +Pretty error blocks (`prettyErrorFrames`, `prettyErrorStackDepth`, `prettyErrorCompact`) run only when `pretty: true` (default in development). Production always emits JSON wide events — no stack snippets or disk reads. + +`devErrorHandler` controls whether Nitro's dev Youch overlay runs alongside evlog: + +| Value | Terminal output | +|-------|-----------------| +| `'evlog'` | Wide event only (default when `pretty: true` in dev) | +| `'nitro'` | Wide event + Nitro `[request error]` overlay | + +See [Structured Errors — Development terminal output](/learn/structured-errors#development-terminal-output) for an example of the pretty error tree. + ### Environment Context The `env` option controls the fields included in every log event. Most values are auto-detected from environment variables and `package.json`. diff --git a/apps/playground/app/components/playground/TestCard.vue b/apps/playground/app/components/playground/TestCard.vue index cff4c87f..42edf71e 100644 --- a/apps/playground/app/components/playground/TestCard.vue +++ b/apps/playground/app/components/playground/TestCard.vue @@ -1,11 +1,12 @@ @@ -60,7 +85,7 @@ async function handleClick() { @click="handleClick" > diff --git a/apps/playground/app/composables/useTestRunner.ts b/apps/playground/app/composables/useTestRunner.ts index 3ee131f3..0acb87d7 100644 --- a/apps/playground/app/composables/useTestRunner.ts +++ b/apps/playground/app/composables/useTestRunner.ts @@ -3,8 +3,12 @@ interface UseTestRunnerOptions { onError?: (error: any) => void endpoint?: string method?: 'GET' | 'POST' + /** Abort $fetch after this many ms (playground cards). */ + timeoutMs?: number } +const DEFAULT_FETCH_TIMEOUT_MS = 15_000 + export function useTestRunner(testId: string, options?: UseTestRunnerOptions) { const state = useTestState() @@ -21,9 +25,18 @@ export function useTestRunner(testId: string, options?: UseTestRunnerOptions) { let response if (options?.endpoint) { - response = await $fetch(options.endpoint, { - method: options.method || 'GET', - }) + const timeoutMs = options.timeoutMs ?? DEFAULT_FETCH_TIMEOUT_MS + const controller = new AbortController() + const timeoutId = setTimeout(() => controller.abort(), timeoutMs) + + try { + response = await $fetch(options.endpoint, { + method: options.method || 'GET', + signal: controller.signal, + }) + } finally { + clearTimeout(timeoutId) + } } else if (fn) { response = await fn() } @@ -33,12 +46,15 @@ export function useTestRunner(testId: string, options?: UseTestRunnerOptions) { options?.onSuccess?.(response) return response - } catch (err: any) { + } catch (err: unknown) { state.setStatus(testId, 'error') - state.setError(testId, err) + state.setError(testId, summarizeError(err)) options?.onError?.(err) - throw err + } finally { + if (state.getStatus(testId) === 'loading') { + state.setStatus(testId, 'idle') + } } } @@ -55,3 +71,10 @@ export function useTestRunner(testId: string, options?: UseTestRunnerOptions) { reset, } } + +function summarizeError(err: unknown): { message: string } { + if (err && typeof err === 'object' && 'message' in err) { + return { message: String((err as { message: unknown }).message) } + } + return { message: String(err) } +} diff --git a/apps/playground/app/composables/useTestState.ts b/apps/playground/app/composables/useTestState.ts index ab8ffab8..2f5de9d0 100644 --- a/apps/playground/app/composables/useTestState.ts +++ b/apps/playground/app/composables/useTestState.ts @@ -7,6 +7,18 @@ interface TestState { const state = ref>({}) +function patchTest(id: string, patch: Partial): void { + state.value = { + ...state.value, + [id]: { + ...state.value[id], + status: state.value[id]?.status ?? 'idle', + ...patch, + timestamp: Date.now(), + }, + } +} + export function useTestState() { return { getStatus: (id: string) => state.value[id]?.status ?? 'idle', @@ -16,39 +28,26 @@ export function useTestState() { getError: (id: string) => state.value[id]?.error, setStatus: (id: string, status: TestState['status']) => { - if (!state.value[id]) { - state.value[id] = { status, timestamp: Date.now() } - } else { - state.value[id].status = status - state.value[id].timestamp = Date.now() - } + patchTest(id, { status }) }, setResult: (id: string, result: any) => { - if (!state.value[id]) { - state.value[id] = { status: 'success', result, timestamp: Date.now() } - } else { - state.value[id].result = result - } + patchTest(id, { result, status: state.value[id]?.status ?? 'success' }) }, setError: (id: string, error: any) => { - if (!state.value[id]) { - state.value[id] = { status: 'error', error, timestamp: Date.now() } - } else { - state.value[id].error = error - } + patchTest(id, { error, status: 'error' }) }, clearResults: (id: string) => { - if (state.value[id]) { - state.value[id].result = undefined - state.value[id].error = undefined - } + if (!state.value[id]) return + patchTest(id, { result: undefined, error: undefined }) }, clearTest: (id: string) => { - delete state.value[id] + const next = { ...state.value } + delete next[id] + state.value = next }, resetAll: () => { diff --git a/apps/playground/app/config/tests.config.ts b/apps/playground/app/config/tests.config.ts index 5610dacc..0cfe7720 100644 --- a/apps/playground/app/config/tests.config.ts +++ b/apps/playground/app/config/tests.config.ts @@ -16,6 +16,10 @@ export interface TestConfig { color: string } showResult?: boolean + /** $fetch is expected to fail — reset card to idle after handling. */ + expectError?: boolean + /** Show a parseError() toast on fetch failure (use with endpoint + expectError). */ + parseErrorToast?: boolean toastOnSuccess?: { title: string description: string @@ -483,32 +487,9 @@ export const testConfig = { label: 'Trigger API Error', description: 'Server-side structured error displayed as a rich toast with context, suggested fix, and helpful links', color: 'error', - onClick: async () => { - try { - await $fetch('/api/test/structured-error') - } catch (err) { - const error = parseError(err) - const toast = useToast() - toast.add({ - title: error.message, - description: error.why, - color: 'error', - actions: error.link - ? [ - { - label: 'Learn more', - onClick: () => { - window.open(error.link, '_blank') - }, - } - ] - : undefined, - }) - if (error.fix) { - console.info(`💡 Fix: ${error.fix}`) - } - } - }, + endpoint: '/api/test/structured-error', + expectError: true, + parseErrorToast: true, badge: { label: 'parseError()', color: 'red', diff --git a/packages/evlog/src/logger.ts b/packages/evlog/src/logger.ts index 00584a9b..da2f99a5 100644 --- a/packages/evlog/src/logger.ts +++ b/packages/evlog/src/logger.ts @@ -4,6 +4,8 @@ import { buildAuditFields, consumeAuditForceKeep, finalizeAudit } from './audit' import { markGloballyRedacted, redactEvent, resolveRedactConfig } from './redact' import type { PluginRunner } from './shared/plugin' import { createPluginRunner, getEmptyPluginRunner } from './shared/plugin' +import { buildErrorEntries, PRETTY_ERROR_TREE_SPACER, registerPrettyErrorSnippetReader } from './shared/pretty-error' +import { EvlogError } from './error' import { colors, cssColors, detectEnvironment, escapeFormatString, formatDuration, getConsoleMethod, getCssLevelColor, getLevelColor, isBrowser, isDev, isLevelEnabled, matchesPattern } from './utils' function isPlainObject(val: unknown): val is Record { @@ -52,6 +54,9 @@ let globalEnv: EnvironmentContext = { } let globalPretty = isDev() +let globalPrettyErrorFrames = isDev() +let globalPrettyErrorStackDepth: number | undefined +let globalPrettyErrorCompact = isDev() let globalSampling: SamplingConfig = {} let globalStringify = true let globalDrain: ((ctx: DrainContext) => void | Promise) | undefined @@ -80,6 +85,9 @@ export function initLogger(config: LoggerConfig = {}): void { } globalPretty = config.pretty ?? isDev() + globalPrettyErrorFrames = config.prettyErrorFrames ?? isDev() + globalPrettyErrorStackDepth = config.prettyErrorStackDepth + globalPrettyErrorCompact = config.prettyErrorCompact ?? isDev() globalSampling = config.sampling ?? {} globalStringify = config.stringify ?? true globalDrain = config.drain @@ -94,6 +102,14 @@ export function initLogger(config: LoggerConfig = {}): void { void globalPluginRunner.runSetup({ env: { ...globalEnv } }) } + if (!isBrowser() && typeof process !== 'undefined' && process.versions?.node) { + void import('./shared/pretty-error-snippet.node.js').then((mod) => { + registerPrettyErrorSnippetReader(mod.readCodeSnippetFromDisk) + }).catch(() => { + registerPrettyErrorSnippetReader(null) + }) + } + const hasAnyDrain = !!globalDrain || globalPluginRunner.hasDrain if (globalSilent && !hasAnyDrain && !config._suppressDrainWarning) { console.warn('[evlog] silent mode is enabled but no drain is configured. Events will be built and sampled but not output anywhere. Set a drain via initLogger({ drain }) or a framework hook (evlog:drain).') @@ -521,11 +537,35 @@ function buildAIEntries(ai: Record): TreeEntry[] { return entries } +function flushPrettyLines(lines: string[]): void { + if (lines.length === 0) return + const text = `${lines.join('\n')}\n` + if ( + typeof process !== 'undefined' + && typeof process.stdout?.write === 'function' + && !isBrowser() + && process.env.VITEST !== 'true' + ) { + process.stdout.write(text) + return + } + console.log(lines.join('\n')) +} + function prettyPrintWideEvent(event: Record): void { const { timestamp, level, service, environment, version, ...rest } = event const ts = typeof timestamp === 'string' ? timestamp.slice(11, 23) : '' const levelLabel = typeof level === 'string' ? level : 'info' const browser = isBrowser() + const lines: string[] = [] + const writeLine = (...args: unknown[]) => { + if (browser) { + console.log(...args) + return + } + const [line] = args + if (typeof line === 'string') lines.push(line) + } const parts: string[] = [] const styles: string[] = [] @@ -536,7 +576,11 @@ function prettyPrintWideEvent(event: Record): void { styles.push(cssColors.dim, cssColors.reset, lc, cssColors.reset, cssColors.cyan, cssColors.reset) } else { const lc = getLevelColor(levelLabel) - parts.push(`${colors.dim}${ts}${colors.reset} ${lc}${levelLabel.toUpperCase()}${colors.reset} ${colors.cyan}[${service}]${colors.reset}`) + if (isDev()) { + parts.push(`${lc}${levelLabel.toUpperCase()}${colors.reset} ${colors.cyan}[${service}]${colors.reset}`) + } else { + parts.push(`${colors.dim}${ts}${colors.reset} ${lc}${levelLabel.toUpperCase()}${colors.reset} ${colors.cyan}[${service}]${colors.reset}`) + } } if (rest.method && rest.path) { @@ -569,23 +613,39 @@ function prettyPrintWideEvent(event: Record): void { delete rest.duration } - console.log(parts.join(''), ...styles) + writeLine(parts.join(''), ...styles) const aiData = isPlainObject(rest.ai) ? rest.ai : undefined if (aiData) { delete rest.ai } + const errorData = rest.error + if (errorData !== undefined) { + delete rest.error + } + const restEntries = Object.entries(rest).filter(([_, v]) => v !== undefined) const aiEntries = aiData ? buildAIEntries(aiData) : [] - const allEntries: TreeEntry[] = [ + const errorEntries = errorData !== undefined + ? buildErrorEntries(errorData, { + prettyErrorFrames: globalPrettyErrorFrames, + prettyErrorStackDepth: globalPrettyErrorStackDepth, + compact: globalPrettyErrorCompact, + }) + : [] + const contextEntries: TreeEntry[] = [ ...restEntries.map(([key, value]) => ({ key, value: formatValue(value) })), ...aiEntries, ] + const allEntries: TreeEntry[] = errorEntries.length > 0 + ? [...errorEntries, ...contextEntries] + : contextEntries for (let i = 0; i < allEntries.length; i++) { const entry = allEntries[i] if (!entry) continue + const { children } = entry const hasChildren = children !== undefined && children.length > 0 const isLast = i === allEntries.length - 1 && !hasChildren @@ -593,10 +653,10 @@ function prettyPrintWideEvent(event: Record): void { if (browser) { const val = entry.value ? ` ${escapeFormatString(entry.value)}` : '' - console.log(` %c${prefix}%c %c${escapeFormatString(entry.key)}:%c${val}`, cssColors.dim, cssColors.reset, cssColors.cyan, cssColors.reset) + writeLine(` %c${prefix}%c %c${escapeFormatString(entry.key)}:%c${val}`, cssColors.dim, cssColors.reset, cssColors.cyan, cssColors.reset) } else { const val = entry.value ? ` ${entry.value}` : '' - console.log(` ${colors.dim}${prefix}${colors.reset} ${colors.cyan}${entry.key}:${colors.reset}${val}`) + writeLine(` ${colors.dim}${prefix}${colors.reset} ${colors.cyan}${entry.key}:${colors.reset}${val}`) } if (hasChildren && children) { @@ -605,16 +665,30 @@ function prettyPrintWideEvent(event: Record): void { for (let j = 0; j < children.length; j++) { const child = children[j] if (child === undefined) continue + if (child === PRETTY_ERROR_TREE_SPACER) { + writeLine(` ${colors.dim}${connector}${colors.reset}`) + continue + } const isLastChild = j === children.length - 1 const childPrefix = isLastChild ? '└─' : '├─' + if (child === '') { + writeLine('') + continue + } if (browser) { - console.log(` %c${connector} ${childPrefix}%c ${escapeFormatString(child)}`, cssColors.dim, cssColors.reset) + writeLine(` %c${connector} ${childPrefix}%c ${escapeFormatString(child)}`, cssColors.dim, cssColors.reset) + } else if (child.startsWith(' ') || child.startsWith('\x1B')) { + writeLine(` ${colors.dim}${connector}${colors.reset}${child}`) } else { - console.log(` ${colors.dim}${connector} ${childPrefix}${colors.reset} ${child}`) + writeLine(` ${colors.dim}${connector} ${childPrefix}${colors.reset} ${child}`) } } } } + + if (!browser && lines.length > 0) { + flushPrettyLines(lines) + } } function createLogMethod(level: LogLevel) { @@ -778,6 +852,14 @@ export function createLogger>(initial if (k in err) errorObj[k] = errRecord[k] } + if (err instanceof EvlogError) { + if (err.code) errorObj.code = err.code + if (err.why) errorObj.why = err.why + if (err.fix) errorObj.fix = err.fix + if (err.link) errorObj.link = err.link + if (err.status) errorObj.status = err.status + } + if (isPlainObject(context.error)) { mergeInto(context.error as Record, errorObj) } else { diff --git a/packages/evlog/src/nitro-v3/errorHandler.ts b/packages/evlog/src/nitro-v3/errorHandler.ts index 8c504a23..db3b3902 100644 --- a/packages/evlog/src/nitro-v3/errorHandler.ts +++ b/packages/evlog/src/nitro-v3/errorHandler.ts @@ -1,33 +1,39 @@ import { parseURL } from 'ufo' import { defineErrorHandler } from 'nitro' -import { resolveEvlogError, extractErrorStatus, serializeEvlogErrorResponse } from '../nitro' +import { + resolveEvlogError, + extractErrorStatus, + buildPlainNitroErrorBody, + serializeEvlogErrorResponse, + shouldSuppressNitroDevOverlay, + suppressNitroDevOverlay, +} from '../nitro' /** * Custom Nitro v3 error handler that properly serializes EvlogError. * This ensures that 'data' (containing 'why', 'fix', 'link') is preserved * in the JSON response regardless of the underlying HTTP framework. * - * For non-EvlogError, returns undefined to let Nitro's default handler take over. - * * Usage in nitro.config.ts: * ```ts - * // errorHandler.ts * export { default } from 'evlog/nitro/v3/errorHandler' - * // nitro.config.ts - * export default defineConfig({ - * errorHandler: './errorHandler', - * }) * ``` */ export default defineErrorHandler((error, event) => { - const evlogError = resolveEvlogError(error) - - if (!evlogError) return + if (shouldSuppressNitroDevOverlay()) { + suppressNitroDevOverlay(error) + } const url = parseURL(event.req.url).pathname - const status = extractErrorStatus(evlogError) + const isDev = process.env.NODE_ENV === 'development' + const evlogError = resolveEvlogError(error) + + const body = evlogError + ? serializeEvlogErrorResponse(evlogError, url) + : buildPlainNitroErrorBody(error, url, isDev) + const status = extractErrorStatus(evlogError ?? error) - return new Response(JSON.stringify(serializeEvlogErrorResponse(evlogError, url)), { + return new Response(JSON.stringify(body), { status, headers: { 'Content-Type': 'application/json' }, }) diff --git a/packages/evlog/src/nitro-v3/module.ts b/packages/evlog/src/nitro-v3/module.ts index 864ceb7b..0d8c62c0 100644 --- a/packages/evlog/src/nitro-v3/module.ts +++ b/packages/evlog/src/nitro-v3/module.ts @@ -2,6 +2,7 @@ import { dirname, resolve } from 'node:path' import { fileURLToPath } from 'node:url' import type { Nitro } from 'nitro/types' import type { NitroModuleOptions } from '../nitro' +import { prependNitroErrorHandler } from '../nitro' export type { NitroModuleOptions } @@ -31,14 +32,11 @@ export default function evlog(options?: NitroModuleOptions) { } - // Set error handler only if not already configured by user - if (!nitro.options.errorHandler) { - nitro.options.errorHandler = [resolveModulePath('errorHandler')] - } else if (Array.isArray(nitro.options.errorHandler)) { - nitro.options.errorHandler.unshift(resolveModulePath('errorHandler')) - } else if (typeof nitro.options.errorHandler === 'string') { - nitro.options.errorHandler = [resolveModulePath('errorHandler'), nitro.options.errorHandler] - } + const handlers = prependNitroErrorHandler( + nitro.options.errorHandler, + resolveModulePath('errorHandler'), + ) + nitro.options.errorHandler = Array.isArray(handlers) ? handlers : [handlers] // Inject config into runtimeConfig — works in production where the // plugin is bundled through Nitro's builder and the virtual diff --git a/packages/evlog/src/nitro-v3/plugin.ts b/packages/evlog/src/nitro-v3/plugin.ts index c1558f70..4e0943c3 100644 --- a/packages/evlog/src/nitro-v3/plugin.ts +++ b/packages/evlog/src/nitro-v3/plugin.ts @@ -3,6 +3,9 @@ import type { CaptureError } from 'nitro/types' import type { HTTPEvent } from 'nitro/h3' import { parseURL } from 'ufo' import { createRequestLogger, getGlobalPluginRunner, initLogger, isEnabled } from '../logger' +import { registerPrettyErrorSnippetReader } from '../shared/pretty-error' +import { readCodeSnippetFromDisk } from '../shared/pretty-error-snippet.node' +import { enrichErrorStackForDev } from '../shared/enrich-error-stack.node' import { shouldLog, getServiceForPath, extractErrorStatus } from '../nitro' import { normalizeRedactConfig } from '../redact' import { resolveEvlogConfigForNitroPlugin, setActiveNitroRuntime } from '../shared/nitroConfigBridge' @@ -71,6 +74,7 @@ async function callDrainHook( emittedEvent: WideEvent | null, event: HTTPEvent, hookContext: Omit, + options?: { deferDrain?: boolean }, ): Promise { if (!emittedEvent) return @@ -102,15 +106,17 @@ async function callDrainHook( if (drainTasks.length === 0) return const drainPromise = Promise.all(drainTasks) - // Use waitUntil if available (srvx native — Cloudflare Workers, Vercel Edge, etc.) - // This keeps the runtime alive for background work without blocking the response + // deferDrain: never waitUntil — see nitro/plugin.ts callEnrichAndDrain. + if (options?.deferDrain) { + void drainPromise.catch((err) => { + console.error('[evlog] background drain failed:', err) + }) + return + } + if (typeof event.req.waitUntil === 'function') { event.req.waitUntil(drainPromise) } else { - // Fallback: await drain to prevent lost logs in serverless environments - // (e.g. Vercel Fluid Compute). On the normal path this runs from the - // response hook (response already sent); on the error path it may run - // before the error response is finalized. await drainPromise } } @@ -120,6 +126,7 @@ async function callEnrichAndDrain( emittedEvent: WideEvent | null, event: HTTPEvent, res?: Response, + options?: { deferDrain?: boolean }, ): Promise { if (!emittedEvent) return @@ -137,7 +144,7 @@ async function callEnrichAndDrain( await runner.runEnrich(enrichCtx) } - await callDrainHook(hooks, emittedEvent, event, hookContext) + await callDrainHook(hooks, emittedEvent, event, hookContext, options) } /** @@ -155,10 +162,15 @@ export default definePlugin(async (nitroApp) => { const redact = normalizeRedactConfig(evlogConfig?.redact as boolean | Record | undefined) + registerPrettyErrorSnippetReader(readCodeSnippetFromDisk) + initLogger({ enabled: evlogConfig?.enabled, env: evlogConfig?.env, pretty: evlogConfig?.pretty, + prettyErrorFrames: evlogConfig?.prettyErrorFrames, + prettyErrorStackDepth: evlogConfig?.prettyErrorStackDepth, + prettyErrorCompact: evlogConfig?.prettyErrorCompact, silent: evlogConfig?.silent, sampling: evlogConfig?.sampling, minLevel: evlogConfig?.minLevel, @@ -263,11 +275,15 @@ export default definePlugin(async (nitroApp) => { const log = ctx.log as RequestLogger | undefined if (!log) return + // Block response hook from emitting while we enrich the stack. + ctx._evlogEmitted = true + // Check if error.cause is an EvlogError (thrown errors get wrapped in HTTPError by nitro) const actualError = (error.cause as Error)?.name === 'EvlogError' ? error.cause as Error : error as Error + await enrichErrorStackForDev(actualError, { pretty: evlogConfig?.pretty }) log.error(actualError) const errorStatus = extractErrorStatus(actualError) @@ -290,9 +306,9 @@ export default definePlugin(async (nitroApp) => { const runner = getGlobalPluginRunner() if (runner.hasKeep) await runner.runKeep(tailCtx) - ctx._evlogEmitted = true - const emittedEvent = log.emit({ _forceKeep: tailCtx.shouldKeep }) - await callEnrichAndDrain(hooks, emittedEvent, e) + void callEnrichAndDrain(hooks, emittedEvent, e, undefined, { deferDrain: true }).catch((err) => { + console.error('[evlog] background enrich/drain failed:', err) + }) }) }) diff --git a/packages/evlog/src/nitro.ts b/packages/evlog/src/nitro.ts index 7e4cd2a1..0b6fdc8a 100644 --- a/packages/evlog/src/nitro.ts +++ b/packages/evlog/src/nitro.ts @@ -21,6 +21,28 @@ export interface NitroModuleOptions { */ pretty?: boolean + /** + * Dev-only code snippets around the primary stack frame in pretty error output. + * @default true in development + */ + prettyErrorFrames?: boolean + + /** + * Max stack frames shown after the code snippet in pretty error output. + * @default 3 + */ + prettyErrorStackDepth?: number + /** Compact terminal error layout. @default true in dev */ + prettyErrorCompact?: boolean + + /** + * Development error console handler. + * - `'evlog'` — suppress Nitro's dev overlay; rely on evlog wide events (default when pretty in dev) + * - `'nitro'` — keep Nitro's native dev error output + * @default 'evlog' when pretty in development, otherwise 'nitro' + */ + devErrorHandler?: 'evlog' | 'nitro' + /** * Suppress built-in console output. * When true, events are still built, sampled, and passed to drains, @@ -80,6 +102,11 @@ export interface NitroPluginEvlogConfig { enabled?: boolean env?: Record pretty?: boolean + prettyErrorFrames?: boolean + prettyErrorStackDepth?: number + /** Compact terminal error layout. @default true in dev */ + prettyErrorCompact?: boolean + devErrorHandler?: 'evlog' | 'nitro' silent?: boolean include?: string[] exclude?: string[] @@ -104,6 +131,97 @@ export function resolveEvlogError(error: Error): Error | null { export { extractErrorStatus } from './shared/errors' +/** + * Mark an h3 event handled synchronously. + * Nitro chains a built-in dev handler after custom handlers; `send()` defers + * `res.end`, so without this the Youch overlay still runs. + * @internal + */ +export function markH3ErrorHandled(event: { _handled?: boolean }): void { + event._handled = true +} + +/** + * Whether to register evlog's silent dev error handler instead of Nitro's overlay. + * @internal + */ +export function shouldUseEvlogDevErrorHandler(config: Pick): boolean { + if (config.devErrorHandler === 'nitro') return false + if (config.devErrorHandler === 'evlog') return true + const pretty = config.pretty ?? process.env.NODE_ENV !== 'production' + return pretty && process.env.NODE_ENV !== 'production' +} + +/** + * Prepend evlog's Nitro error handler so it runs before framework handlers (e.g. Nuxt). + * @internal + */ +export function prependNitroErrorHandler( + errorHandler: string | string[] | undefined, + handlerPath: string, +): string | string[] { + if (!errorHandler) return handlerPath + if (Array.isArray(errorHandler)) { + return errorHandler.includes(handlerPath) ? errorHandler : [handlerPath, ...errorHandler] + } + if (errorHandler === handlerPath) return handlerPath + return [handlerPath, errorHandler] +} + +/** + * Whether the Nitro dev Youch overlay should be suppressed for this process. + * @internal + */ +export function shouldSuppressNitroDevOverlay(): boolean { + try { + const raw = process.env.__EVLOG_CONFIG + if (raw) { + return shouldUseEvlogDevErrorHandler(JSON.parse(raw) as NitroModuleOptions) + } + } catch { + // ignore malformed config + } + return shouldUseEvlogDevErrorHandler({}) +} + +/** + * Clear Nitro/h3 unhandled flags so the dev Youch logger skips this error. + * @internal + */ +export function suppressNitroDevOverlay(error: Error): void { + const err = error as Error & { unhandled?: boolean; fatal?: boolean } + err.unhandled = false + err.fatal = false +} + +/** + * Build Nitro-compatible JSON for non-EvlogError throws. + * Sanitizes 5xx messages in production. + */ +export function buildPlainNitroErrorBody( + error: Error, + url: string, + isDev = process.env.NODE_ENV === 'development', +): Record { + const status = extractErrorStatus(error) + const rawMessage = ((error as { statusText?: string }).statusText + ?? (error as { statusMessage?: string }).statusMessage + ?? error.message) || 'Internal Server Error' + const message = isDev + ? rawMessage + : (status >= 500 ? 'Internal Server Error' : rawMessage) + + return { + url, + status, + statusCode: status, + statusText: message, + statusMessage: message, + message, + error: true, + } +} + /** * Build a standard evlog error JSON response body. * Used by both v2 and v3 error handlers to ensure consistent shape. diff --git a/packages/evlog/src/nitro/errorHandler.ts b/packages/evlog/src/nitro/errorHandler.ts index 91321244..6c84d178 100644 --- a/packages/evlog/src/nitro/errorHandler.ts +++ b/packages/evlog/src/nitro/errorHandler.ts @@ -2,7 +2,15 @@ // internal/app.mjs which imports virtual modules that crash outside rollup builds. import { defineNitroErrorHandler } from 'nitropack/runtime/internal/error/utils' import { getRequestURL, setResponseHeader, setResponseStatus, send } from 'h3' -import { resolveEvlogError, extractErrorStatus, serializeEvlogErrorResponse } from '../nitro' +import { + resolveEvlogError, + extractErrorStatus, + buildPlainNitroErrorBody, + serializeEvlogErrorResponse, + markH3ErrorHandled, + shouldSuppressNitroDevOverlay, + suppressNitroDevOverlay, +} from '../nitro' /** * Custom Nitro error handler that properly serializes EvlogError. @@ -12,38 +20,30 @@ import { resolveEvlogError, extractErrorStatus, serializeEvlogErrorResponse } fr * For non-EvlogError, it preserves Nitro's default response shape while * sanitizing internal error details in production for 5xx errors. */ -export default defineNitroErrorHandler((error, event) => { +type NitroErrorHandlerContext = { + defaultHandler?: (error: Error, event: unknown, opts?: { silent?: boolean; json?: boolean }) => Promise +} + +export default defineNitroErrorHandler(async (error, event, ctx?: NitroErrorHandlerContext) => { + if (!shouldSuppressNitroDevOverlay() && ctx?.defaultHandler) { + await ctx.defaultHandler(error, event, { silent: false }) + } + + markH3ErrorHandled(event) + if (shouldSuppressNitroDevOverlay()) { + suppressNitroDevOverlay(error) + } + const evlogError = resolveEvlogError(error) const isDev = process.env.NODE_ENV === 'development' const url = getRequestURL(event, { xForwardedHost: true }).pathname - // For non-EvlogError, preserve Nitro's default response shape if (!evlogError) { - const status = extractErrorStatus(error) - - // Derive message from statusText/statusMessage/message for cross-version compatibility - const rawMessage = ((error as { statusText?: string }).statusText - ?? (error as { statusMessage?: string }).statusMessage - ?? error.message) || 'Internal Server Error' - - // Sanitize internal error details in production for 5xx errors - const message = isDev - ? rawMessage - : (status >= 500 ? 'Internal Server Error' : rawMessage) - - setResponseStatus(event, status) + const body = buildPlainNitroErrorBody(error, url, isDev) + setResponseStatus(event, body.status as number) setResponseHeader(event, 'Content-Type', 'application/json') - - return send(event, JSON.stringify({ - url, - status, - statusCode: status, - statusText: message, - statusMessage: message, - message, - error: true, - })) + return send(event, JSON.stringify(body)) } const status = extractErrorStatus(evlogError) diff --git a/packages/evlog/src/nitro/module.ts b/packages/evlog/src/nitro/module.ts index c3e77a64..957bc90b 100644 --- a/packages/evlog/src/nitro/module.ts +++ b/packages/evlog/src/nitro/module.ts @@ -2,6 +2,7 @@ import { dirname, resolve } from 'node:path' import { fileURLToPath } from 'node:url' import type { Nitro } from 'nitropack' import type { NitroModuleOptions } from '../nitro' +import { prependNitroErrorHandler } from '../nitro' export type { NitroModuleOptions } @@ -23,10 +24,11 @@ export default function evlog(options?: NitroModuleOptions) { nitro.options.plugins = nitro.options.plugins || [] nitro.options.plugins.push(resolveModulePath('plugin')) - // Set error handler only if not already configured by user - if (!nitro.options.errorHandler) { - nitro.options.errorHandler = resolveModulePath('errorHandler') - } + // Prepend so evlog runs before any framework handler (Nuxt registers its own). + nitro.options.errorHandler = prependNitroErrorHandler( + nitro.options.errorHandler, + resolveModulePath('errorHandler'), + ) // explicitly tell nitro to bundle evlog's files to correctly resolve nitro dependencies // in nitro v2 we can only disable externals globally diff --git a/packages/evlog/src/nitro/plugin.ts b/packages/evlog/src/nitro/plugin.ts index 260fcaf1..b140b2e4 100644 --- a/packages/evlog/src/nitro/plugin.ts +++ b/packages/evlog/src/nitro/plugin.ts @@ -6,6 +6,9 @@ import type { NitroApp } from 'nitropack/types' import { defineNitroPlugin } from 'nitropack/runtime/internal/plugin' import { getHeaders } from 'h3' import { createRequestLogger, getGlobalPluginRunner, initLogger, isEnabled } from '../logger' +import { registerPrettyErrorSnippetReader } from '../shared/pretty-error' +import { readCodeSnippetFromDisk } from '../shared/pretty-error-snippet.node' +import { enrichErrorStackForDev } from '../shared/enrich-error-stack.node' import { shouldLog, getServiceForPath, extractErrorStatus } from '../nitro' import { normalizeRedactConfig } from '../redact' import { resolveEvlogConfigForNitroPlugin, setActiveNitroRuntime } from '../shared/nitroConfigBridge' @@ -74,6 +77,7 @@ async function callEnrichAndDrain( nitroApp: NitroApp, emittedEvent: WideEvent | null, event: ServerEvent, + options?: { deferDrain?: boolean }, ): Promise { if (!emittedEvent) return @@ -105,16 +109,23 @@ async function callEnrichAndDrain( } const drainPromise = Promise.all(drainTasks) - // Use waitUntil if available (Cloudflare Workers, Vercel Edge, etc.) - // This keeps the runtime alive for background work without blocking the response + // deferDrain: fire-and-forget — never event.waitUntil() here. On Nitro 2.13+ + // (h3 2 / srvx), event.waitUntil queues work that must finish before the HTTP + // response is sent, so a slow evlog:drain hook (Axiom, etc.) would hang 4xx/5xx + // responses even though emit() already logged to the terminal. + if (options?.deferDrain) { + void drainPromise.catch((err) => { + console.error('[evlog] background drain failed:', err) + }) + return + } + + // afterResponse path — response is already sent; waitUntil extends serverless + // runtimes, await is the Node fallback so drains are not lost. const waitUntilCtx = event.context.cloudflare?.context ?? event.context if (typeof waitUntilCtx?.waitUntil === 'function') { waitUntilCtx.waitUntil(drainPromise) } else { - // Fallback: await drain to prevent lost logs in serverless environments - // (e.g. Vercel Fluid Compute). On the normal path this runs from - // afterResponse (response already sent); on the error path it may run - // before the error response is finalized. await drainPromise } } @@ -125,10 +136,15 @@ export default defineNitroPlugin(async (nitroApp) => { const redact = normalizeRedactConfig(evlogConfig?.redact as boolean | Record | undefined) + registerPrettyErrorSnippetReader(readCodeSnippetFromDisk) + initLogger({ enabled: evlogConfig?.enabled, env: evlogConfig?.env, pretty: evlogConfig?.pretty, + prettyErrorFrames: evlogConfig?.prettyErrorFrames, + prettyErrorStackDepth: evlogConfig?.prettyErrorStackDepth, + prettyErrorCompact: evlogConfig?.prettyErrorCompact, silent: evlogConfig?.silent, sampling: evlogConfig?.sampling, minLevel: evlogConfig?.minLevel, @@ -209,7 +225,12 @@ export default defineNitroPlugin(async (nitroApp) => { const requestLog = e.context.log as RequestLogger | undefined if (requestLog) { - requestLog.error(error as Error) + // Block afterResponse/response hooks from emitting while we enrich the stack. + e.context._evlogEmitted = true + + const err = error as Error + await enrichErrorStackForDev(err, { pretty: evlogConfig?.pretty }) + requestLog.error(err) const errorStatus = extractErrorStatus(error) requestLog.set({ status: errorStatus }) @@ -232,10 +253,10 @@ export default defineNitroPlugin(async (nitroApp) => { const runner = getGlobalPluginRunner() if (runner.hasKeep) await runner.runKeep(tailCtx) - e.context._evlogEmitted = true - const emittedEvent = requestLog.emit({ _forceKeep: tailCtx.shouldKeep }) - await callEnrichAndDrain(nitroApp, emittedEvent, e) + void callEnrichAndDrain(nitroApp, emittedEvent, e, { deferDrain: true }).catch((err) => { + console.error('[evlog] background enrich/drain failed:', err) + }) } }) diff --git a/packages/evlog/src/nuxt/module.ts b/packages/evlog/src/nuxt/module.ts index 894ba587..d36fc86a 100644 --- a/packages/evlog/src/nuxt/module.ts +++ b/packages/evlog/src/nuxt/module.ts @@ -10,6 +10,7 @@ import { } from '@nuxt/kit' import type { NitroConfig } from 'nitropack' import type { EnvironmentContext, LogLevel, RedactConfig, RouteConfig, SamplingConfig, TransportConfig } from '../types' +import { prependNitroErrorHandler } from '../nitro' import { createStripPlugin } from '../vite/strip' import { createSourceLocationPlugin } from '../vite/source-location' import { name, version } from '../../package.json' @@ -76,6 +77,28 @@ export interface ModuleOptions { */ pretty?: boolean + /** + * Dev-only code snippets around the primary stack frame in pretty error output. + * @default true in development + */ + prettyErrorFrames?: boolean + + /** + * Max stack frames shown after the code snippet in pretty error output. + * @default 3 + */ + prettyErrorStackDepth?: number + /** Tighter dev error layout (shorter snippet, no stack tail). @default true in dev */ + prettyErrorCompact?: boolean + + /** + * Development error console handler. + * - `'evlog'` — suppress Nitro's dev overlay; rely on evlog wide events + * - `'nitro'` — keep Nitro's native dev error output + * @default 'evlog' when pretty in development + */ + devErrorHandler?: 'evlog' | 'nitro' + /** * Suppress built-in console output. * When true, events are still built, sampled, and passed to drains, @@ -357,7 +380,8 @@ export default defineNuxtModule({ // often cannot resolve useRuntimeConfig().evlog via dynamic import reliably). // @ts-expect-error nitro:config hook exists but is not in NuxtHooks type nuxt.hook('nitro:config', (nitroConfig: NitroConfig) => { - nitroConfig.errorHandler = nitroConfig.errorHandler || resolver.resolve('../nitro/errorHandler') + const evlogHandler = resolver.resolve('../nitro/errorHandler') + nitroConfig.errorHandler = prependNitroErrorHandler(nitroConfig.errorHandler, evlogHandler) const evlogForNitro = nuxt.options.runtimeConfig.evlog ?? options if (evlogForNitro !== undefined && typeof evlogForNitro === 'object') { diff --git a/packages/evlog/src/shared/define.ts b/packages/evlog/src/shared/define.ts index f5dd1b13..af61b2f4 100644 --- a/packages/evlog/src/shared/define.ts +++ b/packages/evlog/src/shared/define.ts @@ -16,6 +16,11 @@ export interface EvlogConfig extends BaseEvlogOptions { enabled?: boolean /** Auto-detected from `NODE_ENV` when omitted. */ pretty?: boolean + /** Dev-only code snippets in pretty error output. @default true in dev */ + prettyErrorFrames?: boolean + /** Max stack frames after the snippet. @default 3 */ + prettyErrorStackDepth?: number + prettyErrorCompact?: boolean sampling?: SamplingConfig /** Suppress built-in console output (useful when drains own the channel). */ silent?: boolean @@ -66,6 +71,9 @@ export function toLoggerConfig(config: EvlogConfig): LoggerConfig { if (env) out.env = env if (config.enabled !== undefined) out.enabled = config.enabled if (config.pretty !== undefined) out.pretty = config.pretty + if (config.prettyErrorFrames !== undefined) out.prettyErrorFrames = config.prettyErrorFrames + if (config.prettyErrorStackDepth !== undefined) out.prettyErrorStackDepth = config.prettyErrorStackDepth + if (config.prettyErrorCompact !== undefined) out.prettyErrorCompact = config.prettyErrorCompact if (config.sampling !== undefined) out.sampling = config.sampling if (config.minLevel !== undefined) out.minLevel = config.minLevel if (config.stringify !== undefined) out.stringify = config.stringify diff --git a/packages/evlog/src/shared/enrich-error-stack.node.ts b/packages/evlog/src/shared/enrich-error-stack.node.ts new file mode 100644 index 00000000..e52fb09f --- /dev/null +++ b/packages/evlog/src/shared/enrich-error-stack.node.ts @@ -0,0 +1,47 @@ +/** Options for {@link enrichErrorStackForDev}. */ +export interface EnrichErrorStackOptions { + /** When false, skip Nitro source-map stack enrichment. @default true in dev when pretty is enabled */ + pretty?: boolean +} + +function shouldEnrichStackFromConfig(): boolean { + try { + const raw = process.env.__EVLOG_CONFIG + if (raw) { + const config = JSON.parse(raw) as { pretty?: boolean } + return config.pretty ?? process.env.NODE_ENV !== 'production' + } + } catch { + // ignore malformed config + } + return process.env.NODE_ENV !== 'production' +} + +/** + * Rewrite `error.stack` with source-mapped frames when the Nitro dev runtime is available. + * Matches Nitro's Youch output (e.g. `server/api/foo.ts:100` instead of `.nuxt/dev/index.mjs`). + */ +export async function enrichErrorStackForDev( + error: Error, + options: EnrichErrorStackOptions = {}, +): Promise { + if (process.env.NODE_ENV === 'production') return + const pretty = options.pretty ?? shouldEnrichStackFromConfig() + if (!pretty) return + + const specifiers = [ + 'nitropack/runtime/internal/error/dev', + 'nitro/runtime/internal/error/dev', + ] + for (const specifier of specifiers) { + try { + const mod = await import(specifier) + if (typeof mod.loadStackTrace === 'function') { + await mod.loadStackTrace(error).catch(() => {}) + return + } + } catch { + // try next runtime + } + } +} diff --git a/packages/evlog/src/shared/pretty-error-snippet.node.ts b/packages/evlog/src/shared/pretty-error-snippet.node.ts new file mode 100644 index 00000000..437451f3 --- /dev/null +++ b/packages/evlog/src/shared/pretty-error-snippet.node.ts @@ -0,0 +1,40 @@ +import { readFileSync } from 'node:fs' +import { resolve } from 'node:path' +import type { CodeSnippetLine } from './pretty-error' +import { decodeFileUrl } from './pretty-error' + +/** + * Read source lines around a stack frame from disk (Node.js only). + */ +export function readCodeSnippetFromDisk( + file: string, + line: number, + contextLines = 2, +): CodeSnippetLine[] | null { + const decoded = decodeFileUrl(file) + let content: string + try { + content = readFileSync(decoded, 'utf8') + } catch { + try { + content = readFileSync(resolve(process.cwd(), decoded), 'utf8') + } catch { + return null + } + } + + const lines = content.split('\n') + const start = Math.max(0, line - contextLines - 1) + const end = Math.min(lines.length, line + contextLines) + const snippet: CodeSnippetLine[] = [] + + for (let i = start; i < end; i++) { + snippet.push({ + line: i + 1, + content: lines[i] ?? '', + isErrorLine: i + 1 === line, + }) + } + + return snippet.length > 0 ? snippet : null +} diff --git a/packages/evlog/src/shared/pretty-error.ts b/packages/evlog/src/shared/pretty-error.ts new file mode 100644 index 00000000..775af0bb --- /dev/null +++ b/packages/evlog/src/shared/pretty-error.ts @@ -0,0 +1,423 @@ +import { colors, isBrowser, isDev } from '../utils' + +/** @internal Server-only snippet reader registered by Nitro plugin or initLogger. */ +type SnippetReader = (file: string, line: number, contextLines?: number) => CodeSnippetLine[] | null + +let snippetReader: SnippetReader | null = null + +/** + * Register a disk-backed snippet reader (Node.js integrations only). + * @internal + */ +export function registerPrettyErrorSnippetReader(reader: SnippetReader | null): void { + snippetReader = reader +} + +/** Tree-only breathing line (connector without content). */ +export const PRETTY_ERROR_TREE_SPACER = '__EVLOG_TREE_SPACER__' + +function pushTreeSpacer(children: string[]) { + children.push(PRETTY_ERROR_TREE_SPACER) +} + +/** Pretty-print tree node for error sections. */ +export interface PrettyErrorTreeEntry { + key: string + value: string + /** Optional ANSI color for the value (server only). */ + valueColor?: string + children?: string[] +} + +/** Normalized error fields extracted from wide-event `error` context. */ +export interface NormalizedErrorContext { + message: string + name?: string + code?: string + why?: string + fix?: string + link?: string + status?: number + stack?: string + cause?: string +} + +/** Parsed V8 stack frame. */ +export interface StackFrame { + raw: string + file?: string + line?: number + column?: number + fn?: string + /** True for application source (not node_modules / build output). */ + isApp: boolean +} + +/** Options for {@link buildErrorEntries}. */ +export interface PrettyErrorOptions { + /** Dev-only code snippets around the primary stack frame. @default true in dev */ + prettyErrorFrames?: boolean + /** Max stack frames shown after the snippet. @default 2 when compact, else 3 */ + prettyErrorStackDepth?: number + /** Tighter dev error layout: shorter snippet, no blank lines within the block. @default true in dev */ + compact?: boolean + /** Project root for relative paths in snippets. @default process.cwd() */ + cwd?: string +} + +export interface CodeSnippetLine { + line: number + content: string + isErrorLine: boolean +} + +const SKIP_PATH_RE = /(?:^|[/\\])(?:node_modules|\.nuxt|\.output)(?:[/\\]|$)/ +const SKIP_FRAME_PATH_RE = /(?:^|[/\\])(?:packages[/\\]evlog|evlog[/\\]dist|evlog[/\\]src)(?:[/\\]|$)|[/\\]error\.(?:ts|mjs)(?:$|:)/ +const SKIP_FRAME_FN_RE = /^(?:createError|EvlogError|new EvlogError)$/ + +function isPlainObject(val: unknown): val is Record { + return val !== null && typeof val === 'object' && !Array.isArray(val) +} + +function pickString(obj: Record, key: string): string | undefined { + const val = obj[key] + return typeof val === 'string' && val.length > 0 ? val : undefined +} + +function pickNumber(obj: Record, key: string): number | undefined { + const val = obj[key] + return typeof val === 'number' ? val : undefined +} + +function extractGuidance(data: Record): Pick { + return { + code: pickString(data, 'code'), + why: pickString(data, 'why'), + fix: pickString(data, 'fix'), + link: pickString(data, 'link'), + } +} + +/** + * Extract structured error fields from a wide-event `error` value. + */ +export function normalizeErrorContext(error: unknown): NormalizedErrorContext | null { + if (error === null || error === undefined) return null + + if (typeof error === 'string') { + return { message: error } + } + + if (!isPlainObject(error)) { + return { message: String(error) } + } + + const message = pickString(error, 'message') + ?? pickString(error, 'statusText') + ?? pickString(error, 'statusMessage') + ?? 'Unknown error' + + const result: NormalizedErrorContext = { + message, + name: pickString(error, 'name'), + code: pickString(error, 'code'), + why: pickString(error, 'why'), + fix: pickString(error, 'fix'), + link: pickString(error, 'link'), + status: pickNumber(error, 'status') ?? pickNumber(error, 'statusCode'), + stack: pickString(error, 'stack'), + } + + const { data, cause } = error + if (isPlainObject(data)) { + const guidance = extractGuidance(data) + if (!result.code) result.code = guidance.code + if (!result.why) result.why = guidance.why + if (!result.fix) result.fix = guidance.fix + if (!result.link) result.link = guidance.link + } + + if (cause instanceof Error) { + result.cause = cause.message + } else if (isPlainObject(cause) && pickString(cause, 'message')) { + result.cause = pickString(cause, 'message') + } + + return result +} + +/** Decode a `file://` URL or path for display and snippet lookup. */ +export function decodeFileUrl(file: string): string { + if (file.startsWith('file://')) { + try { + return decodeURIComponent(new URL(file).pathname) + } catch { + return file.slice('file://'.length) + } + } + return file +} + +function isAppPath(file: string): boolean { + const normalized = file.replace(/\\/g, '/') + if (SKIP_PATH_RE.test(normalized)) return false + if (normalized.includes('/node_modules/')) return false + return true +} + +function formatDisplayPath(file: string, cwd: string): string { + const decoded = decodeFileUrl(file).replace(/\\/g, '/') + const cwdNorm = cwd.replace(/\\/g, '/').replace(/\/$/, '') + if (cwdNorm && decoded.startsWith(`${cwdNorm}/`)) { + const rel = decoded.slice(cwdNorm.length + 1) + return rel.startsWith('./') ? rel.slice(2) : rel + } + const serverIdx = decoded.indexOf('/server/') + if (serverIdx >= 0) return decoded.slice(serverIdx + 1) + const srcIdx = decoded.indexOf('/src/') + if (srcIdx >= 0) return decoded.slice(srcIdx + 1) + return decoded +} + +/** + * Parse a V8 stack trace string into frames. + */ +export function parseStackFrames(stack: string | undefined): StackFrame[] { + if (!stack) return [] + + const lines = stack.split('\n') + const frames: StackFrame[] = [] + + for (const line of lines) { + const trimmed = line.trim() + if (!trimmed.startsWith('at ')) continue + + const withFn = trimmed.match(/^at (.+?) \((.+):(\d+):(\d+)\)$/) + if (withFn) { + const [, fn, file, lineStr, colStr] = withFn + frames.push({ + raw: trimmed, + fn, + file, + line: Number(lineStr), + column: Number(colStr), + isApp: isAppPath(file!), + }) + continue + } + + const withoutFn = trimmed.match(/^at (.+):(\d+):(\d+)$/) + if (withoutFn) { + const [, file, lineStr, colStr] = withoutFn + frames.push({ + raw: trimmed, + file, + line: Number(lineStr), + column: Number(colStr), + isApp: isAppPath(file!), + }) + continue + } + + const asyncFn = trimmed.match(/^at async (.+?) \((.+):(\d+):(\d+)\)$/) + if (asyncFn) { + const [, fn, file, lineStr, colStr] = asyncFn + frames.push({ + raw: trimmed, + fn: `async ${fn}`, + file, + line: Number(lineStr), + column: Number(colStr), + isApp: isAppPath(file!), + }) + } + } + + return frames +} + +function isInternalErrorFrame(frame: StackFrame): boolean { + if (frame.fn) { + const fn = frame.fn.replace(/^async /, '') + if (SKIP_FRAME_FN_RE.test(fn)) return true + } + if (!frame.file) return true + const path = decodeFileUrl(frame.file).replace(/\\/g, '/') + if (SKIP_FRAME_PATH_RE.test(path)) return true + if (path.includes('.nuxt/')) return true + return false +} + +/** + * Pick the most useful frame for code snippets (prefer app source over bundles). + */ +export function pickPrimaryFrame(frames: StackFrame[]): StackFrame | undefined { + const appFrames = frames.filter(f => f.isApp && f.file && f.line && !isInternalErrorFrame(f)) + if (appFrames.length === 0) return undefined + + const scored = appFrames.map((frame) => { + const path = decodeFileUrl(frame.file!).replace(/\\/g, '/') + let score = 0 + if (path.includes('/server/')) score += 8 + if (/\.(?:ts|tsx|vue)$/.test(path)) score += 6 + if (path.includes('/src/')) score += 3 + if (path.startsWith('./')) score += 2 + if (/\.(?:js|jsx|mjs)$/.test(path)) score += 1 + if (path.includes('.nuxt/')) score -= 20 + if (path.includes('/packages/evlog/')) score -= 20 + return { frame, score } + }) + + scored.sort((a, b) => b.score - a.score) + return scored[0]?.frame ?? appFrames[0] +} + +/** + * Read source lines around a stack frame when a server snippet reader is registered. + */ +export function readCodeSnippet( + file: string, + line: number, + contextLines = 2, +): CodeSnippetLine[] | null { + if (!isDev() || isBrowser() || !snippetReader) return null + return snippetReader(file, line, contextLines) +} + +function formatSnippetLines(snippet: CodeSnippetLine[]): string[] { + const width = String(snippet[snippet.length - 1]?.line ?? 0).length + return snippet.map(({ line, content, isErrorLine }) => { + const marker = isErrorLine ? `${colors.red}❯${colors.reset}` : `${colors.dim} ${colors.reset}` + const numColor = isErrorLine ? colors.red : colors.gray + const trimmed = content.length > 120 ? `${content.slice(0, 117)}…` : content + return `${marker} ${numColor}${String(line).padStart(width, ' ')}${colors.reset} ${colors.dim}┃${colors.reset} ${colors.dim}${trimmed}${colors.reset}` + }) +} + +function formatFrameLocation(frame: StackFrame, cwd: string): string { + const file = frame.file ? formatDisplayPath(frame.file, cwd) : 'unknown' + const loc = frame.line ? `${file}:${frame.line}` : file + return frame.fn ? `at ${frame.fn} (${loc})` : `at ${loc}` +} + +function formatCollapsedFrame(frame: StackFrame, cwd: string): string { + const file = frame.file ? formatDisplayPath(frame.file, cwd) : 'unknown' + const loc = frame.line ? `${file}:${frame.line}` : file + const prefix = frame.fn?.startsWith('async') ? 'at async ' : 'at ' + const fn = frame.fn?.replace(/^async /, '') ?? loc + if (frame.fn && frame.fn !== loc) { + return `${prefix}${fn} (${loc})` + } + return `${prefix}${loc}` +} + +const GUIDANCE_WRAP_WIDTH = 76 +const GUIDANCE_CONTINUATION = ' ' + +/** Wrap guidance text with hanging indent for long Why/Fix lines. */ +function formatGuidanceLine(label: string, text: string, labelColor: string): string[] { + const prefix = `${labelColor}${label}:${colors.reset} ` + const lines: string[] = [] + let remaining = text.trim() + let first = true + + while (remaining.length > 0) { + const budget = first + ? Math.max(24, GUIDANCE_WRAP_WIDTH - prefix.length) + : Math.max(24, GUIDANCE_WRAP_WIDTH - GUIDANCE_CONTINUATION.length) + if (remaining.length <= budget) { + lines.push(first ? `${prefix}${remaining}` : `${GUIDANCE_CONTINUATION}${remaining}`) + break + } + let split = remaining.lastIndexOf(' ', budget) + if (split <= 0) split = budget + const chunk = remaining.slice(0, split).trimEnd() + lines.push(first ? `${prefix}${chunk}` : `${GUIDANCE_CONTINUATION}${chunk}`) + remaining = remaining.slice(split).trimStart() + first = false + } + + return lines +} + +/** + * Build pretty-print tree entries for a wide-event `error` field. + */ +export function buildErrorEntries( + error: unknown, + options: PrettyErrorOptions = {}, +): PrettyErrorTreeEntry[] { + const normalized = normalizeErrorContext(error) + if (!normalized) return [] + + const cwd = options.cwd ?? (typeof process !== 'undefined' && typeof process.cwd === 'function' ? process.cwd() : '.') + const compact = options.compact ?? isDev() + const showFrames = !isBrowser() && (options.prettyErrorFrames ?? isDev()) + const stackDepth = options.prettyErrorStackDepth ?? (compact ? 2 : 3) + const snippetContextLines = compact ? 1 : 2 + + const children: string[] = [] + const frames = parseStackFrames(normalized.stack) + const primary = pickPrimaryFrame(frames) + + if (primary?.file && primary.line) { + pushTreeSpacer(children) + if (showFrames) { + const snippet = readCodeSnippet(primary.file, primary.line, snippetContextLines) + children.push(`${colors.dim} ${formatFrameLocation(primary, cwd)}${colors.reset}`) + if (snippet) { + children.push(...formatSnippetLines(snippet)) + } + } else { + children.push(`${colors.dim} ${formatFrameLocation(primary, cwd)}${colors.reset}`) + } + } + + if (normalized.code) { + children.push(`${colors.dim}Code:${colors.reset} ${normalized.code}`) + } + + const hasGuidance = Boolean(normalized.why || normalized.fix || normalized.link) + if (hasGuidance) { + pushTreeSpacer(children) + } + + if (normalized.why) { + children.push(...formatGuidanceLine('Why', normalized.why, colors.yellow)) + } + if (normalized.fix) { + children.push(...formatGuidanceLine('Fix', normalized.fix, colors.cyan)) + } + if (normalized.link) { + children.push(`${colors.dim}More:${colors.reset} ${normalized.link}`) + } + + if (normalized.cause && normalized.cause !== normalized.message) { + children.push(`${colors.dim}Caused by:${colors.reset} ${normalized.cause}`) + } + + const hiddenCount = frames.filter(f => !f.isApp || isInternalErrorFrame(f)).length + const tailFrames = stackDepth > 0 + ? frames.filter(f => f !== primary && !isInternalErrorFrame(f)).slice(0, stackDepth) + : [] + + if (hiddenCount > 0 || tailFrames.length > 0) { + pushTreeSpacer(children) + if (hiddenCount > 0) { + children.push(`${colors.gray}stack (${hiddenCount} frame${hiddenCount === 1 ? '' : 's'} hidden in node_modules)${colors.reset}`) + } else { + children.push(`${colors.gray}stack${colors.reset}`) + } + for (const frame of tailFrames) { + children.push(`${colors.gray} ${formatCollapsedFrame(frame, cwd)}${colors.reset}`) + } + } + + return [ + { + key: 'error', + value: `${colors.red}${colors.bold}${normalized.message}${colors.reset}`, + children: children.length > 0 ? children : undefined, + }, + ] +} diff --git a/packages/evlog/src/types.ts b/packages/evlog/src/types.ts index 2180a4f8..5757293a 100644 --- a/packages/evlog/src/types.ts +++ b/packages/evlog/src/types.ts @@ -291,6 +291,18 @@ export interface LoggerConfig { env?: Partial /** Enable pretty printing (auto-detected: true in dev, false in prod) */ pretty?: boolean + /** + * Dev-only code snippets around the primary stack frame in pretty error output. + * @default true in development + */ + prettyErrorFrames?: boolean + /** + * Max stack frames shown after the code snippet in pretty error output. + * @default 3 + */ + prettyErrorStackDepth?: number + /** Tighter dev error layout (shorter snippet, no stack tail). @default true in dev */ + prettyErrorCompact?: boolean /** Sampling configuration for filtering logs */ sampling?: SamplingConfig /** diff --git a/packages/evlog/test/core/pretty-error.test.ts b/packages/evlog/test/core/pretty-error.test.ts new file mode 100644 index 00000000..890938c0 --- /dev/null +++ b/packages/evlog/test/core/pretty-error.test.ts @@ -0,0 +1,263 @@ +import { mkdtempSync, writeFileSync } from 'node:fs' +import { join } from 'node:path' +import { tmpdir } from 'node:os' +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' +import { createError } from '../../src/error' +import { createRequestLogger, initLogger } from '../../src/logger' +import { + buildErrorEntries, + normalizeErrorContext, + parseStackFrames, + pickPrimaryFrame, + readCodeSnippet, + registerPrettyErrorSnippetReader, +} from '../../src/shared/pretty-error' +import { readCodeSnippetFromDisk } from '../../src/shared/pretty-error-snippet.node' +import { enrichErrorStackForDev } from '../../src/shared/enrich-error-stack.node' +import { shouldUseEvlogDevErrorHandler, prependNitroErrorHandler } from '../../src/nitro' + +const SAMPLE_STACK = `Error: Payment processing failed + at Object.handler (file:///Users/dev/project/server/api/test.get.ts:100:0) + at async file:///Users/dev/project/node_modules/h3/dist/index.mjs:2017:19 + at async Object.callAsync (file:///Users/dev/project/node_modules/unctx/dist/index.mjs:72:16)` + +describe('normalizeErrorContext', () => { + it('extracts guidance fields from EvlogError-shaped objects', () => { + const err = createError({ + code: 'PAYMENT_DECLINED', + message: 'Payment failed', + status: 402, + why: 'Card declined', + fix: 'Try another card', + link: 'https://docs.example.com/payments', + }) + + expect(normalizeErrorContext({ + name: err.name, + message: err.message, + stack: err.stack, + code: err.code, + why: err.why, + fix: err.fix, + link: err.link, + status: err.status, + })).toMatchObject({ + message: 'Payment failed', + code: 'PAYMENT_DECLINED', + why: 'Card declined', + fix: 'Try another card', + link: 'https://docs.example.com/payments', + status: 402, + }) + }) + + it('reads guidance from nested data', () => { + expect(normalizeErrorContext({ + message: 'Failed', + data: { + code: 'X', + why: 'because', + fix: 'do Y', + }, + })).toMatchObject({ + code: 'X', + why: 'because', + fix: 'do Y', + }) + }) +}) + +describe('parseStackFrames', () => { + it('marks node_modules frames as non-app and picks the app frame for snippets', () => { + const frames = parseStackFrames(SAMPLE_STACK) + expect(frames).toHaveLength(3) + expect(frames[0]?.isApp).toBe(true) + expect(frames[0]?.file).toContain('server/api/test.get.ts') + expect(frames[1]?.isApp).toBe(false) + expect(frames[2]?.isApp).toBe(false) + + const primary = pickPrimaryFrame(frames) + expect(primary?.file).toContain('server/api/test.get.ts') + expect(primary?.line).toBe(100) + }) + + it('skips evlog internal frames from createError throws', () => { + const stack = `Error: Payment processing failed + at new EvlogError (file:///Users/dev/project/packages/evlog/src/error.ts:166:10) + at createError (file:///Users/dev/project/packages/evlog/src/error.ts:166:10) + at Object.handler (file:///Users/dev/project/server/api/test/structured-error.get.ts:100:9) + at async file:///Users/dev/project/node_modules/h3/dist/index.mjs:2017:19` + const primary = pickPrimaryFrame(parseStackFrames(stack)) + expect(primary?.file).toContain('structured-error.get.ts') + expect(primary?.line).toBe(100) + }) + + it('skips bundled .nuxt/dev frames', () => { + const stack = `Payment processing failed +at createError (.nuxt/dev/index.mjs:3007:10) +at Object.handler (.nuxt/dev/index.mjs:8108:9) +at async file:///Users/dev/project/node_modules/h3/dist/index.mjs:2017:19` + const primary = pickPrimaryFrame(parseStackFrames(stack)) + expect(primary).toBeUndefined() + }) +}) + +describe('readCodeSnippet', () => { + beforeEach(() => { + registerPrettyErrorSnippetReader(readCodeSnippetFromDisk) + }) + + afterEach(() => { + registerPrettyErrorSnippetReader(null) + }) + + it('returns lines around the error line', () => { + const dir = mkdtempSync(join(tmpdir(), 'evlog-pretty-error-')) + const file = join(dir, 'handler.ts') + writeFileSync(file, [ + 'line 1', + 'line 2', + 'throw new Error(\'boom\')', + 'line 4', + ].join('\n'), 'utf8') + + const snippet = readCodeSnippet(file, 3, 1) + expect(snippet).toEqual([ + { line: 2, content: 'line 2', isErrorLine: false }, + { line: 3, content: 'throw new Error(\'boom\')', isErrorLine: true }, + { line: 4, content: 'line 4', isErrorLine: false }, + ]) + }) +}) + +describe('buildErrorEntries', () => { + it('renders message, guidance, location, and hidden stack summary', () => { + const entries = buildErrorEntries({ + message: 'Payment failed', + stack: SAMPLE_STACK, + why: 'Card declined', + fix: 'Try another card', + link: 'https://docs.example.com/payments', + }, { prettyErrorFrames: false, prettyErrorStackDepth: 2, compact: false }) + + expect(entries).toHaveLength(1) + const entry = entries[0]! + expect(entry.key).toBe('error') + expect(entry.value).toContain('Payment failed') + expect(entry.value).not.toContain('stack=') + const children = entry.children ?? [] + expect(children.some(line => line.includes('Why:'))).toBe(true) + expect(children.some(line => line.includes('Fix:'))).toBe(true) + expect(children.some(line => line.includes('More:'))).toBe(true) + expect(children.some(line => line.includes('hidden in node_modules'))).toBe(true) + }) + + it('omits redundant caused-by when it matches the message', () => { + const entries = buildErrorEntries({ + message: 'Payment failed', + stack: SAMPLE_STACK, + cause: 'Payment failed', + }, { prettyErrorFrames: false }) + + const children = entries[0]?.children ?? [] + expect(children.some(line => line.includes('Caused by:'))).toBe(false) + }) + + it('filters createError frames from the collapsed stack', () => { + const stack = `Payment processing failed +at createError (/Users/dev/project/packages/evlog/dist/error.mjs:128:8) +at Object.handler (server/api/test/structured-error.get.ts:100:0) +at async file:///Users/dev/project/node_modules/h3/dist/index.mjs:2017:19` + const entries = buildErrorEntries({ + message: 'Payment failed', + stack, + why: 'Card declined', + }, { prettyErrorFrames: false, prettyErrorStackDepth: 5, compact: false }) + + const children = entries[0]?.children ?? [] + expect(children.some(line => line.includes('createError'))).toBe(false) + expect(children.some(line => line.includes('structured-error.get.ts'))).toBe(true) + }) + + it('wraps long Fix guidance with hanging indent', () => { + const longFix = `${'Please use a different payment method. '.repeat(6)}Contact your bank.` + const entries = buildErrorEntries({ + message: 'Payment failed', + stack: SAMPLE_STACK, + fix: longFix, + }, { prettyErrorFrames: false, prettyErrorStackDepth: 0, compact: false }) + + const children = entries[0]?.children ?? [] + const fixIndex = children.findIndex(line => line.includes('Fix:')) + expect(fixIndex).toBeGreaterThanOrEqual(0) + expect(children[fixIndex + 1]).toMatch(/^\s{5}\S/) + }) +}) + +describe('dev error handler routing', () => { + const originalEnv = process.env.NODE_ENV + + afterEach(() => { + process.env.NODE_ENV = originalEnv + }) + + it('defaults to evlog in pretty dev and allows Nitro overlay opt-in', () => { + process.env.NODE_ENV = 'development' + expect(shouldUseEvlogDevErrorHandler({ pretty: true })).toBe(true) + expect(shouldUseEvlogDevErrorHandler({ pretty: true, devErrorHandler: 'nitro' })).toBe(false) + }) +}) + +describe('prependNitroErrorHandler', () => { + const handler = '/evlog/nitro/errorHandler' + + it('prepends without duplicating an existing handler list', () => { + expect(prependNitroErrorHandler(undefined, handler)).toBe(handler) + expect(prependNitroErrorHandler('/nuxt/error', handler)).toEqual([handler, '/nuxt/error']) + + const existing = ['/nuxt/error', '/nitro/dev'] + expect(prependNitroErrorHandler(existing, handler)).toEqual([handler, ...existing]) + expect(prependNitroErrorHandler([handler, ...existing], handler)).toEqual([handler, ...existing]) + }) +}) + +describe('enrichErrorStackForDev', () => { + const originalEnv = process.env.NODE_ENV + const originalConfig = process.env.__EVLOG_CONFIG + + afterEach(() => { + process.env.NODE_ENV = originalEnv + if (originalConfig === undefined) delete process.env.__EVLOG_CONFIG + else process.env.__EVLOG_CONFIG = originalConfig + }) + + it('skips Nitro stack enrichment outside pretty dev', async () => { + process.env.NODE_ENV = 'production' + await expect(enrichErrorStackForDev(new Error('boom'))).resolves.toBeUndefined() + + process.env.NODE_ENV = 'development' + process.env.__EVLOG_CONFIG = JSON.stringify({ pretty: false }) + await expect(enrichErrorStackForDev(new Error('boom'), { pretty: false })).resolves.toBeUndefined() + }) +}) + +describe('pretty error logger integration', () => { + beforeEach(() => { + vi.spyOn(console, 'error').mockImplementation(() => {}) + vi.spyOn(console, 'log').mockImplementation(() => {}) + initLogger({ pretty: true, prettyErrorFrames: false }) + }) + + afterEach(() => { + vi.restoreAllMocks() + }) + + it('uses console.log for error-level wide events (avoids per-line ERROR badges)', () => { + const logger = createRequestLogger({ method: 'GET', path: '/fail', requestId: 'r1' }) + logger.error(new Error('boom')) + logger.emit({ status: 500 }) + + expect(console.log).toHaveBeenCalled() + expect(console.error).not.toHaveBeenCalled() + }) +}) diff --git a/packages/evlog/test/nitro/errorHandler.test.ts b/packages/evlog/test/nitro/errorHandler.test.ts index 5e659397..f453f985 100644 --- a/packages/evlog/test/nitro/errorHandler.test.ts +++ b/packages/evlog/test/nitro/errorHandler.test.ts @@ -21,20 +21,45 @@ vi.mock('nitropack/runtime', () => ({ import { createError } from '../../src/error' import errorHandler from '../../src/nitro/errorHandler' -const mockEvent = { node: { req: {}, res: {} } } as H3Event +const mockEvent = { node: { req: {}, res: {} }, _handled: false } as H3Event & { _handled: boolean } + +const defaultHandlerMock = vi.fn().mockResolvedValue(undefined) function invokeErrorHandler(error: Error) { - errorHandler(error, mockEvent, { defaultHandler: vi.fn() }) + return errorHandler(error, mockEvent, { defaultHandler: defaultHandlerMock }) } describe('errorHandler', () => { beforeEach(() => { vi.clearAllMocks() vi.stubEnv('NODE_ENV', 'development') + vi.stubEnv('__EVLOG_CONFIG', JSON.stringify({ pretty: true })) + mockEvent._handled = false + }) + + it('marks the h3 event handled so Nitro dev handler does not run', async () => { + await invokeErrorHandler(new Error('boom')) + expect(mockEvent._handled).toBe(true) + }) + + it('clears unhandled flag in dev pretty mode', async () => { + vi.stubEnv('__EVLOG_CONFIG', JSON.stringify({ pretty: true })) + const error = Object.assign(new Error('boom'), { unhandled: true, fatal: true }) + await invokeErrorHandler(error) + expect(error.unhandled).toBe(false) + expect(error.fatal).toBe(false) + }) + + it('calls defaultHandler when devErrorHandler is nitro', async () => { + vi.stubEnv('__EVLOG_CONFIG', JSON.stringify({ pretty: true, devErrorHandler: 'nitro' })) + const defaultHandler = vi.fn().mockResolvedValue(undefined) + const error = new Error('boom') + await errorHandler(error, mockEvent, { defaultHandler }) + expect(defaultHandler).toHaveBeenCalledWith(error, mockEvent, { silent: false }) }) describe('EvlogError handling', () => { - it('serializes EvlogError with all data fields', () => { + it('serializes EvlogError with all data fields', async () => { const evlogError = Object.assign(new Error('Payment failed'), { name: 'EvlogError', status: 402, @@ -48,7 +73,7 @@ describe('errorHandler', () => { }, }) - invokeErrorHandler(evlogError) + await invokeErrorHandler(evlogError) expect(mockSetResponseStatus).toHaveBeenCalledWith(mockEvent, 402) expect(mockSetResponseHeader).toHaveBeenCalledWith(mockEvent, 'Content-Type', 'application/json') @@ -65,7 +90,7 @@ describe('errorHandler', () => { }) }) - it('derives HTTP status from evlogError when in error.cause', () => { + it('derives HTTP status from evlogError when in error.cause', async () => { const evlogError = Object.assign(new Error('Not found'), { name: 'EvlogError', status: 404, @@ -77,7 +102,7 @@ describe('errorHandler', () => { const wrapperError = Object.assign(new Error('Wrapper error'), { cause: evlogError }) - invokeErrorHandler(wrapperError) + await invokeErrorHandler(wrapperError) expect(mockSetResponseStatus).toHaveBeenCalledWith(mockEvent, 404) @@ -86,15 +111,15 @@ describe('errorHandler', () => { expect(sentBody.data).toEqual({ why: 'Resource does not exist' }) }) - it('defaults to 500 when no status on evlogError', () => { + it('defaults to 500 when no status on evlogError', async () => { const evlogError = Object.assign(new Error('Unknown error'), { name: 'EvlogError' }) - invokeErrorHandler(evlogError) + await invokeErrorHandler(evlogError) expect(mockSetResponseStatus).toHaveBeenCalledWith(mockEvent, 500) }) - it('does not expose internal context on EvlogError responses', () => { + it('does not expose internal context on EvlogError responses', async () => { const err = createError({ message: 'Not allowed', status: 403, @@ -102,7 +127,7 @@ describe('errorHandler', () => { internal: { userId: 'u-internal', rawPolicy: 'deny:admin' }, }) - invokeErrorHandler(err) + await invokeErrorHandler(err) const sentBody = JSON.parse(defined(mockSend.mock.calls[0]?.[1], 'response body')) expect(sentBody.internal).toBeUndefined() @@ -117,12 +142,12 @@ describe('errorHandler', () => { }) describe('non-EvlogError handling', () => { - it('uses Nitro-compatible format for standard errors', () => { + it('uses Nitro-compatible format for standard errors', async () => { const error = Object.assign(new Error('Something went wrong'), { statusCode: 400, }) - invokeErrorHandler(error) + await invokeErrorHandler(error) expect(mockSetResponseStatus).toHaveBeenCalledWith(mockEvent, 400) @@ -135,46 +160,46 @@ describe('errorHandler', () => { expect(sentBody.data).toBeUndefined() }) - it('defaults to 500 for errors without status', () => { + it('defaults to 500 for errors without status', async () => { const error = new Error('Generic error') - invokeErrorHandler(error) + await invokeErrorHandler(error) expect(mockSetResponseStatus).toHaveBeenCalledWith(mockEvent, 500) }) - it('uses "Internal Server Error" when no message', () => { + it('uses "Internal Server Error" when no message', async () => { const error = new Error('') - invokeErrorHandler(error) + await invokeErrorHandler(error) const sentBody = JSON.parse(defined(mockSend.mock.calls[0]?.[1], 'response body')) expect(sentBody.message).toBe('Internal Server Error') expect(sentBody.statusMessage).toBe('Internal Server Error') }) - it('sanitizes 5xx error messages in production', () => { + it('sanitizes 5xx error messages in production', async () => { vi.stubEnv('NODE_ENV', 'production') const error = Object.assign(new Error('Database connection failed: password invalid'), { statusCode: 500, }) - invokeErrorHandler(error) + await invokeErrorHandler(error) const sentBody = JSON.parse(defined(mockSend.mock.calls[0]?.[1], 'response body')) expect(sentBody.message).toBe('Internal Server Error') expect(sentBody.statusMessage).toBe('Internal Server Error') }) - it('preserves 4xx error messages in production', () => { + it('preserves 4xx error messages in production', async () => { vi.stubEnv('NODE_ENV', 'production') const error = Object.assign(new Error('Invalid email format'), { statusCode: 400, }) - invokeErrorHandler(error) + await invokeErrorHandler(error) const sentBody = JSON.parse(defined(mockSend.mock.calls[0]?.[1], 'response body')) expect(sentBody.message).toBe('Invalid email format') diff --git a/packages/evlog/test/nitro/plugin-enrichment.test.ts b/packages/evlog/test/nitro/plugin-enrichment.test.ts index 91d148e9..c52285c6 100644 --- a/packages/evlog/test/nitro/plugin-enrichment.test.ts +++ b/packages/evlog/test/nitro/plugin-enrichment.test.ts @@ -23,6 +23,7 @@ describe('nitro plugin - enrichment pipeline (T7)', () => { }, emittedEvent: WideEvent | null, event: ServerEvent, + options?: { deferDrain?: boolean }, ): Promise { if (!emittedEvent) return @@ -39,13 +40,20 @@ describe('nitro plugin - enrichment pipeline (T7)', () => { console.error('[evlog] enrich failed:', err) } - nitroApp.hooks.callHook('evlog:drain', { + const drainPromise = nitroApp.hooks.callHook('evlog:drain', { event: emittedEvent, request: hookContext.request, headers: hookContext.headers, }).catch((err) => { console.error('[evlog] drain failed:', err) }) + + if (options?.deferDrain) { + void drainPromise + return + } + + await drainPromise } it('calls enrich then drain in sequence', async () => { @@ -243,4 +251,79 @@ describe('nitro plugin - enrichment pipeline (T7)', () => { expect(enrichHeaders).toEqual(mockHeaders) expect(drainHeaders).toEqual(mockHeaders) }) + + it('deferDrain does not register drain on event.waitUntil', async () => { + const mockWaitUntil = vi.fn() + let resolveDrain!: () => void + const slowDrain = new Promise((resolve) => { + resolveDrain = resolve + }) + + vi.mocked(getHeaders).mockReturnValue({}) + + const mockHooks = { + callHook: vi.fn().mockImplementation((hookName: string) => { + if (hookName === 'evlog:drain') return slowDrain + return Promise.resolve() + }), + } + + const mockEvent: ServerEvent = { + method: 'GET', + path: '/api/fail', + context: { + requestId: 'req-wu', + waitUntil: mockWaitUntil, + }, + } + + const emittedEvent: WideEvent = { + timestamp: new Date().toISOString(), + level: 'error', + service: 'test', + environment: 'test', + } + + await callEnrichAndDrain({ hooks: mockHooks }, emittedEvent, mockEvent, { deferDrain: true }) + + expect(mockWaitUntil).not.toHaveBeenCalled() + resolveDrain() + await slowDrain + }) + + it('deferDrain returns before a slow drain hook completes', async () => { + let resolveDrain!: () => void + const slowDrain = new Promise((resolve) => { + resolveDrain = resolve + }) + + vi.mocked(getHeaders).mockReturnValue({}) + + const mockHooks = { + callHook: vi.fn().mockImplementation((hookName: string) => { + if (hookName === 'evlog:drain') return slowDrain + return Promise.resolve() + }), + } + + const mockEvent: ServerEvent = { + method: 'GET', + path: '/api/fail', + context: { requestId: 'req-slow' }, + } + + const emittedEvent: WideEvent = { + timestamp: new Date().toISOString(), + level: 'error', + service: 'test', + environment: 'test', + } + + const started = Date.now() + await callEnrichAndDrain({ hooks: mockHooks }, emittedEvent, mockEvent, { deferDrain: true }) + expect(Date.now() - started).toBeLessThan(100) + + resolveDrain() + await slowDrain + }) }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d5cb7147..eae7b672 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,13 +20,13 @@ importers: version: 0.6.0 '@changesets/cli': specifier: ^2.31.0 - version: 2.31.0(@types/node@25.9.1) + version: 2.31.0(@types/node@25.9.2) '@hrcd/eslint-config': specifier: ^3.0.3 version: 3.0.3(@types/estree@1.0.8)(@typescript-eslint/utils@8.59.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) '@types/node': specifier: latest - version: 25.9.1 + version: 25.9.2 ai: specifier: ^6.0.168 version: 6.0.174(zod@4.4.3) @@ -53,7 +53,7 @@ importers: version: 6.0.3 vitest: specifier: ^4.1.5 - version: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) vue-tsc: specifier: ^3.2.7 version: 3.2.7(typescript@6.0.3) @@ -62,34 +62,34 @@ importers: dependencies: '@databuddy/nuxt': specifier: ^2.4.20 - version: 2.4.20(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(react@19.2.5)(vue@3.5.33(typescript@6.0.3)) + version: 2.4.20(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(react@19.2.5)(vue@3.5.33(typescript@6.0.3)) '@nuxt/fonts': specifier: 0.14.0 - version: 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/ui': specifier: ^4.7.1 - version: 4.7.1(2656a2e1b3f45cbcb1b0ed8e6886ccc5) + version: 4.7.1(c798cb8bf9acd96971fafb624fbbb388) '@resvg/resvg-js': specifier: ^2.6.2 version: 2.6.2 '@vercel/analytics': specifier: ^2.0.1 - version: 2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3)) + version: 2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3)) '@vercel/speed-insights': specifier: ^2.0.0 - version: 2.0.0(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3)) + version: 2.0.0(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3)) better-sqlite3: specifier: ^12.9.0 version: 12.9.0 docus: specifier: ^5.10.1 - version: 5.10.1(6f8da7f1805eae88a33d7eaaf6520657) + version: 5.10.1(7685c4646555465e63fcecbf5dabdbc1) motion-v: specifier: ^2.2.1 version: 2.2.1(@vueuse/core@14.3.0(vue@3.5.33(typescript@6.0.3)))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vue@3.5.33(typescript@6.0.3)) nuxt: specifier: ^4.4.4 - version: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) + version: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) nuxt-studio: specifier: ^1.6.1 version: 1.7.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vue@3.5.33(typescript@6.0.3)) @@ -108,25 +108,25 @@ importers: dependencies: '@comark/nuxt': specifier: ^0.3.1 - version: 0.3.1(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(shiki@4.0.2)(vue@3.5.33(typescript@6.0.3)) + version: 0.3.1(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(shiki@4.0.2)(vue@3.5.33(typescript@6.0.3)) '@nuxt/content': specifier: ^3.13.0 version: 3.13.0(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(magicast@0.5.2)(valibot@1.3.1(typescript@6.0.3)) '@nuxt/ui': specifier: ^4.7.0 - version: 4.7.1(109150d128b872a97f6986298b4d3c90) + version: 4.7.1(5a1804de87dec3069bdc296474954815) '@nuxtjs/sitemap': specifier: ^8.0.14 - version: 8.0.15(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) + version: 8.0.15(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) '@vercel/analytics': specifier: ^2.0.1 - version: 2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3)) + version: 2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3)) better-sqlite3: specifier: ^12.9.0 version: 12.9.0 nuxt: specifier: ^4.4.2 - version: 4.4.4(71801589c663398b7779b77c63f5f3ce) + version: 4.4.4(4ce79750208d3e950bc761cf7e0cc582) shiki: specifier: 4.0.2 version: 4.0.2 @@ -177,10 +177,10 @@ importers: devDependencies: nitro: specifier: latest - version: 3.0.260522-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 3.0.260603-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) rolldown: specifier: latest - version: 1.0.2 + version: 1.1.0 apps/nitro-v2-playground: dependencies: @@ -193,7 +193,7 @@ importers: version: 1.15.11 nitropack: specifier: ^2.13.3 - version: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.2) + version: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.1.0) apps/nuxthub-playground: dependencies: @@ -226,7 +226,7 @@ importers: version: 1.0.0(@types/markdown-it@14.1.2)(react@19.2.5)(solid-js@1.9.12)(vue@3.5.33(typescript@5.9.3)) nuxt: specifier: ^4.4.2 - version: 4.4.4(cc4ec224de2d6c06d027ec9a27895e5a) + version: 4.4.4(1c432982cee559849a9dc4decf895c74) zod: specifier: ^4.3.6 version: 4.4.2 @@ -235,10 +235,10 @@ importers: dependencies: '@nuxt/ui': specifier: ^4.7.0 - version: 4.7.1(9c604e4823094c28297bcc41a9ac055f) + version: 4.7.1(1b8b6418ae6538673ae66063694798f2) better-auth: specifier: ^1.6.9 - version: 1.6.9(6b0cd9af6c9287e56cc355f1dcb65e87) + version: 1.6.9(f9815333d8d125e43abb2cbad61bf376) better-sqlite3: specifier: ^12.9.0 version: 12.9.0 @@ -247,7 +247,7 @@ importers: version: link:../../packages/evlog nuxt: specifier: ^4.4.2 - version: 4.4.4(71801589c663398b7779b77c63f5f3ce) + version: 4.4.4(4ce79750208d3e950bc761cf7e0cc582) tailwindcss: specifier: ^4.2.4 version: 4.2.4 @@ -291,7 +291,7 @@ importers: version: 5.9.3 vitest: specifier: ^4.1.5 - version: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) examples/community-enricher-skeleton: devDependencies: @@ -303,7 +303,7 @@ importers: version: 5.9.3 vitest: specifier: ^4.1.5 - version: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) examples/community-framework-skeleton: devDependencies: @@ -417,10 +417,10 @@ importers: dependencies: '@orpc/openapi': specifier: ^1.14.2 - version: 1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.15))(fastify@5.8.5)(ws@8.20.0) + version: 1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.16))(fastify@5.8.5)(ws@8.20.0) '@orpc/server': specifier: ^1.14.2 - version: 1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.15))(fastify@5.8.5)(ws@8.20.0) + version: 1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.16))(fastify@5.8.5)(ws@8.20.0) evlog: specifier: workspace:* version: link:../../packages/evlog @@ -458,7 +458,7 @@ importers: devDependencies: '@react-router/dev': specifier: ^7.9.0 - version: 7.14.2(@react-router/serve@7.14.2(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(typescript@5.9.3))(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(wrangler@3.114.17(@cloudflare/workers-types@4.20260503.1))(yaml@2.8.4) + version: 7.14.2(@react-router/serve@7.14.2(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(typescript@5.9.3))(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(wrangler@3.114.17(@cloudflare/workers-types@4.20260503.1))(yaml@2.8.4) '@types/react': specifier: ^19.0.0 version: 19.2.14 @@ -470,7 +470,17 @@ importers: version: 5.9.3 vite: specifier: ^6.0.0 - version: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + version: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + + examples/repro: + dependencies: + evlog: + specifier: workspace:* + version: link:../../packages/evlog + devDependencies: + tsx: + specifier: ^4.20.7 + version: 4.21.0 examples/solidstart: dependencies: @@ -479,7 +489,7 @@ importers: version: 0.15.4(solid-js@1.9.12) '@solidjs/start': specifier: ^1.2.1 - version: 1.3.2(solid-js@1.9.12)(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 1.3.2(solid-js@1.9.12)(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) evlog: specifier: workspace:* version: link:../../packages/evlog @@ -499,19 +509,19 @@ importers: devDependencies: '@sveltejs/adapter-node': specifier: ^5.2.12 - version: 5.5.4(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))) + version: 5.5.4(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))) '@sveltejs/kit': specifier: ^2.21.1 - version: 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@sveltejs/vite-plugin-svelte': specifier: ^5.0.3 - version: 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) svelte: specifier: ^5.28.2 version: 5.55.5(@typescript-eslint/types@8.59.1) vite: specifier: ^6.3.5 - version: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + version: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) examples/tanstack-start: dependencies: @@ -532,7 +542,7 @@ importers: version: 1.166.12(@tanstack/query-core@5.100.9)(@tanstack/react-query@5.100.9(react@19.2.5))(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@tanstack/router-core@1.169.1)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/react-start': specifier: ^1.132.0 - version: 1.167.61(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 1.167.61(crossws@0.4.5(srvx@0.8.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@tanstack/router-plugin': specifier: ^1.132.0 version: 1.167.32(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) @@ -544,7 +554,7 @@ importers: version: 0.545.0(react@19.2.5) nitro: specifier: npm:nitro-nightly@latest - version: nitro-nightly@3.0.260522-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: nitro-nightly@4.0.0-20251010-091516-7cafddba(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@4.0.3)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(lru-cache@11.3.5)(rolldown@1.1.0)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) react: specifier: ^19.2.0 version: 19.2.5 @@ -594,10 +604,10 @@ importers: devDependencies: vite: specifier: ^7.0.0 - version: 7.3.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + version: 7.3.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vite-node: specifier: ^3.2.3 - version: 3.2.4(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + version: 3.2.4(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) examples/workers: dependencies: @@ -632,7 +642,7 @@ importers: devDependencies: '@codspeed/vitest-plugin': specifier: ^5.3.0 - version: 5.4.0(tinybench@2.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) + version: 5.4.0(tinybench@2.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) '@nestjs/common': specifier: ^11.1.19 version: 11.1.19(reflect-metadata@0.2.2)(rxjs@7.8.2) @@ -647,13 +657,13 @@ importers: version: 11.1.19(@nestjs/common@11.1.19(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.19)(@nestjs/platform-express@11.1.19) '@nuxt/devtools': specifier: ^3.2.4 - version: 3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + version: 3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/schema': specifier: ^4.4.2 version: 4.4.4 '@nuxt/test-utils': specifier: ^4.0.3 - version: 4.0.3(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) + version: 4.0.3(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) '@orpc/client': specifier: ^1.14.2 version: 1.14.2(@opentelemetry/api@1.9.0) @@ -662,13 +672,13 @@ importers: version: 1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.15))(fastify@5.8.5)(ws@8.20.0) '@stryker-mutator/core': specifier: ^9.6.1 - version: 9.6.1(@types/node@25.9.1) + version: 9.6.1(@types/node@25.9.2) '@stryker-mutator/vitest-runner': specifier: ^9.6.1 - version: 9.6.1(@stryker-mutator/core@9.6.1(@types/node@25.9.1))(vitest@4.1.5) + version: 9.6.1(@stryker-mutator/core@9.6.1(@types/node@25.9.2))(vitest@4.1.5) '@sveltejs/kit': specifier: ^2.59.0 - version: 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@swc/core': specifier: ^1.15.33 version: 1.15.33(@swc/helpers@0.5.21) @@ -713,13 +723,13 @@ importers: version: 0.30.21 nitro: specifier: ^3.0.260311-beta - version: 3.0.260311-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 3.0.260311-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) nitropack: specifier: ^2.13.3 version: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.0-rc.17) nuxt: specifier: ^4.4.2 - version: 4.4.4(163941d31dc8937f73f0941c905f113a) + version: 4.4.4(da3747dc41af2761a854c4df2428c224) pino: specifier: ^10.3.1 version: 10.3.1 @@ -749,7 +759,7 @@ importers: version: 1.5.9(@swc/core@1.15.33(@swc/helpers@0.5.21))(rollup@4.60.2) vite: specifier: ^8.0.10 - version: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + version: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) winston: specifier: ^3.19.0 version: 3.19.0 @@ -3831,6 +3841,9 @@ packages: '@oxc-project/types@0.132.0': resolution: {integrity: sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==} + '@oxc-project/types@0.134.0': + resolution: {integrity: sha512-T0xuRRKrQFmocH8y+jGfpmSkGcheaJExY9lEihmR1Gm2aH+75B8CzgU2rABRQSzzDxLjZ15Sc0bRVLj5lVeNXQ==} + '@oxc-transform/binding-android-arm-eabi@0.112.0': resolution: {integrity: sha512-r4LuBaPnOAi0eUOBNi880Fm2tO2omH7N1FRrL6+nyz/AjQ+QPPLtoyZJva0O+sKi1buyN/7IzM5p9m+5ANSDbg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -4360,14 +4373,14 @@ packages: cpu: [arm64] os: [android] - '@rolldown/binding-android-arm64@1.0.0-rc.18': - resolution: {integrity: sha512-lIDyUAfD7U3+BWKzdxMbJcsYHuqXqmGz40aeRqvuAm3y5TkJSYTBW2RDrn65DJFPQqVjUAUqq5uz8urzQ8aBdQ==} + '@rolldown/binding-android-arm64@1.0.2': + resolution: {integrity: sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-android-arm64@1.0.2': - resolution: {integrity: sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ==} + '@rolldown/binding-android-arm64@1.1.0': + resolution: {integrity: sha512-gCYzGOSkYY6Z034suzd20euvds7lPzMEEla62DJGE/ZAlR4OMBnNbvnBSsIGUCAr52gaWMsloGxP4tVGtN5aCA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] @@ -4384,14 +4397,14 @@ packages: cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-arm64@1.0.0-rc.18': - resolution: {integrity: sha512-apJq2ktnGp27nSInMR5Vcj8kY6xJzDAvfdIFlpDcAK/w4cDO58qVoi1YQsES/SKiFNge/6e4CUzgjfHduYqWpQ==} + '@rolldown/binding-darwin-arm64@1.0.2': + resolution: {integrity: sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-arm64@1.0.2': - resolution: {integrity: sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w==} + '@rolldown/binding-darwin-arm64@1.1.0': + resolution: {integrity: sha512-JQBD77MNgu+4Z6RAyg69acugdrhhVoWesr3l47zohYZ2YV2fwkWMArkN/2p4l6Ei+Sno7W5q+UsKdVWq5Ens0w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] @@ -4408,14 +4421,14 @@ packages: cpu: [x64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-rc.18': - resolution: {integrity: sha512-5Ofot8xbs+pxRHJqm9/9N/4sTQOvdrwEsmPE9pdLEEoAbdZtG6F2LMDfO1sp6ZAtXJuJV/21ew2srq3W8NXB5g==} + '@rolldown/binding-darwin-x64@1.0.2': + resolution: {integrity: sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.2': - resolution: {integrity: sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA==} + '@rolldown/binding-darwin-x64@1.1.0': + resolution: {integrity: sha512-p/8cXUTK4Sob604e+xxPhVSbDFf29E6J0l/xESM9rdCfn3aDai3nEs6TnMHUsdD5aNlFz0+gDbiGlozLKGa2YA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] @@ -4432,14 +4445,14 @@ packages: cpu: [x64] os: [freebsd] - '@rolldown/binding-freebsd-x64@1.0.0-rc.18': - resolution: {integrity: sha512-7h8eeOTT1eyqJyx64BFCnWZpNm486hGWt2sqeLLgDxA0xI1oGZ9H7gK1S85uNGmBhkdPwa/6reTxfFFKvIsebw==} + '@rolldown/binding-freebsd-x64@1.0.2': + resolution: {integrity: sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-freebsd-x64@1.0.2': - resolution: {integrity: sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA==} + '@rolldown/binding-freebsd-x64@1.1.0': + resolution: {integrity: sha512-KbtOSlVv6fElujiZWMcC3aQYhEwLVVf073RcwlSmpGQvIsKZFUqc0ef4sjUuurRwfbiI6JJXji9DQn+86hawmQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] @@ -4456,14 +4469,14 @@ packages: cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.18': - resolution: {integrity: sha512-eRcm/HVt9U/JFu5RKAEKwGQYtDCKWLiaH6wOnsSEp6NMBb/3Os8LgHZlNyzMpFVNmiiMFlfb2zEnebfzJrHFmg==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.2': + resolution: {integrity: sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm-gnueabihf@1.0.2': - resolution: {integrity: sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w==} + '@rolldown/binding-linux-arm-gnueabihf@1.1.0': + resolution: {integrity: sha512-9fZ9i0o0/MQaw7om6Z6TsT7tfCk0jtbEFtC+aPqZL5RNsGWNcHvn6EHgL3dAprjq+AZzPTAQjg2JtpJaMt+6pg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] @@ -4482,15 +4495,15 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.18': - resolution: {integrity: sha512-SOrT/cT4ukTmgnrEz/Hg3m7LBnuCLW9psDeMKrimRWY4I8DmnO7Lco8W2vtqPmMkbVu8iJ+g4GFLVLLOVjJ9DQ==} + '@rolldown/binding-linux-arm64-gnu@1.0.2': + resolution: {integrity: sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-gnu@1.0.2': - resolution: {integrity: sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==} + '@rolldown/binding-linux-arm64-gnu@1.1.0': + resolution: {integrity: sha512-+tog7T66i+yFyIuuAnjL6xmW182W/qTBOUt6BtQ6lBIM1Eikh/fSMz4HGgvuCp5uU0zuIVWng7kDYthjCMOHcg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -4510,15 +4523,15 @@ packages: os: [linux] libc: [musl] - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.18': - resolution: {integrity: sha512-QWjdxN1HJCpBTAcZ5N5F7wju3gVPzRzSpmGzx7na0c/1qpN9CFil+xt+l9lV/1M6/gqHSNXCiqPfwhVJPeLnug==} + '@rolldown/binding-linux-arm64-musl@1.0.2': + resolution: {integrity: sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-arm64-musl@1.0.2': - resolution: {integrity: sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==} + '@rolldown/binding-linux-arm64-musl@1.1.0': + resolution: {integrity: sha512-4b7yruLIIj/oZ3GpcLOvxcLCLDMraohn3IhQfN2hBP4w9UekG0DTIajWguJosRGfySf/+h/NwRUiMKoCpxCrqQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -4531,15 +4544,15 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.18': - resolution: {integrity: sha512-ugCOyj7a4d9h3q9B+wXmf6g3a68UsjGh6dob5DHevHGMwDUbhsYNbSPxJsENcIttJZ9jv7qGM2UesLw5jqIhdg==} + '@rolldown/binding-linux-ppc64-gnu@1.0.2': + resolution: {integrity: sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-ppc64-gnu@1.0.2': - resolution: {integrity: sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==} + '@rolldown/binding-linux-ppc64-gnu@1.1.0': + resolution: {integrity: sha512-QRDOVZd0bhQ5jLsUsCC3dUxDWdTSVY9WMznowZgCGOrZfLLgctWpelhUASEiBwsXfat/JwYnVd1EaxMhqyT+UQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] @@ -4552,15 +4565,15 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.18': - resolution: {integrity: sha512-kKWRhbsotpXkGbcd5dllUWg5gEXcDAa8u5YnP9AV5DYNbvJHGzzuwv7dpmhc8NqKMJldl0a+x76IHbspEpEmdA==} + '@rolldown/binding-linux-s390x-gnu@1.0.2': + resolution: {integrity: sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.2': - resolution: {integrity: sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==} + '@rolldown/binding-linux-s390x-gnu@1.1.0': + resolution: {integrity: sha512-ypxT+Hq76NFG7woFbNbySnGEajFuYuIXeKz/jfCU+lXUoxfi3zLE6OG/ZQNeK3RpZSYJlAe2bokpsQ046CaieQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] @@ -4580,15 +4593,15 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.18': - resolution: {integrity: sha512-uCo8ElcCIAMyYAZyuIZ81oFkhTSIllNvUCHCAlbhlN4ji3uC28h7IIdlXyIvGO7HsuqnV9p3rD/bpH7XhIyhRw==} + '@rolldown/binding-linux-x64-gnu@1.0.2': + resolution: {integrity: sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.2': - resolution: {integrity: sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==} + '@rolldown/binding-linux-x64-gnu@1.1.0': + resolution: {integrity: sha512-IdovCmfROFmpTLahdecTDFL74aLERVYN68F/mLZjfVh6LfoplPfI6deyHNMTcVujbokDV5k05XrFO22zfv+qjg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -4608,15 +4621,15 @@ packages: os: [linux] libc: [musl] - '@rolldown/binding-linux-x64-musl@1.0.0-rc.18': - resolution: {integrity: sha512-XNOQZtuE6yUIvx4rwGemwh8kpL1xvU41FXy/s9K7T/3JVcqGzo3NfKM2HrbrGgfPYGFW42f07Wk++aOC6B9NWA==} + '@rolldown/binding-linux-x64-musl@1.0.2': + resolution: {integrity: sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-linux-x64-musl@1.0.2': - resolution: {integrity: sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==} + '@rolldown/binding-linux-x64-musl@1.1.0': + resolution: {integrity: sha512-pcA8xlFp2tyk9T2R6Fi/rPe3bQ1MA+sSMDNUU5Ogu80GHOatkE4P8YCreGAvZErm5Ho2YRXnyvNrWiRncfVysQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -4634,14 +4647,14 @@ packages: cpu: [arm64] os: [openharmony] - '@rolldown/binding-openharmony-arm64@1.0.0-rc.18': - resolution: {integrity: sha512-tSn/kzrfa7tNOXr7sEacDBN4YsIqTyLqh45IO0nHDwtpKIDNDJr+VFojt+4klSpChxB29JLyduSsE0MKEwa65A==} + '@rolldown/binding-openharmony-arm64@1.0.2': + resolution: {integrity: sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-openharmony-arm64@1.0.2': - resolution: {integrity: sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w==} + '@rolldown/binding-openharmony-arm64@1.1.0': + resolution: {integrity: sha512-4+fexHayrLCWpriPh4c6dNvL4an34DEZCG7zOM/FD5QNF6h8DT+bDXzyB/kfC8lDJbaFb7jKShtnjDQFXVQEjg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] @@ -4656,13 +4669,13 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-wasm32-wasi@1.0.0-rc.18': - resolution: {integrity: sha512-+J9YGmc+czgqlhYmwun3S3O0FIZhsH8ep2456xwjAdIOmuJxM7xz4P4PtrxU+Bz17a/5bqPA8o3HAAoX0teUdg==} + '@rolldown/binding-wasm32-wasi@1.0.2': + resolution: {integrity: sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-wasm32-wasi@1.0.2': - resolution: {integrity: sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ==} + '@rolldown/binding-wasm32-wasi@1.1.0': + resolution: {integrity: sha512-SbL++MNmOw6QamrwIGDMSSfM4ceTzFr+RjbOExJSLLBinScU4WI5OdA413h1qwPw2yH7lVF1+H4svQ+6mSXKTQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] @@ -4678,14 +4691,14 @@ packages: cpu: [arm64] os: [win32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.18': - resolution: {integrity: sha512-zsu47DgU0FQzSwi6sU9dZoEdUv7pc1AptSEz/Z8HBg54sV0Pbs3N0+CrIbTsgiu6EyoaNN9CHboqbLaz9lhOyQ==} + '@rolldown/binding-win32-arm64-msvc@1.0.2': + resolution: {integrity: sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-arm64-msvc@1.0.2': - resolution: {integrity: sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A==} + '@rolldown/binding-win32-arm64-msvc@1.1.0': + resolution: {integrity: sha512-+xTE6XC7wBgk0VKRXGG+QAnyW5S9b8vfsFpiMjf0waQTmSQSU8onsH/beyZ8X4aXVveJnotiy7VDjLOaW8bTrg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] @@ -4702,14 +4715,14 @@ packages: cpu: [x64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.18': - resolution: {integrity: sha512-7H+3yqGgmnlDTRRhw/xpYY9J1kf4GC681nVc4GqKhExZTDrVVrV2tsOR9kso0fvgBdcTCcQShx4SLLoHgaLwhg==} + '@rolldown/binding-win32-x64-msvc@1.0.2': + resolution: {integrity: sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.2': - resolution: {integrity: sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ==} + '@rolldown/binding-win32-x64-msvc@1.1.0': + resolution: {integrity: sha512-Ogji1TQNqH3ACLnYr+1Ns1nyrJ0CO2P585u9Hsh02pXvtFiFpgtgT2b3P4PnCOU86VVCvqtAeCN4OftMT8KU4w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -6071,8 +6084,8 @@ packages: '@types/node@22.19.17': resolution: {integrity: sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==} - '@types/node@25.9.1': - resolution: {integrity: sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==} + '@types/node@25.9.2': + resolution: {integrity: sha512-G05zqtJhcDLb8uslf5EjCxXg9G1KQxiV8OS0R26IC//Eoyitzqe8z37I7cqvnZlrlSfgocQRfSn/AHBZJJFyGw==} '@types/parse-path@7.1.0': resolution: {integrity: sha512-EULJ8LApcVEPbrfND0cRQqutIOdiIgJ1Mgrhpy755r14xMohPTEpkV/k28SJvuOs9bHRFW8x+KeDAEPiGQPB9Q==} @@ -8721,6 +8734,15 @@ packages: h3@1.15.3: resolution: {integrity: sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ==} + h3@2.0.1-rc.2: + resolution: {integrity: sha512-2vS7OETzPDzGQxmmcs6ttu7p0NW25zAdkPXYOr43dn4GZf81uUljJvupa158mcpUGpsQUqIy4O4THWUQT1yVeA==} + engines: {node: '>=20.11.1'} + peerDependencies: + crossws: ^0.4.1 + peerDependenciesMeta: + crossws: + optional: true + h3@2.0.1-rc.20: resolution: {integrity: sha512-28ljodXuUp0fZovdiSRq4G9OgrxCztrJe5VdYzXAB7ueRvI7pIUqLU14Xi3XqdYJ/khXjfpUOOD2EQa6CmBgsg==} engines: {node: '>=20.11.1'} @@ -9947,42 +9969,30 @@ packages: sass: optional: true + nf3@0.1.12: + resolution: {integrity: sha512-qbMXT7RTGh74MYWPeqTIED8nDW70NXOULVHpdWcdZ7IVHVnAsMV9fNugSNnvooipDc1FMOzpis7T9nXJEbJhvQ==} + nf3@0.3.16: resolution: {integrity: sha512-Gs0xRPpUm2nDkqbi40NJ9g7qDIcjcJzgExiydnq6LAyqhI2jfno8wG3NKTL+IiJsx799UHOb1CnSd4Wg4SG4Pw==} nf3@0.3.17: resolution: {integrity: sha512-N9zEWySuJFw+gR0lhS5863YsvNeudOdqRyFvNb+jMXbeTJOdrjDqkCpDginIZfUm0LzT1t1nCRiDeqQm/8kirQ==} - nitro-nightly@3.0.260522-beta: - resolution: {integrity: sha512-Pm0AiQ1nLcreUFZKJcmVI4l9K/ygXoFamIPhc44XJHj9vmt25Rlqjv55frw6sS0L1qHrySpo3xyVVBmR9aTBqA==} + nitro-nightly@4.0.0-20251010-091516-7cafddba: + resolution: {integrity: sha512-biADkmoR/Nb9OmUURTfDI2BpGo2IMEt2RbsiMhjqdwz2w3tEm+tx0Hd28LXjBCwid+l8jpqyfmpwc8jzwdng3w==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - '@vercel/queue': ^0.2.0 - dotenv: '*' - giget: '*' - jiti: ^2.6.1 - rollup: ^4.60.3 - vite: ^7 || ^8 + rolldown: '*' + vite: ^7 xml2js: ^0.6.2 - zephyr-agent: ^0.2.0 peerDependenciesMeta: - '@vercel/queue': - optional: true - dotenv: - optional: true - giget: - optional: true - jiti: - optional: true - rollup: + rolldown: optional: true vite: optional: true xml2js: optional: true - zephyr-agent: - optional: true nitro@3.0.260311-beta: resolution: {integrity: sha512-0o0fJ9LUh4WKUqJNX012jyieUOtMCnadkNDWr0mHzdraoHpJP/1CGNefjRyZyMXSpoJfwoWdNEZu2iGf35TUvQ==} @@ -10012,16 +10022,16 @@ packages: zephyr-agent: optional: true - nitro@3.0.260522-beta: - resolution: {integrity: sha512-L/z2eOWgkiQHc65kv+SEMgau505afSRF7NJlbooaaZEZscFrNSD7rXZzeVubQlgIzPbhOG8o73bk9soIiGTHRA==} + nitro@3.0.260603-beta: + resolution: {integrity: sha512-ffaSHK00a7YDlDizoEHwcxPwpQpdBRRA8k42ymTsRnfl3ipGeKgv4gnPr6DgmCNTo4tYVPK3bHBEv1gNhWpo/A==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@vercel/queue': ^0.2.0 dotenv: '*' giget: '*' - jiti: ^2.6.1 - rollup: ^4.60.3 + jiti: ^2.7.0 + rollup: ^4.60.4 vite: ^7 || ^8 xml2js: ^0.6.2 zephyr-agent: ^0.2.0 @@ -11004,6 +11014,10 @@ packages: remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + rendu@0.0.6: + resolution: {integrity: sha512-nZ512Dw0MxKiIYfCVv8DPe6ig4m0Qt3FOYBJEXrammjIYBBPuHaudc0AGfYx+iyOw2q0itAtPywiVZXtTFCsig==} + hasBin: true + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -11094,13 +11108,13 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rolldown@1.0.0-rc.18: - resolution: {integrity: sha512-phmyKBpuBdRYDf4hgyynGAYn/rDDe+iZXKVJ7WX5b1zQzpLkP5oJRPGsfJuHdzPMlyyEO/4sPW6yfSx2gf7lVg==} + rolldown@1.0.2: + resolution: {integrity: sha512-oZx5zVDtVB44AW3eaifgDml1gWRDZGvjcfdxonE4swNPG98PrrXjaO/KrnUjzlMnztCCRVlUueA1kCXhARGk6g==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rolldown@1.0.2: - resolution: {integrity: sha512-oZx5zVDtVB44AW3eaifgDml1gWRDZGvjcfdxonE4swNPG98PrrXjaO/KrnUjzlMnztCCRVlUueA1kCXhARGk6g==} + rolldown@1.1.0: + resolution: {integrity: sha512-zpMvlJhs5PkXRTtKc0CaLBVI9AR/VDiJFpM+kx//hgToEca7FgMlGjaRIisXBcb19T76LswgmKECSQ96hjWr5A==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -11480,6 +11494,16 @@ packages: engines: {node: '>=20.16.0'} hasBin: true + srvx@0.11.16: + resolution: {integrity: sha512-bp07zRuycfTY43IjAvvTFnmnJi8ikW0VFiHwOhhYcVW/L4xQ1XY4PAd4Nuum1rsA17C39zL7x+CDhrn5AL32Rw==} + engines: {node: '>=20.16.0'} + hasBin: true + + srvx@0.8.16: + resolution: {integrity: sha512-hmcGW4CgroeSmzgF1Ihwgl+Ths0JqAJ7HwjP2X7e3JzY7u4IydLMcdnlqGQiQGUswz+PO9oh/KtCpOISIvs9QQ==} + engines: {node: '>=20.16.0'} + hasBin: true + stable-hash-x@0.2.0: resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==} engines: {node: '>=12.0.0'} @@ -11985,6 +12009,9 @@ packages: unenv@2.0.0-rc.14: resolution: {integrity: sha512-od496pShMen7nOy5VmVJCnq8rptd45vh6Nx/r2iPbrba6pa6p+tS2ywuIHRZ/OBvSbQZB0kWvpO9XBNVFXHD3Q==} + unenv@2.0.0-rc.21: + resolution: {integrity: sha512-Wj7/AMtE9MRnAXa6Su3Lk0LNCfqDYgfwVjwRFVum9U7wsto1imuHqk4kTm7Jni+5A0Hn7dttL6O/zjvUvoo+8A==} + unenv@2.0.0-rc.24: resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} @@ -12171,6 +12198,80 @@ packages: uploadthing: optional: true + unstorage@2.0.0-alpha.3: + resolution: {integrity: sha512-BeoqISVh8jxqnPseHH7/92twe2VkQztrudXg8RFZVbXb4ckkFdpLk1LnNvsUndDltyodBMVxgI6V7JcbJYt2VQ==} + peerDependencies: + '@azure/app-configuration': ^1.8.0 + '@azure/cosmos': ^4.2.0 + '@azure/data-tables': ^13.3.0 + '@azure/identity': ^4.6.0 + '@azure/keyvault-secrets': ^4.9.0 + '@azure/storage-blob': ^12.26.0 + '@capacitor/preferences': ^6.0.3 || ^7.0.0 + '@deno/kv': '>=0.9.0' + '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 + '@planetscale/database': ^1.19.0 + '@upstash/redis': ^1.34.3 + '@vercel/blob': '>=0.27.1' + '@vercel/functions': ^2.2.12 || ^3.0.0 + '@vercel/kv': ^1.0.1 + aws4fetch: ^1.0.20 + chokidar: ^4.0.3 + db0: '>=0.2.1' + idb-keyval: ^6.2.1 + ioredis: ^5.4.2 + lru-cache: ^11.2.2 + mongodb: ^6.20.0 + ofetch: ^1.4.1 + uploadthing: ^7.4.4 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@deno/kv': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/blob': + optional: true + '@vercel/functions': + optional: true + '@vercel/kv': + optional: true + aws4fetch: + optional: true + chokidar: + optional: true + db0: + optional: true + idb-keyval: + optional: true + ioredis: + optional: true + lru-cache: + optional: true + mongodb: + optional: true + ofetch: + optional: true + uploadthing: + optional: true + unstorage@2.0.0-alpha.7: resolution: {integrity: sha512-ELPztchk2zgFJnakyodVY3vJWGW9jy//keJ32IOJVGUMyaPydwcA1FtVvWqT0TNRch9H+cMNEGllfVFfScImog==} peerDependencies: @@ -13410,7 +13511,7 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/cli@2.31.0(@types/node@25.9.1)': + '@changesets/cli@2.31.0(@types/node@25.9.2)': dependencies: '@changesets/apply-release-plan': 7.1.1 '@changesets/assemble-release-plan': 6.0.10 @@ -13426,7 +13527,7 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.3(@types/node@25.9.1) + '@inquirer/external-editor': 1.0.3(@types/node@25.9.2) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 enquirer: 2.4.1 @@ -13593,12 +13694,12 @@ snapshots: transitivePeerDependencies: - debug - '@codspeed/vitest-plugin@5.4.0(tinybench@2.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5)': + '@codspeed/vitest-plugin@5.4.0(tinybench@2.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5)': dependencies: '@codspeed/core': 5.4.0 tinybench: 2.9.0 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - debug @@ -13606,12 +13707,12 @@ snapshots: '@colors/colors@1.6.0': {} - '@comark/nuxt@0.3.1(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(shiki@4.0.2)(vue@3.5.33(typescript@6.0.3))': + '@comark/nuxt@0.3.1(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(shiki@4.0.2)(vue@3.5.33(typescript@6.0.3))': dependencies: '@comark/vue': 0.3.1(shiki@4.0.2)(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) comark: 0.3.2(shiki@4.0.2) - nuxt: 4.4.4(71801589c663398b7779b77c63f5f3ce) + nuxt: 4.4.4(4ce79750208d3e950bc761cf7e0cc582) transitivePeerDependencies: - beautiful-mermaid - katex @@ -13636,12 +13737,12 @@ snapshots: enabled: 2.0.0 kuler: 2.0.0 - '@databuddy/nuxt@2.4.20(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(react@19.2.5)(vue@3.5.33(typescript@6.0.3))': + '@databuddy/nuxt@2.4.20(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(react@19.2.5)(vue@3.5.33(typescript@6.0.3))': dependencies: '@databuddy/sdk': 2.4.20(react@19.2.5)(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.6(magicast@0.5.2) '@nuxt/schema': 4.4.6 - nuxt: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) + nuxt: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) optionalDependencies: vue: 3.5.33(typescript@6.0.3) transitivePeerDependencies: @@ -14460,129 +14561,129 @@ snapshots: '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.4(@types/node@25.9.1)': + '@inquirer/checkbox@5.1.4(@types/node@25.9.2)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.9(@types/node@25.9.1) + '@inquirer/core': 11.1.9(@types/node@25.9.2) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@25.9.1) + '@inquirer/type': 4.0.5(@types/node@25.9.2) optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 - '@inquirer/confirm@6.0.12(@types/node@25.9.1)': + '@inquirer/confirm@6.0.12(@types/node@25.9.2)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.9.1) - '@inquirer/type': 4.0.5(@types/node@25.9.1) + '@inquirer/core': 11.1.9(@types/node@25.9.2) + '@inquirer/type': 4.0.5(@types/node@25.9.2) optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 - '@inquirer/core@11.1.9(@types/node@25.9.1)': + '@inquirer/core@11.1.9(@types/node@25.9.2)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@25.9.1) + '@inquirer/type': 4.0.5(@types/node@25.9.2) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 - '@inquirer/editor@5.1.1(@types/node@25.9.1)': + '@inquirer/editor@5.1.1(@types/node@25.9.2)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.9.1) - '@inquirer/external-editor': 3.0.0(@types/node@25.9.1) - '@inquirer/type': 4.0.5(@types/node@25.9.1) + '@inquirer/core': 11.1.9(@types/node@25.9.2) + '@inquirer/external-editor': 3.0.0(@types/node@25.9.2) + '@inquirer/type': 4.0.5(@types/node@25.9.2) optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 - '@inquirer/expand@5.0.13(@types/node@25.9.1)': + '@inquirer/expand@5.0.13(@types/node@25.9.2)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.9.1) - '@inquirer/type': 4.0.5(@types/node@25.9.1) + '@inquirer/core': 11.1.9(@types/node@25.9.2) + '@inquirer/type': 4.0.5(@types/node@25.9.2) optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 - '@inquirer/external-editor@1.0.3(@types/node@25.9.1)': + '@inquirer/external-editor@1.0.3(@types/node@25.9.2)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 - '@inquirer/external-editor@3.0.0(@types/node@25.9.1)': + '@inquirer/external-editor@3.0.0(@types/node@25.9.2)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.12(@types/node@25.9.1)': + '@inquirer/input@5.0.12(@types/node@25.9.2)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.9.1) - '@inquirer/type': 4.0.5(@types/node@25.9.1) + '@inquirer/core': 11.1.9(@types/node@25.9.2) + '@inquirer/type': 4.0.5(@types/node@25.9.2) optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 - '@inquirer/number@4.0.12(@types/node@25.9.1)': + '@inquirer/number@4.0.12(@types/node@25.9.2)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.9.1) - '@inquirer/type': 4.0.5(@types/node@25.9.1) + '@inquirer/core': 11.1.9(@types/node@25.9.2) + '@inquirer/type': 4.0.5(@types/node@25.9.2) optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 - '@inquirer/password@5.0.12(@types/node@25.9.1)': + '@inquirer/password@5.0.12(@types/node@25.9.2)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.9(@types/node@25.9.1) - '@inquirer/type': 4.0.5(@types/node@25.9.1) + '@inquirer/core': 11.1.9(@types/node@25.9.2) + '@inquirer/type': 4.0.5(@types/node@25.9.2) optionalDependencies: - '@types/node': 25.9.1 - - '@inquirer/prompts@8.4.2(@types/node@25.9.1)': - dependencies: - '@inquirer/checkbox': 5.1.4(@types/node@25.9.1) - '@inquirer/confirm': 6.0.12(@types/node@25.9.1) - '@inquirer/editor': 5.1.1(@types/node@25.9.1) - '@inquirer/expand': 5.0.13(@types/node@25.9.1) - '@inquirer/input': 5.0.12(@types/node@25.9.1) - '@inquirer/number': 4.0.12(@types/node@25.9.1) - '@inquirer/password': 5.0.12(@types/node@25.9.1) - '@inquirer/rawlist': 5.2.8(@types/node@25.9.1) - '@inquirer/search': 4.1.8(@types/node@25.9.1) - '@inquirer/select': 5.1.4(@types/node@25.9.1) + '@types/node': 25.9.2 + + '@inquirer/prompts@8.4.2(@types/node@25.9.2)': + dependencies: + '@inquirer/checkbox': 5.1.4(@types/node@25.9.2) + '@inquirer/confirm': 6.0.12(@types/node@25.9.2) + '@inquirer/editor': 5.1.1(@types/node@25.9.2) + '@inquirer/expand': 5.0.13(@types/node@25.9.2) + '@inquirer/input': 5.0.12(@types/node@25.9.2) + '@inquirer/number': 4.0.12(@types/node@25.9.2) + '@inquirer/password': 5.0.12(@types/node@25.9.2) + '@inquirer/rawlist': 5.2.8(@types/node@25.9.2) + '@inquirer/search': 4.1.8(@types/node@25.9.2) + '@inquirer/select': 5.1.4(@types/node@25.9.2) optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 - '@inquirer/rawlist@5.2.8(@types/node@25.9.1)': + '@inquirer/rawlist@5.2.8(@types/node@25.9.2)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.9.1) - '@inquirer/type': 4.0.5(@types/node@25.9.1) + '@inquirer/core': 11.1.9(@types/node@25.9.2) + '@inquirer/type': 4.0.5(@types/node@25.9.2) optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 - '@inquirer/search@4.1.8(@types/node@25.9.1)': + '@inquirer/search@4.1.8(@types/node@25.9.2)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.9.1) + '@inquirer/core': 11.1.9(@types/node@25.9.2) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@25.9.1) + '@inquirer/type': 4.0.5(@types/node@25.9.2) optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 - '@inquirer/select@5.1.4(@types/node@25.9.1)': + '@inquirer/select@5.1.4(@types/node@25.9.2)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.9(@types/node@25.9.1) + '@inquirer/core': 11.1.9(@types/node@25.9.2) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@25.9.1) + '@inquirer/type': 4.0.5(@types/node@25.9.2) optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 - '@inquirer/type@4.0.5(@types/node@25.9.1)': + '@inquirer/type@4.0.5(@types/node@25.9.2)': optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 '@internationalized/date@3.12.1': dependencies: @@ -14634,7 +14735,7 @@ snapshots: '@intlify/shared@11.4.0': {} - '@intlify/unplugin-vue-i18n@11.1.2(@vue/compiler-dom@3.5.33)(eslint@9.39.4(jiti@2.6.1))(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-i18n@11.4.0(vue@3.5.33(typescript@6.0.3)))(vue@3.5.33(typescript@6.0.3))': + '@intlify/unplugin-vue-i18n@11.1.2(@vue/compiler-dom@3.5.33)(eslint@9.39.4(jiti@2.6.1))(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-i18n@11.4.0(vue@3.5.33(typescript@6.0.3)))(vue@3.5.33(typescript@6.0.3))': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1)) '@intlify/bundle-utils': 11.1.2(vue-i18n@11.4.0(vue@3.5.33(typescript@6.0.3))) @@ -14650,7 +14751,7 @@ snapshots: unplugin: 2.3.11 vue: 3.5.33(typescript@6.0.3) optionalDependencies: - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue-i18n: 11.4.0(vue@3.5.33(typescript@6.0.3)) transitivePeerDependencies: - '@vue/compiler-dom' @@ -15129,43 +15230,43 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@2.7.0(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@nuxt/devtools-kit@2.7.0(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@nuxt/kit': 3.21.4(magicast@0.5.2) execa: 8.0.1 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - magicast - '@nuxt/devtools-kit@3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@nuxt/devtools-kit@3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) execa: 8.0.1 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - magicast - '@nuxt/devtools-kit@3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@nuxt/devtools-kit@3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) execa: 8.0.1 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - magicast - '@nuxt/devtools-kit@4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@nuxt/devtools-kit@4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@nuxt/kit': 4.4.6(magicast@0.5.2) tinyexec: 1.1.2 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - magicast - '@nuxt/devtools-kit@4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@nuxt/devtools-kit@4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@nuxt/kit': 4.4.6(magicast@0.5.2) tinyexec: 1.1.2 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - magicast @@ -15180,9 +15281,9 @@ snapshots: pkg-types: 2.3.1 semver: 7.7.4 - '@nuxt/devtools@3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@nuxt/devtools@3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: - '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/devtools-wizard': 3.2.4 '@nuxt/kit': 4.4.4(magicast@0.5.2) '@vue/devtools-core': 8.1.1(vue@3.5.33(typescript@6.0.3)) @@ -15210,9 +15311,9 @@ snapshots: sirv: 3.0.2 structured-clone-es: 2.0.0 tinyglobby: 0.2.16 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - vite-plugin-vue-tracer: 1.3.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite-plugin-vue-tracer: 1.3.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) which: 6.0.1 ws: 8.20.0 transitivePeerDependencies: @@ -15221,9 +15322,9 @@ snapshots: - utf-8-validate - vue - '@nuxt/devtools@3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3))': + '@nuxt/devtools@3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3))': dependencies: - '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/devtools-wizard': 3.2.4 '@nuxt/kit': 4.4.4(magicast@0.5.2) '@vue/devtools-core': 8.1.1(vue@3.5.33(typescript@5.9.3)) @@ -15251,9 +15352,9 @@ snapshots: sirv: 3.0.2 structured-clone-es: 2.0.0 tinyglobby: 0.2.16 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - vite-plugin-vue-tracer: 1.3.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite-plugin-vue-tracer: 1.3.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) which: 6.0.1 ws: 8.20.0 transitivePeerDependencies: @@ -15262,9 +15363,9 @@ snapshots: - utf-8-validate - vue - '@nuxt/devtools@3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@nuxt/devtools@3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: - '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/devtools-wizard': 3.2.4 '@nuxt/kit': 4.4.4(magicast@0.5.2) '@vue/devtools-core': 8.1.1(vue@3.5.33(typescript@6.0.3)) @@ -15292,9 +15393,9 @@ snapshots: sirv: 3.0.2 structured-clone-es: 2.0.0 tinyglobby: 0.2.16 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - vite-plugin-vue-tracer: 1.3.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite-plugin-vue-tracer: 1.3.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) which: 6.0.1 ws: 8.20.0 transitivePeerDependencies: @@ -15312,13 +15413,13 @@ snapshots: - supports-color - typescript - '@nuxt/fonts@0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@nuxt/fonts@0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/kit': 4.4.4(magicast@0.5.2) consola: 3.4.2 defu: 6.1.7 - fontless: 0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + fontless: 0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) h3: 1.15.11 magic-regexp: 0.10.0 ofetch: 1.5.1 @@ -15352,13 +15453,13 @@ snapshots: - uploadthing - vite - '@nuxt/fonts@0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@nuxt/fonts@0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/kit': 4.4.4(magicast@0.5.2) consola: 3.4.2 defu: 6.1.7 - fontless: 0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + fontless: 0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) h3: 1.15.11 magic-regexp: 0.10.0 ofetch: 1.5.1 @@ -15392,13 +15493,13 @@ snapshots: - uploadthing - vite - '@nuxt/icon@2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@nuxt/icon@2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: '@iconify/collections': 1.0.679 '@iconify/types': 2.0.0 '@iconify/utils': 3.1.1 '@iconify/vue': 5.0.0(vue@3.5.33(typescript@6.0.3)) - '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/kit': 4.4.6(magicast@0.5.2) consola: 3.4.2 local-pkg: 1.1.2 @@ -15413,13 +15514,13 @@ snapshots: - vite - vue - '@nuxt/icon@2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@nuxt/icon@2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: '@iconify/collections': 1.0.679 '@iconify/types': 2.0.0 '@iconify/utils': 3.1.1 '@iconify/vue': 5.0.0(vue@3.5.33(typescript@6.0.3)) - '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/kit': 4.4.6(magicast@0.5.2) consola: 3.4.2 local-pkg: 1.1.2 @@ -15569,12 +15670,12 @@ snapshots: - vue - vue-tsc - '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(163941d31dc8937f73f0941c905f113a))(oxc-parser@0.128.0)(rolldown@1.0.0-rc.17)(typescript@6.0.3)': + '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(1c432982cee559849a9dc4decf895c74))(oxc-parser@0.128.0)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.9.3)': dependencies: '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@nuxt/devalue': 2.0.2 '@nuxt/kit': 4.4.4(magicast@0.5.2) - '@unhead/vue': 2.1.13(vue@3.5.33(typescript@6.0.3)) + '@unhead/vue': 2.1.13(vue@3.5.33(typescript@5.9.3)) '@vue/shared': 3.5.33 consola: 3.4.2 defu: 6.1.7 @@ -15587,8 +15688,8 @@ snapshots: impound: 1.1.5 klona: 2.0.6 mocked-exports: 0.1.1 - nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.0-rc.17) - nuxt: 4.4.4(163941d31dc8937f73f0941c905f113a) + nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)) + nuxt: 4.4.4(1c432982cee559849a9dc4decf895c74) nypm: 0.6.6 ohash: 2.0.11 pathe: 2.0.3 @@ -15597,7 +15698,7 @@ snapshots: ufo: 1.6.4 unctx: 2.5.0 unstorage: 1.17.5(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1) - vue: 3.5.33(typescript@6.0.3) + vue: 3.5.33(typescript@5.9.3) vue-bundle-renderer: 2.2.0 vue-devtools-stub: 0.1.0 optionalDependencies: @@ -15640,7 +15741,7 @@ snapshots: - uploadthing - xml2js - '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(oxc-parser@0.128.0)(rolldown@1.0.2)(typescript@6.0.3)': + '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(oxc-parser@0.128.0)(rolldown@1.1.0)(typescript@6.0.3)': dependencies: '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@nuxt/devalue': 2.0.2 @@ -15658,8 +15759,8 @@ snapshots: impound: 1.1.5 klona: 2.0.6 mocked-exports: 0.1.1 - nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.2) - nuxt: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) + nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.1.0) + nuxt: 4.4.4(4ce79750208d3e950bc761cf7e0cc582) nypm: 0.6.6 ohash: 2.0.11 pathe: 2.0.3 @@ -15711,7 +15812,7 @@ snapshots: - uploadthing - xml2js - '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(oxc-parser@0.128.0)(rolldown@1.0.2)(typescript@6.0.3)': + '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(oxc-parser@0.128.0)(rolldown@1.1.0)(typescript@6.0.3)': dependencies: '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@nuxt/devalue': 2.0.2 @@ -15729,8 +15830,8 @@ snapshots: impound: 1.1.5 klona: 2.0.6 mocked-exports: 0.1.1 - nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.2) - nuxt: 4.4.4(71801589c663398b7779b77c63f5f3ce) + nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.1.0) + nuxt: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) nypm: 0.6.6 ohash: 2.0.11 pathe: 2.0.3 @@ -15782,12 +15883,12 @@ snapshots: - uploadthing - xml2js - '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(cc4ec224de2d6c06d027ec9a27895e5a))(oxc-parser@0.128.0)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.9.3)': + '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(da3747dc41af2761a854c4df2428c224))(oxc-parser@0.128.0)(rolldown@1.0.0-rc.17)(typescript@6.0.3)': dependencies: '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@nuxt/devalue': 2.0.2 '@nuxt/kit': 4.4.4(magicast@0.5.2) - '@unhead/vue': 2.1.13(vue@3.5.33(typescript@5.9.3)) + '@unhead/vue': 2.1.13(vue@3.5.33(typescript@6.0.3)) '@vue/shared': 3.5.33 consola: 3.4.2 defu: 6.1.7 @@ -15800,8 +15901,8 @@ snapshots: impound: 1.1.5 klona: 2.0.6 mocked-exports: 0.1.1 - nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)) - nuxt: 4.4.4(cc4ec224de2d6c06d027ec9a27895e5a) + nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.0-rc.17) + nuxt: 4.4.4(da3747dc41af2761a854c4df2428c224) nypm: 0.6.6 ohash: 2.0.11 pathe: 2.0.3 @@ -15810,7 +15911,7 @@ snapshots: ufo: 1.6.4 unctx: 2.5.0 unstorage: 1.17.5(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1) - vue: 3.5.33(typescript@5.9.3) + vue: 3.5.33(typescript@6.0.3) vue-bundle-renderer: 2.2.0 vue-devtools-stub: 0.1.0 optionalDependencies: @@ -15882,10 +15983,10 @@ snapshots: rc9: 3.0.1 std-env: 4.1.0 - '@nuxt/test-utils@4.0.3(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5)': + '@nuxt/test-utils@4.0.3(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5)': dependencies: '@clack/prompts': 1.2.0 - '@nuxt/devtools-kit': 2.7.0(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 2.7.0(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/kit': 3.21.4(magicast@0.5.2) c12: 3.3.4(magicast@0.5.2) consola: 3.4.2 @@ -15911,29 +16012,29 @@ snapshots: tinyexec: 1.1.2 ufo: 1.6.4 unplugin: 3.0.0 - vitest-environment-nuxt: 2.0.0(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) + vitest-environment-nuxt: 2.0.0(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) vue: 3.5.33(typescript@6.0.3) optionalDependencies: happy-dom: 20.9.0 - vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - crossws - magicast - typescript - vite - '@nuxt/ui@4.7.1(109150d128b872a97f6986298b4d3c90)': + '@nuxt/ui@4.7.1(1b8b6418ae6538673ae66063694798f2)': dependencies: '@floating-ui/dom': 1.7.6 '@iconify/vue': 5.0.0(vue@3.5.33(typescript@6.0.3)) - '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) '@nuxt/schema': 4.4.4 '@nuxtjs/color-mode': 3.5.2(magicast@0.5.2) '@standard-schema/spec': 1.1.0 '@tailwindcss/postcss': 4.2.4 - '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@tanstack/vue-table': 8.21.3(vue@3.5.33(typescript@6.0.3)) '@tanstack/vue-virtual': 3.13.24(vue@3.5.33(typescript@6.0.3)) '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) @@ -15993,7 +16094,8 @@ snapshots: '@internationalized/number': 3.6.6 '@nuxt/content': 3.13.0(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(magicast@0.5.2)(valibot@1.3.1(typescript@6.0.3)) valibot: 1.3.1(typescript@6.0.3) - zod: 3.25.76 + vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@6.0.3)) + zod: 4.4.2 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -16036,18 +16138,18 @@ snapshots: - vue - yjs - '@nuxt/ui@4.7.1(2656a2e1b3f45cbcb1b0ed8e6886ccc5)': + '@nuxt/ui@4.7.1(4da065bdacad40e9138de722ac178a5e)': dependencies: '@floating-ui/dom': 1.7.6 '@iconify/vue': 5.0.0(vue@3.5.33(typescript@6.0.3)) - '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) '@nuxt/schema': 4.4.4 '@nuxtjs/color-mode': 3.5.2(magicast@0.5.2) '@standard-schema/spec': 1.1.0 '@tailwindcss/postcss': 4.2.4 - '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@tanstack/vue-table': 8.21.3(vue@3.5.33(typescript@6.0.3)) '@tanstack/vue-virtual': 3.13.24(vue@3.5.33(typescript@6.0.3)) '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) @@ -16107,7 +16209,7 @@ snapshots: '@internationalized/number': 3.6.6 '@nuxt/content': 3.13.0(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(magicast@0.5.2)(valibot@1.3.1(typescript@6.0.3)) valibot: 1.3.1(typescript@6.0.3) - zod: 4.4.3 + zod: 4.4.2 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -16150,18 +16252,18 @@ snapshots: - vue - yjs - '@nuxt/ui@4.7.1(9c604e4823094c28297bcc41a9ac055f)': + '@nuxt/ui@4.7.1(5a1804de87dec3069bdc296474954815)': dependencies: '@floating-ui/dom': 1.7.6 '@iconify/vue': 5.0.0(vue@3.5.33(typescript@6.0.3)) - '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) '@nuxt/schema': 4.4.4 '@nuxtjs/color-mode': 3.5.2(magicast@0.5.2) '@standard-schema/spec': 1.1.0 '@tailwindcss/postcss': 4.2.4 - '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@tanstack/vue-table': 8.21.3(vue@3.5.33(typescript@6.0.3)) '@tanstack/vue-virtual': 3.13.24(vue@3.5.33(typescript@6.0.3)) '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) @@ -16221,8 +16323,7 @@ snapshots: '@internationalized/number': 3.6.6 '@nuxt/content': 3.13.0(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(magicast@0.5.2)(valibot@1.3.1(typescript@6.0.3)) valibot: 1.3.1(typescript@6.0.3) - vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@6.0.3)) - zod: 4.4.2 + zod: 3.25.76 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -16265,18 +16366,18 @@ snapshots: - vue - yjs - '@nuxt/ui@4.7.1(dc17648ac6c3fdd79a3ff69e254ec91d)': + '@nuxt/ui@4.7.1(c798cb8bf9acd96971fafb624fbbb388)': dependencies: '@floating-ui/dom': 1.7.6 '@iconify/vue': 5.0.0(vue@3.5.33(typescript@6.0.3)) - '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) '@nuxt/schema': 4.4.4 '@nuxtjs/color-mode': 3.5.2(magicast@0.5.2) '@standard-schema/spec': 1.1.0 '@tailwindcss/postcss': 4.2.4 - '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@tanstack/vue-table': 8.21.3(vue@3.5.33(typescript@6.0.3)) '@tanstack/vue-virtual': 3.13.24(vue@3.5.33(typescript@6.0.3)) '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) @@ -16336,7 +16437,7 @@ snapshots: '@internationalized/number': 3.6.6 '@nuxt/content': 3.13.0(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(magicast@0.5.2)(valibot@1.3.1(typescript@6.0.3)) valibot: 1.3.1(typescript@6.0.3) - zod: 4.4.2 + zod: 4.4.3 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -16379,12 +16480,12 @@ snapshots: - vue - yjs - '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.6.1))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(optionator@0.9.4)(rolldown@1.0.2)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.2)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4)': + '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.6.1))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4)': dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) '@rollup/plugin-replace': 6.0.3(rollup@4.60.2) - '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) - '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) autoprefixer: 10.5.0(postcss@8.5.13) consola: 3.4.2 cssnano: 7.1.8(postcss@8.5.13) @@ -16397,7 +16498,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.2 mocked-exports: 0.1.1 - nuxt: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) + nuxt: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) nypm: 0.6.6 pathe: 2.0.3 pkg-types: 2.3.1 @@ -16406,16 +16507,16 @@ snapshots: std-env: 4.1.0 ufo: 1.6.4 unenv: 2.0.0-rc.24 - vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-node: 5.3.0(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.6.1))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)) + vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-node: 5.3.0(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.6.1))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)) vue: 3.5.33(typescript@6.0.3) vue-bundle-renderer: 2.2.0 optionalDependencies: '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0) '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) - rolldown: 1.0.2 - rollup-plugin-visualizer: 7.0.1(rolldown@1.0.2)(rollup@4.60.2) + rolldown: 1.1.0 + rollup-plugin-visualizer: 7.0.1(rolldown@1.1.0)(rollup@4.60.2) transitivePeerDependencies: - '@biomejs/biome' - '@types/node' @@ -16441,12 +16542,12 @@ snapshots: - vue-tsc - yaml - '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(163941d31dc8937f73f0941c905f113a))(optionator@0.9.4)(rolldown@1.0.0-rc.17)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-rc.17)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4)': + '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(1c432982cee559849a9dc4decf895c74))(optionator@0.9.4)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vue-tsc@3.2.7(typescript@5.9.3))(vue@3.5.33(typescript@5.9.3))(yaml@2.8.4)': dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) '@rollup/plugin-replace': 6.0.3(rollup@4.60.2) - '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) - '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) + '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) autoprefixer: 10.5.0(postcss@8.5.13) consola: 3.4.2 cssnano: 7.1.8(postcss@8.5.13) @@ -16459,7 +16560,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.2 mocked-exports: 0.1.1 - nuxt: 4.4.4(163941d31dc8937f73f0941c905f113a) + nuxt: 4.4.4(1c432982cee559849a9dc4decf895c74) nypm: 0.6.6 pathe: 2.0.3 pkg-types: 2.3.1 @@ -16468,16 +16569,16 @@ snapshots: std-env: 4.1.0 ufo: 1.6.4 unenv: 2.0.0-rc.24 - vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-node: 5.3.0(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)) - vue: 3.5.33(typescript@6.0.3) + vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-node: 5.3.0(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@5.9.3)) + vue: 3.5.33(typescript@5.9.3) vue-bundle-renderer: 2.2.0 optionalDependencies: '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0) '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) - rolldown: 1.0.0-rc.17 - rollup-plugin-visualizer: 7.0.1(rolldown@1.0.0-rc.17)(rollup@4.60.2) + rolldown: 1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + rollup-plugin-visualizer: 7.0.1(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.60.2) transitivePeerDependencies: - '@biomejs/biome' - '@types/node' @@ -16503,12 +16604,12 @@ snapshots: - vue-tsc - yaml - '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(optionator@0.9.4)(rolldown@1.0.2)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.2)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4)': + '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4)': dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) '@rollup/plugin-replace': 6.0.3(rollup@4.60.2) - '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) - '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) autoprefixer: 10.5.0(postcss@8.5.13) consola: 3.4.2 cssnano: 7.1.8(postcss@8.5.13) @@ -16521,7 +16622,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.2 mocked-exports: 0.1.1 - nuxt: 4.4.4(71801589c663398b7779b77c63f5f3ce) + nuxt: 4.4.4(4ce79750208d3e950bc761cf7e0cc582) nypm: 0.6.6 pathe: 2.0.3 pkg-types: 2.3.1 @@ -16530,16 +16631,16 @@ snapshots: std-env: 4.1.0 ufo: 1.6.4 unenv: 2.0.0-rc.24 - vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-node: 5.3.0(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)) + vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-node: 5.3.0(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)) vue: 3.5.33(typescript@6.0.3) vue-bundle-renderer: 2.2.0 optionalDependencies: '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0) '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) - rolldown: 1.0.2 - rollup-plugin-visualizer: 7.0.1(rolldown@1.0.2)(rollup@4.60.2) + rolldown: 1.1.0 + rollup-plugin-visualizer: 7.0.1(rolldown@1.1.0)(rollup@4.60.2) transitivePeerDependencies: - '@biomejs/biome' - '@types/node' @@ -16565,12 +16666,12 @@ snapshots: - vue-tsc - yaml - '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(cc4ec224de2d6c06d027ec9a27895e5a))(optionator@0.9.4)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vue-tsc@3.2.7(typescript@5.9.3))(vue@3.5.33(typescript@5.9.3))(yaml@2.8.4)': + '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(da3747dc41af2761a854c4df2428c224))(optionator@0.9.4)(rolldown@1.0.0-rc.17)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-rc.17)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4)': dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) '@rollup/plugin-replace': 6.0.3(rollup@4.60.2) - '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) - '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) + '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) autoprefixer: 10.5.0(postcss@8.5.13) consola: 3.4.2 cssnano: 7.1.8(postcss@8.5.13) @@ -16583,7 +16684,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.2 mocked-exports: 0.1.1 - nuxt: 4.4.4(cc4ec224de2d6c06d027ec9a27895e5a) + nuxt: 4.4.4(da3747dc41af2761a854c4df2428c224) nypm: 0.6.6 pathe: 2.0.3 pkg-types: 2.3.1 @@ -16592,16 +16693,16 @@ snapshots: std-env: 4.1.0 ufo: 1.6.4 unenv: 2.0.0-rc.24 - vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-node: 5.3.0(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@5.9.3)) - vue: 3.5.33(typescript@5.9.3) + vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-node: 5.3.0(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)) + vue: 3.5.33(typescript@6.0.3) vue-bundle-renderer: 2.2.0 optionalDependencies: '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0) '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) - rolldown: 1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) - rollup-plugin-visualizer: 7.0.1(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.60.2) + rolldown: 1.0.0-rc.17 + rollup-plugin-visualizer: 7.0.1(rolldown@1.0.0-rc.17)(rollup@4.60.2) transitivePeerDependencies: - '@biomejs/biome' - '@types/node' @@ -16760,12 +16861,12 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxtjs/i18n@10.3.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@vue/compiler-dom@3.5.33)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(eslint@9.39.4(jiti@2.6.1))(ioredis@5.10.1)(magicast@0.5.2)(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@nuxtjs/i18n@10.3.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@vue/compiler-dom@3.5.33)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(eslint@9.39.4(jiti@2.6.1))(ioredis@5.10.1)(magicast@0.5.2)(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: '@intlify/core': 11.4.0 '@intlify/h3': 0.7.4 '@intlify/shared': 11.4.0 - '@intlify/unplugin-vue-i18n': 11.1.2(@vue/compiler-dom@3.5.33)(eslint@9.39.4(jiti@2.6.1))(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-i18n@11.4.0(vue@3.5.33(typescript@6.0.3)))(vue@3.5.33(typescript@6.0.3)) + '@intlify/unplugin-vue-i18n': 11.1.2(@vue/compiler-dom@3.5.33)(eslint@9.39.4(jiti@2.6.1))(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-i18n@11.4.0(vue@3.5.33(typescript@6.0.3)))(vue@3.5.33(typescript@6.0.3)) '@intlify/utils': 0.14.1 '@miyaneee/rollup-plugin-json5': 1.2.0(rollup@4.60.2) '@nuxt/kit': 4.4.6(magicast@0.5.2) @@ -16822,18 +16923,18 @@ snapshots: - vite - vue - '@nuxtjs/mcp-toolkit@0.16.1(@vue/compiler-sfc@3.5.33)(h3@1.15.11)(magicast@0.5.2)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2)': + '@nuxtjs/mcp-toolkit@0.16.1(@vue/compiler-sfc@3.5.33)(h3@1.15.11)(magicast@0.5.2)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2)': dependencies: '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@nuxt/kit': 4.4.6(magicast@0.5.2) - '@vitejs/plugin-vue': 6.0.6(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@vitejs/plugin-vue': 6.0.6(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) h3: 1.15.11 tinyglobby: 0.2.16 - vite-plugin-singlefile: 2.3.3(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite-plugin-singlefile: 2.3.3(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) zod: 4.4.2 optionalDependencies: '@vue/compiler-sfc': 3.5.33 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@6.0.3) transitivePeerDependencies: - '@cfworker/json-schema' @@ -16899,15 +17000,15 @@ snapshots: transitivePeerDependencies: - encoding - '@nuxtjs/robots@6.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2)': + '@nuxtjs/robots@6.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2)': dependencies: '@fingerprintjs/botd': 2.0.0 '@nuxt/kit': 4.4.6(magicast@0.5.2) consola: 3.4.2 defu: 6.1.7 h3: 1.15.11 - nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) - nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) pathe: 2.0.3 pkg-types: 2.3.1 ufo: 1.6.4 @@ -16920,14 +17021,14 @@ snapshots: - vite - vue - '@nuxtjs/sitemap@8.0.15(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76)': + '@nuxtjs/sitemap@8.0.15(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76)': dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) consola: 3.4.2 defu: 6.1.7 fast-xml-parser: 5.7.2 - nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) - nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76))(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) + nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) + nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76))(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) ofetch: 1.5.1 pathe: 2.0.3 pkg-types: 2.3.1 @@ -16993,13 +17094,13 @@ snapshots: transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/openapi@1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.15))(fastify@5.8.5)(ws@8.20.0)': + '@orpc/openapi@1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.16))(fastify@5.8.5)(ws@8.20.0)': dependencies: '@orpc/client': 1.14.2(@opentelemetry/api@1.9.0) '@orpc/contract': 1.14.2(@opentelemetry/api@1.9.0) '@orpc/interop': 1.14.2 '@orpc/openapi-client': 1.14.2(@opentelemetry/api@1.9.0) - '@orpc/server': 1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.15))(fastify@5.8.5)(ws@8.20.0) + '@orpc/server': 1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.16))(fastify@5.8.5)(ws@8.20.0) '@orpc/shared': 1.14.2(@opentelemetry/api@1.9.0) '@orpc/standard-server': 1.14.2(@opentelemetry/api@1.9.0) json-schema-typed: 8.0.2 @@ -17030,6 +17131,26 @@ snapshots: - '@opentelemetry/api' - fastify + '@orpc/server@1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.16))(fastify@5.8.5)(ws@8.20.0)': + dependencies: + '@orpc/client': 1.14.2(@opentelemetry/api@1.9.0) + '@orpc/contract': 1.14.2(@opentelemetry/api@1.9.0) + '@orpc/interop': 1.14.2 + '@orpc/shared': 1.14.2(@opentelemetry/api@1.9.0) + '@orpc/standard-server': 1.14.2(@opentelemetry/api@1.9.0) + '@orpc/standard-server-aws-lambda': 1.14.2(@opentelemetry/api@1.9.0) + '@orpc/standard-server-fastify': 1.14.2(@opentelemetry/api@1.9.0)(fastify@5.8.5) + '@orpc/standard-server-fetch': 1.14.2(@opentelemetry/api@1.9.0) + '@orpc/standard-server-node': 1.14.2(@opentelemetry/api@1.9.0) + '@orpc/standard-server-peer': 1.14.2(@opentelemetry/api@1.9.0) + cookie: 1.1.1 + optionalDependencies: + crossws: 0.4.5(srvx@0.11.16) + ws: 8.20.0 + transitivePeerDependencies: + - '@opentelemetry/api' + - fastify + '@orpc/shared@1.14.2(@opentelemetry/api@1.9.0)': dependencies: radash: 12.1.1 @@ -17287,6 +17408,8 @@ snapshots: '@oxc-project/types@0.132.0': {} + '@oxc-project/types@0.134.0': {} + '@oxc-transform/binding-android-arm-eabi@0.112.0': optional: true @@ -17515,7 +17638,7 @@ snapshots: dependencies: quansync: 1.0.0 - '@react-router/dev@7.14.2(@react-router/serve@7.14.2(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(typescript@5.9.3))(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(wrangler@3.114.17(@cloudflare/workers-types@4.20260503.1))(yaml@2.8.4)': + '@react-router/dev@7.14.2(@react-router/serve@7.14.2(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(typescript@5.9.3))(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(wrangler@3.114.17(@cloudflare/workers-types@4.20260503.1))(yaml@2.8.4)': dependencies: '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -17545,8 +17668,8 @@ snapshots: semver: 7.7.4 tinyglobby: 0.2.16 valibot: 1.3.1(typescript@5.9.3) - vite: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-node: 3.2.4(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-node: 3.2.4(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) optionalDependencies: '@react-router/serve': 7.14.2(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(typescript@5.9.3) typescript: 5.9.3 @@ -17655,10 +17778,10 @@ snapshots: '@rolldown/binding-android-arm64@1.0.0-rc.17': optional: true - '@rolldown/binding-android-arm64@1.0.0-rc.18': + '@rolldown/binding-android-arm64@1.0.2': optional: true - '@rolldown/binding-android-arm64@1.0.2': + '@rolldown/binding-android-arm64@1.1.0': optional: true '@rolldown/binding-darwin-arm64@1.0.0-beta.57': @@ -17667,10 +17790,10 @@ snapshots: '@rolldown/binding-darwin-arm64@1.0.0-rc.17': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-rc.18': + '@rolldown/binding-darwin-arm64@1.0.2': optional: true - '@rolldown/binding-darwin-arm64@1.0.2': + '@rolldown/binding-darwin-arm64@1.1.0': optional: true '@rolldown/binding-darwin-x64@1.0.0-beta.57': @@ -17679,10 +17802,10 @@ snapshots: '@rolldown/binding-darwin-x64@1.0.0-rc.17': optional: true - '@rolldown/binding-darwin-x64@1.0.0-rc.18': + '@rolldown/binding-darwin-x64@1.0.2': optional: true - '@rolldown/binding-darwin-x64@1.0.2': + '@rolldown/binding-darwin-x64@1.1.0': optional: true '@rolldown/binding-freebsd-x64@1.0.0-beta.57': @@ -17691,10 +17814,10 @@ snapshots: '@rolldown/binding-freebsd-x64@1.0.0-rc.17': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-rc.18': + '@rolldown/binding-freebsd-x64@1.0.2': optional: true - '@rolldown/binding-freebsd-x64@1.0.2': + '@rolldown/binding-freebsd-x64@1.1.0': optional: true '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.57': @@ -17703,10 +17826,10 @@ snapshots: '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.18': + '@rolldown/binding-linux-arm-gnueabihf@1.0.2': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.2': + '@rolldown/binding-linux-arm-gnueabihf@1.1.0': optional: true '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.57': @@ -17715,10 +17838,10 @@ snapshots: '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.18': + '@rolldown/binding-linux-arm64-gnu@1.0.2': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.2': + '@rolldown/binding-linux-arm64-gnu@1.1.0': optional: true '@rolldown/binding-linux-arm64-musl@1.0.0-beta.57': @@ -17727,28 +17850,28 @@ snapshots: '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.18': + '@rolldown/binding-linux-arm64-musl@1.0.2': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.2': + '@rolldown/binding-linux-arm64-musl@1.1.0': optional: true '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.18': + '@rolldown/binding-linux-ppc64-gnu@1.0.2': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.2': + '@rolldown/binding-linux-ppc64-gnu@1.1.0': optional: true '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.18': + '@rolldown/binding-linux-s390x-gnu@1.0.2': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.2': + '@rolldown/binding-linux-s390x-gnu@1.1.0': optional: true '@rolldown/binding-linux-x64-gnu@1.0.0-beta.57': @@ -17757,10 +17880,10 @@ snapshots: '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.18': + '@rolldown/binding-linux-x64-gnu@1.0.2': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.2': + '@rolldown/binding-linux-x64-gnu@1.1.0': optional: true '@rolldown/binding-linux-x64-musl@1.0.0-beta.57': @@ -17769,10 +17892,10 @@ snapshots: '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-rc.18': + '@rolldown/binding-linux-x64-musl@1.0.2': optional: true - '@rolldown/binding-linux-x64-musl@1.0.2': + '@rolldown/binding-linux-x64-musl@1.1.0': optional: true '@rolldown/binding-openharmony-arm64@1.0.0-beta.57': @@ -17781,10 +17904,10 @@ snapshots: '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-rc.18': + '@rolldown/binding-openharmony-arm64@1.0.2': optional: true - '@rolldown/binding-openharmony-arm64@1.0.2': + '@rolldown/binding-openharmony-arm64@1.1.0': optional: true '@rolldown/binding-wasm32-wasi@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': @@ -17802,14 +17925,14 @@ snapshots: '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.18': + '@rolldown/binding-wasm32-wasi@1.0.2': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@rolldown/binding-wasm32-wasi@1.0.2': + '@rolldown/binding-wasm32-wasi@1.1.0': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 @@ -17822,10 +17945,10 @@ snapshots: '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.18': + '@rolldown/binding-win32-arm64-msvc@1.0.2': optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.2': + '@rolldown/binding-win32-arm64-msvc@1.1.0': optional: true '@rolldown/binding-win32-x64-msvc@1.0.0-beta.57': @@ -17834,10 +17957,10 @@ snapshots: '@rolldown/binding-win32-x64-msvc@1.0.0-rc.17': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.18': + '@rolldown/binding-win32-x64-msvc@1.0.2': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.2': + '@rolldown/binding-win32-x64-msvc@1.1.0': optional: true '@rolldown/pluginutils@1.0.0-beta.40': {} @@ -18193,11 +18316,11 @@ snapshots: dependencies: solid-js: 1.9.12 - '@solidjs/start@1.3.2(solid-js@1.9.12)(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@solidjs/start@1.3.2(solid-js@1.9.12)(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@tanstack/server-functions-plugin': 1.121.21(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@vinxi/plugin-directives': 0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@vinxi/server-components': 0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/server-functions-plugin': 1.121.21(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@vinxi/plugin-directives': 0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@vinxi/server-components': 0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) cookie-es: 2.0.1 defu: 6.1.7 error-stack-parser: 2.1.4 @@ -18209,8 +18332,8 @@ snapshots: source-map-js: 1.2.1 terracotta: 1.1.0(solid-js@1.9.12) tinyglobby: 0.2.16 - vinxi: 0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-solid: 2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vinxi: 0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-solid: 2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - '@testing-library/jest-dom' - solid-js @@ -18230,9 +18353,9 @@ snapshots: tslib: 2.8.1 typed-inject: 5.0.0 - '@stryker-mutator/core@9.6.1(@types/node@25.9.1)': + '@stryker-mutator/core@9.6.1(@types/node@25.9.2)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@25.9.1) + '@inquirer/prompts': 8.4.2(@types/node@25.9.2) '@stryker-mutator/api': 9.6.1 '@stryker-mutator/instrumenter': 9.6.1 '@stryker-mutator/util': 9.6.1 @@ -18281,32 +18404,32 @@ snapshots: '@stryker-mutator/util@9.6.1': {} - '@stryker-mutator/vitest-runner@9.6.1(@stryker-mutator/core@9.6.1(@types/node@25.9.1))(vitest@4.1.5)': + '@stryker-mutator/vitest-runner@9.6.1(@stryker-mutator/core@9.6.1(@types/node@25.9.2))(vitest@4.1.5)': dependencies: '@stryker-mutator/api': 9.6.1 - '@stryker-mutator/core': 9.6.1(@types/node@25.9.1) + '@stryker-mutator/core': 9.6.1(@types/node@25.9.2) '@stryker-mutator/util': 9.6.1 semver: 7.7.4 tslib: 2.8.1 - vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@sveltejs/acorn-typescript@1.0.9(acorn@8.16.0)': dependencies: acorn: 8.16.0 - '@sveltejs/adapter-node@5.5.4(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))': + '@sveltejs/adapter-node@5.5.4(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))': dependencies: '@rollup/plugin-commonjs': 29.0.2(rollup@4.60.2) '@rollup/plugin-json': 6.1.0(rollup@4.60.2) '@rollup/plugin-node-resolve': 16.0.3(rollup@4.60.2) - '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) rollup: 4.60.2 - '@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@standard-schema/spec': 1.1.0 '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@types/cookie': 0.6.0 acorn: 8.16.0 cookie: 0.6.0 @@ -18318,16 +18441,16 @@ snapshots: set-cookie-parser: 3.1.0 sirv: 3.0.2 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) optionalDependencies: '@opentelemetry/api': 1.9.0 typescript: 6.0.3 - '@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@standard-schema/spec': 1.1.0 '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@types/cookie': 0.6.0 acorn: 8.16.0 cookie: 0.6.0 @@ -18339,17 +18462,17 @@ snapshots: set-cookie-parser: 3.1.0 sirv: 3.0.2 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) optionalDependencies: '@opentelemetry/api': 1.9.0 typescript: 6.0.3 optional: true - '@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@standard-schema/spec': 1.1.0 '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@types/cookie': 0.6.0 acorn: 8.16.0 cookie: 0.6.0 @@ -18361,76 +18484,76 @@ snapshots: set-cookie-parser: 3.1.0 sirv: 3.0.2 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) optionalDependencies: '@opentelemetry/api': 1.9.0 typescript: 6.0.3 - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) debug: 4.4.3 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) debug: 4.4.3 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - supports-color optional: true - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) debug: 4.4.3 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) debug: 4.4.3 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.21 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vitefu: 1.1.3(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vitefu: 1.1.3(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) debug: 4.4.3 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.21 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - supports-color optional: true - '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) debug: 4.4.3 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.21 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - supports-color @@ -18579,19 +18702,19 @@ snapshots: tailwindcss: 4.2.4 vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - '@tailwindcss/vite@4.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tailwindcss/vite@4.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@tailwindcss/node': 4.2.4 '@tailwindcss/oxide': 4.2.4 tailwindcss: 4.2.4 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - '@tailwindcss/vite@4.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tailwindcss/vite@4.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@tailwindcss/node': 4.2.4 '@tailwindcss/oxide': 4.2.4 tailwindcss: 4.2.4 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) '@takumi-rs/core-darwin-arm64@1.1.2': optional: true @@ -18699,7 +18822,7 @@ snapshots: - csstype - utf-8-validate - '@tanstack/directive-functions-plugin@1.121.21(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/directive-functions-plugin@1.121.21(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@babel/code-frame': 7.26.2 '@babel/core': 7.29.0 @@ -18708,7 +18831,7 @@ snapshots: '@tanstack/router-utils': 1.161.7 babel-dead-code-elimination: 1.0.12 tiny-invariant: 1.3.3 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - supports-color @@ -18773,16 +18896,16 @@ snapshots: react: 19.2.5 react-dom: 19.2.5(react@19.2.5) - '@tanstack/react-start-rsc@0.0.40(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/react-start-rsc@0.0.40(crossws@0.4.5(srvx@0.11.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@tanstack/react-router': 1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.11.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/router-core': 1.169.1 '@tanstack/router-utils': 1.161.7 '@tanstack/start-client-core': 1.168.1 '@tanstack/start-fn-stubs': 1.161.6 - '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.15))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.15)) + '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.16))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.16)) '@tanstack/start-storage-context': 1.166.34 pathe: 2.0.3 react: 19.2.5 @@ -18794,17 +18917,18 @@ snapshots: - vite - vite-plugin-solid - webpack + optional: true - '@tanstack/react-start-rsc@0.0.40(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/react-start-rsc@0.0.40(crossws@0.4.5(srvx@0.8.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@tanstack/react-router': 1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.8.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/router-core': 1.169.1 '@tanstack/router-utils': 1.161.7 '@tanstack/start-client-core': 1.168.1 '@tanstack/start-fn-stubs': 1.161.6 - '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.15))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.15)) + '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.8.16))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.8.16)) '@tanstack/start-storage-context': 1.166.34 pathe: 2.0.3 react: 19.2.5 @@ -18816,35 +18940,47 @@ snapshots: - vite - vite-plugin-solid - webpack + + '@tanstack/react-start-server@1.166.50(crossws@0.4.5(srvx@0.11.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + dependencies: + '@tanstack/history': 1.161.6 + '@tanstack/react-router': 1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@tanstack/router-core': 1.169.1 + '@tanstack/start-client-core': 1.168.1 + '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.16)) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) + transitivePeerDependencies: + - crossws optional: true - '@tanstack/react-start-server@1.166.50(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@tanstack/react-start-server@1.166.50(crossws@0.4.5(srvx@0.8.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: '@tanstack/history': 1.161.6 '@tanstack/react-router': 1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/router-core': 1.169.1 '@tanstack/start-client-core': 1.168.1 - '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.15)) + '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.8.16)) react: 19.2.5 react-dom: 19.2.5(react@19.2.5) transitivePeerDependencies: - crossws - '@tanstack/react-start@1.167.61(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/react-start@1.167.61(crossws@0.4.5(srvx@0.11.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@tanstack/react-router': 1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/react-start-client': 1.166.47(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@tanstack/react-start-rsc': 0.0.40(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@tanstack/react-start-rsc': 0.0.40(crossws@0.4.5(srvx@0.11.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.11.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/router-utils': 1.161.7 '@tanstack/start-client-core': 1.168.1 - '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.15))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.15)) + '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.16))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.16)) pathe: 2.0.3 react: 19.2.5 react-dom: 19.2.5(react@19.2.5) optionalDependencies: - vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@rspack/core' - crossws @@ -18852,22 +18988,23 @@ snapshots: - supports-color - vite-plugin-solid - webpack + optional: true - '@tanstack/react-start@1.167.61(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/react-start@1.167.61(crossws@0.4.5(srvx@0.8.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@tanstack/react-router': 1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/react-start-client': 1.166.47(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@tanstack/react-start-rsc': 0.0.40(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@tanstack/react-start-rsc': 0.0.40(crossws@0.4.5(srvx@0.8.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.8.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/router-utils': 1.161.7 '@tanstack/start-client-core': 1.168.1 - '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.15))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.15)) + '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.8.16))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.8.16)) pathe: 2.0.3 react: 19.2.5 react-dom: 19.2.5(react@19.2.5) optionalDependencies: - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@rspack/core' - crossws @@ -18875,7 +19012,6 @@ snapshots: - supports-color - vite-plugin-solid - webpack - optional: true '@tanstack/react-store@0.9.3(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: @@ -18934,7 +19070,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.167.32(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/router-plugin@1.167.32(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) @@ -18951,8 +19087,8 @@ snapshots: zod: 3.25.76 optionalDependencies: '@tanstack/react-router': 1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-solid: 2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-solid: 2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - supports-color optional: true @@ -18976,7 +19112,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/server-functions-plugin@1.121.21(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/server-functions-plugin@1.121.21(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@babel/code-frame': 7.26.2 '@babel/core': 7.29.0 @@ -18985,7 +19121,7 @@ snapshots: '@babel/template': 7.28.6 '@babel/traverse': 7.29.0 '@babel/types': 7.29.0 - '@tanstack/directive-functions-plugin': 1.121.21(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/directive-functions-plugin': 1.121.21(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) babel-dead-code-elimination: 1.0.12 tiny-invariant: 1.3.3 transitivePeerDependencies: @@ -19001,7 +19137,7 @@ snapshots: '@tanstack/start-fn-stubs@1.161.6': {} - '@tanstack/start-plugin-core@1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.15))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/start-plugin-core@1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.16))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@babel/code-frame': 7.27.1 '@babel/core': 7.29.0 @@ -19009,10 +19145,10 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.40 '@tanstack/router-core': 1.169.1 '@tanstack/router-generator': 1.166.39 - '@tanstack/router-plugin': 1.167.32(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/router-plugin': 1.167.32(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@tanstack/router-utils': 1.161.7 '@tanstack/start-client-core': 1.168.1 - '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.15)) + '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.16)) cheerio: 1.2.0 exsolve: 1.0.8 lightningcss: 1.32.0 @@ -19023,19 +19159,20 @@ snapshots: srvx: 0.11.15 tinyglobby: 0.2.16 ufo: 1.6.4 - vitefu: 1.1.3(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) xmlbuilder2: 4.0.3 zod: 3.25.76 optionalDependencies: - vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@tanstack/react-router' - crossws - supports-color - vite-plugin-solid - webpack + optional: true - '@tanstack/start-plugin-core@1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.15))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/start-plugin-core@1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.8.16))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@babel/code-frame': 7.27.1 '@babel/core': 7.29.0 @@ -19043,10 +19180,10 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.40 '@tanstack/router-core': 1.169.1 '@tanstack/router-generator': 1.166.39 - '@tanstack/router-plugin': 1.167.32(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/router-plugin': 1.167.32(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@tanstack/router-utils': 1.161.7 '@tanstack/start-client-core': 1.168.1 - '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.15)) + '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.8.16)) cheerio: 1.2.0 exsolve: 1.0.8 lightningcss: 1.32.0 @@ -19057,27 +19194,39 @@ snapshots: srvx: 0.11.15 tinyglobby: 0.2.16 ufo: 1.6.4 - vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vitefu: 1.1.3(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) xmlbuilder2: 4.0.3 zod: 3.25.76 optionalDependencies: - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@tanstack/react-router' - crossws - supports-color - vite-plugin-solid - webpack + + '@tanstack/start-server-core@1.167.28(crossws@0.4.5(srvx@0.11.16))': + dependencies: + '@tanstack/history': 1.161.6 + '@tanstack/router-core': 1.169.1 + '@tanstack/start-client-core': 1.168.1 + '@tanstack/start-storage-context': 1.166.34 + fetchdts: 0.1.7 + h3-v2: h3@2.0.1-rc.20(crossws@0.4.5(srvx@0.11.16)) + seroval: 1.5.2 + transitivePeerDependencies: + - crossws optional: true - '@tanstack/start-server-core@1.167.28(crossws@0.4.5(srvx@0.11.15))': + '@tanstack/start-server-core@1.167.28(crossws@0.4.5(srvx@0.8.16))': dependencies: '@tanstack/history': 1.161.6 '@tanstack/router-core': 1.169.1 '@tanstack/start-client-core': 1.168.1 '@tanstack/start-storage-context': 1.166.34 fetchdts: 0.1.7 - h3-v2: h3@2.0.1-rc.20(crossws@0.4.5(srvx@0.11.15)) + h3-v2: h3@2.0.1-rc.20(crossws@0.4.5(srvx@0.8.16)) seroval: 1.5.2 transitivePeerDependencies: - crossws @@ -19475,7 +19624,7 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@25.9.1': + '@types/node@25.9.2': dependencies: undici-types: 7.24.6 @@ -19702,20 +19851,20 @@ snapshots: '@uploadthing/mime-types@0.3.6': {} - '@vercel/analytics@2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3))': + '@vercel/analytics@2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3))': optionalDependencies: - '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) next: 16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - nuxt: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) + nuxt: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) react: 19.2.5 svelte: 5.55.5(@typescript-eslint/types@8.59.1) vue: 3.5.33(typescript@6.0.3) - '@vercel/analytics@2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3))': + '@vercel/analytics@2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3))': optionalDependencies: - '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) next: 16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - nuxt: 4.4.4(71801589c663398b7779b77c63f5f3ce) + nuxt: 4.4.4(4ce79750208d3e950bc761cf7e0cc582) react: 19.2.5 svelte: 5.55.5(@typescript-eslint/types@8.59.1) vue: 3.5.33(typescript@6.0.3) @@ -19741,11 +19890,11 @@ snapshots: '@vercel/oidc@3.2.0': {} - '@vercel/speed-insights@2.0.0(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3))': + '@vercel/speed-insights@2.0.0(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3))': optionalDependencies: - '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) next: 16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - nuxt: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) + nuxt: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) react: 19.2.5 svelte: 5.55.5(@typescript-eslint/types@8.59.1) vue: 3.5.33(typescript@6.0.3) @@ -19770,7 +19919,7 @@ snapshots: untun: 0.1.3 uqr: 0.1.3 - '@vinxi/plugin-directives@0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@vinxi/plugin-directives@0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@babel/parser': 7.29.3 acorn: 8.16.0 @@ -19781,18 +19930,18 @@ snapshots: magicast: 0.2.11 recast: 0.23.11 tslib: 2.8.1 - vinxi: 0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vinxi: 0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - '@vinxi/server-components@0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@vinxi/server-components@0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@vinxi/plugin-directives': 0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@vinxi/plugin-directives': 0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) acorn: 8.16.0 acorn-loose: 8.5.2 acorn-typescript: 1.4.13(acorn@8.16.0) astring: 1.9.0 magicast: 0.2.11 recast: 0.23.11 - vinxi: 0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vinxi: 0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) '@vitejs/plugin-react@5.2.0(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: @@ -19806,46 +19955,46 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3))': + '@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) '@rolldown/pluginutils': 1.0.0-rc.18 '@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.0) - vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@5.9.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) '@rolldown/pluginutils': 1.0.0-rc.18 '@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.0) - vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@6.0.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@6.0.6(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3))': + '@vitejs/plugin-vue@6.0.6(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3))': dependencies: '@rolldown/pluginutils': 1.0.0-rc.13 - vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@5.9.3) - '@vitejs/plugin-vue@6.0.6(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@vitejs/plugin-vue@6.0.6(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: '@rolldown/pluginutils': 1.0.0-rc.13 - vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@6.0.3) - '@vitejs/plugin-vue@6.0.6(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@vitejs/plugin-vue@6.0.6(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: '@rolldown/pluginutils': 1.0.0-rc.13 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@6.0.3) '@vitest/coverage-v8@4.1.5(vitest@4.1.5)': @@ -19860,7 +20009,7 @@ snapshots: obug: 2.1.1 std-env: 4.1.0 tinyrainbow: 3.1.0 - vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@vitest/expect@4.1.5': dependencies: @@ -19879,13 +20028,13 @@ snapshots: optionalDependencies: vite: 8.0.10(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - '@vitest/mocker@4.1.5(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@vitest/mocker@4.1.5(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@vitest/spy': 4.1.5 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) '@vitest/pretty-format@4.1.5': dependencies: @@ -20449,7 +20598,7 @@ snapshots: dependencies: safe-buffer: 5.1.2 - better-auth@1.6.9(6b0cd9af6c9287e56cc355f1dcb65e87): + better-auth@1.6.9(f9815333d8d125e43abb2cbad61bf376): dependencies: '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260503.1)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.4.2))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0) '@better-auth/drizzle-adapter': 1.6.9(@better-auth/core@1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260503.1)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.4.2))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)) @@ -20469,8 +20618,8 @@ snapshots: nanostores: 1.3.0 zod: 4.4.2 optionalDependencies: - '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@tanstack/react-start': 1.167.61(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/react-start': 1.167.61(crossws@0.4.5(srvx@0.11.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) better-sqlite3: 12.9.0 drizzle-kit: 0.31.10 drizzle-orm: 0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17) @@ -20479,7 +20628,7 @@ snapshots: react-dom: 19.2.5(react@19.2.5) solid-js: 1.9.12 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) vue: 3.5.33(typescript@6.0.3) transitivePeerDependencies: - '@cloudflare/workers-types' @@ -20976,6 +21125,14 @@ snapshots: optionalDependencies: srvx: 0.11.15 + crossws@0.4.5(srvx@0.11.16): + optionalDependencies: + srvx: 0.11.16 + + crossws@0.4.5(srvx@0.8.16): + optionalDependencies: + srvx: 0.8.16 + css-background-parser@0.1.0: {} css-box-shadow@1.0.0-3: {} @@ -21187,7 +21344,7 @@ snapshots: dependencies: path-type: 4.0.0 - docus@5.10.1(6f8da7f1805eae88a33d7eaaf6520657): + docus@5.10.1(7685c4646555465e63fcecbf5dabdbc1): dependencies: '@ai-sdk/gateway': 3.0.109(zod@4.4.2) '@ai-sdk/mcp': 1.0.39(zod@4.4.2) @@ -21198,11 +21355,11 @@ snapshots: '@nuxt/content': 3.13.0(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(magicast@0.5.2)(valibot@1.3.1(typescript@6.0.3)) '@nuxt/image': 2.0.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2) '@nuxt/kit': 4.4.4(magicast@0.5.2) - '@nuxt/ui': 4.7.1(dc17648ac6c3fdd79a3ff69e254ec91d) - '@nuxtjs/i18n': 10.3.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@vue/compiler-dom@3.5.33)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(eslint@9.39.4(jiti@2.6.1))(ioredis@5.10.1)(magicast@0.5.2)(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) - '@nuxtjs/mcp-toolkit': 0.16.1(@vue/compiler-sfc@3.5.33)(h3@1.15.11)(magicast@0.5.2)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + '@nuxt/ui': 4.7.1(4da065bdacad40e9138de722ac178a5e) + '@nuxtjs/i18n': 10.3.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@vue/compiler-dom@3.5.33)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(eslint@9.39.4(jiti@2.6.1))(ioredis@5.10.1)(magicast@0.5.2)(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxtjs/mcp-toolkit': 0.16.1(@vue/compiler-sfc@3.5.33)(h3@1.15.11)(magicast@0.5.2)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) '@nuxtjs/mdc': 0.21.1(magicast@0.5.2) - '@nuxtjs/robots': 6.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + '@nuxtjs/robots': 6.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) '@shikijs/core': 4.0.2 '@shikijs/engine-javascript': 4.0.2 '@shikijs/langs': 4.0.2 @@ -21215,9 +21372,9 @@ snapshots: exsolve: 1.0.8 git-url-parse: 16.1.0 motion-v: 2.2.1(@vueuse/core@14.3.0(vue@3.5.33(typescript@6.0.3)))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vue@3.5.33(typescript@6.0.3)) - nuxt: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) + nuxt: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) nuxt-llms: 0.2.0(magicast@0.5.2) - nuxt-og-image: 6.4.10(8c55729e91d73effbb78df7b30a09103) + nuxt-og-image: 6.4.10(a75144f829670fca553c5eb615e689a5) pkg-types: 2.3.1 scule: 1.3.0 shiki-stream: 0.1.4(react@19.2.5)(solid-js@1.9.12)(vue@3.5.33(typescript@6.0.3)) @@ -22312,7 +22469,7 @@ snapshots: dependencies: tiny-inflate: 1.0.3 - fontless@0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + fontless@0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: consola: 3.4.2 css-tree: 3.2.1 @@ -22328,7 +22485,7 @@ snapshots: unifont: 0.7.4 unstorage: 1.17.5(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1) optionalDependencies: - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -22350,7 +22507,7 @@ snapshots: - ioredis - uploadthing - fontless@0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + fontless@0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: consola: 3.4.2 css-tree: 3.2.1 @@ -22366,7 +22523,7 @@ snapshots: unifont: 0.7.4 unstorage: 1.17.5(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1) optionalDependencies: - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -22603,6 +22760,15 @@ snapshots: ufo: 1.6.4 uncrypto: 0.1.3 + h3@2.0.1-rc.2(crossws@0.4.5(srvx@0.8.16)): + dependencies: + cookie-es: 2.0.1 + fetchdts: 0.1.7 + rou3: 0.7.12 + srvx: 0.8.16 + optionalDependencies: + crossws: 0.4.5(srvx@0.8.16) + h3@2.0.1-rc.20(crossws@0.4.5(srvx@0.11.15)): dependencies: rou3: 0.8.1 @@ -22610,6 +22776,21 @@ snapshots: optionalDependencies: crossws: 0.4.5(srvx@0.11.15) + h3@2.0.1-rc.20(crossws@0.4.5(srvx@0.11.16)): + dependencies: + rou3: 0.8.1 + srvx: 0.11.15 + optionalDependencies: + crossws: 0.4.5(srvx@0.11.16) + optional: true + + h3@2.0.1-rc.20(crossws@0.4.5(srvx@0.8.16)): + dependencies: + rou3: 0.8.1 + srvx: 0.11.15 + optionalDependencies: + crossws: 0.4.5(srvx@0.8.16) + h3@2.0.1-rc.21(crossws@0.4.5(srvx@0.11.15)): dependencies: rou3: 0.8.1 @@ -22617,12 +22798,12 @@ snapshots: optionalDependencies: crossws: 0.4.5(srvx@0.11.15) - h3@2.0.1-rc.22(crossws@0.4.5(srvx@0.11.15)): + h3@2.0.1-rc.22(crossws@0.4.5(srvx@0.11.16)): dependencies: rou3: 0.8.1 srvx: 0.11.15 optionalDependencies: - crossws: 0.4.5(srvx@0.11.15) + crossws: 0.4.5(srvx@0.11.16) happy-dom@20.9.0: dependencies: @@ -24055,30 +24236,33 @@ snapshots: - '@babel/core' - babel-plugin-macros + nf3@0.1.12: {} + nf3@0.3.16: {} nf3@0.3.17: {} - nitro-nightly@3.0.260522-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + nitro-nightly@4.0.0-20251010-091516-7cafddba(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@4.0.3)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(lru-cache@11.3.5)(rolldown@1.1.0)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: consola: 3.4.2 - crossws: 0.4.5(srvx@0.11.15) + cookie-es: 2.0.1 + crossws: 0.4.5(srvx@0.8.16) db0: 0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)) - env-runner: 0.1.9 - h3: 2.0.1-rc.22(crossws@0.4.5(srvx@0.11.15)) - hookable: 6.1.1 - nf3: 0.3.17 - ocache: 0.1.4 - ofetch: 2.0.0-alpha.3 + esbuild: 0.25.12 + fetchdts: 0.1.7 + h3: 2.0.1-rc.2(crossws@0.4.5(srvx@0.8.16)) + jiti: 2.7.0 + nf3: 0.1.12 + ofetch: 1.5.1 ohash: 2.0.11 - rolldown: 1.0.2 - srvx: 0.11.15 - unenv: 2.0.0-rc.24 - unstorage: 2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(lru-cache@11.3.5)(ofetch@2.0.0-alpha.3) + rendu: 0.0.6 + rollup: 4.60.2 + srvx: 0.8.16 + undici: 7.25.0 + unenv: 2.0.0-rc.21 + unstorage: 2.0.0-alpha.3(chokidar@4.0.3)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(lru-cache@11.3.5)(ofetch@1.5.1) optionalDependencies: - dotenv: 17.4.2 - giget: 3.2.0 - jiti: 2.7.0 + rolldown: 1.1.0 vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@azure/app-configuration' @@ -24092,7 +24276,6 @@ snapshots: - '@electric-sql/pglite' - '@libsql/client' - '@netlify/blobs' - - '@netlify/runtime' - '@planetscale/database' - '@upstash/redis' - '@vercel/blob' @@ -24105,13 +24288,12 @@ snapshots: - idb-keyval - ioredis - lru-cache - - miniflare - mongodb - mysql2 - sqlite3 - uploadthing - nitro@3.0.260311-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + nitro@3.0.260311-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: consola: 3.4.2 crossws: 0.4.5(srvx@0.11.15) @@ -24123,7 +24305,7 @@ snapshots: ocache: 0.1.4 ofetch: 2.0.0-alpha.3 ohash: 2.0.11 - rolldown: 1.0.0-rc.18 + rolldown: 1.0.2 srvx: 0.11.15 unenv: 2.0.0-rc.24 unstorage: 2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(lru-cache@11.3.5)(ofetch@2.0.0-alpha.3) @@ -24132,7 +24314,7 @@ snapshots: giget: 3.2.0 jiti: 2.7.0 rollup: 4.60.2 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -24164,27 +24346,27 @@ snapshots: - sqlite3 - uploadthing - nitro@3.0.260522-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + nitro@3.0.260603-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: consola: 3.4.2 - crossws: 0.4.5(srvx@0.11.15) + crossws: 0.4.5(srvx@0.11.16) db0: 0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)) env-runner: 0.1.9 - h3: 2.0.1-rc.22(crossws@0.4.5(srvx@0.11.15)) + h3: 2.0.1-rc.22(crossws@0.4.5(srvx@0.11.16)) hookable: 6.1.1 nf3: 0.3.17 ocache: 0.1.4 ofetch: 2.0.0-alpha.3 ohash: 2.0.11 - rolldown: 1.0.2 - srvx: 0.11.15 + rolldown: 1.1.0 + srvx: 0.11.16 unenv: 2.0.0-rc.24 unstorage: 2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(lru-cache@11.3.5)(ofetch@2.0.0-alpha.3) optionalDependencies: dotenv: 17.4.2 giget: 3.2.0 jiti: 2.7.0 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -24424,7 +24606,7 @@ snapshots: - supports-color - uploadthing - nitropack@2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.2): + nitropack@2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.1.0): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@rollup/plugin-alias': 6.0.0(rollup@4.60.2) @@ -24477,7 +24659,7 @@ snapshots: pretty-bytes: 7.1.0 radix3: 1.1.2 rollup: 4.60.2 - rollup-plugin-visualizer: 7.0.1(rolldown@1.0.2)(rollup@4.60.2) + rollup-plugin-visualizer: 7.0.1(rolldown@1.1.0)(rollup@4.60.2) scule: 1.3.0 semver: 7.7.4 serve-placeholder: 2.0.2 @@ -24595,7 +24777,7 @@ snapshots: transitivePeerDependencies: - magicast - nuxt-og-image@6.4.10(8c55729e91d73effbb78df7b30a09103): + nuxt-og-image@6.4.10(a75144f829670fca553c5eb615e689a5): dependencies: '@clack/prompts': 1.3.0 '@nuxt/kit': 4.4.6(magicast@0.5.2) @@ -24611,8 +24793,8 @@ snapshots: magic-string: 0.30.21 magicast: 0.5.2 mocked-exports: 0.1.1 - nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) - nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) nypm: 0.6.6 ofetch: 1.5.1 ohash: 2.0.11 @@ -24632,7 +24814,7 @@ snapshots: optionalDependencies: '@resvg/resvg-js': 2.6.2 '@takumi-rs/core': 1.1.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - fontless: 0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + fontless: 0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) satori: 0.19.3 sharp: 0.34.5 tailwindcss: 4.2.4 @@ -24655,12 +24837,12 @@ snapshots: - magicast - vue - nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2): + nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76): dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) h3: 1.15.11 nuxt-site-config-kit: 4.0.8(magicast@0.5.2)(vue@3.5.33(typescript@6.0.3)) - nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76))(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) pathe: 2.0.3 pkg-types: 2.3.1 site-config-stack: 4.0.8(vue@3.5.33(typescript@6.0.3)) @@ -24673,12 +24855,12 @@ snapshots: - vue - zod - nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76): + nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2): dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) h3: 1.15.11 nuxt-site-config-kit: 4.0.8(magicast@0.5.2)(vue@3.5.33(typescript@6.0.3)) - nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76))(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) + nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) pathe: 2.0.3 pkg-types: 2.3.1 site-config-stack: 4.0.8(vue@3.5.33(typescript@6.0.3)) @@ -24735,17 +24917,17 @@ snapshots: - uploadthing - vue - nuxt@4.4.4(163941d31dc8937f73f0941c905f113a): + nuxt@4.4.4(1c432982cee559849a9dc4decf895c74): dependencies: - '@dxup/nuxt': 0.4.1(magicast@0.5.2)(typescript@6.0.3) + '@dxup/nuxt': 0.4.1(magicast@0.5.2)(typescript@5.9.3) '@nuxt/cli': 3.35.1(@nuxt/schema@4.4.4)(cac@6.7.14)(magicast@0.5.2) - '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) - '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(163941d31dc8937f73f0941c905f113a))(oxc-parser@0.128.0)(rolldown@1.0.0-rc.17)(typescript@6.0.3) + '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(1c432982cee559849a9dc4decf895c74))(oxc-parser@0.128.0)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.9.3) '@nuxt/schema': 4.4.4 '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.4.4(magicast@0.5.2)) - '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(163941d31dc8937f73f0941c905f113a))(optionator@0.9.4)(rolldown@1.0.0-rc.17)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-rc.17)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4) - '@unhead/vue': 2.1.13(vue@3.5.33(typescript@6.0.3)) + '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(1c432982cee559849a9dc4decf895c74))(optionator@0.9.4)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vue-tsc@3.2.7(typescript@5.9.3))(vue@3.5.33(typescript@5.9.3))(yaml@2.8.4) + '@unhead/vue': 2.1.13(vue@3.5.33(typescript@5.9.3)) '@vue/shared': 3.5.33 chokidar: 5.0.0 compatx: 0.2.0 @@ -24790,11 +24972,11 @@ snapshots: unplugin: 3.0.0 unrouting: 0.1.7 untyped: 2.0.0 - vue: 3.5.33(typescript@6.0.3) - vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@6.0.3)) + vue: 3.5.33(typescript@5.9.3) + vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@5.9.3)) optionalDependencies: '@parcel/watcher': 2.5.6 - '@types/node': 25.9.1 + '@types/node': 25.9.2 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -24864,16 +25046,16 @@ snapshots: - xml2js - yaml - nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d): + nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582): dependencies: '@dxup/nuxt': 0.4.1(magicast@0.5.2)(typescript@6.0.3) '@nuxt/cli': 3.35.1(@nuxt/schema@4.4.4)(cac@6.7.14)(magicast@0.5.2) - '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) - '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(oxc-parser@0.128.0)(rolldown@1.0.2)(typescript@6.0.3) + '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(oxc-parser@0.128.0)(rolldown@1.1.0)(typescript@6.0.3) '@nuxt/schema': 4.4.4 '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.4.4(magicast@0.5.2)) - '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.6.1))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(optionator@0.9.4)(rolldown@1.0.2)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.2)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4) + '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4) '@unhead/vue': 2.1.13(vue@3.5.33(typescript@6.0.3)) '@vue/shared': 3.5.33 chokidar: 5.0.0 @@ -24923,7 +25105,7 @@ snapshots: vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@6.0.3)) optionalDependencies: '@parcel/watcher': 2.5.6 - '@types/node': 25.9.1 + '@types/node': 25.9.2 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -24993,16 +25175,16 @@ snapshots: - xml2js - yaml - nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce): + nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb): dependencies: '@dxup/nuxt': 0.4.1(magicast@0.5.2)(typescript@6.0.3) '@nuxt/cli': 3.35.1(@nuxt/schema@4.4.4)(cac@6.7.14)(magicast@0.5.2) - '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) - '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(oxc-parser@0.128.0)(rolldown@1.0.2)(typescript@6.0.3) + '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(oxc-parser@0.128.0)(rolldown@1.1.0)(typescript@6.0.3) '@nuxt/schema': 4.4.4 '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.4.4(magicast@0.5.2)) - '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(optionator@0.9.4)(rolldown@1.0.2)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.2)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4) + '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.6.1))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4) '@unhead/vue': 2.1.13(vue@3.5.33(typescript@6.0.3)) '@vue/shared': 3.5.33 chokidar: 5.0.0 @@ -25052,7 +25234,7 @@ snapshots: vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@6.0.3)) optionalDependencies: '@parcel/watcher': 2.5.6 - '@types/node': 25.9.1 + '@types/node': 25.9.2 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -25122,17 +25304,17 @@ snapshots: - xml2js - yaml - nuxt@4.4.4(cc4ec224de2d6c06d027ec9a27895e5a): + nuxt@4.4.4(da3747dc41af2761a854c4df2428c224): dependencies: - '@dxup/nuxt': 0.4.1(magicast@0.5.2)(typescript@5.9.3) + '@dxup/nuxt': 0.4.1(magicast@0.5.2)(typescript@6.0.3) '@nuxt/cli': 3.35.1(@nuxt/schema@4.4.4)(cac@6.7.14)(magicast@0.5.2) - '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) + '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) - '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(cc4ec224de2d6c06d027ec9a27895e5a))(oxc-parser@0.128.0)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.9.3) + '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(da3747dc41af2761a854c4df2428c224))(oxc-parser@0.128.0)(rolldown@1.0.0-rc.17)(typescript@6.0.3) '@nuxt/schema': 4.4.4 '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.4.4(magicast@0.5.2)) - '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(cc4ec224de2d6c06d027ec9a27895e5a))(optionator@0.9.4)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vue-tsc@3.2.7(typescript@5.9.3))(vue@3.5.33(typescript@5.9.3))(yaml@2.8.4) - '@unhead/vue': 2.1.13(vue@3.5.33(typescript@5.9.3)) + '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(da3747dc41af2761a854c4df2428c224))(optionator@0.9.4)(rolldown@1.0.0-rc.17)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-rc.17)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4) + '@unhead/vue': 2.1.13(vue@3.5.33(typescript@6.0.3)) '@vue/shared': 3.5.33 chokidar: 5.0.0 compatx: 0.2.0 @@ -25177,11 +25359,11 @@ snapshots: unplugin: 3.0.0 unrouting: 0.1.7 untyped: 2.0.0 - vue: 3.5.33(typescript@5.9.3) - vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@5.9.3)) + vue: 3.5.33(typescript@6.0.3) + vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@6.0.3)) optionalDependencies: '@parcel/watcher': 2.5.6 - '@types/node': 25.9.1 + '@types/node': 25.9.2 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -25251,16 +25433,16 @@ snapshots: - xml2js - yaml - nuxtseo-shared@5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2): + nuxtseo-shared@5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76))(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76): dependencies: '@clack/prompts': 1.3.0 - '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/kit': 4.4.4(magicast@0.5.2) '@nuxt/schema': 4.4.6 birpc: 4.0.0 consola: 3.4.2 defu: 6.1.7 - nuxt: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) + nuxt: 4.4.4(4ce79750208d3e950bc761cf7e0cc582) ofetch: 1.5.1 pathe: 2.0.3 pkg-types: 2.3.1 @@ -25270,22 +25452,22 @@ snapshots: ufo: 1.6.4 vue: 3.5.33(typescript@6.0.3) optionalDependencies: - nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) - zod: 4.4.2 + nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) + zod: 3.25.76 transitivePeerDependencies: - magicast - vite - nuxtseo-shared@5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76))(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76): + nuxtseo-shared@5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2): dependencies: '@clack/prompts': 1.3.0 - '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/kit': 4.4.4(magicast@0.5.2) '@nuxt/schema': 4.4.6 birpc: 4.0.0 consola: 3.4.2 defu: 6.1.7 - nuxt: 4.4.4(71801589c663398b7779b77c63f5f3ce) + nuxt: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) ofetch: 1.5.1 pathe: 2.0.3 pkg-types: 2.3.1 @@ -25295,8 +25477,8 @@ snapshots: ufo: 1.6.4 vue: 3.5.33(typescript@6.0.3) optionalDependencies: - nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) - zod: 3.25.76 + nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + zod: 4.4.2 transitivePeerDependencies: - magicast - vite @@ -26321,6 +26503,11 @@ snapshots: mdast-util-to-markdown: 2.1.2 unified: 11.0.5 + rendu@0.0.6: + dependencies: + cookie-es: 2.0.1 + srvx: 0.8.16 + require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -26444,27 +26631,6 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.17 '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.17 - rolldown@1.0.0-rc.18: - dependencies: - '@oxc-project/types': 0.128.0 - '@rolldown/pluginutils': 1.0.0-rc.18 - optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-rc.18 - '@rolldown/binding-darwin-arm64': 1.0.0-rc.18 - '@rolldown/binding-darwin-x64': 1.0.0-rc.18 - '@rolldown/binding-freebsd-x64': 1.0.0-rc.18 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.18 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.18 - '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.18 - '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.18 - '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.18 - '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.18 - '@rolldown/binding-linux-x64-musl': 1.0.0-rc.18 - '@rolldown/binding-openharmony-arm64': 1.0.0-rc.18 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.18 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.18 - '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.18 - rolldown@1.0.2: dependencies: '@oxc-project/types': 0.132.0 @@ -26486,6 +26652,27 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.0.2 '@rolldown/binding-win32-x64-msvc': 1.0.2 + rolldown@1.1.0: + dependencies: + '@oxc-project/types': 0.134.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.1.0 + '@rolldown/binding-darwin-arm64': 1.1.0 + '@rolldown/binding-darwin-x64': 1.1.0 + '@rolldown/binding-freebsd-x64': 1.1.0 + '@rolldown/binding-linux-arm-gnueabihf': 1.1.0 + '@rolldown/binding-linux-arm64-gnu': 1.1.0 + '@rolldown/binding-linux-arm64-musl': 1.1.0 + '@rolldown/binding-linux-ppc64-gnu': 1.1.0 + '@rolldown/binding-linux-s390x-gnu': 1.1.0 + '@rolldown/binding-linux-x64-gnu': 1.1.0 + '@rolldown/binding-linux-x64-musl': 1.1.0 + '@rolldown/binding-openharmony-arm64': 1.1.0 + '@rolldown/binding-wasm32-wasi': 1.1.0 + '@rolldown/binding-win32-arm64-msvc': 1.1.0 + '@rolldown/binding-win32-x64-msvc': 1.1.0 + rollup-plugin-dts@6.4.1(rollup@4.60.2)(typescript@6.0.3): dependencies: '@jridgewell/remapping': 2.3.5 @@ -26527,14 +26714,14 @@ snapshots: rolldown: 1.0.0-rc.17 rollup: 4.60.2 - rollup-plugin-visualizer@7.0.1(rolldown@1.0.2)(rollup@4.60.2): + rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2): dependencies: open: 11.0.0 picomatch: 4.0.4 source-map: 0.7.6 yargs: 18.0.0 optionalDependencies: - rolldown: 1.0.2 + rolldown: 1.1.0 rollup: 4.60.2 rollup-pluginutils@2.8.2: @@ -27021,6 +27208,10 @@ snapshots: srvx@0.11.15: {} + srvx@0.11.16: {} + + srvx@0.8.16: {} + stable-hash-x@0.2.0: {} stack-trace@0.0.10: {} @@ -27596,6 +27787,14 @@ snapshots: pathe: 2.0.3 ufo: 1.6.4 + unenv@2.0.0-rc.21: + dependencies: + defu: 6.1.7 + exsolve: 1.0.8 + ohash: 2.0.11 + pathe: 2.0.3 + ufo: 1.6.4 + unenv@2.0.0-rc.24: dependencies: pathe: 2.0.3 @@ -27804,6 +28003,14 @@ snapshots: db0: 0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)) ioredis: 5.10.1 + unstorage@2.0.0-alpha.3(chokidar@4.0.3)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(lru-cache@11.3.5)(ofetch@1.5.1): + optionalDependencies: + chokidar: 4.0.3 + db0: 0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)) + ioredis: 5.10.1 + lru-cache: 11.3.5 + ofetch: 1.5.1 + unstorage@2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(lru-cache@11.3.5)(ofetch@1.5.1): optionalDependencies: chokidar: 5.0.0 @@ -27899,7 +28106,7 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: '@babel/core': 7.29.0 '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) @@ -27920,7 +28127,7 @@ snapshots: hookable: 5.5.3 http-proxy: 1.18.1 micromatch: 4.0.8 - nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.2) + nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.1.0) node-fetch-native: 1.6.7 path-to-regexp: 6.3.0 pathe: 1.1.2 @@ -27933,7 +28140,7 @@ snapshots: unctx: 2.5.0 unenv: 1.10.0 unstorage: 1.17.5(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1) - vite: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) zod: 4.4.3 transitivePeerDependencies: - '@azure/app-configuration' @@ -27982,33 +28189,33 @@ snapshots: - xml2js - yaml - vite-dev-rpc@1.1.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-dev-rpc@1.1.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: birpc: 2.9.0 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-hot-client: 2.2.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-hot-client: 2.2.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - vite-dev-rpc@1.1.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-dev-rpc@1.1.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: birpc: 2.9.0 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-hot-client: 2.2.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-hot-client: 2.2.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - vite-hot-client@2.2.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-hot-client@2.2.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-hot-client@2.2.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-hot-client@2.2.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-node@3.2.4(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vite-node@3.2.4(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: cac: 6.7.14 debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.3.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@types/node' - jiti @@ -28023,13 +28230,13 @@ snapshots: - tsx - yaml - vite-node@5.3.0(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vite-node@5.3.0(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: cac: 6.7.14 es-module-lexer: 2.1.0 obug: 2.1.1 pathe: 2.0.3 - vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@types/node' - jiti @@ -28043,7 +28250,7 @@ snapshots: - tsx - yaml - vite-plugin-checker@0.13.0(eslint@9.39.4(jiti@2.6.1))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)): + vite-plugin-checker@0.13.0(eslint@9.39.4(jiti@2.6.1))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)): dependencies: '@babel/code-frame': 7.29.0 chokidar: 4.0.3 @@ -28053,7 +28260,7 @@ snapshots: proper-lockfile: 4.1.2 tiny-invariant: 1.3.3 tinyglobby: 0.2.16 - vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vscode-uri: 3.1.0 optionalDependencies: eslint: 9.39.4(jiti@2.6.1) @@ -28061,7 +28268,7 @@ snapshots: typescript: 6.0.3 vue-tsc: 3.2.7(typescript@6.0.3) - vite-plugin-checker@0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@5.9.3)): + vite-plugin-checker@0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@5.9.3)): dependencies: '@babel/code-frame': 7.29.0 chokidar: 4.0.3 @@ -28071,7 +28278,7 @@ snapshots: proper-lockfile: 4.1.2 tiny-invariant: 1.3.3 tinyglobby: 0.2.16 - vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vscode-uri: 3.1.0 optionalDependencies: eslint: 9.39.4(jiti@2.7.0) @@ -28079,7 +28286,7 @@ snapshots: typescript: 5.9.3 vue-tsc: 3.2.7(typescript@5.9.3) - vite-plugin-checker@0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)): + vite-plugin-checker@0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)): dependencies: '@babel/code-frame': 7.29.0 chokidar: 4.0.3 @@ -28089,7 +28296,7 @@ snapshots: proper-lockfile: 4.1.2 tiny-invariant: 1.3.3 tinyglobby: 0.2.16 - vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vscode-uri: 3.1.0 optionalDependencies: eslint: 9.39.4(jiti@2.7.0) @@ -28097,7 +28304,7 @@ snapshots: typescript: 6.0.3 vue-tsc: 3.2.7(typescript@6.0.3) - vite-plugin-inspect@11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-plugin-inspect@11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: ansis: 4.2.0 debug: 4.4.3 @@ -28107,14 +28314,14 @@ snapshots: perfect-debounce: 2.1.0 sirv: 3.0.2 unplugin-utils: 0.3.1 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-dev-rpc: 1.1.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-dev-rpc: 1.1.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) optionalDependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) transitivePeerDependencies: - supports-color - vite-plugin-inspect@11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-plugin-inspect@11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: ansis: 4.2.0 debug: 4.4.3 @@ -28124,17 +28331,17 @@ snapshots: perfect-debounce: 2.1.0 sirv: 3.0.2 unplugin-utils: 0.3.1 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-dev-rpc: 1.1.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-dev-rpc: 1.1.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) optionalDependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) transitivePeerDependencies: - supports-color - vite-plugin-singlefile@2.3.3(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-plugin-singlefile@2.3.3(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: micromatch: 4.0.8 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) optionalDependencies: rollup: 4.60.2 @@ -28152,7 +28359,7 @@ snapshots: - supports-color optional: true - vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: '@babel/core': 7.29.0 '@types/babel__core': 7.20.5 @@ -28160,39 +28367,39 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.12 solid-refresh: 0.6.3(solid-js@1.9.12) - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - supports-color - vite-plugin-vue-tracer@1.3.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)): + vite-plugin-vue-tracer@1.3.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)): dependencies: estree-walker: 3.0.3 exsolve: 1.0.8 magic-string: 0.30.21 pathe: 2.0.3 source-map-js: 1.2.1 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@6.0.3) - vite-plugin-vue-tracer@1.3.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)): + vite-plugin-vue-tracer@1.3.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)): dependencies: estree-walker: 3.0.3 exsolve: 1.0.8 magic-string: 0.30.21 pathe: 2.0.3 source-map-js: 1.2.1 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@5.9.3) - vite-plugin-vue-tracer@1.3.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)): + vite-plugin-vue-tracer@1.3.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)): dependencies: estree-walker: 3.0.3 exsolve: 1.0.8 magic-string: 0.30.21 pathe: 2.0.3 source-map-js: 1.2.1 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@6.0.3) vite-tsconfig-paths@5.1.4(typescript@5.9.3)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): @@ -28206,7 +28413,7 @@ snapshots: - supports-color - typescript - vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.4) @@ -28215,7 +28422,7 @@ snapshots: rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 fsevents: 2.3.3 jiti: 2.7.0 lightningcss: 1.32.0 @@ -28240,7 +28447,7 @@ snapshots: tsx: 4.21.0 yaml: 2.8.4 - vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -28249,7 +28456,7 @@ snapshots: rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 fsevents: 2.3.3 jiti: 2.6.1 lightningcss: 1.32.0 @@ -28257,7 +28464,7 @@ snapshots: tsx: 4.21.0 yaml: 2.8.4 - vite@7.3.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vite@7.3.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -28266,7 +28473,7 @@ snapshots: rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 fsevents: 2.3.3 jiti: 2.7.0 lightningcss: 1.32.0 @@ -28290,7 +28497,7 @@ snapshots: tsx: 4.21.0 yaml: 2.8.4 - vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -28298,7 +28505,7 @@ snapshots: rolldown: 1.0.0-rc.17 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 esbuild: 0.28.0 fsevents: 2.3.3 jiti: 2.6.1 @@ -28306,7 +28513,7 @@ snapshots: tsx: 4.21.0 yaml: 2.8.4 - vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -28314,7 +28521,7 @@ snapshots: rolldown: 1.0.0-rc.17 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 25.9.2 esbuild: 0.28.0 fsevents: 2.3.3 jiti: 2.7.0 @@ -28322,26 +28529,26 @@ snapshots: tsx: 4.21.0 yaml: 2.8.4 - vitefu@1.1.3(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vitefu@1.1.3(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): optionalDependencies: - vite: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vitefu@1.1.3(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): optionalDependencies: vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vitefu@1.1.3(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vitefu@1.1.3(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): optionalDependencies: - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) optional: true - vitefu@1.1.3(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vitefu@1.1.3(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): optionalDependencies: - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vitest-environment-nuxt@2.0.0(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5): + vitest-environment-nuxt@2.0.0(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5): dependencies: - '@nuxt/test-utils': 4.0.3(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) + '@nuxt/test-utils': 4.0.3(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -28388,10 +28595,10 @@ snapshots: transitivePeerDependencies: - msw - vitest@4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vitest@4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: '@vitest/expect': 4.1.5 - '@vitest/mocker': 4.1.5(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@vitest/mocker': 4.1.5(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@vitest/pretty-format': 4.1.5 '@vitest/runner': 4.1.5 '@vitest/snapshot': 4.1.5 @@ -28408,11 +28615,11 @@ snapshots: tinyexec: 1.1.2 tinyglobby: 0.2.16 tinyrainbow: 3.1.0 - vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.0 - '@types/node': 25.9.1 + '@types/node': 25.9.2 '@vitest/coverage-v8': 4.1.5(vitest@4.1.5) happy-dom: 20.9.0 transitivePeerDependencies: From e4526abbe92931ec6c48be7a71b773783555d038 Mon Sep 17 00:00:00 2001 From: Hugo Richard Date: Wed, 10 Jun 2026 20:48:38 +0100 Subject: [PATCH 2/5] feat(dev): introduce unified dev error config api and presets --- .changeset/pretty-terminal-errors.md | 8 +- .../content/2.learn/3.structured-errors.md | 9 +- .../content/3.integrate/frameworks/01.nuxt.md | 7 +- .../content/6.reference/1.configuration.md | 48 +++++++-- .../server/api/test/structured-error.get.ts | 1 + packages/evlog/src/logger.ts | 21 ++-- packages/evlog/src/nitro-v3/plugin.ts | 4 +- packages/evlog/src/nitro.ts | 64 +++++------ packages/evlog/src/nitro/errorHandler.ts | 6 +- packages/evlog/src/nitro/plugin.ts | 4 +- packages/evlog/src/nuxt/module.ts | 21 +--- packages/evlog/src/shared/define.ts | 15 ++- packages/evlog/src/shared/dev-terminal.ts | 102 ++++++++++++++++++ packages/evlog/src/shared/pretty-error.ts | 27 +++-- packages/evlog/src/types.ts | 14 +-- packages/evlog/test/core/dev-terminal.test.ts | 89 +++++++++++++++ packages/evlog/test/core/pretty-error.test.ts | 20 ++-- .../evlog/test/nitro/errorHandler.test.ts | 4 +- 18 files changed, 322 insertions(+), 142 deletions(-) create mode 100644 packages/evlog/src/shared/dev-terminal.ts create mode 100644 packages/evlog/test/core/dev-terminal.test.ts diff --git a/.changeset/pretty-terminal-errors.md b/.changeset/pretty-terminal-errors.md index f4383418..386635e0 100644 --- a/.changeset/pretty-terminal-errors.md +++ b/.changeset/pretty-terminal-errors.md @@ -2,4 +2,10 @@ 'evlog': minor --- -Improve dev terminal error output in pretty mode: tighter error blocks by default (`prettyErrorCompact` — shorter snippet; dim gray stack tail; context tree unchanged). Tree spacers between error message, source, guidance, and stack for easier scanning. Long Why/Fix lines wrap with hanging indent. Writes via `stdout` in dev to avoid duplicate Consola/Nuxt timestamps. Verbose layout with `prettyErrorCompact: false`. Structured `error` blocks shown first with source-mapped file:line via Nitro's `loadStackTrace` in dev (skipped when `pretty: false` or in production). `devErrorHandler: 'evlog'` (default) suppresses Nitro's Youch overlay; `'nitro'` keeps it. On the Nitro error hook, enrich+drain runs in the background (`void`, never `event.waitUntil`) so HTTP error responses are not blocked by slow drains — Nitro 2.13+ queues `waitUntil` work before sending the response, which previously hung 4xx/5xx when Axiom/stream drains were enabled. Options: `prettyErrorFrames`, `prettyErrorStackDepth`, `prettyErrorCompact`. +Improve dev terminal error output and introduce a clearer `dev` config API. + +**Presets:** `dev: 'evlog' | 'nitro' | 'both'` — controls Nitro's Youch overlay (`frameworkOverlay`) and how much stack detail evlog prints in the wide event (`prettyError.detail`). Default in pretty dev is `'evlog'` (no Nitro overlay, full evlog error block). `'nitro'` keeps Nitro's stack and prints only message + Why/Fix/link in the wide event. `'both'` shows both full outputs. + +**Explicit object:** `dev: { frameworkOverlay, prettyError: { snippet, stackDepth, compact, detail: 'full' | 'guidance' } }`. + +Other improvements: tighter error blocks by default (`prettyError.compact`), tree spacers, hanging-indent Why/Fix wrapping, `stdout` for error wide events in dev, source-mapped file:line via Nitro `loadStackTrace`, Nitro error hook enrich+drain no longer blocks HTTP responses. diff --git a/apps/docs/content/2.learn/3.structured-errors.md b/apps/docs/content/2.learn/3.structured-errors.md index cf60db7e..9f12cbf2 100644 --- a/apps/docs/content/2.learn/3.structured-errors.md +++ b/apps/docs/content/2.learn/3.structured-errors.md @@ -226,11 +226,12 @@ Colors and tree connectors render in the terminal; the example above omits ANSI | Goal | Config | |------|--------| -| One clean signal — wide event only, no Nitro `[request error]` overlay | `devErrorHandler: 'evlog'` (default when `pretty: true` in dev) | -| Wide event **and** Nitro's native Youch stack in the console | `devErrorHandler: 'nitro'` | -| No pretty tree (JSON logs) but still suppress Nitro overlay | `pretty: false`, `devErrorHandler: 'evlog'` | +| One clean signal — wide event only, no Nitro `[request error]` overlay | `dev: 'evlog'` (default when `pretty: true` in dev) | +| Wide event context + Nitro's native Youch stack (evlog prints Why/Fix only) | `dev: 'nitro'` | +| Full evlog block **and** Nitro overlay (debug) | `dev: 'both'` | +| No pretty tree (JSON logs) but still suppress Nitro overlay | `pretty: false`, `dev: { frameworkOverlay: false }` | -Related options: `prettyErrorFrames` (source snippet), `prettyErrorStackDepth` (extra dim stack frames), `prettyErrorCompact` (tighter layout). See [Configuration](/reference/configuration) and [Nuxt integration](/integrate/frameworks/nuxt). +Fine-grained control lives under `dev.prettyError` (`snippet`, `stackDepth`, `compact`, `detail: 'full' | 'guidance'`). See [Configuration](/reference/configuration) and [Nuxt integration](/integrate/frameworks/nuxt). ## Branching on `code` diff --git a/apps/docs/content/3.integrate/frameworks/01.nuxt.md b/apps/docs/content/3.integrate/frameworks/01.nuxt.md index 9d44379b..0455a149 100644 --- a/apps/docs/content/3.integrate/frameworks/01.nuxt.md +++ b/apps/docs/content/3.integrate/frameworks/01.nuxt.md @@ -145,13 +145,10 @@ All options are set in `nuxt.config.ts` under the `evlog` key: | `exclude` | `string[]` | `undefined` | Route patterns to exclude. Exclusions take precedence | | `routes` | `Record` | `undefined` | Route-specific service configuration | | `pretty` | `boolean` | `true` in dev | Pretty print with tree formatting | -| `prettyErrorFrames` | `boolean` | `true` in dev | Dev-only code snippets around the primary stack frame | -| `prettyErrorStackDepth` | `number` | `2` when compact, `3` otherwise | Max extra stack frames after the snippet (dim gray) | -| `prettyErrorCompact` | `boolean` | `true` in dev | Tighter error block: shorter snippet. Context fields stay on separate tree rows. | -| `devErrorHandler` | `'evlog' \| 'nitro'` | `'evlog'` in pretty dev | `'evlog'`: wide event only (no Nitro `[request error]` overlay). `'nitro'`: keep Nitro's Youch output too | +| `dev` | `'evlog' \| 'nitro' \| 'both' \| object` | `'evlog'` in pretty dev | Dev terminal presets or `{ frameworkOverlay, prettyError }` — see [Configuration — Dev terminal output](/reference/configuration#dev-terminal-output) | ::callout{icon="i-lucide-terminal" color="info"} -**Which handler?** Use `'evlog'` (default in pretty dev) for a single terminal signal. Use `'nitro'` when you also want Nitro's native Youch overlay alongside the wide event. With `pretty: false`, set `devErrorHandler: 'evlog'` explicitly to suppress Nitro while logging JSON. +**Dev terminal presets:** `'evlog'` (default) — one clean signal, evlog-only stack. `'nitro'` — wide event context + Nitro Youch stack (evlog prints Why/Fix only). `'both'` — full evlog block and Nitro overlay. With `pretty: false`, set `dev: { frameworkOverlay: false }` to suppress Nitro while logging JSON. :: | `silent` | `boolean` | `false` | Suppress console output. Events are still built, sampled, and drained. Use for stdout-based platforms | diff --git a/apps/docs/content/6.reference/1.configuration.md b/apps/docs/content/6.reference/1.configuration.md index ef80e51e..62b50b37 100644 --- a/apps/docs/content/6.reference/1.configuration.md +++ b/apps/docs/content/6.reference/1.configuration.md @@ -43,10 +43,7 @@ initLogger({ | `enabled` | `boolean` | `true` | Enable/disable all logging globally. When `false`, all operations become no-ops | | `env` | `Partial` | Auto-detected | Environment context overrides (see below) | | `pretty` | `boolean` | `true` in dev | Pretty print with tree formatting. Auto-detected based on `NODE_ENV` | -| `prettyErrorFrames` | `boolean` | `true` in dev | Dev-only code snippets around the primary stack frame in pretty error output | -| `prettyErrorStackDepth` | `number` | `2` when compact, `3` otherwise | Max extra stack frames after the snippet (dim gray) | -| `prettyErrorCompact` | `boolean` | `true` in dev | Tighter error block: shorter snippet, compact guidance. Context fields stay on separate tree rows | -| `devErrorHandler` | `'evlog' \| 'nitro'` | `'evlog'` in pretty dev | `'evlog'`: wide event only (no Nitro `[request error]` overlay). `'nitro'`: keep Nitro's Youch output too | +| `dev` | `'evlog' \| 'nitro' \| 'both' \| object` | `'evlog'` in pretty dev | Dev terminal presets or `{ frameworkOverlay, prettyError }` — see [Dev terminal output](#dev-terminal-output) | | `silent` | `boolean` | `false` | Suppress console output. Events are still built, sampled, and passed to drains | | `stringify` | `boolean` | `true` | Emit JSON strings when `pretty` is disabled. Set to `false` for Cloudflare Workers | | `minLevel` | `'debug' \| 'info' \| 'warn' \| 'error'` | `'debug'` | Minimum severity for the global `log` API only (not `createLogger` / request wide events). Order: debug < info < warn < error | @@ -61,16 +58,45 @@ initLogger({ Evaluation order for `log.info` / `log.debug` / etc.: `enabled` → `minLevel` → head sampling → output. -### Dev error terminal output +### Dev terminal output -Pretty error blocks (`prettyErrorFrames`, `prettyErrorStackDepth`, `prettyErrorCompact`) run only when `pretty: true` (default in development). Production always emits JSON wide events — no stack snippets or disk reads. +Pretty error blocks run only when `pretty: true` (default in development). Production always emits JSON wide events — no stack snippets or disk reads. -`devErrorHandler` controls whether Nitro's dev Youch overlay runs alongside evlog: +Use `dev` to control **two independent axes**: whether Nitro's Youch overlay runs, and how much stack detail evlog prints inside the wide event. -| Value | Terminal output | -|-------|-----------------| -| `'evlog'` | Wide event only (default when `pretty: true` in dev) | -| `'nitro'` | Wide event + Nitro `[request error]` overlay | +**Presets** (recommended): + +| Preset | Nitro overlay | evlog error block | +|--------|---------------|-------------------| +| `'evlog'` (default in pretty dev) | Off | Full — location, snippet, stack tail, Why/Fix | +| `'nitro'` | On | Guidance only — message + Why/Fix/link (stack from Nitro) | +| `'both'` | On | Full — evlog block + Nitro overlay (debug) | + +```typescript [nuxt.config.ts] +export default defineNuxtConfig({ + modules: ['evlog/nuxt'], + evlog: { + pretty: true, + dev: 'evlog', // or 'nitro' | 'both' + }, +}) +``` + +**Explicit object** (fine-grained): + +```typescript [nuxt.config.ts] +evlog: { + dev: { + frameworkOverlay: true, + prettyError: { + snippet: false, + stackDepth: 0, + compact: true, + detail: 'guidance', // 'full' | 'guidance' + }, + }, +} +``` See [Structured Errors — Development terminal output](/learn/structured-errors#development-terminal-output) for an example of the pretty error tree. diff --git a/apps/playground/server/api/test/structured-error.get.ts b/apps/playground/server/api/test/structured-error.get.ts index 07e6f846..20c37bcf 100644 --- a/apps/playground/server/api/test/structured-error.get.ts +++ b/apps/playground/server/api/test/structured-error.get.ts @@ -97,6 +97,7 @@ export default defineEventHandler(async (event) => { }, }) + await new Promise(resolve => setTimeout(resolve, 100)) logger.set({ attempt: { diff --git a/packages/evlog/src/logger.ts b/packages/evlog/src/logger.ts index da2f99a5..7d99f9f8 100644 --- a/packages/evlog/src/logger.ts +++ b/packages/evlog/src/logger.ts @@ -5,6 +5,8 @@ import { markGloballyRedacted, redactEvent, resolveRedactConfig } from './redact import type { PluginRunner } from './shared/plugin' import { createPluginRunner, getEmptyPluginRunner } from './shared/plugin' import { buildErrorEntries, PRETTY_ERROR_TREE_SPACER, registerPrettyErrorSnippetReader } from './shared/pretty-error' +import type { ResolvedPrettyError } from './shared/dev-terminal' +import { resolveDevTerminal } from './shared/dev-terminal' import { EvlogError } from './error' import { colors, cssColors, detectEnvironment, escapeFormatString, formatDuration, getConsoleMethod, getCssLevelColor, getLevelColor, isBrowser, isDev, isLevelEnabled, matchesPattern } from './utils' @@ -54,9 +56,12 @@ let globalEnv: EnvironmentContext = { } let globalPretty = isDev() -let globalPrettyErrorFrames = isDev() -let globalPrettyErrorStackDepth: number | undefined -let globalPrettyErrorCompact = isDev() +let globalPrettyError: ResolvedPrettyError = { + snippet: isDev(), + stackDepth: 2, + compact: isDev(), + detail: 'full', +} let globalSampling: SamplingConfig = {} let globalStringify = true let globalDrain: ((ctx: DrainContext) => void | Promise) | undefined @@ -85,9 +90,7 @@ export function initLogger(config: LoggerConfig = {}): void { } globalPretty = config.pretty ?? isDev() - globalPrettyErrorFrames = config.prettyErrorFrames ?? isDev() - globalPrettyErrorStackDepth = config.prettyErrorStackDepth - globalPrettyErrorCompact = config.prettyErrorCompact ?? isDev() + globalPrettyError = resolveDevTerminal(config).prettyError globalSampling = config.sampling ?? {} globalStringify = config.stringify ?? true globalDrain = config.drain @@ -628,11 +631,7 @@ function prettyPrintWideEvent(event: Record): void { const restEntries = Object.entries(rest).filter(([_, v]) => v !== undefined) const aiEntries = aiData ? buildAIEntries(aiData) : [] const errorEntries = errorData !== undefined - ? buildErrorEntries(errorData, { - prettyErrorFrames: globalPrettyErrorFrames, - prettyErrorStackDepth: globalPrettyErrorStackDepth, - compact: globalPrettyErrorCompact, - }) + ? buildErrorEntries(errorData, globalPrettyError) : [] const contextEntries: TreeEntry[] = [ ...restEntries.map(([key, value]) => ({ key, value: formatValue(value) })), diff --git a/packages/evlog/src/nitro-v3/plugin.ts b/packages/evlog/src/nitro-v3/plugin.ts index 4e0943c3..4125b292 100644 --- a/packages/evlog/src/nitro-v3/plugin.ts +++ b/packages/evlog/src/nitro-v3/plugin.ts @@ -168,9 +168,7 @@ export default definePlugin(async (nitroApp) => { enabled: evlogConfig?.enabled, env: evlogConfig?.env, pretty: evlogConfig?.pretty, - prettyErrorFrames: evlogConfig?.prettyErrorFrames, - prettyErrorStackDepth: evlogConfig?.prettyErrorStackDepth, - prettyErrorCompact: evlogConfig?.prettyErrorCompact, + dev: evlogConfig?.dev, silent: evlogConfig?.silent, sampling: evlogConfig?.sampling, minLevel: evlogConfig?.minLevel, diff --git a/packages/evlog/src/nitro.ts b/packages/evlog/src/nitro.ts index 0b6fdc8a..f2b0f2e7 100644 --- a/packages/evlog/src/nitro.ts +++ b/packages/evlog/src/nitro.ts @@ -1,5 +1,10 @@ import type { EnvironmentContext, LogLevel, RedactConfig, RouteConfig, SamplingConfig } from './types' +import type { DevTerminalInput, DevTerminalResolveInput } from './shared/dev-terminal' import { extractErrorStatus } from './shared/errors' +import { resolveDevTerminal, shouldShowFrameworkOverlay } from './shared/dev-terminal' + +export type { DevTerminalInput, DevTerminalPreset, DevPrettyErrorConfig, DevTerminalConfigObject, ResolvedPrettyError } from './shared/dev-terminal' +export { resolveDevTerminal, shouldShowFrameworkOverlay } from './shared/dev-terminal' export { shouldLog, getServiceForPath } from './shared/routes' @@ -22,26 +27,10 @@ export interface NitroModuleOptions { pretty?: boolean /** - * Dev-only code snippets around the primary stack frame in pretty error output. - * @default true in development + * Dev terminal output: preset or explicit overlay + pretty-error settings. + * @default 'evlog' when pretty in development */ - prettyErrorFrames?: boolean - - /** - * Max stack frames shown after the code snippet in pretty error output. - * @default 3 - */ - prettyErrorStackDepth?: number - /** Compact terminal error layout. @default true in dev */ - prettyErrorCompact?: boolean - - /** - * Development error console handler. - * - `'evlog'` — suppress Nitro's dev overlay; rely on evlog wide events (default when pretty in dev) - * - `'nitro'` — keep Nitro's native dev error output - * @default 'evlog' when pretty in development, otherwise 'nitro' - */ - devErrorHandler?: 'evlog' | 'nitro' + dev?: DevTerminalInput /** * Suppress built-in console output. @@ -98,15 +87,9 @@ export interface NitroModuleOptions { * {@link import('./shared/define').EvlogConfig} for the canonical user-facing * config shape. */ -export interface NitroPluginEvlogConfig { +export interface NitroPluginEvlogConfig extends DevTerminalResolveInput { enabled?: boolean env?: Record - pretty?: boolean - prettyErrorFrames?: boolean - prettyErrorStackDepth?: number - /** Compact terminal error layout. @default true in dev */ - prettyErrorCompact?: boolean - devErrorHandler?: 'evlog' | 'nitro' silent?: boolean include?: string[] exclude?: string[] @@ -141,17 +124,6 @@ export function markH3ErrorHandled(event: { _handled?: boolean }): void { event._handled = true } -/** - * Whether to register evlog's silent dev error handler instead of Nitro's overlay. - * @internal - */ -export function shouldUseEvlogDevErrorHandler(config: Pick): boolean { - if (config.devErrorHandler === 'nitro') return false - if (config.devErrorHandler === 'evlog') return true - const pretty = config.pretty ?? process.env.NODE_ENV !== 'production' - return pretty && process.env.NODE_ENV !== 'production' -} - /** * Prepend evlog's Nitro error handler so it runs before framework handlers (e.g. Nuxt). * @internal @@ -172,16 +144,28 @@ export function prependNitroErrorHandler( * Whether the Nitro dev Youch overlay should be suppressed for this process. * @internal */ +let cachedConfigRaw: string | undefined +let cachedSuppressOverlay: boolean | undefined + export function shouldSuppressNitroDevOverlay(): boolean { + const raw = process.env.__EVLOG_CONFIG + if (cachedSuppressOverlay !== undefined && cachedConfigRaw === raw) { + return cachedSuppressOverlay + } + + cachedConfigRaw = raw + try { - const raw = process.env.__EVLOG_CONFIG if (raw) { - return shouldUseEvlogDevErrorHandler(JSON.parse(raw) as NitroModuleOptions) + cachedSuppressOverlay = !resolveDevTerminal(JSON.parse(raw) as DevTerminalResolveInput).frameworkOverlay + return cachedSuppressOverlay } } catch { // ignore malformed config } - return shouldUseEvlogDevErrorHandler({}) + + cachedSuppressOverlay = !resolveDevTerminal({}).frameworkOverlay + return cachedSuppressOverlay } /** diff --git a/packages/evlog/src/nitro/errorHandler.ts b/packages/evlog/src/nitro/errorHandler.ts index 6c84d178..a8fdd3d0 100644 --- a/packages/evlog/src/nitro/errorHandler.ts +++ b/packages/evlog/src/nitro/errorHandler.ts @@ -25,12 +25,14 @@ type NitroErrorHandlerContext = { } export default defineNitroErrorHandler(async (error, event, ctx?: NitroErrorHandlerContext) => { - if (!shouldSuppressNitroDevOverlay() && ctx?.defaultHandler) { + const suppressOverlay = shouldSuppressNitroDevOverlay() + + if (!suppressOverlay && ctx?.defaultHandler) { await ctx.defaultHandler(error, event, { silent: false }) } markH3ErrorHandled(event) - if (shouldSuppressNitroDevOverlay()) { + if (suppressOverlay) { suppressNitroDevOverlay(error) } diff --git a/packages/evlog/src/nitro/plugin.ts b/packages/evlog/src/nitro/plugin.ts index b140b2e4..88ea3ab5 100644 --- a/packages/evlog/src/nitro/plugin.ts +++ b/packages/evlog/src/nitro/plugin.ts @@ -142,9 +142,7 @@ export default defineNitroPlugin(async (nitroApp) => { enabled: evlogConfig?.enabled, env: evlogConfig?.env, pretty: evlogConfig?.pretty, - prettyErrorFrames: evlogConfig?.prettyErrorFrames, - prettyErrorStackDepth: evlogConfig?.prettyErrorStackDepth, - prettyErrorCompact: evlogConfig?.prettyErrorCompact, + dev: evlogConfig?.dev, silent: evlogConfig?.silent, sampling: evlogConfig?.sampling, minLevel: evlogConfig?.minLevel, diff --git a/packages/evlog/src/nuxt/module.ts b/packages/evlog/src/nuxt/module.ts index d36fc86a..fb2e5e1e 100644 --- a/packages/evlog/src/nuxt/module.ts +++ b/packages/evlog/src/nuxt/module.ts @@ -10,6 +10,7 @@ import { } from '@nuxt/kit' import type { NitroConfig } from 'nitropack' import type { EnvironmentContext, LogLevel, RedactConfig, RouteConfig, SamplingConfig, TransportConfig } from '../types' +import type { DevTerminalInput } from '../shared/dev-terminal' import { prependNitroErrorHandler } from '../nitro' import { createStripPlugin } from '../vite/strip' import { createSourceLocationPlugin } from '../vite/source-location' @@ -78,26 +79,10 @@ export interface ModuleOptions { pretty?: boolean /** - * Dev-only code snippets around the primary stack frame in pretty error output. - * @default true in development - */ - prettyErrorFrames?: boolean - - /** - * Max stack frames shown after the code snippet in pretty error output. - * @default 3 - */ - prettyErrorStackDepth?: number - /** Tighter dev error layout (shorter snippet, no stack tail). @default true in dev */ - prettyErrorCompact?: boolean - - /** - * Development error console handler. - * - `'evlog'` — suppress Nitro's dev overlay; rely on evlog wide events - * - `'nitro'` — keep Nitro's native dev error output + * Dev terminal output: preset or explicit overlay + pretty-error settings. * @default 'evlog' when pretty in development */ - devErrorHandler?: 'evlog' | 'nitro' + dev?: DevTerminalInput /** * Suppress built-in console output. diff --git a/packages/evlog/src/shared/define.ts b/packages/evlog/src/shared/define.ts index af61b2f4..1567e576 100644 --- a/packages/evlog/src/shared/define.ts +++ b/packages/evlog/src/shared/define.ts @@ -1,4 +1,5 @@ import type { EnvironmentContext, LoggerConfig, SamplingConfig } from '../types' +import type { DevTerminalInput } from './dev-terminal' import type { BaseEvlogOptions } from './middleware' /** @@ -16,11 +17,11 @@ export interface EvlogConfig extends BaseEvlogOptions { enabled?: boolean /** Auto-detected from `NODE_ENV` when omitted. */ pretty?: boolean - /** Dev-only code snippets in pretty error output. @default true in dev */ - prettyErrorFrames?: boolean - /** Max stack frames after the snippet. @default 3 */ - prettyErrorStackDepth?: number - prettyErrorCompact?: boolean + /** + * Dev terminal output: preset or explicit overlay + pretty-error settings. + * @default 'evlog' when pretty in development + */ + dev?: DevTerminalInput sampling?: SamplingConfig /** Suppress built-in console output (useful when drains own the channel). */ silent?: boolean @@ -71,9 +72,7 @@ export function toLoggerConfig(config: EvlogConfig): LoggerConfig { if (env) out.env = env if (config.enabled !== undefined) out.enabled = config.enabled if (config.pretty !== undefined) out.pretty = config.pretty - if (config.prettyErrorFrames !== undefined) out.prettyErrorFrames = config.prettyErrorFrames - if (config.prettyErrorStackDepth !== undefined) out.prettyErrorStackDepth = config.prettyErrorStackDepth - if (config.prettyErrorCompact !== undefined) out.prettyErrorCompact = config.prettyErrorCompact + if (config.dev !== undefined) out.dev = config.dev if (config.sampling !== undefined) out.sampling = config.sampling if (config.minLevel !== undefined) out.minLevel = config.minLevel if (config.stringify !== undefined) out.stringify = config.stringify diff --git a/packages/evlog/src/shared/dev-terminal.ts b/packages/evlog/src/shared/dev-terminal.ts new file mode 100644 index 00000000..114d8c6c --- /dev/null +++ b/packages/evlog/src/shared/dev-terminal.ts @@ -0,0 +1,102 @@ +import { isDev } from '../utils' + +/** Dev terminal preset — shorthand for common overlay + pretty-error combinations. */ +export type DevTerminalPreset = 'evlog' | 'nitro' | 'both' + +/** How much stack detail evlog prints inside the wide-event error block. */ +export type DevPrettyErrorDetail = 'full' | 'guidance' + +/** Pretty-print options for the `error:` block in dev wide events. */ +export interface DevPrettyErrorConfig { + snippet?: boolean + stackDepth?: number + compact?: boolean + detail?: DevPrettyErrorDetail +} + +/** Resolved pretty-error settings used at runtime. */ +export type ResolvedPrettyError = Required + +/** Resolved dev terminal object (alternative to preset strings). */ +export interface DevTerminalConfigObject { + /** Show Nitro `[request error]` + Youch in the terminal. @default false when pretty in dev. */ + frameworkOverlay?: boolean + prettyError?: DevPrettyErrorConfig +} + +/** User-facing dev terminal config: preset string or explicit object. */ +export type DevTerminalInput = DevTerminalPreset | DevTerminalConfigObject + +/** Resolved dev terminal settings used at runtime. */ +export interface ResolvedDevTerminal { + frameworkOverlay: boolean + prettyError: ResolvedPrettyError +} + +/** Config surface accepted by {@link resolveDevTerminal}. */ +export interface DevTerminalResolveInput { + pretty?: boolean + dev?: DevTerminalInput +} + +const DEV_PRESETS: Record = { + evlog: { frameworkOverlay: false, detail: 'full' }, + nitro: { frameworkOverlay: true, detail: 'guidance' }, + both: { frameworkOverlay: true, detail: 'full' }, +} + +function finalizePrettyError( + partial: DevPrettyErrorConfig, + frameworkOverlay: boolean, + pretty: boolean, + inDev: boolean, +): ResolvedPrettyError { + const compact = partial.compact ?? (inDev && pretty) + const detail = partial.detail ?? (frameworkOverlay ? 'guidance' : 'full') + const stackDepth = detail === 'guidance' + ? 0 + : (partial.stackDepth ?? (compact ? 2 : 3)) + const snippet = partial.snippet ?? (detail === 'full' && pretty && inDev) + + return { snippet, stackDepth, compact, detail } +} + +/** + * Resolve dev terminal settings from `dev` presets or explicit objects. + */ +export function resolveDevTerminal(input: DevTerminalResolveInput = {}): ResolvedDevTerminal { + const pretty = input.pretty ?? isDev() + const inDev = isDev() + + let frameworkOverlay: boolean | undefined + let prettyError: DevPrettyErrorConfig = {} + + if (typeof input.dev === 'string') { + const { frameworkOverlay: presetOverlay, detail } = DEV_PRESETS[input.dev] + frameworkOverlay = presetOverlay + prettyError = { detail } + } else if (input.dev) { + const { frameworkOverlay: devOverlay, prettyError: devPrettyError } = input.dev + frameworkOverlay = devOverlay + if (devPrettyError) { + prettyError = devPrettyError + } + } + + if (frameworkOverlay === undefined) { + frameworkOverlay = !(pretty && inDev) + } + + return { + frameworkOverlay, + prettyError: finalizePrettyError(prettyError, frameworkOverlay, pretty, inDev), + } +} + +/** + * Whether Nitro's dev Youch overlay should print to the terminal. + * @internal + */ +export function shouldShowFrameworkOverlay(input: DevTerminalResolveInput = {}): boolean { + return resolveDevTerminal(input).frameworkOverlay +} diff --git a/packages/evlog/src/shared/pretty-error.ts b/packages/evlog/src/shared/pretty-error.ts index 775af0bb..d473dda2 100644 --- a/packages/evlog/src/shared/pretty-error.ts +++ b/packages/evlog/src/shared/pretty-error.ts @@ -1,4 +1,5 @@ import { colors, isBrowser, isDev } from '../utils' +import type { ResolvedPrettyError } from './dev-terminal' /** @internal Server-only snippet reader registered by Nitro plugin or initLogger. */ type SnippetReader = (file: string, line: number, contextLines?: number) => CodeSnippetLine[] | null @@ -54,13 +55,7 @@ export interface StackFrame { } /** Options for {@link buildErrorEntries}. */ -export interface PrettyErrorOptions { - /** Dev-only code snippets around the primary stack frame. @default true in dev */ - prettyErrorFrames?: boolean - /** Max stack frames shown after the snippet. @default 2 when compact, else 3 */ - prettyErrorStackDepth?: number - /** Tighter dev error layout: shorter snippet, no blank lines within the block. @default true in dev */ - compact?: boolean +export type PrettyErrorOptions = Partial & { /** Project root for relative paths in snippets. @default process.cwd() */ cwd?: string } @@ -352,15 +347,19 @@ export function buildErrorEntries( const cwd = options.cwd ?? (typeof process !== 'undefined' && typeof process.cwd === 'function' ? process.cwd() : '.') const compact = options.compact ?? isDev() - const showFrames = !isBrowser() && (options.prettyErrorFrames ?? isDev()) - const stackDepth = options.prettyErrorStackDepth ?? (compact ? 2 : 3) + const detail = options.detail ?? 'full' + const guidanceOnly = detail === 'guidance' + const showFrames = !guidanceOnly && !isBrowser() && (options.snippet ?? isDev()) + const stackDepth = guidanceOnly + ? 0 + : (options.stackDepth ?? (compact ? 2 : 3)) const snippetContextLines = compact ? 1 : 2 const children: string[] = [] - const frames = parseStackFrames(normalized.stack) - const primary = pickPrimaryFrame(frames) + const frames = guidanceOnly ? [] : parseStackFrames(normalized.stack) + const primary = guidanceOnly ? undefined : pickPrimaryFrame(frames) - if (primary?.file && primary.line) { + if (!guidanceOnly && primary?.file && primary.line) { pushTreeSpacer(children) if (showFrames) { const snippet = readCodeSnippet(primary.file, primary.line, snippetContextLines) @@ -396,12 +395,12 @@ export function buildErrorEntries( children.push(`${colors.dim}Caused by:${colors.reset} ${normalized.cause}`) } - const hiddenCount = frames.filter(f => !f.isApp || isInternalErrorFrame(f)).length + const hiddenCount = guidanceOnly ? 0 : frames.filter(f => !f.isApp || isInternalErrorFrame(f)).length const tailFrames = stackDepth > 0 ? frames.filter(f => f !== primary && !isInternalErrorFrame(f)).slice(0, stackDepth) : [] - if (hiddenCount > 0 || tailFrames.length > 0) { + if (!guidanceOnly && (hiddenCount > 0 || tailFrames.length > 0)) { pushTreeSpacer(children) if (hiddenCount > 0) { children.push(`${colors.gray}stack (${hiddenCount} frame${hiddenCount === 1 ? '' : 's'} hidden in node_modules)${colors.reset}`) diff --git a/packages/evlog/src/types.ts b/packages/evlog/src/types.ts index 5757293a..4021edf7 100644 --- a/packages/evlog/src/types.ts +++ b/packages/evlog/src/types.ts @@ -1,4 +1,5 @@ import type { NitroRuntimeHooks } from 'nitropack/types' +import type { DevTerminalInput } from './shared/dev-terminal' declare module 'nitropack/types' { interface NitroRuntimeHooks { @@ -292,17 +293,10 @@ export interface LoggerConfig { /** Enable pretty printing (auto-detected: true in dev, false in prod) */ pretty?: boolean /** - * Dev-only code snippets around the primary stack frame in pretty error output. - * @default true in development + * Dev terminal output: preset or explicit overlay + pretty-error settings. + * @default 'evlog' when pretty in development */ - prettyErrorFrames?: boolean - /** - * Max stack frames shown after the code snippet in pretty error output. - * @default 3 - */ - prettyErrorStackDepth?: number - /** Tighter dev error layout (shorter snippet, no stack tail). @default true in dev */ - prettyErrorCompact?: boolean + dev?: DevTerminalInput /** Sampling configuration for filtering logs */ sampling?: SamplingConfig /** diff --git a/packages/evlog/test/core/dev-terminal.test.ts b/packages/evlog/test/core/dev-terminal.test.ts new file mode 100644 index 00000000..db4c526c --- /dev/null +++ b/packages/evlog/test/core/dev-terminal.test.ts @@ -0,0 +1,89 @@ +import { afterEach, describe, expect, it } from 'vitest' +import { + resolveDevTerminal, + shouldShowFrameworkOverlay, +} from '../../src/shared/dev-terminal' +import { buildErrorEntries } from '../../src/shared/pretty-error' + +const SAMPLE_STACK = `Error: Payment processing failed + at Object.handler (file:///Users/dev/project/server/api/test.get.ts:100:0) + at async file:///Users/dev/project/node_modules/h3/dist/index.mjs:2017:19` + +describe('resolveDevTerminal', () => { + const originalEnv = process.env.NODE_ENV + + afterEach(() => { + process.env.NODE_ENV = originalEnv + }) + + it('applies evlog preset — no overlay, full pretty error', () => { + process.env.NODE_ENV = 'development' + expect(resolveDevTerminal({ pretty: true, dev: 'evlog' })).toEqual({ + frameworkOverlay: false, + prettyError: { + snippet: true, + stackDepth: 2, + compact: true, + detail: 'full', + }, + }) + }) + + it('applies nitro preset — overlay on, guidance-only pretty error', () => { + process.env.NODE_ENV = 'development' + expect(resolveDevTerminal({ pretty: true, dev: 'nitro' })).toEqual({ + frameworkOverlay: true, + prettyError: { + snippet: false, + stackDepth: 0, + compact: true, + detail: 'guidance', + }, + }) + }) + + it('applies both preset — overlay on, full pretty error', () => { + process.env.NODE_ENV = 'development' + expect(resolveDevTerminal({ pretty: true, dev: 'both' })).toEqual({ + frameworkOverlay: true, + prettyError: { + snippet: true, + stackDepth: 2, + compact: true, + detail: 'full', + }, + }) + }) +}) + +describe('shouldShowFrameworkOverlay', () => { + const originalEnv = process.env.NODE_ENV + + afterEach(() => { + process.env.NODE_ENV = originalEnv + }) + + it('defaults to no overlay in pretty dev and allows opt-in', () => { + process.env.NODE_ENV = 'development' + expect(shouldShowFrameworkOverlay({ pretty: true })).toBe(false) + expect(shouldShowFrameworkOverlay({ pretty: true, dev: 'nitro' })).toBe(true) + }) +}) + +describe('buildErrorEntries guidance detail', () => { + it('omits location and stack when detail is guidance', () => { + const entries = buildErrorEntries({ + message: 'Payment failed', + stack: SAMPLE_STACK, + why: 'Card declined', + fix: 'Try another card', + link: 'https://docs.example.com/payments', + }, { detail: 'guidance' }) + + const children = entries[0]?.children ?? [] + expect(children.some(line => line.includes('test.get.ts'))).toBe(false) + expect(children.some(line => line.includes('hidden in node_modules'))).toBe(false) + expect(children.some(line => line.includes('Why:'))).toBe(true) + expect(children.some(line => line.includes('Fix:'))).toBe(true) + }) +}) diff --git a/packages/evlog/test/core/pretty-error.test.ts b/packages/evlog/test/core/pretty-error.test.ts index 890938c0..ee7a5b8e 100644 --- a/packages/evlog/test/core/pretty-error.test.ts +++ b/packages/evlog/test/core/pretty-error.test.ts @@ -14,7 +14,7 @@ import { } from '../../src/shared/pretty-error' import { readCodeSnippetFromDisk } from '../../src/shared/pretty-error-snippet.node' import { enrichErrorStackForDev } from '../../src/shared/enrich-error-stack.node' -import { shouldUseEvlogDevErrorHandler, prependNitroErrorHandler } from '../../src/nitro' +import { shouldShowFrameworkOverlay, prependNitroErrorHandler } from '../../src/nitro' const SAMPLE_STACK = `Error: Payment processing failed at Object.handler (file:///Users/dev/project/server/api/test.get.ts:100:0) @@ -138,7 +138,7 @@ describe('buildErrorEntries', () => { why: 'Card declined', fix: 'Try another card', link: 'https://docs.example.com/payments', - }, { prettyErrorFrames: false, prettyErrorStackDepth: 2, compact: false }) + }, { snippet: false, stackDepth: 2, compact: false }) expect(entries).toHaveLength(1) const entry = entries[0]! @@ -157,7 +157,7 @@ describe('buildErrorEntries', () => { message: 'Payment failed', stack: SAMPLE_STACK, cause: 'Payment failed', - }, { prettyErrorFrames: false }) + }, { snippet: false }) const children = entries[0]?.children ?? [] expect(children.some(line => line.includes('Caused by:'))).toBe(false) @@ -172,7 +172,7 @@ at async file:///Users/dev/project/node_modules/h3/dist/index.mjs:2017:19` message: 'Payment failed', stack, why: 'Card declined', - }, { prettyErrorFrames: false, prettyErrorStackDepth: 5, compact: false }) + }, { snippet: false, stackDepth: 5, compact: false }) const children = entries[0]?.children ?? [] expect(children.some(line => line.includes('createError'))).toBe(false) @@ -185,7 +185,7 @@ at async file:///Users/dev/project/node_modules/h3/dist/index.mjs:2017:19` message: 'Payment failed', stack: SAMPLE_STACK, fix: longFix, - }, { prettyErrorFrames: false, prettyErrorStackDepth: 0, compact: false }) + }, { snippet: false, stackDepth: 0, compact: false }) const children = entries[0]?.children ?? [] const fixIndex = children.findIndex(line => line.includes('Fix:')) @@ -194,17 +194,17 @@ at async file:///Users/dev/project/node_modules/h3/dist/index.mjs:2017:19` }) }) -describe('dev error handler routing', () => { +describe('framework overlay routing', () => { const originalEnv = process.env.NODE_ENV afterEach(() => { process.env.NODE_ENV = originalEnv }) - it('defaults to evlog in pretty dev and allows Nitro overlay opt-in', () => { + it('defaults to no Nitro overlay in pretty dev and allows opt-in', () => { process.env.NODE_ENV = 'development' - expect(shouldUseEvlogDevErrorHandler({ pretty: true })).toBe(true) - expect(shouldUseEvlogDevErrorHandler({ pretty: true, devErrorHandler: 'nitro' })).toBe(false) + expect(shouldShowFrameworkOverlay({ pretty: true })).toBe(false) + expect(shouldShowFrameworkOverlay({ pretty: true, dev: 'nitro' })).toBe(true) }) }) @@ -245,7 +245,7 @@ describe('pretty error logger integration', () => { beforeEach(() => { vi.spyOn(console, 'error').mockImplementation(() => {}) vi.spyOn(console, 'log').mockImplementation(() => {}) - initLogger({ pretty: true, prettyErrorFrames: false }) + initLogger({ pretty: true, dev: { prettyError: { snippet: false } } }) }) afterEach(() => { diff --git a/packages/evlog/test/nitro/errorHandler.test.ts b/packages/evlog/test/nitro/errorHandler.test.ts index f453f985..aea43731 100644 --- a/packages/evlog/test/nitro/errorHandler.test.ts +++ b/packages/evlog/test/nitro/errorHandler.test.ts @@ -50,8 +50,8 @@ describe('errorHandler', () => { expect(error.fatal).toBe(false) }) - it('calls defaultHandler when devErrorHandler is nitro', async () => { - vi.stubEnv('__EVLOG_CONFIG', JSON.stringify({ pretty: true, devErrorHandler: 'nitro' })) + it('calls defaultHandler when dev preset is nitro', async () => { + vi.stubEnv('__EVLOG_CONFIG', JSON.stringify({ pretty: true, dev: 'nitro' })) const defaultHandler = vi.fn().mockResolvedValue(undefined) const error = new Error('boom') await errorHandler(error, mockEvent, { defaultHandler }) From d8a8a2da44706d21a7d8a8346644a389f826ff30 Mon Sep 17 00:00:00 2001 From: Hugo Richard Date: Wed, 10 Jun 2026 20:56:05 +0100 Subject: [PATCH 3/5] fix from code rabbit --- packages/evlog/src/nitro-v3/errorHandler.ts | 14 +- packages/evlog/src/nitro-v3/plugin.ts | 74 +++++----- packages/evlog/src/nitro.ts | 31 ++-- packages/evlog/src/nitro/enrich-drain.ts | 133 ++++++++++++++++++ packages/evlog/src/nitro/plugin.ts | 97 ++----------- packages/evlog/src/nuxt/module.ts | 2 +- packages/evlog/src/shared/dev-terminal.ts | 4 +- .../evlog/src/shared/nitroConfigBridge.ts | 8 ++ packages/evlog/src/shared/pretty-error.ts | 2 +- packages/evlog/src/types.ts | 2 + packages/evlog/test/core/dev-terminal.test.ts | 8 ++ packages/evlog/test/core/pretty-error.test.ts | 10 ++ .../evlog/test/nitro-v3/errorHandler.test.ts | 39 +++++ .../evlog/test/nitro/errorHandler.test.ts | 16 +++ .../test/nitro/plugin-enrichment.test.ts | 71 +++------- packages/evlog/test/nitro/plugin.test.ts | 17 ++- .../test/shared/nitroConfigBridge.test.ts | 6 + 17 files changed, 338 insertions(+), 196 deletions(-) create mode 100644 packages/evlog/src/nitro/enrich-drain.ts create mode 100644 packages/evlog/test/nitro-v3/errorHandler.test.ts diff --git a/packages/evlog/src/nitro-v3/errorHandler.ts b/packages/evlog/src/nitro-v3/errorHandler.ts index db3b3902..0c015e6e 100644 --- a/packages/evlog/src/nitro-v3/errorHandler.ts +++ b/packages/evlog/src/nitro-v3/errorHandler.ts @@ -9,6 +9,10 @@ import { suppressNitroDevOverlay, } from '../nitro' +type NitroErrorHandlerContext = { + defaultHandler?: (error: Error, event: unknown, opts?: { silent?: boolean; json?: boolean }) => Promise +} + /** * Custom Nitro v3 error handler that properly serializes EvlogError. * This ensures that 'data' (containing 'why', 'fix', 'link') is preserved @@ -19,8 +23,14 @@ import { * export { default } from 'evlog/nitro/v3/errorHandler' * ``` */ -export default defineErrorHandler((error, event) => { - if (shouldSuppressNitroDevOverlay()) { +export default defineErrorHandler(async (error, event, ctx?: NitroErrorHandlerContext) => { + const suppressOverlay = shouldSuppressNitroDevOverlay() + + if (!suppressOverlay && ctx?.defaultHandler) { + await ctx.defaultHandler(error, event, { silent: false }) + } + + if (suppressOverlay) { suppressNitroDevOverlay(error) } diff --git a/packages/evlog/src/nitro-v3/plugin.ts b/packages/evlog/src/nitro-v3/plugin.ts index 4125b292..11148f35 100644 --- a/packages/evlog/src/nitro-v3/plugin.ts +++ b/packages/evlog/src/nitro-v3/plugin.ts @@ -7,6 +7,7 @@ import { registerPrettyErrorSnippetReader } from '../shared/pretty-error' import { readCodeSnippetFromDisk } from '../shared/pretty-error-snippet.node' import { enrichErrorStackForDev } from '../shared/enrich-error-stack.node' import { shouldLog, getServiceForPath, extractErrorStatus } from '../nitro' +import { extendDeferredDrain } from '../nitro/enrich-drain' import { normalizeRedactConfig } from '../redact' import { resolveEvlogConfigForNitroPlugin, setActiveNitroRuntime } from '../shared/nitroConfigBridge' import type { EnrichContext, RequestLogger, TailSamplingContext, WideEvent } from '../types' @@ -106,11 +107,12 @@ async function callDrainHook( if (drainTasks.length === 0) return const drainPromise = Promise.all(drainTasks) - // deferDrain: never waitUntil — see nitro/plugin.ts callEnrichAndDrain. + // deferDrain: never block Nitro Node responses; extend lifetime on Cloudflare only. if (options?.deferDrain) { - void drainPromise.catch((err) => { - console.error('[evlog] background drain failed:', err) - }) + const waitUntil = globalThis.navigator?.userAgent === 'Cloudflare-Workers' && typeof event.req.waitUntil === 'function' + ? event.req.waitUntil.bind(event.req) + : undefined + extendDeferredDrain(drainPromise, waitUntil) return } @@ -234,7 +236,7 @@ export default definePlugin(async (nitroApp) => { hooks.hook('response', async (res, event) => { const ctx = event.req.context // Skip if already emitted by error hook or route was filtered out - if (ctx?._evlogEmitted || !ctx?._evlogShouldEmit) return + if (ctx?._evlogEmitted || ctx?._evlogEmitting || !ctx?._evlogShouldEmit) return const log = ctx?.log as RequestLogger | undefined if (!log || !ctx) return @@ -273,40 +275,44 @@ export default definePlugin(async (nitroApp) => { const log = ctx.log as RequestLogger | undefined if (!log) return - // Block response hook from emitting while we enrich the stack. - ctx._evlogEmitted = true + ctx._evlogEmitting = true + try { + const actualError = (error.cause as Error)?.name === 'EvlogError' + ? error.cause as Error + : error as Error - // Check if error.cause is an EvlogError (thrown errors get wrapped in HTTPError by nitro) - const actualError = (error.cause as Error)?.name === 'EvlogError' - ? error.cause as Error - : error as Error + void enrichErrorStackForDev(actualError, { pretty: evlogConfig?.pretty }) + log.error(actualError) - await enrichErrorStackForDev(actualError, { pretty: evlogConfig?.pretty }) - log.error(actualError) + const errorStatus = extractErrorStatus(actualError) + log.set({ status: errorStatus }) - const errorStatus = extractErrorStatus(actualError) - log.set({ status: errorStatus }) + const { pathname } = parseURL(e.req.url) + const startTime = ctx._evlogStartTime as number | undefined + const durationMs = startTime ? Date.now() - startTime : undefined - const { pathname } = parseURL(e.req.url) - const startTime = ctx._evlogStartTime as number | undefined - const durationMs = startTime ? Date.now() - startTime : undefined - - const tailCtx: TailSamplingContext = { - status: errorStatus, - duration: durationMs, - path: pathname, - method: e.req.method, - context: log.getContext(), - shouldKeep: false, - } + const tailCtx: TailSamplingContext = { + status: errorStatus, + duration: durationMs, + path: pathname, + method: e.req.method, + context: log.getContext(), + shouldKeep: false, + } - await hooks.callHook('evlog:emit:keep', tailCtx) - const runner = getGlobalPluginRunner() - if (runner.hasKeep) await runner.runKeep(tailCtx) + await hooks.callHook('evlog:emit:keep', tailCtx) + const runner = getGlobalPluginRunner() + if (runner.hasKeep) await runner.runKeep(tailCtx) - const emittedEvent = log.emit({ _forceKeep: tailCtx.shouldKeep }) - void callEnrichAndDrain(hooks, emittedEvent, e, undefined, { deferDrain: true }).catch((err) => { - console.error('[evlog] background enrich/drain failed:', err) - }) + const emittedEvent = log.emit({ _forceKeep: tailCtx.shouldKeep }) + if (emittedEvent) { + ctx._evlogEmitted = true + void callEnrichAndDrain(hooks, emittedEvent, e, undefined, { deferDrain: true }).catch((err) => { + console.error('[evlog] background enrich/drain failed:', err) + }) + } + } finally { + delete ctx._evlogEmitting + } }) }) diff --git a/packages/evlog/src/nitro.ts b/packages/evlog/src/nitro.ts index f2b0f2e7..1676ba8c 100644 --- a/packages/evlog/src/nitro.ts +++ b/packages/evlog/src/nitro.ts @@ -2,6 +2,7 @@ import type { EnvironmentContext, LogLevel, RedactConfig, RouteConfig, SamplingC import type { DevTerminalInput, DevTerminalResolveInput } from './shared/dev-terminal' import { extractErrorStatus } from './shared/errors' import { resolveDevTerminal, shouldShowFrameworkOverlay } from './shared/dev-terminal' +import { readEvlogConfigSync } from './shared/nitroConfigBridge' export type { DevTerminalInput, DevTerminalPreset, DevPrettyErrorConfig, DevTerminalConfigObject, ResolvedPrettyError } from './shared/dev-terminal' export { resolveDevTerminal, shouldShowFrameworkOverlay } from './shared/dev-terminal' @@ -134,7 +135,8 @@ export function prependNitroErrorHandler( ): string | string[] { if (!errorHandler) return handlerPath if (Array.isArray(errorHandler)) { - return errorHandler.includes(handlerPath) ? errorHandler : [handlerPath, ...errorHandler] + const rest = errorHandler.filter(h => h !== handlerPath) + return [handlerPath, ...rest] } if (errorHandler === handlerPath) return handlerPath return [handlerPath, errorHandler] @@ -144,30 +146,27 @@ export function prependNitroErrorHandler( * Whether the Nitro dev Youch overlay should be suppressed for this process. * @internal */ -let cachedConfigRaw: string | undefined +let cachedConfigKey: string | undefined let cachedSuppressOverlay: boolean | undefined export function shouldSuppressNitroDevOverlay(): boolean { - const raw = process.env.__EVLOG_CONFIG - if (cachedSuppressOverlay !== undefined && cachedConfigRaw === raw) { + const config = readEvlogConfigSync() + const key = config ? JSON.stringify(config) : '' + if (cachedSuppressOverlay !== undefined && cachedConfigKey === key) { return cachedSuppressOverlay } - cachedConfigRaw = raw - - try { - if (raw) { - cachedSuppressOverlay = !resolveDevTerminal(JSON.parse(raw) as DevTerminalResolveInput).frameworkOverlay - return cachedSuppressOverlay - } - } catch { - // ignore malformed config - } - - cachedSuppressOverlay = !resolveDevTerminal({}).frameworkOverlay + cachedConfigKey = key + cachedSuppressOverlay = !resolveDevTerminal(config ?? {}).frameworkOverlay return cachedSuppressOverlay } +/** @internal Reset overlay decision cache — tests only. */ +export function resetNitroDevOverlayCache(): void { + cachedConfigKey = undefined + cachedSuppressOverlay = undefined +} + /** * Clear Nitro/h3 unhandled flags so the dev Youch logger skips this error. * @internal diff --git a/packages/evlog/src/nitro/enrich-drain.ts b/packages/evlog/src/nitro/enrich-drain.ts new file mode 100644 index 00000000..4e963b15 --- /dev/null +++ b/packages/evlog/src/nitro/enrich-drain.ts @@ -0,0 +1,133 @@ +import type { NitroApp } from 'nitropack/types' +import { getHeaders } from 'h3' +import { getGlobalPluginRunner } from '../logger' +import type { EnrichContext, ServerEvent, WideEvent } from '../types' +import { filterSafeHeaders } from '../utils' + +function getSafeHeaders(event: ServerEvent): Record { + const allHeaders = getHeaders(event as Parameters[0]) + return filterSafeHeaders(allHeaders) +} + +function getSafeResponseHeaders(event: ServerEvent): Record | undefined { + const headers: Record = {} + const nodeRes = event.node?.res as { getHeaders?: () => Record } | undefined + + if (nodeRes?.getHeaders) { + for (const [key, value] of Object.entries(nodeRes.getHeaders())) { + if (value === undefined) continue + headers[key] = Array.isArray(value) ? value.join(', ') : String(value) + } + } + + if (event.response?.headers) { + event.response.headers.forEach((value, key) => { + headers[key] = value + }) + } + + if (Object.keys(headers).length === 0) return undefined + return filterSafeHeaders(headers) +} + +function getResponseStatus(event: ServerEvent): number { + if (event.node?.res?.statusCode) { + return event.node.res.statusCode + } + if (event.response?.status) { + return event.response.status + } + if (typeof event.context.status === 'number') { + return event.context.status + } + return 200 +} + +function buildHookContext(event: ServerEvent): Omit { + const responseHeaders = getSafeResponseHeaders(event) + return { + request: { method: event.method, path: event.path }, + headers: getSafeHeaders(event), + response: { + status: getResponseStatus(event), + headers: responseHeaders, + }, + } +} + +/** @internal Extend drain lifetime on Cloudflare without blocking Nitro Node responses. */ +export function extendDeferredDrain( + drainPromise: Promise, + waitUntil?: (promise: Promise) => void, +): void { + void drainPromise.catch((err) => { + console.error('[evlog] background drain failed:', err) + }) + if (typeof waitUntil === 'function') { + waitUntil(drainPromise) + } +} + +function resolveDeferredWaitUntil(event: ServerEvent): ((promise: Promise) => void) | undefined { + if (globalThis.navigator?.userAgent !== 'Cloudflare-Workers') return undefined + const waitUntilCtx = event.context.cloudflare?.context ?? event.context + if (typeof waitUntilCtx?.waitUntil === 'function') { + return waitUntilCtx.waitUntil.bind(waitUntilCtx) + } + return undefined +} + +/** + * Run evlog enrich + drain hooks for an emitted wide event. + * @internal Exported for Nitro plugin tests. + */ +export async function callEnrichAndDrain( + nitroApp: NitroApp, + emittedEvent: WideEvent | null, + event: ServerEvent, + options?: { deferDrain?: boolean }, +): Promise { + if (!emittedEvent) return + + const hookContext = buildHookContext(event) + const enrichCtx: EnrichContext = { event: emittedEvent, ...hookContext } + const runner = getGlobalPluginRunner() + + try { + await nitroApp.hooks.callHook('evlog:enrich', enrichCtx) + } catch (err) { + console.error('[evlog] enrich failed:', err) + } + if (runner.hasEnrich) { + await runner.runEnrich(enrichCtx) + } + + const drainCtx = { + event: emittedEvent, + request: hookContext.request, + headers: hookContext.headers, + } + const drainTasks: Array> = [ + nitroApp.hooks.callHook('evlog:drain', drainCtx).catch((err) => { + console.error('[evlog] drain failed:', err) + }), + ] + if (runner.hasDrain) { + drainTasks.push(runner.runDrain(drainCtx)) + } + const drainPromise = Promise.all(drainTasks) + + // deferDrain: never block the HTTP error response on Nitro Node (h3 2.13+ waitUntil + // queues work before send). On Cloudflare, register waitUntil so drains survive. + if (options?.deferDrain) { + extendDeferredDrain(drainPromise, resolveDeferredWaitUntil(event)) + return + } + + const waitUntilCtx = event.context.cloudflare?.context ?? event.context + if (typeof waitUntilCtx?.waitUntil === 'function') { + waitUntilCtx.waitUntil(drainPromise) + } else { + await drainPromise + } +} diff --git a/packages/evlog/src/nitro/plugin.ts b/packages/evlog/src/nitro/plugin.ts index 88ea3ab5..a836caed 100644 --- a/packages/evlog/src/nitro/plugin.ts +++ b/packages/evlog/src/nitro/plugin.ts @@ -1,4 +1,3 @@ -import type { NitroApp } from 'nitropack/types' // Import from specific subpaths to avoid the barrel 'nitropack/runtime' which // re-exports from internal/app.mjs — that file imports #nitro-internal-virtual/* // modules that only exist inside rollup builds and crash when loaded externally @@ -13,8 +12,9 @@ import { shouldLog, getServiceForPath, extractErrorStatus } from '../nitro' import { normalizeRedactConfig } from '../redact' import { resolveEvlogConfigForNitroPlugin, setActiveNitroRuntime } from '../shared/nitroConfigBridge' import { startStreamServer, type StreamServerOptions } from '../stream' -import type { EnrichContext, RequestLogger, ServerEvent, TailSamplingContext, WideEvent } from '../types' +import type { RequestLogger, ServerEvent, TailSamplingContext } from '../types' import { filterSafeHeaders } from '../utils' +import { callEnrichAndDrain } from './enrich-drain' function getSafeHeaders(event: ServerEvent): Record { const allHeaders = getHeaders(event as Parameters[0]) @@ -61,75 +61,6 @@ function getResponseStatus(event: ServerEvent): number { return 200 } -function buildHookContext(event: ServerEvent): Omit { - const responseHeaders = getSafeResponseHeaders(event) - return { - request: { method: event.method, path: event.path }, - headers: getSafeHeaders(event), - response: { - status: getResponseStatus(event), - headers: responseHeaders, - }, - } -} - -async function callEnrichAndDrain( - nitroApp: NitroApp, - emittedEvent: WideEvent | null, - event: ServerEvent, - options?: { deferDrain?: boolean }, -): Promise { - if (!emittedEvent) return - - const hookContext = buildHookContext(event) - const enrichCtx: EnrichContext = { event: emittedEvent, ...hookContext } - const runner = getGlobalPluginRunner() - - try { - await nitroApp.hooks.callHook('evlog:enrich', enrichCtx) - } catch (err) { - console.error('[evlog] enrich failed:', err) - } - if (runner.hasEnrich) { - await runner.runEnrich(enrichCtx) - } - - const drainCtx = { - event: emittedEvent, - request: hookContext.request, - headers: hookContext.headers, - } - const drainTasks: Array> = [ - nitroApp.hooks.callHook('evlog:drain', drainCtx).catch((err) => { - console.error('[evlog] drain failed:', err) - }), - ] - if (runner.hasDrain) { - drainTasks.push(runner.runDrain(drainCtx)) - } - const drainPromise = Promise.all(drainTasks) - - // deferDrain: fire-and-forget — never event.waitUntil() here. On Nitro 2.13+ - // (h3 2 / srvx), event.waitUntil queues work that must finish before the HTTP - // response is sent, so a slow evlog:drain hook (Axiom, etc.) would hang 4xx/5xx - // responses even though emit() already logged to the terminal. - if (options?.deferDrain) { - void drainPromise.catch((err) => { - console.error('[evlog] background drain failed:', err) - }) - return - } - - // afterResponse path — response is already sent; waitUntil extends serverless - // runtimes, await is the Node fallback so drains are not lost. - const waitUntilCtx = event.context.cloudflare?.context ?? event.context - if (typeof waitUntilCtx?.waitUntil === 'function') { - waitUntilCtx.waitUntil(drainPromise) - } else { - await drainPromise - } -} - export default defineNitroPlugin(async (nitroApp) => { setActiveNitroRuntime('v2') const evlogConfig = await resolveEvlogConfigForNitroPlugin() @@ -222,18 +153,17 @@ export default defineNitroPlugin(async (nitroApp) => { if (!e.context._evlogShouldEmit) return const requestLog = e.context.log as RequestLogger | undefined - if (requestLog) { - // Block afterResponse/response hooks from emitting while we enrich the stack. - e.context._evlogEmitted = true + if (!requestLog) return + e.context._evlogEmitting = true + try { const err = error as Error - await enrichErrorStackForDev(err, { pretty: evlogConfig?.pretty }) + void enrichErrorStackForDev(err, { pretty: evlogConfig?.pretty }) requestLog.error(err) const errorStatus = extractErrorStatus(error) requestLog.set({ status: errorStatus }) - // Build tail sampling context const startTime = e.context._evlogStartTime as number | undefined const durationMs = startTime ? Date.now() - startTime : undefined @@ -246,22 +176,25 @@ export default defineNitroPlugin(async (nitroApp) => { shouldKeep: false, } - // Call evlog:emit:keep hook + plugin runner keep hook await nitroApp.hooks.callHook('evlog:emit:keep', tailCtx) const runner = getGlobalPluginRunner() if (runner.hasKeep) await runner.runKeep(tailCtx) const emittedEvent = requestLog.emit({ _forceKeep: tailCtx.shouldKeep }) - void callEnrichAndDrain(nitroApp, emittedEvent, e, { deferDrain: true }).catch((err) => { - console.error('[evlog] background enrich/drain failed:', err) - }) + if (emittedEvent) { + e.context._evlogEmitted = true + void callEnrichAndDrain(nitroApp, emittedEvent, e, { deferDrain: true }).catch((err) => { + console.error('[evlog] background enrich/drain failed:', err) + }) + } + } finally { + delete e.context._evlogEmitting } }) nitroApp.hooks.hook('afterResponse', async (event) => { const e = event as ServerEvent - // Skip if already emitted by error hook or route was filtered out - if (e.context._evlogEmitted || !e.context._evlogShouldEmit) return + if (e.context._evlogEmitted || e.context._evlogEmitting || !e.context._evlogShouldEmit) return const requestLog = e.context.log as RequestLogger | undefined if (requestLog) { diff --git a/packages/evlog/src/nuxt/module.ts b/packages/evlog/src/nuxt/module.ts index fb2e5e1e..6d4db6ca 100644 --- a/packages/evlog/src/nuxt/module.ts +++ b/packages/evlog/src/nuxt/module.ts @@ -365,7 +365,7 @@ export default defineNuxtModule({ // often cannot resolve useRuntimeConfig().evlog via dynamic import reliably). // @ts-expect-error nitro:config hook exists but is not in NuxtHooks type nuxt.hook('nitro:config', (nitroConfig: NitroConfig) => { - const evlogHandler = resolver.resolve('../nitro/errorHandler') + const evlogHandler = resolver.resolve('../nitro/errorHandler').replace(/\\/g, '/') nitroConfig.errorHandler = prependNitroErrorHandler(nitroConfig.errorHandler, evlogHandler) const evlogForNitro = nuxt.options.runtimeConfig.evlog ?? options diff --git a/packages/evlog/src/shared/dev-terminal.ts b/packages/evlog/src/shared/dev-terminal.ts index 114d8c6c..87569720 100644 --- a/packages/evlog/src/shared/dev-terminal.ts +++ b/packages/evlog/src/shared/dev-terminal.ts @@ -71,11 +71,11 @@ export function resolveDevTerminal(input: DevTerminalResolveInput = {}): Resolve let frameworkOverlay: boolean | undefined let prettyError: DevPrettyErrorConfig = {} - if (typeof input.dev === 'string') { + if (typeof input.dev === 'string' && input.dev in DEV_PRESETS) { const { frameworkOverlay: presetOverlay, detail } = DEV_PRESETS[input.dev] frameworkOverlay = presetOverlay prettyError = { detail } - } else if (input.dev) { + } else if (input.dev && typeof input.dev === 'object') { const { frameworkOverlay: devOverlay, prettyError: devPrettyError } = input.dev frameworkOverlay = devOverlay if (devPrettyError) { diff --git a/packages/evlog/src/shared/nitroConfigBridge.ts b/packages/evlog/src/shared/nitroConfigBridge.ts index 63e98e07..962f72ec 100644 --- a/packages/evlog/src/shared/nitroConfigBridge.ts +++ b/packages/evlog/src/shared/nitroConfigBridge.ts @@ -110,6 +110,14 @@ export function readEvlogConfigFromNitroEnv(): EvlogConfig | undefined { } } +/** + * Synchronous evlog config for hot paths (error handler overlay, etc.). + * Matches {@link resolveEvlogConfigForNitroPlugin} steps 1–2 only. + */ +export function readEvlogConfigSync(): EvlogConfig | undefined { + return readEvlogConfigFromInline() ?? readEvlogConfigFromNitroEnv() +} + let cachedNitropackRuntime: NitroRuntimeConfigModule | null | undefined let cachedNitroV3Runtime: NitroRuntimeConfigModule | null | undefined let cachedNitropackInternalConfig: NitroRuntimeConfigModule | null | undefined diff --git a/packages/evlog/src/shared/pretty-error.ts b/packages/evlog/src/shared/pretty-error.ts index d473dda2..6ebe0d86 100644 --- a/packages/evlog/src/shared/pretty-error.ts +++ b/packages/evlog/src/shared/pretty-error.ts @@ -67,7 +67,7 @@ export interface CodeSnippetLine { } const SKIP_PATH_RE = /(?:^|[/\\])(?:node_modules|\.nuxt|\.output)(?:[/\\]|$)/ -const SKIP_FRAME_PATH_RE = /(?:^|[/\\])(?:packages[/\\]evlog|evlog[/\\]dist|evlog[/\\]src)(?:[/\\]|$)|[/\\]error\.(?:ts|mjs)(?:$|:)/ +const SKIP_FRAME_PATH_RE = /(?:^|[/\\])(?:packages[/\\]evlog|evlog[/\\](?:dist|src))(?:[/\\]|$)/ const SKIP_FRAME_FN_RE = /^(?:createError|EvlogError|new EvlogError)$/ function isPlainObject(val: unknown): val is Record { diff --git a/packages/evlog/src/types.ts b/packages/evlog/src/types.ts index 4021edf7..4251cd31 100644 --- a/packages/evlog/src/types.ts +++ b/packages/evlog/src/types.ts @@ -915,6 +915,8 @@ export interface H3EventContext { _evlogStartTime?: number /** Internal: flag to prevent double emission on errors */ _evlogEmitted?: boolean + /** Internal: error hook is mid-emit; blocks concurrent afterResponse/response emission */ + _evlogEmitting?: boolean /** Internal: whether the route matched shouldLog filtering (emit-time guard) */ _evlogShouldEmit?: boolean [key: string]: unknown diff --git a/packages/evlog/test/core/dev-terminal.test.ts b/packages/evlog/test/core/dev-terminal.test.ts index db4c526c..acbf3dd4 100644 --- a/packages/evlog/test/core/dev-terminal.test.ts +++ b/packages/evlog/test/core/dev-terminal.test.ts @@ -54,6 +54,14 @@ describe('resolveDevTerminal', () => { }, }) }) + + it('ignores unknown preset strings and falls back to defaults', () => { + process.env.NODE_ENV = 'development' + expect(() => resolveDevTerminal({ pretty: true, dev: 'unknown' as 'evlog' })).not.toThrow() + expect(resolveDevTerminal({ pretty: true, dev: 'unknown' as 'evlog' })).toEqual( + resolveDevTerminal({ pretty: true }), + ) + }) }) describe('shouldShowFrameworkOverlay', () => { diff --git a/packages/evlog/test/core/pretty-error.test.ts b/packages/evlog/test/core/pretty-error.test.ts index ee7a5b8e..fe9b13f4 100644 --- a/packages/evlog/test/core/pretty-error.test.ts +++ b/packages/evlog/test/core/pretty-error.test.ts @@ -92,6 +92,15 @@ describe('parseStackFrames', () => { expect(primary?.line).toBe(100) }) + it('does not skip user handler files named error.ts', () => { + const stack = `Error: boom + at Object.handler (file:///Users/dev/project/server/api/error.ts:42:5) + at async file:///Users/dev/project/node_modules/h3/dist/index.mjs:2017:19` + const primary = pickPrimaryFrame(parseStackFrames(stack)) + expect(primary?.file).toContain('server/api/error.ts') + expect(primary?.line).toBe(42) + }) + it('skips bundled .nuxt/dev frames', () => { const stack = `Payment processing failed at createError (.nuxt/dev/index.mjs:3007:10) @@ -218,6 +227,7 @@ describe('prependNitroErrorHandler', () => { const existing = ['/nuxt/error', '/nitro/dev'] expect(prependNitroErrorHandler(existing, handler)).toEqual([handler, ...existing]) expect(prependNitroErrorHandler([handler, ...existing], handler)).toEqual([handler, ...existing]) + expect(prependNitroErrorHandler(['framework', handler], handler)).toEqual([handler, 'framework']) }) }) diff --git a/packages/evlog/test/nitro-v3/errorHandler.test.ts b/packages/evlog/test/nitro-v3/errorHandler.test.ts new file mode 100644 index 00000000..57871736 --- /dev/null +++ b/packages/evlog/test/nitro-v3/errorHandler.test.ts @@ -0,0 +1,39 @@ +import { beforeEach, describe, expect, it, vi } from 'vitest' +import { resetNitroDevOverlayCache } from '../../src/nitro' + +vi.mock('nitro', () => ({ + defineErrorHandler: (handler: T) => handler, +})) + +import errorHandler from '../../src/nitro-v3/errorHandler' + +describe('nitro-v3 errorHandler', () => { + beforeEach(() => { + vi.clearAllMocks() + vi.stubEnv('NODE_ENV', 'development') + vi.stubEnv('__EVLOG_CONFIG', JSON.stringify({ pretty: true })) + resetNitroDevOverlayCache() + }) + + it('calls defaultHandler when dev preset is nitro', async () => { + vi.stubEnv('__EVLOG_CONFIG', JSON.stringify({ pretty: true, dev: 'nitro' })) + resetNitroDevOverlayCache() + const defaultHandler = vi.fn().mockResolvedValue(undefined) + const error = new Error('boom') + const event = { req: { url: 'http://localhost/api/test' } } + + await errorHandler(error, event, { defaultHandler }) + + expect(defaultHandler).toHaveBeenCalledWith(error, event, { silent: false }) + }) + + it('returns JSON for standard errors', async () => { + const error = Object.assign(new Error('Something went wrong'), { statusCode: 400 }) + const response = await errorHandler(error, { req: { url: 'http://localhost/api/test' } }) + + expect(response).toBeInstanceOf(Response) + expect(response.status).toBe(400) + const body = JSON.parse(await response.text()) + expect(body.message).toBe('Something went wrong') + }) +}) diff --git a/packages/evlog/test/nitro/errorHandler.test.ts b/packages/evlog/test/nitro/errorHandler.test.ts index aea43731..af0eb433 100644 --- a/packages/evlog/test/nitro/errorHandler.test.ts +++ b/packages/evlog/test/nitro/errorHandler.test.ts @@ -2,6 +2,11 @@ import { beforeEach, describe, expect, it, vi } from 'vitest' import type { H3Event } from 'h3' import { defined } from '../helpers/defined' +declare global { + // eslint-disable-next-line @typescript-eslint/naming-convention + var __EVLOG_CONFIG__: unknown +} + const mockSetResponseStatus = vi.fn() const mockSetResponseHeader = vi.fn() const mockSend = vi.fn() @@ -20,6 +25,7 @@ vi.mock('nitropack/runtime', () => ({ import { createError } from '../../src/error' import errorHandler from '../../src/nitro/errorHandler' +import { resetNitroDevOverlayCache, shouldSuppressNitroDevOverlay } from '../../src/nitro' const mockEvent = { node: { req: {}, res: {} }, _handled: false } as H3Event & { _handled: boolean } @@ -34,6 +40,8 @@ describe('errorHandler', () => { vi.clearAllMocks() vi.stubEnv('NODE_ENV', 'development') vi.stubEnv('__EVLOG_CONFIG', JSON.stringify({ pretty: true })) + delete globalThis.__EVLOG_CONFIG__ + resetNitroDevOverlayCache() mockEvent._handled = false }) @@ -52,12 +60,20 @@ describe('errorHandler', () => { it('calls defaultHandler when dev preset is nitro', async () => { vi.stubEnv('__EVLOG_CONFIG', JSON.stringify({ pretty: true, dev: 'nitro' })) + resetNitroDevOverlayCache() const defaultHandler = vi.fn().mockResolvedValue(undefined) const error = new Error('boom') await errorHandler(error, mockEvent, { defaultHandler }) expect(defaultHandler).toHaveBeenCalledWith(error, mockEvent, { silent: false }) }) + it('reads inlined __EVLOG_CONFIG__ for overlay suppression', () => { + vi.stubEnv('__EVLOG_CONFIG', undefined) + globalThis.__EVLOG_CONFIG__ = { pretty: true, dev: 'nitro' } + resetNitroDevOverlayCache() + expect(shouldSuppressNitroDevOverlay()).toBe(false) + }) + describe('EvlogError handling', () => { it('serializes EvlogError with all data fields', async () => { const evlogError = Object.assign(new Error('Payment failed'), { diff --git a/packages/evlog/test/nitro/plugin-enrichment.test.ts b/packages/evlog/test/nitro/plugin-enrichment.test.ts index c52285c6..2915dffc 100644 --- a/packages/evlog/test/nitro/plugin-enrichment.test.ts +++ b/packages/evlog/test/nitro/plugin-enrichment.test.ts @@ -1,60 +1,27 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' +import type { NitroApp } from 'nitropack/types' import { getHeaders } from 'h3' import type { DrainContext, EnrichContext, ServerEvent, WideEvent } from '../../src/types' import { defined } from '../helpers/defined' -import { filterSafeHeaders } from '../../src/utils' -import { createRequestLogger, initLogger } from '../../src/logger' +import { callEnrichAndDrain } from '../../src/nitro/enrich-drain' +import { initLogger } from '../../src/logger' vi.mock('h3', () => ({ getHeaders: vi.fn(), })) -function getSafeHeaders(allHeaders: Partial>): Record { - return filterSafeHeaders(allHeaders) +function asNitroApp(hooks: { callHook: NitroApp['hooks']['callHook'] }): NitroApp { + return { hooks } as NitroApp } - describe('nitro plugin - enrichment pipeline (T7)', () => { - async function callEnrichAndDrain( - nitroApp: { - hooks: { - callHook: (name: string, ctx: EnrichContext | DrainContext) => Promise - } - }, - emittedEvent: WideEvent | null, - event: ServerEvent, - options?: { deferDrain?: boolean }, - ): Promise { - if (!emittedEvent) return - - const allHeaders = getHeaders(event as Parameters[0]) - const hookContext = { - request: { method: event.method, path: event.path, requestId: event.context.requestId as string | undefined }, - headers: getSafeHeaders(allHeaders), - response: { status: 200 }, - } - - try { - await nitroApp.hooks.callHook('evlog:enrich', { event: emittedEvent, ...hookContext }) - } catch (err) { - console.error('[evlog] enrich failed:', err) - } - - const drainPromise = nitroApp.hooks.callHook('evlog:drain', { - event: emittedEvent, - request: hookContext.request, - headers: hookContext.headers, - }).catch((err) => { - console.error('[evlog] drain failed:', err) - }) - - if (options?.deferDrain) { - void drainPromise - return - } + beforeEach(() => { + initLogger({ pretty: false }) + }) - await drainPromise - } + afterEach(() => { + vi.restoreAllMocks() + }) it('calls enrich then drain in sequence', async () => { const callOrder: string[] = [] @@ -81,7 +48,7 @@ describe('nitro plugin - enrichment pipeline (T7)', () => { environment: 'test', } - await callEnrichAndDrain({ hooks: mockHooks }, emittedEvent, mockEvent) + await callEnrichAndDrain(asNitroApp(mockHooks), emittedEvent, mockEvent) expect(callOrder).toEqual(['evlog:enrich', 'evlog:drain']) }) @@ -97,7 +64,7 @@ describe('nitro plugin - enrichment pipeline (T7)', () => { context: {}, } - await callEnrichAndDrain({ hooks: mockHooks }, null, mockEvent) + await callEnrichAndDrain(asNitroApp(mockHooks), null, mockEvent) expect(mockHooks.callHook).not.toHaveBeenCalled() }) @@ -133,7 +100,7 @@ describe('nitro plugin - enrichment pipeline (T7)', () => { environment: 'test', } - await callEnrichAndDrain({ hooks: mockHooks }, emittedEvent, mockEvent) + await callEnrichAndDrain(asNitroApp(mockHooks), emittedEvent, mockEvent) expect(drainCalled).toBe(true) expect(consoleSpy).toHaveBeenCalledWith('[evlog] enrich failed:', expect.any(Error)) @@ -168,7 +135,7 @@ describe('nitro plugin - enrichment pipeline (T7)', () => { } // Should not throw - await callEnrichAndDrain({ hooks: mockHooks }, emittedEvent, mockEvent) + await callEnrichAndDrain(asNitroApp(mockHooks), emittedEvent, mockEvent) await vi.waitFor(() => expect(consoleSpy).toHaveBeenCalledWith('[evlog] drain failed:', expect.any(Error))) consoleSpy.mockRestore() @@ -205,7 +172,7 @@ describe('nitro plugin - enrichment pipeline (T7)', () => { environment: 'test', } - await callEnrichAndDrain({ hooks: mockHooks }, emittedEvent, mockEvent) + await callEnrichAndDrain(asNitroApp(mockHooks), emittedEvent, mockEvent) const drained = defined(drainEvent, 'drainEvent') expect(drained.enriched).toBe(true) @@ -246,7 +213,7 @@ describe('nitro plugin - enrichment pipeline (T7)', () => { environment: 'test', } - await callEnrichAndDrain({ hooks: mockHooks }, emittedEvent, mockEvent) + await callEnrichAndDrain(asNitroApp(mockHooks), emittedEvent, mockEvent) expect(enrichHeaders).toEqual(mockHeaders) expect(drainHeaders).toEqual(mockHeaders) @@ -284,7 +251,7 @@ describe('nitro plugin - enrichment pipeline (T7)', () => { environment: 'test', } - await callEnrichAndDrain({ hooks: mockHooks }, emittedEvent, mockEvent, { deferDrain: true }) + await callEnrichAndDrain(asNitroApp(mockHooks), emittedEvent, mockEvent, { deferDrain: true }) expect(mockWaitUntil).not.toHaveBeenCalled() resolveDrain() @@ -320,7 +287,7 @@ describe('nitro plugin - enrichment pipeline (T7)', () => { } const started = Date.now() - await callEnrichAndDrain({ hooks: mockHooks }, emittedEvent, mockEvent, { deferDrain: true }) + await callEnrichAndDrain(asNitroApp(mockHooks), emittedEvent, mockEvent, { deferDrain: true }) expect(Date.now() - started).toBeLessThan(100) resolveDrain() diff --git a/packages/evlog/test/nitro/plugin.test.ts b/packages/evlog/test/nitro/plugin.test.ts index 74c5a6b1..28eb07e0 100644 --- a/packages/evlog/test/nitro/plugin.test.ts +++ b/packages/evlog/test/nitro/plugin.test.ts @@ -846,7 +846,7 @@ describe('nitro plugin - middleware compatibility (#210)', () => { * Replicates the plugin's `afterResponse` hook logic. */ function simulateAfterResponseHook(event: ServerEvent): { emitted: boolean } { - if (event.context._evlogEmitted || !event.context._evlogShouldEmit) { + if (event.context._evlogEmitted || event.context._evlogEmitting || !event.context._evlogShouldEmit) { return { emitted: false } } const { log } = event.context @@ -863,11 +863,16 @@ describe('nitro plugin - middleware compatibility (#210)', () => { if (!event.context._evlogShouldEmit) return { emitted: false } const { log } = event.context if (!log) return { emitted: false } - log.error(error) - log.set({ status: 500 }) - event.context._evlogEmitted = true - const result = log.emit() - return { emitted: result !== null } + event.context._evlogEmitting = true + try { + log.error(error) + log.set({ status: 500 }) + const result = log.emit() + if (result) event.context._evlogEmitted = true + return { emitted: result !== null } + } finally { + delete event.context._evlogEmitting + } } beforeEach(() => { diff --git a/packages/evlog/test/shared/nitroConfigBridge.test.ts b/packages/evlog/test/shared/nitroConfigBridge.test.ts index a2e1e02f..4175ccd3 100644 --- a/packages/evlog/test/shared/nitroConfigBridge.test.ts +++ b/packages/evlog/test/shared/nitroConfigBridge.test.ts @@ -127,6 +127,12 @@ describe('nitroConfigBridge — active runtime', () => { expect(importSpy).not.toHaveBeenCalled() }) + it('reads inlined config via readEvlogConfigSync', async () => { + globalThis.__EVLOG_CONFIG__ = { env: { service: 'svc-inline' } } + const { readEvlogConfigSync } = await import('../../src/shared/nitroConfigBridge') + expect(readEvlogConfigSync()).toEqual({ env: { service: 'svc-inline' } }) + }) + it('ignores __EVLOG_CONFIG__ when it is not an object literal', async () => { globalThis.__EVLOG_CONFIG__ = 'not-an-object' const { bridge, importSpy } = await loadBridgeWithMocks() From bb22fe45a73bda3438ce2eac1494b26026d8977e Mon Sep 17 00:00:00 2001 From: Hugo Richard Date: Wed, 10 Jun 2026 21:03:51 +0100 Subject: [PATCH 4/5] overall improvements --- apps/docs/content/2.learn/2.wide-events.md | 1 + .../content/2.learn/3.structured-errors.md | 3 + .../3.integrate/frameworks/02.nextjs.md | 15 +- .../app/components/playground/TestCard.vue | 33 +- .../app/composables/useTestRunner.ts | 35 +- .../app/composables/useTestState.ts | 41 +- apps/playground/app/config/tests.config.ts | 33 +- .../server/api/test/structured-error.get.ts | 1 - packages/evlog/src/nitro/plugin.ts | 21 - packages/evlog/test/core/pretty-error.test.ts | 16 +- pnpm-lock.yaml | 1537 +++++++---------- 11 files changed, 735 insertions(+), 1001 deletions(-) diff --git a/apps/docs/content/2.learn/2.wide-events.md b/apps/docs/content/2.learn/2.wide-events.md index 1d33272e..5e6db6d6 100644 --- a/apps/docs/content/2.learn/2.wide-events.md +++ b/apps/docs/content/2.learn/2.wide-events.md @@ -387,6 +387,7 @@ ERROR [checkout] POST /api/checkout 402 in 123ms │ ❯ 42 ┃ throw createError({ code: 'CARD_DECLINED', ... }) │ Why: Issuer declined the charge │ Fix: Ask the customer to use another card + │ stack (3 frames hidden in node_modules) ├─ user: id=1 plan=pro └─ cart: items=3 total=9999 ``` diff --git a/apps/docs/content/2.learn/3.structured-errors.md b/apps/docs/content/2.learn/3.structured-errors.md index 9f12cbf2..a97a97dd 100644 --- a/apps/docs/content/2.learn/3.structured-errors.md +++ b/apps/docs/content/2.learn/3.structured-errors.md @@ -206,6 +206,7 @@ throw createError({ status: 402, why: 'Issuer declined the charge', fix: 'Ask the customer to use another card', + link: 'https://docs.example.com/payments/declined', }) ``` ```bash [Terminal (pretty dev)] @@ -215,6 +216,8 @@ ERROR [checkout] POST /api/checkout 402 in 123ms │ ❯ 42 ┃ throw createError({ code: 'PAYMENT_DECLINED', ... }) │ Why: Issuer declined the charge │ Fix: Ask the customer to use another card + │ More: https://docs.example.com/payments/declined + │ stack (3 frames hidden in node_modules) ├─ user: id=1 plan=pro └─ cart: items=3 total=9999 ``` diff --git a/apps/docs/content/3.integrate/frameworks/02.nextjs.md b/apps/docs/content/3.integrate/frameworks/02.nextjs.md index 9f52f926..26adc686 100644 --- a/apps/docs/content/3.integrate/frameworks/02.nextjs.md +++ b/apps/docs/content/3.integrate/frameworks/02.nextjs.md @@ -359,16 +359,17 @@ export const POST = withEvlog(async (request: Request) => { } ``` -In the terminal, the error renders inside the wide event with colored guidance and a source location: +In the terminal, the error renders inside the wide event — error block first, then request context. Colors and tree connectors render in the terminal; the example below omits ANSI for readability. ```bash [Terminal output] ERROR [app] POST /api/payment/process 402 in 12ms - user: id=user_123 plan=pro - error: Payment declined - at app/api/payment/process/route.ts:18 - ❯ 18 ┃ throw createError({ message: 'Payment declined', ... }) - Why: Card declined by issuer: insufficient_funds - Fix: Try a different payment method or contact your bank + ├─ error: Payment declined + │ at app/api/payment/process/route.ts:336 + │ ❯ 336 ┃ throw createError({ message: 'Payment declined', ... }) + │ Why: Card declined by issuer: insufficient_funds + │ Fix: Try a different payment method or contact your bank + │ stack (3 frames hidden in node_modules) + └─ payment: amount=4999 ``` ### Parsing Errors on the Client diff --git a/apps/playground/app/components/playground/TestCard.vue b/apps/playground/app/components/playground/TestCard.vue index 42edf71e..cff4c87f 100644 --- a/apps/playground/app/components/playground/TestCard.vue +++ b/apps/playground/app/components/playground/TestCard.vue @@ -1,12 +1,11 @@ @@ -85,7 +60,7 @@ async function handleClick() { @click="handleClick" > diff --git a/apps/playground/app/composables/useTestRunner.ts b/apps/playground/app/composables/useTestRunner.ts index 0acb87d7..3ee131f3 100644 --- a/apps/playground/app/composables/useTestRunner.ts +++ b/apps/playground/app/composables/useTestRunner.ts @@ -3,12 +3,8 @@ interface UseTestRunnerOptions { onError?: (error: any) => void endpoint?: string method?: 'GET' | 'POST' - /** Abort $fetch after this many ms (playground cards). */ - timeoutMs?: number } -const DEFAULT_FETCH_TIMEOUT_MS = 15_000 - export function useTestRunner(testId: string, options?: UseTestRunnerOptions) { const state = useTestState() @@ -25,18 +21,9 @@ export function useTestRunner(testId: string, options?: UseTestRunnerOptions) { let response if (options?.endpoint) { - const timeoutMs = options.timeoutMs ?? DEFAULT_FETCH_TIMEOUT_MS - const controller = new AbortController() - const timeoutId = setTimeout(() => controller.abort(), timeoutMs) - - try { - response = await $fetch(options.endpoint, { - method: options.method || 'GET', - signal: controller.signal, - }) - } finally { - clearTimeout(timeoutId) - } + response = await $fetch(options.endpoint, { + method: options.method || 'GET', + }) } else if (fn) { response = await fn() } @@ -46,15 +33,12 @@ export function useTestRunner(testId: string, options?: UseTestRunnerOptions) { options?.onSuccess?.(response) return response - } catch (err: unknown) { + } catch (err: any) { state.setStatus(testId, 'error') - state.setError(testId, summarizeError(err)) + state.setError(testId, err) options?.onError?.(err) + throw err - } finally { - if (state.getStatus(testId) === 'loading') { - state.setStatus(testId, 'idle') - } } } @@ -71,10 +55,3 @@ export function useTestRunner(testId: string, options?: UseTestRunnerOptions) { reset, } } - -function summarizeError(err: unknown): { message: string } { - if (err && typeof err === 'object' && 'message' in err) { - return { message: String((err as { message: unknown }).message) } - } - return { message: String(err) } -} diff --git a/apps/playground/app/composables/useTestState.ts b/apps/playground/app/composables/useTestState.ts index 2f5de9d0..ab8ffab8 100644 --- a/apps/playground/app/composables/useTestState.ts +++ b/apps/playground/app/composables/useTestState.ts @@ -7,18 +7,6 @@ interface TestState { const state = ref>({}) -function patchTest(id: string, patch: Partial): void { - state.value = { - ...state.value, - [id]: { - ...state.value[id], - status: state.value[id]?.status ?? 'idle', - ...patch, - timestamp: Date.now(), - }, - } -} - export function useTestState() { return { getStatus: (id: string) => state.value[id]?.status ?? 'idle', @@ -28,26 +16,39 @@ export function useTestState() { getError: (id: string) => state.value[id]?.error, setStatus: (id: string, status: TestState['status']) => { - patchTest(id, { status }) + if (!state.value[id]) { + state.value[id] = { status, timestamp: Date.now() } + } else { + state.value[id].status = status + state.value[id].timestamp = Date.now() + } }, setResult: (id: string, result: any) => { - patchTest(id, { result, status: state.value[id]?.status ?? 'success' }) + if (!state.value[id]) { + state.value[id] = { status: 'success', result, timestamp: Date.now() } + } else { + state.value[id].result = result + } }, setError: (id: string, error: any) => { - patchTest(id, { error, status: 'error' }) + if (!state.value[id]) { + state.value[id] = { status: 'error', error, timestamp: Date.now() } + } else { + state.value[id].error = error + } }, clearResults: (id: string) => { - if (!state.value[id]) return - patchTest(id, { result: undefined, error: undefined }) + if (state.value[id]) { + state.value[id].result = undefined + state.value[id].error = undefined + } }, clearTest: (id: string) => { - const next = { ...state.value } - delete next[id] - state.value = next + delete state.value[id] }, resetAll: () => { diff --git a/apps/playground/app/config/tests.config.ts b/apps/playground/app/config/tests.config.ts index 0cfe7720..5610dacc 100644 --- a/apps/playground/app/config/tests.config.ts +++ b/apps/playground/app/config/tests.config.ts @@ -16,10 +16,6 @@ export interface TestConfig { color: string } showResult?: boolean - /** $fetch is expected to fail — reset card to idle after handling. */ - expectError?: boolean - /** Show a parseError() toast on fetch failure (use with endpoint + expectError). */ - parseErrorToast?: boolean toastOnSuccess?: { title: string description: string @@ -487,9 +483,32 @@ export const testConfig = { label: 'Trigger API Error', description: 'Server-side structured error displayed as a rich toast with context, suggested fix, and helpful links', color: 'error', - endpoint: '/api/test/structured-error', - expectError: true, - parseErrorToast: true, + onClick: async () => { + try { + await $fetch('/api/test/structured-error') + } catch (err) { + const error = parseError(err) + const toast = useToast() + toast.add({ + title: error.message, + description: error.why, + color: 'error', + actions: error.link + ? [ + { + label: 'Learn more', + onClick: () => { + window.open(error.link, '_blank') + }, + } + ] + : undefined, + }) + if (error.fix) { + console.info(`💡 Fix: ${error.fix}`) + } + } + }, badge: { label: 'parseError()', color: 'red', diff --git a/apps/playground/server/api/test/structured-error.get.ts b/apps/playground/server/api/test/structured-error.get.ts index 20c37bcf..07e6f846 100644 --- a/apps/playground/server/api/test/structured-error.get.ts +++ b/apps/playground/server/api/test/structured-error.get.ts @@ -97,7 +97,6 @@ export default defineEventHandler(async (event) => { }, }) - await new Promise(resolve => setTimeout(resolve, 100)) logger.set({ attempt: { diff --git a/packages/evlog/src/nitro/plugin.ts b/packages/evlog/src/nitro/plugin.ts index a836caed..61fd6cc7 100644 --- a/packages/evlog/src/nitro/plugin.ts +++ b/packages/evlog/src/nitro/plugin.ts @@ -21,27 +21,6 @@ function getSafeHeaders(event: ServerEvent): Record { return filterSafeHeaders(allHeaders) } -function getSafeResponseHeaders(event: ServerEvent): Record | undefined { - const headers: Record = {} - const nodeRes = event.node?.res as { getHeaders?: () => Record } | undefined - - if (nodeRes?.getHeaders) { - for (const [key, value] of Object.entries(nodeRes.getHeaders())) { - if (value === undefined) continue - headers[key] = Array.isArray(value) ? value.join(', ') : String(value) - } - } - - if (event.response?.headers) { - event.response.headers.forEach((value, key) => { - headers[key] = value - }) - } - - if (Object.keys(headers).length === 0) return undefined - return filterSafeHeaders(headers) -} - function getResponseStatus(event: ServerEvent): number { // Node.js style if (event.node?.res?.statusCode) { diff --git a/packages/evlog/test/core/pretty-error.test.ts b/packages/evlog/test/core/pretty-error.test.ts index fe9b13f4..4746ce29 100644 --- a/packages/evlog/test/core/pretty-error.test.ts +++ b/packages/evlog/test/core/pretty-error.test.ts @@ -14,7 +14,7 @@ import { } from '../../src/shared/pretty-error' import { readCodeSnippetFromDisk } from '../../src/shared/pretty-error-snippet.node' import { enrichErrorStackForDev } from '../../src/shared/enrich-error-stack.node' -import { shouldShowFrameworkOverlay, prependNitroErrorHandler } from '../../src/nitro' +import { prependNitroErrorHandler } from '../../src/nitro' const SAMPLE_STACK = `Error: Payment processing failed at Object.handler (file:///Users/dev/project/server/api/test.get.ts:100:0) @@ -203,20 +203,6 @@ at async file:///Users/dev/project/node_modules/h3/dist/index.mjs:2017:19` }) }) -describe('framework overlay routing', () => { - const originalEnv = process.env.NODE_ENV - - afterEach(() => { - process.env.NODE_ENV = originalEnv - }) - - it('defaults to no Nitro overlay in pretty dev and allows opt-in', () => { - process.env.NODE_ENV = 'development' - expect(shouldShowFrameworkOverlay({ pretty: true })).toBe(false) - expect(shouldShowFrameworkOverlay({ pretty: true, dev: 'nitro' })).toBe(true) - }) -}) - describe('prependNitroErrorHandler', () => { const handler = '/evlog/nitro/errorHandler' diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eae7b672..d5cb7147 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,13 +20,13 @@ importers: version: 0.6.0 '@changesets/cli': specifier: ^2.31.0 - version: 2.31.0(@types/node@25.9.2) + version: 2.31.0(@types/node@25.9.1) '@hrcd/eslint-config': specifier: ^3.0.3 version: 3.0.3(@types/estree@1.0.8)(@typescript-eslint/utils@8.59.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) '@types/node': specifier: latest - version: 25.9.2 + version: 25.9.1 ai: specifier: ^6.0.168 version: 6.0.174(zod@4.4.3) @@ -53,7 +53,7 @@ importers: version: 6.0.3 vitest: specifier: ^4.1.5 - version: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) vue-tsc: specifier: ^3.2.7 version: 3.2.7(typescript@6.0.3) @@ -62,34 +62,34 @@ importers: dependencies: '@databuddy/nuxt': specifier: ^2.4.20 - version: 2.4.20(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(react@19.2.5)(vue@3.5.33(typescript@6.0.3)) + version: 2.4.20(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(react@19.2.5)(vue@3.5.33(typescript@6.0.3)) '@nuxt/fonts': specifier: 0.14.0 - version: 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/ui': specifier: ^4.7.1 - version: 4.7.1(c798cb8bf9acd96971fafb624fbbb388) + version: 4.7.1(2656a2e1b3f45cbcb1b0ed8e6886ccc5) '@resvg/resvg-js': specifier: ^2.6.2 version: 2.6.2 '@vercel/analytics': specifier: ^2.0.1 - version: 2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3)) + version: 2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3)) '@vercel/speed-insights': specifier: ^2.0.0 - version: 2.0.0(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3)) + version: 2.0.0(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3)) better-sqlite3: specifier: ^12.9.0 version: 12.9.0 docus: specifier: ^5.10.1 - version: 5.10.1(7685c4646555465e63fcecbf5dabdbc1) + version: 5.10.1(6f8da7f1805eae88a33d7eaaf6520657) motion-v: specifier: ^2.2.1 version: 2.2.1(@vueuse/core@14.3.0(vue@3.5.33(typescript@6.0.3)))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vue@3.5.33(typescript@6.0.3)) nuxt: specifier: ^4.4.4 - version: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) + version: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) nuxt-studio: specifier: ^1.6.1 version: 1.7.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vue@3.5.33(typescript@6.0.3)) @@ -108,25 +108,25 @@ importers: dependencies: '@comark/nuxt': specifier: ^0.3.1 - version: 0.3.1(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(shiki@4.0.2)(vue@3.5.33(typescript@6.0.3)) + version: 0.3.1(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(shiki@4.0.2)(vue@3.5.33(typescript@6.0.3)) '@nuxt/content': specifier: ^3.13.0 version: 3.13.0(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(magicast@0.5.2)(valibot@1.3.1(typescript@6.0.3)) '@nuxt/ui': specifier: ^4.7.0 - version: 4.7.1(5a1804de87dec3069bdc296474954815) + version: 4.7.1(109150d128b872a97f6986298b4d3c90) '@nuxtjs/sitemap': specifier: ^8.0.14 - version: 8.0.15(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) + version: 8.0.15(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) '@vercel/analytics': specifier: ^2.0.1 - version: 2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3)) + version: 2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3)) better-sqlite3: specifier: ^12.9.0 version: 12.9.0 nuxt: specifier: ^4.4.2 - version: 4.4.4(4ce79750208d3e950bc761cf7e0cc582) + version: 4.4.4(71801589c663398b7779b77c63f5f3ce) shiki: specifier: 4.0.2 version: 4.0.2 @@ -177,10 +177,10 @@ importers: devDependencies: nitro: specifier: latest - version: 3.0.260603-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 3.0.260522-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) rolldown: specifier: latest - version: 1.1.0 + version: 1.0.2 apps/nitro-v2-playground: dependencies: @@ -193,7 +193,7 @@ importers: version: 1.15.11 nitropack: specifier: ^2.13.3 - version: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.1.0) + version: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.2) apps/nuxthub-playground: dependencies: @@ -226,7 +226,7 @@ importers: version: 1.0.0(@types/markdown-it@14.1.2)(react@19.2.5)(solid-js@1.9.12)(vue@3.5.33(typescript@5.9.3)) nuxt: specifier: ^4.4.2 - version: 4.4.4(1c432982cee559849a9dc4decf895c74) + version: 4.4.4(cc4ec224de2d6c06d027ec9a27895e5a) zod: specifier: ^4.3.6 version: 4.4.2 @@ -235,10 +235,10 @@ importers: dependencies: '@nuxt/ui': specifier: ^4.7.0 - version: 4.7.1(1b8b6418ae6538673ae66063694798f2) + version: 4.7.1(9c604e4823094c28297bcc41a9ac055f) better-auth: specifier: ^1.6.9 - version: 1.6.9(f9815333d8d125e43abb2cbad61bf376) + version: 1.6.9(6b0cd9af6c9287e56cc355f1dcb65e87) better-sqlite3: specifier: ^12.9.0 version: 12.9.0 @@ -247,7 +247,7 @@ importers: version: link:../../packages/evlog nuxt: specifier: ^4.4.2 - version: 4.4.4(4ce79750208d3e950bc761cf7e0cc582) + version: 4.4.4(71801589c663398b7779b77c63f5f3ce) tailwindcss: specifier: ^4.2.4 version: 4.2.4 @@ -291,7 +291,7 @@ importers: version: 5.9.3 vitest: specifier: ^4.1.5 - version: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) examples/community-enricher-skeleton: devDependencies: @@ -303,7 +303,7 @@ importers: version: 5.9.3 vitest: specifier: ^4.1.5 - version: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) examples/community-framework-skeleton: devDependencies: @@ -417,10 +417,10 @@ importers: dependencies: '@orpc/openapi': specifier: ^1.14.2 - version: 1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.16))(fastify@5.8.5)(ws@8.20.0) + version: 1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.15))(fastify@5.8.5)(ws@8.20.0) '@orpc/server': specifier: ^1.14.2 - version: 1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.16))(fastify@5.8.5)(ws@8.20.0) + version: 1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.15))(fastify@5.8.5)(ws@8.20.0) evlog: specifier: workspace:* version: link:../../packages/evlog @@ -458,7 +458,7 @@ importers: devDependencies: '@react-router/dev': specifier: ^7.9.0 - version: 7.14.2(@react-router/serve@7.14.2(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(typescript@5.9.3))(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(wrangler@3.114.17(@cloudflare/workers-types@4.20260503.1))(yaml@2.8.4) + version: 7.14.2(@react-router/serve@7.14.2(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(typescript@5.9.3))(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(wrangler@3.114.17(@cloudflare/workers-types@4.20260503.1))(yaml@2.8.4) '@types/react': specifier: ^19.0.0 version: 19.2.14 @@ -470,17 +470,7 @@ importers: version: 5.9.3 vite: specifier: ^6.0.0 - version: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - - examples/repro: - dependencies: - evlog: - specifier: workspace:* - version: link:../../packages/evlog - devDependencies: - tsx: - specifier: ^4.20.7 - version: 4.21.0 + version: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) examples/solidstart: dependencies: @@ -489,7 +479,7 @@ importers: version: 0.15.4(solid-js@1.9.12) '@solidjs/start': specifier: ^1.2.1 - version: 1.3.2(solid-js@1.9.12)(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 1.3.2(solid-js@1.9.12)(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) evlog: specifier: workspace:* version: link:../../packages/evlog @@ -509,19 +499,19 @@ importers: devDependencies: '@sveltejs/adapter-node': specifier: ^5.2.12 - version: 5.5.4(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))) + version: 5.5.4(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))) '@sveltejs/kit': specifier: ^2.21.1 - version: 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@sveltejs/vite-plugin-svelte': specifier: ^5.0.3 - version: 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) svelte: specifier: ^5.28.2 version: 5.55.5(@typescript-eslint/types@8.59.1) vite: specifier: ^6.3.5 - version: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + version: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) examples/tanstack-start: dependencies: @@ -542,7 +532,7 @@ importers: version: 1.166.12(@tanstack/query-core@5.100.9)(@tanstack/react-query@5.100.9(react@19.2.5))(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@tanstack/router-core@1.169.1)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/react-start': specifier: ^1.132.0 - version: 1.167.61(crossws@0.4.5(srvx@0.8.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 1.167.61(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@tanstack/router-plugin': specifier: ^1.132.0 version: 1.167.32(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) @@ -554,7 +544,7 @@ importers: version: 0.545.0(react@19.2.5) nitro: specifier: npm:nitro-nightly@latest - version: nitro-nightly@4.0.0-20251010-091516-7cafddba(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@4.0.3)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(lru-cache@11.3.5)(rolldown@1.1.0)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: nitro-nightly@3.0.260522-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) react: specifier: ^19.2.0 version: 19.2.5 @@ -604,10 +594,10 @@ importers: devDependencies: vite: specifier: ^7.0.0 - version: 7.3.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + version: 7.3.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vite-node: specifier: ^3.2.3 - version: 3.2.4(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + version: 3.2.4(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) examples/workers: dependencies: @@ -642,7 +632,7 @@ importers: devDependencies: '@codspeed/vitest-plugin': specifier: ^5.3.0 - version: 5.4.0(tinybench@2.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) + version: 5.4.0(tinybench@2.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) '@nestjs/common': specifier: ^11.1.19 version: 11.1.19(reflect-metadata@0.2.2)(rxjs@7.8.2) @@ -657,13 +647,13 @@ importers: version: 11.1.19(@nestjs/common@11.1.19(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.19)(@nestjs/platform-express@11.1.19) '@nuxt/devtools': specifier: ^3.2.4 - version: 3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + version: 3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/schema': specifier: ^4.4.2 version: 4.4.4 '@nuxt/test-utils': specifier: ^4.0.3 - version: 4.0.3(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) + version: 4.0.3(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) '@orpc/client': specifier: ^1.14.2 version: 1.14.2(@opentelemetry/api@1.9.0) @@ -672,13 +662,13 @@ importers: version: 1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.15))(fastify@5.8.5)(ws@8.20.0) '@stryker-mutator/core': specifier: ^9.6.1 - version: 9.6.1(@types/node@25.9.2) + version: 9.6.1(@types/node@25.9.1) '@stryker-mutator/vitest-runner': specifier: ^9.6.1 - version: 9.6.1(@stryker-mutator/core@9.6.1(@types/node@25.9.2))(vitest@4.1.5) + version: 9.6.1(@stryker-mutator/core@9.6.1(@types/node@25.9.1))(vitest@4.1.5) '@sveltejs/kit': specifier: ^2.59.0 - version: 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@swc/core': specifier: ^1.15.33 version: 1.15.33(@swc/helpers@0.5.21) @@ -723,13 +713,13 @@ importers: version: 0.30.21 nitro: specifier: ^3.0.260311-beta - version: 3.0.260311-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + version: 3.0.260311-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) nitropack: specifier: ^2.13.3 version: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.0-rc.17) nuxt: specifier: ^4.4.2 - version: 4.4.4(da3747dc41af2761a854c4df2428c224) + version: 4.4.4(163941d31dc8937f73f0941c905f113a) pino: specifier: ^10.3.1 version: 10.3.1 @@ -759,7 +749,7 @@ importers: version: 1.5.9(@swc/core@1.15.33(@swc/helpers@0.5.21))(rollup@4.60.2) vite: specifier: ^8.0.10 - version: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + version: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) winston: specifier: ^3.19.0 version: 3.19.0 @@ -3841,9 +3831,6 @@ packages: '@oxc-project/types@0.132.0': resolution: {integrity: sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==} - '@oxc-project/types@0.134.0': - resolution: {integrity: sha512-T0xuRRKrQFmocH8y+jGfpmSkGcheaJExY9lEihmR1Gm2aH+75B8CzgU2rABRQSzzDxLjZ15Sc0bRVLj5lVeNXQ==} - '@oxc-transform/binding-android-arm-eabi@0.112.0': resolution: {integrity: sha512-r4LuBaPnOAi0eUOBNi880Fm2tO2omH7N1FRrL6+nyz/AjQ+QPPLtoyZJva0O+sKi1buyN/7IzM5p9m+5ANSDbg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -4373,14 +4360,14 @@ packages: cpu: [arm64] os: [android] - '@rolldown/binding-android-arm64@1.0.2': - resolution: {integrity: sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ==} + '@rolldown/binding-android-arm64@1.0.0-rc.18': + resolution: {integrity: sha512-lIDyUAfD7U3+BWKzdxMbJcsYHuqXqmGz40aeRqvuAm3y5TkJSYTBW2RDrn65DJFPQqVjUAUqq5uz8urzQ8aBdQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-android-arm64@1.1.0': - resolution: {integrity: sha512-gCYzGOSkYY6Z034suzd20euvds7lPzMEEla62DJGE/ZAlR4OMBnNbvnBSsIGUCAr52gaWMsloGxP4tVGtN5aCA==} + '@rolldown/binding-android-arm64@1.0.2': + resolution: {integrity: sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] @@ -4397,14 +4384,14 @@ packages: cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-arm64@1.0.2': - resolution: {integrity: sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w==} + '@rolldown/binding-darwin-arm64@1.0.0-rc.18': + resolution: {integrity: sha512-apJq2ktnGp27nSInMR5Vcj8kY6xJzDAvfdIFlpDcAK/w4cDO58qVoi1YQsES/SKiFNge/6e4CUzgjfHduYqWpQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-arm64@1.1.0': - resolution: {integrity: sha512-JQBD77MNgu+4Z6RAyg69acugdrhhVoWesr3l47zohYZ2YV2fwkWMArkN/2p4l6Ei+Sno7W5q+UsKdVWq5Ens0w==} + '@rolldown/binding-darwin-arm64@1.0.2': + resolution: {integrity: sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] @@ -4421,14 +4408,14 @@ packages: cpu: [x64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.2': - resolution: {integrity: sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA==} + '@rolldown/binding-darwin-x64@1.0.0-rc.18': + resolution: {integrity: sha512-5Ofot8xbs+pxRHJqm9/9N/4sTQOvdrwEsmPE9pdLEEoAbdZtG6F2LMDfO1sp6ZAtXJuJV/21ew2srq3W8NXB5g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-darwin-x64@1.1.0': - resolution: {integrity: sha512-p/8cXUTK4Sob604e+xxPhVSbDFf29E6J0l/xESM9rdCfn3aDai3nEs6TnMHUsdD5aNlFz0+gDbiGlozLKGa2YA==} + '@rolldown/binding-darwin-x64@1.0.2': + resolution: {integrity: sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] @@ -4445,14 +4432,14 @@ packages: cpu: [x64] os: [freebsd] - '@rolldown/binding-freebsd-x64@1.0.2': - resolution: {integrity: sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA==} + '@rolldown/binding-freebsd-x64@1.0.0-rc.18': + resolution: {integrity: sha512-7h8eeOTT1eyqJyx64BFCnWZpNm486hGWt2sqeLLgDxA0xI1oGZ9H7gK1S85uNGmBhkdPwa/6reTxfFFKvIsebw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-freebsd-x64@1.1.0': - resolution: {integrity: sha512-KbtOSlVv6fElujiZWMcC3aQYhEwLVVf073RcwlSmpGQvIsKZFUqc0ef4sjUuurRwfbiI6JJXji9DQn+86hawmQ==} + '@rolldown/binding-freebsd-x64@1.0.2': + resolution: {integrity: sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] @@ -4469,14 +4456,14 @@ packages: cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm-gnueabihf@1.0.2': - resolution: {integrity: sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.18': + resolution: {integrity: sha512-eRcm/HVt9U/JFu5RKAEKwGQYtDCKWLiaH6wOnsSEp6NMBb/3Os8LgHZlNyzMpFVNmiiMFlfb2zEnebfzJrHFmg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm-gnueabihf@1.1.0': - resolution: {integrity: sha512-9fZ9i0o0/MQaw7om6Z6TsT7tfCk0jtbEFtC+aPqZL5RNsGWNcHvn6EHgL3dAprjq+AZzPTAQjg2JtpJaMt+6pg==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.2': + resolution: {integrity: sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] @@ -4495,15 +4482,15 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-gnu@1.0.2': - resolution: {integrity: sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.18': + resolution: {integrity: sha512-SOrT/cT4ukTmgnrEz/Hg3m7LBnuCLW9psDeMKrimRWY4I8DmnO7Lco8W2vtqPmMkbVu8iJ+g4GFLVLLOVjJ9DQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-gnu@1.1.0': - resolution: {integrity: sha512-+tog7T66i+yFyIuuAnjL6xmW182W/qTBOUt6BtQ6lBIM1Eikh/fSMz4HGgvuCp5uU0zuIVWng7kDYthjCMOHcg==} + '@rolldown/binding-linux-arm64-gnu@1.0.2': + resolution: {integrity: sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -4523,15 +4510,15 @@ packages: os: [linux] libc: [musl] - '@rolldown/binding-linux-arm64-musl@1.0.2': - resolution: {integrity: sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==} + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.18': + resolution: {integrity: sha512-QWjdxN1HJCpBTAcZ5N5F7wju3gVPzRzSpmGzx7na0c/1qpN9CFil+xt+l9lV/1M6/gqHSNXCiqPfwhVJPeLnug==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-arm64-musl@1.1.0': - resolution: {integrity: sha512-4b7yruLIIj/oZ3GpcLOvxcLCLDMraohn3IhQfN2hBP4w9UekG0DTIajWguJosRGfySf/+h/NwRUiMKoCpxCrqQ==} + '@rolldown/binding-linux-arm64-musl@1.0.2': + resolution: {integrity: sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -4544,15 +4531,15 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-ppc64-gnu@1.0.2': - resolution: {integrity: sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==} + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.18': + resolution: {integrity: sha512-ugCOyj7a4d9h3q9B+wXmf6g3a68UsjGh6dob5DHevHGMwDUbhsYNbSPxJsENcIttJZ9jv7qGM2UesLw5jqIhdg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-ppc64-gnu@1.1.0': - resolution: {integrity: sha512-QRDOVZd0bhQ5jLsUsCC3dUxDWdTSVY9WMznowZgCGOrZfLLgctWpelhUASEiBwsXfat/JwYnVd1EaxMhqyT+UQ==} + '@rolldown/binding-linux-ppc64-gnu@1.0.2': + resolution: {integrity: sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] @@ -4565,15 +4552,15 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.2': - resolution: {integrity: sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==} + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.18': + resolution: {integrity: sha512-kKWRhbsotpXkGbcd5dllUWg5gEXcDAa8u5YnP9AV5DYNbvJHGzzuwv7dpmhc8NqKMJldl0a+x76IHbspEpEmdA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.1.0': - resolution: {integrity: sha512-ypxT+Hq76NFG7woFbNbySnGEajFuYuIXeKz/jfCU+lXUoxfi3zLE6OG/ZQNeK3RpZSYJlAe2bokpsQ046CaieQ==} + '@rolldown/binding-linux-s390x-gnu@1.0.2': + resolution: {integrity: sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] @@ -4593,15 +4580,15 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.2': - resolution: {integrity: sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==} + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.18': + resolution: {integrity: sha512-uCo8ElcCIAMyYAZyuIZ81oFkhTSIllNvUCHCAlbhlN4ji3uC28h7IIdlXyIvGO7HsuqnV9p3rD/bpH7XhIyhRw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.1.0': - resolution: {integrity: sha512-IdovCmfROFmpTLahdecTDFL74aLERVYN68F/mLZjfVh6LfoplPfI6deyHNMTcVujbokDV5k05XrFO22zfv+qjg==} + '@rolldown/binding-linux-x64-gnu@1.0.2': + resolution: {integrity: sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -4621,15 +4608,15 @@ packages: os: [linux] libc: [musl] - '@rolldown/binding-linux-x64-musl@1.0.2': - resolution: {integrity: sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==} + '@rolldown/binding-linux-x64-musl@1.0.0-rc.18': + resolution: {integrity: sha512-XNOQZtuE6yUIvx4rwGemwh8kpL1xvU41FXy/s9K7T/3JVcqGzo3NfKM2HrbrGgfPYGFW42f07Wk++aOC6B9NWA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-linux-x64-musl@1.1.0': - resolution: {integrity: sha512-pcA8xlFp2tyk9T2R6Fi/rPe3bQ1MA+sSMDNUU5Ogu80GHOatkE4P8YCreGAvZErm5Ho2YRXnyvNrWiRncfVysQ==} + '@rolldown/binding-linux-x64-musl@1.0.2': + resolution: {integrity: sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -4647,14 +4634,14 @@ packages: cpu: [arm64] os: [openharmony] - '@rolldown/binding-openharmony-arm64@1.0.2': - resolution: {integrity: sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w==} + '@rolldown/binding-openharmony-arm64@1.0.0-rc.18': + resolution: {integrity: sha512-tSn/kzrfa7tNOXr7sEacDBN4YsIqTyLqh45IO0nHDwtpKIDNDJr+VFojt+4klSpChxB29JLyduSsE0MKEwa65A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-openharmony-arm64@1.1.0': - resolution: {integrity: sha512-4+fexHayrLCWpriPh4c6dNvL4an34DEZCG7zOM/FD5QNF6h8DT+bDXzyB/kfC8lDJbaFb7jKShtnjDQFXVQEjg==} + '@rolldown/binding-openharmony-arm64@1.0.2': + resolution: {integrity: sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] @@ -4669,13 +4656,13 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-wasm32-wasi@1.0.2': - resolution: {integrity: sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ==} + '@rolldown/binding-wasm32-wasi@1.0.0-rc.18': + resolution: {integrity: sha512-+J9YGmc+czgqlhYmwun3S3O0FIZhsH8ep2456xwjAdIOmuJxM7xz4P4PtrxU+Bz17a/5bqPA8o3HAAoX0teUdg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-wasm32-wasi@1.1.0': - resolution: {integrity: sha512-SbL++MNmOw6QamrwIGDMSSfM4ceTzFr+RjbOExJSLLBinScU4WI5OdA413h1qwPw2yH7lVF1+H4svQ+6mSXKTQ==} + '@rolldown/binding-wasm32-wasi@1.0.2': + resolution: {integrity: sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] @@ -4691,14 +4678,14 @@ packages: cpu: [arm64] os: [win32] - '@rolldown/binding-win32-arm64-msvc@1.0.2': - resolution: {integrity: sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.18': + resolution: {integrity: sha512-zsu47DgU0FQzSwi6sU9dZoEdUv7pc1AptSEz/Z8HBg54sV0Pbs3N0+CrIbTsgiu6EyoaNN9CHboqbLaz9lhOyQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-arm64-msvc@1.1.0': - resolution: {integrity: sha512-+xTE6XC7wBgk0VKRXGG+QAnyW5S9b8vfsFpiMjf0waQTmSQSU8onsH/beyZ8X4aXVveJnotiy7VDjLOaW8bTrg==} + '@rolldown/binding-win32-arm64-msvc@1.0.2': + resolution: {integrity: sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] @@ -4715,14 +4702,14 @@ packages: cpu: [x64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.2': - resolution: {integrity: sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ==} + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.18': + resolution: {integrity: sha512-7H+3yqGgmnlDTRRhw/xpYY9J1kf4GC681nVc4GqKhExZTDrVVrV2tsOR9kso0fvgBdcTCcQShx4SLLoHgaLwhg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.1.0': - resolution: {integrity: sha512-Ogji1TQNqH3ACLnYr+1Ns1nyrJ0CO2P585u9Hsh02pXvtFiFpgtgT2b3P4PnCOU86VVCvqtAeCN4OftMT8KU4w==} + '@rolldown/binding-win32-x64-msvc@1.0.2': + resolution: {integrity: sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -6084,8 +6071,8 @@ packages: '@types/node@22.19.17': resolution: {integrity: sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==} - '@types/node@25.9.2': - resolution: {integrity: sha512-G05zqtJhcDLb8uslf5EjCxXg9G1KQxiV8OS0R26IC//Eoyitzqe8z37I7cqvnZlrlSfgocQRfSn/AHBZJJFyGw==} + '@types/node@25.9.1': + resolution: {integrity: sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==} '@types/parse-path@7.1.0': resolution: {integrity: sha512-EULJ8LApcVEPbrfND0cRQqutIOdiIgJ1Mgrhpy755r14xMohPTEpkV/k28SJvuOs9bHRFW8x+KeDAEPiGQPB9Q==} @@ -8734,15 +8721,6 @@ packages: h3@1.15.3: resolution: {integrity: sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ==} - h3@2.0.1-rc.2: - resolution: {integrity: sha512-2vS7OETzPDzGQxmmcs6ttu7p0NW25zAdkPXYOr43dn4GZf81uUljJvupa158mcpUGpsQUqIy4O4THWUQT1yVeA==} - engines: {node: '>=20.11.1'} - peerDependencies: - crossws: ^0.4.1 - peerDependenciesMeta: - crossws: - optional: true - h3@2.0.1-rc.20: resolution: {integrity: sha512-28ljodXuUp0fZovdiSRq4G9OgrxCztrJe5VdYzXAB7ueRvI7pIUqLU14Xi3XqdYJ/khXjfpUOOD2EQa6CmBgsg==} engines: {node: '>=20.11.1'} @@ -9969,30 +9947,42 @@ packages: sass: optional: true - nf3@0.1.12: - resolution: {integrity: sha512-qbMXT7RTGh74MYWPeqTIED8nDW70NXOULVHpdWcdZ7IVHVnAsMV9fNugSNnvooipDc1FMOzpis7T9nXJEbJhvQ==} - nf3@0.3.16: resolution: {integrity: sha512-Gs0xRPpUm2nDkqbi40NJ9g7qDIcjcJzgExiydnq6LAyqhI2jfno8wG3NKTL+IiJsx799UHOb1CnSd4Wg4SG4Pw==} nf3@0.3.17: resolution: {integrity: sha512-N9zEWySuJFw+gR0lhS5863YsvNeudOdqRyFvNb+jMXbeTJOdrjDqkCpDginIZfUm0LzT1t1nCRiDeqQm/8kirQ==} - nitro-nightly@4.0.0-20251010-091516-7cafddba: - resolution: {integrity: sha512-biADkmoR/Nb9OmUURTfDI2BpGo2IMEt2RbsiMhjqdwz2w3tEm+tx0Hd28LXjBCwid+l8jpqyfmpwc8jzwdng3w==} + nitro-nightly@3.0.260522-beta: + resolution: {integrity: sha512-Pm0AiQ1nLcreUFZKJcmVI4l9K/ygXoFamIPhc44XJHj9vmt25Rlqjv55frw6sS0L1qHrySpo3xyVVBmR9aTBqA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - rolldown: '*' - vite: ^7 + '@vercel/queue': ^0.2.0 + dotenv: '*' + giget: '*' + jiti: ^2.6.1 + rollup: ^4.60.3 + vite: ^7 || ^8 xml2js: ^0.6.2 + zephyr-agent: ^0.2.0 peerDependenciesMeta: - rolldown: + '@vercel/queue': + optional: true + dotenv: + optional: true + giget: + optional: true + jiti: + optional: true + rollup: optional: true vite: optional: true xml2js: optional: true + zephyr-agent: + optional: true nitro@3.0.260311-beta: resolution: {integrity: sha512-0o0fJ9LUh4WKUqJNX012jyieUOtMCnadkNDWr0mHzdraoHpJP/1CGNefjRyZyMXSpoJfwoWdNEZu2iGf35TUvQ==} @@ -10022,16 +10012,16 @@ packages: zephyr-agent: optional: true - nitro@3.0.260603-beta: - resolution: {integrity: sha512-ffaSHK00a7YDlDizoEHwcxPwpQpdBRRA8k42ymTsRnfl3ipGeKgv4gnPr6DgmCNTo4tYVPK3bHBEv1gNhWpo/A==} + nitro@3.0.260522-beta: + resolution: {integrity: sha512-L/z2eOWgkiQHc65kv+SEMgau505afSRF7NJlbooaaZEZscFrNSD7rXZzeVubQlgIzPbhOG8o73bk9soIiGTHRA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@vercel/queue': ^0.2.0 dotenv: '*' giget: '*' - jiti: ^2.7.0 - rollup: ^4.60.4 + jiti: ^2.6.1 + rollup: ^4.60.3 vite: ^7 || ^8 xml2js: ^0.6.2 zephyr-agent: ^0.2.0 @@ -11014,10 +11004,6 @@ packages: remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - rendu@0.0.6: - resolution: {integrity: sha512-nZ512Dw0MxKiIYfCVv8DPe6ig4m0Qt3FOYBJEXrammjIYBBPuHaudc0AGfYx+iyOw2q0itAtPywiVZXtTFCsig==} - hasBin: true - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -11108,13 +11094,13 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rolldown@1.0.2: - resolution: {integrity: sha512-oZx5zVDtVB44AW3eaifgDml1gWRDZGvjcfdxonE4swNPG98PrrXjaO/KrnUjzlMnztCCRVlUueA1kCXhARGk6g==} + rolldown@1.0.0-rc.18: + resolution: {integrity: sha512-phmyKBpuBdRYDf4hgyynGAYn/rDDe+iZXKVJ7WX5b1zQzpLkP5oJRPGsfJuHdzPMlyyEO/4sPW6yfSx2gf7lVg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rolldown@1.1.0: - resolution: {integrity: sha512-zpMvlJhs5PkXRTtKc0CaLBVI9AR/VDiJFpM+kx//hgToEca7FgMlGjaRIisXBcb19T76LswgmKECSQ96hjWr5A==} + rolldown@1.0.2: + resolution: {integrity: sha512-oZx5zVDtVB44AW3eaifgDml1gWRDZGvjcfdxonE4swNPG98PrrXjaO/KrnUjzlMnztCCRVlUueA1kCXhARGk6g==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -11494,16 +11480,6 @@ packages: engines: {node: '>=20.16.0'} hasBin: true - srvx@0.11.16: - resolution: {integrity: sha512-bp07zRuycfTY43IjAvvTFnmnJi8ikW0VFiHwOhhYcVW/L4xQ1XY4PAd4Nuum1rsA17C39zL7x+CDhrn5AL32Rw==} - engines: {node: '>=20.16.0'} - hasBin: true - - srvx@0.8.16: - resolution: {integrity: sha512-hmcGW4CgroeSmzgF1Ihwgl+Ths0JqAJ7HwjP2X7e3JzY7u4IydLMcdnlqGQiQGUswz+PO9oh/KtCpOISIvs9QQ==} - engines: {node: '>=20.16.0'} - hasBin: true - stable-hash-x@0.2.0: resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==} engines: {node: '>=12.0.0'} @@ -12009,9 +11985,6 @@ packages: unenv@2.0.0-rc.14: resolution: {integrity: sha512-od496pShMen7nOy5VmVJCnq8rptd45vh6Nx/r2iPbrba6pa6p+tS2ywuIHRZ/OBvSbQZB0kWvpO9XBNVFXHD3Q==} - unenv@2.0.0-rc.21: - resolution: {integrity: sha512-Wj7/AMtE9MRnAXa6Su3Lk0LNCfqDYgfwVjwRFVum9U7wsto1imuHqk4kTm7Jni+5A0Hn7dttL6O/zjvUvoo+8A==} - unenv@2.0.0-rc.24: resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} @@ -12198,80 +12171,6 @@ packages: uploadthing: optional: true - unstorage@2.0.0-alpha.3: - resolution: {integrity: sha512-BeoqISVh8jxqnPseHH7/92twe2VkQztrudXg8RFZVbXb4ckkFdpLk1LnNvsUndDltyodBMVxgI6V7JcbJYt2VQ==} - peerDependencies: - '@azure/app-configuration': ^1.8.0 - '@azure/cosmos': ^4.2.0 - '@azure/data-tables': ^13.3.0 - '@azure/identity': ^4.6.0 - '@azure/keyvault-secrets': ^4.9.0 - '@azure/storage-blob': ^12.26.0 - '@capacitor/preferences': ^6.0.3 || ^7.0.0 - '@deno/kv': '>=0.9.0' - '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 - '@planetscale/database': ^1.19.0 - '@upstash/redis': ^1.34.3 - '@vercel/blob': '>=0.27.1' - '@vercel/functions': ^2.2.12 || ^3.0.0 - '@vercel/kv': ^1.0.1 - aws4fetch: ^1.0.20 - chokidar: ^4.0.3 - db0: '>=0.2.1' - idb-keyval: ^6.2.1 - ioredis: ^5.4.2 - lru-cache: ^11.2.2 - mongodb: ^6.20.0 - ofetch: ^1.4.1 - uploadthing: ^7.4.4 - peerDependenciesMeta: - '@azure/app-configuration': - optional: true - '@azure/cosmos': - optional: true - '@azure/data-tables': - optional: true - '@azure/identity': - optional: true - '@azure/keyvault-secrets': - optional: true - '@azure/storage-blob': - optional: true - '@capacitor/preferences': - optional: true - '@deno/kv': - optional: true - '@netlify/blobs': - optional: true - '@planetscale/database': - optional: true - '@upstash/redis': - optional: true - '@vercel/blob': - optional: true - '@vercel/functions': - optional: true - '@vercel/kv': - optional: true - aws4fetch: - optional: true - chokidar: - optional: true - db0: - optional: true - idb-keyval: - optional: true - ioredis: - optional: true - lru-cache: - optional: true - mongodb: - optional: true - ofetch: - optional: true - uploadthing: - optional: true - unstorage@2.0.0-alpha.7: resolution: {integrity: sha512-ELPztchk2zgFJnakyodVY3vJWGW9jy//keJ32IOJVGUMyaPydwcA1FtVvWqT0TNRch9H+cMNEGllfVFfScImog==} peerDependencies: @@ -13511,7 +13410,7 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/cli@2.31.0(@types/node@25.9.2)': + '@changesets/cli@2.31.0(@types/node@25.9.1)': dependencies: '@changesets/apply-release-plan': 7.1.1 '@changesets/assemble-release-plan': 6.0.10 @@ -13527,7 +13426,7 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.3(@types/node@25.9.2) + '@inquirer/external-editor': 1.0.3(@types/node@25.9.1) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 enquirer: 2.4.1 @@ -13694,12 +13593,12 @@ snapshots: transitivePeerDependencies: - debug - '@codspeed/vitest-plugin@5.4.0(tinybench@2.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5)': + '@codspeed/vitest-plugin@5.4.0(tinybench@2.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5)': dependencies: '@codspeed/core': 5.4.0 tinybench: 2.9.0 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - debug @@ -13707,12 +13606,12 @@ snapshots: '@colors/colors@1.6.0': {} - '@comark/nuxt@0.3.1(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(shiki@4.0.2)(vue@3.5.33(typescript@6.0.3))': + '@comark/nuxt@0.3.1(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(shiki@4.0.2)(vue@3.5.33(typescript@6.0.3))': dependencies: '@comark/vue': 0.3.1(shiki@4.0.2)(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) comark: 0.3.2(shiki@4.0.2) - nuxt: 4.4.4(4ce79750208d3e950bc761cf7e0cc582) + nuxt: 4.4.4(71801589c663398b7779b77c63f5f3ce) transitivePeerDependencies: - beautiful-mermaid - katex @@ -13737,12 +13636,12 @@ snapshots: enabled: 2.0.0 kuler: 2.0.0 - '@databuddy/nuxt@2.4.20(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(react@19.2.5)(vue@3.5.33(typescript@6.0.3))': + '@databuddy/nuxt@2.4.20(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(react@19.2.5)(vue@3.5.33(typescript@6.0.3))': dependencies: '@databuddy/sdk': 2.4.20(react@19.2.5)(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.6(magicast@0.5.2) '@nuxt/schema': 4.4.6 - nuxt: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) + nuxt: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) optionalDependencies: vue: 3.5.33(typescript@6.0.3) transitivePeerDependencies: @@ -14561,129 +14460,129 @@ snapshots: '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.4(@types/node@25.9.2)': + '@inquirer/checkbox@5.1.4(@types/node@25.9.1)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.9(@types/node@25.9.2) + '@inquirer/core': 11.1.9(@types/node@25.9.1) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@25.9.2) + '@inquirer/type': 4.0.5(@types/node@25.9.1) optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 - '@inquirer/confirm@6.0.12(@types/node@25.9.2)': + '@inquirer/confirm@6.0.12(@types/node@25.9.1)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.9.2) - '@inquirer/type': 4.0.5(@types/node@25.9.2) + '@inquirer/core': 11.1.9(@types/node@25.9.1) + '@inquirer/type': 4.0.5(@types/node@25.9.1) optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 - '@inquirer/core@11.1.9(@types/node@25.9.2)': + '@inquirer/core@11.1.9(@types/node@25.9.1)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@25.9.2) + '@inquirer/type': 4.0.5(@types/node@25.9.1) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 - '@inquirer/editor@5.1.1(@types/node@25.9.2)': + '@inquirer/editor@5.1.1(@types/node@25.9.1)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.9.2) - '@inquirer/external-editor': 3.0.0(@types/node@25.9.2) - '@inquirer/type': 4.0.5(@types/node@25.9.2) + '@inquirer/core': 11.1.9(@types/node@25.9.1) + '@inquirer/external-editor': 3.0.0(@types/node@25.9.1) + '@inquirer/type': 4.0.5(@types/node@25.9.1) optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 - '@inquirer/expand@5.0.13(@types/node@25.9.2)': + '@inquirer/expand@5.0.13(@types/node@25.9.1)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.9.2) - '@inquirer/type': 4.0.5(@types/node@25.9.2) + '@inquirer/core': 11.1.9(@types/node@25.9.1) + '@inquirer/type': 4.0.5(@types/node@25.9.1) optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 - '@inquirer/external-editor@1.0.3(@types/node@25.9.2)': + '@inquirer/external-editor@1.0.3(@types/node@25.9.1)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 - '@inquirer/external-editor@3.0.0(@types/node@25.9.2)': + '@inquirer/external-editor@3.0.0(@types/node@25.9.1)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.12(@types/node@25.9.2)': + '@inquirer/input@5.0.12(@types/node@25.9.1)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.9.2) - '@inquirer/type': 4.0.5(@types/node@25.9.2) + '@inquirer/core': 11.1.9(@types/node@25.9.1) + '@inquirer/type': 4.0.5(@types/node@25.9.1) optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 - '@inquirer/number@4.0.12(@types/node@25.9.2)': + '@inquirer/number@4.0.12(@types/node@25.9.1)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.9.2) - '@inquirer/type': 4.0.5(@types/node@25.9.2) + '@inquirer/core': 11.1.9(@types/node@25.9.1) + '@inquirer/type': 4.0.5(@types/node@25.9.1) optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 - '@inquirer/password@5.0.12(@types/node@25.9.2)': + '@inquirer/password@5.0.12(@types/node@25.9.1)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.9(@types/node@25.9.2) - '@inquirer/type': 4.0.5(@types/node@25.9.2) + '@inquirer/core': 11.1.9(@types/node@25.9.1) + '@inquirer/type': 4.0.5(@types/node@25.9.1) optionalDependencies: - '@types/node': 25.9.2 - - '@inquirer/prompts@8.4.2(@types/node@25.9.2)': - dependencies: - '@inquirer/checkbox': 5.1.4(@types/node@25.9.2) - '@inquirer/confirm': 6.0.12(@types/node@25.9.2) - '@inquirer/editor': 5.1.1(@types/node@25.9.2) - '@inquirer/expand': 5.0.13(@types/node@25.9.2) - '@inquirer/input': 5.0.12(@types/node@25.9.2) - '@inquirer/number': 4.0.12(@types/node@25.9.2) - '@inquirer/password': 5.0.12(@types/node@25.9.2) - '@inquirer/rawlist': 5.2.8(@types/node@25.9.2) - '@inquirer/search': 4.1.8(@types/node@25.9.2) - '@inquirer/select': 5.1.4(@types/node@25.9.2) + '@types/node': 25.9.1 + + '@inquirer/prompts@8.4.2(@types/node@25.9.1)': + dependencies: + '@inquirer/checkbox': 5.1.4(@types/node@25.9.1) + '@inquirer/confirm': 6.0.12(@types/node@25.9.1) + '@inquirer/editor': 5.1.1(@types/node@25.9.1) + '@inquirer/expand': 5.0.13(@types/node@25.9.1) + '@inquirer/input': 5.0.12(@types/node@25.9.1) + '@inquirer/number': 4.0.12(@types/node@25.9.1) + '@inquirer/password': 5.0.12(@types/node@25.9.1) + '@inquirer/rawlist': 5.2.8(@types/node@25.9.1) + '@inquirer/search': 4.1.8(@types/node@25.9.1) + '@inquirer/select': 5.1.4(@types/node@25.9.1) optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 - '@inquirer/rawlist@5.2.8(@types/node@25.9.2)': + '@inquirer/rawlist@5.2.8(@types/node@25.9.1)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.9.2) - '@inquirer/type': 4.0.5(@types/node@25.9.2) + '@inquirer/core': 11.1.9(@types/node@25.9.1) + '@inquirer/type': 4.0.5(@types/node@25.9.1) optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 - '@inquirer/search@4.1.8(@types/node@25.9.2)': + '@inquirer/search@4.1.8(@types/node@25.9.1)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.9.2) + '@inquirer/core': 11.1.9(@types/node@25.9.1) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@25.9.2) + '@inquirer/type': 4.0.5(@types/node@25.9.1) optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 - '@inquirer/select@5.1.4(@types/node@25.9.2)': + '@inquirer/select@5.1.4(@types/node@25.9.1)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.9(@types/node@25.9.2) + '@inquirer/core': 11.1.9(@types/node@25.9.1) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@25.9.2) + '@inquirer/type': 4.0.5(@types/node@25.9.1) optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 - '@inquirer/type@4.0.5(@types/node@25.9.2)': + '@inquirer/type@4.0.5(@types/node@25.9.1)': optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 '@internationalized/date@3.12.1': dependencies: @@ -14735,7 +14634,7 @@ snapshots: '@intlify/shared@11.4.0': {} - '@intlify/unplugin-vue-i18n@11.1.2(@vue/compiler-dom@3.5.33)(eslint@9.39.4(jiti@2.6.1))(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-i18n@11.4.0(vue@3.5.33(typescript@6.0.3)))(vue@3.5.33(typescript@6.0.3))': + '@intlify/unplugin-vue-i18n@11.1.2(@vue/compiler-dom@3.5.33)(eslint@9.39.4(jiti@2.6.1))(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-i18n@11.4.0(vue@3.5.33(typescript@6.0.3)))(vue@3.5.33(typescript@6.0.3))': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1)) '@intlify/bundle-utils': 11.1.2(vue-i18n@11.4.0(vue@3.5.33(typescript@6.0.3))) @@ -14751,7 +14650,7 @@ snapshots: unplugin: 2.3.11 vue: 3.5.33(typescript@6.0.3) optionalDependencies: - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue-i18n: 11.4.0(vue@3.5.33(typescript@6.0.3)) transitivePeerDependencies: - '@vue/compiler-dom' @@ -15230,43 +15129,43 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@2.7.0(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@nuxt/devtools-kit@2.7.0(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@nuxt/kit': 3.21.4(magicast@0.5.2) execa: 8.0.1 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - magicast - '@nuxt/devtools-kit@3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@nuxt/devtools-kit@3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) execa: 8.0.1 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - magicast - '@nuxt/devtools-kit@3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@nuxt/devtools-kit@3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) execa: 8.0.1 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - magicast - '@nuxt/devtools-kit@4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@nuxt/devtools-kit@4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@nuxt/kit': 4.4.6(magicast@0.5.2) tinyexec: 1.1.2 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - magicast - '@nuxt/devtools-kit@4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@nuxt/devtools-kit@4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@nuxt/kit': 4.4.6(magicast@0.5.2) tinyexec: 1.1.2 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - magicast @@ -15281,9 +15180,9 @@ snapshots: pkg-types: 2.3.1 semver: 7.7.4 - '@nuxt/devtools@3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@nuxt/devtools@3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: - '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/devtools-wizard': 3.2.4 '@nuxt/kit': 4.4.4(magicast@0.5.2) '@vue/devtools-core': 8.1.1(vue@3.5.33(typescript@6.0.3)) @@ -15311,9 +15210,9 @@ snapshots: sirv: 3.0.2 structured-clone-es: 2.0.0 tinyglobby: 0.2.16 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - vite-plugin-vue-tracer: 1.3.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite-plugin-vue-tracer: 1.3.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) which: 6.0.1 ws: 8.20.0 transitivePeerDependencies: @@ -15322,9 +15221,9 @@ snapshots: - utf-8-validate - vue - '@nuxt/devtools@3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3))': + '@nuxt/devtools@3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3))': dependencies: - '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/devtools-wizard': 3.2.4 '@nuxt/kit': 4.4.4(magicast@0.5.2) '@vue/devtools-core': 8.1.1(vue@3.5.33(typescript@5.9.3)) @@ -15352,9 +15251,9 @@ snapshots: sirv: 3.0.2 structured-clone-es: 2.0.0 tinyglobby: 0.2.16 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - vite-plugin-vue-tracer: 1.3.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite-plugin-vue-tracer: 1.3.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) which: 6.0.1 ws: 8.20.0 transitivePeerDependencies: @@ -15363,9 +15262,9 @@ snapshots: - utf-8-validate - vue - '@nuxt/devtools@3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@nuxt/devtools@3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: - '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/devtools-wizard': 3.2.4 '@nuxt/kit': 4.4.4(magicast@0.5.2) '@vue/devtools-core': 8.1.1(vue@3.5.33(typescript@6.0.3)) @@ -15393,9 +15292,9 @@ snapshots: sirv: 3.0.2 structured-clone-es: 2.0.0 tinyglobby: 0.2.16 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - vite-plugin-vue-tracer: 1.3.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite-plugin-vue-tracer: 1.3.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) which: 6.0.1 ws: 8.20.0 transitivePeerDependencies: @@ -15413,13 +15312,13 @@ snapshots: - supports-color - typescript - '@nuxt/fonts@0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@nuxt/fonts@0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/kit': 4.4.4(magicast@0.5.2) consola: 3.4.2 defu: 6.1.7 - fontless: 0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + fontless: 0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) h3: 1.15.11 magic-regexp: 0.10.0 ofetch: 1.5.1 @@ -15453,13 +15352,13 @@ snapshots: - uploadthing - vite - '@nuxt/fonts@0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@nuxt/fonts@0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/kit': 4.4.4(magicast@0.5.2) consola: 3.4.2 defu: 6.1.7 - fontless: 0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + fontless: 0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) h3: 1.15.11 magic-regexp: 0.10.0 ofetch: 1.5.1 @@ -15493,13 +15392,13 @@ snapshots: - uploadthing - vite - '@nuxt/icon@2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@nuxt/icon@2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: '@iconify/collections': 1.0.679 '@iconify/types': 2.0.0 '@iconify/utils': 3.1.1 '@iconify/vue': 5.0.0(vue@3.5.33(typescript@6.0.3)) - '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/kit': 4.4.6(magicast@0.5.2) consola: 3.4.2 local-pkg: 1.1.2 @@ -15514,13 +15413,13 @@ snapshots: - vite - vue - '@nuxt/icon@2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@nuxt/icon@2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: '@iconify/collections': 1.0.679 '@iconify/types': 2.0.0 '@iconify/utils': 3.1.1 '@iconify/vue': 5.0.0(vue@3.5.33(typescript@6.0.3)) - '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/kit': 4.4.6(magicast@0.5.2) consola: 3.4.2 local-pkg: 1.1.2 @@ -15670,12 +15569,12 @@ snapshots: - vue - vue-tsc - '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(1c432982cee559849a9dc4decf895c74))(oxc-parser@0.128.0)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.9.3)': + '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(163941d31dc8937f73f0941c905f113a))(oxc-parser@0.128.0)(rolldown@1.0.0-rc.17)(typescript@6.0.3)': dependencies: '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@nuxt/devalue': 2.0.2 '@nuxt/kit': 4.4.4(magicast@0.5.2) - '@unhead/vue': 2.1.13(vue@3.5.33(typescript@5.9.3)) + '@unhead/vue': 2.1.13(vue@3.5.33(typescript@6.0.3)) '@vue/shared': 3.5.33 consola: 3.4.2 defu: 6.1.7 @@ -15688,8 +15587,8 @@ snapshots: impound: 1.1.5 klona: 2.0.6 mocked-exports: 0.1.1 - nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)) - nuxt: 4.4.4(1c432982cee559849a9dc4decf895c74) + nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.0-rc.17) + nuxt: 4.4.4(163941d31dc8937f73f0941c905f113a) nypm: 0.6.6 ohash: 2.0.11 pathe: 2.0.3 @@ -15698,7 +15597,7 @@ snapshots: ufo: 1.6.4 unctx: 2.5.0 unstorage: 1.17.5(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1) - vue: 3.5.33(typescript@5.9.3) + vue: 3.5.33(typescript@6.0.3) vue-bundle-renderer: 2.2.0 vue-devtools-stub: 0.1.0 optionalDependencies: @@ -15741,7 +15640,7 @@ snapshots: - uploadthing - xml2js - '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(oxc-parser@0.128.0)(rolldown@1.1.0)(typescript@6.0.3)': + '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(oxc-parser@0.128.0)(rolldown@1.0.2)(typescript@6.0.3)': dependencies: '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@nuxt/devalue': 2.0.2 @@ -15759,8 +15658,8 @@ snapshots: impound: 1.1.5 klona: 2.0.6 mocked-exports: 0.1.1 - nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.1.0) - nuxt: 4.4.4(4ce79750208d3e950bc761cf7e0cc582) + nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.2) + nuxt: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) nypm: 0.6.6 ohash: 2.0.11 pathe: 2.0.3 @@ -15812,7 +15711,7 @@ snapshots: - uploadthing - xml2js - '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(oxc-parser@0.128.0)(rolldown@1.1.0)(typescript@6.0.3)': + '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(oxc-parser@0.128.0)(rolldown@1.0.2)(typescript@6.0.3)': dependencies: '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@nuxt/devalue': 2.0.2 @@ -15830,8 +15729,8 @@ snapshots: impound: 1.1.5 klona: 2.0.6 mocked-exports: 0.1.1 - nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.1.0) - nuxt: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) + nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.2) + nuxt: 4.4.4(71801589c663398b7779b77c63f5f3ce) nypm: 0.6.6 ohash: 2.0.11 pathe: 2.0.3 @@ -15883,12 +15782,12 @@ snapshots: - uploadthing - xml2js - '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(da3747dc41af2761a854c4df2428c224))(oxc-parser@0.128.0)(rolldown@1.0.0-rc.17)(typescript@6.0.3)': + '@nuxt/nitro-server@4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(cc4ec224de2d6c06d027ec9a27895e5a))(oxc-parser@0.128.0)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.9.3)': dependencies: '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@nuxt/devalue': 2.0.2 '@nuxt/kit': 4.4.4(magicast@0.5.2) - '@unhead/vue': 2.1.13(vue@3.5.33(typescript@6.0.3)) + '@unhead/vue': 2.1.13(vue@3.5.33(typescript@5.9.3)) '@vue/shared': 3.5.33 consola: 3.4.2 defu: 6.1.7 @@ -15901,8 +15800,8 @@ snapshots: impound: 1.1.5 klona: 2.0.6 mocked-exports: 0.1.1 - nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.0-rc.17) - nuxt: 4.4.4(da3747dc41af2761a854c4df2428c224) + nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)) + nuxt: 4.4.4(cc4ec224de2d6c06d027ec9a27895e5a) nypm: 0.6.6 ohash: 2.0.11 pathe: 2.0.3 @@ -15911,7 +15810,7 @@ snapshots: ufo: 1.6.4 unctx: 2.5.0 unstorage: 1.17.5(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1) - vue: 3.5.33(typescript@6.0.3) + vue: 3.5.33(typescript@5.9.3) vue-bundle-renderer: 2.2.0 vue-devtools-stub: 0.1.0 optionalDependencies: @@ -15983,10 +15882,10 @@ snapshots: rc9: 3.0.1 std-env: 4.1.0 - '@nuxt/test-utils@4.0.3(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5)': + '@nuxt/test-utils@4.0.3(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5)': dependencies: '@clack/prompts': 1.2.0 - '@nuxt/devtools-kit': 2.7.0(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 2.7.0(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/kit': 3.21.4(magicast@0.5.2) c12: 3.3.4(magicast@0.5.2) consola: 3.4.2 @@ -16012,29 +15911,29 @@ snapshots: tinyexec: 1.1.2 ufo: 1.6.4 unplugin: 3.0.0 - vitest-environment-nuxt: 2.0.0(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) + vitest-environment-nuxt: 2.0.0(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) vue: 3.5.33(typescript@6.0.3) optionalDependencies: happy-dom: 20.9.0 - vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - crossws - magicast - typescript - vite - '@nuxt/ui@4.7.1(1b8b6418ae6538673ae66063694798f2)': + '@nuxt/ui@4.7.1(109150d128b872a97f6986298b4d3c90)': dependencies: '@floating-ui/dom': 1.7.6 '@iconify/vue': 5.0.0(vue@3.5.33(typescript@6.0.3)) - '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) '@nuxt/schema': 4.4.4 '@nuxtjs/color-mode': 3.5.2(magicast@0.5.2) '@standard-schema/spec': 1.1.0 '@tailwindcss/postcss': 4.2.4 - '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@tanstack/vue-table': 8.21.3(vue@3.5.33(typescript@6.0.3)) '@tanstack/vue-virtual': 3.13.24(vue@3.5.33(typescript@6.0.3)) '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) @@ -16094,8 +15993,7 @@ snapshots: '@internationalized/number': 3.6.6 '@nuxt/content': 3.13.0(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(magicast@0.5.2)(valibot@1.3.1(typescript@6.0.3)) valibot: 1.3.1(typescript@6.0.3) - vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@6.0.3)) - zod: 4.4.2 + zod: 3.25.76 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -16138,18 +16036,18 @@ snapshots: - vue - yjs - '@nuxt/ui@4.7.1(4da065bdacad40e9138de722ac178a5e)': + '@nuxt/ui@4.7.1(2656a2e1b3f45cbcb1b0ed8e6886ccc5)': dependencies: '@floating-ui/dom': 1.7.6 '@iconify/vue': 5.0.0(vue@3.5.33(typescript@6.0.3)) - '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) '@nuxt/schema': 4.4.4 '@nuxtjs/color-mode': 3.5.2(magicast@0.5.2) '@standard-schema/spec': 1.1.0 '@tailwindcss/postcss': 4.2.4 - '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@tanstack/vue-table': 8.21.3(vue@3.5.33(typescript@6.0.3)) '@tanstack/vue-virtual': 3.13.24(vue@3.5.33(typescript@6.0.3)) '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) @@ -16209,7 +16107,7 @@ snapshots: '@internationalized/number': 3.6.6 '@nuxt/content': 3.13.0(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(magicast@0.5.2)(valibot@1.3.1(typescript@6.0.3)) valibot: 1.3.1(typescript@6.0.3) - zod: 4.4.2 + zod: 4.4.3 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -16252,18 +16150,18 @@ snapshots: - vue - yjs - '@nuxt/ui@4.7.1(5a1804de87dec3069bdc296474954815)': + '@nuxt/ui@4.7.1(9c604e4823094c28297bcc41a9ac055f)': dependencies: '@floating-ui/dom': 1.7.6 '@iconify/vue': 5.0.0(vue@3.5.33(typescript@6.0.3)) - '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) '@nuxt/schema': 4.4.4 '@nuxtjs/color-mode': 3.5.2(magicast@0.5.2) '@standard-schema/spec': 1.1.0 '@tailwindcss/postcss': 4.2.4 - '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@tanstack/vue-table': 8.21.3(vue@3.5.33(typescript@6.0.3)) '@tanstack/vue-virtual': 3.13.24(vue@3.5.33(typescript@6.0.3)) '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) @@ -16323,7 +16221,8 @@ snapshots: '@internationalized/number': 3.6.6 '@nuxt/content': 3.13.0(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(magicast@0.5.2)(valibot@1.3.1(typescript@6.0.3)) valibot: 1.3.1(typescript@6.0.3) - zod: 3.25.76 + vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@6.0.3)) + zod: 4.4.2 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -16366,18 +16265,18 @@ snapshots: - vue - yjs - '@nuxt/ui@4.7.1(c798cb8bf9acd96971fafb624fbbb388)': + '@nuxt/ui@4.7.1(dc17648ac6c3fdd79a3ff69e254ec91d)': dependencies: '@floating-ui/dom': 1.7.6 '@iconify/vue': 5.0.0(vue@3.5.33(typescript@6.0.3)) - '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxt/fonts': 0.14.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) '@nuxt/schema': 4.4.4 '@nuxtjs/color-mode': 3.5.2(magicast@0.5.2) '@standard-schema/spec': 1.1.0 '@tailwindcss/postcss': 4.2.4 - '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tailwindcss/vite': 4.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@tanstack/vue-table': 8.21.3(vue@3.5.33(typescript@6.0.3)) '@tanstack/vue-virtual': 3.13.24(vue@3.5.33(typescript@6.0.3)) '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) @@ -16437,7 +16336,7 @@ snapshots: '@internationalized/number': 3.6.6 '@nuxt/content': 3.13.0(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(magicast@0.5.2)(valibot@1.3.1(typescript@6.0.3)) valibot: 1.3.1(typescript@6.0.3) - zod: 4.4.3 + zod: 4.4.2 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -16480,12 +16379,12 @@ snapshots: - vue - yjs - '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.6.1))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4)': + '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.6.1))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(optionator@0.9.4)(rolldown@1.0.2)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.2)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4)': dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) '@rollup/plugin-replace': 6.0.3(rollup@4.60.2) - '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) - '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) autoprefixer: 10.5.0(postcss@8.5.13) consola: 3.4.2 cssnano: 7.1.8(postcss@8.5.13) @@ -16498,7 +16397,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.2 mocked-exports: 0.1.1 - nuxt: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) + nuxt: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) nypm: 0.6.6 pathe: 2.0.3 pkg-types: 2.3.1 @@ -16507,16 +16406,16 @@ snapshots: std-env: 4.1.0 ufo: 1.6.4 unenv: 2.0.0-rc.24 - vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-node: 5.3.0(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.6.1))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)) + vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-node: 5.3.0(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.6.1))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)) vue: 3.5.33(typescript@6.0.3) vue-bundle-renderer: 2.2.0 optionalDependencies: '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0) '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) - rolldown: 1.1.0 - rollup-plugin-visualizer: 7.0.1(rolldown@1.1.0)(rollup@4.60.2) + rolldown: 1.0.2 + rollup-plugin-visualizer: 7.0.1(rolldown@1.0.2)(rollup@4.60.2) transitivePeerDependencies: - '@biomejs/biome' - '@types/node' @@ -16542,12 +16441,12 @@ snapshots: - vue-tsc - yaml - '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(1c432982cee559849a9dc4decf895c74))(optionator@0.9.4)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vue-tsc@3.2.7(typescript@5.9.3))(vue@3.5.33(typescript@5.9.3))(yaml@2.8.4)': + '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(163941d31dc8937f73f0941c905f113a))(optionator@0.9.4)(rolldown@1.0.0-rc.17)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-rc.17)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4)': dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) '@rollup/plugin-replace': 6.0.3(rollup@4.60.2) - '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) - '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) + '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) autoprefixer: 10.5.0(postcss@8.5.13) consola: 3.4.2 cssnano: 7.1.8(postcss@8.5.13) @@ -16560,7 +16459,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.2 mocked-exports: 0.1.1 - nuxt: 4.4.4(1c432982cee559849a9dc4decf895c74) + nuxt: 4.4.4(163941d31dc8937f73f0941c905f113a) nypm: 0.6.6 pathe: 2.0.3 pkg-types: 2.3.1 @@ -16569,16 +16468,16 @@ snapshots: std-env: 4.1.0 ufo: 1.6.4 unenv: 2.0.0-rc.24 - vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-node: 5.3.0(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@5.9.3)) - vue: 3.5.33(typescript@5.9.3) + vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-node: 5.3.0(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)) + vue: 3.5.33(typescript@6.0.3) vue-bundle-renderer: 2.2.0 optionalDependencies: '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0) '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) - rolldown: 1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) - rollup-plugin-visualizer: 7.0.1(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.60.2) + rolldown: 1.0.0-rc.17 + rollup-plugin-visualizer: 7.0.1(rolldown@1.0.0-rc.17)(rollup@4.60.2) transitivePeerDependencies: - '@biomejs/biome' - '@types/node' @@ -16604,12 +16503,12 @@ snapshots: - vue-tsc - yaml - '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4)': + '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(optionator@0.9.4)(rolldown@1.0.2)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.2)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4)': dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) '@rollup/plugin-replace': 6.0.3(rollup@4.60.2) - '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) - '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) autoprefixer: 10.5.0(postcss@8.5.13) consola: 3.4.2 cssnano: 7.1.8(postcss@8.5.13) @@ -16622,7 +16521,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.2 mocked-exports: 0.1.1 - nuxt: 4.4.4(4ce79750208d3e950bc761cf7e0cc582) + nuxt: 4.4.4(71801589c663398b7779b77c63f5f3ce) nypm: 0.6.6 pathe: 2.0.3 pkg-types: 2.3.1 @@ -16631,16 +16530,16 @@ snapshots: std-env: 4.1.0 ufo: 1.6.4 unenv: 2.0.0-rc.24 - vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-node: 5.3.0(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)) + vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-node: 5.3.0(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)) vue: 3.5.33(typescript@6.0.3) vue-bundle-renderer: 2.2.0 optionalDependencies: '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0) '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) - rolldown: 1.1.0 - rollup-plugin-visualizer: 7.0.1(rolldown@1.1.0)(rollup@4.60.2) + rolldown: 1.0.2 + rollup-plugin-visualizer: 7.0.1(rolldown@1.0.2)(rollup@4.60.2) transitivePeerDependencies: - '@biomejs/biome' - '@types/node' @@ -16666,12 +16565,12 @@ snapshots: - vue-tsc - yaml - '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(da3747dc41af2761a854c4df2428c224))(optionator@0.9.4)(rolldown@1.0.0-rc.17)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-rc.17)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4)': + '@nuxt/vite-builder@4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(cc4ec224de2d6c06d027ec9a27895e5a))(optionator@0.9.4)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vue-tsc@3.2.7(typescript@5.9.3))(vue@3.5.33(typescript@5.9.3))(yaml@2.8.4)': dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) '@rollup/plugin-replace': 6.0.3(rollup@4.60.2) - '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) - '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) + '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) autoprefixer: 10.5.0(postcss@8.5.13) consola: 3.4.2 cssnano: 7.1.8(postcss@8.5.13) @@ -16684,7 +16583,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.2 mocked-exports: 0.1.1 - nuxt: 4.4.4(da3747dc41af2761a854c4df2428c224) + nuxt: 4.4.4(cc4ec224de2d6c06d027ec9a27895e5a) nypm: 0.6.6 pathe: 2.0.3 pkg-types: 2.3.1 @@ -16693,16 +16592,16 @@ snapshots: std-env: 4.1.0 ufo: 1.6.4 unenv: 2.0.0-rc.24 - vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-node: 5.3.0(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)) - vue: 3.5.33(typescript@6.0.3) + vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-node: 5.3.0(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-checker: 0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@5.9.3)) + vue: 3.5.33(typescript@5.9.3) vue-bundle-renderer: 2.2.0 optionalDependencies: '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0) '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) - rolldown: 1.0.0-rc.17 - rollup-plugin-visualizer: 7.0.1(rolldown@1.0.0-rc.17)(rollup@4.60.2) + rolldown: 1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + rollup-plugin-visualizer: 7.0.1(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.60.2) transitivePeerDependencies: - '@biomejs/biome' - '@types/node' @@ -16861,12 +16760,12 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxtjs/i18n@10.3.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@vue/compiler-dom@3.5.33)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(eslint@9.39.4(jiti@2.6.1))(ioredis@5.10.1)(magicast@0.5.2)(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@nuxtjs/i18n@10.3.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@vue/compiler-dom@3.5.33)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(eslint@9.39.4(jiti@2.6.1))(ioredis@5.10.1)(magicast@0.5.2)(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: '@intlify/core': 11.4.0 '@intlify/h3': 0.7.4 '@intlify/shared': 11.4.0 - '@intlify/unplugin-vue-i18n': 11.1.2(@vue/compiler-dom@3.5.33)(eslint@9.39.4(jiti@2.6.1))(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-i18n@11.4.0(vue@3.5.33(typescript@6.0.3)))(vue@3.5.33(typescript@6.0.3)) + '@intlify/unplugin-vue-i18n': 11.1.2(@vue/compiler-dom@3.5.33)(eslint@9.39.4(jiti@2.6.1))(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-i18n@11.4.0(vue@3.5.33(typescript@6.0.3)))(vue@3.5.33(typescript@6.0.3)) '@intlify/utils': 0.14.1 '@miyaneee/rollup-plugin-json5': 1.2.0(rollup@4.60.2) '@nuxt/kit': 4.4.6(magicast@0.5.2) @@ -16923,18 +16822,18 @@ snapshots: - vite - vue - '@nuxtjs/mcp-toolkit@0.16.1(@vue/compiler-sfc@3.5.33)(h3@1.15.11)(magicast@0.5.2)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2)': + '@nuxtjs/mcp-toolkit@0.16.1(@vue/compiler-sfc@3.5.33)(h3@1.15.11)(magicast@0.5.2)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2)': dependencies: '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@nuxt/kit': 4.4.6(magicast@0.5.2) - '@vitejs/plugin-vue': 6.0.6(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@vitejs/plugin-vue': 6.0.6(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) h3: 1.15.11 tinyglobby: 0.2.16 - vite-plugin-singlefile: 2.3.3(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite-plugin-singlefile: 2.3.3(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) zod: 4.4.2 optionalDependencies: '@vue/compiler-sfc': 3.5.33 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@6.0.3) transitivePeerDependencies: - '@cfworker/json-schema' @@ -17000,15 +16899,15 @@ snapshots: transitivePeerDependencies: - encoding - '@nuxtjs/robots@6.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2)': + '@nuxtjs/robots@6.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2)': dependencies: '@fingerprintjs/botd': 2.0.0 '@nuxt/kit': 4.4.6(magicast@0.5.2) consola: 3.4.2 defu: 6.1.7 h3: 1.15.11 - nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) - nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) pathe: 2.0.3 pkg-types: 2.3.1 ufo: 1.6.4 @@ -17021,14 +16920,14 @@ snapshots: - vite - vue - '@nuxtjs/sitemap@8.0.15(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76)': + '@nuxtjs/sitemap@8.0.15(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76)': dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) consola: 3.4.2 defu: 6.1.7 fast-xml-parser: 5.7.2 - nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) - nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76))(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) + nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) + nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76))(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) ofetch: 1.5.1 pathe: 2.0.3 pkg-types: 2.3.1 @@ -17094,13 +16993,13 @@ snapshots: transitivePeerDependencies: - '@opentelemetry/api' - '@orpc/openapi@1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.16))(fastify@5.8.5)(ws@8.20.0)': + '@orpc/openapi@1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.15))(fastify@5.8.5)(ws@8.20.0)': dependencies: '@orpc/client': 1.14.2(@opentelemetry/api@1.9.0) '@orpc/contract': 1.14.2(@opentelemetry/api@1.9.0) '@orpc/interop': 1.14.2 '@orpc/openapi-client': 1.14.2(@opentelemetry/api@1.9.0) - '@orpc/server': 1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.16))(fastify@5.8.5)(ws@8.20.0) + '@orpc/server': 1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.15))(fastify@5.8.5)(ws@8.20.0) '@orpc/shared': 1.14.2(@opentelemetry/api@1.9.0) '@orpc/standard-server': 1.14.2(@opentelemetry/api@1.9.0) json-schema-typed: 8.0.2 @@ -17131,26 +17030,6 @@ snapshots: - '@opentelemetry/api' - fastify - '@orpc/server@1.14.2(@opentelemetry/api@1.9.0)(crossws@0.4.5(srvx@0.11.16))(fastify@5.8.5)(ws@8.20.0)': - dependencies: - '@orpc/client': 1.14.2(@opentelemetry/api@1.9.0) - '@orpc/contract': 1.14.2(@opentelemetry/api@1.9.0) - '@orpc/interop': 1.14.2 - '@orpc/shared': 1.14.2(@opentelemetry/api@1.9.0) - '@orpc/standard-server': 1.14.2(@opentelemetry/api@1.9.0) - '@orpc/standard-server-aws-lambda': 1.14.2(@opentelemetry/api@1.9.0) - '@orpc/standard-server-fastify': 1.14.2(@opentelemetry/api@1.9.0)(fastify@5.8.5) - '@orpc/standard-server-fetch': 1.14.2(@opentelemetry/api@1.9.0) - '@orpc/standard-server-node': 1.14.2(@opentelemetry/api@1.9.0) - '@orpc/standard-server-peer': 1.14.2(@opentelemetry/api@1.9.0) - cookie: 1.1.1 - optionalDependencies: - crossws: 0.4.5(srvx@0.11.16) - ws: 8.20.0 - transitivePeerDependencies: - - '@opentelemetry/api' - - fastify - '@orpc/shared@1.14.2(@opentelemetry/api@1.9.0)': dependencies: radash: 12.1.1 @@ -17408,8 +17287,6 @@ snapshots: '@oxc-project/types@0.132.0': {} - '@oxc-project/types@0.134.0': {} - '@oxc-transform/binding-android-arm-eabi@0.112.0': optional: true @@ -17638,7 +17515,7 @@ snapshots: dependencies: quansync: 1.0.0 - '@react-router/dev@7.14.2(@react-router/serve@7.14.2(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(typescript@5.9.3))(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(wrangler@3.114.17(@cloudflare/workers-types@4.20260503.1))(yaml@2.8.4)': + '@react-router/dev@7.14.2(@react-router/serve@7.14.2(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(typescript@5.9.3))(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(wrangler@3.114.17(@cloudflare/workers-types@4.20260503.1))(yaml@2.8.4)': dependencies: '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -17668,8 +17545,8 @@ snapshots: semver: 7.7.4 tinyglobby: 0.2.16 valibot: 1.3.1(typescript@5.9.3) - vite: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-node: 3.2.4(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-node: 3.2.4(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) optionalDependencies: '@react-router/serve': 7.14.2(react-router@7.14.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(typescript@5.9.3) typescript: 5.9.3 @@ -17778,10 +17655,10 @@ snapshots: '@rolldown/binding-android-arm64@1.0.0-rc.17': optional: true - '@rolldown/binding-android-arm64@1.0.2': + '@rolldown/binding-android-arm64@1.0.0-rc.18': optional: true - '@rolldown/binding-android-arm64@1.1.0': + '@rolldown/binding-android-arm64@1.0.2': optional: true '@rolldown/binding-darwin-arm64@1.0.0-beta.57': @@ -17790,10 +17667,10 @@ snapshots: '@rolldown/binding-darwin-arm64@1.0.0-rc.17': optional: true - '@rolldown/binding-darwin-arm64@1.0.2': + '@rolldown/binding-darwin-arm64@1.0.0-rc.18': optional: true - '@rolldown/binding-darwin-arm64@1.1.0': + '@rolldown/binding-darwin-arm64@1.0.2': optional: true '@rolldown/binding-darwin-x64@1.0.0-beta.57': @@ -17802,10 +17679,10 @@ snapshots: '@rolldown/binding-darwin-x64@1.0.0-rc.17': optional: true - '@rolldown/binding-darwin-x64@1.0.2': + '@rolldown/binding-darwin-x64@1.0.0-rc.18': optional: true - '@rolldown/binding-darwin-x64@1.1.0': + '@rolldown/binding-darwin-x64@1.0.2': optional: true '@rolldown/binding-freebsd-x64@1.0.0-beta.57': @@ -17814,10 +17691,10 @@ snapshots: '@rolldown/binding-freebsd-x64@1.0.0-rc.17': optional: true - '@rolldown/binding-freebsd-x64@1.0.2': + '@rolldown/binding-freebsd-x64@1.0.0-rc.18': optional: true - '@rolldown/binding-freebsd-x64@1.1.0': + '@rolldown/binding-freebsd-x64@1.0.2': optional: true '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.57': @@ -17826,10 +17703,10 @@ snapshots: '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.2': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.1.0': + '@rolldown/binding-linux-arm-gnueabihf@1.0.2': optional: true '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.57': @@ -17838,10 +17715,10 @@ snapshots: '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.2': + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-arm64-gnu@1.1.0': + '@rolldown/binding-linux-arm64-gnu@1.0.2': optional: true '@rolldown/binding-linux-arm64-musl@1.0.0-beta.57': @@ -17850,28 +17727,28 @@ snapshots: '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.2': + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-arm64-musl@1.1.0': + '@rolldown/binding-linux-arm64-musl@1.0.2': optional: true '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.2': + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.1.0': + '@rolldown/binding-linux-ppc64-gnu@1.0.2': optional: true '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.2': + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-s390x-gnu@1.1.0': + '@rolldown/binding-linux-s390x-gnu@1.0.2': optional: true '@rolldown/binding-linux-x64-gnu@1.0.0-beta.57': @@ -17880,10 +17757,10 @@ snapshots: '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.2': + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-x64-gnu@1.1.0': + '@rolldown/binding-linux-x64-gnu@1.0.2': optional: true '@rolldown/binding-linux-x64-musl@1.0.0-beta.57': @@ -17892,10 +17769,10 @@ snapshots: '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-x64-musl@1.0.2': + '@rolldown/binding-linux-x64-musl@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-x64-musl@1.1.0': + '@rolldown/binding-linux-x64-musl@1.0.2': optional: true '@rolldown/binding-openharmony-arm64@1.0.0-beta.57': @@ -17904,10 +17781,10 @@ snapshots: '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': optional: true - '@rolldown/binding-openharmony-arm64@1.0.2': + '@rolldown/binding-openharmony-arm64@1.0.0-rc.18': optional: true - '@rolldown/binding-openharmony-arm64@1.1.0': + '@rolldown/binding-openharmony-arm64@1.0.2': optional: true '@rolldown/binding-wasm32-wasi@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': @@ -17925,14 +17802,14 @@ snapshots: '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@rolldown/binding-wasm32-wasi@1.0.2': + '@rolldown/binding-wasm32-wasi@1.0.0-rc.18': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@rolldown/binding-wasm32-wasi@1.1.0': + '@rolldown/binding-wasm32-wasi@1.0.2': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 @@ -17945,10 +17822,10 @@ snapshots: '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.2': + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.18': optional: true - '@rolldown/binding-win32-arm64-msvc@1.1.0': + '@rolldown/binding-win32-arm64-msvc@1.0.2': optional: true '@rolldown/binding-win32-x64-msvc@1.0.0-beta.57': @@ -17957,10 +17834,10 @@ snapshots: '@rolldown/binding-win32-x64-msvc@1.0.0-rc.17': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.2': + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.18': optional: true - '@rolldown/binding-win32-x64-msvc@1.1.0': + '@rolldown/binding-win32-x64-msvc@1.0.2': optional: true '@rolldown/pluginutils@1.0.0-beta.40': {} @@ -18316,11 +18193,11 @@ snapshots: dependencies: solid-js: 1.9.12 - '@solidjs/start@1.3.2(solid-js@1.9.12)(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@solidjs/start@1.3.2(solid-js@1.9.12)(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@tanstack/server-functions-plugin': 1.121.21(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@vinxi/plugin-directives': 0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@vinxi/server-components': 0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/server-functions-plugin': 1.121.21(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@vinxi/plugin-directives': 0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@vinxi/server-components': 0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) cookie-es: 2.0.1 defu: 6.1.7 error-stack-parser: 2.1.4 @@ -18332,8 +18209,8 @@ snapshots: source-map-js: 1.2.1 terracotta: 1.1.0(solid-js@1.9.12) tinyglobby: 0.2.16 - vinxi: 0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-solid: 2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vinxi: 0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-solid: 2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - '@testing-library/jest-dom' - solid-js @@ -18353,9 +18230,9 @@ snapshots: tslib: 2.8.1 typed-inject: 5.0.0 - '@stryker-mutator/core@9.6.1(@types/node@25.9.2)': + '@stryker-mutator/core@9.6.1(@types/node@25.9.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@25.9.2) + '@inquirer/prompts': 8.4.2(@types/node@25.9.1) '@stryker-mutator/api': 9.6.1 '@stryker-mutator/instrumenter': 9.6.1 '@stryker-mutator/util': 9.6.1 @@ -18404,32 +18281,32 @@ snapshots: '@stryker-mutator/util@9.6.1': {} - '@stryker-mutator/vitest-runner@9.6.1(@stryker-mutator/core@9.6.1(@types/node@25.9.2))(vitest@4.1.5)': + '@stryker-mutator/vitest-runner@9.6.1(@stryker-mutator/core@9.6.1(@types/node@25.9.1))(vitest@4.1.5)': dependencies: '@stryker-mutator/api': 9.6.1 - '@stryker-mutator/core': 9.6.1(@types/node@25.9.2) + '@stryker-mutator/core': 9.6.1(@types/node@25.9.1) '@stryker-mutator/util': 9.6.1 semver: 7.7.4 tslib: 2.8.1 - vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@sveltejs/acorn-typescript@1.0.9(acorn@8.16.0)': dependencies: acorn: 8.16.0 - '@sveltejs/adapter-node@5.5.4(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))': + '@sveltejs/adapter-node@5.5.4(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))': dependencies: '@rollup/plugin-commonjs': 29.0.2(rollup@4.60.2) '@rollup/plugin-json': 6.1.0(rollup@4.60.2) '@rollup/plugin-node-resolve': 16.0.3(rollup@4.60.2) - '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) rollup: 4.60.2 - '@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@standard-schema/spec': 1.1.0 '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@types/cookie': 0.6.0 acorn: 8.16.0 cookie: 0.6.0 @@ -18441,16 +18318,16 @@ snapshots: set-cookie-parser: 3.1.0 sirv: 3.0.2 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) optionalDependencies: '@opentelemetry/api': 1.9.0 typescript: 6.0.3 - '@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@standard-schema/spec': 1.1.0 '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@types/cookie': 0.6.0 acorn: 8.16.0 cookie: 0.6.0 @@ -18462,17 +18339,17 @@ snapshots: set-cookie-parser: 3.1.0 sirv: 3.0.2 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) optionalDependencies: '@opentelemetry/api': 1.9.0 typescript: 6.0.3 optional: true - '@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@standard-schema/spec': 1.1.0 '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@types/cookie': 0.6.0 acorn: 8.16.0 cookie: 0.6.0 @@ -18484,76 +18361,76 @@ snapshots: set-cookie-parser: 3.1.0 sirv: 3.0.2 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) optionalDependencies: '@opentelemetry/api': 1.9.0 typescript: 6.0.3 - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) debug: 4.4.3 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) debug: 4.4.3 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - supports-color optional: true - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) debug: 4.4.3 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) debug: 4.4.3 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.21 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vitefu: 1.1.3(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vitefu: 1.1.3(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) debug: 4.4.3 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.21 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - supports-color optional: true - '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) debug: 4.4.3 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.21 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - supports-color @@ -18702,19 +18579,19 @@ snapshots: tailwindcss: 4.2.4 vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - '@tailwindcss/vite@4.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tailwindcss/vite@4.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@tailwindcss/node': 4.2.4 '@tailwindcss/oxide': 4.2.4 tailwindcss: 4.2.4 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - '@tailwindcss/vite@4.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tailwindcss/vite@4.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@tailwindcss/node': 4.2.4 '@tailwindcss/oxide': 4.2.4 tailwindcss: 4.2.4 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) '@takumi-rs/core-darwin-arm64@1.1.2': optional: true @@ -18822,7 +18699,7 @@ snapshots: - csstype - utf-8-validate - '@tanstack/directive-functions-plugin@1.121.21(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/directive-functions-plugin@1.121.21(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@babel/code-frame': 7.26.2 '@babel/core': 7.29.0 @@ -18831,7 +18708,7 @@ snapshots: '@tanstack/router-utils': 1.161.7 babel-dead-code-elimination: 1.0.12 tiny-invariant: 1.3.3 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - supports-color @@ -18896,16 +18773,16 @@ snapshots: react: 19.2.5 react-dom: 19.2.5(react@19.2.5) - '@tanstack/react-start-rsc@0.0.40(crossws@0.4.5(srvx@0.11.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/react-start-rsc@0.0.40(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@tanstack/react-router': 1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.11.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/router-core': 1.169.1 '@tanstack/router-utils': 1.161.7 '@tanstack/start-client-core': 1.168.1 '@tanstack/start-fn-stubs': 1.161.6 - '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.16))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.16)) + '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.15))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.15)) '@tanstack/start-storage-context': 1.166.34 pathe: 2.0.3 react: 19.2.5 @@ -18917,18 +18794,17 @@ snapshots: - vite - vite-plugin-solid - webpack - optional: true - '@tanstack/react-start-rsc@0.0.40(crossws@0.4.5(srvx@0.8.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/react-start-rsc@0.0.40(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@tanstack/react-router': 1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.8.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/router-core': 1.169.1 '@tanstack/router-utils': 1.161.7 '@tanstack/start-client-core': 1.168.1 '@tanstack/start-fn-stubs': 1.161.6 - '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.8.16))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.8.16)) + '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.15))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.15)) '@tanstack/start-storage-context': 1.166.34 pathe: 2.0.3 react: 19.2.5 @@ -18940,47 +18816,35 @@ snapshots: - vite - vite-plugin-solid - webpack - - '@tanstack/react-start-server@1.166.50(crossws@0.4.5(srvx@0.11.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': - dependencies: - '@tanstack/history': 1.161.6 - '@tanstack/react-router': 1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@tanstack/router-core': 1.169.1 - '@tanstack/start-client-core': 1.168.1 - '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.16)) - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - transitivePeerDependencies: - - crossws optional: true - '@tanstack/react-start-server@1.166.50(crossws@0.4.5(srvx@0.8.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@tanstack/react-start-server@1.166.50(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: '@tanstack/history': 1.161.6 '@tanstack/react-router': 1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/router-core': 1.169.1 '@tanstack/start-client-core': 1.168.1 - '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.8.16)) + '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.15)) react: 19.2.5 react-dom: 19.2.5(react@19.2.5) transitivePeerDependencies: - crossws - '@tanstack/react-start@1.167.61(crossws@0.4.5(srvx@0.11.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/react-start@1.167.61(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@tanstack/react-router': 1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/react-start-client': 1.166.47(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@tanstack/react-start-rsc': 0.0.40(crossws@0.4.5(srvx@0.11.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.11.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@tanstack/react-start-rsc': 0.0.40(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/router-utils': 1.161.7 '@tanstack/start-client-core': 1.168.1 - '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.16))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.16)) + '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.15))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.15)) pathe: 2.0.3 react: 19.2.5 react-dom: 19.2.5(react@19.2.5) optionalDependencies: - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@rspack/core' - crossws @@ -18988,23 +18852,22 @@ snapshots: - supports-color - vite-plugin-solid - webpack - optional: true - '@tanstack/react-start@1.167.61(crossws@0.4.5(srvx@0.8.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/react-start@1.167.61(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@tanstack/react-router': 1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/react-start-client': 1.166.47(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@tanstack/react-start-rsc': 0.0.40(crossws@0.4.5(srvx@0.8.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.8.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@tanstack/react-start-rsc': 0.0.40(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/react-start-server': 1.166.50(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/router-utils': 1.161.7 '@tanstack/start-client-core': 1.168.1 - '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.8.16))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.8.16)) + '@tanstack/start-plugin-core': 1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.15))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.15)) pathe: 2.0.3 react: 19.2.5 react-dom: 19.2.5(react@19.2.5) optionalDependencies: - vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@rspack/core' - crossws @@ -19012,6 +18875,7 @@ snapshots: - supports-color - vite-plugin-solid - webpack + optional: true '@tanstack/react-store@0.9.3(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: @@ -19070,7 +18934,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.167.32(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/router-plugin@1.167.32(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) @@ -19087,8 +18951,8 @@ snapshots: zod: 3.25.76 optionalDependencies: '@tanstack/react-router': 1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-plugin-solid: 2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-plugin-solid: 2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - supports-color optional: true @@ -19112,7 +18976,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/server-functions-plugin@1.121.21(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/server-functions-plugin@1.121.21(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@babel/code-frame': 7.26.2 '@babel/core': 7.29.0 @@ -19121,7 +18985,7 @@ snapshots: '@babel/template': 7.28.6 '@babel/traverse': 7.29.0 '@babel/types': 7.29.0 - '@tanstack/directive-functions-plugin': 1.121.21(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/directive-functions-plugin': 1.121.21(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) babel-dead-code-elimination: 1.0.12 tiny-invariant: 1.3.3 transitivePeerDependencies: @@ -19137,7 +19001,7 @@ snapshots: '@tanstack/start-fn-stubs@1.161.6': {} - '@tanstack/start-plugin-core@1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.16))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/start-plugin-core@1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.15))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@babel/code-frame': 7.27.1 '@babel/core': 7.29.0 @@ -19145,10 +19009,10 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.40 '@tanstack/router-core': 1.169.1 '@tanstack/router-generator': 1.166.39 - '@tanstack/router-plugin': 1.167.32(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/router-plugin': 1.167.32(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@tanstack/router-utils': 1.161.7 '@tanstack/start-client-core': 1.168.1 - '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.16)) + '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.15)) cheerio: 1.2.0 exsolve: 1.0.8 lightningcss: 1.32.0 @@ -19159,20 +19023,19 @@ snapshots: srvx: 0.11.15 tinyglobby: 0.2.16 ufo: 1.6.4 - vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vitefu: 1.1.3(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) xmlbuilder2: 4.0.3 zod: 3.25.76 optionalDependencies: - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@tanstack/react-router' - crossws - supports-color - vite-plugin-solid - webpack - optional: true - '@tanstack/start-plugin-core@1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.8.16))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@tanstack/start-plugin-core@1.169.16(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(crossws@0.4.5(srvx@0.11.15))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@babel/code-frame': 7.27.1 '@babel/core': 7.29.0 @@ -19180,10 +19043,10 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.40 '@tanstack/router-core': 1.169.1 '@tanstack/router-generator': 1.166.39 - '@tanstack/router-plugin': 1.167.32(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/router-plugin': 1.167.32(@tanstack/react-router@1.169.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@tanstack/router-utils': 1.161.7 '@tanstack/start-client-core': 1.168.1 - '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.8.16)) + '@tanstack/start-server-core': 1.167.28(crossws@0.4.5(srvx@0.11.15)) cheerio: 1.2.0 exsolve: 1.0.8 lightningcss: 1.32.0 @@ -19194,39 +19057,27 @@ snapshots: srvx: 0.11.15 tinyglobby: 0.2.16 ufo: 1.6.4 - vitefu: 1.1.3(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) xmlbuilder2: 4.0.3 zod: 3.25.76 optionalDependencies: - vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@tanstack/react-router' - crossws - supports-color - vite-plugin-solid - webpack - - '@tanstack/start-server-core@1.167.28(crossws@0.4.5(srvx@0.11.16))': - dependencies: - '@tanstack/history': 1.161.6 - '@tanstack/router-core': 1.169.1 - '@tanstack/start-client-core': 1.168.1 - '@tanstack/start-storage-context': 1.166.34 - fetchdts: 0.1.7 - h3-v2: h3@2.0.1-rc.20(crossws@0.4.5(srvx@0.11.16)) - seroval: 1.5.2 - transitivePeerDependencies: - - crossws optional: true - '@tanstack/start-server-core@1.167.28(crossws@0.4.5(srvx@0.8.16))': + '@tanstack/start-server-core@1.167.28(crossws@0.4.5(srvx@0.11.15))': dependencies: '@tanstack/history': 1.161.6 '@tanstack/router-core': 1.169.1 '@tanstack/start-client-core': 1.168.1 '@tanstack/start-storage-context': 1.166.34 fetchdts: 0.1.7 - h3-v2: h3@2.0.1-rc.20(crossws@0.4.5(srvx@0.8.16)) + h3-v2: h3@2.0.1-rc.20(crossws@0.4.5(srvx@0.11.15)) seroval: 1.5.2 transitivePeerDependencies: - crossws @@ -19624,7 +19475,7 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@25.9.2': + '@types/node@25.9.1': dependencies: undici-types: 7.24.6 @@ -19851,20 +19702,20 @@ snapshots: '@uploadthing/mime-types@0.3.6': {} - '@vercel/analytics@2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3))': + '@vercel/analytics@2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3))': optionalDependencies: - '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) next: 16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - nuxt: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) + nuxt: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) react: 19.2.5 svelte: 5.55.5(@typescript-eslint/types@8.59.1) vue: 3.5.33(typescript@6.0.3) - '@vercel/analytics@2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3))': + '@vercel/analytics@2.0.1(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3))': optionalDependencies: - '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) next: 16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - nuxt: 4.4.4(4ce79750208d3e950bc761cf7e0cc582) + nuxt: 4.4.4(71801589c663398b7779b77c63f5f3ce) react: 19.2.5 svelte: 5.55.5(@typescript-eslint/types@8.59.1) vue: 3.5.33(typescript@6.0.3) @@ -19890,11 +19741,11 @@ snapshots: '@vercel/oidc@3.2.0': {} - '@vercel/speed-insights@2.0.0(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3))': + '@vercel/speed-insights@2.0.0(@sveltejs/kit@2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(next@16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(react@19.2.5)(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vue@3.5.33(typescript@6.0.3))': optionalDependencies: - '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) next: 16.2.4(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - nuxt: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) + nuxt: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) react: 19.2.5 svelte: 5.55.5(@typescript-eslint/types@8.59.1) vue: 3.5.33(typescript@6.0.3) @@ -19919,7 +19770,7 @@ snapshots: untun: 0.1.3 uqr: 0.1.3 - '@vinxi/plugin-directives@0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@vinxi/plugin-directives@0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@babel/parser': 7.29.3 acorn: 8.16.0 @@ -19930,18 +19781,18 @@ snapshots: magicast: 0.2.11 recast: 0.23.11 tslib: 2.8.1 - vinxi: 0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vinxi: 0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - '@vinxi/server-components@0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@vinxi/server-components@0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: - '@vinxi/plugin-directives': 0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@vinxi/plugin-directives': 0.5.1(vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) acorn: 8.16.0 acorn-loose: 8.5.2 acorn-typescript: 1.4.13(acorn@8.16.0) astring: 1.9.0 magicast: 0.2.11 recast: 0.23.11 - vinxi: 0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vinxi: 0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) '@vitejs/plugin-react@5.2.0(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: @@ -19955,46 +19806,46 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3))': + '@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) '@rolldown/pluginutils': 1.0.0-rc.18 '@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.0) - vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@5.9.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) '@rolldown/pluginutils': 1.0.0-rc.18 '@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.0) - vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@6.0.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@6.0.6(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3))': + '@vitejs/plugin-vue@6.0.6(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3))': dependencies: '@rolldown/pluginutils': 1.0.0-rc.13 - vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@5.9.3) - '@vitejs/plugin-vue@6.0.6(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@vitejs/plugin-vue@6.0.6(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: '@rolldown/pluginutils': 1.0.0-rc.13 - vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@6.0.3) - '@vitejs/plugin-vue@6.0.6(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': + '@vitejs/plugin-vue@6.0.6(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))': dependencies: '@rolldown/pluginutils': 1.0.0-rc.13 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@6.0.3) '@vitest/coverage-v8@4.1.5(vitest@4.1.5)': @@ -20009,7 +19860,7 @@ snapshots: obug: 2.1.1 std-env: 4.1.0 tinyrainbow: 3.1.0 - vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@vitest/expect@4.1.5': dependencies: @@ -20028,13 +19879,13 @@ snapshots: optionalDependencies: vite: 8.0.10(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - '@vitest/mocker@4.1.5(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@vitest/mocker@4.1.5(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@vitest/spy': 4.1.5 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) '@vitest/pretty-format@4.1.5': dependencies: @@ -20598,7 +20449,7 @@ snapshots: dependencies: safe-buffer: 5.1.2 - better-auth@1.6.9(f9815333d8d125e43abb2cbad61bf376): + better-auth@1.6.9(6b0cd9af6c9287e56cc355f1dcb65e87): dependencies: '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260503.1)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.4.2))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0) '@better-auth/drizzle-adapter': 1.6.9(@better-auth/core@1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@cloudflare/workers-types@4.20260503.1)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.4.2))(jose@6.2.3)(kysely@0.28.17)(nanostores@1.3.0))(@better-auth/utils@0.4.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)) @@ -20618,8 +20469,8 @@ snapshots: nanostores: 1.3.0 zod: 4.4.2 optionalDependencies: - '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - '@tanstack/react-start': 1.167.61(crossws@0.4.5(srvx@0.11.16))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@sveltejs/kit': 2.59.0(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.5(@typescript-eslint/types@8.59.1))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(svelte@5.55.5(@typescript-eslint/types@8.59.1))(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@tanstack/react-start': 1.167.61(crossws@0.4.5(srvx@0.11.15))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) better-sqlite3: 12.9.0 drizzle-kit: 0.31.10 drizzle-orm: 0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17) @@ -20628,7 +20479,7 @@ snapshots: react-dom: 19.2.5(react@19.2.5) solid-js: 1.9.12 svelte: 5.55.5(@typescript-eslint/types@8.59.1) - vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) vue: 3.5.33(typescript@6.0.3) transitivePeerDependencies: - '@cloudflare/workers-types' @@ -21125,14 +20976,6 @@ snapshots: optionalDependencies: srvx: 0.11.15 - crossws@0.4.5(srvx@0.11.16): - optionalDependencies: - srvx: 0.11.16 - - crossws@0.4.5(srvx@0.8.16): - optionalDependencies: - srvx: 0.8.16 - css-background-parser@0.1.0: {} css-box-shadow@1.0.0-3: {} @@ -21344,7 +21187,7 @@ snapshots: dependencies: path-type: 4.0.0 - docus@5.10.1(7685c4646555465e63fcecbf5dabdbc1): + docus@5.10.1(6f8da7f1805eae88a33d7eaaf6520657): dependencies: '@ai-sdk/gateway': 3.0.109(zod@4.4.2) '@ai-sdk/mcp': 1.0.39(zod@4.4.2) @@ -21355,11 +21198,11 @@ snapshots: '@nuxt/content': 3.13.0(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(magicast@0.5.2)(valibot@1.3.1(typescript@6.0.3)) '@nuxt/image': 2.0.0(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(magicast@0.5.2) '@nuxt/kit': 4.4.4(magicast@0.5.2) - '@nuxt/ui': 4.7.1(4da065bdacad40e9138de722ac178a5e) - '@nuxtjs/i18n': 10.3.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@vue/compiler-dom@3.5.33)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(eslint@9.39.4(jiti@2.6.1))(ioredis@5.10.1)(magicast@0.5.2)(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) - '@nuxtjs/mcp-toolkit': 0.16.1(@vue/compiler-sfc@3.5.33)(h3@1.15.11)(magicast@0.5.2)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + '@nuxt/ui': 4.7.1(dc17648ac6c3fdd79a3ff69e254ec91d) + '@nuxtjs/i18n': 10.3.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@vue/compiler-dom@3.5.33)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(eslint@9.39.4(jiti@2.6.1))(ioredis@5.10.1)(magicast@0.5.2)(rollup@4.60.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxtjs/mcp-toolkit': 0.16.1(@vue/compiler-sfc@3.5.33)(h3@1.15.11)(magicast@0.5.2)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) '@nuxtjs/mdc': 0.21.1(magicast@0.5.2) - '@nuxtjs/robots': 6.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + '@nuxtjs/robots': 6.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) '@shikijs/core': 4.0.2 '@shikijs/engine-javascript': 4.0.2 '@shikijs/langs': 4.0.2 @@ -21372,9 +21215,9 @@ snapshots: exsolve: 1.0.8 git-url-parse: 16.1.0 motion-v: 2.2.1(@vueuse/core@14.3.0(vue@3.5.33(typescript@6.0.3)))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vue@3.5.33(typescript@6.0.3)) - nuxt: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) + nuxt: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) nuxt-llms: 0.2.0(magicast@0.5.2) - nuxt-og-image: 6.4.10(a75144f829670fca553c5eb615e689a5) + nuxt-og-image: 6.4.10(8c55729e91d73effbb78df7b30a09103) pkg-types: 2.3.1 scule: 1.3.0 shiki-stream: 0.1.4(react@19.2.5)(solid-js@1.9.12)(vue@3.5.33(typescript@6.0.3)) @@ -22469,7 +22312,7 @@ snapshots: dependencies: tiny-inflate: 1.0.3 - fontless@0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + fontless@0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: consola: 3.4.2 css-tree: 3.2.1 @@ -22485,7 +22328,7 @@ snapshots: unifont: 0.7.4 unstorage: 1.17.5(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1) optionalDependencies: - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -22507,7 +22350,7 @@ snapshots: - ioredis - uploadthing - fontless@0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + fontless@0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: consola: 3.4.2 css-tree: 3.2.1 @@ -22523,7 +22366,7 @@ snapshots: unifont: 0.7.4 unstorage: 1.17.5(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1) optionalDependencies: - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -22760,15 +22603,6 @@ snapshots: ufo: 1.6.4 uncrypto: 0.1.3 - h3@2.0.1-rc.2(crossws@0.4.5(srvx@0.8.16)): - dependencies: - cookie-es: 2.0.1 - fetchdts: 0.1.7 - rou3: 0.7.12 - srvx: 0.8.16 - optionalDependencies: - crossws: 0.4.5(srvx@0.8.16) - h3@2.0.1-rc.20(crossws@0.4.5(srvx@0.11.15)): dependencies: rou3: 0.8.1 @@ -22776,21 +22610,6 @@ snapshots: optionalDependencies: crossws: 0.4.5(srvx@0.11.15) - h3@2.0.1-rc.20(crossws@0.4.5(srvx@0.11.16)): - dependencies: - rou3: 0.8.1 - srvx: 0.11.15 - optionalDependencies: - crossws: 0.4.5(srvx@0.11.16) - optional: true - - h3@2.0.1-rc.20(crossws@0.4.5(srvx@0.8.16)): - dependencies: - rou3: 0.8.1 - srvx: 0.11.15 - optionalDependencies: - crossws: 0.4.5(srvx@0.8.16) - h3@2.0.1-rc.21(crossws@0.4.5(srvx@0.11.15)): dependencies: rou3: 0.8.1 @@ -22798,12 +22617,12 @@ snapshots: optionalDependencies: crossws: 0.4.5(srvx@0.11.15) - h3@2.0.1-rc.22(crossws@0.4.5(srvx@0.11.16)): + h3@2.0.1-rc.22(crossws@0.4.5(srvx@0.11.15)): dependencies: rou3: 0.8.1 srvx: 0.11.15 optionalDependencies: - crossws: 0.4.5(srvx@0.11.16) + crossws: 0.4.5(srvx@0.11.15) happy-dom@20.9.0: dependencies: @@ -24236,33 +24055,30 @@ snapshots: - '@babel/core' - babel-plugin-macros - nf3@0.1.12: {} - nf3@0.3.16: {} nf3@0.3.17: {} - nitro-nightly@4.0.0-20251010-091516-7cafddba(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@4.0.3)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(lru-cache@11.3.5)(rolldown@1.1.0)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + nitro-nightly@3.0.260522-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: consola: 3.4.2 - cookie-es: 2.0.1 - crossws: 0.4.5(srvx@0.8.16) + crossws: 0.4.5(srvx@0.11.15) db0: 0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)) - esbuild: 0.25.12 - fetchdts: 0.1.7 - h3: 2.0.1-rc.2(crossws@0.4.5(srvx@0.8.16)) - jiti: 2.7.0 - nf3: 0.1.12 - ofetch: 1.5.1 + env-runner: 0.1.9 + h3: 2.0.1-rc.22(crossws@0.4.5(srvx@0.11.15)) + hookable: 6.1.1 + nf3: 0.3.17 + ocache: 0.1.4 + ofetch: 2.0.0-alpha.3 ohash: 2.0.11 - rendu: 0.0.6 - rollup: 4.60.2 - srvx: 0.8.16 - undici: 7.25.0 - unenv: 2.0.0-rc.21 - unstorage: 2.0.0-alpha.3(chokidar@4.0.3)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(lru-cache@11.3.5)(ofetch@1.5.1) + rolldown: 1.0.2 + srvx: 0.11.15 + unenv: 2.0.0-rc.24 + unstorage: 2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(lru-cache@11.3.5)(ofetch@2.0.0-alpha.3) optionalDependencies: - rolldown: 1.1.0 + dotenv: 17.4.2 + giget: 3.2.0 + jiti: 2.7.0 vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@azure/app-configuration' @@ -24276,6 +24092,7 @@ snapshots: - '@electric-sql/pglite' - '@libsql/client' - '@netlify/blobs' + - '@netlify/runtime' - '@planetscale/database' - '@upstash/redis' - '@vercel/blob' @@ -24288,12 +24105,13 @@ snapshots: - idb-keyval - ioredis - lru-cache + - miniflare - mongodb - mysql2 - sqlite3 - uploadthing - nitro@3.0.260311-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + nitro@3.0.260311-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: consola: 3.4.2 crossws: 0.4.5(srvx@0.11.15) @@ -24305,7 +24123,7 @@ snapshots: ocache: 0.1.4 ofetch: 2.0.0-alpha.3 ohash: 2.0.11 - rolldown: 1.0.2 + rolldown: 1.0.0-rc.18 srvx: 0.11.15 unenv: 2.0.0-rc.24 unstorage: 2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(lru-cache@11.3.5)(ofetch@2.0.0-alpha.3) @@ -24314,7 +24132,7 @@ snapshots: giget: 3.2.0 jiti: 2.7.0 rollup: 4.60.2 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -24346,27 +24164,27 @@ snapshots: - sqlite3 - uploadthing - nitro@3.0.260603-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + nitro@3.0.260522-beta(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(chokidar@5.0.0)(dotenv@17.4.2)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(giget@3.2.0)(ioredis@5.10.1)(jiti@2.7.0)(lru-cache@11.3.5)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: consola: 3.4.2 - crossws: 0.4.5(srvx@0.11.16) + crossws: 0.4.5(srvx@0.11.15) db0: 0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)) env-runner: 0.1.9 - h3: 2.0.1-rc.22(crossws@0.4.5(srvx@0.11.16)) + h3: 2.0.1-rc.22(crossws@0.4.5(srvx@0.11.15)) hookable: 6.1.1 nf3: 0.3.17 ocache: 0.1.4 ofetch: 2.0.0-alpha.3 ohash: 2.0.11 - rolldown: 1.1.0 - srvx: 0.11.16 + rolldown: 1.0.2 + srvx: 0.11.15 unenv: 2.0.0-rc.24 unstorage: 2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(lru-cache@11.3.5)(ofetch@2.0.0-alpha.3) optionalDependencies: dotenv: 17.4.2 giget: 3.2.0 jiti: 2.7.0 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -24606,7 +24424,7 @@ snapshots: - supports-color - uploadthing - nitropack@2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.1.0): + nitropack@2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.2): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@rollup/plugin-alias': 6.0.0(rollup@4.60.2) @@ -24659,7 +24477,7 @@ snapshots: pretty-bytes: 7.1.0 radix3: 1.1.2 rollup: 4.60.2 - rollup-plugin-visualizer: 7.0.1(rolldown@1.1.0)(rollup@4.60.2) + rollup-plugin-visualizer: 7.0.1(rolldown@1.0.2)(rollup@4.60.2) scule: 1.3.0 semver: 7.7.4 serve-placeholder: 2.0.2 @@ -24777,7 +24595,7 @@ snapshots: transitivePeerDependencies: - magicast - nuxt-og-image@6.4.10(a75144f829670fca553c5eb615e689a5): + nuxt-og-image@6.4.10(8c55729e91d73effbb78df7b30a09103): dependencies: '@clack/prompts': 1.3.0 '@nuxt/kit': 4.4.6(magicast@0.5.2) @@ -24793,8 +24611,8 @@ snapshots: magic-string: 0.30.21 magicast: 0.5.2 mocked-exports: 0.1.1 - nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) - nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) nypm: 0.6.6 ofetch: 1.5.1 ohash: 2.0.11 @@ -24814,7 +24632,7 @@ snapshots: optionalDependencies: '@resvg/resvg-js': 2.6.2 '@takumi-rs/core': 1.1.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - fontless: 0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + fontless: 0.2.1(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) satori: 0.19.3 sharp: 0.34.5 tailwindcss: 4.2.4 @@ -24837,12 +24655,12 @@ snapshots: - magicast - vue - nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76): + nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2): dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) h3: 1.15.11 nuxt-site-config-kit: 4.0.8(magicast@0.5.2)(vue@3.5.33(typescript@6.0.3)) - nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76))(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) + nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) pathe: 2.0.3 pkg-types: 2.3.1 site-config-stack: 4.0.8(vue@3.5.33(typescript@6.0.3)) @@ -24855,12 +24673,12 @@ snapshots: - vue - zod - nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2): + nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76): dependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) h3: 1.15.11 nuxt-site-config-kit: 4.0.8(magicast@0.5.2)(vue@3.5.33(typescript@6.0.3)) - nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + nuxtseo-shared: 5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76))(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) pathe: 2.0.3 pkg-types: 2.3.1 site-config-stack: 4.0.8(vue@3.5.33(typescript@6.0.3)) @@ -24917,17 +24735,17 @@ snapshots: - uploadthing - vue - nuxt@4.4.4(1c432982cee559849a9dc4decf895c74): + nuxt@4.4.4(163941d31dc8937f73f0941c905f113a): dependencies: - '@dxup/nuxt': 0.4.1(magicast@0.5.2)(typescript@5.9.3) + '@dxup/nuxt': 0.4.1(magicast@0.5.2)(typescript@6.0.3) '@nuxt/cli': 3.35.1(@nuxt/schema@4.4.4)(cac@6.7.14)(magicast@0.5.2) - '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) + '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) - '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(1c432982cee559849a9dc4decf895c74))(oxc-parser@0.128.0)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.9.3) + '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(163941d31dc8937f73f0941c905f113a))(oxc-parser@0.128.0)(rolldown@1.0.0-rc.17)(typescript@6.0.3) '@nuxt/schema': 4.4.4 '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.4.4(magicast@0.5.2)) - '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(1c432982cee559849a9dc4decf895c74))(optionator@0.9.4)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vue-tsc@3.2.7(typescript@5.9.3))(vue@3.5.33(typescript@5.9.3))(yaml@2.8.4) - '@unhead/vue': 2.1.13(vue@3.5.33(typescript@5.9.3)) + '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(163941d31dc8937f73f0941c905f113a))(optionator@0.9.4)(rolldown@1.0.0-rc.17)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-rc.17)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4) + '@unhead/vue': 2.1.13(vue@3.5.33(typescript@6.0.3)) '@vue/shared': 3.5.33 chokidar: 5.0.0 compatx: 0.2.0 @@ -24972,11 +24790,11 @@ snapshots: unplugin: 3.0.0 unrouting: 0.1.7 untyped: 2.0.0 - vue: 3.5.33(typescript@5.9.3) - vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@5.9.3)) + vue: 3.5.33(typescript@6.0.3) + vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@6.0.3)) optionalDependencies: '@parcel/watcher': 2.5.6 - '@types/node': 25.9.2 + '@types/node': 25.9.1 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -25046,16 +24864,16 @@ snapshots: - xml2js - yaml - nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582): + nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d): dependencies: '@dxup/nuxt': 0.4.1(magicast@0.5.2)(typescript@6.0.3) '@nuxt/cli': 3.35.1(@nuxt/schema@4.4.4)(cac@6.7.14)(magicast@0.5.2) - '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) - '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(oxc-parser@0.128.0)(rolldown@1.1.0)(typescript@6.0.3) + '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(oxc-parser@0.128.0)(rolldown@1.0.2)(typescript@6.0.3) '@nuxt/schema': 4.4.4 '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.4.4(magicast@0.5.2)) - '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4) + '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.6.1))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(optionator@0.9.4)(rolldown@1.0.2)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.2)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4) '@unhead/vue': 2.1.13(vue@3.5.33(typescript@6.0.3)) '@vue/shared': 3.5.33 chokidar: 5.0.0 @@ -25105,7 +24923,7 @@ snapshots: vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@6.0.3)) optionalDependencies: '@parcel/watcher': 2.5.6 - '@types/node': 25.9.2 + '@types/node': 25.9.1 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -25175,16 +24993,16 @@ snapshots: - xml2js - yaml - nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb): + nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce): dependencies: '@dxup/nuxt': 0.4.1(magicast@0.5.2)(typescript@6.0.3) '@nuxt/cli': 3.35.1(@nuxt/schema@4.4.4)(cac@6.7.14)(magicast@0.5.2) - '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) - '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(oxc-parser@0.128.0)(rolldown@1.1.0)(typescript@6.0.3) + '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(oxc-parser@0.128.0)(rolldown@1.0.2)(typescript@6.0.3) '@nuxt/schema': 4.4.4 '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.4.4(magicast@0.5.2)) - '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.6.1))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(optionator@0.9.4)(rolldown@1.1.0)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4) + '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(optionator@0.9.4)(rolldown@1.0.2)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.2)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4) '@unhead/vue': 2.1.13(vue@3.5.33(typescript@6.0.3)) '@vue/shared': 3.5.33 chokidar: 5.0.0 @@ -25234,7 +25052,7 @@ snapshots: vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@6.0.3)) optionalDependencies: '@parcel/watcher': 2.5.6 - '@types/node': 25.9.2 + '@types/node': 25.9.1 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -25304,17 +25122,17 @@ snapshots: - xml2js - yaml - nuxt@4.4.4(da3747dc41af2761a854c4df2428c224): + nuxt@4.4.4(cc4ec224de2d6c06d027ec9a27895e5a): dependencies: - '@dxup/nuxt': 0.4.1(magicast@0.5.2)(typescript@6.0.3) + '@dxup/nuxt': 0.4.1(magicast@0.5.2)(typescript@5.9.3) '@nuxt/cli': 3.35.1(@nuxt/schema@4.4.4)(cac@6.7.14)(magicast@0.5.2) - '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)) + '@nuxt/devtools': 3.2.4(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)) '@nuxt/kit': 4.4.4(magicast@0.5.2) - '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(da3747dc41af2761a854c4df2428c224))(oxc-parser@0.128.0)(rolldown@1.0.0-rc.17)(typescript@6.0.3) + '@nuxt/nitro-server': 4.4.4(@babel/core@7.29.0)(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(magicast@0.5.2)(nuxt@4.4.4(cc4ec224de2d6c06d027ec9a27895e5a))(oxc-parser@0.128.0)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.9.3) '@nuxt/schema': 4.4.4 '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.4.4(magicast@0.5.2)) - '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.2)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(da3747dc41af2761a854c4df2428c224))(optionator@0.9.4)(rolldown@1.0.0-rc.17)(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-rc.17)(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@6.0.3)(vue-tsc@3.2.7(typescript@6.0.3))(vue@3.5.33(typescript@6.0.3))(yaml@2.8.4) - '@unhead/vue': 2.1.13(vue@3.5.33(typescript@6.0.3)) + '@nuxt/vite-builder': 4.4.4(@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0))(@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0))(@types/node@25.9.1)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.32.0)(magicast@0.5.2)(nuxt@4.4.4(cc4ec224de2d6c06d027ec9a27895e5a))(optionator@0.9.4)(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-beta.57(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rollup@4.60.2))(rollup@4.60.2)(terser@5.46.2)(tsx@4.21.0)(typescript@5.9.3)(vue-tsc@3.2.7(typescript@5.9.3))(vue@3.5.33(typescript@5.9.3))(yaml@2.8.4) + '@unhead/vue': 2.1.13(vue@3.5.33(typescript@5.9.3)) '@vue/shared': 3.5.33 chokidar: 5.0.0 compatx: 0.2.0 @@ -25359,11 +25177,11 @@ snapshots: unplugin: 3.0.0 unrouting: 0.1.7 untyped: 2.0.0 - vue: 3.5.33(typescript@6.0.3) - vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@6.0.3)) + vue: 3.5.33(typescript@5.9.3) + vue-router: 5.0.6(@vue/compiler-sfc@3.5.33)(vue@3.5.33(typescript@5.9.3)) optionalDependencies: '@parcel/watcher': 2.5.6 - '@types/node': 25.9.2 + '@types/node': 25.9.1 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -25433,16 +25251,16 @@ snapshots: - xml2js - yaml - nuxtseo-shared@5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76))(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76): + nuxtseo-shared@5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2): dependencies: '@clack/prompts': 1.3.0 - '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/kit': 4.4.4(magicast@0.5.2) '@nuxt/schema': 4.4.6 birpc: 4.0.0 consola: 3.4.2 defu: 6.1.7 - nuxt: 4.4.4(4ce79750208d3e950bc761cf7e0cc582) + nuxt: 4.4.4(409faa2d09cfb6a8edd3813c1134db1d) ofetch: 1.5.1 pathe: 2.0.3 pkg-types: 2.3.1 @@ -25452,22 +25270,22 @@ snapshots: ufo: 1.6.4 vue: 3.5.33(typescript@6.0.3) optionalDependencies: - nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(4ce79750208d3e950bc761cf7e0cc582))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) - zod: 3.25.76 + nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(409faa2d09cfb6a8edd3813c1134db1d))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) + zod: 4.4.2 transitivePeerDependencies: - magicast - vite - nuxtseo-shared@5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.3))(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2): + nuxtseo-shared@5.1.3(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt-site-config@4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76))(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76): dependencies: '@clack/prompts': 1.3.0 - '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.5.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@nuxt/kit': 4.4.4(magicast@0.5.2) '@nuxt/schema': 4.4.6 birpc: 4.0.0 consola: 3.4.2 defu: 6.1.7 - nuxt: 4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb) + nuxt: 4.4.4(71801589c663398b7779b77c63f5f3ce) ofetch: 1.5.1 pathe: 2.0.3 pkg-types: 2.3.1 @@ -25477,8 +25295,8 @@ snapshots: ufo: 1.6.4 vue: 3.5.33(typescript@6.0.3) optionalDependencies: - nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(9d388c72d2b392dcafd6f1cb1dc630bb))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@4.4.2) - zod: 4.4.2 + nuxt-site-config: 4.0.8(@nuxt/schema@4.4.6)(magicast@0.5.2)(nuxt@4.4.4(71801589c663398b7779b77c63f5f3ce))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3))(zod@3.25.76) + zod: 3.25.76 transitivePeerDependencies: - magicast - vite @@ -26503,11 +26321,6 @@ snapshots: mdast-util-to-markdown: 2.1.2 unified: 11.0.5 - rendu@0.0.6: - dependencies: - cookie-es: 2.0.1 - srvx: 0.8.16 - require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -26631,6 +26444,27 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.17 '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.17 + rolldown@1.0.0-rc.18: + dependencies: + '@oxc-project/types': 0.128.0 + '@rolldown/pluginutils': 1.0.0-rc.18 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.0-rc.18 + '@rolldown/binding-darwin-arm64': 1.0.0-rc.18 + '@rolldown/binding-darwin-x64': 1.0.0-rc.18 + '@rolldown/binding-freebsd-x64': 1.0.0-rc.18 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.18 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.18 + '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.18 + '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.18 + '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.18 + '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.18 + '@rolldown/binding-linux-x64-musl': 1.0.0-rc.18 + '@rolldown/binding-openharmony-arm64': 1.0.0-rc.18 + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.18 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.18 + '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.18 + rolldown@1.0.2: dependencies: '@oxc-project/types': 0.132.0 @@ -26652,27 +26486,6 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.0.2 '@rolldown/binding-win32-x64-msvc': 1.0.2 - rolldown@1.1.0: - dependencies: - '@oxc-project/types': 0.134.0 - '@rolldown/pluginutils': 1.0.1 - optionalDependencies: - '@rolldown/binding-android-arm64': 1.1.0 - '@rolldown/binding-darwin-arm64': 1.1.0 - '@rolldown/binding-darwin-x64': 1.1.0 - '@rolldown/binding-freebsd-x64': 1.1.0 - '@rolldown/binding-linux-arm-gnueabihf': 1.1.0 - '@rolldown/binding-linux-arm64-gnu': 1.1.0 - '@rolldown/binding-linux-arm64-musl': 1.1.0 - '@rolldown/binding-linux-ppc64-gnu': 1.1.0 - '@rolldown/binding-linux-s390x-gnu': 1.1.0 - '@rolldown/binding-linux-x64-gnu': 1.1.0 - '@rolldown/binding-linux-x64-musl': 1.1.0 - '@rolldown/binding-openharmony-arm64': 1.1.0 - '@rolldown/binding-wasm32-wasi': 1.1.0 - '@rolldown/binding-win32-arm64-msvc': 1.1.0 - '@rolldown/binding-win32-x64-msvc': 1.1.0 - rollup-plugin-dts@6.4.1(rollup@4.60.2)(typescript@6.0.3): dependencies: '@jridgewell/remapping': 2.3.5 @@ -26714,14 +26527,14 @@ snapshots: rolldown: 1.0.0-rc.17 rollup: 4.60.2 - rollup-plugin-visualizer@7.0.1(rolldown@1.1.0)(rollup@4.60.2): + rollup-plugin-visualizer@7.0.1(rolldown@1.0.2)(rollup@4.60.2): dependencies: open: 11.0.0 picomatch: 4.0.4 source-map: 0.7.6 yargs: 18.0.0 optionalDependencies: - rolldown: 1.1.0 + rolldown: 1.0.2 rollup: 4.60.2 rollup-pluginutils@2.8.2: @@ -27208,10 +27021,6 @@ snapshots: srvx@0.11.15: {} - srvx@0.11.16: {} - - srvx@0.8.16: {} - stable-hash-x@0.2.0: {} stack-trace@0.0.10: {} @@ -27787,14 +27596,6 @@ snapshots: pathe: 2.0.3 ufo: 1.6.4 - unenv@2.0.0-rc.21: - dependencies: - defu: 6.1.7 - exsolve: 1.0.8 - ohash: 2.0.11 - pathe: 2.0.3 - ufo: 1.6.4 - unenv@2.0.0-rc.24: dependencies: pathe: 2.0.3 @@ -28003,14 +27804,6 @@ snapshots: db0: 0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)) ioredis: 5.10.1 - unstorage@2.0.0-alpha.3(chokidar@4.0.3)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(lru-cache@11.3.5)(ofetch@1.5.1): - optionalDependencies: - chokidar: 4.0.3 - db0: 0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)) - ioredis: 5.10.1 - lru-cache: 11.3.5 - ofetch: 1.5.1 - unstorage@2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1)(lru-cache@11.3.5)(ofetch@1.5.1): optionalDependencies: chokidar: 5.0.0 @@ -28106,7 +27899,7 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.2)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.1.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vinxi@0.5.11(@libsql/client@0.17.3)(@types/node@25.9.1)(better-sqlite3@12.9.0)(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(ioredis@5.10.1)(jiti@2.7.0)(lightningcss@1.32.0)(oxc-parser@0.128.0)(rolldown@1.0.2)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: '@babel/core': 7.29.0 '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) @@ -28127,7 +27920,7 @@ snapshots: hookable: 5.5.3 http-proxy: 1.18.1 micromatch: 4.0.8 - nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.1.0) + nitropack: 2.13.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17))(oxc-parser@0.128.0)(rolldown@1.0.2) node-fetch-native: 1.6.7 path-to-regexp: 6.3.0 pathe: 1.1.2 @@ -28140,7 +27933,7 @@ snapshots: unctx: 2.5.0 unenv: 1.10.0 unstorage: 1.17.5(db0@0.3.4(@libsql/client@0.17.3)(better-sqlite3@12.9.0)(drizzle-orm@0.45.2(@cloudflare/workers-types@4.20260503.1)(@libsql/client@0.17.3)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.9.0)(bun-types@1.3.14)(kysely@0.28.17)))(ioredis@5.10.1) - vite: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) zod: 4.4.3 transitivePeerDependencies: - '@azure/app-configuration' @@ -28189,33 +27982,33 @@ snapshots: - xml2js - yaml - vite-dev-rpc@1.1.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-dev-rpc@1.1.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: birpc: 2.9.0 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-hot-client: 2.2.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-hot-client: 2.2.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - vite-dev-rpc@1.1.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-dev-rpc@1.1.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: birpc: 2.9.0 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-hot-client: 2.2.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-hot-client: 2.2.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) - vite-hot-client@2.2.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-hot-client@2.2.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-hot-client@2.2.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-hot-client@2.2.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-node@3.2.4(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vite-node@3.2.4(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: cac: 6.7.14 debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.3.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@types/node' - jiti @@ -28230,13 +28023,13 @@ snapshots: - tsx - yaml - vite-node@5.3.0(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vite-node@5.3.0(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: cac: 6.7.14 es-module-lexer: 2.1.0 obug: 2.1.1 pathe: 2.0.3 - vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - '@types/node' - jiti @@ -28250,7 +28043,7 @@ snapshots: - tsx - yaml - vite-plugin-checker@0.13.0(eslint@9.39.4(jiti@2.6.1))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)): + vite-plugin-checker@0.13.0(eslint@9.39.4(jiti@2.6.1))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)): dependencies: '@babel/code-frame': 7.29.0 chokidar: 4.0.3 @@ -28260,7 +28053,7 @@ snapshots: proper-lockfile: 4.1.2 tiny-invariant: 1.3.3 tinyglobby: 0.2.16 - vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vscode-uri: 3.1.0 optionalDependencies: eslint: 9.39.4(jiti@2.6.1) @@ -28268,7 +28061,7 @@ snapshots: typescript: 6.0.3 vue-tsc: 3.2.7(typescript@6.0.3) - vite-plugin-checker@0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@5.9.3)): + vite-plugin-checker@0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@5.9.3)): dependencies: '@babel/code-frame': 7.29.0 chokidar: 4.0.3 @@ -28278,7 +28071,7 @@ snapshots: proper-lockfile: 4.1.2 tiny-invariant: 1.3.3 tinyglobby: 0.2.16 - vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vscode-uri: 3.1.0 optionalDependencies: eslint: 9.39.4(jiti@2.7.0) @@ -28286,7 +28079,7 @@ snapshots: typescript: 5.9.3 vue-tsc: 3.2.7(typescript@5.9.3) - vite-plugin-checker@0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)): + vite-plugin-checker@0.13.0(eslint@9.39.4(jiti@2.7.0))(optionator@0.9.4)(typescript@6.0.3)(vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue-tsc@3.2.7(typescript@6.0.3)): dependencies: '@babel/code-frame': 7.29.0 chokidar: 4.0.3 @@ -28296,7 +28089,7 @@ snapshots: proper-lockfile: 4.1.2 tiny-invariant: 1.3.3 tinyglobby: 0.2.16 - vite: 7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vscode-uri: 3.1.0 optionalDependencies: eslint: 9.39.4(jiti@2.7.0) @@ -28304,7 +28097,7 @@ snapshots: typescript: 6.0.3 vue-tsc: 3.2.7(typescript@6.0.3) - vite-plugin-inspect@11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-plugin-inspect@11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: ansis: 4.2.0 debug: 4.4.3 @@ -28314,14 +28107,14 @@ snapshots: perfect-debounce: 2.1.0 sirv: 3.0.2 unplugin-utils: 0.3.1 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-dev-rpc: 1.1.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-dev-rpc: 1.1.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) optionalDependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) transitivePeerDependencies: - supports-color - vite-plugin-inspect@11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-plugin-inspect@11.3.3(@nuxt/kit@4.4.4(magicast@0.5.2))(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: ansis: 4.2.0 debug: 4.4.3 @@ -28331,17 +28124,17 @@ snapshots: perfect-debounce: 2.1.0 sirv: 3.0.2 unplugin-utils: 0.3.1 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vite-dev-rpc: 1.1.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite-dev-rpc: 1.1.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) optionalDependencies: '@nuxt/kit': 4.4.4(magicast@0.5.2) transitivePeerDependencies: - supports-color - vite-plugin-singlefile@2.3.3(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-plugin-singlefile@2.3.3(rollup@4.60.2)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: micromatch: 4.0.8 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) optionalDependencies: rollup: 4.60.2 @@ -28359,7 +28152,7 @@ snapshots: - supports-color optional: true - vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: '@babel/core': 7.29.0 '@types/babel__core': 7.20.5 @@ -28367,39 +28160,39 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.12 solid-refresh: 0.6.3(solid-js@1.9.12) - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vitefu: 1.1.3(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) transitivePeerDependencies: - supports-color - vite-plugin-vue-tracer@1.3.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)): + vite-plugin-vue-tracer@1.3.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)): dependencies: estree-walker: 3.0.3 exsolve: 1.0.8 magic-string: 0.30.21 pathe: 2.0.3 source-map-js: 1.2.1 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@6.0.3) - vite-plugin-vue-tracer@1.3.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)): + vite-plugin-vue-tracer@1.3.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@5.9.3)): dependencies: estree-walker: 3.0.3 exsolve: 1.0.8 magic-string: 0.30.21 pathe: 2.0.3 source-map-js: 1.2.1 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@5.9.3) - vite-plugin-vue-tracer@1.3.0(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)): + vite-plugin-vue-tracer@1.3.0(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vue@3.5.33(typescript@6.0.3)): dependencies: estree-walker: 3.0.3 exsolve: 1.0.8 magic-string: 0.30.21 pathe: 2.0.3 source-map-js: 1.2.1 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vue: 3.5.33(typescript@6.0.3) vite-tsconfig-paths@5.1.4(typescript@5.9.3)(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): @@ -28413,7 +28206,7 @@ snapshots: - supports-color - typescript - vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.4) @@ -28422,7 +28215,7 @@ snapshots: rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 fsevents: 2.3.3 jiti: 2.7.0 lightningcss: 1.32.0 @@ -28447,7 +28240,7 @@ snapshots: tsx: 4.21.0 yaml: 2.8.4 - vite@7.3.2(@types/node@25.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vite@7.3.2(@types/node@25.9.1)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -28456,7 +28249,7 @@ snapshots: rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 fsevents: 2.3.3 jiti: 2.6.1 lightningcss: 1.32.0 @@ -28464,7 +28257,7 @@ snapshots: tsx: 4.21.0 yaml: 2.8.4 - vite@7.3.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vite@7.3.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -28473,7 +28266,7 @@ snapshots: rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 fsevents: 2.3.3 jiti: 2.7.0 lightningcss: 1.32.0 @@ -28497,7 +28290,7 @@ snapshots: tsx: 4.21.0 yaml: 2.8.4 - vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -28505,7 +28298,7 @@ snapshots: rolldown: 1.0.0-rc.17 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 esbuild: 0.28.0 fsevents: 2.3.3 jiti: 2.6.1 @@ -28513,7 +28306,7 @@ snapshots: tsx: 4.21.0 yaml: 2.8.4 - vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -28521,7 +28314,7 @@ snapshots: rolldown: 1.0.0-rc.17 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 25.9.2 + '@types/node': 25.9.1 esbuild: 0.28.0 fsevents: 2.3.3 jiti: 2.7.0 @@ -28529,26 +28322,26 @@ snapshots: tsx: 4.21.0 yaml: 2.8.4 - vitefu@1.1.3(vite@6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vitefu@1.1.3(vite@6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): optionalDependencies: - vite: 6.4.2(@types/node@25.9.2)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 6.4.2(@types/node@25.9.1)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) vitefu@1.1.3(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): optionalDependencies: vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vitefu@1.1.3(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vitefu@1.1.3(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): optionalDependencies: - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.6.1)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) optional: true - vitefu@1.1.3(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vitefu@1.1.3(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): optionalDependencies: - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) - vitest-environment-nuxt@2.0.0(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5): + vitest-environment-nuxt@2.0.0(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5): dependencies: - '@nuxt/test-utils': 4.0.3(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) + '@nuxt/test-utils': 4.0.3(crossws@0.4.5(srvx@0.11.15))(happy-dom@20.9.0)(magicast@0.5.2)(typescript@6.0.3)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.5) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -28595,10 +28388,10 @@ snapshots: transitivePeerDependencies: - msw - vitest@4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): + vitest@4.1.5(@opentelemetry/api@1.9.0)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)): dependencies: '@vitest/expect': 4.1.5 - '@vitest/mocker': 4.1.5(vite@8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@vitest/mocker': 4.1.5(vite@8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) '@vitest/pretty-format': 4.1.5 '@vitest/runner': 4.1.5 '@vitest/snapshot': 4.1.5 @@ -28615,11 +28408,11 @@ snapshots: tinyexec: 1.1.2 tinyglobby: 0.2.16 tinyrainbow: 3.1.0 - vite: 8.0.10(@types/node@25.9.2)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.10(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.0 - '@types/node': 25.9.2 + '@types/node': 25.9.1 '@vitest/coverage-v8': 4.1.5(vitest@4.1.5) happy-dom: 20.9.0 transitivePeerDependencies: From 40f00d576b52c09c1c25ec0f4cc3bf9d5a460c7c Mon Sep 17 00:00:00 2001 From: Hugo Richard Date: Wed, 10 Jun 2026 21:12:14 +0100 Subject: [PATCH 5/5] fix code rabbit review --- .../content/2.learn/3.structured-errors.md | 2 +- packages/evlog/src/nitro-v3/errorHandler.ts | 12 +- packages/evlog/src/nitro/enrich-drain.ts | 12 +- packages/evlog/src/nitro/errorHandler.ts | 9 +- packages/evlog/src/shared/nitro-types.ts | 11 + packages/evlog/test/core/dev-terminal.test.ts | 24 +++ .../evlog/test/nitro-v3/errorHandler.test.ts | 194 +++++++++++++++++- 7 files changed, 238 insertions(+), 26 deletions(-) create mode 100644 packages/evlog/src/shared/nitro-types.ts diff --git a/apps/docs/content/2.learn/3.structured-errors.md b/apps/docs/content/2.learn/3.structured-errors.md index a97a97dd..8d6e229d 100644 --- a/apps/docs/content/2.learn/3.structured-errors.md +++ b/apps/docs/content/2.learn/3.structured-errors.md @@ -229,7 +229,7 @@ Colors and tree connectors render in the terminal; the example above omits ANSI | Goal | Config | |------|--------| -| One clean signal — wide event only, no Nitro `[request error]` overlay | `dev: 'evlog'` (default when `pretty: true` in dev) | +| One clean signal — wide event only, no Nitro `[request error]` overlay | `dev: 'evlog'` (default in pretty dev) | | Wide event context + Nitro's native Youch stack (evlog prints Why/Fix only) | `dev: 'nitro'` | | Full evlog block **and** Nitro overlay (debug) | `dev: 'both'` | | No pretty tree (JSON logs) but still suppress Nitro overlay | `pretty: false`, `dev: { frameworkOverlay: false }` | diff --git a/packages/evlog/src/nitro-v3/errorHandler.ts b/packages/evlog/src/nitro-v3/errorHandler.ts index 0c015e6e..de48efa0 100644 --- a/packages/evlog/src/nitro-v3/errorHandler.ts +++ b/packages/evlog/src/nitro-v3/errorHandler.ts @@ -7,11 +7,9 @@ import { serializeEvlogErrorResponse, shouldSuppressNitroDevOverlay, suppressNitroDevOverlay, + markH3ErrorHandled, } from '../nitro' - -type NitroErrorHandlerContext = { - defaultHandler?: (error: Error, event: unknown, opts?: { silent?: boolean; json?: boolean }) => Promise -} +import type { NitroErrorHandlerContext } from '../shared/nitro-types' /** * Custom Nitro v3 error handler that properly serializes EvlogError. @@ -23,13 +21,15 @@ type NitroErrorHandlerContext = { * export { default } from 'evlog/nitro/v3/errorHandler' * ``` */ -export default defineErrorHandler(async (error, event, ctx?: NitroErrorHandlerContext) => { +export default defineErrorHandler(async (error, event, ctx: NitroErrorHandlerContext) => { const suppressOverlay = shouldSuppressNitroDevOverlay() - if (!suppressOverlay && ctx?.defaultHandler) { + if (!suppressOverlay) { await ctx.defaultHandler(error, event, { silent: false }) } + markH3ErrorHandled(event) + if (suppressOverlay) { suppressNitroDevOverlay(error) } diff --git a/packages/evlog/src/nitro/enrich-drain.ts b/packages/evlog/src/nitro/enrich-drain.ts index 4e963b15..f75ff995 100644 --- a/packages/evlog/src/nitro/enrich-drain.ts +++ b/packages/evlog/src/nitro/enrich-drain.ts @@ -99,7 +99,11 @@ export async function callEnrichAndDrain( console.error('[evlog] enrich failed:', err) } if (runner.hasEnrich) { - await runner.runEnrich(enrichCtx) + try { + await runner.runEnrich(enrichCtx) + } catch (err) { + console.error('[evlog] enrich failed:', err) + } } const drainCtx = { @@ -113,7 +117,11 @@ export async function callEnrichAndDrain( }), ] if (runner.hasDrain) { - drainTasks.push(runner.runDrain(drainCtx)) + drainTasks.push( + runner.runDrain(drainCtx).catch((err) => { + console.error('[evlog] drain failed:', err) + }), + ) } const drainPromise = Promise.all(drainTasks) diff --git a/packages/evlog/src/nitro/errorHandler.ts b/packages/evlog/src/nitro/errorHandler.ts index a8fdd3d0..e128f582 100644 --- a/packages/evlog/src/nitro/errorHandler.ts +++ b/packages/evlog/src/nitro/errorHandler.ts @@ -11,6 +11,7 @@ import { shouldSuppressNitroDevOverlay, suppressNitroDevOverlay, } from '../nitro' +import type { NitroErrorHandlerContext } from '../shared/nitro-types' /** * Custom Nitro error handler that properly serializes EvlogError. @@ -20,14 +21,10 @@ import { * For non-EvlogError, it preserves Nitro's default response shape while * sanitizing internal error details in production for 5xx errors. */ -type NitroErrorHandlerContext = { - defaultHandler?: (error: Error, event: unknown, opts?: { silent?: boolean; json?: boolean }) => Promise -} - -export default defineNitroErrorHandler(async (error, event, ctx?: NitroErrorHandlerContext) => { +export default defineNitroErrorHandler(async (error, event, ctx: NitroErrorHandlerContext) => { const suppressOverlay = shouldSuppressNitroDevOverlay() - if (!suppressOverlay && ctx?.defaultHandler) { + if (!suppressOverlay) { await ctx.defaultHandler(error, event, { silent: false }) } diff --git a/packages/evlog/src/shared/nitro-types.ts b/packages/evlog/src/shared/nitro-types.ts new file mode 100644 index 00000000..16e0be65 --- /dev/null +++ b/packages/evlog/src/shared/nitro-types.ts @@ -0,0 +1,11 @@ +/** + * Context passed to Nitro custom error handlers (v2 and v3). + * @internal + */ +export interface NitroErrorHandlerContext { + defaultHandler: ( + error: Error, + event: unknown, + opts?: { silent?: boolean; json?: boolean }, + ) => Promise | unknown +} diff --git a/packages/evlog/test/core/dev-terminal.test.ts b/packages/evlog/test/core/dev-terminal.test.ts index acbf3dd4..b2418d5d 100644 --- a/packages/evlog/test/core/dev-terminal.test.ts +++ b/packages/evlog/test/core/dev-terminal.test.ts @@ -62,6 +62,30 @@ describe('resolveDevTerminal', () => { resolveDevTerminal({ pretty: true }), ) }) + + it('accepts explicit dev object overrides', () => { + process.env.NODE_ENV = 'development' + expect(resolveDevTerminal({ + pretty: true, + dev: { + frameworkOverlay: true, + prettyError: { + snippet: false, + stackDepth: 1, + compact: false, + detail: 'guidance', + }, + }, + })).toEqual({ + frameworkOverlay: true, + prettyError: { + snippet: false, + stackDepth: 0, + compact: false, + detail: 'guidance', + }, + }) + }) }) describe('shouldShowFrameworkOverlay', () => { diff --git a/packages/evlog/test/nitro-v3/errorHandler.test.ts b/packages/evlog/test/nitro-v3/errorHandler.test.ts index 57871736..3c153c1b 100644 --- a/packages/evlog/test/nitro-v3/errorHandler.test.ts +++ b/packages/evlog/test/nitro-v3/errorHandler.test.ts @@ -1,18 +1,54 @@ import { beforeEach, describe, expect, it, vi } from 'vitest' -import { resetNitroDevOverlayCache } from '../../src/nitro' + +declare global { + // eslint-disable-next-line @typescript-eslint/naming-convention + var __EVLOG_CONFIG__: unknown +} vi.mock('nitro', () => ({ defineErrorHandler: (handler: T) => handler, })) +import { createError } from '../../src/error' import errorHandler from '../../src/nitro-v3/errorHandler' +import { resetNitroDevOverlayCache, shouldSuppressNitroDevOverlay } from '../../src/nitro' + +const defaultHandlerMock = vi.fn().mockResolvedValue(undefined) + +const mockEvent = { + req: { url: 'http://localhost/api/test' }, + _handled: false, +} as { req: { url: string }; _handled: boolean } + +function invokeErrorHandler(error: Error, event = mockEvent) { + return errorHandler(error, event, { defaultHandler: defaultHandlerMock }) +} + +async function readJson(response: Response) { + return JSON.parse(await response.text()) +} describe('nitro-v3 errorHandler', () => { beforeEach(() => { vi.clearAllMocks() vi.stubEnv('NODE_ENV', 'development') vi.stubEnv('__EVLOG_CONFIG', JSON.stringify({ pretty: true })) + delete globalThis.__EVLOG_CONFIG__ resetNitroDevOverlayCache() + mockEvent._handled = false + }) + + it('marks the h3 event handled so Nitro dev handler does not run', async () => { + await invokeErrorHandler(new Error('boom')) + expect(mockEvent._handled).toBe(true) + }) + + it('clears unhandled flag in dev pretty mode', async () => { + vi.stubEnv('__EVLOG_CONFIG', JSON.stringify({ pretty: true })) + const error = Object.assign(new Error('boom'), { unhandled: true, fatal: true }) + await invokeErrorHandler(error) + expect(error.unhandled).toBe(false) + expect(error.fatal).toBe(false) }) it('calls defaultHandler when dev preset is nitro', async () => { @@ -20,20 +56,156 @@ describe('nitro-v3 errorHandler', () => { resetNitroDevOverlayCache() const defaultHandler = vi.fn().mockResolvedValue(undefined) const error = new Error('boom') - const event = { req: { url: 'http://localhost/api/test' } } - await errorHandler(error, event, { defaultHandler }) + await errorHandler(error, mockEvent, { defaultHandler }) + + expect(defaultHandler).toHaveBeenCalledWith(error, mockEvent, { silent: false }) + }) + + it('reads inlined __EVLOG_CONFIG__ for overlay suppression', () => { + vi.stubEnv('__EVLOG_CONFIG', undefined) + globalThis.__EVLOG_CONFIG__ = { pretty: true, dev: 'nitro' } + resetNitroDevOverlayCache() + expect(shouldSuppressNitroDevOverlay()).toBe(false) + }) + + describe('EvlogError handling', () => { + it('serializes EvlogError with all data fields', async () => { + const evlogError = Object.assign(new Error('Payment failed'), { + name: 'EvlogError', + status: 402, + statusText: 'Payment failed', + statusCode: 402, + statusMessage: 'Payment failed', + data: { + why: 'Card declined', + fix: 'Try another card', + link: 'https://docs.example.com', + }, + }) + + const response = await invokeErrorHandler(evlogError) + + expect(response.status).toBe(402) + expect(response.headers.get('Content-Type')).toBe('application/json') + + const body = await readJson(response) + expect(body.statusCode).toBe(402) + expect(body.message).toBe('Payment failed') + expect(body.url).toBe('/api/test') + expect(body.error).toBe(true) + expect(body.data).toEqual({ + why: 'Card declined', + fix: 'Try another card', + link: 'https://docs.example.com', + }) + }) + + it('derives HTTP status from evlogError when in error.cause', async () => { + const evlogError = Object.assign(new Error('Not found'), { + name: 'EvlogError', + status: 404, + statusText: 'Not found', + statusCode: 404, + statusMessage: 'Not found', + data: { why: 'Resource does not exist' }, + }) - expect(defaultHandler).toHaveBeenCalledWith(error, event, { silent: false }) + const wrapperError = Object.assign(new Error('Wrapper error'), { cause: evlogError }) + + const response = await invokeErrorHandler(wrapperError) + + expect(response.status).toBe(404) + + const body = await readJson(response) + expect(body.statusCode).toBe(404) + expect(body.data).toEqual({ why: 'Resource does not exist' }) + }) + + it('defaults to 500 when no status on evlogError', async () => { + const evlogError = Object.assign(new Error('Unknown error'), { name: 'EvlogError' }) + + const response = await invokeErrorHandler(evlogError) + + expect(response.status).toBe(500) + }) + + it('does not expose internal context on EvlogError responses', async () => { + const err = createError({ + message: 'Not allowed', + status: 403, + why: 'Insufficient role', + internal: { userId: 'u-internal', rawPolicy: 'deny:admin' }, + }) + + const response = await invokeErrorHandler(err) + + const body = await readJson(response) + expect(body.internal).toBeUndefined() + expect(JSON.stringify(body)).not.toContain('u-internal') + expect(JSON.stringify(body)).not.toContain('rawPolicy') + expect(body.data).toEqual({ + why: 'Insufficient role', + fix: undefined, + link: undefined, + }) + }) }) - it('returns JSON for standard errors', async () => { - const error = Object.assign(new Error('Something went wrong'), { statusCode: 400 }) - const response = await errorHandler(error, { req: { url: 'http://localhost/api/test' } }) + describe('non-EvlogError handling', () => { + it('uses Nitro-compatible format for standard errors', async () => { + const error = Object.assign(new Error('Something went wrong'), { + statusCode: 400, + }) + + const response = await invokeErrorHandler(error) + + expect(response.status).toBe(400) + + const body = await readJson(response) + expect(body.statusCode).toBe(400) + expect(body.statusMessage).toBe('Something went wrong') + expect(body.message).toBe('Something went wrong') + expect(body.url).toBe('/api/test') + expect(body.error).toBe(true) + expect(body.data).toBeUndefined() + }) + + it('defaults to 500 for errors without status', async () => { + const response = await invokeErrorHandler(new Error('Generic error')) + expect(response.status).toBe(500) + }) + + it('uses "Internal Server Error" when no message', async () => { + const response = await invokeErrorHandler(new Error('')) + + const body = await readJson(response) + expect(body.message).toBe('Internal Server Error') + expect(body.statusMessage).toBe('Internal Server Error') + }) + + it('sanitizes 5xx error messages in production', async () => { + vi.stubEnv('NODE_ENV', 'production') + + const error = Object.assign(new Error('Database connection failed: password invalid'), { + statusCode: 500, + }) + + const body = await readJson(await invokeErrorHandler(error)) + expect(body.message).toBe('Internal Server Error') + expect(body.statusMessage).toBe('Internal Server Error') + }) + + it('preserves 4xx error messages in production', async () => { + vi.stubEnv('NODE_ENV', 'production') + + const error = Object.assign(new Error('Invalid email format'), { + statusCode: 400, + }) - expect(response).toBeInstanceOf(Response) - expect(response.status).toBe(400) - const body = JSON.parse(await response.text()) - expect(body.message).toBe('Something went wrong') + const body = await readJson(await invokeErrorHandler(error)) + expect(body.message).toBe('Invalid email format') + expect(body.statusMessage).toBe('Invalid email format') + }) }) })