diff --git a/apps/vite/README.md b/apps/vite/README.md index 60cdae526..45884286a 100644 --- a/apps/vite/README.md +++ b/apps/vite/README.md @@ -1,50 +1,43 @@ # dokploy-vite -Vite + TanStack Router migration of the Dokploy dashboard UI. The Next.js app (`apps/dokploy`) stays intact and keeps serving the backend (tRPC, better-auth, websockets, webhooks). This app is a pure SPA that reuses the existing UI code directly from `apps/dokploy` — components are NOT duplicated. +TanStack Start migration of the Dokploy dashboard. The Next.js app (`apps/dokploy`) stays intact; this app reuses all its UI code and its backend logic without duplicating either. -## How it works +## Architecture -- **Aliases** (`vite.config.ts`): `@/*` resolves into `apps/dokploy/*`, so all 380+ components, hooks, lib and utils are consumed from their original location. `~/*` resolves to this app's `src/`. -- **Next.js shims** (`src/shims/`): `next/link`, `next/router`, `next/navigation`, `next/head`, `next/dynamic`, `next/script` and `nextjs-toploader` are aliased to thin adapters over TanStack Router, so shared components run unmodified. -- **tRPC**: `@/utils/api` is re-aliased to `src/utils/api.ts` (`createTRPCReact` instead of `createTRPCNext`), same links (ws split + FormData split + superjson). -- **Auth**: SSR `getServerSideProps` guards were replaced by `beforeLoad` guards using the existing better-auth client (`@/lib/auth-client`) with a 30s session cache (`src/utils/session.ts`). -- **Routes** (`src/routes/`): file-based TanStack routes mirroring `apps/dokploy/pages`. `/dashboard` is a shared layout route rendering `DashboardLayout` once (it persists across navigations, unlike the pages-router setup). -- **Dev proxy**: `/api` and every websocket endpoint (`/drawer-logs`, `/terminal`, `/docker-container-*`, `/listen-*`) proxy to the Next custom server on `localhost:3000`. +Two tiers, one process in production: -## Standalone server (no Next.js) +- **UI tier (TanStack Start)**: file-based routes in `src/routes/` with **selective SSR** — public pages (login, register, invitation, reset-password) are fully server-rendered (real first paint with content and whitelabel branding), while everything under `/dashboard` is `ssr: false` (pure client, no SSR cost). The document shell (`src/routes/__root.tsx`) SSRs per request with whitelabel title/meta/favicon/customCss loaded from the DB via a server function. +- **API tier (`server/server.ts`)**: Next-free node server owning tRPC, better-auth, OpenAPI REST, deploy/Stripe/git webhooks (reused from `apps/dokploy/pages/api` through `server/next-compat.ts`), websockets, cron jobs and the deployment worker. Start's server functions never import backend code — they call this tier over loopback HTTP (`/api/branding`, `/api/auth/get-session`), which keeps the UI dev process free of native/server deps. -`server/server.ts` is a Next-free replacement for `apps/dokploy/server/server.ts`. It reuses the entire existing backend from the monorepo: - -- **tRPC** (`/api/trpc/*`) and **OpenAPI REST** (`/api/*` catch-all) — the exact same handlers from `apps/dokploy/pages/api`, mounted through a thin Next-API compat adapter (`server/next-compat.ts`) that provides `req.query/body/cookies` and `res.status/json/send/redirect` on plain Node req/res. -- **better-auth** (`/api/auth/*`) — `toNodeHandler(auth.handler)`, already framework-agnostic. -- **Webhooks/callbacks** — deploy (github, refreshToken, compose), Stripe (raw body preserved for signature check), GitHub setup/webhook, GitLab/Gitea OAuth callbacks: all reused unchanged via the adapter. -- **Websockets** — same `setup*WebSocketServer` functions from `apps/dokploy/server/wss`. -- **Bootstrapping** — same production init (Traefik config, cron jobs, schedules, volume backups, deployment worker) as the original server. -- **Static SPA** — in production it serves `dist/` with SPA fallback to `index.html` (`server/static.ts`). +Code reuse (unchanged from the SPA phase): `@/*` aliases into `apps/dokploy/*` (383 components consumed in place), `next/*` shims over TanStack Router in `src/shims/`, `@/utils/api` re-aliased to a `createTRPCReact` client with identical hooks/links. ## Development -One command — the server embeds Vite in middleware mode, so API + websockets + UI (with HMR) all run same-origin on :3000: +One command (runs both tiers via concurrently): ```bash pnpm --filter dokploy-vite dev -# → http://localhost:3000 (no Next involved) +# [api] API + websockets → :3000 +# [ui] Start dev (UI + SSR + HMR) → :5173 ← open this one ``` -Alternative split mode (Vite dev server on :5173 proxying to whichever backend runs on :3000 — the Next custom server or this one): +Or individually: `dev:api` / `dev:ui`. The Vite dev server proxies `/api` and all websocket paths to `:3000` (rewriting the `origin` header so better-auth accepts it). Note: in dev the two tiers are separate processes because Start's dev server owns the Vite process (it's a full SSR runtime, not an embeddable middleware); in production it's a single process (`server.ts` bridges Start's built handler). + +Env loading: the API tier loads `apps/vite/.env` and falls back to `apps/dokploy/.env`. The UI tier intentionally reads no env files — its server functions only talk to the API over loopback, and leaking `NODE_ENV` from a dotfile into `vite build` produces broken dev-mode SSR bundles (`jsxDEV is not a function`). + +## Production — single process, no Next ```bash -pnpm --filter dokploy dev # or: nothing, if dev above is running -pnpm --filter dokploy-vite dev:client # → :5173 +pnpm --filter dokploy-vite build # Start build → dist/client + dist/server +pnpm --filter dokploy-vite build:server # esbuild → dist-server/*.mjs (server + migration + scripts) +pnpm --filter dokploy-vite start # node server on :3000 ``` -The `/api` proxy rewrites the `origin` header to :3000 so better-auth's trusted-origin check passes in split mode. +`server/server.ts` serves `/api/*` + websockets directly, static assets from `dist/client`, and bridges every other request to Start's built `fetch` handler (`server/start-bridge.ts`) for SSR. Docker: `Dockerfile.vite` at the repo root (image ~1GB vs 4.33GB for the official Next-based image; ~2.6x less memory). -Production: `pnpm --filter dokploy-vite build && pnpm --filter dokploy-vite start` — one process serving API + websockets + static SPA on :3000, no Next.js at runtime. +## Notes -The server loads `.env` from `apps/vite` first, then falls back to `apps/dokploy/.env`. - -## Dropped vs Next (known gaps) - -- SSR prefetching (`createServerSideHelpers`) — the SPA fetches on mount instead. -- Per-page IS_CLOUD / role / permission SSR redirects beyond session checks — components and tRPC procedures still enforce them; route-level guards can be added incrementally in `beforeLoad`. +- `routeTree.gen.ts` is generated by the Start plugin (ignored by biome). +- The theme anti-flash script is SSR'd automatically by next-themes — no manual hack. +- Route-level data preload can be added per route with `loader` + `queryClient.ensureQueryData` (framework-native now). +- Endgame cleanup (when `apps/dokploy` is retired): move components in, codemod the 35 `useRouter` call sites to native TanStack APIs, delete `src/shims/` and `server/next-compat.ts` (ideally porting API handlers to Hono routes in the same pass). diff --git a/apps/vite/index.html b/apps/vite/index.html deleted file mode 100644 index faa85f245..000000000 --- a/apps/vite/index.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - Dokploy - - - - - -
- - - diff --git a/apps/vite/package.json b/apps/vite/package.json index ab3542b8d..0b185e24f 100644 --- a/apps/vite/package.json +++ b/apps/vite/package.json @@ -5,12 +5,12 @@ "license": "Apache-2.0", "type": "module", "scripts": { - "dev": "tsx -r dotenv/config server/server.ts", - "dev:client": "vite", - "build": "vite build", + "dev": "concurrently -n api,ui -c blue,green \"pnpm dev:api\" \"pnpm dev:ui\"", + "dev:api": "tsx -r dotenv/config server/server.ts", + "dev:ui": "vite dev", + "build": "NODE_ENV=production vite build", "build:server": "tsx esbuild.config.ts", "start": "NODE_ENV=production tsx -r dotenv/config server/server.ts", - "preview": "vite preview", "typecheck": "tsc --noEmit", "check": "biome check --write --no-errors-on-unmatched --files-ignore-unknown=true" }, @@ -27,13 +27,35 @@ "@better-auth/passkey": "1.6.23", "@better-auth/scim": "1.6.23", "@better-auth/sso": "1.6.23", + "@codemirror/autocomplete": "^6.18.6", + "@codemirror/lang-css": "^6.3.1", + "@codemirror/lang-json": "^6.0.1", + "@codemirror/lang-yaml": "^6.1.2", + "@codemirror/language": "^6.11.0", + "@codemirror/legacy-modes": "6.4.0", + "@codemirror/search": "^6.6.0", + "@codemirror/view": "^6.39.15", "@dokploy/server": "workspace:*", "@dokploy/trpc-openapi": "0.0.18", "@faker-js/faker": "^8.4.1", + "@hookform/resolvers": "^5.2.2", "@octokit/auth-app": "^6.1.3", "@octokit/webhooks": "^13.9.0", "@react-email/components": "^1.0.12", + "@stepperize/react": "4.0.1", + "@stripe/stripe-js": "4.8.0", + "@tanstack/react-query": "^5.90.21", + "@tanstack/react-router": "^1.170.25", + "@tanstack/react-start": "^1.168.42", + "@tanstack/react-table": "^8.21.3", + "@trpc/client": "^11.10.0", + "@trpc/react-query": "^11.10.0", "@trpc/server": "^11.10.0", + "@uiw/codemirror-theme-github": "^4.23.12", + "@uiw/react-codemirror": "^4.23.12", + "@xterm/addon-attach": "0.10.0", + "@xterm/addon-clipboard": "0.1.0", + "@xterm/xterm": "^5.5.0", "adm-zip": "^0.5.16", "ai": "^6.0.86", "ai-sdk-ollama": "^3.7.0", @@ -41,14 +63,23 @@ "better-auth": "1.6.23", "bl": "6.0.11", "boxen": "^7.1.1", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "cmdk": "^0.2.1", + "copy-to-clipboard": "^3.3.3", "date-fns": "3.6.0", "dockerode": "4.0.2", + "dompurify": "^3.3.3", "dotenv": "16.4.5", "drizzle-orm": "0.45.2", "drizzle-zod": "0.8.3", + "fancy-ansi": "^0.1.3", + "input-otp": "^1.4.2", "lodash": "4.17.21", + "lucide-react": "^0.469.0", "micromatch": "4.0.8", "nanoid": "3.3.11", + "next-themes": "^0.2.1", "node-os-utils": "2.0.1", "node-pty": "1.1.0", "node-schedule": "2.1.1", @@ -58,42 +89,37 @@ "pino-pretty": "11.2.2", "postgres": "3.4.4", "public-ip": "6.0.2", + "qrcode": "^1.5.4", + "radix-ui": "^1.6.0", "react": "19.2.7", + "react-confetti-explosion": "3.0.3", + "react-day-picker": "10.0.1", "react-dom": "19.2.7", + "react-hook-form": "^7.71.2", + "react-markdown": "^9.1.0", + "recharts": "^3.8.0", "resend": "^6.0.2", "semver": "7.7.3", "shell-quote": "^1.8.1", "slugify": "^1.6.6", + "sonner": "^1.7.4", "ssh2": "~1.16.0", "stripe": "17.2.0", "superjson": "^2.2.2", + "swagger-ui-react": "^5.32.6", + "tailwind-merge": "^2.6.1", "toml": "3.0.0", "undici": "^6.21.3", + "use-resize-observer": "9.1.0", "ws": "8.16.0", + "xterm-addon-fit": "^0.8.0", "yaml": "2.8.1", "zod": "^4.3.6", "zod-form-data": "^3.0.1" }, "devDependencies": { - "@codemirror/autocomplete": "^6.18.6", - "@codemirror/lang-css": "^6.3.1", - "@codemirror/lang-json": "^6.0.1", - "@codemirror/lang-yaml": "^6.1.2", - "@codemirror/language": "^6.11.0", - "@codemirror/legacy-modes": "6.4.0", - "@codemirror/search": "^6.6.0", - "@codemirror/view": "^6.39.15", - "@hookform/resolvers": "^5.2.2", - "@stepperize/react": "4.0.1", - "@stripe/stripe-js": "4.8.0", "@tailwindcss/typography": "0.5.16", "@tailwindcss/vite": "^4.3.1", - "@tanstack/react-query": "^5.90.21", - "@tanstack/react-router": "^1.132.0", - "@tanstack/react-table": "^8.21.3", - "@tanstack/router-plugin": "^1.132.0", - "@trpc/client": "^11.10.0", - "@trpc/react-query": "^11.10.0", "@types/js-cookie": "^3.0.6", "@types/lodash": "4.17.4", "@types/node": "^24.4.0", @@ -102,41 +128,16 @@ "@types/react-dom": "^19.2.0", "@types/semver": "7.7.1", "@types/swagger-ui-react": "^4.19.0", - "@uiw/codemirror-theme-github": "^4.23.12", - "@uiw/react-codemirror": "^4.23.12", "@vitejs/plugin-react": "^5.0.0", - "@xterm/addon-attach": "0.10.0", - "@xterm/addon-clipboard": "0.1.0", - "@xterm/xterm": "^5.5.0", - "class-variance-authority": "^0.7.1", - "clsx": "^2.1.1", - "cmdk": "^0.2.1", - "copy-to-clipboard": "^3.3.3", - "dompurify": "^3.3.3", + "concurrently": "^10.0.4", "esbuild": "0.20.2", - "fancy-ansi": "^0.1.3", - "input-otp": "^1.4.2", "js-cookie": "^3.0.5", - "lucide-react": "^0.469.0", - "next-themes": "^0.2.1", - "qrcode": "^1.5.4", - "radix-ui": "^1.6.0", - "react-confetti-explosion": "3.0.3", - "react-day-picker": "10.0.1", - "react-hook-form": "^7.71.2", - "react-markdown": "^9.1.0", - "recharts": "^3.8.0", "shadcn": "^4.11.0", - "sonner": "^1.7.4", - "swagger-ui-react": "^5.32.6", - "tailwind-merge": "^2.6.1", "tailwindcss": "^4.3.1", "tailwindcss-animate": "^1.0.7", "tsx": "^4.22.4", "tw-animate-css": "^1.4.0", "typescript": "^5.8.3", - "use-resize-observer": "9.1.0", - "vite": "^7.1.0", - "xterm-addon-fit": "^0.8.0" + "vite": "^7.1.0" } } diff --git a/apps/vite/server/server.ts b/apps/vite/server/server.ts index 0dbd970ff..ffe9ab9af 100644 --- a/apps/vite/server/server.ts +++ b/apps/vite/server/server.ts @@ -1,10 +1,13 @@ +import fs from "node:fs"; import http from "node:http"; import path from "node:path"; +import { pathToFileURL } from "node:url"; import { auth, createDefaultMiddlewares, createDefaultServerTraefikConfig, createDefaultTraefikConfig, + getPublicWhitelabelingConfig, IS_CLOUD, initCancelDeployments, initCronJobs, @@ -37,6 +40,7 @@ import { setupDeploymentLogsWebSocketServer } from "@/server/wss/listen-deployme import { setupTerminalWebSocketServer } from "@/server/wss/terminal"; import packageInfo from "../package.json"; import { runNextApiHandler } from "./next-compat"; +import { createStartBridge } from "./start-bridge"; import { createStaticHandler } from "./static"; config({ path: ".env" }); @@ -63,6 +67,17 @@ const handleApi = async ( if (pathname === "/api/health") { return runNextApiHandler(healthHandler, req, res); } + if (pathname === "/api/branding") { + let config = null; + try { + config = await getPublicWhitelabelingConfig(); + } catch { + config = null; + } + res.writeHead(200, { "content-type": "application/json; charset=utf-8" }); + res.end(JSON.stringify(config)); + return; + } if (pathname.startsWith("/api/auth/")) { return authHandler(req, res); } @@ -125,7 +140,7 @@ const startServer = async () => { req: http.IncomingMessage, res: http.ServerResponse, url: URL, - ) => void = (_req, res) => { + ) => void | Promise = (_req, res) => { res.writeHead(503, { "content-type": "text/plain" }); res.end("UI not ready"); }; @@ -137,7 +152,7 @@ const startServer = async () => { await handleApi(req, res, url.pathname); return; } - handleUi(req, res, url); + await handleUi(req, res, url); } catch (error) { console.error("Request error", error); if (!res.headersSent) { @@ -148,22 +163,36 @@ const startServer = async () => { }); if (isProd) { - handleUi = createStaticHandler(path.resolve(import.meta.dirname, "../dist")); - } else { - const { createServer: createViteServer } = await import("vite"); - const vite = await createViteServer({ - root: path.resolve(import.meta.dirname, ".."), - configFile: path.resolve(import.meta.dirname, "../vite.config.ts"), - appType: "spa", - server: { middlewareMode: true, hmr: { server } }, - }); - handleUi = (req, res) => { - vite.middlewares(req, res, () => { - res.statusCode = 404; - res.end(); - }); + const clientDir = path.resolve(import.meta.dirname, "../dist/client"); + const serverEntry = path.resolve( + import.meta.dirname, + "../dist/server/server.js", + ); + const staticHandler = createStaticHandler(clientDir); + const entry = await import(pathToFileURL(serverEntry).href); + const bridge = createStartBridge(entry.default); + handleUi = async (req, res, url) => { + const pathname = decodeURIComponent(url.pathname); + const filePath = path.join(clientDir, pathname); + if ( + pathname !== "/" && + filePath.startsWith(clientDir) && + fs.existsSync(filePath) && + fs.statSync(filePath).isFile() + ) { + staticHandler(req, res, url); + return; + } + await bridge(req, res); + }; + console.log("TanStack Start SSR bridge enabled"); + } else { + handleUi = (_req, res) => { + res.writeHead(404, { "content-type": "text/plain; charset=utf-8" }); + res.end( + "API-only mode: the UI dev server runs separately (pnpm --filter dokploy-vite dev → http://localhost:5173).", + ); }; - console.log("Vite dev middleware enabled (UI + HMR on this port)"); } setupDrawerLogsWebSocketServer(server); diff --git a/apps/vite/server/start-bridge.ts b/apps/vite/server/start-bridge.ts new file mode 100644 index 000000000..d79a6a11b --- /dev/null +++ b/apps/vite/server/start-bridge.ts @@ -0,0 +1,52 @@ +import type { IncomingMessage, ServerResponse } from "node:http"; +import { Readable } from "node:stream"; + +interface FetchHandler { + fetch: (request: Request) => Response | Promise; +} + +export const createStartBridge = (handler: FetchHandler) => { + return async (req: IncomingMessage, res: ServerResponse) => { + const url = `http://${req.headers.host ?? "localhost"}${req.url ?? "/"}`; + const headers = new Headers(); + for (const [key, value] of Object.entries(req.headers)) { + if (value === undefined) continue; + if (Array.isArray(value)) { + for (const item of value) headers.append(key, item); + } else { + headers.set(key, value); + } + } + const method = req.method ?? "GET"; + const hasBody = method !== "GET" && method !== "HEAD"; + const request = new Request(url, { + method, + headers, + ...(hasBody + ? { + body: Readable.toWeb(req) as unknown as ReadableStream, + duplex: "half", + } + : {}), + } as RequestInit); + + const response = await handler.fetch(request); + + const outHeaders: Record = {}; + response.headers.forEach((value, key) => { + if (key === "set-cookie") return; + outHeaders[key] = value; + }); + const setCookies = response.headers.getSetCookie(); + if (setCookies.length > 0) { + outHeaders["set-cookie"] = setCookies; + } + + res.writeHead(response.status, outHeaders); + if (response.body) { + Readable.fromWeb(response.body as never).pipe(res); + } else { + res.end(); + } + }; +}; diff --git a/apps/vite/server/static.ts b/apps/vite/server/static.ts index 86179e824..dd7532a02 100644 --- a/apps/vite/server/static.ts +++ b/apps/vite/server/static.ts @@ -25,35 +25,12 @@ const MIME_TYPES: Record = { ".webmanifest": "application/manifest+json", }; -const sendFile = ( - res: ServerResponse, - filePath: string, - cacheControl: string, -) => { - res.writeHead(200, { - "content-type": - MIME_TYPES[path.extname(filePath).toLowerCase()] ?? - "application/octet-stream", - "cache-control": cacheControl, - }); - fs.createReadStream(filePath).pipe(res); -}; - export const createStaticHandler = (distDir: string) => { - const hasDist = fs.existsSync(path.join(distDir, "index.html")); - return (req: IncomingMessage, res: ServerResponse, url: URL) => { if (req.method !== "GET" && req.method !== "HEAD") { res.writeHead(404).end(); return; } - if (!hasDist) { - res.writeHead(404, { "content-type": "text/plain; charset=utf-8" }); - res.end( - "UI build not found. In development run the Vite dev server (pnpm --filter dokploy-vite dev); for production run vite build first.", - ); - return; - } const pathname = decodeURIComponent(url.pathname); const filePath = path.join(distDir, pathname); @@ -62,18 +39,20 @@ export const createStaticHandler = (distDir: string) => { return; } - if (fs.existsSync(filePath) && fs.statSync(filePath).isFile()) { - const cacheControl = pathname.startsWith("/assets/") - ? "public, max-age=31536000, immutable" - : "public, max-age=0, must-revalidate"; - sendFile(res, filePath, cacheControl); + if (!fs.existsSync(filePath) || !fs.statSync(filePath).isFile()) { + res.writeHead(404).end(); return; } - sendFile( - res, - path.join(distDir, "index.html"), - "no-cache, no-store, must-revalidate", - ); + const cacheControl = pathname.startsWith("/assets/") + ? "public, max-age=31536000, immutable" + : "public, max-age=0, must-revalidate"; + res.writeHead(200, { + "content-type": + MIME_TYPES[path.extname(filePath).toLowerCase()] ?? + "application/octet-stream", + "cache-control": cacheControl, + }); + fs.createReadStream(filePath).pipe(res); }; }; diff --git a/apps/vite/src/main.tsx b/apps/vite/src/main.tsx deleted file mode 100644 index 3222bfacc..000000000 --- a/apps/vite/src/main.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import "./styles/globals.css"; - -import { createRouter, RouterProvider } from "@tanstack/react-router"; -import ReactDOM from "react-dom/client"; -import { routeTree } from "./routeTree.gen"; -import { setRouterInstance } from "./shims/next-router"; -import { TRPCProvider } from "./utils/trpc-provider"; - -const router = createRouter({ routeTree }); - -setRouterInstance(router); - -declare module "@tanstack/react-router" { - interface Register { - router: typeof router; - } -} - -const rootElement = document.getElementById("root"); - -if (rootElement && !rootElement.innerHTML) { - ReactDOM.createRoot(rootElement).render( - - - , - ); -} diff --git a/apps/vite/src/routeTree.gen.ts b/apps/vite/src/routeTree.gen.ts index 6eae0fb25..0bbaea6bd 100644 --- a/apps/vite/src/routeTree.gen.ts +++ b/apps/vite/src/routeTree.gen.ts @@ -1109,3 +1109,12 @@ const rootRouteChildren: RootRouteChildren = { 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/vite/src/router.tsx b/apps/vite/src/router.tsx new file mode 100644 index 000000000..1b5a1966e --- /dev/null +++ b/apps/vite/src/router.tsx @@ -0,0 +1,24 @@ +import { createRouter } from "@tanstack/react-router"; +import { routeTree } from "./routeTree.gen"; +import { setRouterInstance } from "./shims/next-router"; +import { TRPCProvider } from "./utils/trpc-provider"; + +export function getRouter() { + const router = createRouter({ + routeTree, + defaultPreload: "intent", + Wrap: ({ children }) => {children}, + }); + + if (typeof window !== "undefined") { + setRouterInstance(router); + } + + return router; +} + +declare module "@tanstack/react-router" { + interface Register { + router: ReturnType; + } +} diff --git a/apps/vite/src/routes/__root.tsx b/apps/vite/src/routes/__root.tsx index b753b3394..6685ed890 100644 --- a/apps/vite/src/routes/__root.tsx +++ b/apps/vite/src/routes/__root.tsx @@ -1,10 +1,17 @@ -import { createRootRoute, Outlet } from "@tanstack/react-router"; +import { + createRootRoute, + HeadContent, + Outlet, + Scripts, +} from "@tanstack/react-router"; import { ThemeProvider } from "next-themes"; import { SearchCommand } from "@/components/dashboard/search-command"; import { WhitelabelingProvider } from "@/components/proprietary/whitelabeling/whitelabeling-provider"; import { Toaster } from "@/components/ui/sonner"; import { TooltipProvider } from "@/components/ui/tooltip"; +import { getBrandingFn } from "~/server-fns/branding"; import TopLoader from "~/shims/toploader"; +import appCss from "../styles/globals.css?url"; const RootComponent = () => { return ( @@ -25,6 +32,60 @@ const RootComponent = () => { ); }; +const RootDocument = ({ children }: { children: React.ReactNode }) => { + return ( + + + + + + {children} + + + + ); +}; + export const Route = createRootRoute({ + loader: () => getBrandingFn(), + head: ({ loaderData }) => { + const branding = loaderData ?? null; + const title = branding?.metaTitle || branding?.appName || "Dokploy"; + return { + meta: [ + { charSet: "utf-8" }, + { name: "viewport", content: "width=device-width, initial-scale=1" }, + { title }, + { property: "og:title", content: title }, + ...(branding?.appDescription + ? [ + { name: "description", content: branding.appDescription }, + { property: "og:description", content: branding.appDescription }, + ] + : []), + ...(branding?.logoUrl + ? [{ property: "og:image", content: branding.logoUrl }] + : []), + ], + links: [ + { rel: "stylesheet", href: appCss }, + { rel: "icon", href: branding?.faviconUrl || "/icon.svg" }, + { rel: "preconnect", href: "https://fonts.googleapis.com" }, + { + rel: "preconnect", + href: "https://fonts.gstatic.com", + crossOrigin: "anonymous", + }, + { + rel: "stylesheet", + href: "https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap", + }, + ], + styles: branding?.customCss + ? [{ children: branding.customCss }] + : undefined, + }; + }, + shellComponent: RootDocument, component: RootComponent, }); diff --git a/apps/vite/src/routes/dashboard/route.tsx b/apps/vite/src/routes/dashboard/route.tsx index 2a6c238db..de9c02eb5 100644 --- a/apps/vite/src/routes/dashboard/route.tsx +++ b/apps/vite/src/routes/dashboard/route.tsx @@ -11,6 +11,7 @@ const DashboardRouteComponent = () => { }; export const Route = createFileRoute("/dashboard")({ + ssr: false, beforeLoad: async () => { const session = await getCachedSession(); if (!session?.session) { diff --git a/apps/vite/src/server-fns/branding.ts b/apps/vite/src/server-fns/branding.ts new file mode 100644 index 000000000..17e40b47e --- /dev/null +++ b/apps/vite/src/server-fns/branding.ts @@ -0,0 +1,37 @@ +import { createServerFn } from "@tanstack/react-start"; + +export interface PublicBranding { + appName: string | null; + appDescription: string | null; + logoUrl: string | null; + loginLogoUrl: string | null; + faviconUrl: string | null; + customCss: string | null; + metaTitle: string | null; + errorPageTitle: string | null; + errorPageDescription: string | null; + footerText: string | null; +} + +let cached: { at: number; value: PublicBranding | null } | null = null; + +export const getBrandingFn = createServerFn({ method: "GET" }).handler( + async (): Promise => { + if (cached && Date.now() - cached.at < 60_000) { + return cached.value; + } + let value: PublicBranding | null = null; + try { + const response = await fetch( + `http://localhost:${process.env.PORT ?? 3000}/api/branding`, + ); + if (response.ok) { + value = (await response.json()) as PublicBranding | null; + } + } catch { + value = null; + } + cached = { at: Date.now(), value }; + return value; + }, +); diff --git a/apps/vite/src/server-fns/session.ts b/apps/vite/src/server-fns/session.ts new file mode 100644 index 000000000..737710285 --- /dev/null +++ b/apps/vite/src/server-fns/session.ts @@ -0,0 +1,27 @@ +import { createServerFn } from "@tanstack/react-start"; + +interface SessionPayload { + session: { id: string; userId: string } | null; + user: { id: string; email: string } | null; +} + +const fetchSession = async (): Promise => { + const { getRequest } = await import("@tanstack/react-start/server"); + try { + const request = getRequest(); + const cookie = request.headers.get("cookie") ?? ""; + if (!cookie) return null; + const response = await fetch( + `http://localhost:${process.env.PORT ?? 3000}/api/auth/get-session`, + { headers: { cookie } }, + ); + if (!response.ok) return null; + return (await response.json()) as SessionPayload | null; + } catch { + return null; + } +}; + +export const getSessionFn = createServerFn({ method: "GET" }).handler(() => + fetchSession(), +); diff --git a/apps/vite/src/utils/session.ts b/apps/vite/src/utils/session.ts index 66b9ab311..cdbf3f90e 100644 --- a/apps/vite/src/utils/session.ts +++ b/apps/vite/src/utils/session.ts @@ -1,18 +1,21 @@ -import { authClient } from "@/lib/auth-client"; +import { getSessionFn } from "~/server-fns/session"; -type SessionData = Awaited>["data"]; +type SessionData = Awaited>; let cached: { at: number; session: SessionData } | null = null; const TTL_MS = 30_000; export const getCachedSession = async (): Promise => { + if (typeof window === "undefined") { + return await getSessionFn(); + } if (cached && Date.now() - cached.at < TTL_MS) { return cached.session; } - const { data } = await authClient.getSession(); - cached = { at: Date.now(), session: data }; - return data; + const session = await getSessionFn(); + cached = { at: Date.now(), session }; + return session; }; export const clearSessionCache = () => { diff --git a/apps/vite/src/utils/trpc-provider.tsx b/apps/vite/src/utils/trpc-provider.tsx index 7ca583029..3693b8932 100644 --- a/apps/vite/src/utils/trpc-provider.tsx +++ b/apps/vite/src/utils/trpc-provider.tsx @@ -28,26 +28,36 @@ const getOrCreateWSClient = () => { return wsClientSingleton; }; -const createLinks = () => [ - splitLink({ - condition: (op) => op.type === "subscription", - true: wsLink({ - client: getOrCreateWSClient(), - transformer: superjson, - }), - false: splitLink({ - condition: (op) => op.input instanceof FormData, - true: httpLink({ +const createLinks = () => { + if (typeof window === "undefined") { + return [ + httpBatchLink({ url: "/api/trpc", transformer: superjson, }), - false: httpBatchLink({ - url: "/api/trpc", + ]; + } + return [ + splitLink({ + condition: (op) => op.type === "subscription", + true: wsLink({ + client: getOrCreateWSClient(), transformer: superjson, }), + false: splitLink({ + condition: (op) => op.input instanceof FormData, + true: httpLink({ + url: "/api/trpc", + transformer: superjson, + }), + false: httpBatchLink({ + url: "/api/trpc", + transformer: superjson, + }), + }), }), - }), -]; + ]; +}; export const TRPCProvider = ({ children }: { children: React.ReactNode }) => { const [queryClient] = useState(() => new QueryClient()); diff --git a/apps/vite/vite.config.ts b/apps/vite/vite.config.ts index c379bc632..3109c1b66 100644 --- a/apps/vite/vite.config.ts +++ b/apps/vite/vite.config.ts @@ -1,6 +1,6 @@ import path from "node:path"; import tailwindcss from "@tailwindcss/vite"; -import { tanstackRouter } from "@tanstack/router-plugin/vite"; +import { tanstackStart } from "@tanstack/react-start/plugin/vite"; import react from "@vitejs/plugin-react"; import { defineConfig } from "vite"; @@ -17,11 +17,7 @@ const wsPaths = [ ]; export default defineConfig({ - plugins: [ - tanstackRouter({ target: "react", autoCodeSplitting: true }), - react(), - tailwindcss(), - ], + plugins: [tanstackStart(), react(), tailwindcss()], publicDir: path.resolve(dokployApp, "public"), resolve: { alias: [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 20fe3c202..6aaab5d17 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -120,16 +120,16 @@ importers: version: 3.1097.0 '@better-auth/api-key': specifier: 1.6.23 - version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(c1a003db19823d196c7d6468bf307df5))(better-call@1.3.7(zod@4.3.6)) + version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(21720b1b293ad8e348d88aeb63dd7d6f))(better-call@1.3.7(zod@4.3.6)) '@better-auth/passkey': specifier: 1.6.23 - version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(c1a003db19823d196c7d6468bf307df5))(better-call@1.3.7(zod@4.3.6))(nanostores@1.1.1) + version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(21720b1b293ad8e348d88aeb63dd7d6f))(better-call@1.3.7(zod@4.3.6))(nanostores@1.1.1) '@better-auth/scim': specifier: 1.6.23 - version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(c1a003db19823d196c7d6468bf307df5))(better-call@1.3.7(zod@4.3.6)) + version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(21720b1b293ad8e348d88aeb63dd7d6f))(better-call@1.3.7(zod@4.3.6)) '@better-auth/sso': specifier: 1.6.23 - version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(c1a003db19823d196c7d6468bf307df5))(better-call@1.3.7(zod@4.3.6)) + version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(21720b1b293ad8e348d88aeb63dd7d6f))(better-call@1.3.7(zod@4.3.6)) '@codemirror/autocomplete': specifier: ^6.18.6 version: 6.20.3 @@ -195,7 +195,7 @@ importers: version: 11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/next': specifier: ^11.10.0 - version: 11.10.0(@tanstack/react-query@5.90.21(react@19.2.7))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.10.0(@tanstack/react-query@5.90.21(react@19.2.7))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.7)(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3) + version: 11.10.0(@tanstack/react-query@5.90.21(react@19.2.7))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.10.0(@tanstack/react-query@5.90.21(react@19.2.7))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.7)(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(next@16.2.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3) '@trpc/react-query': specifier: ^11.10.0 version: 11.10.0(@tanstack/react-query@5.90.21(react@19.2.7))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.7)(typescript@5.9.3) @@ -231,7 +231,7 @@ importers: version: 5.1.1(encoding@0.1.13) better-auth: specifier: 1.6.23 - version: 1.6.23(c1a003db19823d196c7d6468bf307df5) + version: 1.6.23(21720b1b293ad8e348d88aeb63dd7d6f) bl: specifier: 6.0.11 version: 6.0.11 @@ -291,13 +291,13 @@ importers: version: 3.3.11 next: specifier: 16.2.6 - version: 16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + version: 16.2.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) next-themes: specifier: ^0.2.1 - version: 0.2.1(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + version: 0.2.1(next@16.2.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) nextjs-toploader: specifier: ^3.9.17 - version: 3.9.17(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + version: 3.9.17(next@16.2.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) node-os-utils: specifier: 2.0.1 version: 2.0.1 @@ -496,10 +496,10 @@ importers: version: 5.9.3 vite-tsconfig-paths: specifier: 4.3.2 - version: 4.3.2(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1)) + version: 4.3.2(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) vitest: specifier: ^4.0.18 - version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1) + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) apps/schedules: dependencies: @@ -590,16 +590,40 @@ importers: version: 3.1097.0 '@better-auth/api-key': specifier: 1.6.23 - version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(c1a003db19823d196c7d6468bf307df5))(better-call@1.3.7(zod@4.3.6)) + version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(21720b1b293ad8e348d88aeb63dd7d6f))(better-call@1.3.7(zod@4.3.6)) '@better-auth/passkey': specifier: 1.6.23 - version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(c1a003db19823d196c7d6468bf307df5))(better-call@1.3.7(zod@4.3.6))(nanostores@1.1.1) + version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(21720b1b293ad8e348d88aeb63dd7d6f))(better-call@1.3.7(zod@4.3.6))(nanostores@1.1.1) '@better-auth/scim': specifier: 1.6.23 - version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(c1a003db19823d196c7d6468bf307df5))(better-call@1.3.7(zod@4.3.6)) + version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(21720b1b293ad8e348d88aeb63dd7d6f))(better-call@1.3.7(zod@4.3.6)) '@better-auth/sso': specifier: 1.6.23 - version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(c1a003db19823d196c7d6468bf307df5))(better-call@1.3.7(zod@4.3.6)) + version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(21720b1b293ad8e348d88aeb63dd7d6f))(better-call@1.3.7(zod@4.3.6)) + '@codemirror/autocomplete': + specifier: ^6.18.6 + version: 6.20.3 + '@codemirror/lang-css': + specifier: ^6.3.1 + version: 6.3.1 + '@codemirror/lang-json': + specifier: ^6.0.1 + version: 6.0.2 + '@codemirror/lang-yaml': + specifier: ^6.1.2 + version: 6.1.2 + '@codemirror/language': + specifier: ^6.11.0 + version: 6.12.4 + '@codemirror/legacy-modes': + specifier: 6.4.0 + version: 6.4.0 + '@codemirror/search': + specifier: ^6.6.0 + version: 6.7.1 + '@codemirror/view': + specifier: ^6.39.15 + version: 6.43.6 '@dokploy/server': specifier: workspace:* version: link:../../packages/server @@ -609,6 +633,9 @@ importers: '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 + '@hookform/resolvers': + specifier: ^5.2.2 + version: 5.2.2(react-hook-form@7.71.2(react@19.2.7)) '@octokit/auth-app': specifier: ^6.1.3 version: 6.1.4 @@ -618,9 +645,48 @@ importers: '@react-email/components': specifier: ^1.0.12 version: 1.0.12(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@stepperize/react': + specifier: 4.0.1 + version: 4.0.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@stripe/stripe-js': + specifier: 4.8.0 + version: 4.8.0 + '@tanstack/react-query': + specifier: ^5.90.21 + version: 5.90.21(react@19.2.7) + '@tanstack/react-router': + specifier: ^1.170.25 + version: 1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/react-start': + specifier: ^1.168.42 + version: 1.168.42(esbuild@0.20.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) + '@tanstack/react-table': + specifier: ^8.21.3 + version: 8.21.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@trpc/client': + specifier: ^11.10.0 + version: 11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3) + '@trpc/react-query': + specifier: ^11.10.0 + version: 11.10.0(@tanstack/react-query@5.90.21(react@19.2.7))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.7)(typescript@5.9.3) '@trpc/server': specifier: ^11.10.0 version: 11.10.0(typescript@5.9.3) + '@uiw/codemirror-theme-github': + specifier: ^4.23.12 + version: 4.25.4(@codemirror/language@6.12.4)(@codemirror/state@6.7.1)(@codemirror/view@6.43.6) + '@uiw/react-codemirror': + specifier: ^4.23.12 + version: 4.25.4(@babel/runtime@7.28.6)(@codemirror/autocomplete@6.20.3)(@codemirror/language@6.12.4)(@codemirror/lint@6.9.4)(@codemirror/search@6.7.1)(@codemirror/state@6.7.1)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.43.6)(codemirror@6.0.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@xterm/addon-attach': + specifier: 0.10.0 + version: 0.10.0(@xterm/xterm@5.5.0) + '@xterm/addon-clipboard': + specifier: 0.1.0 + version: 0.1.0(@xterm/xterm@5.5.0) + '@xterm/xterm': + specifier: ^5.5.0 + version: 5.5.0 adm-zip: specifier: ^0.5.16 version: 0.5.16 @@ -635,19 +701,34 @@ importers: version: 5.1.1(encoding@0.1.13) better-auth: specifier: 1.6.23 - version: 1.6.23(c1a003db19823d196c7d6468bf307df5) + version: 1.6.23(21720b1b293ad8e348d88aeb63dd7d6f) bl: specifier: 6.0.11 version: 6.0.11 boxen: specifier: ^7.1.1 version: 7.1.1 + class-variance-authority: + specifier: ^0.7.1 + version: 0.7.1 + clsx: + specifier: ^2.1.1 + version: 2.1.1 + cmdk: + specifier: ^0.2.1 + version: 0.2.1(@types/react@18.3.5)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + copy-to-clipboard: + specifier: ^3.3.3 + version: 3.3.3 date-fns: specifier: 3.6.0 version: 3.6.0 dockerode: specifier: 4.0.2 version: 4.0.2 + dompurify: + specifier: ^3.3.3 + version: 3.4.10 dotenv: specifier: 16.4.5 version: 16.4.5 @@ -657,15 +738,27 @@ importers: drizzle-zod: specifier: 0.8.3 version: 0.8.3(drizzle-orm@0.45.2(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)))(@types/pg@8.16.0)(better-sqlite3@12.6.2)(kysely@0.29.3)(mysql2@3.15.3)(pg@8.18.0)(postgres@3.4.4)(prisma@7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)))(zod@4.3.6) + fancy-ansi: + specifier: ^0.1.3 + version: 0.1.3 + input-otp: + specifier: ^1.4.2 + version: 1.4.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7) lodash: specifier: 4.17.21 version: 4.17.21 + lucide-react: + specifier: ^0.469.0 + version: 0.469.0(react@19.2.7) micromatch: specifier: 4.0.8 version: 4.0.8 nanoid: specifier: 3.3.11 version: 3.3.11 + next-themes: + specifier: ^0.2.1 + version: 0.2.1(next@16.2.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) node-os-utils: specifier: 2.0.1 version: 2.0.1 @@ -693,12 +786,33 @@ importers: public-ip: specifier: 6.0.2 version: 6.0.2 + qrcode: + specifier: ^1.5.4 + version: 1.5.4 + radix-ui: + specifier: ^1.6.0 + version: 1.6.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) react: specifier: 19.2.7 version: 19.2.7 + react-confetti-explosion: + specifier: 3.0.3 + version: 3.0.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + react-day-picker: + specifier: 10.0.1 + version: 10.0.1(@types/react@18.3.5)(react@19.2.7) react-dom: specifier: 19.2.7 version: 19.2.7(react@19.2.7) + react-hook-form: + specifier: ^7.71.2 + version: 7.71.2(react@19.2.7) + react-markdown: + specifier: ^9.1.0 + version: 9.1.0(@types/react@18.3.5)(react@19.2.7) + recharts: + specifier: ^3.8.0 + version: 3.8.0(@types/react@18.3.5)(react-dom@19.2.7(react@19.2.7))(react-is@18.3.1)(react@19.2.7)(redux@5.0.1) resend: specifier: ^6.0.2 version: 6.9.2(@react-email/render@2.0.6(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) @@ -711,6 +825,9 @@ importers: slugify: specifier: ^1.6.6 version: 1.6.6 + sonner: + specifier: ^1.7.4 + version: 1.7.4(react-dom@19.2.7(react@19.2.7))(react@19.2.7) ssh2: specifier: ~1.16.0 version: 1.16.0 @@ -720,15 +837,27 @@ importers: superjson: specifier: ^2.2.2 version: 2.2.6 + swagger-ui-react: + specifier: ^5.32.6 + version: 5.32.6(@types/react@18.3.5)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + tailwind-merge: + specifier: ^2.6.1 + version: 2.6.1 toml: specifier: 3.0.0 version: 3.0.0 undici: specifier: ^6.21.3 version: 6.23.0 + use-resize-observer: + specifier: 9.1.0 + version: 9.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) ws: specifier: 8.16.0 version: 8.16.0 + xterm-addon-fit: + specifier: ^0.8.0 + version: 0.8.0(xterm@5.3.0) yaml: specifier: 2.8.1 version: 2.8.1 @@ -739,63 +868,12 @@ importers: specifier: ^3.0.1 version: 3.0.1(zod@4.3.6) devDependencies: - '@codemirror/autocomplete': - specifier: ^6.18.6 - version: 6.20.3 - '@codemirror/lang-css': - specifier: ^6.3.1 - version: 6.3.1 - '@codemirror/lang-json': - specifier: ^6.0.1 - version: 6.0.2 - '@codemirror/lang-yaml': - specifier: ^6.1.2 - version: 6.1.2 - '@codemirror/language': - specifier: ^6.11.0 - version: 6.12.4 - '@codemirror/legacy-modes': - specifier: 6.4.0 - version: 6.4.0 - '@codemirror/search': - specifier: ^6.6.0 - version: 6.7.1 - '@codemirror/view': - specifier: ^6.39.15 - version: 6.43.6 - '@hookform/resolvers': - specifier: ^5.2.2 - version: 5.2.2(react-hook-form@7.71.2(react@19.2.7)) - '@stepperize/react': - specifier: 4.0.1 - version: 4.0.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@stripe/stripe-js': - specifier: 4.8.0 - version: 4.8.0 '@tailwindcss/typography': specifier: 0.5.16 version: 0.5.16(tailwindcss@4.3.1) '@tailwindcss/vite': specifier: ^4.3.1 - version: 4.3.3(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1)) - '@tanstack/react-query': - specifier: ^5.90.21 - version: 5.90.21(react@19.2.7) - '@tanstack/react-router': - specifier: ^1.132.0 - version: 1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@tanstack/react-table': - specifier: ^8.21.3 - version: 8.21.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@tanstack/router-plugin': - specifier: ^1.132.0 - version: 1.168.29(@tanstack/react-router@1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1)) - '@trpc/client': - specifier: ^11.10.0 - version: 11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3) - '@trpc/react-query': - specifier: ^11.10.0 - version: 11.10.0(@tanstack/react-query@5.90.21(react@19.2.7))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.7)(typescript@5.9.3) + version: 4.3.3(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) '@types/js-cookie': specifier: ^3.0.6 version: 3.0.6 @@ -820,90 +898,21 @@ importers: '@types/swagger-ui-react': specifier: ^4.19.0 version: 4.19.0 - '@uiw/codemirror-theme-github': - specifier: ^4.23.12 - version: 4.25.4(@codemirror/language@6.12.4)(@codemirror/state@6.7.1)(@codemirror/view@6.43.6) - '@uiw/react-codemirror': - specifier: ^4.23.12 - version: 4.25.4(@babel/runtime@7.28.6)(@codemirror/autocomplete@6.20.3)(@codemirror/language@6.12.4)(@codemirror/lint@6.9.4)(@codemirror/search@6.7.1)(@codemirror/state@6.7.1)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.43.6)(codemirror@6.0.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) '@vitejs/plugin-react': specifier: ^5.0.0 - version: 5.2.0(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1)) - '@xterm/addon-attach': - specifier: 0.10.0 - version: 0.10.0(@xterm/xterm@5.5.0) - '@xterm/addon-clipboard': - specifier: 0.1.0 - version: 0.1.0(@xterm/xterm@5.5.0) - '@xterm/xterm': - specifier: ^5.5.0 - version: 5.5.0 - class-variance-authority: - specifier: ^0.7.1 - version: 0.7.1 - clsx: - specifier: ^2.1.1 - version: 2.1.1 - cmdk: - specifier: ^0.2.1 - version: 0.2.1(@types/react@18.3.5)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - copy-to-clipboard: - specifier: ^3.3.3 - version: 3.3.3 - dompurify: - specifier: ^3.3.3 - version: 3.4.10 + version: 5.2.0(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) + concurrently: + specifier: ^10.0.4 + version: 10.0.4 esbuild: specifier: 0.20.2 version: 0.20.2 - fancy-ansi: - specifier: ^0.1.3 - version: 0.1.3 - input-otp: - specifier: ^1.4.2 - version: 1.4.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7) js-cookie: specifier: ^3.0.5 version: 3.0.5 - lucide-react: - specifier: ^0.469.0 - version: 0.469.0(react@19.2.7) - next-themes: - specifier: ^0.2.1 - version: 0.2.1(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - qrcode: - specifier: ^1.5.4 - version: 1.5.4 - radix-ui: - specifier: ^1.6.0 - version: 1.6.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react-confetti-explosion: - specifier: 3.0.3 - version: 3.0.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - react-day-picker: - specifier: 10.0.1 - version: 10.0.1(@types/react@18.3.5)(react@19.2.7) - react-hook-form: - specifier: ^7.71.2 - version: 7.71.2(react@19.2.7) - react-markdown: - specifier: ^9.1.0 - version: 9.1.0(@types/react@18.3.5)(react@19.2.7) - recharts: - specifier: ^3.8.0 - version: 3.8.0(@types/react@18.3.5)(react-dom@19.2.7(react@19.2.7))(react-is@18.3.1)(react@19.2.7)(redux@5.0.1) shadcn: specifier: ^4.11.0 version: 4.11.0(typescript@5.9.3) - sonner: - specifier: ^1.7.4 - version: 1.7.4(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - swagger-ui-react: - specifier: ^5.32.6 - version: 5.32.6(@types/react@18.3.5)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - tailwind-merge: - specifier: ^2.6.1 - version: 2.6.1 tailwindcss: specifier: ^4.3.1 version: 4.3.1 @@ -919,15 +928,9 @@ importers: typescript: specifier: ^5.8.3 version: 5.9.3 - use-resize-observer: - specifier: 9.1.0 - version: 9.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) vite: specifier: ^7.1.0 - version: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1) - xterm-addon-fit: - specifier: ^0.8.0 - version: 0.8.0(xterm@5.3.0) + version: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) packages/server: dependencies: @@ -957,16 +960,16 @@ importers: version: 3.1097.0 '@better-auth/api-key': specifier: 1.6.23 - version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(1ed75fb9bf08f6ba6496d8d3414d7193))(better-call@1.3.7(zod@4.3.6)) + version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(50bb34a7bc6b1d49ec4ea1a3ccf30b51))(better-call@1.3.7(zod@4.3.6)) '@better-auth/passkey': specifier: 1.6.23 - version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(1ed75fb9bf08f6ba6496d8d3414d7193))(better-call@1.3.7(zod@4.3.6))(nanostores@1.1.1) + version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(50bb34a7bc6b1d49ec4ea1a3ccf30b51))(better-call@1.3.7(zod@4.3.6))(nanostores@1.1.1) '@better-auth/scim': specifier: 1.6.23 - version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(1ed75fb9bf08f6ba6496d8d3414d7193))(better-call@1.3.7(zod@4.3.6)) + version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(50bb34a7bc6b1d49ec4ea1a3ccf30b51))(better-call@1.3.7(zod@4.3.6)) '@better-auth/sso': specifier: 1.6.23 - version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(1ed75fb9bf08f6ba6496d8d3414d7193))(better-call@1.3.7(zod@4.3.6)) + version: 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(50bb34a7bc6b1d49ec4ea1a3ccf30b51))(better-call@1.3.7(zod@4.3.6)) '@better-auth/utils': specifier: 0.4.2 version: 0.4.2 @@ -1005,7 +1008,7 @@ importers: version: 5.1.1(encoding@0.1.13) better-auth: specifier: 1.6.23 - version: 1.6.23(1ed75fb9bf08f6ba6496d8d3414d7193) + version: 1.6.23(50bb34a7bc6b1d49ec4ea1a3ccf30b51) bl: specifier: 6.0.11 version: 6.0.11 @@ -1308,22 +1311,42 @@ packages: resolution: {integrity: sha512-sl4Bm6yiMNYrZKkqqDFWN0UfnWhlS8ivKxrYl+6t0gCLrqr8y3B2IqZZbFRkfaVVp7C/baApyh71P+LeE1A2sQ==} engines: {node: '>=18.0.0'} + '@babel/code-frame@7.27.1': + 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/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + '@babel/compat-data@7.29.0': resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==} engines: {node: '>=6.9.0'} + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} + '@babel/core@7.29.0': resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} engines: {node: '>=6.9.0'} + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} + 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@7.29.8': + resolution: {integrity: sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==} + engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.27.3': resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} engines: {node: '>=6.9.0'} @@ -1332,6 +1355,10 @@ packages: resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} + engines: {node: '>=6.9.0'} + '@babel/helper-create-class-features-plugin@7.28.6': resolution: {integrity: sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==} engines: {node: '>=6.9.0'} @@ -1342,6 +1369,10 @@ packages: resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} engines: {node: '>=6.9.0'} + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} + '@babel/helper-member-expression-to-functions@7.28.5': resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} engines: {node: '>=6.9.0'} @@ -1350,12 +1381,22 @@ packages: resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.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-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-optimise-call-expression@7.27.1': resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} engines: {node: '>=6.9.0'} @@ -1382,23 +1423,44 @@ packages: resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.28.5': resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.27.1': resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + 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/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + '@babel/parser@7.29.0': resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.29.8': + resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-syntax-jsx@7.28.6': resolution: {integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==} engines: {node: '>=6.9.0'} @@ -1453,14 +1515,26 @@ packages: resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} engines: {node: '>=6.9.0'} + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} + engines: {node: '>=6.9.0'} + '@babel/traverse@7.29.0': resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.29.8': + resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==} + engines: {node: '>=6.9.0'} + '@babel/types@7.29.0': resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} + '@babel/types@7.29.8': + resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==} + engines: {node: '>=6.9.0'} + '@balena/dockerignore@1.0.2': resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==} @@ -1682,6 +1756,9 @@ packages: '@codemirror/view@6.43.6': resolution: {integrity: sha512-EVunGSYN1wz1p75WY1s3Xg7t3i8Yol0kGZGizNdX9BUFgMFILYVe8/u6EVpo7Ff5PwbZuILb4QAq7IZoKzIEQA==} + '@codemirror/view@6.43.8': + resolution: {integrity: sha512-qtItTDssZ/5GFfi94hrILu9j/VUeFPDPkhovEfmWFj2ipTxnzPB8DdHgfbb8HYTzLTYhrndKmyQxXUz/PDLenw==} + '@date-fns/tz@1.5.0': resolution: {integrity: sha512-lwYN/vDPeNRULcepoE/LO2Pgx+7/RV+S9ARfbc9lr2DtGkOD7pAiruHvbR1RX3Qyf6ja47EWJDMsNK5vK08DJg==} @@ -2248,8 +2325,8 @@ packages: '@cfworker/json-schema': optional: true - '@mongodb-js/saslprep@1.4.12': - resolution: {integrity: sha512-QAfAMwNgnYxZ2C6D1HgeP7Gc4i/uvJRim415PCIL9ptRxWMNbWeLBYb2/9R4pGKny/s1FVu2JA2cxCUBUOggrA==} + '@mongodb-js/saslprep@1.4.13': + resolution: {integrity: sha512-E3Sv4eCYAlKYUTx8S3ioQcDUscOif+8zZ5OnW1IzJ+Tt+EO+ke8mn+Y3FX6N1H79picwbdOavVOb1jPi2EOyrg==} '@mrleebo/prisma-ast@0.13.1': resolution: {integrity: sha512-XyroGQXcHrZdvmrGJvsA9KNeOOgGMg1Vg9OlheUsBOSKznLMDl+YChxbkboRHvtFYJEMRYmlV3uoo/njCw05iw==} @@ -2527,6 +2604,22 @@ packages: resolution: {integrity: sha512-Nss2b4Jyn4wB3EAqAPJypGuCJFalz/ZujKBQQ5934To7Xw9xjf4hkr/EAByxQY7hp7MKd790bWGz7XYSTsHmaw==} engines: {node: '>= 18'} + '@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'} + '@opentelemetry/api-logs@0.57.2': resolution: {integrity: sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A==} engines: {node: '>=14'} @@ -4611,6 +4704,54 @@ packages: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' + '@tanstack/react-start-client@1.168.23': + resolution: {integrity: sha512-4tfprSCYVPb1vmhqv6t9lYxJ3FhJOiMHMknBOm9dRmakILk6h4J0tyENlN+yfJkTae5aKWweUd1CI1WmTrhUnA==} + engines: {node: '>=22.12.0'} + peerDependencies: + react: '>=18.0.0 || >=19.0.0' + react-dom: '>=18.0.0 || >=19.0.0' + + '@tanstack/react-start-rsc@0.1.41': + resolution: {integrity: sha512-wjk960LFDOatV1djlzwDdYov2SSvPG+EMZUV79PQdiSjyWl5fvuyJd1bRXXK6adovJVll38cA8GzJWKksSoYJg==} + engines: {node: '>=22.12.0'} + peerDependencies: + '@rspack/core': '>=2.0.0-0' + '@vitejs/plugin-rsc': '>=0.5.30' + react: '>=18.0.0 || >=19.0.0' + react-dom: '>=18.0.0 || >=19.0.0' + react-server-dom-rspack: '>=0.0.2' + peerDependenciesMeta: + '@rspack/core': + optional: true + '@vitejs/plugin-rsc': + optional: true + react-server-dom-rspack: + optional: true + + '@tanstack/react-start-server@1.167.30': + resolution: {integrity: sha512-QcmUgbKgBj2S9113elDOeq8io3og5TzyJkOtjP9TXyEYgt2tjWSr7zzWtnH1CKYTkPn2XHSTSpLU3Ut2LF7zKw==} + 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.168.42': + resolution: {integrity: sha512-x6brZO9+aI/kfMItourwzSdCLgbDXaG8vjtuO5MJvopAk+SRxDBBYls2j9XxdqDx2WmOolNN5oZox8CGLcaNWg==} + engines: {node: '>=22.12.0'} + peerDependencies: + '@rsbuild/core': ^2.0.0 + '@vitejs/plugin-rsc': '*' + react: '>=18.0.0 || >=19.0.0' + react-dom: '>=18.0.0 || >=19.0.0' + vite: '>=7.0.0' + peerDependenciesMeta: + '@rsbuild/core': + optional: true + '@vitejs/plugin-rsc': + optional: true + vite: + optional: true + '@tanstack/react-store@0.9.3': resolution: {integrity: sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg==} peerDependencies: @@ -4657,6 +4798,34 @@ packages: resolution: {integrity: sha512-hTWqJtqIFFdvuCl8WXNyrodp2L9zo2G37xKRrcVmVRWpAB2h+U1LuRAfS4tsFTiWOIoE/B+WDVFB8JpoEdw6jQ==} engines: {node: '>=20.19'} + '@tanstack/start-client-core@1.170.21': + resolution: {integrity: sha512-TPjfGmgZ9jZ1JkcSMJtJuSxZHO+6B9A09oS4chTKql5z0a2+SqyVZ6P1WSH+N9z0SgghJeqiynUBiHRoVPSM8A==} + engines: {node: '>=22.12.0'} + + '@tanstack/start-fn-stubs@1.162.0': + resolution: {integrity: sha512-QWfUZ3Yo923tdQn38LyKMU8rcTw69zc+T4dAvgTWV4O56SqFRsGfS0lSWIMhJRwXIx/bvdi7nTUBDdZtTHtpTQ==} + engines: {node: '>=22.12.0'} + + '@tanstack/start-plugin-core@1.171.33': + resolution: {integrity: sha512-p2ykMoLR3aFnSygJjM7zKXGpJsbwzd0ct0dN678wLDhsEqlrP0sZ4PR+gMQSuLge0H8e6vlUoh+0r7x/eQyu2Q==} + engines: {node: '>=22.12.0'} + peerDependencies: + '@rsbuild/core': ^2.0.0 + vite: '>=7.0.0' + peerDependenciesMeta: + '@rsbuild/core': + optional: true + vite: + optional: true + + '@tanstack/start-server-core@1.169.25': + resolution: {integrity: sha512-k+sg4NjmDCspVvec9Yx1vR5xEo7TBu7Nc85tglXhGY3UVoY9iDa1LZhoJxZ9AtOm6Ba3ZUTdeggXO2nPWeFFmA==} + engines: {node: '>=22.12.0'} + + '@tanstack/start-storage-context@1.167.23': + resolution: {integrity: sha512-HGK2zSMADRQAGboaX7MczhCt+Iwym4mnhxuo0nkce+epQXKiIsFFKC1Cra7mJWFpxknXmk0sHR1oODvghMFYHw==} + engines: {node: '>=22.12.0'} + '@tanstack/store@0.9.3': resolution: {integrity: sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw==} @@ -5228,6 +5397,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + baseline-browser-mapping@2.11.13: + resolution: {integrity: sha512-k9HNuUVMlqVjQ9UHzfPjIqiDbWw7WqT1AoT7GL8VwvF3r0ZfArtgiSPAlmupyNquNgOJHTuH4CKYf8ttMTWBTQ==} + engines: {node: '>=6.0.0'} + hasBin: true + bcrypt-pbkdf@1.0.2: resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} @@ -5358,6 +5532,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.28.8: + resolution: {integrity: sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + bson@7.3.1: resolution: {integrity: sha512-h/C0qe6857pQhcSJHLfsR1uYGj98Ge3wKAD3Ed9KqH3wcVh+BM4Jq4xISD7vs9OPuT07n+q3QQVjslJ286j6ag==} engines: {node: '>=20.19.0'} @@ -5439,6 +5618,9 @@ packages: caniuse-lite@1.0.30001774: resolution: {integrity: sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==} + caniuse-lite@1.0.30001809: + resolution: {integrity: sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==} + canonicalize@1.0.8: resolution: {integrity: sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==} @@ -5540,6 +5722,10 @@ packages: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} + cliui@9.0.1: + resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} + engines: {node: '>=20'} + clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} @@ -5608,6 +5794,11 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + concurrently@10.0.4: + resolution: {integrity: sha512-trZql+7l/0+WRAsAnEdctr4+iiOS6ZrViI6H8QWcCF9MFS/LT0dKpe8vluB1to6it+OxSI4VospFTIFMW8DJRw==} + engines: {node: '>=22'} + hasBin: true + conf@10.2.0: resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} engines: {node: '>=12'} @@ -6169,6 +6360,9 @@ packages: electron-to-chromium@1.5.302: resolution: {integrity: sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==} + electron-to-chromium@1.5.404: + resolution: {integrity: sha512-3WJtd7/lVq2Jnuz6wed1l9+1ZD2u2Tet1/1NBc4Iedkmgbu+I7YuAqdAQ8T+VZtnwysMsAf3IqSq9D1gyZjA2g==} + emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -6329,8 +6523,8 @@ packages: resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} engines: {node: '>= 18'} - exsolve@1.1.0: - resolution: {integrity: sha512-D+42+T12DdIlJM3uepa55qGiL3sYdLBOxIl2ifQCzCHz4c7eiolaHsi3BIqEr7JxBzxv2pYZQX9kw16ziMcEmw==} + exsolve@1.1.1: + resolution: {integrity: sha512-9U/jZUgjnSGyntRr6y5Muu1MJcwFl6kPu7k8qLF0IMNfLqvw0NZ4nnVDq0RVoZ0RvCyumib4Ez3KYrVfilrw+g==} extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -6394,6 +6588,9 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} + fetchdts@0.1.7: + resolution: {integrity: sha512-YoZjBdafyLIop9lSxXVI33oLD5kN31q4Td+CasofLLYeLXRFeOsuOw0Uo+XNRi9PZlbfdlN2GmRtm4tCEQ9/KA==} + figures@6.1.0: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} @@ -6603,8 +6800,8 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - grammex@3.1.12: - resolution: {integrity: sha512-6ufJOsSA7LcQehIJNCO7HIBykfM7DXQual0Ny780/DEcJIpBlHRvcqEBWGPYd7hrXL2GJ3oJI1MIhaXjWmLQOQ==} + grammex@3.1.13: + resolution: {integrity: sha512-LnPnhOBLEJEVKS8WFDVaA397L9Kq55Q9oSITJiVLHVdhAclfUkWzQv74KhvZHKL2Q09Pb1XdsrOsZ4LfTFFTEg==} graphmatch@1.1.1: resolution: {integrity: sha512-5ykVn/EXM1hF0XCaWh05VbYvEiOL2lY1kBxZtaYsyvjp7cmWOU1XsAdfQBwClraEofXDT197lFbXOEVMHpvQOg==} @@ -6612,6 +6809,16 @@ packages: h3@1.15.1: resolution: {integrity: sha512-+ORaOBttdUm1E2Uu/obAyCguiI7MbBvsLTndc3gyK3zU+SYLoZXlyCP9Xgy0gikkGufFLTZXCXD6+4BsufnmHA==} + h3@2.0.1-rc.20: + resolution: {integrity: sha512-28ljodXuUp0fZovdiSRq4G9OgrxCztrJe5VdYzXAB7ueRvI7pIUqLU14Xi3XqdYJ/khXjfpUOOD2EQa6CmBgsg==} + engines: {node: '>=20.11.1'} + hasBin: true + peerDependencies: + crossws: ^0.4.1 + peerDependenciesMeta: + crossws: + optional: true + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -6836,6 +7043,10 @@ packages: resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==} engines: {node: '>= 12'} + ip-address@10.5.0: + resolution: {integrity: sha512-R5SnVLJmgYYvf2F2ZgwSBnelz5G4q5AxIC277GDfUaNbrZKNANcBC7RHqYYePlszf4kBolVkJauG0ZjHHFh55g==} + engines: {node: '>= 12'} + ip-regex@5.0.0: resolution: {integrity: sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -7032,6 +7243,10 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true + js-yaml@4.3.1: + resolution: {integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==} + hasBin: true + jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -7107,70 +7322,140 @@ packages: cpu: [arm64] os: [android] + lightningcss-android-arm64@1.33.0: + resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + lightningcss-darwin-arm64@1.32.0: resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] + lightningcss-darwin-arm64@1.33.0: + resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + lightningcss-darwin-x64@1.32.0: resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] + lightningcss-darwin-x64@1.33.0: + resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + lightningcss-freebsd-x64@1.32.0: resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] + lightningcss-freebsd-x64@1.33.0: + resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + lightningcss-linux-arm-gnueabihf@1.32.0: resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] + lightningcss-linux-arm-gnueabihf@1.33.0: + resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + lightningcss-linux-arm64-gnu@1.32.0: resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + lightningcss-linux-arm64-gnu@1.33.0: + resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + lightningcss-linux-arm64-musl@1.32.0: resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + lightningcss-linux-arm64-musl@1.33.0: + resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + lightningcss-linux-x64-gnu@1.32.0: resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + lightningcss-linux-x64-gnu@1.33.0: + resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + lightningcss-linux-x64-musl@1.32.0: resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + lightningcss-linux-x64-musl@1.33.0: + resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + lightningcss-win32-arm64-msvc@1.32.0: resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] + lightningcss-win32-arm64-msvc@1.33.0: + resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + lightningcss-win32-x64-msvc@1.32.0: resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] + lightningcss-win32-x64-msvc@1.33.0: + resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + lightningcss@1.32.0: resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} engines: {node: '>= 12.0.0'} + lightningcss@1.33.0: + resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} + engines: {node: '>= 12.0.0'} + lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -7272,8 +7557,8 @@ packages: lowlight@1.20.0: resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==} - lru-cache@11.2.6: - resolution: {integrity: sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==} + lru-cache@11.5.2: + resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -7510,8 +7795,8 @@ packages: module-details-from-path@1.0.4: resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==} - mongodb-connection-string-url@7.0.1: - resolution: {integrity: sha512-h0AZ9A7IDVwwHyMxmdMXKy+9oNlF0zFoahHiX3vQ8e3KFcSP3VmsmfvtRSuLPxmyv2vjIDxqty8smTgie/SNRQ==} + mongodb-connection-string-url@7.0.2: + resolution: {integrity: sha512-ZoS07RoFqpKYQwAk59qmrx8+jJHNHU30UjlU96QktiGn1ltvDr+vCznLX5DiUBLEpMAHatHNWV1nM/74ul66kA==} engines: {node: '>=20.19.0'} mongodb@7.1.0: @@ -7688,6 +7973,10 @@ packages: node-releases@2.0.27: resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + node-releases@2.0.53: + resolution: {integrity: sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==} + engines: {node: '>=18'} + node-rsa@1.1.1: resolution: {integrity: sha512-Jd4cvbJMryN21r5HgxQOpMEqv+ooke/korixNNK3mGqfGJmy0M77WDDzo/05969+OkMy3XW1UuZsSmW9KQm7Fw==} @@ -7731,8 +8020,8 @@ packages: nprogress@0.2.0: resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} - nypm@0.6.8: - resolution: {integrity: sha512-Q9K4Diu6l5u6xJQogeFSs/zKtyMSgFKFtRQV+tHP4kL7KPm2grpBU0dFIwFaXwNxN0MtfKWc43VpCugAa+LPsw==} + nypm@0.6.9: + resolution: {integrity: sha512-zxlE2yvSWZWmHcNdT3+5zV2lrCogeE9YOklHrR3dFjqutq5wO7GFDYLFDRXLsYnJzwvy/im9fYoxePvS0VTW0w==} engines: {node: '>=18'} hasBin: true @@ -7924,6 +8213,9 @@ packages: pg-protocol@1.15.0: resolution: {integrity: sha512-cq9sECI5s0+uPUXjbz8ioyPJni6RzsRib0US67i5IoTZKw8fNeYlVE7u8F4dG7vEJJtc5wdD1K189lCCUwqWTQ==} + pg-protocol@1.16.0: + resolution: {integrity: sha512-sILXutLVjCLjcDuOmvhX5e2Z4cS5qG/6Bu3VkpFwdf/633ElGLpEh9bgmuI5I4sqKqkifQiGyiCcx1HdtrK7tg==} + pg-types@2.2.0: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} engines: {node: '>=4'} @@ -7951,6 +8243,10 @@ packages: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} + picomatch@4.0.5: + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} + engines: {node: '>=12'} + pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} @@ -8102,6 +8398,11 @@ packages: engines: {node: '>=14'} hasBin: true + prettier@3.9.6: + resolution: {integrity: sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==} + engines: {node: '>=14'} + hasBin: true + pretty-ms@9.3.0: resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} engines: {node: '>=18'} @@ -8561,6 +8862,9 @@ packages: rou3@0.7.12: resolution: {integrity: sha512-iFE4hLDuloSWcD7mjdCDhx2bKcIsYbtOTpfH5MHHLSKMOUyjqQXTeZVa289uuwEGEKFoE/BAPbhaU4B774nceg==} + rou3@0.8.1: + resolution: {integrity: sha512-ePa+XGk00/3HuCqrEnK3LxJW7I0SdNg6EFzKUJG73hMAdDcOUC/i/aSz7LSDwLrGr33kal/rqOGydzwl6U7zBA==} + router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -8572,6 +8876,9 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -8670,6 +8977,10 @@ packages: resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} engines: {node: '>= 0.4'} + shell-quote@1.9.0: + resolution: {integrity: sha512-Iov+JwFv/2HcTpcwNMKd8+IWNb8tboQJNQTkAY/LLVK7gGH9jy+LGkVqPxfekHl+yMmiqXszdGWXgkfml7hjqA==} + engines: {node: '>= 0.4'} + shimmer@1.2.1: resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} @@ -8763,6 +9074,10 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -8783,6 +9098,11 @@ packages: resolution: {integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==} engines: {node: '>= 0.6'} + srvx@0.11.22: + resolution: {integrity: sha512-LqZxxBDMKuMAZzFzJnDCkFOrs9MZQZr0LvHiO/SuSZVdQaXD7xQ5UWTUxheJrQPve1qk9MG2B/yttUvJxw8egQ==} + engines: {node: '>=20.16.0'} + hasBin: true + ssh2@1.16.0: resolution: {integrity: sha512-r1X4KsBGedJqo7h8F5c4Ybpcr5RjyP+aWIG007uBPRjmdQWfEiVLzSK71Zji1B9sKxwaCvD8y8cwSkYrlLiRRg==} engines: {node: '>=10.16.0'} @@ -8907,6 +9227,10 @@ packages: resolution: {integrity: sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==} engines: {node: '>=16'} + supports-color@10.2.2: + resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} + engines: {node: '>=18'} + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -9007,10 +9331,18 @@ packages: resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} engines: {node: '>=18'} + tinyexec@1.3.0: + resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==} + engines: {node: '>=18'} + tinyglobby@0.2.15: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} + tinyrainbow@3.0.3: resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} engines: {node: '>=14.0.0'} @@ -9053,6 +9385,10 @@ packages: peerDependencies: tslib: '2' + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + tree-sitter-json@0.24.8: resolution: {integrity: sha512-Tc9ZZYwHyWZ3Tt1VEw7Pa2scu1YO7/d2BCBbKTx5hXwig3UfdQjsOPkPyLpDJOn/m1UBEWYAtSdGAwCSyagBqQ==} peerDependencies: @@ -9159,6 +9495,9 @@ packages: ufo@1.6.3: resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} + ufo@1.6.4: + resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} + uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} @@ -9257,6 +9596,12 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + update-browserslist-db@1.3.1: + resolution: {integrity: sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} @@ -9381,6 +9726,14 @@ packages: yaml: optional: true + vitefu@1.1.3: + resolution: {integrity: sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + vite: + optional: true + vitest@4.0.18: resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9526,6 +9879,10 @@ packages: xml@1.0.1: resolution: {integrity: sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==} + xmlbuilder2@4.0.3: + resolution: {integrity: sha512-bx8Q1STctnNaaDymWnkfQLKofs0mGNN7rLLapJlGuV3VlvegD7Ls4ggMjE3aUSWItCCzU0PEv45lI87iSigiCA==} + engines: {node: '>=20.0'} + xpath@0.0.32: resolution: {integrity: sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw==} engines: {node: '>=0.6.0'} @@ -9578,6 +9935,10 @@ packages: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} + yargs-parser@22.0.0: + resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} + yargs@15.4.1: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} engines: {node: '>=8'} @@ -9586,6 +9947,10 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} + yargs@18.0.0: + resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} + yocto-spinner@1.2.0: resolution: {integrity: sha512-Yw0hUB6UA3o4YUgKy3oSe9a4cxoaZ9sBfYDw+JSxo6Id0KoJGoxzPA24qqUXYKBWABs/zDSGTz9kww7t3F0XGw==} engines: {node: '>=18.19'} @@ -9848,14 +10213,28 @@ snapshots: '@aws/lambda-invoke-store@0.3.0': {} + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + 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/code-frame@7.29.7': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 + '@babel/compat-data@7.29.0': {} + '@babel/compat-data@7.29.7': {} + '@babel/core@7.29.0': dependencies: '@babel/code-frame': 7.29.0 @@ -9876,6 +10255,26 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/core@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + '@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.29.1': dependencies: '@babel/parser': 7.29.0 @@ -9884,6 +10283,14 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 + '@babel/generator@7.29.8': + dependencies: + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + '@babel/helper-annotate-as-pure@7.27.3': dependencies: '@babel/types': 7.29.0 @@ -9896,6 +10303,14 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 + '@babel/helper-compilation-targets@7.29.7': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.8 + lru-cache: 5.1.1 + semver: 6.3.1 + '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 @@ -9911,10 +10326,12 @@ snapshots: '@babel/helper-globals@7.28.0': {} + '@babel/helper-globals@7.29.7': {} + '@babel/helper-member-expression-to-functions@7.28.5': dependencies: '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 + '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color @@ -9925,6 +10342,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-imports@7.29.7': + dependencies: + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 @@ -9934,9 +10358,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + '@babel/helper-optimise-call-expression@7.27.1': dependencies: - '@babel/types': 7.29.0 + '@babel/types': 7.29.8 '@babel/helper-plugin-utils@7.28.6': {} @@ -9960,19 +10393,34 @@ snapshots: '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-string-parser@7.29.7': {} + '@babel/helper-validator-identifier@7.28.5': {} + '@babel/helper-validator-identifier@7.29.7': {} + '@babel/helper-validator-option@7.27.1': {} + '@babel/helper-validator-option@7.29.7': {} + '@babel/helpers@7.28.6': dependencies: '@babel/template': 7.28.6 '@babel/types': 7.29.0 + '@babel/helpers@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + '@babel/parser@7.29.0': dependencies: '@babel/types': 7.29.0 + '@babel/parser@7.29.8': + dependencies: + '@babel/types': 7.29.8 + '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 @@ -10035,6 +10483,12 @@ snapshots: '@babel/parser': 7.29.0 '@babel/types': 7.29.0 + '@babel/template@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + '@babel/traverse@7.29.0': dependencies: '@babel/code-frame': 7.29.0 @@ -10047,26 +10501,43 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/traverse@7.29.8': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 + '@babel/types@7.29.8': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@balena/dockerignore@1.0.2': {} - '@better-auth/api-key@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(1ed75fb9bf08f6ba6496d8d3414d7193))(better-call@1.3.7(zod@4.3.6))': + '@better-auth/api-key@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(21720b1b293ad8e348d88aeb63dd7d6f))(better-call@1.3.7(zod@4.3.6))': dependencies: '@better-auth/core': 1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1) '@better-auth/utils': 0.4.2 - better-auth: 1.6.23(1ed75fb9bf08f6ba6496d8d3414d7193) + better-auth: 1.6.23(21720b1b293ad8e348d88aeb63dd7d6f) better-call: 1.3.7(zod@4.3.6) zod: 4.3.6 - '@better-auth/api-key@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(c1a003db19823d196c7d6468bf307df5))(better-call@1.3.7(zod@4.3.6))': + '@better-auth/api-key@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(50bb34a7bc6b1d49ec4ea1a3ccf30b51))(better-call@1.3.7(zod@4.3.6))': dependencies: '@better-auth/core': 1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1) '@better-auth/utils': 0.4.2 - better-auth: 1.6.23(c1a003db19823d196c7d6468bf307df5) + better-auth: 1.6.23(50bb34a7bc6b1d49ec4ea1a3ccf30b51) better-call: 1.3.7(zod@4.3.6) zod: 4.3.6 @@ -10110,26 +10581,26 @@ snapshots: optionalDependencies: mongodb: 7.1.0(socks@2.8.8) - '@better-auth/passkey@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(1ed75fb9bf08f6ba6496d8d3414d7193))(better-call@1.3.7(zod@4.3.6))(nanostores@1.1.1)': + '@better-auth/passkey@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(21720b1b293ad8e348d88aeb63dd7d6f))(better-call@1.3.7(zod@4.3.6))(nanostores@1.1.1)': dependencies: '@better-auth/core': 1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1) '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 '@simplewebauthn/browser': 13.3.0 '@simplewebauthn/server': 13.3.2 - better-auth: 1.6.23(1ed75fb9bf08f6ba6496d8d3414d7193) + better-auth: 1.6.23(21720b1b293ad8e348d88aeb63dd7d6f) better-call: 1.3.7(zod@4.3.6) nanostores: 1.1.1 zod: 4.3.6 - '@better-auth/passkey@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(c1a003db19823d196c7d6468bf307df5))(better-call@1.3.7(zod@4.3.6))(nanostores@1.1.1)': + '@better-auth/passkey@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(50bb34a7bc6b1d49ec4ea1a3ccf30b51))(better-call@1.3.7(zod@4.3.6))(nanostores@1.1.1)': dependencies: '@better-auth/core': 1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1) '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 '@simplewebauthn/browser': 13.3.0 '@simplewebauthn/server': 13.3.2 - better-auth: 1.6.23(c1a003db19823d196c7d6468bf307df5) + better-auth: 1.6.23(50bb34a7bc6b1d49ec4ea1a3ccf30b51) better-call: 1.3.7(zod@4.3.6) nanostores: 1.1.1 zod: 4.3.6 @@ -10142,28 +10613,28 @@ snapshots: '@prisma/client': 5.22.0(prisma@7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)) prisma: 7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3) - '@better-auth/scim@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(1ed75fb9bf08f6ba6496d8d3414d7193))(better-call@1.3.7(zod@4.3.6))': + '@better-auth/scim@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(21720b1b293ad8e348d88aeb63dd7d6f))(better-call@1.3.7(zod@4.3.6))': dependencies: '@better-auth/core': 1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1) '@better-auth/utils': 0.4.2 - better-auth: 1.6.23(1ed75fb9bf08f6ba6496d8d3414d7193) + better-auth: 1.6.23(21720b1b293ad8e348d88aeb63dd7d6f) better-call: 1.3.7(zod@4.3.6) zod: 4.4.3 - '@better-auth/scim@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(c1a003db19823d196c7d6468bf307df5))(better-call@1.3.7(zod@4.3.6))': + '@better-auth/scim@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(better-auth@1.6.23(50bb34a7bc6b1d49ec4ea1a3ccf30b51))(better-call@1.3.7(zod@4.3.6))': dependencies: '@better-auth/core': 1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1) '@better-auth/utils': 0.4.2 - better-auth: 1.6.23(c1a003db19823d196c7d6468bf307df5) + better-auth: 1.6.23(50bb34a7bc6b1d49ec4ea1a3ccf30b51) better-call: 1.3.7(zod@4.3.6) zod: 4.4.3 - '@better-auth/sso@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(1ed75fb9bf08f6ba6496d8d3414d7193))(better-call@1.3.7(zod@4.3.6))': + '@better-auth/sso@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(21720b1b293ad8e348d88aeb63dd7d6f))(better-call@1.3.7(zod@4.3.6))': dependencies: '@better-auth/core': 1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1) '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 - better-auth: 1.6.23(1ed75fb9bf08f6ba6496d8d3414d7193) + better-auth: 1.6.23(21720b1b293ad8e348d88aeb63dd7d6f) better-call: 1.3.7(zod@4.3.6) fast-xml-parser: 5.9.3 jose: 6.1.3 @@ -10171,12 +10642,12 @@ snapshots: tldts: 6.1.86 zod: 4.3.6 - '@better-auth/sso@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(c1a003db19823d196c7d6468bf307df5))(better-call@1.3.7(zod@4.3.6))': + '@better-auth/sso@1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-auth@1.6.23(50bb34a7bc6b1d49ec4ea1a3ccf30b51))(better-call@1.3.7(zod@4.3.6))': dependencies: '@better-auth/core': 1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1) '@better-auth/utils': 0.4.2 '@better-fetch/fetch': 1.3.1 - better-auth: 1.6.23(c1a003db19823d196c7d6468bf307df5) + better-auth: 1.6.23(50bb34a7bc6b1d49ec4ea1a3ccf30b51) better-call: 1.3.7(zod@4.3.6) fast-xml-parser: 5.9.3 jose: 6.1.3 @@ -10305,7 +10776,7 @@ snapshots: '@codemirror/lint@6.9.4': dependencies: '@codemirror/state': 6.7.1 - '@codemirror/view': 6.43.6 + '@codemirror/view': 6.43.8 crelt: 1.0.7 '@codemirror/search@6.7.1': @@ -10322,7 +10793,7 @@ snapshots: dependencies: '@codemirror/language': 6.12.4 '@codemirror/state': 6.7.1 - '@codemirror/view': 6.43.6 + '@codemirror/view': 6.43.8 '@lezer/highlight': 1.2.3 '@codemirror/view@6.43.6': @@ -10332,6 +10803,13 @@ snapshots: style-mod: 4.1.3 w3c-keyname: 2.2.8 + '@codemirror/view@6.43.8': + dependencies: + '@codemirror/state': 6.7.1 + crelt: 1.0.7 + style-mod: 4.1.3 + w3c-keyname: 2.2.8 + '@date-fns/tz@1.5.0': {} '@dokploy/trpc-openapi@0.0.18(@trpc/server@11.10.0(typescript@5.9.3))(zod-openapi@5.4.6(zod@4.3.6))(zod@4.3.6)': @@ -10848,7 +11326,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@mongodb-js/saslprep@1.4.12': + '@mongodb-js/saslprep@1.4.13': dependencies: sparse-bitfield: 3.0.3 optional: true @@ -11130,6 +11608,23 @@ snapshots: '@octokit/request-error': 6.1.8 '@octokit/webhooks-methods': 5.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': {} + '@opentelemetry/api-logs@0.57.2': dependencies: '@opentelemetry/api': 1.9.0 @@ -13776,12 +14271,12 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.3.1 - '@tailwindcss/vite@4.3.3(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1))': + '@tailwindcss/vite@4.3.3(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1))': dependencies: '@tailwindcss/node': 4.3.3 '@tailwindcss/oxide': 4.3.3 tailwindcss: 4.3.3 - vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) '@tanstack/history@1.162.1': {} @@ -13801,6 +14296,136 @@ snapshots: react: 19.2.7 react-dom: 19.2.7(react@19.2.7) + '@tanstack/react-start-client@1.168.23(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@tanstack/react-router': 1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/router-core': 1.171.21 + '@tanstack/start-client-core': 1.170.21 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + + '@tanstack/react-start-rsc@0.1.41(esbuild@0.20.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1))': + dependencies: + '@tanstack/react-router': 1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/router-core': 1.171.21 + '@tanstack/router-utils': 1.162.2 + '@tanstack/start-client-core': 1.170.21 + '@tanstack/start-fn-stubs': 1.162.0 + '@tanstack/start-plugin-core': 1.171.33(@tanstack/react-router@1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) + '@tanstack/start-storage-context': 1.167.23 + pathe: 2.0.3 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + transitivePeerDependencies: + - '@farmfe/core' + - '@rsbuild/core' + - bun-types-no-globals + - crossws + - esbuild + - rolldown + - rollup + - supports-color + - unloader + - vite + - vite-plugin-solid + - webpack + optional: true + + '@tanstack/react-start-rsc@0.1.41(esbuild@0.20.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1))': + dependencies: + '@tanstack/react-router': 1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/router-core': 1.171.21 + '@tanstack/router-utils': 1.162.2 + '@tanstack/start-client-core': 1.170.21 + '@tanstack/start-fn-stubs': 1.162.0 + '@tanstack/start-plugin-core': 1.171.33(@tanstack/react-router@1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) + '@tanstack/start-storage-context': 1.167.23 + pathe: 2.0.3 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + transitivePeerDependencies: + - '@farmfe/core' + - '@rsbuild/core' + - bun-types-no-globals + - crossws + - esbuild + - rolldown + - rollup + - supports-color + - unloader + - vite + - vite-plugin-solid + - webpack + + '@tanstack/react-start-server@1.167.30(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': + dependencies: + '@tanstack/react-router': 1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/router-core': 1.171.21 + '@tanstack/start-server-core': 1.169.25 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + transitivePeerDependencies: + - crossws + + '@tanstack/react-start@1.168.42(esbuild@0.20.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1))': + dependencies: + '@tanstack/react-router': 1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/react-start-client': 1.168.23(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/react-start-rsc': 0.1.41(esbuild@0.20.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) + '@tanstack/react-start-server': 1.167.30(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/router-utils': 1.162.2 + '@tanstack/start-client-core': 1.170.21 + '@tanstack/start-plugin-core': 1.171.33(@tanstack/react-router@1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) + '@tanstack/start-server-core': 1.169.25 + pathe: 2.0.3 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + optionalDependencies: + vite: 7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) + transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - bun-types-no-globals + - crossws + - esbuild + - react-server-dom-rspack + - rolldown + - rollup + - supports-color + - unloader + - vite-plugin-solid + - webpack + optional: true + + '@tanstack/react-start@1.168.42(esbuild@0.20.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1))': + dependencies: + '@tanstack/react-router': 1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/react-start-client': 1.168.23(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/react-start-rsc': 0.1.41(esbuild@0.20.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) + '@tanstack/react-start-server': 1.167.30(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@tanstack/router-utils': 1.162.2 + '@tanstack/start-client-core': 1.170.21 + '@tanstack/start-plugin-core': 1.171.33(@tanstack/react-router@1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) + '@tanstack/start-server-core': 1.169.25 + pathe: 2.0.3 + react: 19.2.7 + react-dom: 19.2.7(react@19.2.7) + optionalDependencies: + vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) + transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - bun-types-no-globals + - crossws + - esbuild + - react-server-dom-rspack + - rolldown + - rollup + - supports-color + - unloader + - vite-plugin-solid + - webpack + '@tanstack/react-store@0.9.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: '@tanstack/store': 0.9.3 @@ -13823,31 +14448,56 @@ snapshots: '@tanstack/router-generator@1.167.27': dependencies: - '@babel/types': 7.29.0 + '@babel/types': 7.29.8 '@tanstack/router-core': 1.171.21 '@tanstack/router-utils': 1.162.2 '@tanstack/virtual-file-routes': 1.162.0 jiti: 2.7.0 magic-string: 0.30.21 - prettier: 3.8.1 + prettier: 3.9.6 zod: 4.4.3 transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.168.29(@tanstack/react-router@1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1))': + '@tanstack/router-plugin@1.168.29(@tanstack/react-router@1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1))': dependencies: - '@babel/core': 7.29.0 - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 + '@babel/core': 7.29.7 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 '@tanstack/router-core': 1.171.21 '@tanstack/router-generator': 1.167.27 '@tanstack/router-utils': 1.162.2 chokidar: 5.0.0 - unplugin: 3.3.0(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1)) + unplugin: 3.3.0(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) zod: 4.4.3 optionalDependencies: '@tanstack/react-router': 1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) + transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - bun-types-no-globals + - esbuild + - rolldown + - rollup + - supports-color + - unloader + optional: true + + '@tanstack/router-plugin@1.168.29(@tanstack/react-router@1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1))': + dependencies: + '@babel/core': 7.29.7 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + '@tanstack/router-core': 1.171.21 + '@tanstack/router-generator': 1.167.27 + '@tanstack/router-utils': 1.162.2 + chokidar: 5.0.0 + unplugin: 3.3.0(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) + zod: 4.4.3 + optionalDependencies: + '@tanstack/react-router': 1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' @@ -13860,17 +14510,119 @@ snapshots: '@tanstack/router-utils@1.162.2': dependencies: - '@babel/generator': 7.29.1 - '@babel/parser': 7.29.0 - '@babel/types': 7.29.0 + '@babel/generator': 7.29.8 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 ansis: 4.3.1 babel-dead-code-elimination: 1.0.12 diff: 8.0.4 pathe: 2.0.3 - tinyglobby: 0.2.15 + tinyglobby: 0.2.17 transitivePeerDependencies: - supports-color + '@tanstack/start-client-core@1.170.21': + dependencies: + '@tanstack/router-core': 1.171.21 + '@tanstack/start-fn-stubs': 1.162.0 + '@tanstack/start-storage-context': 1.167.23 + seroval: 1.6.2 + + '@tanstack/start-fn-stubs@1.162.0': {} + + '@tanstack/start-plugin-core@1.171.33(@tanstack/react-router@1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1))': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/core': 7.29.7 + '@babel/types': 7.29.8 + '@tanstack/router-core': 1.171.21 + '@tanstack/router-generator': 1.167.27 + '@tanstack/router-plugin': 1.168.29(@tanstack/react-router@1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) + '@tanstack/router-utils': 1.162.2 + '@tanstack/start-server-core': 1.169.25 + exsolve: 1.1.1 + lightningcss: 1.33.0 + pathe: 2.0.3 + picomatch: 4.0.5 + seroval: 1.6.2 + source-map: 0.7.6 + srvx: 0.11.22 + tinyglobby: 0.2.17 + ufo: 1.6.4 + vitefu: 1.1.3(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) + xmlbuilder2: 4.0.3 + zod: 4.4.3 + optionalDependencies: + vite: 7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) + transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - '@tanstack/react-router' + - bun-types-no-globals + - crossws + - esbuild + - rolldown + - rollup + - supports-color + - unloader + - vite-plugin-solid + - webpack + optional: true + + '@tanstack/start-plugin-core@1.171.33(@tanstack/react-router@1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1))': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/core': 7.29.7 + '@babel/types': 7.29.8 + '@tanstack/router-core': 1.171.21 + '@tanstack/router-generator': 1.167.27 + '@tanstack/router-plugin': 1.168.29(@tanstack/react-router@1.170.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) + '@tanstack/router-utils': 1.162.2 + '@tanstack/start-server-core': 1.169.25 + exsolve: 1.1.1 + lightningcss: 1.33.0 + pathe: 2.0.3 + picomatch: 4.0.5 + seroval: 1.6.2 + source-map: 0.7.6 + srvx: 0.11.22 + tinyglobby: 0.2.17 + ufo: 1.6.4 + vitefu: 1.1.3(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) + xmlbuilder2: 4.0.3 + zod: 4.4.3 + optionalDependencies: + vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) + transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - '@tanstack/react-router' + - bun-types-no-globals + - crossws + - esbuild + - rolldown + - rollup + - supports-color + - unloader + - vite-plugin-solid + - webpack + + '@tanstack/start-server-core@1.169.25': + dependencies: + '@tanstack/history': 1.162.1 + '@tanstack/router-core': 1.171.21 + '@tanstack/start-client-core': 1.170.21 + '@tanstack/start-storage-context': 1.167.23 + fetchdts: 0.1.7 + h3-v2: h3@2.0.1-rc.20 + seroval: 1.6.2 + transitivePeerDependencies: + - crossws + + '@tanstack/start-storage-context@1.167.23': + dependencies: + '@tanstack/router-core': 1.171.21 + '@tanstack/store@0.9.3': {} '@tanstack/table-core@8.21.3': {} @@ -13890,11 +14642,11 @@ snapshots: '@trpc/server': 11.10.0(typescript@5.9.3) typescript: 5.9.3 - '@trpc/next@11.10.0(@tanstack/react-query@5.90.21(react@19.2.7))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.10.0(@tanstack/react-query@5.90.21(react@19.2.7))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.7)(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)': + '@trpc/next@11.10.0(@tanstack/react-query@5.90.21(react@19.2.7))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.10.0(@tanstack/react-query@5.90.21(react@19.2.7))(@trpc/client@11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(react@19.2.7)(typescript@5.9.3))(@trpc/server@11.10.0(typescript@5.9.3))(next@16.2.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)': dependencies: '@trpc/client': 11.10.0(@trpc/server@11.10.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.10.0(typescript@5.9.3) - next: 16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + next: 16.2.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) typescript: 5.9.3 @@ -14200,7 +14952,7 @@ snapshots: '@vercel/oidc@3.1.0': {} - '@vitejs/plugin-react@5.2.0(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1))': + '@vitejs/plugin-react@5.2.0(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-react-jsx-self': 7.29.7(@babel/core@7.29.0) @@ -14208,7 +14960,7 @@ snapshots: '@rolldown/pluginutils': 1.0.0-rc.3 '@types/babel__core': 7.20.5 react-refresh: 0.18.0 - vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) transitivePeerDependencies: - supports-color @@ -14221,22 +14973,22 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1))': + '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1))': dependencies: '@vitest/spy': 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) optional: true - '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1))': + '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1))': dependencies: '@vitest/spy': 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) '@vitest/pretty-format@4.0.18': dependencies: @@ -14448,10 +15200,10 @@ snapshots: babel-dead-code-elimination@1.0.12: dependencies: - '@babel/core': 7.29.0 - '@babel/parser': 7.29.0 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 + '@babel/core': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color @@ -14465,6 +15217,8 @@ snapshots: baseline-browser-mapping@2.10.0: {} + baseline-browser-mapping@2.11.13: {} + bcrypt-pbkdf@1.0.2: dependencies: tweetnacl: 0.14.5 @@ -14479,7 +15233,7 @@ snapshots: before-after-hook@2.2.3: {} - better-auth@1.6.23(1ed75fb9bf08f6ba6496d8d3414d7193): + better-auth@1.6.23(21720b1b293ad8e348d88aeb63dd7d6f): dependencies: '@better-auth/core': 1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1) '@better-auth/drizzle-adapter': 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)))(@types/pg@8.16.0)(better-sqlite3@12.6.2)(kysely@0.29.3)(mysql2@3.15.3)(pg@8.18.0)(postgres@3.4.4)(prisma@7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))) @@ -14500,22 +15254,23 @@ snapshots: zod: 4.3.6 optionalDependencies: '@prisma/client': 5.22.0(prisma@7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)) + '@tanstack/react-start': 1.168.42(esbuild@0.20.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) better-sqlite3: 12.6.2 drizzle-kit: 0.31.9 drizzle-orm: 0.45.2(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)))(@types/pg@8.16.0)(better-sqlite3@12.6.2)(kysely@0.29.3)(mysql2@3.15.3)(pg@8.18.0)(postgres@3.4.4)(prisma@7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)) mongodb: 7.1.0(socks@2.8.8) mysql2: 3.15.3 - next: 16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + next: 16.2.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) pg: 8.18.0 prisma: 7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1) + vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) transitivePeerDependencies: - '@cloudflare/workers-types' - '@opentelemetry/api' - better-auth@1.6.23(c1a003db19823d196c7d6468bf307df5): + better-auth@1.6.23(50bb34a7bc6b1d49ec4ea1a3ccf30b51): dependencies: '@better-auth/core': 1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1) '@better-auth/drizzle-adapter': 1.6.23(@better-auth/core@1.6.23(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.0)(better-call@1.3.7(zod@4.3.6))(jose@6.1.3)(kysely@0.29.3)(nanostores@1.1.1))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)))(@types/pg@8.16.0)(better-sqlite3@12.6.2)(kysely@0.29.3)(mysql2@3.15.3)(pg@8.18.0)(postgres@3.4.4)(prisma@7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))) @@ -14536,17 +15291,18 @@ snapshots: zod: 4.3.6 optionalDependencies: '@prisma/client': 5.22.0(prisma@7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)) + '@tanstack/react-start': 1.168.42(esbuild@0.20.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) better-sqlite3: 12.6.2 drizzle-kit: 0.31.9 drizzle-orm: 0.45.2(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)))(@types/pg@8.16.0)(better-sqlite3@12.6.2)(kysely@0.29.3)(mysql2@3.15.3)(pg@8.18.0)(postgres@3.4.4)(prisma@7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)) mongodb: 7.1.0(socks@2.8.8) mysql2: 3.15.3 - next: 16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + next: 16.2.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) pg: 8.18.0 prisma: 7.4.1(@types/react@18.3.5)(better-sqlite3@12.6.2)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1) + vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) transitivePeerDependencies: - '@cloudflare/workers-types' - '@opentelemetry/api' @@ -14638,6 +15394,14 @@ snapshots: node-releases: 2.0.27 update-browserslist-db: 1.2.3(browserslist@4.28.1) + browserslist@4.28.8: + dependencies: + baseline-browser-mapping: 2.11.13 + caniuse-lite: 1.0.30001809 + electron-to-chromium: 1.5.404 + node-releases: 2.0.53 + update-browserslist-db: 1.3.1(browserslist@4.28.8) + bson@7.3.1: optional: true @@ -14684,7 +15448,7 @@ snapshots: confbox: 0.2.4 defu: 6.1.7 dotenv: 16.6.1 - exsolve: 1.1.0 + exsolve: 1.1.1 giget: 2.0.0 jiti: 2.7.0 ohash: 2.0.11 @@ -14733,6 +15497,8 @@ snapshots: caniuse-lite@1.0.30001774: {} + caniuse-lite@1.0.30001809: {} + canonicalize@1.0.8: {} ccount@2.0.1: {} @@ -14838,6 +15604,12 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + cliui@9.0.1: + dependencies: + string-width: 7.2.0 + strip-ansi: 7.1.2 + wrap-ansi: 9.0.2 + clsx@2.1.1: {} cluster-key-slot@1.1.2: {} @@ -14868,7 +15640,7 @@ snapshots: '@codemirror/lint': 6.9.4 '@codemirror/search': 6.7.1 '@codemirror/state': 6.7.1 - '@codemirror/view': 6.43.6 + '@codemirror/view': 6.43.8 color-convert@2.0.1: dependencies: @@ -14898,6 +15670,15 @@ snapshots: concat-map@0.0.1: {} + concurrently@10.0.4: + dependencies: + chalk: 5.6.2 + rxjs: 7.8.2 + shell-quote: 1.9.0 + supports-color: 10.2.2 + tree-kill: 1.2.2 + yargs: 18.0.0 + conf@10.2.0: dependencies: ajv: 8.20.0 @@ -15261,6 +16042,8 @@ snapshots: electron-to-chromium@1.5.302: {} + electron-to-chromium@1.5.404: {} + emoji-regex@10.6.0: {} emoji-regex@8.0.0: {} @@ -15470,8 +16253,7 @@ snapshots: transitivePeerDependencies: - supports-color - exsolve@1.1.0: - optional: true + exsolve@1.1.1: {} extend@3.0.2: {} @@ -15532,11 +16314,17 @@ snapshots: optionalDependencies: picomatch: 4.0.4 + fdir@6.5.0(picomatch@4.0.5): + optionalDependencies: + picomatch: 4.0.5 + fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 + fetchdts@0.1.7: {} + figures@6.1.0: dependencies: is-unicode-supported: 2.1.0 @@ -15712,7 +16500,7 @@ snapshots: consola: 3.4.2 defu: 6.1.7 node-fetch-native: 1.6.7 - nypm: 0.6.8 + nypm: 0.6.9 pathe: 2.0.3 optional: true @@ -15777,7 +16565,7 @@ snapshots: graceful-fs@4.2.11: {} - grammex@3.1.12: + grammex@3.1.13: optional: true graphmatch@1.1.1: @@ -15795,6 +16583,11 @@ snapshots: ufo: 1.6.3 uncrypto: 0.1.3 + h3@2.0.1-rc.20: + dependencies: + rou3: 0.8.1 + srvx: 0.11.22 + has-flag@4.0.0: {} has-property-descriptors@1.0.2: @@ -16003,7 +16796,7 @@ snapshots: express: 5.2.1 h3: 1.15.1 hono: 4.12.2 - next: 16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + next: 16.2.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) typescript: 5.9.3 transitivePeerDependencies: - encoding @@ -16050,6 +16843,9 @@ snapshots: ip-address@10.2.0: {} + ip-address@10.5.0: + optional: true + ip-regex@5.0.0: {} ipaddr.js@1.9.1: {} @@ -16178,6 +16974,10 @@ snapshots: dependencies: argparse: 2.0.1 + js-yaml@4.3.1: + dependencies: + argparse: 2.0.1 + jsesc@3.1.0: {} json-bigint@1.0.0: @@ -16247,36 +17047,69 @@ snapshots: lightningcss-android-arm64@1.32.0: optional: true + lightningcss-android-arm64@1.33.0: + optional: true + lightningcss-darwin-arm64@1.32.0: optional: true + lightningcss-darwin-arm64@1.33.0: + optional: true + lightningcss-darwin-x64@1.32.0: optional: true + lightningcss-darwin-x64@1.33.0: + optional: true + lightningcss-freebsd-x64@1.32.0: optional: true + lightningcss-freebsd-x64@1.33.0: + optional: true + lightningcss-linux-arm-gnueabihf@1.32.0: optional: true + lightningcss-linux-arm-gnueabihf@1.33.0: + optional: true + lightningcss-linux-arm64-gnu@1.32.0: optional: true + lightningcss-linux-arm64-gnu@1.33.0: + optional: true + lightningcss-linux-arm64-musl@1.32.0: optional: true + lightningcss-linux-arm64-musl@1.33.0: + optional: true + lightningcss-linux-x64-gnu@1.32.0: optional: true + lightningcss-linux-x64-gnu@1.33.0: + optional: true + lightningcss-linux-x64-musl@1.32.0: optional: true + lightningcss-linux-x64-musl@1.33.0: + optional: true + lightningcss-win32-arm64-msvc@1.32.0: optional: true + lightningcss-win32-arm64-msvc@1.33.0: + optional: true + lightningcss-win32-x64-msvc@1.32.0: optional: true + lightningcss-win32-x64-msvc@1.33.0: + optional: true + lightningcss@1.32.0: dependencies: detect-libc: 2.1.2 @@ -16293,6 +17126,22 @@ snapshots: lightningcss-win32-arm64-msvc: 1.32.0 lightningcss-win32-x64-msvc: 1.32.0 + lightningcss@1.33.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.33.0 + lightningcss-darwin-arm64: 1.33.0 + lightningcss-darwin-x64: 1.33.0 + lightningcss-freebsd-x64: 1.33.0 + lightningcss-linux-arm-gnueabihf: 1.33.0 + lightningcss-linux-arm64-gnu: 1.33.0 + lightningcss-linux-arm64-musl: 1.33.0 + lightningcss-linux-x64-gnu: 1.33.0 + lightningcss-linux-x64-musl: 1.33.0 + lightningcss-win32-arm64-msvc: 1.33.0 + lightningcss-win32-x64-msvc: 1.33.0 + lilconfig@2.1.0: optional: true @@ -16393,7 +17242,7 @@ snapshots: fault: 1.0.4 highlight.js: 10.7.3 - lru-cache@11.2.6: {} + lru-cache@11.5.2: {} lru-cache@5.1.1: dependencies: @@ -16736,7 +17585,7 @@ snapshots: module-details-from-path@1.0.4: {} - mongodb-connection-string-url@7.0.1: + mongodb-connection-string-url@7.0.2: dependencies: '@types/whatwg-url': 13.0.0 whatwg-url: 14.2.0 @@ -16744,9 +17593,9 @@ snapshots: mongodb@7.1.0(socks@2.8.8): dependencies: - '@mongodb-js/saslprep': 1.4.12 + '@mongodb-js/saslprep': 1.4.13 bson: 7.3.1 - mongodb-connection-string-url: 7.0.1 + mongodb-connection-string-url: 7.0.2 optionalDependencies: socks: 2.8.8 optional: true @@ -16811,13 +17660,13 @@ snapshots: neotraverse@0.6.18: {} - next-themes@0.2.1(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + next-themes@0.2.1(next@16.2.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: - next: 16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + next: 16.2.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + next@16.2.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: '@next/env': 16.2.6 '@swc/helpers': 0.5.15 @@ -16826,7 +17675,7 @@ snapshots: postcss: 8.4.31 react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.7) + styled-jsx: 5.1.6(@babel/core@7.29.7)(react@19.2.7) optionalDependencies: '@next/swc-darwin-arm64': 16.2.6 '@next/swc-darwin-x64': 16.2.6 @@ -16842,9 +17691,9 @@ snapshots: - '@babel/core' - babel-plugin-macros - nextjs-toploader@3.9.17(next@16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7): + nextjs-toploader@3.9.17(next@16.2.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7): dependencies: - next: 16.2.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + next: 16.2.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) nprogress: 0.2.0 prop-types: 15.8.1 react: 19.2.7 @@ -16899,6 +17748,8 @@ snapshots: node-releases@2.0.27: {} + node-releases@2.0.53: {} + node-rsa@1.1.1: dependencies: asn1: 0.2.6 @@ -16941,11 +17792,11 @@ snapshots: nprogress@0.2.0: {} - nypm@0.6.8: + nypm@0.6.9: dependencies: citty: 0.2.2 pathe: 2.0.3 - tinyexec: 1.2.4 + tinyexec: 1.3.0 optional: true object-assign@4.1.1: {} @@ -17105,7 +17956,7 @@ snapshots: path-scurry@2.0.2: dependencies: - lru-cache: 11.2.6 + lru-cache: 11.5.2 minipass: 7.1.3 path-to-regexp@8.4.2: {} @@ -17134,6 +17985,9 @@ snapshots: pg-protocol@1.15.0: {} + pg-protocol@1.16.0: + optional: true + pg-types@2.2.0: dependencies: pg-int8: 1.0.1 @@ -17146,7 +18000,7 @@ snapshots: dependencies: pg-connection-string: 2.14.0 pg-pool: 3.14.0(pg@8.18.0) - pg-protocol: 1.15.0 + pg-protocol: 1.16.0 pg-types: 2.2.0 pgpass: 1.0.5 optionalDependencies: @@ -17164,6 +18018,8 @@ snapshots: picomatch@4.0.4: {} + picomatch@4.0.5: {} + pidtree@0.6.0: {} pify@2.3.0: {} @@ -17213,7 +18069,7 @@ snapshots: pkg-types@2.3.1: dependencies: confbox: 0.2.4 - exsolve: 1.1.0 + exsolve: 1.1.1 pathe: 2.0.3 optional: true @@ -17321,6 +18177,8 @@ snapshots: prettier@3.8.1: {} + prettier@3.9.6: {} + pretty-ms@9.3.0: dependencies: parse-ms: 4.0.0 @@ -17895,6 +18753,8 @@ snapshots: rou3@0.7.12: {} + rou3@0.8.1: {} + router@2.2.0: dependencies: debug: 4.4.3 @@ -17911,6 +18771,10 @@ snapshots: dependencies: queue-microtask: 1.2.3 + rxjs@7.8.2: + dependencies: + tslib: 2.8.1 + safe-buffer@5.2.1: {} safe-stable-stringify@2.5.0: {} @@ -18081,6 +18945,8 @@ snapshots: shell-quote@1.8.3: {} + shell-quote@1.9.0: {} + shimmer@1.2.1: {} short-unique-id@5.3.2: {} @@ -18152,7 +19018,7 @@ snapshots: socks@2.8.8: dependencies: - ip-address: 10.2.0 + ip-address: 10.5.0 smart-buffer: 4.2.0 optional: true @@ -18176,6 +19042,8 @@ snapshots: source-map@0.6.1: {} + source-map@0.7.6: {} + space-separated-tokens@2.0.2: {} sparse-bitfield@3.0.3: @@ -18192,6 +19060,8 @@ snapshots: sqlstring@2.3.3: optional: true + srvx@0.11.22: {} + ssh2@1.16.0: dependencies: asn1: 0.2.6 @@ -18294,12 +19164,12 @@ snapshots: dependencies: inline-style-parser: 0.2.7 - styled-jsx@5.1.6(@babel/core@7.29.0)(react@19.2.7): + styled-jsx@5.1.6(@babel/core@7.29.7)(react@19.2.7): dependencies: client-only: 0.0.1 react: 19.2.7 optionalDependencies: - '@babel/core': 7.29.0 + '@babel/core': 7.29.7 sucrase@3.35.1: dependencies: @@ -18315,6 +19185,8 @@ snapshots: dependencies: copy-anything: 4.0.5 + supports-color@10.2.2: {} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -18497,11 +19369,19 @@ snapshots: tinyexec@1.2.4: {} + tinyexec@1.3.0: + optional: true + tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 + tinyglobby@0.2.17: + dependencies: + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 + tinyrainbow@3.0.3: {} tldts-core@6.1.86: {} @@ -18537,6 +19417,8 @@ snapshots: dependencies: tslib: 2.8.1 + tree-kill@1.2.2: {} + tree-sitter-json@0.24.8(tree-sitter@0.21.1): dependencies: node-addon-api: 8.5.0 @@ -18643,6 +19525,8 @@ snapshots: ufo@1.6.3: {} + ufo@1.6.4: {} + uncrypto@0.1.3: {} undici-types@5.26.5: {} @@ -18701,15 +19585,26 @@ snapshots: unpipe@1.0.0: {} - unplugin@3.3.0(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1)): + unplugin@3.3.0(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)): dependencies: '@jridgewell/remapping': 2.3.5 - picomatch: 4.0.4 + picomatch: 4.0.5 webpack-virtual-modules: 0.6.2 optionalDependencies: esbuild: 0.20.2 rollup: 4.59.0 - vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) + optional: true + + unplugin@3.3.0(esbuild@0.20.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)): + dependencies: + '@jridgewell/remapping': 2.3.5 + picomatch: 4.0.5 + webpack-virtual-modules: 0.6.2 + optionalDependencies: + esbuild: 0.20.2 + rollup: 4.59.0 + vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) unraw@3.0.0: {} @@ -18719,6 +19614,12 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + update-browserslist-db@1.3.1(browserslist@4.28.8): + dependencies: + browserslist: 4.28.8 + escalade: 3.2.0 + picocolors: 1.1.1 + url-parse@1.5.10: dependencies: querystringify: 2.2.0 @@ -18793,18 +19694,18 @@ snapshots: d3-time: 3.1.0 d3-timer: 3.0.1 - vite-tsconfig-paths@4.3.2(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1)): + vite-tsconfig-paths@4.3.2(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)): dependencies: debug: 4.4.3 globrex: 0.1.2 tsconfck: 3.1.6(typescript@5.9.3) optionalDependencies: - vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) transitivePeerDependencies: - supports-color - typescript - vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1): + vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1): dependencies: esbuild: 0.20.2 fdir: 6.5.0(picomatch@4.0.4) @@ -18816,12 +19717,12 @@ snapshots: '@types/node': 24.10.13 fsevents: 2.3.3 jiti: 1.21.7 - lightningcss: 1.32.0 + lightningcss: 1.33.0 tsx: 4.22.4 yaml: 2.8.1 optional: true - vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1): + vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1): dependencies: esbuild: 0.20.2 fdir: 6.5.0(picomatch@4.0.4) @@ -18833,14 +19734,23 @@ snapshots: '@types/node': 24.10.13 fsevents: 2.3.3 jiti: 2.7.0 - lightningcss: 1.32.0 + lightningcss: 1.33.0 tsx: 4.22.4 yaml: 2.8.1 - vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1): + vitefu@1.1.3(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)): + optionalDependencies: + vite: 7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) + optional: true + + vitefu@1.1.3(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)): + optionalDependencies: + vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) + + vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1): dependencies: '@vitest/expect': 4.0.18 - '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1)) + '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) '@vitest/pretty-format': 4.0.18 '@vitest/runner': 4.0.18 '@vitest/snapshot': 4.0.18 @@ -18857,7 +19767,7 @@ snapshots: tinyexec: 1.2.4 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.13)(jiti@1.21.7)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.0 @@ -18876,10 +19786,10 @@ snapshots: - yaml optional: true - vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1): + vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1): dependencies: '@vitest/expect': 4.0.18 - '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1)) + '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1)) '@vitest/pretty-format': 4.0.18 '@vitest/runner': 4.0.18 '@vitest/snapshot': 4.0.18 @@ -18896,7 +19806,7 @@ snapshots: tinyexec: 1.2.4 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.10.13)(jiti@2.7.0)(lightningcss@1.33.0)(tsx@4.22.4)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.0 @@ -19023,6 +19933,13 @@ snapshots: xml@1.0.1: {} + xmlbuilder2@4.0.3: + dependencies: + '@oozcitak/dom': 2.0.2 + '@oozcitak/infra': 2.0.2 + '@oozcitak/util': 10.0.0 + js-yaml: 4.3.1 + xpath@0.0.32: {} xpath@0.0.33: {} @@ -19054,6 +19971,8 @@ snapshots: yargs-parser@21.1.1: {} + yargs-parser@22.0.0: {} + yargs@15.4.1: dependencies: cliui: 6.0.0 @@ -19078,6 +19997,15 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 + yargs@18.0.0: + dependencies: + cliui: 9.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + string-width: 7.2.0 + y18n: 5.0.8 + yargs-parser: 22.0.0 + yocto-spinner@1.2.0: dependencies: yoctocolors: 2.1.2 @@ -19088,7 +20016,7 @@ snapshots: zeptomatch@2.1.0: dependencies: - grammex: 3.1.12 + grammex: 3.1.13 graphmatch: 1.1.1 optional: true