From 3c0cd54d324f2555294443a0f54c062c94f1a887 Mon Sep 17 00:00:00 2001 From: "Tommy D. Rossi" Date: Sat, 9 May 2026 15:12:17 +0200 Subject: [PATCH 1/5] add example-basepath and example-inside-next example-basepath: minimal holocron docs site with base: /docs. Exports dist/rsc for embedding in other frameworks. example-inside-next: Next.js 16 app that mounts the basepath example at /docs via a catch-all route handler. Uses turbopackIgnore/webpackIgnore comments on the dynamic import so bundlers skip the pre-built vite output and Node.js resolves it at runtime. Empty next.config.ts, works with both Turbopack (default in Next 16) and webpack. Session: ses_1f4149c2effeI6lDwAx7Zqp3VI --- .gitignore | 1 + example-basepath/docs.json | 14 +++++++ example-basepath/package.json | 25 +++++++++++ example-basepath/src/getting-started.mdx | 41 +++++++++++++++++++ example-basepath/src/index.mdx | 12 ++++++ example-basepath/tsconfig.json | 19 +++++++++ example-basepath/vite.config.ts | 8 ++++ example-inside-next/next-env.d.ts | 6 +++ example-inside-next/next.config.ts | 5 +++ example-inside-next/package.json | 22 ++++++++++ .../src/app/docs/[[...slug]]/route.ts | 36 ++++++++++++++++ example-inside-next/src/app/layout.tsx | 9 ++++ example-inside-next/src/app/page.tsx | 40 ++++++++++++++++++ example-inside-next/tsconfig.json | 36 ++++++++++++++++ 14 files changed, 274 insertions(+) create mode 100644 example-basepath/docs.json create mode 100644 example-basepath/package.json create mode 100644 example-basepath/src/getting-started.mdx create mode 100644 example-basepath/src/index.mdx create mode 100644 example-basepath/tsconfig.json create mode 100644 example-basepath/vite.config.ts create mode 100644 example-inside-next/next-env.d.ts create mode 100644 example-inside-next/next.config.ts create mode 100644 example-inside-next/package.json create mode 100644 example-inside-next/src/app/docs/[[...slug]]/route.ts create mode 100644 example-inside-next/src/app/layout.tsx create mode 100644 example-inside-next/src/app/page.tsx create mode 100644 example-inside-next/tsconfig.json diff --git a/.gitignore b/.gitignore index 95ab13e10..54688c5ed 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ website/openapi.json template/node_modules template/dist template/pnpm-lock.yaml +.next diff --git a/example-basepath/docs.json b/example-basepath/docs.json new file mode 100644 index 000000000..fb85870b8 --- /dev/null +++ b/example-basepath/docs.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://unpkg.com/@holocron.so/vite/src/schema.json", + "name": "Base Path Example", + "colors": { + "primary": "#6366f1" + }, + "icons": { "library": "lucide" }, + "navigation": [ + { + "group": "Getting Started", + "pages": ["index", "getting-started"] + } + ] +} diff --git a/example-basepath/package.json b/example-basepath/package.json new file mode 100644 index 000000000..71f0db010 --- /dev/null +++ b/example-basepath/package.json @@ -0,0 +1,25 @@ +{ + "name": "example-basepath", + "private": true, + "type": "module", + "exports": { + "./dist/rsc": "./dist/rsc/index.js" + }, + "scripts": { + "dev": "vite dev", + "build": "vite build", + "start": "node dist/rsc/index.js" + }, + "dependencies": { + "@holocron.so/vite": "workspace:^", + "react": "^19.2.5", + "react-dom": "^19.2.5", + "spiceflow": "1.24.2-rsc.0", + "vite": "^8.0.10" + }, + "devDependencies": { + "@types/react": "^19.2.7", + "@types/react-dom": "^19.2.3", + "typescript": "^5.9.3" + } +} diff --git a/example-basepath/src/getting-started.mdx b/example-basepath/src/getting-started.mdx new file mode 100644 index 000000000..9206e4148 --- /dev/null +++ b/example-basepath/src/getting-started.mdx @@ -0,0 +1,41 @@ +--- +title: Getting Started +description: Set up a base path holocron site. +--- + +# Getting Started + +## Configuration + +Add `base: '/docs'` to your Vite config: + +```ts +import { defineConfig } from 'vite' +import { holocron } from '@holocron.so/vite' + +export default defineConfig({ + base: '/docs', + plugins: [holocron({ pagesDir: './src' })], +}) +``` + +## Export for embedding + +Add an export in `package.json` so other apps can import the built app: + +```json +{ + "exports": { + "./dist/rsc": "./dist/rsc/index.js" + } +} +``` + +## Build and run + +```bash +vite build +node dist/rsc/index.js +``` + +The docs site will be available at `http://localhost:3000/docs`. diff --git a/example-basepath/src/index.mdx b/example-basepath/src/index.mdx new file mode 100644 index 000000000..7fe8d4a6e --- /dev/null +++ b/example-basepath/src/index.mdx @@ -0,0 +1,12 @@ +--- +title: Welcome +description: Holocron docs served under a base path. +--- + +# Welcome + +This is a minimal Holocron docs site served at `/docs`. It demonstrates the **base path** feature, where the entire site is mounted under a URL prefix. + +## How it works + +Set `base: '/docs'` in your `vite.config.ts` and Holocron handles all routing under that prefix. The built output can be mounted inside another framework (like Next.js) via `app.handle(request)`. diff --git a/example-basepath/tsconfig.json b/example-basepath/tsconfig.json new file mode 100644 index 000000000..88b4a1772 --- /dev/null +++ b/example-basepath/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "module": "ESNext", + "moduleResolution": "Bundler", + "jsx": "preserve", + "strict": true, + "skipLibCheck": true, + "noEmit": true, + "isolatedModules": true, + "esModuleInterop": true, + "resolveJsonModule": true, + "forceConsistentCasingInFileNames": true, + "types": ["vite/client"] + }, + "include": ["**/*.ts", "**/*.tsx"], + "exclude": ["node_modules", "dist"] +} diff --git a/example-basepath/vite.config.ts b/example-basepath/vite.config.ts new file mode 100644 index 000000000..5fcff6751 --- /dev/null +++ b/example-basepath/vite.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite' +import { holocron } from '@holocron.so/vite' + +export default defineConfig({ + clearScreen: false, + base: '/docs', + plugins: [holocron({ pagesDir: './src' })], +}) diff --git a/example-inside-next/next-env.d.ts b/example-inside-next/next-env.d.ts new file mode 100644 index 000000000..9edff1c7c --- /dev/null +++ b/example-inside-next/next-env.d.ts @@ -0,0 +1,6 @@ +/// +/// +import "./.next/types/routes.d.ts"; + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/example-inside-next/next.config.ts b/example-inside-next/next.config.ts new file mode 100644 index 000000000..e4f5738a3 --- /dev/null +++ b/example-inside-next/next.config.ts @@ -0,0 +1,5 @@ +import type { NextConfig } from 'next' + +const nextConfig: NextConfig = {} + +export default nextConfig diff --git a/example-inside-next/package.json b/example-inside-next/package.json new file mode 100644 index 000000000..b1b2e9de0 --- /dev/null +++ b/example-inside-next/package.json @@ -0,0 +1,22 @@ +{ + "name": "example-inside-next", + "private": true, + "type": "module", + "scripts": { + "build-docs": "pnpm --filter example-basepath build", + "dev": "pnpm build-docs && next dev", + "build": "pnpm build-docs && next build", + "start": "next start" + }, + "dependencies": { + "example-basepath": "workspace:^", + "next": "^16.2.6", + "react": "^19.2.5", + "react-dom": "^19.2.5" + }, + "devDependencies": { + "@types/react": "^19.2.7", + "@types/react-dom": "^19.2.3", + "typescript": "^5.9.3" + } +} diff --git a/example-inside-next/src/app/docs/[[...slug]]/route.ts b/example-inside-next/src/app/docs/[[...slug]]/route.ts new file mode 100644 index 000000000..934fa6beb --- /dev/null +++ b/example-inside-next/src/app/docs/[[...slug]]/route.ts @@ -0,0 +1,36 @@ +// Catch-all route handler that forwards requests to the Holocron docs app. +// The Holocron app is built with base: '/docs' so it expects requests at /docs/*. +// No URL rewriting needed; Next.js routes /docs/* here and the full URL is forwarded. +// Static assets are served by spiceflow's auto-injected serveStatic middleware. +// +// The dynamic import with turbopackIgnore/webpackIgnore tells the bundler to +// skip this import entirely. The pre-built holocron output contains patterns +// (native NAPI loaders, vite RSC internals) that bundlers can't re-process. +// Node.js resolves the import at runtime instead, which is the correct behavior +// for a pre-built server artifact. + +type HolocronModule = typeof import('example-basepath/dist/rsc') + +let holocronPromise: Promise | undefined + +function loadHolocron() { + holocronPromise ??= import( + /* webpackIgnore: true */ + /* turbopackIgnore: true */ + 'example-basepath/dist/rsc' + ) as Promise + return holocronPromise +} + +async function handler(request: Request) { + const { app } = await loadHolocron() + return app.handle(request) +} + +export const GET = handler +export const POST = handler +export const PUT = handler +export const PATCH = handler +export const DELETE = handler +export const HEAD = handler +export const OPTIONS = handler diff --git a/example-inside-next/src/app/layout.tsx b/example-inside-next/src/app/layout.tsx new file mode 100644 index 000000000..35831ae48 --- /dev/null +++ b/example-inside-next/src/app/layout.tsx @@ -0,0 +1,9 @@ +export default function RootLayout({ children }: { children: React.ReactNode }) { + return ( + + + {children} + + + ) +} diff --git a/example-inside-next/src/app/page.tsx b/example-inside-next/src/app/page.tsx new file mode 100644 index 000000000..b1711bb98 --- /dev/null +++ b/example-inside-next/src/app/page.tsx @@ -0,0 +1,40 @@ +export default function Home() { + return ( +
+

