diff --git a/apps/dev-launchpad/public/index.html b/apps/dev-launchpad/public/index.html
index b9eab64e06..828ddfec1b 100644
--- a/apps/dev-launchpad/public/index.html
+++ b/apps/dev-launchpad/public/index.html
@@ -182,6 +182,14 @@
Background services
img: "https://www.svgrepo.com/show/448400/docs.svg",
importance: 2,
},
+ {
+ name: "Hosted Components",
+ portSuffix: "09",
+ description: [
+ "Src: ./apps/hosted-components",
+ ],
+ importance: 2,
+ },
{
name: "Inbucket",
portSuffix: "05",
diff --git a/apps/hosted-components/.env.development b/apps/hosted-components/.env.development
new file mode 100644
index 0000000000..546412669a
--- /dev/null
+++ b/apps/hosted-components/.env.development
@@ -0,0 +1 @@
+VITE_STACK_API_URL=http://localhost:${NEXT_PUBLIC_STACK_PORT_PREFIX:-81}02
diff --git a/apps/hosted-components/.eslintrc.cjs b/apps/hosted-components/.eslintrc.cjs
new file mode 100644
index 0000000000..1a4ae3fdbe
--- /dev/null
+++ b/apps/hosted-components/.eslintrc.cjs
@@ -0,0 +1,4 @@
+module.exports = {
+ extends: ["../../configs/eslint/defaults.js"],
+ ignorePatterns: ["/*", "!/src"],
+};
diff --git a/apps/hosted-components/package.json b/apps/hosted-components/package.json
new file mode 100644
index 0000000000..de57b212ca
--- /dev/null
+++ b/apps/hosted-components/package.json
@@ -0,0 +1,37 @@
+{
+ "name": "@stackframe/hosted-components",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite dev --port ${NEXT_PUBLIC_STACK_PORT_PREFIX:-81}09",
+ "build": "vite build",
+ "start": "node .output/server/index.mjs",
+ "lint": "eslint --ext .ts,.tsx .",
+ "typecheck": "tsc --noEmit",
+ "clean": "rimraf .output && rimraf node_modules"
+ },
+ "dependencies": {
+ "@stackframe/react": "workspace:*",
+ "@stackframe/stack-shared": "workspace:*",
+ "@tanstack/react-router": "^1.121.3",
+ "@tanstack/react-start": "^1.121.3",
+ "@tanstack/react-start-client": "^1.121.3",
+ "@tanstack/react-start-server": "^1.121.3",
+ "@tanstack/start-client-core": "^1.121.3",
+ "@tanstack/start-server-core": "^1.121.3",
+ "@tanstack/start-plugin-core": "^1.121.3",
+ "react": "19.2.1",
+ "react-dom": "19.2.1"
+ },
+ "devDependencies": {
+ "@types/node": "^22.13.0",
+ "@types/react": "19.2.1",
+ "@types/react-dom": "19.2.1",
+ "@vitejs/plugin-react": "^5.0.0",
+ "typescript": "5.9.3",
+ "vite": "^7.0.0",
+ "vite-tsconfig-paths": "^4.3.2"
+ },
+ "packageManager": "pnpm@10.23.0"
+}
diff --git a/apps/hosted-components/src/client.tsx b/apps/hosted-components/src/client.tsx
new file mode 100644
index 0000000000..e7a2191d3b
--- /dev/null
+++ b/apps/hosted-components/src/client.tsx
@@ -0,0 +1,12 @@
+import { StartClient } from '@tanstack/react-start/client';
+import { StrictMode, startTransition } from 'react';
+import { hydrateRoot } from 'react-dom/client';
+
+startTransition(() => {
+ hydrateRoot(
+ document,
+
+
+ ,
+ );
+});
diff --git a/apps/hosted-components/src/routeTree.gen.ts b/apps/hosted-components/src/routeTree.gen.ts
new file mode 100644
index 0000000000..d7923e9fd8
--- /dev/null
+++ b/apps/hosted-components/src/routeTree.gen.ts
@@ -0,0 +1,86 @@
+/* eslint-disable */
+
+// @ts-nocheck
+
+// noinspection JSUnusedGlobalSymbols
+
+// This file was automatically generated by TanStack Router.
+// You should NOT make any changes in this file as it will be overwritten.
+// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
+
+import { Route as rootRouteImport } from './routes/__root'
+import { Route as IndexRouteImport } from './routes/index'
+import { Route as HandlerSplatRouteImport } from './routes/handler/$'
+
+const IndexRoute = IndexRouteImport.update({
+ id: '/',
+ path: '/',
+ getParentRoute: () => rootRouteImport,
+} as any)
+const HandlerSplatRoute = HandlerSplatRouteImport.update({
+ id: '/handler/$',
+ path: '/handler/$',
+ getParentRoute: () => rootRouteImport,
+} as any)
+
+export interface FileRoutesByFullPath {
+ '/': typeof IndexRoute
+ '/handler/$': typeof HandlerSplatRoute
+}
+export interface FileRoutesByTo {
+ '/': typeof IndexRoute
+ '/handler/$': typeof HandlerSplatRoute
+}
+export interface FileRoutesById {
+ __root__: typeof rootRouteImport
+ '/': typeof IndexRoute
+ '/handler/$': typeof HandlerSplatRoute
+}
+export interface FileRouteTypes {
+ fileRoutesByFullPath: FileRoutesByFullPath
+ fullPaths: '/' | '/handler/$'
+ fileRoutesByTo: FileRoutesByTo
+ to: '/' | '/handler/$'
+ id: '__root__' | '/' | '/handler/$'
+ fileRoutesById: FileRoutesById
+}
+export interface RootRouteChildren {
+ IndexRoute: typeof IndexRoute
+ HandlerSplatRoute: typeof HandlerSplatRoute
+}
+
+declare module '@tanstack/react-router' {
+ interface FileRoutesByPath {
+ '/': {
+ id: '/'
+ path: '/'
+ fullPath: '/'
+ preLoaderRoute: typeof IndexRouteImport
+ parentRoute: typeof rootRouteImport
+ }
+ '/handler/$': {
+ id: '/handler/$'
+ path: '/handler/$'
+ fullPath: '/handler/$'
+ preLoaderRoute: typeof HandlerSplatRouteImport
+ parentRoute: typeof rootRouteImport
+ }
+ }
+}
+
+const rootRouteChildren: RootRouteChildren = {
+ IndexRoute: IndexRoute,
+ HandlerSplatRoute: HandlerSplatRoute,
+}
+export const routeTree = rootRouteImport
+ ._addFileChildren(rootRouteChildren)
+ ._addFileTypes()
+
+import type { getRouter } from './router.tsx'
+import type { createStart } from '@tanstack/react-start'
+declare module '@tanstack/react-start' {
+ interface Register {
+ ssr: true
+ router: Awaited>
+ }
+}
diff --git a/apps/hosted-components/src/router.tsx b/apps/hosted-components/src/router.tsx
new file mode 100644
index 0000000000..8748354451
--- /dev/null
+++ b/apps/hosted-components/src/router.tsx
@@ -0,0 +1,12 @@
+import { createRouter } from '@tanstack/react-router';
+import { routeTree } from './routeTree.gen';
+
+export function getRouter() {
+ const router = createRouter({
+ routeTree,
+ scrollRestoration: true,
+ });
+
+ return router;
+}
+
diff --git a/apps/hosted-components/src/routes/__root.tsx b/apps/hosted-components/src/routes/__root.tsx
new file mode 100644
index 0000000000..c22240562f
--- /dev/null
+++ b/apps/hosted-components/src/routes/__root.tsx
@@ -0,0 +1,137 @@
+///
+import { StackClientApp, StackProvider, StackTheme } from '@stackframe/react';
+import {
+ HeadContent,
+ Outlet,
+ Scripts,
+ createRootRoute,
+ useNavigate
+} from '@tanstack/react-router';
+import type { ErrorInfo, ReactNode } from 'react';
+import { Component, useEffect, useMemo, useState } from 'react';
+
+
+export function getProjectId(): string | null {
+ // Extract from subdomain: .built-with-stack-auth.com
+ // Also works with .localhost for local dev
+ const hostname = window.location.hostname;
+ const parts = hostname.split('.');
+ if (parts.length >= 2) {
+ return parts[0];
+ }
+
+ return null;
+}
+
+function FullPageError({ title, message }: { title: string, message: string }) {
+ return (
+
+ );
+}
+
+class ErrorBoundary extends Component<{ children: ReactNode }, { error: Error | null }> {
+ constructor(props: { children: ReactNode }) {
+ super(props);
+ this.state = { error: null };
+ }
+
+ static getDerivedStateFromError(error: Error) {
+ return { error };
+ }
+
+ componentDidCatch(error: Error, errorInfo: ErrorInfo) {
+ console.error('Hosted components error:', error, errorInfo);
+ }
+
+ render() {
+ if (this.state.error) {
+ return ;
+ }
+
+ return this.props.children;
+ }
+}
+
+export const Route = createRootRoute({
+ head: () => ({
+ meta: [
+ { charSet: 'utf-8' },
+ { name: 'viewport', content: 'width=device-width, initial-scale=1' },
+ ],
+ }),
+ shellComponent: RootDocument,
+ component: RootComponent,
+});
+
+function RootDocument({ children }: { children: ReactNode }) {
+ return (
+
+
+
+
+
+
+
+
+ {children}
+
+
+
+ );
+}
+
+function RootComponent() {
+ const [projectId, setProjectId] = useState("internal");
+
+ useEffect(() => {
+ setProjectId(getProjectId());
+ }, []);
+
+ const isValidProjectId = projectId ? (projectId === "internal" || /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(projectId)) : false;
+
+ const stackApp = useMemo(() => {
+ if (!projectId || !isValidProjectId) return null;
+ return new StackClientApp({
+ projectId,
+ tokenStore: "cookie",
+ baseUrl: import.meta.env.VITE_STACK_API_URL || undefined,
+ urls: {
+ handler: "/handler",
+ signIn: "/handler/sign-in",
+ signUp: "/handler/sign-up",
+ afterSignIn: "/",
+ afterSignUp: "/",
+ afterSignOut: "/handler/sign-in",
+ },
+ redirectMethod: { useNavigate: useNavigate as any }
+ });
+ }, [projectId]);
+
+ if (projectId === undefined) {
+ return <>>;
+ }
+
+ if (!projectId) {
+ return .${window.location.host}.`} />;
+ }
+
+ if (!isValidProjectId) {
+ return ;
+ }
+
+ return (
+
+
+
+
+
+
+
+ );
+}
+
diff --git a/apps/hosted-components/src/routes/handler/$.tsx b/apps/hosted-components/src/routes/handler/$.tsx
new file mode 100644
index 0000000000..87df4aa166
--- /dev/null
+++ b/apps/hosted-components/src/routes/handler/$.tsx
@@ -0,0 +1,14 @@
+import { createFileRoute } from '@tanstack/react-router';
+import { StackHandler } from '@stackframe/react';
+import { useState, useEffect } from 'react';
+
+export const Route = createFileRoute('/handler/$')({
+ component: HandlerPage,
+});
+
+function HandlerPage() {
+ const [isMounted, setIsMounted] = useState(false);
+ useEffect(() => setIsMounted(true), []);
+ if (!isMounted) return null;
+ return ;
+}
diff --git a/apps/hosted-components/src/routes/index.tsx b/apps/hosted-components/src/routes/index.tsx
new file mode 100644
index 0000000000..bc5920af93
--- /dev/null
+++ b/apps/hosted-components/src/routes/index.tsx
@@ -0,0 +1,31 @@
+import { UserButton, useUser } from "@stackframe/react";
+import { createFileRoute } from '@tanstack/react-router';
+
+export const Route = createFileRoute('/')({
+ component: HandlerPage,
+ pendingComponent: () => (
+
+ ),
+});
+
+function HandlerPage() {
+ const user = useUser({ or: "redirect" });
+ const name = user.displayName || user.primaryEmail || "User";
+
+ return (
+
+
+
+
+
+ Welcome, {name}
+
+
+ You are signed in.
+
+
+ );
+}
diff --git a/apps/hosted-components/tsconfig.json b/apps/hosted-components/tsconfig.json
new file mode 100644
index 0000000000..8388f78d6a
--- /dev/null
+++ b/apps/hosted-components/tsconfig.json
@@ -0,0 +1,19 @@
+{
+ "compilerOptions": {
+ "jsx": "react-jsx",
+ "target": "ES2021",
+ "lib": ["DOM", "DOM.Iterable", "ES2021"],
+ "module": "ESNext",
+ "moduleResolution": "Bundler",
+ "strict": true,
+ "skipLibCheck": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "resolveJsonModule": true,
+ "esModuleInterop": true,
+ "paths": {
+ "~/*": ["./src/*"]
+ }
+ },
+ "include": ["src", "vite.config.ts"]
+}
diff --git a/apps/hosted-components/vite.config.ts b/apps/hosted-components/vite.config.ts
new file mode 100644
index 0000000000..cd92fb9822
--- /dev/null
+++ b/apps/hosted-components/vite.config.ts
@@ -0,0 +1,90 @@
+import fs from 'node:fs'
+import path from 'node:path'
+import { tanstackStart } from '@tanstack/react-start/plugin/vite'
+import viteReact from '@vitejs/plugin-react'
+import { defineConfig, type Plugin } from 'vite'
+import tsConfigPaths from 'vite-tsconfig-paths'
+
+/**
+ * Makes Vite watch specific packages inside node_modules for changes.
+ * By default Vite/chokidar ignores all of node_modules. This plugin uses
+ * the `config()` hook to inject negation patterns before chokidar is
+ * initialized, which is the only reliable way to un-ignore specific packages.
+ * See: https://github.com/vitejs/vite/issues/8619
+ */
+function watchNodeModules(modules: string[]): Plugin {
+ return {
+ name: 'watch-node-modules',
+ config() {
+ return {
+ server: {
+ watch: {
+ ignored: modules.map((m) => `!**/node_modules/${m}/**`),
+ },
+ },
+ }
+ },
+ }
+}
+
+/**
+ * Waits for workspace package dist directories to exist before letting
+ * Vite resolve them. Fixes the race condition where `pnpm dev` starts
+ * hosted-components before dependency packages have finished their
+ * initial build (eg. after `rimraf dist` in their dev script).
+ */
+function waitForWorkspacePackages(packages: string[]): Plugin {
+ const packageDistEntries = packages.map((pkg) => ({
+ name: pkg,
+ entry: path.resolve(__dirname, 'node_modules', pkg, 'dist', 'esm', 'index.js'),
+ }))
+
+ async function waitForFile(filePath: string, timeoutMs = 60_000): Promise {
+ if (fs.existsSync(filePath)) return
+ const start = Date.now()
+ return new Promise((resolve, reject) => {
+ const interval = setInterval(() => {
+ if (fs.existsSync(filePath)) {
+ clearInterval(interval)
+ resolve()
+ } else if (Date.now() - start > timeoutMs) {
+ clearInterval(interval)
+ reject(new Error(`Timed out waiting for ${filePath} to exist`))
+ }
+ }, 500)
+ })
+ }
+
+ return {
+ name: 'wait-for-workspace-packages',
+ enforce: 'pre',
+ async buildStart() {
+ const missing = packageDistEntries.filter((p) => !fs.existsSync(p.entry))
+ if (missing.length > 0) {
+ console.log(`Waiting for workspace packages to build: ${missing.map((p) => p.name).join(', ')}`)
+ await Promise.all(missing.map((p) => waitForFile(p.entry)))
+ console.log('All workspace packages are ready.')
+ }
+ },
+ }
+}
+
+export default defineConfig({
+ server: {
+ port: Number((process.env.NEXT_PUBLIC_STACK_PORT_PREFIX || "81") + "09"),
+ },
+ resolve: {
+ dedupe: ['react', 'react-dom'],
+ },
+ optimizeDeps: {
+ exclude: ['@stackframe/react', '@stackframe/stack-shared'],
+ },
+ plugins: [
+ waitForWorkspacePackages(['@stackframe/react', '@stackframe/stack-shared']),
+ watchNodeModules(['@stackframe/react', '@stackframe/stack-shared']),
+ tsConfigPaths(),
+ tanstackStart(),
+ // react's vite plugin must come after start's vite plugin
+ viteReact(),
+ ],
+})
diff --git a/packages/stack-shared/src/utils/monkey-patch.tsx b/packages/stack-shared/src/utils/monkey-patch.tsx
new file mode 100644
index 0000000000..098aa8d029
--- /dev/null
+++ b/packages/stack-shared/src/utils/monkey-patch.tsx
@@ -0,0 +1,29 @@
+import { createGlobal } from "./globals";
+
+export const NO_SUSPENSE_BOUNDARY_ERROR_SENTINEL = "__stack-no-suspense-boundary-error__";
+
+export function isNoSuspenseBoundaryError(value: unknown): boolean {
+ return (
+ typeof value === "object"
+ && value !== null
+ && (value as Record).__noSuspenseBoundarySentinel === NO_SUSPENSE_BOUNDARY_ERROR_SENTINEL
+ );
+}
+
+export function ensureMonkeyPatch() {
+ createGlobal("__console-error-monkey-patch__", () => {
+ const originalConsoleError = console.error;
+ console.error = function (...args: unknown[]) {
+ // React's default error handlers will log all errors to the console, even those that we intentionally use to suppress SSR.
+ // Next.js among others override the default error handler and will not log SSR errors to the console.
+ // However, vanilla React and other frameworks like TanStack Start use the default error handler.
+ // Hence, we suppress the error here if it is a NoSuspenseBoundaryError.
+ // It's very cursed, but it's really our best option. Talk to @konsti if you want to know more.
+ if (args.length === 1 && isNoSuspenseBoundaryError(args[0])) {
+ return;
+ }
+ return originalConsoleError.apply(this, args);
+ };
+ return true;
+ });
+}
diff --git a/packages/stack-shared/src/utils/react.tsx b/packages/stack-shared/src/utils/react.tsx
index 0694f46105..f0a521f7ea 100644
--- a/packages/stack-shared/src/utils/react.tsx
+++ b/packages/stack-shared/src/utils/react.tsx
@@ -2,6 +2,7 @@ import React, { SetStateAction } from "react";
import { isBrowserLike } from "./env";
import { neverResolve, runAsynchronously } from "./promises";
import { AsyncResult } from "./results";
+import { ensureMonkeyPatch, NO_SUSPENSE_BOUNDARY_ERROR_SENTINEL } from "./monkey-patch";
import { deindent } from "./strings";
export function componentWrapper<
@@ -233,14 +234,17 @@ export function shouldRethrowRenderingError(error: unknown): boolean {
export class NoSuspenseBoundaryError extends Error {
digest: string;
reason: string;
+ __noSuspenseBoundarySentinel = NO_SUSPENSE_BOUNDARY_ERROR_SENTINEL;
constructor(options: { caller?: string }) {
+ ensureMonkeyPatch();
+
super(deindent`
- Suspense boundary not found! Read the error message below carefully on how to fix it.
+ Suspense boundary not found! Read the error message below carefully (or paste it into your AI agent).
${options.caller ?? "This code path"} attempted to display a loading indicator, but didn't find a Suspense boundary above it. Please read the error message below carefully.
- The fix depends on which of the 4 scenarios caused it:
+ There are several potential causes:
1. [Next.js] You are missing a loading.tsx file in your app directory. Fix it by adding a loading.tsx file in your app directory.
@@ -260,6 +264,8 @@ export class NoSuspenseBoundaryError extends Error {
4. You caught this error with try-catch or a custom error boundary. Fix this by rethrowing the error or not catching it in the first place.
+ 5. Your version of Stack Auth is too old. Upgrade to the latest version to see if that fixes the issue.
+
See: https://nextjs.org/docs/messages/missing-suspense-with-csr-bailout
More information on SSR and Suspense boundaries: https://react.dev/reference/react/Suspense#providing-a-fallback-for-server-errors-and-client-only-content
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 941526d925..4c3689f42f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -465,7 +465,7 @@ importers:
version: 2.0.2(react@19.2.3)
'@sentry/nextjs':
specifier: ^10.11.0
- version: 10.11.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@16.1.5(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(webpack@5.92.0(esbuild@0.24.2))
+ version: 10.11.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@16.1.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(webpack@5.92.0(esbuild@0.24.2))
'@stackframe/stack':
specifier: workspace:*
version: link:../../packages/stack
@@ -492,10 +492,10 @@ importers:
version: 3.13.18(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
'@vercel/analytics':
specifier: ^1.2.2
- version: 1.3.1(next@16.1.5(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)
+ version: 1.3.1(next@16.1.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)
'@vercel/speed-insights':
specifier: ^1.0.12
- version: 1.0.12(next@16.1.5(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)
+ version: 1.0.12(next@16.1.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)
ai:
specifier: ^6.0.0
version: 6.0.81(zod@4.1.12)
@@ -525,7 +525,7 @@ importers:
version: 1.4.0
geist:
specifier: ^1
- version: 1.3.0(next@16.1.5(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))
+ version: 1.3.0(next@16.1.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))
input-otp:
specifier: ^1.4.1
version: 1.4.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
@@ -537,7 +537,7 @@ importers:
version: 4.17.21
next:
specifier: 16.1.5
- version: 16.1.5(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ version: 16.1.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
posthog-js:
specifier: ^1.336.1
version: 1.336.1
@@ -582,7 +582,7 @@ importers:
version: 1.32.0(encoding@0.1.13)
svix-react:
specifier: ^1.13.0
- version: 1.13.0(@babel/core@7.28.5)(prop-types@15.8.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svix@1.32.0(encoding@0.1.13))
+ version: 1.13.0(@babel/core@7.29.0)(prop-types@15.8.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svix@1.32.0(encoding@0.1.13))
tailwind-merge:
specifier: ^2.3.0
version: 2.3.0
@@ -688,6 +688,64 @@ importers:
specifier: ^8.16.3
version: 8.16.3
+ apps/hosted-components:
+ dependencies:
+ '@stackframe/react':
+ specifier: workspace:*
+ version: link:../../packages/react
+ '@stackframe/stack-shared':
+ specifier: workspace:*
+ version: link:../../packages/stack-shared
+ '@tanstack/react-router':
+ specifier: ^1.121.3
+ version: 1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
+ '@tanstack/react-start':
+ specifier: ^1.121.3
+ version: 1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(vite@7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0))(webpack@5.92.0(esbuild@0.24.2))
+ '@tanstack/react-start-client':
+ specifier: ^1.121.3
+ version: 1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
+ '@tanstack/react-start-server':
+ specifier: ^1.121.3
+ version: 1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
+ '@tanstack/start-client-core':
+ specifier: ^1.121.3
+ version: 1.163.2
+ '@tanstack/start-plugin-core':
+ specifier: ^1.121.3
+ version: 1.163.2(@tanstack/react-router@1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(vite@7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0))(webpack@5.92.0(esbuild@0.24.2))
+ '@tanstack/start-server-core':
+ specifier: ^1.121.3
+ version: 1.163.2
+ react:
+ specifier: 19.2.1
+ version: 19.2.1
+ react-dom:
+ specifier: 19.2.1
+ version: 19.2.1(react@19.2.1)
+ devDependencies:
+ '@types/node':
+ specifier: ^22.13.0
+ version: 22.19.0
+ '@types/react':
+ specifier: ^18.2.0
+ version: 18.3.12
+ '@types/react-dom':
+ specifier: ^18.2.0
+ version: 18.3.1
+ '@vitejs/plugin-react':
+ specifier: ^5.0.0
+ version: 5.1.4(vite@7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0))
+ typescript:
+ specifier: 5.9.3
+ version: 5.9.3
+ vite:
+ specifier: ^7.0.0
+ version: 7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0)
+ vite-tsconfig-paths:
+ specifier: ^4.3.2
+ version: 4.3.2(typescript@5.9.3)(vite@7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0))
+
apps/mock-oauth-server:
dependencies:
'@types/express':
@@ -2658,6 +2716,10 @@ packages:
resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
engines: {node: '>=6.9.0'}
+ '@babel/code-frame@7.29.0':
+ resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
+ engines: {node: '>=6.9.0'}
+
'@babel/compat-data@7.26.2':
resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==}
engines: {node: '>=6.9.0'}
@@ -2666,6 +2728,10 @@ packages:
resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==}
engines: {node: '>=6.9.0'}
+ '@babel/compat-data@7.29.0':
+ resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==}
+ engines: {node: '>=6.9.0'}
+
'@babel/core@7.26.0':
resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==}
engines: {node: '>=6.9.0'}
@@ -2674,10 +2740,18 @@ packages:
resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==}
engines: {node: '>=6.9.0'}
+ '@babel/core@7.29.0':
+ resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==}
+ engines: {node: '>=6.9.0'}
+
'@babel/generator@7.28.5':
resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==}
engines: {node: '>=6.9.0'}
+ '@babel/generator@7.29.1':
+ resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
+ engines: {node: '>=6.9.0'}
+
'@babel/generator@8.0.0-rc.1':
resolution: {integrity: sha512-3ypWOOiC4AYHKr8vYRVtWtWmyvcoItHtVqF8paFax+ydpmUdPsJpLBkBBs5ItmhdrwC3a0ZSqqFAdzls4ODP3w==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2694,6 +2768,10 @@ packages:
resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-compilation-targets@7.28.6':
+ resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-create-class-features-plugin@7.25.0':
resolution: {integrity: sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==}
engines: {node: '>=6.9.0'}
@@ -2720,6 +2798,10 @@ packages:
resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-module-imports@7.28.6':
+ resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-module-transforms@7.26.0':
resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
engines: {node: '>=6.9.0'}
@@ -2732,6 +2814,12 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0
+ '@babel/helper-module-transforms@7.28.6':
+ resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
'@babel/helper-optimise-call-expression@7.24.7':
resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==}
engines: {node: '>=6.9.0'}
@@ -2786,6 +2874,10 @@ packages:
resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==}
engines: {node: '>=6.9.0'}
+ '@babel/helpers@7.28.6':
+ resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==}
+ engines: {node: '>=6.9.0'}
+
'@babel/parser@7.25.6':
resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==}
engines: {node: '>=6.0.0'}
@@ -2796,6 +2888,11 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/parser@7.29.0':
+ resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
'@babel/parser@8.0.0-rc.1':
resolution: {integrity: sha512-6HyyU5l1yK/7h9Ki52i5h6mDAx4qJdiLQO4FdCyJNoB/gy3T3GGJdhQzzbZgvgZCugYBvwtQiWRt94QKedHnkA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -2808,12 +2905,24 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-jsx@7.28.6':
+ resolution: {integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/plugin-syntax-private-property-in-object@7.14.5':
resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@babel/plugin-syntax-typescript@7.28.6':
+ resolution: {integrity: sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/plugin-transform-react-jsx-self@7.25.9':
resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==}
engines: {node: '>=6.9.0'}
@@ -2858,6 +2967,10 @@ packages:
resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
engines: {node: '>=6.9.0'}
+ '@babel/template@7.28.6':
+ resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
+ engines: {node: '>=6.9.0'}
+
'@babel/traverse@7.25.6':
resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==}
engines: {node: '>=6.9.0'}
@@ -2866,10 +2979,18 @@ packages:
resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==}
engines: {node: '>=6.9.0'}
+ '@babel/traverse@7.29.0':
+ resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==}
+ engines: {node: '>=6.9.0'}
+
'@babel/types@7.28.5':
resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==}
engines: {node: '>=6.9.0'}
+ '@babel/types@7.29.0':
+ resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
+ engines: {node: '>=6.9.0'}
+
'@babel/types@8.0.0-rc.1':
resolution: {integrity: sha512-ubmJ6TShyaD69VE9DQrlXcdkvJbmwWPB8qYj0H2kaJi29O7vJT9ajSdBd2W8CG34pwL9pYA74fi7RHC1qbLoVQ==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -4953,6 +5074,22 @@ packages:
'@one-ini/wasm@0.1.1':
resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==}
+ '@oozcitak/dom@2.0.2':
+ resolution: {integrity: sha512-GjpKhkSYC3Mj4+lfwEyI1dqnsKTgwGy48ytZEhm4A/xnH/8z9M3ZVXKr/YGQi3uCLs1AEBS+x5T2JPiueEDW8w==}
+ engines: {node: '>=20.0'}
+
+ '@oozcitak/infra@2.0.2':
+ resolution: {integrity: sha512-2g+E7hoE2dgCz/APPOEK5s3rMhJvNxSMBrP+U+j1OWsIbtSpWxxlUjq1lU8RIsFJNYv7NMlnVsCuHcUzJW+8vA==}
+ engines: {node: '>=20.0'}
+
+ '@oozcitak/url@3.0.0':
+ resolution: {integrity: sha512-ZKfET8Ak1wsLAiLWNfFkZc/BraDccuTJKR6svTYc7sVjbR+Iu0vtXdiDMY4o6jaFl5TW2TlS7jbLl4VovtAJWQ==}
+ engines: {node: '>=20.0'}
+
+ '@oozcitak/util@10.0.0':
+ resolution: {integrity: sha512-hAX0pT/73190NLqBPPWSdBVGtbY6VOhWYK3qqHqtXQ1gK7kS2yz4+ivsN07hpJ6I3aeMtKP6J6npsEKOAzuTLA==}
+ engines: {node: '>=20.0'}
+
'@openrouter/ai-sdk-provider@0.7.5':
resolution: {integrity: sha512-zm8vBhQ+GhxN03Y41xviB0nDa20uN77QnMXsIwDeJPqsul8+KycrYFxY4ulXpumeKxjKyOhfyA7a7CJpcYq2ng==}
engines: {node: '>=18'}
@@ -7399,6 +7536,9 @@ packages:
cpu: [x64]
os: [win32]
+ '@rolldown/pluginutils@1.0.0-beta.40':
+ resolution: {integrity: sha512-s3GeJKSQOwBlzdUrj4ISjJj5SfSh+aqn0wjOar4Bx95iV1ETI7F6S/5hLcfAxZ9kXDcyrAkxPlqmd1ZITttf+w==}
+
'@rolldown/pluginutils@1.0.0-rc.3':
resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==}
@@ -8385,6 +8525,10 @@ packages:
peerDependencies:
tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1'
+ '@tanstack/history@1.161.4':
+ resolution: {integrity: sha512-Kp/WSt411ZWYvgXy6uiv5RmhHrz9cAml05AQPrtdAp7eUqvIDbMGPnML25OKbzR3RJ1q4wgENxDTvlGPa9+Mww==}
+ engines: {node: '>=20.19'}
+
'@tanstack/query-core@5.90.7':
resolution: {integrity: sha512-6PN65csiuTNfBMXqQUxQhCNdtm1rV+9kC9YwWAIKcaxAauq3Wu7p18j3gQY3YIBJU70jT/wzCCZ2uqto/vQgiQ==}
@@ -8393,6 +8537,41 @@ packages:
peerDependencies:
react: ^18 || ^19
+ '@tanstack/react-router@1.163.2':
+ resolution: {integrity: sha512-1LosUlpL2mRMWxUZXmkEg5+Br5P5j9TrLngqRgHVbZoFkjnbcj1x9fQN2OVLrBv9Npw97NRsHeJljnAH/c7oSw==}
+ engines: {node: '>=20.19'}
+ peerDependencies:
+ react: '>=18.0.0 || >=19.0.0'
+ react-dom: '>=18.0.0 || >=19.0.0'
+
+ '@tanstack/react-start-client@1.163.2':
+ resolution: {integrity: sha512-JBlJflRK9lIkuOySEdwrAAyhbIc3DCrUsLUT59+oX7DntBsFnfWLEhXNtZ58PcSR7G6fprGLF4ASW6VAMmA87g==}
+ engines: {node: '>=22.12.0'}
+ peerDependencies:
+ react: '>=18.0.0 || >=19.0.0'
+ react-dom: '>=18.0.0 || >=19.0.0'
+
+ '@tanstack/react-start-server@1.163.2':
+ resolution: {integrity: sha512-Qjg4hZf10GlgH+Mod/yrStHvYOb2XkDjzdMUJ+KX63XlZBT/+0mhg90NgqXAIfa1D3g45caCFrGg4Xd+imYpig==}
+ engines: {node: '>=22.12.0'}
+ peerDependencies:
+ react: '>=18.0.0 || >=19.0.0'
+ react-dom: '>=18.0.0 || >=19.0.0'
+
+ '@tanstack/react-start@1.163.2':
+ resolution: {integrity: sha512-Y/dxoxH1+YLeRECvMlcHaCgL6YdKXO5D5P5ZInjGAha/GJ0v3KNwS5u+45UZfmQRZXqmilsgaeLEMVV5AvgBnw==}
+ engines: {node: '>=22.12.0'}
+ peerDependencies:
+ react: '>=18.0.0 || >=19.0.0'
+ react-dom: '>=18.0.0 || >=19.0.0'
+ vite: '>=7.0.0'
+
+ '@tanstack/react-store@0.9.1':
+ resolution: {integrity: sha512-YzJLnRvy5lIEFTLWBAZmcOjK3+2AepnBv/sr6NZmiqJvq7zTQggyK99Gw8fqYdMdHPQWXjz0epFKJXC+9V2xDA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
'@tanstack/react-table@8.20.5':
resolution: {integrity: sha512-WEHopKw3znbUZ61s9i0+i9g8drmDo6asTWbrQh8Us63DAk/M0FkmIqERew6P71HI75ksZ2Pxyuf4vvKh9rAkiA==}
engines: {node: '>=12'}
@@ -8413,6 +8592,64 @@ packages:
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ '@tanstack/router-core@1.163.2':
+ resolution: {integrity: sha512-mD0Pav6kcpS317XSJN+wCZaxLLngDhlwgzPNca56dWCp8YKPEvhhj/Zdl+LdRlJQ2VJ5BOy7FbOV1hErc9Nj5Q==}
+ engines: {node: '>=20.19'}
+
+ '@tanstack/router-generator@1.163.2':
+ resolution: {integrity: sha512-6LjU3+8iKEgt8iOaYCmCnQCs0jsOhc7z8fa1yAYlj3s82uYWv3g5CB9mwv8wZXblXBQWOl+hW4PI6WNjP/CK9w==}
+ engines: {node: '>=20.19'}
+
+ '@tanstack/router-plugin@1.163.2':
+ resolution: {integrity: sha512-SrVILMz/c15RYWxIMG+bf/glLbP/O9DUxOg0E7bo9pooBxGPvgWSlEzHNjhVekLhK5l7fiuQZzKsfksVeIEqDA==}
+ engines: {node: '>=20.19'}
+ peerDependencies:
+ '@rsbuild/core': '>=1.0.2'
+ '@tanstack/react-router': ^1.163.2
+ vite: '>=5.0.0 || >=6.0.0 || >=7.0.0'
+ vite-plugin-solid: ^2.11.10
+ webpack: '>=5.92.0'
+ peerDependenciesMeta:
+ '@rsbuild/core':
+ optional: true
+ '@tanstack/react-router':
+ optional: true
+ vite:
+ optional: true
+ vite-plugin-solid:
+ optional: true
+ webpack:
+ optional: true
+
+ '@tanstack/router-utils@1.161.4':
+ resolution: {integrity: sha512-r8TpjyIZoqrXXaf2DDyjd44gjGBoyE+/oEaaH68yLI9ySPO1gUWmQENZ1MZnmBnpUGN24NOZxdjDLc8npK0SAw==}
+ engines: {node: '>=20.19'}
+
+ '@tanstack/start-client-core@1.163.2':
+ resolution: {integrity: sha512-PiOnvd83rqOsyWcN3CxJqoqr41pxM2wAHfchMITKz7rlsX+4J8CWMpHM3yNnLrKRqUnqX3Td9VUV4ueU+4ZCNA==}
+ engines: {node: '>=22.12.0'}
+
+ '@tanstack/start-fn-stubs@1.161.4':
+ resolution: {integrity: sha512-b8s6iSQ+ny0P4lGK0n3DKaL6EI7SECG0/89svDeYieVw2+MaFOJVcQo3rU3BUvmuOcIkgkE5IhdzkmzPXH6yfA==}
+ engines: {node: '>=22.12.0'}
+
+ '@tanstack/start-plugin-core@1.163.2':
+ resolution: {integrity: sha512-y+ransqRMyvTCLd4xU7feo57YsFT8oX++gKfh8pjNgzZTmkbySKBGv8UmO2mvwaNMkZmPwABYOPz60zd3Ls5DQ==}
+ engines: {node: '>=22.12.0'}
+ peerDependencies:
+ vite: '>=7.0.0'
+
+ '@tanstack/start-server-core@1.163.2':
+ resolution: {integrity: sha512-2BJzeIuBuHSSQL119vx4MlXktorwOiRqCUaeQOi84LQMbcM78vVl1vWwgU/e/Hjzwz44dwcs5KHaFgfPeRNduA==}
+ engines: {node: '>=22.12.0'}
+
+ '@tanstack/start-storage-context@1.163.2':
+ resolution: {integrity: sha512-zBCn0XqrcS0SDjmRjnnxVMLNCpOx6tveCzKvsoI3xwnJ4iIEMyo2HAS4i3qw+EbAaBam2g5skN9OLd46VEY4uw==}
+ engines: {node: '>=22.12.0'}
+
+ '@tanstack/store@0.9.1':
+ resolution: {integrity: sha512-+qcNkOy0N1qSGsP7omVCW0SDrXtaDcycPqBDE726yryiA5eTDFpjBReaYjghVJwNf1pcPMyzIwTGlYjCSQR0Fg==}
+
'@tanstack/table-core@8.20.5':
resolution: {integrity: sha512-P9dF7XbibHph2PFRz8gfBKEXEY/HJPOhym8CHmjF8y3q5mWpKx9xtZapXQUWCgkqvsK0R46Azuz+VaxD4Xl+Tg==}
engines: {node: '>=12'}
@@ -8424,6 +8661,10 @@ packages:
'@tanstack/virtual-core@3.13.18':
resolution: {integrity: sha512-Mx86Hqu1k39icq2Zusq+Ey2J6dDWTjDvEv43PJtRCoEYTLyfaPnxIQ6iy7YAOK0NV/qOEmZQ/uCufrppZxTgcg==}
+ '@tanstack/virtual-file-routes@1.161.4':
+ resolution: {integrity: sha512-42WoRePf8v690qG8yGRe/YOh+oHni9vUaUUfoqlS91U2scd3a5rkLtVsc6b7z60w3RogH0I00vdrC5AaeiZ18w==}
+ engines: {node: '>=20.19'}
+
'@testing-library/dom@10.4.0':
resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==}
engines: {node: '>=18'}
@@ -9078,6 +9319,12 @@ packages:
peerDependencies:
vite: ^4.2.0 || ^5.0.0 || ^6.0.0
+ '@vitejs/plugin-react@5.1.4':
+ resolution: {integrity: sha512-VIcFLdRi/VYRU8OL/puL7QXMYafHmqOnwTZY50U1JPlCNj30PxCMx65c494b1K9be9hX83KVt0+gTEwTWLqToA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ peerDependencies:
+ vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
+
'@vitest/expect@1.6.0':
resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==}
@@ -9407,6 +9654,10 @@ packages:
ast-types-flow@0.0.8:
resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
+ ast-types@0.16.1:
+ resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==}
+ engines: {node: '>=4'}
+
astring@1.9.0:
resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
hasBin: true
@@ -9473,6 +9724,9 @@ packages:
b4a@1.6.6:
resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==}
+ babel-dead-code-elimination@1.0.12:
+ resolution: {integrity: sha512-GERT7L2TiYcYDtYk1IpD+ASAYXjKbLTDPhBtYj7X1NuRMDTMtAx9kyBenub1Ev41lo91OHCKdmP+egTDmfQ7Ig==}
+
babel-plugin-macros@3.1.0:
resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
engines: {node: '>=10', npm: '>=6'}
@@ -10060,6 +10314,9 @@ packages:
react:
optional: true
+ cookie-es@2.0.0:
+ resolution: {integrity: sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg==}
+
cookie-signature@1.0.6:
resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
@@ -10533,6 +10790,10 @@ packages:
resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ diff@8.0.3:
+ resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==}
+ engines: {node: '>=0.3.1'}
+
dijkstrajs@1.0.3:
resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==}
@@ -11686,6 +11947,16 @@ packages:
resolution: {integrity: sha512-LQhmMl1dRQQjMXPzJc7MpZ/CqPOWWuAvVEoVJM9n/s7vHypj+c3Pd5rLQCkAsOgAoAYKbNCsYFE++LF7MvSfCQ==}
engines: {node: '>=4', npm: '>=3', yarn: '>=1.3.0'}
+ h3@2.0.1-rc.14:
+ resolution: {integrity: sha512-163qbGmTr/9rqQRNuqMqtgXnOUAkE4KTdauiC9y0E5iG1I65kte9NyfWvZw5RTDMt6eY+DtyoNzrQ9wA2BfvGQ==}
+ engines: {node: '>=20.11.1'}
+ hasBin: true
+ peerDependencies:
+ crossws: ^0.4.1
+ peerDependenciesMeta:
+ crossws:
+ optional: true
+
hachure-fill@0.5.2:
resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==}
@@ -12225,6 +12496,10 @@ packages:
isarray@2.0.5:
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+ isbot@5.1.35:
+ resolution: {integrity: sha512-waFfC72ZNfwLLuJ2iLaoVaqcNo+CAaLR7xCpAn0Y5WfGzkNHv7ZN39Vbi1y+kb+Zs46XHOX3tZNExroFUPX+Kg==}
+ engines: {node: '>=18'}
+
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
@@ -12302,6 +12577,10 @@ packages:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
+ js-yaml@4.1.1:
+ resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
+ hasBin: true
+
jsdom@24.1.3:
resolution: {integrity: sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ==}
engines: {node: '>=18'}
@@ -14127,6 +14406,10 @@ packages:
resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
engines: {node: '>=0.10.0'}
+ react-refresh@0.18.0:
+ resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==}
+ engines: {node: '>=0.10.0'}
+
react-remove-scroll-bar@2.3.8:
resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==}
engines: {node: '>=10'}
@@ -14280,6 +14563,10 @@ packages:
resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==}
engines: {node: '>= 14.16.0'}
+ recast@0.23.11:
+ resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==}
+ engines: {node: '>= 4'}
+
recharts-scale@0.4.5:
resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==}
@@ -14538,6 +14825,9 @@ packages:
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
+ rou3@0.7.12:
+ resolution: {integrity: sha512-iFE4hLDuloSWcD7mjdCDhx2bKcIsYbtOTpfH5MHHLSKMOUyjqQXTeZVa289uuwEGEKFoE/BAPbhaU4B774nceg==}
+
roughjs@4.6.6:
resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==}
@@ -14670,6 +14960,16 @@ packages:
serialize-javascript@6.0.2:
resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
+ seroval-plugins@1.5.0:
+ resolution: {integrity: sha512-EAHqADIQondwRZIdeW2I636zgsODzoBDwb3PT/+7TLDWyw1Dy/Xv7iGUIEXXav7usHDE9HVhOU61irI3EnyyHA==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ seroval: ^1.0
+
+ seroval@1.5.0:
+ resolution: {integrity: sha512-OE4cvmJ1uSPrKorFIH9/w/Qwuvi/IMcGbv5RKgcJ/zjA/IohDLU6SVaxFN9FwajbP7nsX0dQqMDes1whk3y+yw==}
+ engines: {node: '>=10'}
+
serve-handler@6.1.6:
resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==}
@@ -14846,6 +15146,11 @@ packages:
resolution: {integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==}
engines: {node: '>= 0.6'}
+ srvx@0.11.8:
+ resolution: {integrity: sha512-2n9t0YnAXPJjinytvxccNgs7rOA5gmE7Wowt/8Dy2dx2fDC6sBhfBpbrCvjYKALlVukPS/Uq3QwkolKNa7P/2Q==}
+ engines: {node: '>=20.16.0'}
+ hasBin: true
+
stackback@0.0.2:
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
@@ -15204,6 +15509,9 @@ packages:
tiny-invariant@1.3.3:
resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
+ tiny-warning@1.0.3:
+ resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
+
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
@@ -15534,6 +15842,10 @@ packages:
unplugin@1.0.1:
resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==}
+ unplugin@2.3.11:
+ resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==}
+ engines: {node: '>=18.12.0'}
+
unrun@0.2.27:
resolution: {integrity: sha512-Mmur1UJpIbfxasLOhPRvox/QS4xBiDii71hMP7smfRthGcwFL2OAmYRgduLANOAU4LUkvVamuP+02U+c90jlrw==}
engines: {node: '>=20.19.0'}
@@ -15870,6 +16182,14 @@ packages:
yaml:
optional: true
+ vitefu@1.1.2:
+ resolution: {integrity: sha512-zpKATdUbzbsycPFBN71nS2uzBUQiVnFoOrr2rvqv34S1lcAgMKKkjWleLGeiJlZ8lwCXvtWaRn7R3ZC16SYRuw==}
+ peerDependencies:
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-beta.0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+
vitest@1.6.0:
resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==}
engines: {node: ^18.0.0 || >=20.0.0}
@@ -15955,6 +16275,9 @@ packages:
webpack-virtual-modules@0.5.0:
resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
+ webpack-virtual-modules@0.6.2:
+ resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
+
webpack@5.92.0:
resolution: {integrity: sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA==}
engines: {node: '>=10.13.0'}
@@ -16093,6 +16416,10 @@ packages:
resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
engines: {node: '>=18'}
+ xmlbuilder2@4.0.3:
+ resolution: {integrity: sha512-bx8Q1STctnNaaDymWnkfQLKofs0mGNN7rLLapJlGuV3VlvegD7Ls4ggMjE3aUSWItCCzU0PEv45lI87iSigiCA==}
+ engines: {node: '>=20.0'}
+
xmlchars@2.2.0:
resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
@@ -16339,7 +16666,7 @@ snapshots:
dependencies:
'@jsdevtools/ono': 7.1.3
'@types/json-schema': 7.0.15
- js-yaml: 4.1.0
+ js-yaml: 4.1.1
'@assistant-ui/react-ai-sdk@0.10.14(@assistant-ui/react@0.10.24(@types/react-dom@18.3.1)(@types/react@18.3.12)(immer@9.0.21)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(use-sync-external-store@1.6.0(react@19.2.3)))(@types/react-dom@18.3.1)(@types/react@18.3.12)(immer@9.0.21)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(use-sync-external-store@1.6.0(react@19.2.3))':
dependencies:
@@ -17211,10 +17538,18 @@ snapshots:
js-tokens: 4.0.0
picocolors: 1.1.1
+ '@babel/code-frame@7.29.0':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.28.5
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
'@babel/compat-data@7.26.2': {}
'@babel/compat-data@7.28.0': {}
+ '@babel/compat-data@7.29.0': {}
+
'@babel/core@7.26.0':
dependencies:
'@ampproject/remapping': 2.3.0
@@ -17255,6 +17590,26 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/core@7.29.0':
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@babel/generator': 7.29.1
+ '@babel/helper-compilation-targets': 7.28.6
+ '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
+ '@babel/helpers': 7.28.6
+ '@babel/parser': 7.29.0
+ '@babel/template': 7.28.6
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
+ '@jridgewell/remapping': 2.3.5
+ convert-source-map: 2.0.0
+ debug: 4.4.3
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/generator@7.28.5':
dependencies:
'@babel/parser': 7.28.5
@@ -17263,6 +17618,14 @@ snapshots:
'@jridgewell/trace-mapping': 0.3.31
jsesc: 3.1.0
+ '@babel/generator@7.29.1':
+ dependencies:
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+ jsesc: 3.1.0
+
'@babel/generator@8.0.0-rc.1':
dependencies:
'@babel/parser': 8.0.0-rc.1
@@ -17292,13 +17655,21 @@ snapshots:
lru-cache: 5.1.1
semver: 6.3.1
- '@babel/helper-create-class-features-plugin@7.25.0(@babel/core@7.28.5)':
+ '@babel/helper-compilation-targets@7.28.6':
dependencies:
- '@babel/core': 7.28.5
+ '@babel/compat-data': 7.29.0
+ '@babel/helper-validator-option': 7.27.1
+ browserslist: 4.27.0
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-create-class-features-plugin@7.25.0(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
'@babel/helper-annotate-as-pure': 7.24.7
'@babel/helper-member-expression-to-functions': 7.24.8
'@babel/helper-optimise-call-expression': 7.24.7
- '@babel/helper-replace-supers': 7.25.0(@babel/core@7.28.5)
+ '@babel/helper-replace-supers': 7.25.0(@babel/core@7.29.0)
'@babel/helper-skip-transparent-expression-wrappers': 7.24.7
'@babel/traverse': 7.28.5
semver: 6.3.1
@@ -17335,6 +17706,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/helper-module-imports@7.28.6':
+ dependencies:
+ '@babel/traverse': 7.29.0
+ '@babel/types': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)':
dependencies:
'@babel/core': 7.26.0
@@ -17353,6 +17731,15 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-module-imports': 7.28.6
+ '@babel/helper-validator-identifier': 7.28.5
+ '@babel/traverse': 7.29.0
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/helper-optimise-call-expression@7.24.7':
dependencies:
'@babel/types': 7.28.5
@@ -17361,9 +17748,9 @@ snapshots:
'@babel/helper-plugin-utils@7.28.6': {}
- '@babel/helper-replace-supers@7.25.0(@babel/core@7.28.5)':
+ '@babel/helper-replace-supers@7.25.0(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.5
+ '@babel/core': 7.29.0
'@babel/helper-member-expression-to-functions': 7.24.8
'@babel/helper-optimise-call-expression': 7.24.7
'@babel/traverse': 7.28.5
@@ -17399,6 +17786,11 @@ snapshots:
'@babel/template': 7.27.2
'@babel/types': 7.28.5
+ '@babel/helpers@7.28.6':
+ dependencies:
+ '@babel/template': 7.28.6
+ '@babel/types': 7.29.0
+
'@babel/parser@7.25.6':
dependencies:
'@babel/types': 7.28.5
@@ -17407,21 +17799,35 @@ snapshots:
dependencies:
'@babel/types': 7.28.5
+ '@babel/parser@7.29.0':
+ dependencies:
+ '@babel/types': 7.29.0
+
'@babel/parser@8.0.0-rc.1':
dependencies:
'@babel/types': 8.0.0-rc.1
- '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.28.5)':
+ '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.29.0)':
dependencies:
- '@babel/core': 7.28.5
+ '@babel/core': 7.29.0
'@babel/helper-annotate-as-pure': 7.24.7
- '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.28.5)
+ '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.29.0)
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.5)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.0)
transitivePeerDependencies:
- supports-color
- '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.5)':
+ '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.28.5)':
+ dependencies:
+ '@babel/core': 7.28.5
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.28.5)':
dependencies:
'@babel/core': 7.28.5
'@babel/helper-plugin-utils': 7.28.6
@@ -17434,7 +17840,12 @@ snapshots:
'@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.5)':
dependencies:
'@babel/core': 7.28.5
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)':
dependencies:
@@ -17444,7 +17855,12 @@ snapshots:
'@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.5)':
dependencies:
'@babel/core': 7.28.5
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-plugin-utils': 7.28.6
+
+ '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.29.0)':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/helper-plugin-utils': 7.28.6
'@babel/runtime@7.24.7':
dependencies:
@@ -17468,6 +17884,12 @@ snapshots:
'@babel/parser': 7.28.5
'@babel/types': 7.28.5
+ '@babel/template@7.28.6':
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
+
'@babel/traverse@7.25.6':
dependencies:
'@babel/code-frame': 7.27.1
@@ -17492,11 +17914,28 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/traverse@7.29.0':
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ '@babel/generator': 7.29.1
+ '@babel/helper-globals': 7.28.0
+ '@babel/parser': 7.29.0
+ '@babel/template': 7.28.6
+ '@babel/types': 7.29.0
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/types@7.28.5':
dependencies:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
+ '@babel/types@7.29.0':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.28.5
+
'@babel/types@8.0.0-rc.1':
dependencies:
'@babel/helper-string-parser': 8.0.0-rc.2
@@ -18570,7 +19009,7 @@ snapshots:
globals: 14.0.0
ignore: 5.3.2
import-fresh: 3.3.1
- js-yaml: 4.1.0
+ js-yaml: 4.1.1
minimatch: 3.1.2
strip-json-comments: 3.1.1
transitivePeerDependencies:
@@ -19140,6 +19579,23 @@ snapshots:
'@one-ini/wasm@0.1.1': {}
+ '@oozcitak/dom@2.0.2':
+ dependencies:
+ '@oozcitak/infra': 2.0.2
+ '@oozcitak/url': 3.0.0
+ '@oozcitak/util': 10.0.0
+
+ '@oozcitak/infra@2.0.2':
+ dependencies:
+ '@oozcitak/util': 10.0.0
+
+ '@oozcitak/url@3.0.0':
+ dependencies:
+ '@oozcitak/infra': 2.0.2
+ '@oozcitak/util': 10.0.0
+
+ '@oozcitak/util@10.0.0': {}
+
'@openrouter/ai-sdk-provider@0.7.5(ai@4.3.17(react@18.3.1)(zod@3.25.76))(zod@3.25.76)':
dependencies:
'@ai-sdk/provider': 1.1.3
@@ -23022,6 +23478,8 @@ snapshots:
'@rolldown/binding-win32-x64-msvc@1.0.0-rc.3':
optional: true
+ '@rolldown/pluginutils@1.0.0-beta.40': {}
+
'@rolldown/pluginutils@1.0.0-rc.3': {}
'@rollup/plugin-commonjs@28.0.1(rollup@4.50.1)':
@@ -23401,7 +23859,7 @@ snapshots:
- supports-color
- webpack
- '@sentry/nextjs@10.11.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@16.1.5(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(webpack@5.92.0(esbuild@0.24.2))':
+ '@sentry/nextjs@10.11.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@16.1.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(webpack@5.92.0(esbuild@0.24.2))':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/semantic-conventions': 1.37.0
@@ -23415,7 +23873,7 @@ snapshots:
'@sentry/vercel-edge': 10.11.0
'@sentry/webpack-plugin': 4.3.0(encoding@0.1.13)(webpack@5.92.0(esbuild@0.24.2))
chalk: 3.0.0
- next: 16.1.5(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ next: 16.1.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
resolve: 1.22.8
rollup: 4.50.1
stacktrace-parser: 0.1.11
@@ -24153,6 +24611,8 @@ snapshots:
postcss-selector-parser: 6.0.10
tailwindcss: 3.4.18(tsx@4.21.0)(yaml@2.8.0)
+ '@tanstack/history@1.161.4': {}
+
'@tanstack/query-core@5.90.7': {}
'@tanstack/react-query@5.90.7(react@18.3.1)':
@@ -24160,6 +24620,66 @@ snapshots:
'@tanstack/query-core': 5.90.7
react: 18.3.1
+ '@tanstack/react-router@1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)':
+ dependencies:
+ '@tanstack/history': 1.161.4
+ '@tanstack/react-store': 0.9.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
+ '@tanstack/router-core': 1.163.2
+ isbot: 5.1.35
+ react: 19.2.1
+ react-dom: 19.2.1(react@19.2.1)
+ tiny-invariant: 1.3.3
+ tiny-warning: 1.0.3
+
+ '@tanstack/react-start-client@1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)':
+ dependencies:
+ '@tanstack/react-router': 1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
+ '@tanstack/router-core': 1.163.2
+ '@tanstack/start-client-core': 1.163.2
+ react: 19.2.1
+ react-dom: 19.2.1(react@19.2.1)
+ tiny-invariant: 1.3.3
+ tiny-warning: 1.0.3
+
+ '@tanstack/react-start-server@1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)':
+ dependencies:
+ '@tanstack/history': 1.161.4
+ '@tanstack/react-router': 1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
+ '@tanstack/router-core': 1.163.2
+ '@tanstack/start-client-core': 1.163.2
+ '@tanstack/start-server-core': 1.163.2
+ react: 19.2.1
+ react-dom: 19.2.1(react@19.2.1)
+ transitivePeerDependencies:
+ - crossws
+
+ '@tanstack/react-start@1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(vite@7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0))(webpack@5.92.0(esbuild@0.24.2))':
+ dependencies:
+ '@tanstack/react-router': 1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
+ '@tanstack/react-start-client': 1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
+ '@tanstack/react-start-server': 1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
+ '@tanstack/router-utils': 1.161.4
+ '@tanstack/start-client-core': 1.163.2
+ '@tanstack/start-plugin-core': 1.163.2(@tanstack/react-router@1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(vite@7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0))(webpack@5.92.0(esbuild@0.24.2))
+ '@tanstack/start-server-core': 1.163.2
+ pathe: 2.0.3
+ react: 19.2.1
+ react-dom: 19.2.1(react@19.2.1)
+ vite: 7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0)
+ transitivePeerDependencies:
+ - '@rsbuild/core'
+ - crossws
+ - supports-color
+ - vite-plugin-solid
+ - webpack
+
+ '@tanstack/react-store@0.9.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1)':
+ dependencies:
+ '@tanstack/store': 0.9.1
+ react: 19.2.1
+ react-dom: 19.2.1(react@19.2.1)
+ use-sync-external-store: 1.6.0(react@19.2.1)
+
'@tanstack/react-table@8.20.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1)':
dependencies:
'@tanstack/table-core': 8.20.5
@@ -24190,12 +24710,134 @@ snapshots:
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
+ '@tanstack/router-core@1.163.2':
+ dependencies:
+ '@tanstack/history': 1.161.4
+ '@tanstack/store': 0.9.1
+ cookie-es: 2.0.0
+ seroval: 1.5.0
+ seroval-plugins: 1.5.0(seroval@1.5.0)
+ tiny-invariant: 1.3.3
+ tiny-warning: 1.0.3
+
+ '@tanstack/router-generator@1.163.2':
+ dependencies:
+ '@tanstack/router-core': 1.163.2
+ '@tanstack/router-utils': 1.161.4
+ '@tanstack/virtual-file-routes': 1.161.4
+ prettier: 3.5.3
+ recast: 0.23.11
+ source-map: 0.7.6
+ tsx: 4.21.0
+ zod: 3.25.76
+ transitivePeerDependencies:
+ - supports-color
+
+ '@tanstack/router-plugin@1.163.2(@tanstack/react-router@1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(vite@7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0))(webpack@5.92.0(esbuild@0.24.2))':
+ dependencies:
+ '@babel/core': 7.28.5
+ '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.28.5)
+ '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.28.5)
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.5
+ '@babel/types': 7.28.5
+ '@tanstack/router-core': 1.163.2
+ '@tanstack/router-generator': 1.163.2
+ '@tanstack/router-utils': 1.161.4
+ '@tanstack/virtual-file-routes': 1.161.4
+ chokidar: 3.6.0
+ unplugin: 2.3.11
+ zod: 3.25.76
+ optionalDependencies:
+ '@tanstack/react-router': 1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
+ vite: 7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0)
+ webpack: 5.92.0(esbuild@0.24.2)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@tanstack/router-utils@1.161.4':
+ dependencies:
+ '@babel/core': 7.28.5
+ '@babel/generator': 7.28.5
+ '@babel/parser': 7.28.5
+ '@babel/types': 7.28.5
+ ansis: 4.2.0
+ babel-dead-code-elimination: 1.0.12
+ diff: 8.0.3
+ pathe: 2.0.3
+ tinyglobby: 0.2.15
+ transitivePeerDependencies:
+ - supports-color
+
+ '@tanstack/start-client-core@1.163.2':
+ dependencies:
+ '@tanstack/router-core': 1.163.2
+ '@tanstack/start-fn-stubs': 1.161.4
+ '@tanstack/start-storage-context': 1.163.2
+ seroval: 1.5.0
+ tiny-invariant: 1.3.3
+ tiny-warning: 1.0.3
+
+ '@tanstack/start-fn-stubs@1.161.4': {}
+
+ '@tanstack/start-plugin-core@1.163.2(@tanstack/react-router@1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(vite@7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0))(webpack@5.92.0(esbuild@0.24.2))':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/core': 7.28.5
+ '@babel/types': 7.28.5
+ '@rolldown/pluginutils': 1.0.0-beta.40
+ '@tanstack/router-core': 1.163.2
+ '@tanstack/router-generator': 1.163.2
+ '@tanstack/router-plugin': 1.163.2(@tanstack/react-router@1.163.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(vite@7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0))(webpack@5.92.0(esbuild@0.24.2))
+ '@tanstack/router-utils': 1.161.4
+ '@tanstack/start-client-core': 1.163.2
+ '@tanstack/start-server-core': 1.163.2
+ cheerio: 1.0.0
+ exsolve: 1.0.8
+ pathe: 2.0.3
+ picomatch: 4.0.3
+ source-map: 0.7.6
+ srvx: 0.11.8
+ tinyglobby: 0.2.15
+ ufo: 1.5.4
+ vite: 7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0)
+ vitefu: 1.1.2(vite@7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0))
+ xmlbuilder2: 4.0.3
+ zod: 3.25.76
+ transitivePeerDependencies:
+ - '@rsbuild/core'
+ - '@tanstack/react-router'
+ - crossws
+ - supports-color
+ - vite-plugin-solid
+ - webpack
+
+ '@tanstack/start-server-core@1.163.2':
+ dependencies:
+ '@tanstack/history': 1.161.4
+ '@tanstack/router-core': 1.163.2
+ '@tanstack/start-client-core': 1.163.2
+ '@tanstack/start-storage-context': 1.163.2
+ h3-v2: h3@2.0.1-rc.14
+ seroval: 1.5.0
+ tiny-invariant: 1.3.3
+ transitivePeerDependencies:
+ - crossws
+
+ '@tanstack/start-storage-context@1.163.2':
+ dependencies:
+ '@tanstack/router-core': 1.163.2
+
+ '@tanstack/store@0.9.1': {}
+
'@tanstack/table-core@8.20.5': {}
'@tanstack/table-core@8.21.3': {}
'@tanstack/virtual-core@3.13.18': {}
+ '@tanstack/virtual-file-routes@1.161.4': {}
+
'@testing-library/dom@10.4.0':
dependencies:
'@babel/code-frame': 7.27.1
@@ -24707,7 +25349,7 @@ snapshots:
'@types/ws@8.18.1':
dependencies:
- '@types/node': 20.17.6
+ '@types/node': 22.19.0
'@typescript-eslint/eslint-plugin@8.46.3(@typescript-eslint/parser@8.46.3(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3)':
dependencies:
@@ -24941,11 +25583,11 @@ snapshots:
jose: 5.6.3
neverthrow: 7.2.0
- '@vercel/analytics@1.3.1(next@16.1.5(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)':
+ '@vercel/analytics@1.3.1(next@16.1.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)':
dependencies:
server-only: 0.0.1
optionalDependencies:
- next: 16.1.5(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ next: 16.1.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
react: 19.2.3
'@vercel/functions@2.0.0(@aws-sdk/credential-provider-web-identity@3.876.0)':
@@ -24983,9 +25625,9 @@ snapshots:
xdg-app-paths: 5.1.0
zod: 3.24.4
- '@vercel/speed-insights@1.0.12(next@16.1.5(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)':
+ '@vercel/speed-insights@1.0.12(next@16.1.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)':
optionalDependencies:
- next: 16.1.5(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ next: 16.1.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
react: 19.2.3
'@vitejs/plugin-react@4.3.3(vite@7.3.1(@types/node@20.17.6)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.19.3)(yaml@2.6.0))':
@@ -25021,6 +25663,18 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@vitejs/plugin-react@5.1.4(vite@7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0))':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0)
+ '@rolldown/pluginutils': 1.0.0-rc.3
+ '@types/babel__core': 7.20.5
+ react-refresh: 0.18.0
+ vite: 7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0)
+ transitivePeerDependencies:
+ - supports-color
+
'@vitest/expect@1.6.0':
dependencies:
'@vitest/spy': 1.6.0
@@ -25427,6 +26081,10 @@ snapshots:
ast-types-flow@0.0.8: {}
+ ast-types@0.16.1:
+ dependencies:
+ tslib: 2.8.1
+
astring@1.9.0: {}
async-mutex@0.5.0:
@@ -25523,6 +26181,15 @@ snapshots:
b4a@1.6.6: {}
+ babel-dead-code-elimination@1.0.12:
+ dependencies:
+ '@babel/core': 7.28.5
+ '@babel/parser': 7.28.5
+ '@babel/traverse': 7.28.5
+ '@babel/types': 7.28.5
+ transitivePeerDependencies:
+ - supports-color
+
babel-plugin-macros@3.1.0:
dependencies:
'@babel/runtime': 7.28.4
@@ -26178,6 +26845,8 @@ snapshots:
optionalDependencies:
react: 19.2.3
+ cookie-es@2.0.0: {}
+
cookie-signature@1.0.6: {}
cookie-signature@1.2.2: {}
@@ -26624,6 +27293,8 @@ snapshots:
diff-sequences@29.6.3: {}
+ diff@8.0.3: {}
+
dijkstrajs@1.0.3: {}
dir-glob@3.0.1:
@@ -27223,7 +27894,7 @@ snapshots:
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1)
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
eslint-plugin-react: 7.37.2(eslint@8.57.1)
eslint-plugin-react-hooks: 5.1.0(eslint@8.57.1)
@@ -27247,7 +27918,7 @@ snapshots:
debug: 4.4.3
enhanced-resolve: 5.17.0
eslint: 8.57.1
- eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1)
+ eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1)
fast-glob: 3.3.2
get-tsconfig: 4.13.6
@@ -27297,7 +27968,7 @@ snapshots:
- eslint-import-resolver-webpack
- supports-color
- eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1):
+ eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1):
dependencies:
debug: 3.2.7
optionalDependencies:
@@ -27357,7 +28028,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1)
+ eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
hasown: 2.0.2
is-core-module: 2.15.1
is-glob: 4.0.3
@@ -28333,9 +29004,9 @@ snapshots:
- encoding
- supports-color
- geist@1.3.0(next@16.1.5(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)):
+ geist@1.3.0(next@16.1.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)):
dependencies:
- next: 16.1.5(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ next: 16.1.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
generate-function@2.3.1:
dependencies:
@@ -28561,6 +29232,11 @@ snapshots:
h3-js@4.1.0: {}
+ h3@2.0.1-rc.14:
+ dependencies:
+ rou3: 0.7.12
+ srvx: 0.11.8
+
hachure-fill@0.5.2: {}
handlebars@4.7.8:
@@ -28849,9 +29525,9 @@ snapshots:
ieee754@1.2.1: {}
- iframe-resizer-react@1.1.1(@babel/core@7.28.5)(prop-types@15.8.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
+ iframe-resizer-react@1.1.1(@babel/core@7.29.0)(prop-types@15.8.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
dependencies:
- '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.28.5)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.29.0)
iframe-resizer: 4.4.5
prop-types: 15.8.1
react: 19.2.3
@@ -29152,6 +29828,8 @@ snapshots:
isarray@2.0.5: {}
+ isbot@5.1.35: {}
+
isexe@2.0.0: {}
iterator.prototype@1.1.3:
@@ -29188,7 +29866,7 @@ snapshots:
jest-worker@27.5.1:
dependencies:
- '@types/node': 20.17.6
+ '@types/node': 22.19.0
merge-stream: 2.0.0
supports-color: 8.1.1
@@ -29235,6 +29913,10 @@ snapshots:
dependencies:
argparse: 2.0.1
+ js-yaml@4.1.1:
+ dependencies:
+ argparse: 2.0.1
+
jsdom@24.1.3:
dependencies:
cssstyle: 4.1.0
@@ -30544,7 +31226,7 @@ snapshots:
- '@babel/core'
- babel-plugin-macros
- next@16.1.5(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
+ next@16.1.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
dependencies:
'@next/env': 16.1.5
'@swc/helpers': 0.5.15
@@ -30553,7 +31235,7 @@ snapshots:
postcss: 8.4.31
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
- styled-jsx: 5.1.6(@babel/core@7.28.5)(react@19.2.3)
+ styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.3)
optionalDependencies:
'@next/swc-darwin-arm64': 16.1.5
'@next/swc-darwin-x64': 16.1.5
@@ -31565,6 +32247,8 @@ snapshots:
react-refresh@0.14.2: {}
+ react-refresh@0.18.0: {}
+
react-remove-scroll-bar@2.3.8(@types/react@18.3.12)(react@18.3.1):
dependencies:
react: 18.3.1
@@ -31802,6 +32486,14 @@ snapshots:
readdirp@4.0.2: {}
+ recast@0.23.11:
+ dependencies:
+ ast-types: 0.16.1
+ esprima: 4.0.1
+ source-map: 0.6.1
+ tiny-invariant: 1.3.3
+ tslib: 2.8.1
+
recharts-scale@0.4.5:
dependencies:
decimal.js-light: 2.5.1
@@ -32211,6 +32903,8 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.57.1
fsevents: 2.3.3
+ rou3@0.7.12: {}
+
roughjs@4.6.6:
dependencies:
hachure-fill: 0.5.2
@@ -32372,6 +33066,12 @@ snapshots:
dependencies:
randombytes: 2.1.0
+ seroval-plugins@1.5.0(seroval@1.5.0):
+ dependencies:
+ seroval: 1.5.0
+
+ seroval@1.5.0: {}
+
serve-handler@6.1.6:
dependencies:
bytes: 3.0.0
@@ -32604,6 +33304,8 @@ snapshots:
sqlstring@2.3.3: {}
+ srvx@0.11.8: {}
+
stackback@0.0.2: {}
stacktrace-parser@0.1.11:
@@ -32812,12 +33514,12 @@ snapshots:
optionalDependencies:
'@babel/core': 7.28.5
- styled-jsx@5.1.6(@babel/core@7.28.5)(react@19.2.3):
+ styled-jsx@5.1.6(@babel/core@7.29.0)(react@19.2.3):
dependencies:
client-only: 0.0.1
react: 19.2.3
optionalDependencies:
- '@babel/core': 7.28.5
+ '@babel/core': 7.29.0
stylis@4.2.0: {}
@@ -32854,9 +33556,9 @@ snapshots:
transitivePeerDependencies:
- encoding
- svix-react@1.13.0(@babel/core@7.28.5)(prop-types@15.8.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svix@1.32.0(encoding@0.1.13)):
+ svix-react@1.13.0(@babel/core@7.29.0)(prop-types@15.8.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svix@1.32.0(encoding@0.1.13)):
dependencies:
- iframe-resizer-react: 1.1.1(@babel/core@7.28.5)(prop-types@15.8.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ iframe-resizer-react: 1.1.1(@babel/core@7.29.0)(prop-types@15.8.1)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
svix: 1.32.0(encoding@0.1.13)
@@ -33132,6 +33834,8 @@ snapshots:
tiny-invariant@1.3.3: {}
+ tiny-warning@1.0.3: {}
+
tinybench@2.9.0: {}
tinycolor2@1.6.0: {}
@@ -33459,6 +34163,13 @@ snapshots:
webpack-sources: 3.3.3
webpack-virtual-modules: 0.5.0
+ unplugin@2.3.11:
+ dependencies:
+ '@jridgewell/remapping': 2.3.5
+ acorn: 8.15.0
+ picomatch: 4.0.3
+ webpack-virtual-modules: 0.6.2
+
unrun@0.2.27:
dependencies:
rolldown: 1.0.0-rc.3
@@ -33581,6 +34292,10 @@ snapshots:
dependencies:
react: 19.2.3
+ use-sync-external-store@1.6.0(react@19.2.1):
+ dependencies:
+ react: 19.2.1
+
use-sync-external-store@1.6.0(react@19.2.3):
dependencies:
react: 19.2.3
@@ -33717,6 +34432,17 @@ snapshots:
- supports-color
- typescript
+ vite-tsconfig-paths@4.3.2(typescript@5.9.3)(vite@7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0)):
+ dependencies:
+ debug: 4.4.0
+ globrex: 0.1.2
+ tsconfck: 3.1.5(typescript@5.9.3)
+ optionalDependencies:
+ vite: 7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
vite@5.4.14(@types/node@20.17.6)(lightningcss@1.30.1)(terser@5.44.0):
dependencies:
esbuild: 0.21.5
@@ -33795,6 +34521,27 @@ snapshots:
tsx: 4.19.3
yaml: 2.6.0
+ vite@7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0):
+ dependencies:
+ esbuild: 0.27.1
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
+ postcss: 8.5.6
+ rollup: 4.57.1
+ tinyglobby: 0.2.15
+ optionalDependencies:
+ '@types/node': 22.19.0
+ fsevents: 2.3.3
+ jiti: 2.6.1
+ lightningcss: 1.30.1
+ terser: 5.44.0
+ tsx: 4.21.0
+ yaml: 2.8.0
+
+ vitefu@1.1.2(vite@7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0)):
+ optionalDependencies:
+ vite: 7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0)
+
vitest@1.6.0(@types/node@20.17.6)(jsdom@24.1.3)(lightningcss@1.30.1)(terser@5.44.0):
dependencies:
'@vitest/expect': 1.6.0
@@ -33891,6 +34638,8 @@ snapshots:
webpack-virtual-modules@0.5.0: {}
+ webpack-virtual-modules@0.6.2: {}
+
webpack@5.92.0(esbuild@0.24.2):
dependencies:
'@types/eslint-scope': 3.7.7
@@ -34051,6 +34800,13 @@ snapshots:
xml-name-validator@5.0.0: {}
+ xmlbuilder2@4.0.3:
+ dependencies:
+ '@oozcitak/dom': 2.0.2
+ '@oozcitak/infra': 2.0.2
+ '@oozcitak/util': 10.0.0
+ js-yaml: 4.1.1
+
xmlchars@2.2.0: {}
xtend@4.0.2: {}
diff --git a/vitest.workspace.ts b/vitest.workspace.ts
index 1a10cc4e23..5e1dec68cd 100644
--- a/vitest.workspace.ts
+++ b/vitest.workspace.ts
@@ -3,6 +3,7 @@ import { defineWorkspace } from 'vitest/config';
export default defineWorkspace([
'packages/*',
'apps/*',
+ '!apps/hosted-components',
'docs',
'examples/*',
]);