Next.js + Holocron

+

+ This Next.js app mounts a Holocron docs site at{' '} + + /docs + + . The Holocron app is built separately and served via a catch-all route handler. +

+ + Go to Docs → + +
+ ) +} diff --git a/example-inside-next/tsconfig.json b/example-inside-next/tsconfig.json new file mode 100644 index 000000000..3938e07c5 --- /dev/null +++ b/example-inside-next/tsconfig.json @@ -0,0 +1,36 @@ +{ + "compilerOptions": { + "target": "ES2017", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react-jsx", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + "next-env.d.ts", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts" + ], + "exclude": [ + "node_modules" + ] +} From d6be0d0d84e1f6d216b8763ac82d12320fc2a787 Mon Sep 17 00:00:00 2001 From: "Tommy D. Rossi" Date: Sat, 9 May 2026 15:12:25 +0200 Subject: [PATCH 2/5] update spiceflow to 1.24.2-rsc.0 across workspace Picks up the findSourceMapURL production strip fix: the dev-only /__vite_rsc_findSourceMapURL URL is no longer emitted in production SSR/browser builds, removing one of the two bundler-incompatible patterns from the vite build output. Session: ses_1f4149c2effeI6lDwAx7Zqp3VI --- cli/package.json | 2 +- example-cloudflare/package.json | 4 +- example/package.json | 2 +- integration-tests/package.json | 2 +- pnpm-lock.yaml | 903 +++++++++++++++----------------- vite/package.json | 4 +- website/package.json | 6 +- 7 files changed, 429 insertions(+), 494 deletions(-) diff --git a/cli/package.json b/cli/package.json index 9d522ccbb..cc9a52611 100644 --- a/cli/package.json +++ b/cli/package.json @@ -52,7 +52,7 @@ "dependencies": { "@clack/prompts": "^1.0.0", "goke": "^6.10.0", - "spiceflow": "1.24.0-rsc.0", + "spiceflow": "1.24.2-rsc.0", "string-dedent": "^3.0.2", "yaml": "^2.8.0", "zod": "latest" diff --git a/example-cloudflare/package.json b/example-cloudflare/package.json index 319623bf0..5e3f2f419 100644 --- a/example-cloudflare/package.json +++ b/example-cloudflare/package.json @@ -12,7 +12,7 @@ "@holocron.so/vite": "workspace:^", "react": "^19.2.5", "react-dom": "^19.2.5", - "spiceflow": "1.24.0-rsc.0", + "spiceflow": "1.24.2-rsc.0", "vite": "^8.0.10" }, "devDependencies": { @@ -21,6 +21,6 @@ "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", "typescript": "^5.9.3", - "wrangler": "^4.82.2" + "wrangler": "^4.90.0" } } diff --git a/example/package.json b/example/package.json index a9ba775c5..5063fc98b 100644 --- a/example/package.json +++ b/example/package.json @@ -11,7 +11,7 @@ "@holocron.so/vite": "workspace:^", "react": "^19.2.5", "react-dom": "^19.2.5", - "spiceflow": "1.24.0-rsc.0", + "spiceflow": "1.24.2-rsc.0", "vite": "^8.0.10" }, "devDependencies": { diff --git a/integration-tests/package.json b/integration-tests/package.json index 82ec63fda..87d2b54d0 100644 --- a/integration-tests/package.json +++ b/integration-tests/package.json @@ -20,7 +20,7 @@ "@types/react-dom": "^19.2.3", "react": "^19.2.5", "react-dom": "^19.2.5", - "spiceflow": "1.24.0-rsc.0", + "spiceflow": "1.24.2-rsc.0", "tailwindcss": "^4.2.2", "vite": "^8.0.10" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b15adb5a7..0563623a0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,10 +16,10 @@ importers: version: 6.0.2 vite: specifier: ^8.0.10 - version: 8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + version: 8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) vitest: specifier: ^4.1.4 - version: 4.1.4(@opentelemetry/api@1.9.0)(@types/node@25.6.1)(vite@8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + version: 4.1.4(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) cli: dependencies: @@ -30,8 +30,8 @@ importers: specifier: ^6.10.0 version: 6.10.0 spiceflow: - specifier: 1.24.0-rsc.0 - version: 1.24.0-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.11(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3) + specifier: 1.24.2-rsc.0 + version: 1.24.2-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3) string-dedent: specifier: ^3.0.2 version: 3.0.2 @@ -44,7 +44,7 @@ importers: devDependencies: '@types/node': specifier: ^25.5.0 - version: 25.6.0 + version: 25.6.2 rimraf: specifier: ^6.0.1 version: 6.1.3 @@ -59,7 +59,7 @@ importers: devDependencies: '@types/node': specifier: ^25.6.0 - version: 25.6.0 + version: 25.6.2 drizzle-kit: specifier: 1.0.0-beta.21 version: 1.0.0-beta.21 @@ -85,11 +85,39 @@ importers: specifier: ^19.2.5 version: 19.2.5(react@19.2.5) spiceflow: - specifier: 1.24.0-rsc.0 - version: 1.24.0-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3) + specifier: 1.24.2-rsc.0 + version: 1.24.2-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3) vite: specifier: ^8.0.10 - version: 8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + version: 8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + devDependencies: + '@types/react': + specifier: ^19.2.7 + version: 19.2.14 + '@types/react-dom': + specifier: ^19.2.3 + version: 19.2.3(@types/react@19.2.14) + typescript: + specifier: ^5.9.3 + version: 5.9.3 + + example-basepath: + dependencies: + '@holocron.so/vite': + specifier: workspace:^ + version: link:../vite + react: + specifier: ^19.2.5 + version: 19.2.5 + react-dom: + specifier: ^19.2.5 + version: 19.2.5(react@19.2.5) + spiceflow: + specifier: 1.24.2-rsc.0 + version: 1.24.2-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3) + vite: + specifier: ^8.0.10 + version: 8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) devDependencies: '@types/react': specifier: ^19.2.7 @@ -113,15 +141,15 @@ importers: specifier: ^19.2.5 version: 19.2.5(react@19.2.5) spiceflow: - specifier: 1.24.0-rsc.0 - version: 1.24.0-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3) + specifier: 1.24.2-rsc.0 + version: 1.24.2-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3) vite: specifier: ^8.0.10 - version: 8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + version: 8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) devDependencies: '@cloudflare/vite-plugin': specifier: ^1.32.2 - version: 1.32.2(vite@8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(workerd@1.20260410.1)(wrangler@4.82.2(@cloudflare/workers-types@4.20260409.1)) + version: 1.32.2(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(workerd@1.20260507.1)(wrangler@4.90.0(@cloudflare/workers-types@4.20260409.1)) '@cloudflare/workers-types': specifier: ^4.20260408.0 version: 4.20260409.1 @@ -135,8 +163,33 @@ importers: specifier: ^5.9.3 version: 5.9.3 wrangler: - specifier: ^4.82.2 - version: 4.82.2(@cloudflare/workers-types@4.20260409.1) + specifier: ^4.90.0 + version: 4.90.0(@cloudflare/workers-types@4.20260409.1) + + example-inside-next: + dependencies: + example-basepath: + specifier: workspace:^ + version: link:../example-basepath + next: + specifier: ^16.2.6 + version: 16.2.6(@opentelemetry/api@1.9.0)(@playwright/test@1.59.1)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + react: + specifier: ^19.2.5 + version: 19.2.5 + react-dom: + specifier: ^19.2.5 + version: 19.2.5(react@19.2.5) + devDependencies: + '@types/react': + specifier: ^19.2.7 + version: 19.2.14 + '@types/react-dom': + specifier: ^19.2.3 + version: 19.2.3(@types/react@19.2.14) + typescript: + specifier: ^5.9.3 + version: 5.9.3 integration-tests: dependencies: @@ -148,10 +201,10 @@ importers: version: 1.59.1 '@tailwindcss/vite': specifier: ^4.2.2 - version: 4.2.2(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + version: 4.2.2(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) '@types/node': specifier: ^25.6.0 - version: 25.6.0 + version: 25.6.2 '@types/react': specifier: ^19.2.7 version: 19.2.14 @@ -165,14 +218,14 @@ importers: specifier: ^19.2.5 version: 19.2.5(react@19.2.5) spiceflow: - specifier: 1.24.0-rsc.0 - version: 1.24.0-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3) + specifier: 1.24.2-rsc.0 + version: 1.24.2-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3) tailwindcss: specifier: ^4.2.2 version: 4.2.2 vite: specifier: ^8.0.10 - version: 8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + version: 8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) devDependencies: fflate: specifier: ^0.8.2 @@ -215,10 +268,10 @@ importers: version: 0.5.19(tailwindcss@4.2.2) '@tailwindcss/vite': specifier: ^4.2.2 - version: 4.2.2(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + version: 4.2.2(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) '@vitejs/plugin-react': specifier: ^6.0.1 - version: 6.0.1(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + version: 6.0.1(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) cookie: specifier: ^1.1.1 version: 1.1.1 @@ -312,7 +365,7 @@ importers: version: 4.0.4 '@types/node': specifier: ^25.6.0 - version: 25.6.0 + version: 25.6.2 '@types/prismjs': specifier: ^1.26.6 version: 1.26.6 @@ -326,17 +379,17 @@ importers: specifier: ^0.34.5 version: 0.34.5 spiceflow: - specifier: 1.24.0-rsc.0 - version: 1.24.0-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3) + specifier: 1.24.2-rsc.0 + version: 1.24.2-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3) typescript: specifier: ^5.9.3 version: 5.9.3 vite: specifier: ^8.0.10 - version: 8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + version: 8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) vitest: specifier: ^4.1.4 - version: 4.1.4(@opentelemetry/api@1.9.0)(@types/node@25.6.0)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + version: 4.1.4(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) website: dependencies: @@ -348,13 +401,13 @@ importers: version: link:../vite '@tailwindcss/vite': specifier: ^4.2.2 - version: 4.2.2(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + version: 4.2.2(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) ai: specifier: ^6.0.149 version: 6.0.149(zod@4.4.3) better-auth: specifier: latest - version: 1.6.9(@opentelemetry/api@1.9.0)(drizzle-orm@1.0.0-beta.21(@opentelemetry/api@1.9.0)(@types/mssql@9.1.11(@azure/core-client@1.10.1))(mssql@11.0.1(@azure/core-client@1.10.1))(sql.js@1.14.1)(zod@4.4.3))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.4(@opentelemetry/api@1.9.0)(@types/node@25.6.0)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))) + version: 1.6.9(@opentelemetry/api@1.9.0)(drizzle-orm@1.0.0-beta.21(@opentelemetry/api@1.9.0)(@types/mssql@9.1.11(@azure/core-client@1.10.1))(mssql@11.0.1(@azure/core-client@1.10.1))(sql.js@1.14.1)(zod@4.4.3))(next@16.2.6(@opentelemetry/api@1.9.0)(@playwright/test@1.59.1)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.4(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -386,8 +439,8 @@ importers: specifier: ^19.2.5 version: 19.2.5(react@19.2.5) spiceflow: - specifier: 1.24.0-rsc.0 - version: 1.24.0-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3) + specifier: 1.24.2-rsc.0 + version: 1.24.2-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3) string-dedent: specifier: ^3.0.2 version: 3.0.2 @@ -402,7 +455,7 @@ importers: version: 3.0.2 vite: specifier: ^8.0.10 - version: 8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + version: 8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) workers-ai-provider: specifier: ^3.1.13 version: 3.1.13(@ai-sdk/provider@3.0.8)(ai@6.0.149(zod@4.4.3)) @@ -412,10 +465,10 @@ importers: devDependencies: '@cloudflare/vite-plugin': specifier: ^1.32.2 - version: 1.32.2(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(workerd@1.20260410.1)(wrangler@4.82.2) + version: 1.32.2(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(workerd@1.20260507.1)(wrangler@4.90.0(@cloudflare/workers-types@4.20260409.1)) '@types/node': specifier: ^25.6.0 - version: 25.6.0 + version: 25.6.2 '@types/react': specifier: ^19.2.7 version: 19.2.14 @@ -424,7 +477,7 @@ importers: version: 19.2.3(@types/react@19.2.14) '@vitejs/plugin-react': specifier: latest - version: 6.0.1(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + version: 6.0.1(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) tsx: specifier: ^4.21.0 version: 4.21.0 @@ -432,8 +485,8 @@ importers: specifier: ^5.9.3 version: 5.9.3 wrangler: - specifier: ^4.82.2 - version: 4.82.2(@cloudflare/workers-types@4.20260409.1) + specifier: ^4.90.0 + version: 4.90.0(@cloudflare/workers-types@4.20260409.1) packages: @@ -515,16 +568,16 @@ packages: resolution: {integrity: sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==} engines: {node: '>=20.0.0'} - '@azure/msal-browser@5.9.0': - resolution: {integrity: sha512-CzE+4PefDSJWj26zU7G1bKchlGRRHMBFreG4tAlGuzyI8hAPiYGobaJvZBgZBf6L63iphX7VH+ityL8VgEQz9Q==} + '@azure/msal-browser@5.10.0': + resolution: {integrity: sha512-2Y4TlG5mCfxviHutfW50i8Xd8xhGKTgieL02vMYOE5ZbZrVM+drKSGD//tweRAmlmqqp+F9vrKoHWri/buzxWQ==} engines: {node: '>=0.8.0'} - '@azure/msal-common@16.5.2': - resolution: {integrity: sha512-GkDEL6TYo3HgT3UuqakdgE9PZfc1hMki6+Hwgy1uddb/EauvAKfu85vVhuofRSo22D1xTnWt8Ucwfg4vSCVwvA==} + '@azure/msal-common@16.6.0': + resolution: {integrity: sha512-FemGljX0csPlBMUE5GUan7BfRn1emeMRUhHSARhqzLN6LA9nt+MgzmAQ1xVqdLm+6plVoxsq9mS5eoyKtpPSgA==} engines: {node: '>=0.8.0'} - '@azure/msal-node@5.1.5': - resolution: {integrity: sha512-ObTeMoNPmq19X3z40et9Xvs4ZoWVeJg43PZMRLG5iwVL+2nCtAerG3YTDItqPp1CfXNwmCXBbg8jn1DOx65c3g==} + '@azure/msal-node@5.2.0': + resolution: {integrity: sha512-b/ak8XAqpnGk1N1nsyTVV0Remp48BP3QrGQZ1uCMcvg2S8X1eSXzhHQZEae2oX276Q4KFAqCUswanDtcvIKLrw==} engines: {node: '>=20'} '@babel/helper-string-parser@7.27.1': @@ -663,9 +716,9 @@ packages: '@clack/prompts@1.2.0': resolution: {integrity: sha512-4jmztR9fMqPMjz6H/UZXj0zEmE43ha1euENwkckKKel4XpSfokExPo5AiVStdHSAlHekz4d0CA/r45Ok1E4D3w==} - '@cloudflare/kv-asset-handler@0.4.2': - resolution: {integrity: sha512-SIOD2DxrRRwQ+jgzlXCqoEFiKOFqaPjhnNTGKXSRLvp1HiOvapLaFG2kEr9dYQTYe8rKrd9uvDUzmAITeNyaHQ==} - engines: {node: '>=18.0.0'} + '@cloudflare/kv-asset-handler@0.5.0': + resolution: {integrity: sha512-jxQYkj8dSIzc0cD6cMMNdOc1UVjqSqu8BZdor5s8cGjW2I8BjODt/kWPVdY+u9zj3ms75Q5qaZgnxUad83+eAg==} + engines: {node: '>=22.0.0'} '@cloudflare/unenv-preset@2.16.0': resolution: {integrity: sha512-8ovsRpwzPoEqPUzoErAYVv8l3FMZNeBVQfJTvtzP4AgLSRGZISRfuChFxHWUQd3n6cnrwkuTGxT+2cGo8EsyYg==} @@ -676,6 +729,15 @@ packages: workerd: optional: true + '@cloudflare/unenv-preset@2.16.1': + resolution: {integrity: sha512-ECxObrMfyTl5bhQf/lZCXwo5G6xX9IAUo+nDMKK4SZ8m4Jvvxp52vilxyySSWh2YTZz8+HQ07qGH/2rEom1vDw==} + peerDependencies: + unenv: 2.0.0-rc.24 + workerd: '>1.20260305.0 <2.0.0-0' + peerDependenciesMeta: + workerd: + optional: true + '@cloudflare/vite-plugin@1.32.2': resolution: {integrity: sha512-sEI/jusfDvzHIL4oiBBV5iUxAXfTRvguecIDWQ/AxBgEjGO1ZslHOEy4rlxfgqrdRWtq0TM9m3oC+hT32hajEg==} peerDependencies: @@ -688,30 +750,60 @@ packages: cpu: [x64] os: [darwin] + '@cloudflare/workerd-darwin-64@1.20260507.1': + resolution: {integrity: sha512-S85aMwcaPJUjKWDiG6iMMnioKWtPLACa6m0j/EhHR1GYfVpnxb974cBc6d25L+sf7jHWHJI2u5hGp0UTJ7MtXQ==} + engines: {node: '>=16'} + cpu: [x64] + os: [darwin] + '@cloudflare/workerd-darwin-arm64@1.20260410.1': resolution: {integrity: sha512-r2On29gPvlk/eiH/OpeUT23xoB8W8D1PHr8lul5nyxElLqvh3yNxZUnJWrbcOl+ubfrvw7+jFwgopMe17xyf0g==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] + '@cloudflare/workerd-darwin-arm64@1.20260507.1': + resolution: {integrity: sha512-GMEBu8Zp9Q97HLnf7bWJN4KjWpN5MxpeqdvHjBGWNl8UYprJI0k+Jkp89+Wh5S8vIon+HoVbDfOzPa7VwgL6Eg==} + engines: {node: '>=16'} + cpu: [arm64] + os: [darwin] + '@cloudflare/workerd-linux-64@1.20260410.1': resolution: {integrity: sha512-qWORRcAzPZeHJjrcYBNZTN6Y9l+iZQUz4KBdWbNrM6My4CpNrXS5kErPR373vG//5QPaDGwMXgBqyn9xfzarJQ==} engines: {node: '>=16'} cpu: [x64] os: [linux] + '@cloudflare/workerd-linux-64@1.20260507.1': + resolution: {integrity: sha512-QlrKEBdgA3uVc0Ok0Q3+0/CW0CTjgj5ySir1i1YY5FXVv0X6GpwtnB5umjunjF2MFprss+L+iFGZzxcSvMC1nA==} + engines: {node: '>=16'} + cpu: [x64] + os: [linux] + '@cloudflare/workerd-linux-arm64@1.20260410.1': resolution: {integrity: sha512-jQfuHL4mnGDFyomSS3JNs9TpTvCu6Vzz2QSNCfJRstMzTICUFLMc4Vp/xKK+M5xkb0PoAu/G0hHx7jrxB2j+OQ==} engines: {node: '>=16'} cpu: [arm64] os: [linux] + '@cloudflare/workerd-linux-arm64@1.20260507.1': + resolution: {integrity: sha512-eGbbupEtK2nh9V9Dhcx3vv3GTKeXqSVNgAEYVCCN0NGS9tl9HbMoHRX/4JL181FKXROMigWBCQVL//qPhsAzBQ==} + engines: {node: '>=16'} + cpu: [arm64] + os: [linux] + '@cloudflare/workerd-windows-64@1.20260410.1': resolution: {integrity: sha512-h8q/nbheDqpknY7AAOz19MuQkZAR1/bnoZnKipyeUPXt5No+y6HlTtva9Bohx5Fhc1MW2CX2MQVdb55qtkkqZQ==} engines: {node: '>=16'} cpu: [x64] os: [win32] + '@cloudflare/workerd-windows-64@1.20260507.1': + resolution: {integrity: sha512-dmClJ/E0BAcuDetQIZFqbeAXejWrG5pysGRMQ6T83Y0IW/7IAamY2zFEkAJ10I5xwZsdHuYsZtzlOxpEXpJs7A==} + engines: {node: '>=16'} + cpu: [x64] + os: [win32] + '@cloudflare/workers-types@4.20260409.1': resolution: {integrity: sha512-0rGuppPeip6dqlI6013wC8tE+kbRK+tcaDfqCxKf9sEHDNfSWWUuKgIEDpt6IHHP2O0iYBQpngk5Siv4CL/HGQ==} @@ -1445,6 +1537,61 @@ packages: '@emnapi/core': ^1.7.1 '@emnapi/runtime': ^1.7.1 + '@next/env@16.2.6': + resolution: {integrity: sha512-gd8HoHN4ufj73WmR3JmVolrpJR47ILK6LouP5xElPglaVxir6e1a7VzvTvDWkOoPXT9rkkTzyCxBu4yeZfZwcw==} + + '@next/swc-darwin-arm64@16.2.6': + resolution: {integrity: sha512-ZJGkkcNfYgrrMkqOdZ7zoLa1TOy0qpcMfk/z4Mh/FKUz40gVO+HNQWqmLxf67Z5WB64DRp0dhEbyHfel+6sJUg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@next/swc-darwin-x64@16.2.6': + resolution: {integrity: sha512-v/YLBHIY132Ced3puBJ7YJKw1lqsCrgcNo2aRJlCEyQrrCeRJlvGlnmxhPxNQI3KE3N1DN5r9TPNPvka3nq5RQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@next/swc-linux-arm64-gnu@16.2.6': + resolution: {integrity: sha512-RPOvqlYBbcQjkz9VQQDZ2T2bARIjXZV1KFlt+V2Mr6SW/e4I9fcKsaA0hdyf2FHoTlsV2xnBd5Y912rP/1Ce6w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@next/swc-linux-arm64-musl@16.2.6': + resolution: {integrity: sha512-URUTu1+dMkxJsPFgm+OeEvq9wf5sujw0EvgYy80TDGHTSLTnIHeqb0Eu8A3sC95IRgjejQL+kC4mw+4yPxiAXA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@next/swc-linux-x64-gnu@16.2.6': + resolution: {integrity: sha512-DOj182mPV8G3UkrayLoREM5YEYI+Dk5wv7Ox9xl1fFibAELEsFD0lDPfHIeILlutMMfdyhlzYPELG3peuKaurw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@next/swc-linux-x64-musl@16.2.6': + resolution: {integrity: sha512-HKQ5SP/V/ub73UvF7n/zeJlxk2kLmtL7Wzrg4WfmkjmNos5onJ2tKu7yZOPdL18A6Svfn3max29ym+ry7NkK4g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@next/swc-win32-arm64-msvc@16.2.6': + resolution: {integrity: sha512-LZXpTlPyS5v7HhSmnvsLGP3iIYgYOBnc8r8ArlT55sGHV89bR2HlDdBjWQ+PY6SJMmk8TuVGFuxalnP3k/0Dwg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@next/swc-win32-x64-msvc@16.2.6': + resolution: {integrity: sha512-F0+4i0h9J6C4eE3EAPWsoCk7UW/dbzOjyzxY0qnDUOYFu6FFmdZ6l97/XdV3/Nz3VYyO7UWjyEJUXkGqcoXfMA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + '@noble/ciphers@2.2.0': resolution: {integrity: sha512-Z6pjIZ/8IJcCGzb2S/0Px5J81yij85xASuk1teLNeg75bfT07MV3a/O2Mtn1I2se43k3lkVEcFaR10N4cgQcZA==} engines: {node: '>= 20.19.0'} @@ -1465,9 +1612,6 @@ packages: resolution: {integrity: sha512-a61ljmRVVyG5MC/698C8/FfFDw5a8LOIvyOLW5fztgUXqUpc1jOfQzOitSCbge657OgXXThmY3Tk8fpiDb4UcA==} engines: {node: '>= 20.0.0'} - '@oxc-project/types@0.127.0': - resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==} - '@oxc-project/types@0.128.0': resolution: {integrity: sha512-huv1Y/LzBJkBVHt3OlC7u0zHBW9qXf1FdD7sGmc1rXc2P1mTwHssYv7jyGx5KAACSCH+9B3Bhn6Z9luHRvf7pQ==} @@ -2175,73 +2319,36 @@ packages: '@radix-ui/rect@1.1.1': resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==} - '@rolldown/binding-android-arm64@1.0.0-rc.17': - resolution: {integrity: sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [android] - '@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-darwin-arm64@1.0.0-rc.17': - resolution: {integrity: sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [darwin] - '@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-x64@1.0.0-rc.17': - resolution: {integrity: sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [darwin] - '@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-freebsd-x64@1.0.0-rc.17': - resolution: {integrity: sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [freebsd] - '@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-linux-arm-gnueabihf@1.0.0-rc.17': - resolution: {integrity: sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - '@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-arm64-gnu@1.0.0-rc.17': - resolution: {integrity: sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@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} @@ -2249,13 +2356,6 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': - resolution: {integrity: sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [musl] - '@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} @@ -2263,13 +2363,6 @@ packages: os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': - resolution: {integrity: sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.18': resolution: {integrity: sha512-ugCOyj7a4d9h3q9B+wXmf6g3a68UsjGh6dob5DHevHGMwDUbhsYNbSPxJsENcIttJZ9jv7qGM2UesLw5jqIhdg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2277,13 +2370,6 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': - resolution: {integrity: sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.18': resolution: {integrity: sha512-kKWRhbsotpXkGbcd5dllUWg5gEXcDAa8u5YnP9AV5DYNbvJHGzzuwv7dpmhc8NqKMJldl0a+x76IHbspEpEmdA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2291,13 +2377,6 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': - resolution: {integrity: sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.18': resolution: {integrity: sha512-uCo8ElcCIAMyYAZyuIZ81oFkhTSIllNvUCHCAlbhlN4ji3uC28h7IIdlXyIvGO7HsuqnV9p3rD/bpH7XhIyhRw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2305,13 +2384,6 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': - resolution: {integrity: sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [musl] - '@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} @@ -2319,55 +2391,29 @@ packages: os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': - resolution: {integrity: sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [openharmony] - '@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-wasm32-wasi@1.0.0-rc.17': - resolution: {integrity: sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==} - 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==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': - resolution: {integrity: sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [win32] - '@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-x64-msvc@1.0.0-rc.17': - resolution: {integrity: sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [win32] - '@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/pluginutils@1.0.0-rc.17': - resolution: {integrity: sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==} - '@rolldown/pluginutils@1.0.0-rc.18': resolution: {integrity: sha512-CUY5Mnhe64xQBGZEEXQ5WyZwsc1JU3vAZLIxtrsBt3LO6UOb+C8GunVKqe9sT8NeWb4lqSaoJtp2xo6GxT1MNw==} @@ -2403,6 +2449,9 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + '@tailwindcss/node@4.2.2': resolution: {integrity: sha512-pXS+wJ2gZpVXqFaUEjojq7jzMpTGf8rU6ipJz5ovJV6PUGmlJ+jvIwGrzdHdQ80Sg+wmQxUFuoW1UAAwHNEdFA==} @@ -2706,11 +2755,8 @@ packages: '@types/mssql@9.1.11': resolution: {integrity: sha512-vcujgrDbDezCxNDO4KY6gjwduLYOKfrexpRUwhoysRvcXZ3+IgZ/PMYFDgh8c3cQIxZ6skAwYo+H6ibMrBWPjQ==} - '@types/node@25.6.0': - resolution: {integrity: sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==} - - '@types/node@25.6.1': - resolution: {integrity: sha512-coJCN8O1q4AGyyqCAUSP06P+SrMTu18BkEj3NVAK07q6QUneD2wzj3CLv9+yP+BMeZQlMvneXqqvDe3w+xcq7g==} + '@types/node@25.6.2': + resolution: {integrity: sha512-sokuT28dxf9JT5Kady1fsXOvI4HVpjZa95NKT5y9PNTIrs2AsobR4GFAA90ZG8M+nxVRLysCXsVj6eGC7Vbrlw==} '@types/prismjs@1.26.6': resolution: {integrity: sha512-vqlvI7qlMvcCBbVe0AKAb4f97//Hy0EBTaiW8AalRnG/xAN5zOiWWyrNqNXeq8+KAuvRewjCVY1+IPxk4RdNYw==} @@ -2858,6 +2904,11 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + baseline-browser-mapping@2.10.27: + resolution: {integrity: sha512-zEs/ufmZoUd7WftKpKyXaT6RFxpQ5Qm9xytKRHvJfxFV9DFJkZph9RvJ1LcOUi0Z1ZVijMte65JbILeV+8QQEA==} + engines: {node: '>=6.0.0'} + hasBin: true + better-auth@1.6.9: resolution: {integrity: sha512-EBFURtglyiEZxbx4NJBoqUD8J65dX24yC+6I9AUbIXNgUkt76mshzGbHkxZ3n/lB7Dwq3kBC+hHt0hUQsnL7HA==} peerDependencies: @@ -2957,6 +3008,9 @@ packages: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} + caniuse-lite@1.0.30001792: + resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2991,6 +3045,9 @@ packages: class-variance-authority@0.7.1: resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + cliui@9.0.1: resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} engines: {node: '>=20'} @@ -4060,6 +4117,11 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + miniflare@4.20260507.1: + resolution: {integrity: sha512-PSXBiLExTdZ4UGO/raKCHQauUpYL7F880ZRB7j0+78Rv8h7TsdN2E/iEDK9sK2Y+SPQ5wJSeAa+rDeVKoZZoEw==} + engines: {node: '>=22.0.0'} + hasBin: true + minimatch@10.2.5: resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} @@ -4104,6 +4166,27 @@ packages: native-duplexpair@1.0.0: resolution: {integrity: sha512-E7QQoM+3jvNtlmyfqRZ0/U75VFgCls+fSkbml2MpgWkWyz3ox8Y58gNhfuziuQYGNNQAbFZJQck55LHCnCK6CA==} + next@16.2.6: + resolution: {integrity: sha512-qOVgKJg1+At15NpeUP+eJgCHvTCgXsogweq87Ri/Ix7PkqQHg4sdaXmSFqKlgaIXE4kW0g25LE68W87UANlHtw==} + engines: {node: '>=20.9.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.51.1 + babel-plugin-react-compiler: '*' + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + babel-plugin-react-compiler: + optional: true + sass: + optional: true + nf3@0.3.16: resolution: {integrity: sha512-Gs0xRPpUm2nDkqbi40NJ9g7qDIcjcJzgExiydnq6LAyqhI2jfno8wG3NKTL+IiJsx799UHOb1CnSd4Wg4SG4Pw==} @@ -4206,8 +4289,8 @@ packages: resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} engines: {node: '>=4'} - postcss@8.5.13: - resolution: {integrity: sha512-qif0+jGGZoLWdHey3UFHHWP0H7Gbmsk8T5VEqyYFbWqPr1XqvLGBbk/sl8V5exGmcYJklJOhOQq1pV9IcsiFag==} + postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} postcss@8.5.14: @@ -4352,11 +4435,6 @@ packages: robust-predicates@3.0.3: resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==} - rolldown@1.0.0-rc.17: - resolution: {integrity: sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - rolldown@1.0.0-rc.18: resolution: {integrity: sha512-phmyKBpuBdRYDf4hgyynGAYn/rDDe+iZXKVJ7WX5b1zQzpLkP5oJRPGsfJuHdzPMlyyEO/4sPW6yfSx2gf7lVg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -4438,8 +4516,8 @@ packages: resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} engines: {node: '>= 12'} - spiceflow@1.24.0-rsc.0: - resolution: {integrity: sha512-nEdL2LWKsn4FEFlNN42k4GIWt0DDu118kR3EepwDeE/3yvAwDo9dP0wviTYBz5lzSvgnkyrkkiY5pw5TVlUd+g==} + spiceflow@1.24.2-rsc.0: + resolution: {integrity: sha512-56RRsqGkC9RwGT9SqnI+/FtGwndCiXLcRHIfJ+tFSdjnDXfJjStDBhwGPGEfUVqulqnBDDuY1kCsAa9ZteYWaA==} peerDependencies: '@modelcontextprotocol/sdk': '*' react: '*' @@ -4501,6 +4579,19 @@ packages: style-to-object@1.0.14: resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} + styled-jsx@5.1.6: + resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + stylis@4.3.6: resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} @@ -4619,6 +4710,10 @@ packages: resolution: {integrity: sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==} engines: {node: '>=20.18.1'} + undici@7.24.8: + resolution: {integrity: sha512-6KQ/+QxK49Z/p3HO6E5ZCZWNnCasyZLa5ExaVYyvPxUwKtbCPMKELJOqh7EqOle0t9cH/7d2TaaTRRa6Nhs4YQ==} + engines: {node: '>=20.18.1'} + unenv@2.0.0-rc.24: resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} @@ -4678,49 +4773,6 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite@8.0.10: - resolution: {integrity: sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - peerDependencies: - '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.1.0 - esbuild: ^0.27.0 || ^0.28.0 - jiti: '>=1.21.0' - less: ^4.0.0 - sass: ^1.70.0 - sass-embedded: ^1.70.0 - stylus: '>=0.54.8' - sugarss: ^5.0.0 - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - '@types/node': - optional: true - '@vitejs/devtools': - optional: true - esbuild: - optional: true - jiti: - optional: true - less: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - tsx: - optional: true - yaml: - optional: true - vite@8.0.11: resolution: {integrity: sha512-Jz1mxtUBR5xTT65VOdJZUUeoyLtqljmFkiUXhPTLZka3RDc9vpi/xXkyrnsdRcm2lIi3l3GPMnAidTsEGIj3Ow==} engines: {node: ^20.19.0 || >=22.12.0} @@ -4843,18 +4895,23 @@ packages: engines: {node: '>=16'} hasBin: true + workerd@1.20260507.1: + resolution: {integrity: sha512-z7JhsFSe6+X1b5fUHaVpo15VM1IRMJiLofEkq8iKdCo+Veqc+FUg5lIsuz8NwePxuSKrXtO4ZQpGkQLbPVXFhg==} + engines: {node: '>=16'} + hasBin: true + workers-ai-provider@3.1.13: resolution: {integrity: sha512-tKXXBxTKhFGBa4h5fEF7MWsduhkZklEQAAxZwn4znHY0DExTHKO1j4es15QHsPVEKp2chZoCxmoQCyHI46wv5g==} peerDependencies: '@ai-sdk/provider': ^3.0.0 ai: ^6.0.0 - wrangler@4.82.2: - resolution: {integrity: sha512-SKfW21sTJUkM/Qd8zc9oc8TBkAWHRsXuTxE6XdToC55Ct84pR+IfRdaTjCTuC0dL+KYvauSvSn2rtqS2Ae+Dcw==} - engines: {node: '>=20.3.0'} + wrangler@4.90.0: + resolution: {integrity: sha512-bmNIykl59TfCUn5xQgU7IWylSsPx3LQaPLMSAq2VQHt89CBrcj9qXQ0eYfjBCWA5XTBVgten391evt7xxtXwcA==} + engines: {node: '>=22.0.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^4.20260410.1 + '@cloudflare/workers-types': ^4.20260507.1 peerDependenciesMeta: '@cloudflare/workers-types': optional: true @@ -5048,8 +5105,8 @@ snapshots: '@azure/core-tracing': 1.3.1 '@azure/core-util': 1.13.1 '@azure/logger': 1.3.0 - '@azure/msal-browser': 5.9.0 - '@azure/msal-node': 5.1.5 + '@azure/msal-browser': 5.10.0 + '@azure/msal-node': 5.2.0 open: 10.2.0 tslib: 2.8.1 transitivePeerDependencies: @@ -5093,15 +5150,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@azure/msal-browser@5.9.0': + '@azure/msal-browser@5.10.0': dependencies: - '@azure/msal-common': 16.5.2 + '@azure/msal-common': 16.6.0 - '@azure/msal-common@16.5.2': {} + '@azure/msal-common@16.6.0': {} - '@azure/msal-node@5.1.5': + '@azure/msal-node@5.2.0': dependencies: - '@azure/msal-common': 16.5.2 + '@azure/msal-common': 16.6.0 jsonwebtoken: 9.0.3 '@babel/helper-string-parser@7.27.1': {} @@ -5212,34 +5269,27 @@ snapshots: fast-wrap-ansi: 0.1.6 sisteransi: 1.0.5 - '@cloudflare/kv-asset-handler@0.4.2': {} + '@cloudflare/kv-asset-handler@0.5.0': {} - '@cloudflare/unenv-preset@2.16.0(unenv@2.0.0-rc.24)(workerd@1.20260410.1)': + '@cloudflare/unenv-preset@2.16.0(unenv@2.0.0-rc.24)(workerd@1.20260507.1)': dependencies: unenv: 2.0.0-rc.24 optionalDependencies: - workerd: 1.20260410.1 + workerd: 1.20260507.1 - '@cloudflare/vite-plugin@1.32.2(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(workerd@1.20260410.1)(wrangler@4.82.2)': + '@cloudflare/unenv-preset@2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260507.1)': dependencies: - '@cloudflare/unenv-preset': 2.16.0(unenv@2.0.0-rc.24)(workerd@1.20260410.1) - miniflare: 4.20260410.0 unenv: 2.0.0-rc.24 - vite: 8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) - wrangler: 4.82.2(@cloudflare/workers-types@4.20260409.1) - ws: 8.18.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - workerd + optionalDependencies: + workerd: 1.20260507.1 - '@cloudflare/vite-plugin@1.32.2(vite@8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(workerd@1.20260410.1)(wrangler@4.82.2(@cloudflare/workers-types@4.20260409.1))': + '@cloudflare/vite-plugin@1.32.2(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(workerd@1.20260507.1)(wrangler@4.90.0(@cloudflare/workers-types@4.20260409.1))': dependencies: - '@cloudflare/unenv-preset': 2.16.0(unenv@2.0.0-rc.24)(workerd@1.20260410.1) + '@cloudflare/unenv-preset': 2.16.0(unenv@2.0.0-rc.24)(workerd@1.20260507.1) miniflare: 4.20260410.0 unenv: 2.0.0-rc.24 - vite: 8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) - wrangler: 4.82.2(@cloudflare/workers-types@4.20260409.1) + vite: 8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + wrangler: 4.90.0(@cloudflare/workers-types@4.20260409.1) ws: 8.18.0 transitivePeerDependencies: - bufferutil @@ -5249,18 +5299,33 @@ snapshots: '@cloudflare/workerd-darwin-64@1.20260410.1': optional: true + '@cloudflare/workerd-darwin-64@1.20260507.1': + optional: true + '@cloudflare/workerd-darwin-arm64@1.20260410.1': optional: true + '@cloudflare/workerd-darwin-arm64@1.20260507.1': + optional: true + '@cloudflare/workerd-linux-64@1.20260410.1': optional: true + '@cloudflare/workerd-linux-64@1.20260507.1': + optional: true + '@cloudflare/workerd-linux-arm64@1.20260410.1': optional: true + '@cloudflare/workerd-linux-arm64@1.20260507.1': + optional: true + '@cloudflare/workerd-windows-64@1.20260410.1': optional: true + '@cloudflare/workerd-windows-64@1.20260507.1': + optional: true + '@cloudflare/workers-types@4.20260409.1': {} '@cspotcode/source-map-support@0.8.1': @@ -5725,6 +5790,32 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true + '@next/env@16.2.6': {} + + '@next/swc-darwin-arm64@16.2.6': + optional: true + + '@next/swc-darwin-x64@16.2.6': + optional: true + + '@next/swc-linux-arm64-gnu@16.2.6': + optional: true + + '@next/swc-linux-arm64-musl@16.2.6': + optional: true + + '@next/swc-linux-x64-gnu@16.2.6': + optional: true + + '@next/swc-linux-x64-musl@16.2.6': + optional: true + + '@next/swc-win32-arm64-msvc@16.2.6': + optional: true + + '@next/swc-win32-x64-msvc@16.2.6': + optional: true + '@noble/ciphers@2.2.0': {} '@noble/hashes@2.2.0': {} @@ -5735,8 +5826,6 @@ snapshots: '@orama/orama@3.1.18': {} - '@oxc-project/types@0.127.0': {} - '@oxc-project/types@0.128.0': {} '@playwright/test@1.59.1': @@ -6502,85 +6591,42 @@ snapshots: '@radix-ui/rect@1.1.1': {} - '@rolldown/binding-android-arm64@1.0.0-rc.17': - optional: true - '@rolldown/binding-android-arm64@1.0.0-rc.18': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-rc.17': - optional: true - '@rolldown/binding-darwin-arm64@1.0.0-rc.18': optional: true - '@rolldown/binding-darwin-x64@1.0.0-rc.17': - optional: true - '@rolldown/binding-darwin-x64@1.0.0-rc.18': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-rc.17': - optional: true - '@rolldown/binding-freebsd-x64@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17': - optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17': - optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': - optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': - optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': - optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': - optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.18': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': - optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-rc.18': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': - optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-rc.18': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.17': - 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.0-rc.18': dependencies: '@emnapi/core': 1.10.0 @@ -6588,20 +6634,12 @@ snapshots: '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': - optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.18': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.17': - optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.18': optional: true - '@rolldown/pluginutils@1.0.0-rc.17': {} - '@rolldown/pluginutils@1.0.0-rc.18': {} '@rolldown/pluginutils@1.0.0-rc.5': {} @@ -6628,6 +6666,10 @@ snapshots: '@standard-schema/spec@1.1.0': {} + '@swc/helpers@0.5.15': + dependencies: + tslib: 2.8.1 + '@tailwindcss/node@4.2.2': dependencies: '@jridgewell/remapping': 2.3.5 @@ -6694,12 +6736,12 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.2.2 - '@tailwindcss/vite@4.2.2(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))': + '@tailwindcss/vite@4.2.2(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))': dependencies: '@tailwindcss/node': 4.2.2 '@tailwindcss/oxide': 4.2.2 tailwindcss: 4.2.2 - vite: 8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + vite: 8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) '@takumi-rs/core-darwin-arm64@1.0.0-rc.15': optional: true @@ -6918,18 +6960,14 @@ snapshots: '@types/mssql@9.1.11(@azure/core-client@1.10.1)': dependencies: - '@types/node': 25.6.1 + '@types/node': 25.6.2 tarn: 3.0.2 tedious: 19.2.1(@azure/core-client@1.10.1) transitivePeerDependencies: - '@azure/core-client' - supports-color - '@types/node@25.6.0': - dependencies: - undici-types: 7.19.2 - - '@types/node@25.6.1': + '@types/node@25.6.2': dependencies: undici-types: 7.19.2 @@ -6949,7 +6987,7 @@ snapshots: '@types/readable-stream@4.0.23': dependencies: - '@types/node': 25.6.1 + '@types/node': 25.6.2 '@types/trusted-types@2.0.7': optional: true @@ -6973,27 +7011,12 @@ snapshots: '@vercel/oidc@3.1.0': {} - '@vitejs/plugin-react@6.0.1(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))': + '@vitejs/plugin-react@6.0.1(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))': dependencies: '@rolldown/pluginutils': 1.0.0-rc.7 - vite: 8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) - - '@vitejs/plugin-rsc@0.5.21(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))': - dependencies: - '@rolldown/pluginutils': 1.0.0-rc.5 - es-module-lexer: 2.1.0 - estree-walker: 3.0.3 - magic-string: 0.30.21 - periscopic: 4.0.3 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - srvx: 0.11.15 - strip-literal: 3.1.0 - turbo-stream: 3.2.0 - vite: 8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) - vitefu: 1.1.3(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + vite: 8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) - '@vitejs/plugin-rsc@0.5.21(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))': + '@vitejs/plugin-rsc@0.5.21(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))': dependencies: '@rolldown/pluginutils': 1.0.0-rc.5 es-module-lexer: 2.1.0 @@ -7005,23 +7028,8 @@ snapshots: srvx: 0.11.15 strip-literal: 3.1.0 turbo-stream: 3.2.0 - vite: 8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) - vitefu: 1.1.3(vite@8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) - - '@vitejs/plugin-rsc@0.5.21(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.11(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))': - dependencies: - '@rolldown/pluginutils': 1.0.0-rc.5 - es-module-lexer: 2.1.0 - estree-walker: 3.0.3 - magic-string: 0.30.21 - periscopic: 4.0.3 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - srvx: 0.11.15 - strip-literal: 3.1.0 - turbo-stream: 3.2.0 - vite: 8.0.11(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) - vitefu: 1.1.3(vite@8.0.11(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + vite: 8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + vitefu: 1.1.3(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) '@vitest/expect@4.1.4': dependencies: @@ -7032,21 +7040,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.4(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))': - dependencies: - '@vitest/spy': 4.1.4 - estree-walker: 3.0.3 - magic-string: 0.30.21 - optionalDependencies: - vite: 8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) - - '@vitest/mocker@4.1.4(vite@8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))': + '@vitest/mocker@4.1.4(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))': dependencies: '@vitest/spy': 4.1.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + vite: 8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) '@vitest/pretty-format@4.1.4': dependencies: @@ -7110,7 +7110,9 @@ snapshots: base64-js@1.5.1: {} - better-auth@1.6.9(@opentelemetry/api@1.9.0)(drizzle-orm@1.0.0-beta.21(@opentelemetry/api@1.9.0)(@types/mssql@9.1.11(@azure/core-client@1.10.1))(mssql@11.0.1(@azure/core-client@1.10.1))(sql.js@1.14.1)(zod@4.4.3))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.4(@opentelemetry/api@1.9.0)(@types/node@25.6.0)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))): + baseline-browser-mapping@2.10.27: {} + + better-auth@1.6.9(@opentelemetry/api@1.9.0)(drizzle-orm@1.0.0-beta.21(@opentelemetry/api@1.9.0)(@types/mssql@9.1.11(@azure/core-client@1.10.1))(mssql@11.0.1(@azure/core-client@1.10.1))(sql.js@1.14.1)(zod@4.4.3))(next@16.2.6(@opentelemetry/api@1.9.0)(@playwright/test@1.59.1)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vitest@4.1.4(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))): dependencies: '@better-auth/core': 1.6.9(@better-auth/utils@0.4.0)(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.4.3))(jose@6.2.2)(kysely@0.28.16)(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)(@opentelemetry/api@1.9.0)(better-call@1.3.5(zod@4.4.3))(jose@6.2.2)(kysely@0.28.16)(nanostores@1.3.0))(@better-auth/utils@0.4.0)(drizzle-orm@1.0.0-beta.21(@opentelemetry/api@1.9.0)(@types/mssql@9.1.11(@azure/core-client@1.10.1))(mssql@11.0.1(@azure/core-client@1.10.1))(sql.js@1.14.1)(zod@4.4.3)) @@ -7131,9 +7133,10 @@ snapshots: zod: 4.4.3 optionalDependencies: drizzle-orm: 1.0.0-beta.21(@cloudflare/workers-types@4.20260409.1)(@opentelemetry/api@1.9.0)(@types/mssql@9.1.11(@azure/core-client@1.10.1))(mssql@11.0.1(@azure/core-client@1.10.1))(sql.js@1.14.1)(zod@4.4.3) + next: 16.2.6(@opentelemetry/api@1.9.0)(@playwright/test@1.59.1)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) react: 19.2.5 react-dom: 19.2.5(react@19.2.5) - vitest: 4.1.4(@opentelemetry/api@1.9.0)(@types/node@25.6.0)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + vitest: 4.1.4(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) transitivePeerDependencies: - '@cloudflare/workers-types' - '@opentelemetry/api' @@ -7186,6 +7189,8 @@ snapshots: dependencies: run-applescript: 7.1.0 + caniuse-lite@1.0.30001792: {} + ccount@2.0.1: {} chai@6.2.2: {} @@ -7218,6 +7223,8 @@ snapshots: dependencies: clsx: 2.1.1 + client-only@0.0.1: {} + cliui@9.0.1: dependencies: string-width: 7.2.0 @@ -8509,6 +8516,18 @@ snapshots: - bufferutil - utf-8-validate + miniflare@4.20260507.1: + dependencies: + '@cspotcode/source-map-support': 0.8.1 + sharp: 0.34.5 + undici: 7.24.8 + workerd: 1.20260507.1 + ws: 8.18.0 + youch: 4.1.0-beta.10 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + minimatch@10.2.5: dependencies: brace-expansion: 5.0.5 @@ -8553,6 +8572,32 @@ snapshots: native-duplexpair@1.0.0: {} + next@16.2.6(@opentelemetry/api@1.9.0)(@playwright/test@1.59.1)(react-dom@19.2.5(react@19.2.5))(react@19.2.5): + dependencies: + '@next/env': 16.2.6 + '@swc/helpers': 0.5.15 + baseline-browser-mapping: 2.10.27 + caniuse-lite: 1.0.30001792 + postcss: 8.4.31 + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) + styled-jsx: 5.1.6(react@19.2.5) + optionalDependencies: + '@next/swc-darwin-arm64': 16.2.6 + '@next/swc-darwin-x64': 16.2.6 + '@next/swc-linux-arm64-gnu': 16.2.6 + '@next/swc-linux-arm64-musl': 16.2.6 + '@next/swc-linux-x64-gnu': 16.2.6 + '@next/swc-linux-x64-musl': 16.2.6 + '@next/swc-win32-arm64-msvc': 16.2.6 + '@next/swc-win32-x64-msvc': 16.2.6 + '@opentelemetry/api': 1.9.0 + '@playwright/test': 1.59.1 + sharp: 0.34.5 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + nf3@0.3.16: {} node-abi@3.89.0: @@ -8666,7 +8711,7 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss@8.5.13: + postcss@8.4.31: dependencies: nanoid: 3.3.12 picocolors: 1.1.1 @@ -8909,27 +8954,6 @@ snapshots: robust-predicates@3.0.3: {} - rolldown@1.0.0-rc.17: - dependencies: - '@oxc-project/types': 0.127.0 - '@rolldown/pluginutils': 1.0.0-rc.17 - optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-rc.17 - '@rolldown/binding-darwin-arm64': 1.0.0-rc.17 - '@rolldown/binding-darwin-x64': 1.0.0-rc.17 - '@rolldown/binding-freebsd-x64': 1.0.0-rc.17 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.17 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.17 - '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.17 - '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.17 - '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.17 - '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.17 - '@rolldown/binding-linux-x64-musl': 1.0.0-rc.17 - '@rolldown/binding-openharmony-arm64': 1.0.0-rc.17 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.17 - '@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 @@ -9055,47 +9079,9 @@ snapshots: source-map@0.7.6: {} - spiceflow@1.24.0-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3): - dependencies: - '@vitejs/plugin-rsc': 0.5.21(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) - errore: 0.14.1 - eventsource-parser: 3.0.8 - history: 5.3.0 - isbot: 4.4.0 - its-fine: 2.0.0(@types/react@19.2.14)(react@19.2.5) - nf3: 0.3.16 - openapi-types: 12.1.3 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - superjson: 2.2.6 - zod: 4.4.3 - transitivePeerDependencies: - - '@types/react' - - react-server-dom-webpack - - vite - - spiceflow@1.24.0-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3): + spiceflow@1.24.2-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3): dependencies: - '@vitejs/plugin-rsc': 0.5.21(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) - errore: 0.14.1 - eventsource-parser: 3.0.8 - history: 5.3.0 - isbot: 4.4.0 - its-fine: 2.0.0(@types/react@19.2.14)(react@19.2.5) - nf3: 0.3.16 - openapi-types: 12.1.3 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - superjson: 2.2.6 - zod: 4.4.3 - transitivePeerDependencies: - - '@types/react' - - react-server-dom-webpack - - vite - - spiceflow@1.24.0-rsc.0(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.11(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3))(zod@4.4.3): - dependencies: - '@vitejs/plugin-rsc': 0.5.21(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.11(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + '@vitejs/plugin-rsc': 0.5.21(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) errore: 0.14.1 eventsource-parser: 3.0.8 history: 5.3.0 @@ -9160,6 +9146,11 @@ snapshots: dependencies: inline-style-parser: 0.2.7 + styled-jsx@5.1.6(react@19.2.5): + dependencies: + client-only: 0.0.1 + react: 19.2.5 + stylis@4.3.6: {} superjson@2.2.6: @@ -9208,7 +9199,7 @@ snapshots: '@azure/identity': 4.13.1 '@azure/keyvault-keys': 4.10.0(@azure/core-client@1.10.1) '@js-joda/core': 5.7.0 - '@types/node': 25.6.1 + '@types/node': 25.6.2 bl: 6.1.6 iconv-lite: 0.6.3 js-md4: 0.3.2 @@ -9224,7 +9215,7 @@ snapshots: '@azure/identity': 4.13.1 '@azure/keyvault-keys': 4.10.0(@azure/core-client@1.10.1) '@js-joda/core': 5.7.0 - '@types/node': 25.6.1 + '@types/node': 25.6.2 bl: 6.1.6 iconv-lite: 0.7.2 js-md4: 0.3.2 @@ -9291,6 +9282,8 @@ snapshots: undici@7.24.4: {} + undici@7.24.8: {} + unenv@2.0.0-rc.24: dependencies: pathe: 2.0.3 @@ -9361,37 +9354,7 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3): - dependencies: - lightningcss: 1.32.0 - picomatch: 4.0.4 - postcss: 8.5.13 - rolldown: 1.0.0-rc.17 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 25.6.0 - esbuild: 0.27.4 - fsevents: 2.3.3 - jiti: 2.6.1 - tsx: 4.21.0 - yaml: 2.8.3 - - vite@8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3): - dependencies: - lightningcss: 1.32.0 - picomatch: 4.0.4 - postcss: 8.5.13 - rolldown: 1.0.0-rc.17 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 25.6.1 - esbuild: 0.27.4 - fsevents: 2.3.3 - jiti: 2.6.1 - tsx: 4.21.0 - yaml: 2.8.3 - - vite@8.0.11(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3): + vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -9399,29 +9362,21 @@ snapshots: rolldown: 1.0.0-rc.18 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 25.6.0 + '@types/node': 25.6.2 esbuild: 0.27.4 fsevents: 2.3.3 jiti: 2.6.1 tsx: 4.21.0 yaml: 2.8.3 - vitefu@1.1.3(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)): + vitefu@1.1.3(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)): optionalDependencies: - vite: 8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + vite: 8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) - vitefu@1.1.3(vite@8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)): - optionalDependencies: - vite: 8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) - - vitefu@1.1.3(vite@8.0.11(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)): - optionalDependencies: - vite: 8.0.11(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) - - vitest@4.1.4(@opentelemetry/api@1.9.0)(@types/node@25.6.0)(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)): + vitest@4.1.4(@opentelemetry/api@1.9.0)(@types/node@25.6.2)(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)): dependencies: '@vitest/expect': 4.1.4 - '@vitest/mocker': 4.1.4(vite@8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) + '@vitest/mocker': 4.1.4(vite@8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) '@vitest/pretty-format': 4.1.4 '@vitest/runner': 4.1.4 '@vitest/snapshot': 4.1.4 @@ -9438,39 +9393,11 @@ snapshots: tinyexec: 1.1.1 tinyglobby: 0.2.16 tinyrainbow: 3.1.0 - vite: 8.0.10(@types/node@25.6.0)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) + vite: 8.0.11(@types/node@25.6.2)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.0 - '@types/node': 25.6.0 - transitivePeerDependencies: - - msw - - vitest@4.1.4(@opentelemetry/api@1.9.0)(@types/node@25.6.1)(vite@8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)): - dependencies: - '@vitest/expect': 4.1.4 - '@vitest/mocker': 4.1.4(vite@8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3)) - '@vitest/pretty-format': 4.1.4 - '@vitest/runner': 4.1.4 - '@vitest/snapshot': 4.1.4 - '@vitest/spy': 4.1.4 - '@vitest/utils': 4.1.4 - es-module-lexer: 2.1.0 - expect-type: 1.3.0 - magic-string: 0.30.21 - obug: 2.1.1 - pathe: 2.0.3 - picomatch: 4.0.4 - std-env: 4.0.0 - tinybench: 2.9.0 - tinyexec: 1.1.1 - tinyglobby: 0.2.16 - tinyrainbow: 3.1.0 - vite: 8.0.10(@types/node@25.6.1)(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.3) - why-is-node-running: 2.3.0 - optionalDependencies: - '@opentelemetry/api': 1.9.0 - '@types/node': 25.6.1 + '@types/node': 25.6.2 transitivePeerDependencies: - msw @@ -9504,21 +9431,29 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260410.1 '@cloudflare/workerd-windows-64': 1.20260410.1 + workerd@1.20260507.1: + optionalDependencies: + '@cloudflare/workerd-darwin-64': 1.20260507.1 + '@cloudflare/workerd-darwin-arm64': 1.20260507.1 + '@cloudflare/workerd-linux-64': 1.20260507.1 + '@cloudflare/workerd-linux-arm64': 1.20260507.1 + '@cloudflare/workerd-windows-64': 1.20260507.1 + workers-ai-provider@3.1.13(@ai-sdk/provider@3.0.8)(ai@6.0.149(zod@4.4.3)): dependencies: '@ai-sdk/provider': 3.0.8 ai: 6.0.149(zod@4.4.3) - wrangler@4.82.2(@cloudflare/workers-types@4.20260409.1): + wrangler@4.90.0(@cloudflare/workers-types@4.20260409.1): dependencies: - '@cloudflare/kv-asset-handler': 0.4.2 - '@cloudflare/unenv-preset': 2.16.0(unenv@2.0.0-rc.24)(workerd@1.20260410.1) + '@cloudflare/kv-asset-handler': 0.5.0 + '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260507.1) blake3-wasm: 2.1.5 esbuild: 0.27.3 - miniflare: 4.20260410.0 + miniflare: 4.20260507.1 path-to-regexp: 6.3.0 unenv: 2.0.0-rc.24 - workerd: 1.20260410.1 + workerd: 1.20260507.1 optionalDependencies: '@cloudflare/workers-types': 4.20260409.1 fsevents: 2.3.3 diff --git a/vite/package.json b/vite/package.json index c444bf69f..d95c8e409 100644 --- a/vite/package.json +++ b/vite/package.json @@ -62,8 +62,8 @@ "prepublishOnly": "rm -rf dist *.tsbuildinfo && pnpm build" }, "dependencies": { - "@holocron.so/cli": "workspace:^", "@fastify/deepmerge": "^3.2.1", + "@holocron.so/cli": "workspace:^", "@iconify-json/fa6-brands": "^1.2.6", "@iconify-json/fa6-regular": "^1.2.4", "@iconify-json/fa6-solid": "^1.2.4", @@ -114,7 +114,7 @@ "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", "sharp": "^0.34.5", - "spiceflow": "1.24.0-rsc.0", + "spiceflow": "1.24.2-rsc.0", "typescript": "^5.9.3", "vite": "^8.0.10", "vitest": "^4.1.4" diff --git a/website/package.json b/website/package.json index 940b7488e..183c1a40e 100644 --- a/website/package.json +++ b/website/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "pnpm db:migrate:local && vite dev", + "dev": "pnpm db:migrate:local && sigillo run -- vite dev", "generate-openapi": "tsx --import ./scripts/register-cf-stub.ts scripts/generate-openapi.ts", "build": "pnpm generate-openapi && vite build && tsc", "start": "node dist/rsc/index.js", @@ -36,7 +36,7 @@ "radix-ui": "latest", "react": "^19.2.5", "react-dom": "^19.2.5", - "spiceflow": "1.24.0-rsc.0", + "spiceflow": "1.24.2-rsc.0", "string-dedent": "^3.0.2", "tailwind-merge": "^3.5.0", "tailwindcss": "^4.2.2", @@ -53,6 +53,6 @@ "@vitejs/plugin-react": "latest", "tsx": "^4.21.0", "typescript": "^5.9.3", - "wrangler": "^4.82.2" + "wrangler": "^4.90.0" } } From 05741b4fb11ff4502763a01518c2e7c11673ce96 Mon Sep 17 00:00:00 2001 From: "Tommy D. Rossi" Date: Sat, 9 May 2026 15:12:56 +0200 Subject: [PATCH 3/5] add base-path API route integration tests Verifies that holocron API routes (chat endpoint) are reachable under the base path prefix and that non-prefixed routes are rejected. Session: ses_1f4149c2effeI6lDwAx7Zqp3VI --- .../e2e/base-path/base-path.test.ts | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/integration-tests/e2e/base-path/base-path.test.ts b/integration-tests/e2e/base-path/base-path.test.ts index 44c651451..570b343b2 100644 --- a/integration-tests/e2e/base-path/base-path.test.ts +++ b/integration-tests/e2e/base-path/base-path.test.ts @@ -50,6 +50,38 @@ test.describe("raw markdown under base path", () => { }); }); +test.describe("API routes under base path", () => { + test("POST /docs/holocron-api/chat returns non-404", async ({ request }) => { + // The chat endpoint should be reachable under the base path. + // It may return 404 with "Assistant is disabled" body (which is the + // handler's own response, not a routing 404), or 200 if enabled. + const res = await request.post("/docs/holocron-api/chat", { + headers: { "content-type": "application/json" }, + data: JSON.stringify({ message: "hello", modelMessages: [], currentSlug: "/" }), + }); + // The route must exist — a routing-level 404 would mean the base path + // prefix is not wired. The handler itself returns 404 when assistant is + // disabled, but the body says "Assistant is disabled". + const body = await res.text(); + if (res.status() === 404) { + expect(body).toContain("Assistant is disabled"); + } else { + // If assistant is enabled, we just verify it didn't routing-404 + expect(res.status()).not.toBe(404); + } + }); + + test("POST /holocron-api/chat without base prefix is rejected by Vite", async ({ request }) => { + // Vite intercepts non-prefixed routes and returns its own 404 with a + // helpful redirect hint. The client must always use the base-prefixed URL. + const res = await request.post("/holocron-api/chat", { + headers: { "content-type": "application/json" }, + data: JSON.stringify({ message: "hello", modelMessages: [], currentSlug: "/" }), + }); + expect(res.status()).toBe(404); + }); +}); + test.describe("sitemap under base path", () => { test("GET /docs/sitemap.xml returns valid sitemap", async ({ request }) => { const res = await request.get("/docs/sitemap.xml"); From f688835b5db43379a88f31b69593d7b2ec5c8866 Mon Sep 17 00:00:00 2001 From: "Tommy D. Rossi" Date: Sat, 9 May 2026 15:13:03 +0200 Subject: [PATCH 4/5] minor: update skill, chat drawer, and wrangler config Session: ses_1f4149c2effeI6lDwAx7Zqp3VI --- skills/holocron/SKILL.md | 2 +- vite/src/components/chat-drawer.tsx | 8 +++++--- website/wrangler.jsonc | 4 ---- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/skills/holocron/SKILL.md b/skills/holocron/SKILL.md index dd586678c..69a827ec2 100644 --- a/skills/holocron/SKILL.md +++ b/skills/holocron/SKILL.md @@ -3,7 +3,7 @@ title: Holocron description: Mintlify drop-in open source replacement as a Vite plugin. Use it to create documentation websites. --- -## icons +## Icons The default icon library is **Font Awesome** (`fontawesome`). To use Lucide icons instead, set `"icons": { "library": "lucide" }` in `docs.json`. Icon names like `home`, `zap`, `file-text`, `panel-left` are Lucide names and won't resolve with the default Font Awesome library. diff --git a/vite/src/components/chat-drawer.tsx b/vite/src/components/chat-drawer.tsx index 9675598eb..d198e6145 100644 --- a/vite/src/components/chat-drawer.tsx +++ b/vite/src/components/chat-drawer.tsx @@ -55,8 +55,10 @@ function ChatDrawerInner() { const messages = chatState((s) => s.messages) const errorMessage = chatState((s) => s.errorMessage) const draftText = chatState((s) => s.draftText) - const { currentPageHref } = useHolocronData() + const { currentPageHref, site } = useHolocronData() const messagesEndRef = useRef(null) + // Prefix API calls with the Vite base path so they work when mounted at e.g. /docs + const basePath = site.base === '/' ? '' : `/${site.base.replace(/^\/+|\/+$/g, '')}` const scrollToBottom = useCallback(() => { messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' }) @@ -87,7 +89,7 @@ function ChatDrawerInner() { setTimeout(scrollToBottom, 0) try { - const response = await fetch('/holocron-api/chat', { + const response = await fetch(`${basePath}/holocron-api/chat`, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ @@ -141,7 +143,7 @@ function ChatDrawerInner() { }) } }, - [currentPageHref, scrollToBottom], + [currentPageHref, basePath, scrollToBottom], ) // ── Stop ──────────────────────────────────────────────────────── diff --git a/website/wrangler.jsonc b/website/wrangler.jsonc index dc3bf424c..c3e087da9 100644 --- a/website/wrangler.jsonc +++ b/website/wrangler.jsonc @@ -31,8 +31,6 @@ "BETTER_AUTH_URL", "GOOGLE_CLIENT_ID", "GOOGLE_CLIENT_SECRET", - "CF_API_TOKEN", - "AIG_GATEWAY_TOKEN" ] }, @@ -66,8 +64,6 @@ "BETTER_AUTH_URL", "GOOGLE_CLIENT_ID", "GOOGLE_CLIENT_SECRET", - // "CF_API_TOKEN", // CF_API_TOKEN MUST NOT BE SET. it will conflict with wrangler and not let you deploy - "AIG_GATEWAY_TOKEN" ] } } From 8d92a0f034440ffb6262f1ff46e24b198bc822aa Mon Sep 17 00:00:00 2001 From: "Tommy D. Rossi" Date: Mon, 11 May 2026 13:54:16 +0200 Subject: [PATCH 5/5] Remove webpackIgnore/turbopackIgnore comments from Next.js route handler Takumi WASM code was moved out of the vite plugin into the website og-worker, so the pre-built holocron output no longer contains patterns that break Next.js bundlers. The dynamic import works cleanly with Turbopack without any ignore directives. Also includes next-env.d.ts update from Next.js 16.2.6 dev server. Session: ses_1e9228e58ffetDjZV1BQwIHlJL --- example-inside-next/next-env.d.ts | 2 +- .../src/app/docs/[[...slug]]/route.ts | 12 +----------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/example-inside-next/next-env.d.ts b/example-inside-next/next-env.d.ts index 9edff1c7c..c4b7818fb 100644 --- a/example-inside-next/next-env.d.ts +++ b/example-inside-next/next-env.d.ts @@ -1,6 +1,6 @@ /// /// -import "./.next/types/routes.d.ts"; +import "./.next/dev/types/routes.d.ts"; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/example-inside-next/src/app/docs/[[...slug]]/route.ts b/example-inside-next/src/app/docs/[[...slug]]/route.ts index 934fa6beb..5f33c066f 100644 --- a/example-inside-next/src/app/docs/[[...slug]]/route.ts +++ b/example-inside-next/src/app/docs/[[...slug]]/route.ts @@ -2,23 +2,13 @@ // The Holocron app is built with base: '/docs' so it expects requests at /docs/*. // No URL rewriting needed; Next.js routes /docs/* here and the full URL is forwarded. // Static assets are served by spiceflow's auto-injected serveStatic middleware. -// -// The dynamic import with turbopackIgnore/webpackIgnore tells the bundler to -// skip this import entirely. The pre-built holocron output contains patterns -// (native NAPI loaders, vite RSC internals) that bundlers can't re-process. -// Node.js resolves the import at runtime instead, which is the correct behavior -// for a pre-built server artifact. type HolocronModule = typeof import('example-basepath/dist/rsc') let holocronPromise: Promise | undefined function loadHolocron() { - holocronPromise ??= import( - /* webpackIgnore: true */ - /* turbopackIgnore: true */ - 'example-basepath/dist/rsc' - ) as Promise + holocronPromise ??= import('example-basepath/dist/rsc') as Promise return holocronPromise }