diff --git a/.agent/rules/project-rules.md b/.agent/rules/project-rules.md
new file mode 100644
index 0000000..8e81fe5
--- /dev/null
+++ b/.agent/rules/project-rules.md
@@ -0,0 +1,67 @@
+---
+trigger: always_on
+---
+
+## Architecture & Priorities
+
+- This is a PoC: prioritize developer speed and clarity over abstraction.
+- Treat all backends as APIs; do not couple services together.
+- The AI service is stateless and must not call application APIs directly.
+- always use pnpm and pnpx for package management
+
+
+## Monorepo Structure
+
+- This is a TurboRepo monorepo with pnpm workspaces
+- Apps live in `apps/` (currently only tanstack-start)
+- Shared packages live in `packages/`
+- External services live in `services/`
+- Use `turbo.json` for task definitions and caching
+
+## Environment & Configuration
+
+- Use Zod for environment validation in TypeScript packages
+- Follow the pattern in `packages/auth/env.ts` for type-safe env vars
+- Never commit sensitive values; use `example.env` as a template
+- Prefix AI service env vars with `AI_` to avoid conflicts
+
+## Authentication
+
+- Use [WorkOS](https://workos.com/docs/llms.txt) for authentication and organization context.
+- Do not invent custom auth flows.
+- User identity and org context must be passed explicitly to services.
+
+## Frontend & UI
+
+- All reusable UI components must live in the `packages/ui` package. use them
+- Use Tailwind CSS for styling.
+- Prefer shadcn/ui components where applicable.
+- Do not create ad-hoc UI components in app folders.
+
+## Forms & State
+- Here are the Tanstack [docs](https://tanstack.com/llms.txt)
+- Use `@tanstack/react-form` for all forms.
+- Use `@tanstack/react-query` for data fetching, caching, and mutations.
+- Use `@tanstack/react-router` for routing.
+
+## APIs & Data Fetching
+
+- Use tRPC for type-safe application API calls (user data, metrics, app state).
+- Use @hey-api/openapi-ts to generate a typed client for the FastAPI AI service.
+- Do not mix tRPC and OpenAPI clients.
+- Do not have the AI service call the application API.
+
+## Database & Validation
+
+- Use Drizzle ORM for database access.
+- Use Zod for validation.
+- Use `drizzle-zod` for deriving Zod schemas from Drizzle models.
+- Do not duplicate schema definitions manually.
+- Place non-database Zod schemas in the `packages/validators` package.
+
+## AI Service Integration
+
+- The AI service receives all required inputs (user context, metrics, documents).
+- The AI service must not fetch user or metrics data on its own.
+- Inputs should be explicit, minimal, and versionable.
+- AI service shouldn't have a seperate auth flow it should instead use the AI_SERVICE_KEY env var to authenticate requests from the main app which will have that variable sent using a secure header.
\ No newline at end of file
diff --git a/.github/.copilot-instructions.md b/.github/.copilot-instructions.md
index a8a2f30..f58ea44 100644
--- a/.github/.copilot-instructions.md
+++ b/.github/.copilot-instructions.md
@@ -3,6 +3,7 @@
- This is a PoC: prioritize developer speed and clarity over abstraction.
- Treat all backends as APIs; do not couple services together.
- The AI service is stateless and must not call application APIs directly.
+- always use pnpm and pnpx for package management
## Monorepo Structure
@@ -27,7 +28,7 @@
## Frontend & UI
-- All reusable UI components must live in the `packages/ui` package.
+- All reusable UI components must live in the `packages/ui` package. use them
- Use Tailwind CSS for styling.
- Prefer shadcn/ui components where applicable.
- Do not create ad-hoc UI components in app folders.
@@ -41,7 +42,7 @@
## APIs & Data Fetching
- Use tRPC for type-safe application API calls (user data, metrics, app state).
-- Use OpenAPI Generator to generate a typed client for the FastAPI AI service.
+- Use @hey-api/openapi-ts to generate a typed client for the FastAPI AI service.
- Do not mix tRPC and OpenAPI clients.
- Do not have the AI service call the application API.
diff --git a/.gitignore b/.gitignore
index 9f749ad..d301947 100644
--- a/.gitignore
+++ b/.gitignore
@@ -48,6 +48,9 @@ dist/
# tanstack
.tanstack
+# generated SDK
+packages/ai/src/
+
# ========= python =========
# Python-generated files
__pycache__/
diff --git a/apps/tanstack-start/package.json b/apps/tanstack-start/package.json
index 4f8ceb5..e26f9de 100644
--- a/apps/tanstack-start/package.json
+++ b/apps/tanstack-start/package.json
@@ -29,7 +29,7 @@
"@trpc/client": "catalog:",
"@trpc/server": "catalog:",
"@trpc/tanstack-react-query": "catalog:",
- "better-auth": "catalog:",
+ "@workos/authkit-tanstack-react-start": "^0.5.0",
"nitro": "3.0.1-alpha.1",
"react": "catalog:react19",
"react-dom": "catalog:react19",
diff --git a/apps/tanstack-start/src/auth/client.ts b/apps/tanstack-start/src/auth/client.ts
deleted file mode 100644
index f1012dd..0000000
--- a/apps/tanstack-start/src/auth/client.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import { createAuthClient } from "better-auth/react";
-
-export const authClient = createAuthClient();
diff --git a/apps/tanstack-start/src/auth/server.ts b/apps/tanstack-start/src/auth/server.ts
deleted file mode 100644
index 5d59fe6..0000000
--- a/apps/tanstack-start/src/auth/server.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { reactStartCookies } from "better-auth/react-start";
-
-import { initAuth } from "@governance/auth";
-
-import { env } from "~/env";
-import { getBaseUrl } from "~/lib/url";
-
-export const auth = initAuth({
- baseUrl: getBaseUrl(),
- productionUrl: `https://${env.VERCEL_PROJECT_PRODUCTION_URL ?? "turbo.t3.gg"}`,
- secret: env.AUTH_SECRET,
- discordClientId: env.AUTH_DISCORD_ID,
- discordClientSecret: env.AUTH_DISCORD_SECRET,
-
- extraPlugins: [reactStartCookies()],
-});
diff --git a/apps/tanstack-start/src/component/NotFound.tsx b/apps/tanstack-start/src/component/NotFound.tsx
new file mode 100644
index 0000000..c4e06aa
--- /dev/null
+++ b/apps/tanstack-start/src/component/NotFound.tsx
@@ -0,0 +1,26 @@
+import { Link, useLocation } from "@tanstack/react-router";
+
+export function NotFound() {
+ const location = useLocation();
+ console.log("NotFound triggered for path:", location.pathname);
+
+ return (
+
+
404
+
+ Page Not Found
+
+
+
+ Oops! The page you asked for doesn't exist.
+
+
+ Go Home
+
+
+
+ );
+}
diff --git a/apps/tanstack-start/src/component/auth-showcase.tsx b/apps/tanstack-start/src/component/auth-showcase.tsx
index 86a45c2..ff887d0 100644
--- a/apps/tanstack-start/src/component/auth-showcase.tsx
+++ b/apps/tanstack-start/src/component/auth-showcase.tsx
@@ -1,29 +1,30 @@
-import { useNavigate } from "@tanstack/react-router";
+import { useAuth } from "@workos/authkit-tanstack-react-start/client";
+import { getSignInUrl } from "@workos/authkit-tanstack-react-start";
+import { createServerFn } from "@tanstack/react-start";
import { Button } from "@governance/ui/button";
-import { authClient } from "~/auth/client";
+const getSignInUrlFn = createServerFn({ method: "GET" }).handler(async () => {
+ return await getSignInUrl();
+});
export function AuthShowcase() {
- const { data: session } = authClient.useSession();
- const navigate = useNavigate();
+ const { user, loading, signOut } = useAuth();
- if (!session) {
+ if (loading) {
+ return Loading...
;
+ }
+
+ if (!user) {
return (
{
- const res = await authClient.signIn.social({
- provider: "discord",
- callbackURL: "/",
- });
- if (!res.data?.url) {
- throw new Error("No URL returned from signInSocial");
- }
- await navigate({ href: res.data.url, replace: true });
+ const signInUrl = await getSignInUrlFn();
+ window.location.href = signInUrl;
}}
>
- Sign in with Discord
+ Sign in with WorkOS
);
}
@@ -31,16 +32,13 @@ export function AuthShowcase() {
return (
- Logged in as {session.user.name}
+
+ Logged in as {user.firstName} {user.lastName}
+
+
{user.email}
-
{
- await authClient.signOut();
- await navigate({ href: "/", replace: true });
- }}
- >
+ signOut()}>
Sign out
diff --git a/apps/tanstack-start/src/env.ts b/apps/tanstack-start/src/env.ts
index 66f6f20..32477d3 100644
--- a/apps/tanstack-start/src/env.ts
+++ b/apps/tanstack-start/src/env.ts
@@ -1,9 +1,8 @@
+import { authEnv } from "@governance/auth/env";
import { createEnv } from "@t3-oss/env-core";
import { vercel } from "@t3-oss/env-core/presets-zod";
import { z } from "zod/v4";
-import { authEnv } from "@governance/auth/env";
-
export const env = createEnv({
clientPrefix: "VITE_",
extends: [authEnv(), vercel()],
@@ -22,10 +21,10 @@ export const env = createEnv({
/**
* Specify your client-side environment variables schema here.
- * For them to be exposed to the client, prefix them with `NEXT_PUBLIC_`.
+ * For them to be exposed to the client, prefix them with `VITE_`.
*/
client: {
- // NEXT_PUBLIC_CLIENTVAR: z.string(),
+ // VITE_CLIENTVAR: z.string(),
},
/**
* Destructure all variables from `process.env` to make sure they aren't tree-shaken away.
diff --git a/apps/tanstack-start/src/lib/trpc.ts b/apps/tanstack-start/src/lib/trpc.ts
index 70df5fb..c066fde 100644
--- a/apps/tanstack-start/src/lib/trpc.ts
+++ b/apps/tanstack-start/src/lib/trpc.ts
@@ -8,10 +8,10 @@ import {
} from "@trpc/client";
import { createTRPCContext } from "@trpc/tanstack-react-query";
import SuperJSON from "superjson";
+import { getAuth } from "@workos/authkit-tanstack-react-start";
import * as Api from "@governance/api";
-import { auth } from "~/auth/server";
import { env } from "~/env";
import { getBaseUrl } from "~/lib/url";
@@ -22,9 +22,10 @@ export const makeTRPCClient = createIsomorphicFn()
unstable_localLink({
router: Api.appRouter,
transformer: SuperJSON,
- createContext: () => {
+ createContext: async () => {
const headers = new Headers(getRequestHeaders());
headers.set("x-trpc-source", "tanstack-start-server");
+ const auth = await getAuth();
return Api.createTRPCContext({ auth, headers });
},
}),
diff --git a/apps/tanstack-start/src/routeTree.gen.ts b/apps/tanstack-start/src/routeTree.gen.ts
index 14b20b8..3428522 100644
--- a/apps/tanstack-start/src/routeTree.gen.ts
+++ b/apps/tanstack-start/src/routeTree.gen.ts
@@ -11,7 +11,7 @@
import { Route as rootRouteImport } from './routes/__root'
import { Route as IndexRouteImport } from './routes/index'
import { Route as ApiTrpcSplatRouteImport } from './routes/api/trpc.$'
-import { Route as ApiAuthSplatRouteImport } from './routes/api/auth.$'
+import { Route as ApiAuthCallbackRouteImport } from './routes/api/auth/callback'
const IndexRoute = IndexRouteImport.update({
id: '/',
@@ -23,39 +23,39 @@ const ApiTrpcSplatRoute = ApiTrpcSplatRouteImport.update({
path: '/api/trpc/$',
getParentRoute: () => rootRouteImport,
} as any)
-const ApiAuthSplatRoute = ApiAuthSplatRouteImport.update({
- id: '/api/auth/$',
- path: '/api/auth/$',
+const ApiAuthCallbackRoute = ApiAuthCallbackRouteImport.update({
+ id: '/api/auth/callback',
+ path: '/api/auth/callback',
getParentRoute: () => rootRouteImport,
} as any)
export interface FileRoutesByFullPath {
'/': typeof IndexRoute
- '/api/auth/$': typeof ApiAuthSplatRoute
+ '/api/auth/callback': typeof ApiAuthCallbackRoute
'/api/trpc/$': typeof ApiTrpcSplatRoute
}
export interface FileRoutesByTo {
'/': typeof IndexRoute
- '/api/auth/$': typeof ApiAuthSplatRoute
+ '/api/auth/callback': typeof ApiAuthCallbackRoute
'/api/trpc/$': typeof ApiTrpcSplatRoute
}
export interface FileRoutesById {
__root__: typeof rootRouteImport
'/': typeof IndexRoute
- '/api/auth/$': typeof ApiAuthSplatRoute
+ '/api/auth/callback': typeof ApiAuthCallbackRoute
'/api/trpc/$': typeof ApiTrpcSplatRoute
}
export interface FileRouteTypes {
fileRoutesByFullPath: FileRoutesByFullPath
- fullPaths: '/' | '/api/auth/$' | '/api/trpc/$'
+ fullPaths: '/' | '/api/auth/callback' | '/api/trpc/$'
fileRoutesByTo: FileRoutesByTo
- to: '/' | '/api/auth/$' | '/api/trpc/$'
- id: '__root__' | '/' | '/api/auth/$' | '/api/trpc/$'
+ to: '/' | '/api/auth/callback' | '/api/trpc/$'
+ id: '__root__' | '/' | '/api/auth/callback' | '/api/trpc/$'
fileRoutesById: FileRoutesById
}
export interface RootRouteChildren {
IndexRoute: typeof IndexRoute
- ApiAuthSplatRoute: typeof ApiAuthSplatRoute
+ ApiAuthCallbackRoute: typeof ApiAuthCallbackRoute
ApiTrpcSplatRoute: typeof ApiTrpcSplatRoute
}
@@ -75,11 +75,11 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof ApiTrpcSplatRouteImport
parentRoute: typeof rootRouteImport
}
- '/api/auth/$': {
- id: '/api/auth/$'
- path: '/api/auth/$'
- fullPath: '/api/auth/$'
- preLoaderRoute: typeof ApiAuthSplatRouteImport
+ '/api/auth/callback': {
+ id: '/api/auth/callback'
+ path: '/api/auth/callback'
+ fullPath: '/api/auth/callback'
+ preLoaderRoute: typeof ApiAuthCallbackRouteImport
parentRoute: typeof rootRouteImport
}
}
@@ -87,7 +87,7 @@ declare module '@tanstack/react-router' {
const rootRouteChildren: RootRouteChildren = {
IndexRoute: IndexRoute,
- ApiAuthSplatRoute: ApiAuthSplatRoute,
+ ApiAuthCallbackRoute: ApiAuthCallbackRoute,
ApiTrpcSplatRoute: ApiTrpcSplatRoute,
}
export const routeTree = rootRouteImport
@@ -95,10 +95,11 @@ export const routeTree = rootRouteImport
._addFileTypes()
import type { getRouter } from './router.tsx'
-import type { createStart } from '@tanstack/react-start'
+import type { startInstance } from './start.ts'
declare module '@tanstack/react-start' {
interface Register {
ssr: true
router: Awaited>
+ config: Awaited>
}
}
diff --git a/apps/tanstack-start/src/routes/__root.tsx b/apps/tanstack-start/src/routes/__root.tsx
index 66bb2a5..91082f9 100644
--- a/apps/tanstack-start/src/routes/__root.tsx
+++ b/apps/tanstack-start/src/routes/__root.tsx
@@ -9,13 +9,20 @@ import {
Scripts,
} from "@tanstack/react-router";
import { TanStackRouterDevtools } from "@tanstack/react-router-devtools";
+import { AuthKitProvider } from "@workos/authkit-tanstack-react-start/client";
import type { AppRouter } from "@governance/api";
-import { ThemeProvider, ThemeToggle } from "@governance/ui/theme";
+import {
+ themeDetectorScript,
+ ThemeProvider,
+ ThemeToggle,
+} from "@governance/ui/theme";
import { Toaster } from "@governance/ui/toast";
import appCss from "~/styles.css?url";
+import { NotFound } from "../component/NotFound";
+
export const Route = createRootRouteWithContext<{
queryClient: QueryClient;
trpc: TRPCOptionsProxy;
@@ -24,13 +31,16 @@ export const Route = createRootRouteWithContext<{
links: [{ rel: "stylesheet", href: appCss }],
}),
component: RootComponent,
+ notFoundComponent: NotFound,
});
function RootComponent() {
return (
-
-
-
+
+
+
+
+
);
}
@@ -40,6 +50,10 @@ function RootDocument({ children }: { children: React.ReactNode }) {
+
{children}
@@ -51,6 +65,6 @@ function RootDocument({ children }: { children: React.ReactNode }) {
-
+
);
}
diff --git a/apps/tanstack-start/src/routes/api/auth.$.ts b/apps/tanstack-start/src/routes/api/auth.$.ts
deleted file mode 100644
index 5c88113..0000000
--- a/apps/tanstack-start/src/routes/api/auth.$.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { createFileRoute } from "@tanstack/react-router";
-
-import { auth } from "~/auth/server";
-
-export const Route = createFileRoute("/api/auth/$")({
- server: {
- handlers: {
- GET: ({ request }) => auth.handler(request),
- POST: ({ request }) => auth.handler(request),
- },
- },
-});
diff --git a/apps/tanstack-start/src/routes/api/auth/callback.tsx b/apps/tanstack-start/src/routes/api/auth/callback.tsx
new file mode 100644
index 0000000..faf3097
--- /dev/null
+++ b/apps/tanstack-start/src/routes/api/auth/callback.tsx
@@ -0,0 +1,10 @@
+import { createFileRoute } from "@tanstack/react-router";
+import { handleCallbackRoute } from "@workos/authkit-tanstack-react-start";
+
+export const Route = createFileRoute("/api/auth/callback")({
+ server: {
+ handlers: {
+ GET: handleCallbackRoute(),
+ },
+ },
+});
diff --git a/apps/tanstack-start/src/routes/api/trpc.$.ts b/apps/tanstack-start/src/routes/api/trpc.$.ts
index 4abaa71..1ebb57e 100644
--- a/apps/tanstack-start/src/routes/api/trpc.$.ts
+++ b/apps/tanstack-start/src/routes/api/trpc.$.ts
@@ -1,24 +1,26 @@
import { createFileRoute } from "@tanstack/react-router";
import { fetchRequestHandler } from "@trpc/server/adapters/fetch";
+import { getAuth } from "@workos/authkit-tanstack-react-start";
import { appRouter, createTRPCContext } from "@governance/api";
-import { auth } from "~/auth/server";
+const handler = async (req: Request) => {
+ const auth = await getAuth();
-const handler = (req: Request) =>
- fetchRequestHandler({
+ return fetchRequestHandler({
endpoint: "/api/trpc",
router: appRouter,
req,
createContext: () =>
createTRPCContext({
- auth: auth,
+ auth,
headers: req.headers,
}),
onError({ error, path }) {
console.error(`>>> tRPC Error on '${path}'`, error);
},
});
+};
export const Route = createFileRoute("/api/trpc/$")({
server: {
diff --git a/apps/tanstack-start/src/start.ts b/apps/tanstack-start/src/start.ts
new file mode 100644
index 0000000..5a7d1c8
--- /dev/null
+++ b/apps/tanstack-start/src/start.ts
@@ -0,0 +1,6 @@
+import { createStart } from "@tanstack/react-start";
+import { authkitMiddleware } from "@workos/authkit-tanstack-react-start";
+
+export const startInstance = createStart(() => ({
+ requestMiddleware: [authkitMiddleware()],
+}));
diff --git a/docker-compose.yml b/docker-compose.yml
index 8c1a48b..35e01ce 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -19,8 +19,8 @@ services:
- "5001:3000"
environment:
- NODE_ENV=production
- - NEXT_TELEMETRY_DISABLED=1
- AI_HOST=ai_service
+ - POSTGRES_URL=postgresql://postgres:password@application_db:5432/app_db
depends_on:
application_db:
condition: service_healthy
@@ -51,7 +51,7 @@ services:
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
- POSTGRES_DB: postgres
+ POSTGRES_DB: app_db
ports:
- "5432:5432"
volumes:
diff --git a/example.env b/example.env
index c381413..8826c7a 100644
--- a/example.env
+++ b/example.env
@@ -1,5 +1,5 @@
# Docker environment variables
-# Copy this file to .env.local and update with your values
+# Copy this file to .env and update with your values
# AI Service Configuration
OPENAI_API_KEY=your_openai_api_key_here
@@ -9,15 +9,24 @@ AI_SERVICE_KEY="super-secret-internal-key"
# Database Configuration
-DATABASE_URL=postgresql://user:password@application_db:5432/app_db
+POSTGRES_URL=postgresql://user:password@application_db:5432/app_db
-# Next.js Configuration
-NEXT_PUBLIC_API_URL=http://localhost:5000
-NEXTAUTH_SECRET=your_nextauth_secret_here
-NEXTAUTH_URL=http://localhost:5001
-AUTH_SECRET='supersecret'
+# WorkOS AuthKit Configuration
+# Get these from the WorkOS Dashboard: https://dashboard.workos.com
+WORKOS_CLIENT_ID="client_..."
+WORKOS_API_KEY="sk_test_..."
+WORKOS_REDIRECT_URI="http://localhost:3001/api/auth/callback"
+# Generate a secure 32+ character password: openssl rand -base64 24
+WORKOS_COOKIE_PASSWORD="your-secure-cookie-password-here"
+
+# Optional WorkOS Configuration
+# WORKOS_COOKIE_MAX_AGE=34560000
+# WORKOS_COOKIE_NAME=wos-session
+# WORKOS_COOKIE_DOMAIN=
+# WORKOS_COOKIE_SAMESITE=lax
+
+# AI Service URL
AI_SERVICE_URL=http://localhost:5000
-AI_SERVICE_KEY="super-secret-internal-key"
# Development settings
NODE_ENV=development
diff --git a/package.json b/package.json
index 6d05aa4..f08ffad 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,8 @@
"lint:ws": "pnpm dlx sherif@latest",
"postinstall": "pnpm lint:ws",
"typecheck": "turbo run typecheck",
- "ui-add": "turbo run ui-add"
+ "ui-add": "turbo run ui-add",
+ "ai-service:generate": "pnpm dlx @hey-api/openapi-ts -i http://localhost:8000/openapi.json"
},
"devDependencies": {
"@governance/prettier-config": "workspace:*",
diff --git a/packages/api/package.json b/packages/api/package.json
index d6ad022..79f4f40 100644
--- a/packages/api/package.json
+++ b/packages/api/package.json
@@ -29,6 +29,7 @@
"@governance/eslint-config": "workspace:*",
"@governance/prettier-config": "workspace:*",
"@governance/tsconfig": "workspace:*",
+ "@types/node": "catalog:",
"eslint": "catalog:",
"prettier": "catalog:",
"typescript": "catalog:"
diff --git a/packages/api/src/trpc.ts b/packages/api/src/trpc.ts
index dafc12c..7a1734c 100644
--- a/packages/api/src/trpc.ts
+++ b/packages/api/src/trpc.ts
@@ -10,7 +10,7 @@ import { initTRPC, TRPCError } from "@trpc/server";
import superjson from "superjson";
import { z, ZodError } from "zod/v4";
-import type { Auth } from "@governance/auth";
+import type { UserInfo, NoUserInfo } from "@governance/auth";
import { db } from "@governance/db/client";
/**
@@ -28,14 +28,10 @@ import { db } from "@governance/db/client";
export const createTRPCContext = async (opts: {
headers: Headers;
- auth: Auth;
+ auth: UserInfo | NoUserInfo;
}) => {
- const authApi = opts.auth.api;
- const session = await authApi.getSession({
- headers: opts.headers,
- });
+ const session = opts.auth;
return {
- authApi,
session,
db,
};
@@ -122,7 +118,7 @@ export const protectedProcedure = t.procedure
return next({
ctx: {
// infers the `session` as non-nullable
- session: { ...ctx.session, user: ctx.session.user },
+ session: ctx.session as UserInfo,
},
});
});
diff --git a/packages/auth/env.ts b/packages/auth/env.ts
index 6b40d33..722623b 100644
--- a/packages/auth/env.ts
+++ b/packages/auth/env.ts
@@ -4,10 +4,15 @@ import { z } from "zod/v4";
export function authEnv() {
return createEnv({
server: {
- AUTH_SECRET:
- process.env.NODE_ENV === "production"
- ? z.string().min(1)
- : z.string().min(1).optional(),
+ WORKOS_API_KEY: z.string().min(1),
+ WORKOS_CLIENT_ID: z.string().min(1),
+ WORKOS_REDIRECT_URI: z.string().url(),
+ WORKOS_COOKIE_PASSWORD: z.string().min(32),
+ // Optional WorkOS configuration
+ WORKOS_COOKIE_MAX_AGE: z.coerce.number().optional(),
+ WORKOS_COOKIE_NAME: z.string().optional(),
+ WORKOS_COOKIE_DOMAIN: z.string().optional(),
+ WORKOS_COOKIE_SAMESITE: z.enum(["lax", "strict", "none"]).optional(),
NODE_ENV: z.enum(["development", "production"]).optional(),
},
runtimeEnv: process.env,
diff --git a/packages/auth/package.json b/packages/auth/package.json
index 7b30360..2e4ce4a 100644
--- a/packages/auth/package.json
+++ b/packages/auth/package.json
@@ -4,8 +4,6 @@
"type": "module",
"exports": {
".": "./src/index.ts",
- "./middleware": "./src/middleware.ts",
- "./client": "./src/client.ts",
"./env": "./env.ts"
},
"license": "MIT",
@@ -13,20 +11,18 @@
"clean": "git clean -xdf .cache .turbo dist node_modules",
"format": "prettier --check . --ignore-path ../../.gitignore",
"lint": "eslint --flag unstable_native_nodejs_ts_config",
- "generate": "dotenv -e ../../.env -- pnpx @better-auth/cli generate --config script/auth-cli.ts --output ../db/src/auth-schema.ts",
"typecheck": "tsc --noEmit"
},
"dependencies": {
- "@governance/db": "workspace:*",
"@t3-oss/env-core": "^0.13.8",
- "better-auth": "catalog:",
+ "@workos/authkit-tanstack-react-start": "^0.5.0",
"zod": "catalog:"
},
"devDependencies": {
- "@better-auth/cli": "catalog:",
"@governance/eslint-config": "workspace:*",
"@governance/prettier-config": "workspace:*",
"@governance/tsconfig": "workspace:*",
+ "@types/node": "catalog:",
"eslint": "catalog:",
"prettier": "catalog:",
"typescript": "catalog:"
diff --git a/packages/auth/script/auth-cli.ts b/packages/auth/script/auth-cli.ts
deleted file mode 100644
index fec9d34..0000000
--- a/packages/auth/script/auth-cli.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * @fileoverview Better Auth CLI Configuration
- *
- * This file is used exclusively by the Better Auth CLI to generate database schemas.
- * DO NOT USE THIS FILE DIRECTLY IN YOUR APPLICATION.
- *
- * This configuration is consumed by the CLI command:
- * `pnpx @better-auth/cli generate --config script/auth-cli.ts --output ../db/src/auth-schema.ts`
- *
- * For actual authentication usage, import from "../src/index.ts" instead.
- */
-
-import { initAuth } from "../src/index";
-
-/**
- * CLI-only authentication configuration for schema generation.
- *
- * @warning This configuration is NOT intended for runtime use.
- * @warning Use the main auth configuration from "../src/index.ts" for your application.
- */
-export const auth = initAuth({
- baseUrl: "http://localhost:3000",
- productionUrl: "http://localhost:3000",
- secret: "secret",
-});
diff --git a/packages/auth/src/index.ts b/packages/auth/src/index.ts
index f173692..8a33801 100644
--- a/packages/auth/src/index.ts
+++ b/packages/auth/src/index.ts
@@ -1,40 +1,20 @@
-import type { BetterAuthOptions, BetterAuthPlugin } from "better-auth";
-import { db } from "@governance/db/client";
-import { betterAuth } from "better-auth";
-import { drizzleAdapter } from "better-auth/adapters/drizzle";
-import { oAuthProxy } from "better-auth/plugins";
+/**
+ * WorkOS AuthKit session types for TanStack Start
+ *
+ * This module re-exports the authentication types from the WorkOS AuthKit SDK
+ * for use throughout the application.
+ */
+export type {
+ UserInfo,
+ NoUserInfo,
+} from "@workos/authkit-tanstack-react-start";
-export function initAuth<
- TExtraPlugins extends BetterAuthPlugin[] = [],
->(options: {
- baseUrl: string;
- productionUrl: string;
- secret: string | undefined;
- extraPlugins?: TExtraPlugins;
-}) {
- const config = {
- database: drizzleAdapter(db, {
- provider: "pg",
- }),
- baseURL: options.baseUrl,
- secret: options.secret,
- plugins: [
- oAuthProxy({
- productionURL: options.productionUrl,
- }),
-
- ...(options.extraPlugins ?? []),
- ],
- socialProviders: {},
- onAPIError: {
- onError(error, ctx) {
- console.error("BETTER AUTH API ERROR", error, ctx);
- },
- },
- } satisfies BetterAuthOptions;
-
- return betterAuth(config);
-}
-
-export type Auth = ReturnType;
-export type Session = Auth["$Infer"]["Session"];
+// Re-export server functions for convenience
+export {
+ getAuth,
+ signOut,
+ getSignInUrl,
+ getSignUpUrl,
+ getAuthorizationUrl,
+ switchToOrganization,
+} from "@workos/authkit-tanstack-react-start";
diff --git a/packages/db/drizzle.config.ts b/packages/db/drizzle.config.ts
index 5b18085..1a85e1c 100644
--- a/packages/db/drizzle.config.ts
+++ b/packages/db/drizzle.config.ts
@@ -4,11 +4,9 @@ if (!process.env.POSTGRES_URL) {
throw new Error("Missing POSTGRES_URL");
}
-const nonPoolingUrl = process.env.POSTGRES_URL.replace(":6543", ":5432");
-
export default {
schema: "./src/schema.ts",
dialect: "postgresql",
- dbCredentials: { url: nonPoolingUrl },
+ dbCredentials: { url: process.env.POSTGRES_URL },
casing: "snake_case",
} satisfies Config;
diff --git a/packages/db/package.json b/packages/db/package.json
index f3d4928..42579b1 100644
--- a/packages/db/package.json
+++ b/packages/db/package.json
@@ -29,15 +29,16 @@
"with-env": "dotenv -e ../../.env --"
},
"dependencies": {
- "@vercel/postgres": "^0.10.0",
"drizzle-orm": "^0.44.7",
"drizzle-zod": "^0.8.3",
+ "postgres": "^3.4.5",
"zod": "catalog:"
},
"devDependencies": {
"@governance/eslint-config": "workspace:*",
"@governance/prettier-config": "workspace:*",
"@governance/tsconfig": "workspace:*",
+ "@types/node": "catalog:",
"drizzle-kit": "^0.31.5",
"eslint": "catalog:",
"prettier": "catalog:",
diff --git a/packages/db/src/client.ts b/packages/db/src/client.ts
index e23181e..5460ebd 100644
--- a/packages/db/src/client.ts
+++ b/packages/db/src/client.ts
@@ -1,10 +1,21 @@
-import { sql } from "@vercel/postgres";
-import { drizzle } from "drizzle-orm/vercel-postgres";
+import { drizzle } from "drizzle-orm/postgres-js";
+import postgres from "postgres";
import * as schema from "./schema";
-export const db = drizzle({
- client: sql,
+const connectionString = process.env.POSTGRES_URL;
+
+if (!connectionString) {
+ throw new Error("Missing POSTGRES_URL environment variable");
+}
+
+/**
+ * Database client using postgres.js
+ * Works with both local Docker containers and Neon (via standard connection string)
+ */
+const client = postgres(connectionString);
+
+export const db = drizzle(client, {
schema,
casing: "snake_case",
});
diff --git a/packages/ui/src/theme.tsx b/packages/ui/src/theme.tsx
index 8cc6f38..9d0b4c4 100644
--- a/packages/ui/src/theme.tsx
+++ b/packages/ui/src/theme.tsx
@@ -134,10 +134,7 @@ export function ThemeProvider({ children }: React.PropsWithChildren) {
toggleMode,
}}
>
-
+
{children}
);
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7eb1ba1..625d27e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,9 +6,6 @@ settings:
catalogs:
default:
- '@better-auth/cli':
- specifier: 1.4.0-beta.9
- version: 1.4.0-beta.9
'@eslint/js':
specifier: ^9.38.0
version: 9.38.0
@@ -39,9 +36,6 @@ catalogs:
'@vitejs/plugin-react':
specifier: 5.1.0
version: 5.1.0
- better-auth:
- specifier: 1.4.0-beta.9
- version: 1.4.0-beta.9
eslint:
specifier: ^9.38.0
version: 9.38.0
@@ -149,12 +143,12 @@ importers:
'@trpc/tanstack-react-query':
specifier: 'catalog:'
version: 11.7.1(@tanstack/react-query@5.90.8(react@19.1.4))(@trpc/client@11.7.1(@trpc/server@11.7.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.7.1(typescript@5.9.3))(react-dom@19.1.4(react@19.1.4))(react@19.1.4)(typescript@5.9.3)
- better-auth:
- specifier: 'catalog:'
- version: 1.4.0-beta.9(better-sqlite3@12.2.0)(react-dom@19.1.4(react@19.1.4))(react@19.1.4)(solid-js@1.9.9)
+ '@workos/authkit-tanstack-react-start':
+ specifier: ^0.5.0
+ version: 0.5.0(@tanstack/react-router@1.135.2(react-dom@19.1.4(react@19.1.4))(react@19.1.4))(@tanstack/react-start@1.135.2(crossws@0.4.1(srvx@0.9.6))(react-dom@19.1.4(react@19.1.4))(react@19.1.4)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)))(react-dom@19.1.4(react@19.1.4))(react@19.1.4)
nitro:
specifier: 3.0.1-alpha.1
- version: 3.0.1-alpha.1(@planetscale/database@1.19.0)(better-sqlite3@12.2.0)(chokidar@4.0.3)(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(prisma@5.22.0))(mysql2@3.11.3)(rollup@4.52.5)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 3.0.1-alpha.1(@planetscale/database@1.19.0)(better-sqlite3@12.2.0)(chokidar@4.0.3)(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.8)(prisma@5.22.0))(mysql2@3.11.3)(rollup@4.52.5)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
react:
specifier: catalog:react19
version: 19.1.4
@@ -244,6 +238,9 @@ importers:
'@governance/tsconfig':
specifier: workspace:*
version: link:../../tooling/typescript
+ '@types/node':
+ specifier: 'catalog:'
+ version: 22.18.12
eslint:
specifier: 'catalog:'
version: 9.38.0(jiti@2.6.1)
@@ -256,22 +253,16 @@ importers:
packages/auth:
dependencies:
- '@governance/db':
- specifier: workspace:*
- version: link:../db
'@t3-oss/env-core':
specifier: ^0.13.8
version: 0.13.8(arktype@2.1.20)(typescript@5.9.3)(valibot@1.0.0-beta.15(typescript@5.9.3))(zod@4.1.12)
- better-auth:
- specifier: 'catalog:'
- version: 1.4.0-beta.9(better-sqlite3@12.2.0)(react@19.2.3)
+ '@workos/authkit-tanstack-react-start':
+ specifier: ^0.5.0
+ version: 0.5.0(@tanstack/react-router@1.135.2(react-dom@19.2.3(react@19.1.4))(react@19.1.4))(@tanstack/react-start@1.135.2(crossws@0.4.1(srvx@0.9.6))(react-dom@19.2.3(react@19.1.4))(react@19.1.4)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)))(react-dom@19.2.3(react@19.1.4))(react@19.1.4)
zod:
specifier: 'catalog:'
version: 4.1.12
devDependencies:
- '@better-auth/cli':
- specifier: 'catalog:'
- version: 1.4.0-beta.9(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@types/pg@8.11.10)(@types/react@19.1.12)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(react@19.2.3)
'@governance/eslint-config':
specifier: workspace:*
version: link:../../tooling/eslint
@@ -281,6 +272,9 @@ importers:
'@governance/tsconfig':
specifier: workspace:*
version: link:../../tooling/typescript
+ '@types/node':
+ specifier: 'catalog:'
+ version: 22.18.12
eslint:
specifier: 'catalog:'
version: 9.38.0(jiti@2.6.1)
@@ -293,15 +287,15 @@ importers:
packages/db:
dependencies:
- '@vercel/postgres':
- specifier: ^0.10.0
- version: 0.10.0(utf-8-validate@6.0.4)
drizzle-orm:
specifier: ^0.44.7
- version: 0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(prisma@5.22.0)
+ version: 0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.8)(prisma@5.22.0)
drizzle-zod:
specifier: ^0.8.3
- version: 0.8.3(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(prisma@5.22.0))(zod@4.1.12)
+ version: 0.8.3(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.8)(prisma@5.22.0))(zod@4.1.12)
+ postgres:
+ specifier: ^3.4.5
+ version: 3.4.8
zod:
specifier: 'catalog:'
version: 4.1.12
@@ -315,6 +309,9 @@ importers:
'@governance/tsconfig':
specifier: workspace:*
version: link:../../tooling/typescript
+ '@types/node':
+ specifier: 'catalog:'
+ version: 22.18.12
drizzle-kit:
specifier: ^0.31.5
version: 0.31.5
@@ -629,18 +626,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-react-display-name@7.28.0':
- resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-react-jsx-development@7.27.1':
- resolution: {integrity: sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-react-jsx-self@7.27.1':
resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==}
engines: {node: '>=6.9.0'}
@@ -653,30 +638,12 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-react-jsx@7.27.1':
- resolution: {integrity: sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-react-pure-annotations@7.27.1':
- resolution: {integrity: sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-transform-typescript@7.28.5':
resolution: {integrity: sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/preset-react@7.27.1':
- resolution: {integrity: sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/preset-typescript@7.28.5':
resolution: {integrity: sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==}
engines: {node: '>=6.9.0'}
@@ -699,50 +666,6 @@ packages:
resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==}
engines: {node: '>=6.9.0'}
- '@better-auth/cli@1.4.0-beta.9':
- resolution: {integrity: sha512-N7poVoYqC+pj4oUabUQN3qz+vnHJEOArPcm00qf9qRJJEGhOa252NX34/utvtfsnvvyXWE7n2U6WQz1lf6JH1w==}
- hasBin: true
-
- '@better-auth/core@1.4.0-beta.9':
- resolution: {integrity: sha512-4YanGHTihKhKamN2T4ndjYTR5By162kk88DPt2xwwVc2t/MnSO7TiVBB0V5gZ6JM6YMX2aSPTfMbk89AEjpvCQ==}
- peerDependencies:
- '@better-auth/utils': 0.3.0
- '@better-fetch/fetch': 1.1.18
- better-call: 1.0.19
- better-sqlite3: ^12.4.1
- jose: ^6.1.0
- kysely: ^0.28.5
- nanostores: ^1.0.1
-
- '@better-auth/telemetry@1.4.0-beta.9':
- resolution: {integrity: sha512-lvl3nq648uAt3ACpjtBBW1Nhec1lxciWYKy+9wgkQRKuE+l4NyxVdfCnDAxxUPAScQNJ+6zMXgt9ZRW5cJJ8bQ==}
- peerDependencies:
- '@better-auth/core': 1.4.0-beta.9
-
- '@better-auth/utils@0.3.0':
- resolution: {integrity: sha512-W+Adw6ZA6mgvnSnhOki270rwJ42t4XzSK6YWGF//BbVXL6SwCLWfyzBc1lN2m/4RM28KubdBKQ4X5VMoLRNPQw==}
-
- '@better-fetch/fetch@1.1.18':
- resolution: {integrity: sha512-rEFOE1MYIsBmoMJtQbl32PGHHXuG2hDxvEd7rUHE0vCBoFQVSDqaVs9hkZEtHCxRoY+CljXKFCOuJ8uxqw1LcA==}
-
- '@chevrotain/cst-dts-gen@10.5.0':
- resolution: {integrity: sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==}
-
- '@chevrotain/gast@10.5.0':
- resolution: {integrity: sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A==}
-
- '@chevrotain/types@10.5.0':
- resolution: {integrity: sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A==}
-
- '@chevrotain/utils@10.5.0':
- resolution: {integrity: sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ==}
-
- '@clack/core@0.5.0':
- resolution: {integrity: sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==}
-
- '@clack/prompts@0.11.0':
- resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==}
-
'@cspotcode/source-map-support@0.8.1':
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
engines: {node: '>=12'}
@@ -761,9 +684,11 @@ packages:
'@esbuild-kit/core-utils@3.3.2':
resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==}
+ deprecated: 'Merged into tsx: https://tsx.is'
'@esbuild-kit/esm-loader@2.6.5':
resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==}
+ deprecated: 'Merged into tsx: https://tsx.is'
'@esbuild/aix-ppc64@0.25.11':
resolution: {integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==}
@@ -1121,9 +1046,6 @@ packages:
'@fontsource-variable/geist@5.2.8':
resolution: {integrity: sha512-cJ6m9e+8MQ5dCYJsLylfZrgBh6KkG4bOLckB35Tr9J/EqdkEM6QllH5PxqP1dhTvFup+HtMRPuz9xOjxXJggxw==}
- '@hexagon/base64@1.1.28':
- resolution: {integrity: sha512-lhqDEAvWixy3bZ+UOYbPwUbBkwBq5C1LAJ/xPC8Oi+lL54oyakv/npbA0aU2hgCsx/1NUd4IBvV03+aUBWxerw==}
-
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
engines: {node: '>=18.18.0'}
@@ -1189,13 +1111,6 @@ packages:
'@jridgewell/trace-mapping@0.3.9':
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
- '@levischuck/tiny-cbor@0.2.11':
- resolution: {integrity: sha512-llBRm4dT4Z89aRsm6u2oEZ8tfwL/2l6BwpZ7JcyieouniDECM5AqNgr/y08zalEIvW3RSK4upYyybDcmjXqAow==}
-
- '@mrleebo/prisma-ast@0.13.0':
- resolution: {integrity: sha512-VxS+okLpNp6YUDLz3rAXv6sE8G4W5cX039bumkPub65xRr9BFxjHaT5ebX4DsiixIGaBwitjWTvx3mAbyI2EUQ==}
- engines: {node: '>=16'}
-
'@napi-rs/wasm-runtime@0.2.12':
resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
@@ -1211,14 +1126,6 @@ packages:
'@next/eslint-plugin-next@16.0.0':
resolution: {integrity: sha512-IB7RzmmtrPOrpAgEBR1PIQPD0yea5lggh5cq54m51jHjjljU80Ia+czfxJYMlSDl1DPvpzb8S9TalCc0VMo9Hw==}
- '@noble/ciphers@2.0.0':
- resolution: {integrity: sha512-j/l6jpnpaIBM87cAYPJzi/6TgqmBv9spkqPyCXvRYsu5uxqh6tPJZDnD85yo8VWqzTuTQPgfv7NgT63u7kbwAQ==}
- engines: {node: '>= 20.19.0'}
-
- '@noble/hashes@2.0.0':
- resolution: {integrity: sha512-h8VUBlE8R42+XIDO229cgisD287im3kdY6nbNZJFjc6ZvKIXPYXe6Vc/t+kyjFdMFyt5JpapzTsEg8n63w5/lw==}
- engines: {node: '>= 20.19.0'}
-
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@@ -1521,21 +1428,6 @@ packages:
cpu: [x64]
os: [win32]
- '@peculiar/asn1-android@2.4.0':
- resolution: {integrity: sha512-YFueREq97CLslZZBI8dKzis7jMfEHSLxM+nr0Zdx1POiXFLjqqwoY5s0F1UimdBiEw/iKlHey2m56MRDv7Jtyg==}
-
- '@peculiar/asn1-ecc@2.4.0':
- resolution: {integrity: sha512-fJiYUBCJBDkjh347zZe5H81BdJ0+OGIg0X9z06v8xXUoql3MFeENUX0JsjCaVaU9A0L85PefLPGYkIoGpTnXLQ==}
-
- '@peculiar/asn1-rsa@2.4.0':
- resolution: {integrity: sha512-6PP75voaEnOSlWR9sD25iCQyLgFZHXbmxvUfnnDcfL6Zh5h2iHW38+bve4LfH7a60x7fkhZZNmiYqAlAff9Img==}
-
- '@peculiar/asn1-schema@2.4.0':
- resolution: {integrity: sha512-umbembjIWOrPSOzEGG5vxFLkeM8kzIhLkgigtsOrfLKnuzxWxejAcUX+q/SoZCdemlODOcr5WiYa7+dIEzBXZQ==}
-
- '@peculiar/asn1-x509@2.4.0':
- resolution: {integrity: sha512-F7mIZY2Eao2TaoVqigGMLv+NDdpwuBKU1fucHPONfzaBS4JXXCNCmfO0Z3dsy7JzKGqtDcYC1mr9JjaZQZNiuw==}
-
'@petamoriken/float16@3.9.3':
resolution: {integrity: sha512-8awtpHXCx/bNpFt4mt2xdkgtgVvKqty8VbjHI/WWWQuEw+KLzFot3f4+LkQY9YmOtq7A5GdOnqoIC8Pdygjk2g==}
@@ -2385,13 +2277,6 @@ packages:
'@rtsao/scc@1.1.0':
resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
- '@simplewebauthn/browser@13.1.2':
- resolution: {integrity: sha512-aZnW0KawAM83fSBUgglP5WofbrLbLyr7CoPqYr66Eppm7zO86YX6rrCjRB3hQKPrL7ATvY4FVXlykZ6w6FwYYw==}
-
- '@simplewebauthn/server@13.1.2':
- resolution: {integrity: sha512-VwoDfvLXSCaRiD+xCIuyslU0HLxVggeE5BL06+GbsP2l1fGf5op8e0c3ZtKoi+vSg1q4ikjtAghC23ze2Q3H9g==}
- engines: {node: '>=20.0.0'}
-
'@t3-oss/env-core@0.13.8':
resolution: {integrity: sha512-L1inmpzLQyYu4+Q1DyrXsGJYCXbtXjC4cICw1uAKv0ppYPQv656lhZPU91Qd1VS6SO/bou1/q5ufVzBGbNsUpw==}
peerDependencies:
@@ -2763,9 +2648,6 @@ packages:
'@types/minimatch@5.1.2':
resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==}
- '@types/node@20.19.30':
- resolution: {integrity: sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g==}
-
'@types/node@22.18.12':
resolution: {integrity: sha512-BICHQ67iqxQGFSzfCFTT7MRQ5XcBjG5aeKh5Ok38UBbPe5fxTyE+aHFxwVrGyr8GNlqFMLKD1D3P2K/1ks8tog==}
@@ -2778,9 +2660,6 @@ packages:
'@types/pg@8.11.6':
resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==}
- '@types/prompts@2.4.9':
- resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==}
-
'@types/react-dom@19.1.9':
resolution: {integrity: sha512-qXRuZaOsAdXKFyOhRBg6Lqqc0yay13vN7KrIg4L7N4aaHN68ma9OK3NE1BoDFgFOTfM7zg+3/8+2n8rLUH3OKQ==}
peerDependencies:
@@ -2857,6 +2736,7 @@ packages:
'@vercel/postgres@0.10.0':
resolution: {integrity: sha512-fSD23DxGND40IzSkXjcFcxr53t3Tiym59Is0jSYIFpG4/0f0KO9SGtcp1sXiebvPaGe7N/tU05cH4yt2S6/IPg==}
engines: {node: '>=18.14'}
+ deprecated: '@vercel/postgres is deprecated. You can either choose an alternate storage solution from the Vercel Marketplace if you want to set up a new database. Or you can follow this guide to migrate your existing Vercel Postgres db: https://neon.com/docs/guides/vercel-postgres-transition-guide'
'@vitejs/plugin-react@5.1.0':
resolution: {integrity: sha512-4LuWrg7EKWgQaMJfnN+wcmbAW+VSsCmqGohftWjuct47bv8uE4n/nPpq4XjJPsxgq00GGG5J8dvBczp8uxScew==}
@@ -2879,6 +2759,23 @@ packages:
'@vue/shared@3.5.16':
resolution: {integrity: sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==}
+ '@workos-inc/node@8.0.0':
+ resolution: {integrity: sha512-D8VDfx0GXeiVm8vccAl0rElW7taebRnrteKPJzZwehwzI9W/Usa4qKfmwxj+7Lh1Z1deEocDRCpZpV7ml4GpWQ==}
+ engines: {node: '>=20.15.0'}
+
+ '@workos/authkit-session@0.3.4':
+ resolution: {integrity: sha512-lbLP1y8MHWL1Op9athZ3SrzKLcL0+xBVpADCMQLI39mPgSQj+/lopVdOx0Cku96hYnJBOJTLVTK3Zox4FbZl4A==}
+ engines: {node: '>=20.0.0'}
+
+ '@workos/authkit-tanstack-react-start@0.5.0':
+ resolution: {integrity: sha512-W2Ot5QJLj1Kw2uzbs7VJk2vbkvwDXW9w7wLBFgUdmeu7JDmbW5VkI8tw4IU0fbA1PMBEt9ecj+h//B/BbKrPFg==}
+ engines: {node: '>=20.0.0'}
+ peerDependencies:
+ '@tanstack/react-router': '>=1.0.0'
+ '@tanstack/react-start': '>=1.0.0'
+ react: ^18.0 || ^19.0
+ react-dom: ^18.0 || ^19.0
+
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
@@ -2984,10 +2881,6 @@ packages:
resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
engines: {node: '>= 0.4'}
- asn1js@3.0.6:
- resolution: {integrity: sha512-UOCGPYbl0tv8+006qks/dTgV9ajs97X2p0FAbyS2iyCRrmLSRolDaHdp+v/CLgnzHc3fVB+CwYiUmei7ndFcgA==}
- engines: {node: '>=12.0.0'}
-
ast-types-flow@0.0.8:
resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
@@ -3036,38 +2929,6 @@ packages:
resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==}
engines: {node: '>=10.0.0'}
- better-auth@1.4.0-beta.9:
- resolution: {integrity: sha512-JmVvaC/VCtFtI/sUGkoaLnzV/nnMn13XR6Vrkf4zGxah6g38S0GPvD7iZlBHehTN6Fb5aUwWPKgqFowxyOm2xw==}
- peerDependencies:
- '@lynx-js/react': '*'
- '@sveltejs/kit': '*'
- next: '*'
- react: '*'
- react-dom: '*'
- solid-js: '*'
- svelte: '*'
- vue: '*'
- peerDependenciesMeta:
- '@lynx-js/react':
- optional: true
- '@sveltejs/kit':
- optional: true
- next:
- optional: true
- react:
- optional: true
- react-dom:
- optional: true
- solid-js:
- optional: true
- svelte:
- optional: true
- vue:
- optional: true
-
- better-call@1.0.19:
- resolution: {integrity: sha512-sI3GcA1SCVa3H+CDHl8W8qzhlrckwXOTKhqq3OOPXjgn5aTOMIqGY34zLY/pHA6tRRMjTUC3lz5Mi7EbDA24Kw==}
-
better-sqlite3@12.2.0:
resolution: {integrity: sha512-eGbYq2CT+tos1fBwLQ/tkBt9J5M3JEHjku4hbvQUePCckkvVf14xWj+1m7dGoK81M/fOjFT7yM9UMeKT/+vFLQ==}
engines: {node: 20.x || 22.x || 23.x || 24.x}
@@ -3110,18 +2971,6 @@ packages:
resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==}
engines: {node: '>=6.14.2'}
- bundle-name@4.1.0:
- resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
- engines: {node: '>=18'}
-
- c12@3.2.0:
- resolution: {integrity: sha512-ixkEtbYafL56E6HiFuonMm1ZjoKtIo7TH68/uiEq4DAwv9NcUX2nJ95F8TrbMeNjqIkZpruo3ojXQJ+MGG5gcQ==}
- peerDependencies:
- magicast: ^0.3.5
- peerDependenciesMeta:
- magicast:
- optional: true
-
call-bind-apply-helpers@1.0.2:
resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
engines: {node: '>= 0.4'}
@@ -3156,10 +3005,6 @@ packages:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
- chalk@5.6.2:
- resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
-
change-case@3.1.0:
resolution: {integrity: sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==}
@@ -3176,9 +3021,6 @@ packages:
resolution: {integrity: sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==}
engines: {node: '>=20.18.1'}
- chevrotain@10.5.0:
- resolution: {integrity: sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==}
-
chokidar@3.6.0:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
@@ -3190,9 +3032,6 @@ packages:
chownr@1.1.4:
resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
- citty@0.1.6:
- resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
-
class-variance-authority@0.7.1:
resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
@@ -3237,19 +3076,12 @@ packages:
resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
engines: {node: '>=14'}
- commander@12.1.0:
- resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
- engines: {node: '>=18'}
-
commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- confbox@0.2.2:
- resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==}
-
consola@3.4.2:
resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
engines: {node: ^14.18.0 || >=16.10.0}
@@ -3371,14 +3203,6 @@ packages:
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
- default-browser-id@5.0.0:
- resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==}
- engines: {node: '>=18'}
-
- default-browser@5.2.1:
- resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==}
- engines: {node: '>=18'}
-
defaults@1.0.4:
resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
@@ -3386,17 +3210,10 @@ packages:
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
engines: {node: '>= 0.4'}
- define-lazy-prop@3.0.0:
- resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
- engines: {node: '>=12'}
-
define-properties@1.2.1:
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
engines: {node: '>= 0.4'}
- defu@6.1.4:
- resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
-
degenerator@5.0.1:
resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==}
engines: {node: '>= 14'}
@@ -3409,9 +3226,6 @@ packages:
resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==}
engines: {node: '>=0.10'}
- destr@2.0.5:
- resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==}
-
detect-libc@2.1.2:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'}
@@ -3478,95 +3292,6 @@ packages:
resolution: {integrity: sha512-+CHgPFzuoTQTt7cOYCV6MOw2w8vqEn/ap1yv4bpZOWL03u7rlVRQhUY0WYT3rHsgVTXwYQDZaSUJSQrMBUKuWg==}
hasBin: true
- drizzle-orm@0.33.0:
- resolution: {integrity: sha512-SHy72R2Rdkz0LEq0PSG/IdvnT3nGiWuRk+2tXZQ90GVq/XQhpCzu/EFT3V2rox+w8MlkBQxifF8pCStNYnERfA==}
- peerDependencies:
- '@aws-sdk/client-rds-data': '>=3'
- '@cloudflare/workers-types': '>=3'
- '@electric-sql/pglite': '>=0.1.1'
- '@libsql/client': '*'
- '@neondatabase/serverless': '>=0.1'
- '@op-engineering/op-sqlite': '>=2'
- '@opentelemetry/api': ^1.4.1
- '@planetscale/database': '>=1'
- '@prisma/client': '*'
- '@tidbcloud/serverless': '*'
- '@types/better-sqlite3': '*'
- '@types/pg': '*'
- '@types/react': '>=18'
- '@types/sql.js': '*'
- '@vercel/postgres': '>=0.8.0'
- '@xata.io/client': '*'
- better-sqlite3: '>=7'
- bun-types: '*'
- expo-sqlite: '>=13.2.0'
- knex: '*'
- kysely: '*'
- mysql2: '>=2'
- pg: '>=8'
- postgres: '>=3'
- prisma: '*'
- react: '>=18'
- sql.js: '>=1'
- sqlite3: '>=5'
- peerDependenciesMeta:
- '@aws-sdk/client-rds-data':
- optional: true
- '@cloudflare/workers-types':
- optional: true
- '@electric-sql/pglite':
- optional: true
- '@libsql/client':
- optional: true
- '@neondatabase/serverless':
- optional: true
- '@op-engineering/op-sqlite':
- optional: true
- '@opentelemetry/api':
- optional: true
- '@planetscale/database':
- optional: true
- '@prisma/client':
- optional: true
- '@tidbcloud/serverless':
- optional: true
- '@types/better-sqlite3':
- optional: true
- '@types/pg':
- optional: true
- '@types/react':
- optional: true
- '@types/sql.js':
- optional: true
- '@vercel/postgres':
- optional: true
- '@xata.io/client':
- optional: true
- better-sqlite3:
- optional: true
- bun-types:
- optional: true
- expo-sqlite:
- optional: true
- knex:
- optional: true
- kysely:
- optional: true
- mysql2:
- optional: true
- pg:
- optional: true
- postgres:
- optional: true
- prisma:
- optional: true
- react:
- optional: true
- sql.js:
- optional: true
- sqlite3:
- optional: true
-
drizzle-orm@0.44.7:
resolution: {integrity: sha512-quIpnYznjU9lHshEOAYLoZ9s3jweleHlZIAWR/jX9gAWNg/JhQ1wj0KGRf7/Zm+obRrYd9GjPVJg790QY9N5AQ==}
peerDependencies:
@@ -4013,10 +3738,6 @@ packages:
resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==}
engines: {node: '>= 14'}
- giget@2.0.0:
- resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==}
- hasBin: true
-
github-from-package@0.0.0:
resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
@@ -4030,6 +3751,7 @@ packages:
glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ deprecated: Glob versions prior to v9 are no longer supported
globals@14.0.0:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
@@ -4180,6 +3902,7 @@ packages:
inflight@1.0.6:
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
@@ -4203,6 +3926,9 @@ packages:
resolution: {integrity: sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==}
engines: {node: '>= 12'}
+ iron-webcrypto@2.0.0:
+ resolution: {integrity: sha512-rtffZKDUHciZElM8mjFCufBC7nVhCxHYyWHESqs89OioEDz4parOofd8/uhrejh/INhQFfYQfByS22LlezR9sQ==}
+
is-array-buffer@3.0.5:
resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
engines: {node: '>= 0.4'}
@@ -4239,11 +3965,6 @@ packages:
resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
engines: {node: '>= 0.4'}
- is-docker@3.0.0:
- resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- hasBin: true
-
is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
@@ -4264,11 +3985,6 @@ packages:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
- is-inside-container@1.0.0:
- resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
- engines: {node: '>=14.16'}
- hasBin: true
-
is-interactive@1.0.0:
resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
engines: {node: '>=8'}
@@ -4354,10 +4070,6 @@ packages:
resolution: {integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==}
engines: {node: '>=18'}
- is-wsl@3.1.0:
- resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
- engines: {node: '>=16'}
-
isarray@2.0.5:
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
@@ -4384,8 +4096,8 @@ packages:
resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
hasBin: true
- jose@6.1.0:
- resolution: {integrity: sha512-TTQJyoEoKcC1lscpVDCSsVgYzUDg/0Bt3WE//WiTPK6uOCQC2KZS4MpugbMWt/zyjkopgZoXhZuCi00gLudfUA==}
+ jose@6.1.3:
+ resolution: {integrity: sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==}
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -4431,10 +4143,6 @@ packages:
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
- kleur@3.0.3:
- resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
- engines: {node: '>=6'}
-
kysely@0.28.5:
resolution: {integrity: sha512-rlB0I/c6FBDWPcQoDtkxi9zIvpmnV5xoIalfCMSMCa7nuA6VGA3F54TW9mEgX4DVf10sXAWCF5fDbamI/5ZpKA==}
engines: {node: '>=20.0.0'}
@@ -4514,16 +4222,13 @@ packages:
resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==}
engines: {node: '>= 12.0.0'}
- lilconfig@2.1.0:
- resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
- engines: {node: '>=10'}
-
locate-path@6.0.0:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
lodash.get@4.4.2:
resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==}
+ deprecated: This package is deprecated. Use the optional chaining (?.) operator instead.
lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
@@ -4628,10 +4333,6 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- nanostores@1.0.1:
- resolution: {integrity: sha512-kNZ9xnoJYKg/AfxjrVL4SS0fKX++4awQReGqWnwTRHxeHGZ1FJFVgTqr/eMrNQdp0Tz7M7tG/TDaX8QfHDwVCw==}
- engines: {node: ^20.0.0 || >=22.0.0}
-
napi-build-utils@2.0.0:
resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==}
@@ -4674,9 +4375,6 @@ packages:
resolution: {integrity: sha512-DSmt0OEcLoK4i3NuscSbGjOf3bqiDEutejqENSplMSFA/gmB8mkED9G4pKWnPl7MDU4rSHebKPHeitpDfyH0cQ==}
engines: {node: '>=10'}
- node-fetch-native@1.6.7:
- resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
-
node-gyp-build@4.8.4:
resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==}
hasBin: true
@@ -4699,11 +4397,6 @@ packages:
nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
- nypm@0.6.1:
- resolution: {integrity: sha512-hlacBiRiv1k9hZFiphPUkfSQ/ZfQzZDzC+8z0wL3lvDAOUu/2NnChkKuMoMjNur/9OpKuz2QsIeiPVN0xM5Q0w==}
- engines: {node: ^14.16.0 || >=16.10.0}
- hasBin: true
-
object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
@@ -4752,10 +4445,6 @@ packages:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
engines: {node: '>=6'}
- open@10.2.0:
- resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==}
- engines: {node: '>=18'}
-
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
@@ -4852,9 +4541,6 @@ packages:
pathe@2.0.3:
resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
- perfect-debounce@1.0.0:
- resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
-
pg-int8@1.0.1:
resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
engines: {node: '>=4.0.0'}
@@ -4884,9 +4570,6 @@ packages:
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
- pkg-types@2.3.0:
- resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==}
-
possible-typed-array-names@1.0.0:
resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
engines: {node: '>= 0.4'}
@@ -4914,8 +4597,8 @@ packages:
postgres-range@1.1.4:
resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==}
- postgres@3.4.4:
- resolution: {integrity: sha512-IbyN+9KslkqcXa8AO9fxpk97PA4pzewvpi2B3Dwy9u4zpV32QicaEdgmF3eSQUzdRk7ttDHQejNgAEr4XoeH4A==}
+ postgres@3.4.8:
+ resolution: {integrity: sha512-d+JFcLM17njZaOLkv6SCev7uoLaBtfK86vMUXhW1Z4glPWh4jozno9APvW/XKFJ3CCxVoC7OL38BqRydtu5nGg==}
engines: {node: '>=12'}
prebuild-install@7.1.3:
@@ -4998,10 +4681,6 @@ packages:
engines: {node: '>=16.13'}
hasBin: true
- prompts@2.4.2:
- resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
- engines: {node: '>= 6'}
-
prop-types@15.8.1:
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
@@ -5019,13 +4698,6 @@ packages:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
- pvtsutils@1.3.6:
- resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==}
-
- pvutils@1.1.3:
- resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==}
- engines: {node: '>=6.0.0'}
-
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@@ -5042,9 +4714,6 @@ packages:
'@types/react-dom':
optional: true
- rc9@2.1.2:
- resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==}
-
rc@1.2.8:
resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
hasBin: true
@@ -5100,10 +4769,6 @@ packages:
resolution: {integrity: sha512-DHINL3PAmPUiK1uszfbKiXqfE03eszdt5BpVSuEAHb5nfmNPwnsy7g39h2t8aXFc/Bv99GH81s+j8dobtD+jOw==}
engines: {node: '>=0.10.0'}
- react@19.2.3:
- resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==}
- engines: {node: '>=0.10.0'}
-
readable-stream@3.6.2:
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
engines: {node: '>= 6'}
@@ -5124,9 +4789,6 @@ packages:
resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
engines: {node: '>= 0.4'}
- regexp-to-ast@0.5.0:
- resolution: {integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==}
-
regexp.prototype.flags@1.5.4:
resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
engines: {node: '>= 0.4'}
@@ -5164,6 +4826,7 @@ packages:
rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
rollup@4.52.5:
@@ -5171,16 +4834,9 @@ packages:
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
- rou3@0.5.1:
- resolution: {integrity: sha512-OXMmJ3zRk2xeXFGfA3K+EOPHC5u7RDFG7lIOx0X1pdnhUkI8MdVrbV+sNsD80ElpUZ+MRHdyxPnFthq9VHs8uQ==}
-
rou3@0.7.10:
resolution: {integrity: sha512-aoFj6f7MJZ5muJ+Of79nrhs9N3oLGqi2VEMe94Zbkjb6Wupha46EuoYgpWSOZlXww3bbd8ojgXTAA2mzimX5Ww==}
- run-applescript@7.0.0:
- resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==}
- engines: {node: '>=18'}
-
run-async@2.4.1:
resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
engines: {node: '>=0.12.0'}
@@ -5249,9 +4905,6 @@ packages:
resolution: {integrity: sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ==}
engines: {node: '>=10'}
- set-cookie-parser@2.7.1:
- resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==}
-
set-function-length@1.2.2:
resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
engines: {node: '>= 0.4'}
@@ -5301,9 +4954,6 @@ packages:
simple-get@4.0.1:
resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
- sisteransi@1.0.5:
- resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
-
slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
@@ -5471,12 +5121,6 @@ packages:
tinycolor2@1.6.0:
resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
- tinyexec@0.3.2:
- resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
-
- tinyexec@1.0.1:
- resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==}
-
tinyglobby@0.2.15:
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
engines: {node: '>=12.0.0'}
@@ -5620,13 +5264,14 @@ packages:
engines: {node: '>=0.8.0'}
hasBin: true
+ uint8array-extras@1.5.0:
+ resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==}
+ engines: {node: '>=18'}
+
unbox-primitive@1.1.0:
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
engines: {node: '>= 0.4'}
- uncrypto@0.1.3:
- resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
-
undici-types@6.21.0:
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
@@ -5909,10 +5554,6 @@ packages:
utf-8-validate:
optional: true
- wsl-utils@0.1.0:
- resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==}
- engines: {node: '>=18'}
-
xmlbuilder2@3.1.1:
resolution: {integrity: sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw==}
engines: {node: '>=12.0'}
@@ -5933,14 +5574,6 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
- yocto-spinner@0.2.3:
- resolution: {integrity: sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==}
- engines: {node: '>=18.19'}
-
- yoctocolors@2.1.2:
- resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==}
- engines: {node: '>=18'}
-
zod-validation-error@4.0.2:
resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==}
engines: {node: '>=18.0.0'}
@@ -6112,18 +5745,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.5)':
- dependencies:
- '@babel/core': 7.28.5
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.5)':
- dependencies:
- '@babel/core': 7.28.5
- '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5)
- transitivePeerDependencies:
- - supports-color
-
'@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.5)':
dependencies:
'@babel/core': 7.28.5
@@ -6134,47 +5755,18 @@ snapshots:
'@babel/core': 7.28.5
'@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.5)':
+ '@babel/plugin-transform-typescript@7.28.5(@babel/core@7.28.5)':
dependencies:
'@babel/core': 7.28.5
'@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5)
'@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5)
- '@babel/types': 7.28.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5)
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.5)':
- dependencies:
- '@babel/core': 7.28.5
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-typescript@7.28.5(@babel/core@7.28.5)':
- dependencies:
- '@babel/core': 7.28.5
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5)
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5)
- transitivePeerDependencies:
- - supports-color
-
- '@babel/preset-react@7.27.1(@babel/core@7.28.5)':
- dependencies:
- '@babel/core': 7.28.5
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-validator-option': 7.27.1
- '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.5)
- '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5)
- '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.5)
- '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.28.5)
- transitivePeerDependencies:
- - supports-color
-
- '@babel/preset-typescript@7.28.5(@babel/core@7.28.5)':
+ '@babel/preset-typescript@7.28.5(@babel/core@7.28.5)':
dependencies:
'@babel/core': 7.28.5
'@babel/helper-plugin-utils': 7.27.1
@@ -6212,116 +5804,6 @@ snapshots:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
- '@better-auth/cli@1.4.0-beta.9(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@types/pg@8.11.10)(@types/react@19.1.12)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(react@19.2.3)':
- dependencies:
- '@babel/core': 7.28.5
- '@babel/preset-react': 7.27.1(@babel/core@7.28.5)
- '@babel/preset-typescript': 7.28.5(@babel/core@7.28.5)
- '@better-auth/utils': 0.3.0
- '@clack/prompts': 0.11.0
- '@mrleebo/prisma-ast': 0.13.0
- '@prisma/client': 5.22.0(prisma@5.22.0)
- '@types/better-sqlite3': 7.6.13
- '@types/prompts': 2.4.9
- better-auth: 1.4.0-beta.9(better-sqlite3@12.2.0)(react@19.2.3)
- better-sqlite3: 12.2.0
- c12: 3.2.0
- chalk: 5.6.2
- commander: 12.1.0
- dotenv: 17.2.2
- drizzle-orm: 0.33.0(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@types/react@19.1.12)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(prisma@5.22.0)(react@19.2.3)
- get-tsconfig: 4.12.0
- jiti: 2.6.1
- open: 10.2.0
- prettier: 3.6.2
- prisma: 5.22.0
- prompts: 2.4.2
- semver: 7.7.3
- tinyexec: 0.3.2
- yocto-spinner: 0.2.3
- zod: 4.1.12
- transitivePeerDependencies:
- - '@aws-sdk/client-rds-data'
- - '@cloudflare/workers-types'
- - '@electric-sql/pglite'
- - '@libsql/client'
- - '@lynx-js/react'
- - '@neondatabase/serverless'
- - '@op-engineering/op-sqlite'
- - '@opentelemetry/api'
- - '@planetscale/database'
- - '@sveltejs/kit'
- - '@tidbcloud/serverless'
- - '@types/pg'
- - '@types/react'
- - '@types/sql.js'
- - '@vercel/postgres'
- - '@xata.io/client'
- - bun-types
- - expo-sqlite
- - knex
- - kysely
- - magicast
- - mysql2
- - next
- - pg
- - postgres
- - react
- - react-dom
- - solid-js
- - sql.js
- - sqlite3
- - supports-color
- - svelte
- - vue
-
- '@better-auth/core@1.4.0-beta.9(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.18)(better-call@1.0.19)(better-sqlite3@12.2.0)(jose@6.1.0)(kysely@0.28.5)(nanostores@1.0.1)':
- dependencies:
- '@better-auth/utils': 0.3.0
- '@better-fetch/fetch': 1.1.18
- better-call: 1.0.19
- better-sqlite3: 12.2.0
- jose: 6.1.0
- kysely: 0.28.5
- nanostores: 1.0.1
- zod: 4.1.12
-
- '@better-auth/telemetry@1.4.0-beta.9(@better-auth/core@1.4.0-beta.9(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.18)(better-call@1.0.19)(better-sqlite3@12.2.0)(jose@6.1.0)(kysely@0.28.5)(nanostores@1.0.1))':
- dependencies:
- '@better-auth/core': 1.4.0-beta.9(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.18)(better-call@1.0.19)(better-sqlite3@12.2.0)(jose@6.1.0)(kysely@0.28.5)(nanostores@1.0.1)
- '@better-auth/utils': 0.3.0
- '@better-fetch/fetch': 1.1.18
-
- '@better-auth/utils@0.3.0': {}
-
- '@better-fetch/fetch@1.1.18': {}
-
- '@chevrotain/cst-dts-gen@10.5.0':
- dependencies:
- '@chevrotain/gast': 10.5.0
- '@chevrotain/types': 10.5.0
- lodash: 4.17.21
-
- '@chevrotain/gast@10.5.0':
- dependencies:
- '@chevrotain/types': 10.5.0
- lodash: 4.17.21
-
- '@chevrotain/types@10.5.0': {}
-
- '@chevrotain/utils@10.5.0': {}
-
- '@clack/core@0.5.0':
- dependencies:
- picocolors: 1.1.1
- sisteransi: 1.0.5
-
- '@clack/prompts@0.11.0':
- dependencies:
- '@clack/core': 0.5.0
- picocolors: 1.1.1
- sisteransi: 1.0.5
-
'@cspotcode/source-map-support@0.8.1':
dependencies:
'@jridgewell/trace-mapping': 0.3.9
@@ -6571,8 +6053,6 @@ snapshots:
'@fontsource-variable/geist@5.2.8': {}
- '@hexagon/base64@1.1.28': {}
-
'@humanfs/core@0.19.1': {}
'@humanfs/node@0.16.7':
@@ -6637,13 +6117,6 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5
- '@levischuck/tiny-cbor@0.2.11': {}
-
- '@mrleebo/prisma-ast@0.13.0':
- dependencies:
- chevrotain: 10.5.0
- lilconfig: 2.1.0
-
'@napi-rs/wasm-runtime@0.2.12':
dependencies:
'@emnapi/core': 1.6.0
@@ -6666,15 +6139,12 @@ snapshots:
'@neondatabase/serverless@0.9.5':
dependencies:
'@types/pg': 8.11.6
+ optional: true
'@next/eslint-plugin-next@16.0.0':
dependencies:
fast-glob: 3.3.1
- '@noble/ciphers@2.0.0': {}
-
- '@noble/hashes@2.0.0': {}
-
'@nodelib/fs.scandir@2.1.5':
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -6851,39 +6321,6 @@ snapshots:
'@oxc-transform/binding-win32-x64-msvc@0.96.0':
optional: true
- '@peculiar/asn1-android@2.4.0':
- dependencies:
- '@peculiar/asn1-schema': 2.4.0
- asn1js: 3.0.6
- tslib: 2.8.1
-
- '@peculiar/asn1-ecc@2.4.0':
- dependencies:
- '@peculiar/asn1-schema': 2.4.0
- '@peculiar/asn1-x509': 2.4.0
- asn1js: 3.0.6
- tslib: 2.8.1
-
- '@peculiar/asn1-rsa@2.4.0':
- dependencies:
- '@peculiar/asn1-schema': 2.4.0
- '@peculiar/asn1-x509': 2.4.0
- asn1js: 3.0.6
- tslib: 2.8.1
-
- '@peculiar/asn1-schema@2.4.0':
- dependencies:
- asn1js: 3.0.6
- pvtsutils: 1.3.6
- tslib: 2.8.1
-
- '@peculiar/asn1-x509@2.4.0':
- dependencies:
- '@peculiar/asn1-schema': 2.4.0
- asn1js: 3.0.6
- pvtsutils: 1.3.6
- tslib: 2.8.1
-
'@petamoriken/float16@3.9.3':
optional: true
@@ -6898,10 +6335,13 @@ snapshots:
'@prisma/client@5.22.0(prisma@5.22.0)':
optionalDependencies:
prisma: 5.22.0
+ optional: true
- '@prisma/debug@5.22.0': {}
+ '@prisma/debug@5.22.0':
+ optional: true
- '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2': {}
+ '@prisma/engines-version@5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2':
+ optional: true
'@prisma/engines@5.22.0':
dependencies:
@@ -6909,16 +6349,19 @@ snapshots:
'@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2
'@prisma/fetch-engine': 5.22.0
'@prisma/get-platform': 5.22.0
+ optional: true
'@prisma/fetch-engine@5.22.0':
dependencies:
'@prisma/debug': 5.22.0
'@prisma/engines-version': 5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2
'@prisma/get-platform': 5.22.0
+ optional: true
'@prisma/get-platform@5.22.0':
dependencies:
'@prisma/debug': 5.22.0
+ optional: true
'@radix-ui/number@1.1.1': {}
@@ -7743,18 +7186,6 @@ snapshots:
'@rtsao/scc@1.1.0': {}
- '@simplewebauthn/browser@13.1.2': {}
-
- '@simplewebauthn/server@13.1.2':
- dependencies:
- '@hexagon/base64': 1.1.28
- '@levischuck/tiny-cbor': 0.2.11
- '@peculiar/asn1-android': 2.4.0
- '@peculiar/asn1-ecc': 2.4.0
- '@peculiar/asn1-rsa': 2.4.0
- '@peculiar/asn1-schema': 2.4.0
- '@peculiar/asn1-x509': 2.4.0
-
'@t3-oss/env-core@0.13.8(arktype@2.1.20)(typescript@5.9.3)(valibot@1.0.0-beta.15(typescript@5.9.3))(zod@4.1.12)':
optionalDependencies:
arktype: 2.1.20
@@ -7932,6 +7363,17 @@ snapshots:
tiny-invariant: 1.3.3
tiny-warning: 1.0.3
+ '@tanstack/react-router@1.135.2(react-dom@19.2.3(react@19.1.4))(react@19.1.4)':
+ dependencies:
+ '@tanstack/history': 1.133.28
+ '@tanstack/react-store': 0.8.0(react-dom@19.2.3(react@19.1.4))(react@19.1.4)
+ '@tanstack/router-core': 1.135.2
+ isbot: 5.1.31
+ react: 19.1.4
+ react-dom: 19.2.3(react@19.1.4)
+ tiny-invariant: 1.3.3
+ tiny-warning: 1.0.3
+
'@tanstack/react-start-client@1.135.2(react-dom@19.1.4(react@19.1.4))(react@19.1.4)':
dependencies:
'@tanstack/react-router': 1.135.2(react-dom@19.1.4(react@19.1.4))(react@19.1.4)
@@ -7942,6 +7384,16 @@ snapshots:
tiny-invariant: 1.3.3
tiny-warning: 1.0.3
+ '@tanstack/react-start-client@1.135.2(react-dom@19.2.3(react@19.1.4))(react@19.1.4)':
+ dependencies:
+ '@tanstack/react-router': 1.135.2(react-dom@19.2.3(react@19.1.4))(react@19.1.4)
+ '@tanstack/router-core': 1.135.2
+ '@tanstack/start-client-core': 1.135.2
+ react: 19.1.4
+ react-dom: 19.2.3(react@19.1.4)
+ tiny-invariant: 1.3.3
+ tiny-warning: 1.0.3
+
'@tanstack/react-start-server@1.135.2(crossws@0.4.1(srvx@0.9.6))(react-dom@19.1.4(react@19.1.4))(react@19.1.4)':
dependencies:
'@tanstack/history': 1.133.28
@@ -7954,6 +7406,18 @@ snapshots:
transitivePeerDependencies:
- crossws
+ '@tanstack/react-start-server@1.135.2(crossws@0.4.1(srvx@0.9.6))(react-dom@19.2.3(react@19.1.4))(react@19.1.4)':
+ dependencies:
+ '@tanstack/history': 1.133.28
+ '@tanstack/react-router': 1.135.2(react-dom@19.2.3(react@19.1.4))(react@19.1.4)
+ '@tanstack/router-core': 1.135.2
+ '@tanstack/start-client-core': 1.135.2
+ '@tanstack/start-server-core': 1.135.2(crossws@0.4.1(srvx@0.9.6))
+ react: 19.1.4
+ react-dom: 19.2.3(react@19.1.4)
+ transitivePeerDependencies:
+ - crossws
+
'@tanstack/react-start@1.135.2(crossws@0.4.1(srvx@0.9.6))(react-dom@19.1.4(react@19.1.4))(react@19.1.4)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))':
dependencies:
'@tanstack/react-router': 1.135.2(react-dom@19.1.4(react@19.1.4))(react@19.1.4)
@@ -7974,6 +7438,26 @@ snapshots:
- vite-plugin-solid
- webpack
+ '@tanstack/react-start@1.135.2(crossws@0.4.1(srvx@0.9.6))(react-dom@19.2.3(react@19.1.4))(react@19.1.4)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))':
+ dependencies:
+ '@tanstack/react-router': 1.135.2(react-dom@19.2.3(react@19.1.4))(react@19.1.4)
+ '@tanstack/react-start-client': 1.135.2(react-dom@19.2.3(react@19.1.4))(react@19.1.4)
+ '@tanstack/react-start-server': 1.135.2(crossws@0.4.1(srvx@0.9.6))(react-dom@19.2.3(react@19.1.4))(react@19.1.4)
+ '@tanstack/router-utils': 1.133.19
+ '@tanstack/start-client-core': 1.135.2
+ '@tanstack/start-plugin-core': 1.135.2(@tanstack/react-router@1.135.2(react-dom@19.2.3(react@19.1.4))(react@19.1.4))(crossws@0.4.1(srvx@0.9.6))(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ '@tanstack/start-server-core': 1.135.2(crossws@0.4.1(srvx@0.9.6))
+ pathe: 2.0.3
+ react: 19.1.4
+ react-dom: 19.2.3(react@19.1.4)
+ vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ transitivePeerDependencies:
+ - '@rsbuild/core'
+ - crossws
+ - supports-color
+ - vite-plugin-solid
+ - webpack
+
'@tanstack/react-store@0.7.7(react-dom@19.1.4(react@19.1.4))(react@19.1.4)':
dependencies:
'@tanstack/store': 0.7.7
@@ -7988,6 +7472,13 @@ snapshots:
react-dom: 19.1.4(react@19.1.4)
use-sync-external-store: 1.6.0(react@19.1.4)
+ '@tanstack/react-store@0.8.0(react-dom@19.2.3(react@19.1.4))(react@19.1.4)':
+ dependencies:
+ '@tanstack/store': 0.8.0
+ react: 19.1.4
+ react-dom: 19.2.3(react@19.1.4)
+ use-sync-external-store: 1.6.0(react@19.1.4)
+
'@tanstack/router-core@1.135.2':
dependencies:
'@tanstack/history': 1.133.28
@@ -8056,6 +7547,28 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@tanstack/router-plugin@1.135.2(@tanstack/react-router@1.135.2(react-dom@19.2.3(react@19.1.4))(react@19.1.4))(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))':
+ dependencies:
+ '@babel/core': 7.28.5
+ '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5)
+ '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5)
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.5
+ '@babel/types': 7.28.5
+ '@tanstack/router-core': 1.135.2
+ '@tanstack/router-generator': 1.135.2
+ '@tanstack/router-utils': 1.133.19
+ '@tanstack/virtual-file-routes': 1.133.19
+ babel-dead-code-elimination: 1.0.10
+ chokidar: 3.6.0
+ unplugin: 2.3.10
+ zod: 3.25.76
+ optionalDependencies:
+ '@tanstack/react-router': 1.135.2(react-dom@19.2.3(react@19.1.4))(react@19.1.4)
+ vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ transitivePeerDependencies:
+ - supports-color
+
'@tanstack/router-ssr-query-core@1.135.2(@tanstack/query-core@5.90.8)(@tanstack/router-core@1.135.2)':
dependencies:
'@tanstack/query-core': 5.90.8
@@ -8130,6 +7643,38 @@ snapshots:
- vite-plugin-solid
- webpack
+ '@tanstack/start-plugin-core@1.135.2(@tanstack/react-router@1.135.2(react-dom@19.2.3(react@19.1.4))(react@19.1.4))(crossws@0.4.1(srvx@0.9.6))(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))':
+ dependencies:
+ '@babel/code-frame': 7.26.2
+ '@babel/core': 7.28.5
+ '@babel/types': 7.28.5
+ '@rolldown/pluginutils': 1.0.0-beta.40
+ '@tanstack/router-core': 1.135.2
+ '@tanstack/router-generator': 1.135.2
+ '@tanstack/router-plugin': 1.135.2(@tanstack/react-router@1.135.2(react-dom@19.2.3(react@19.1.4))(react@19.1.4))(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ '@tanstack/router-utils': 1.133.19
+ '@tanstack/server-functions-plugin': 1.134.5(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ '@tanstack/start-client-core': 1.135.2
+ '@tanstack/start-server-core': 1.135.2(crossws@0.4.1(srvx@0.9.6))
+ babel-dead-code-elimination: 1.0.10
+ cheerio: 1.1.2
+ exsolve: 1.0.7
+ pathe: 2.0.3
+ srvx: 0.8.16
+ tinyglobby: 0.2.15
+ ufo: 1.6.1
+ vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vitefu: 1.1.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ xmlbuilder2: 3.1.1
+ zod: 3.25.76
+ transitivePeerDependencies:
+ - '@rsbuild/core'
+ - '@tanstack/react-router'
+ - crossws
+ - supports-color
+ - vite-plugin-solid
+ - webpack
+
'@tanstack/start-server-core@1.135.2(crossws@0.4.1(srvx@0.9.6))':
dependencies:
'@tanstack/history': 1.133.28
@@ -8244,14 +7789,15 @@ snapshots:
'@types/better-sqlite3@7.6.13':
dependencies:
- '@types/node': 20.19.30
+ '@types/node': 24.9.1
+ optional: true
'@types/estree@1.0.8': {}
'@types/glob@7.2.0':
dependencies:
'@types/minimatch': 5.1.2
- '@types/node': 20.19.30
+ '@types/node': 24.9.1
'@types/inquirer@6.5.0':
dependencies:
@@ -8264,10 +7810,6 @@ snapshots:
'@types/minimatch@5.1.2': {}
- '@types/node@20.19.30':
- dependencies:
- undici-types: 6.21.0
-
'@types/node@22.18.12':
dependencies:
undici-types: 6.21.0
@@ -8285,14 +7827,10 @@ snapshots:
'@types/pg@8.11.6':
dependencies:
- '@types/node': 20.19.30
+ '@types/node': 24.9.1
pg-protocol: 1.10.3
pg-types: 4.1.0
-
- '@types/prompts@2.4.9':
- dependencies:
- '@types/node': 20.19.30
- kleur: 3.0.3
+ optional: true
'@types/react-dom@19.1.9(@types/react@19.1.12)':
dependencies:
@@ -8304,7 +7842,7 @@ snapshots:
'@types/through@0.0.33':
dependencies:
- '@types/node': 20.19.30
+ '@types/node': 24.9.1
'@types/tinycolor2@1.4.6': {}
@@ -8408,6 +7946,7 @@ snapshots:
ws: 8.18.3(bufferutil@4.0.8)(utf-8-validate@6.0.4)
transitivePeerDependencies:
- utf-8-validate
+ optional: true
'@vitejs/plugin-react@5.1.0(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))':
dependencies:
@@ -8458,6 +7997,33 @@ snapshots:
'@vue/shared@3.5.16':
optional: true
+ '@workos-inc/node@8.0.0':
+ dependencies:
+ iron-webcrypto: 2.0.0
+ jose: 6.1.3
+
+ '@workos/authkit-session@0.3.4':
+ dependencies:
+ '@workos-inc/node': 8.0.0
+ iron-webcrypto: 2.0.0
+ jose: 6.1.3
+
+ '@workos/authkit-tanstack-react-start@0.5.0(@tanstack/react-router@1.135.2(react-dom@19.1.4(react@19.1.4))(react@19.1.4))(@tanstack/react-start@1.135.2(crossws@0.4.1(srvx@0.9.6))(react-dom@19.1.4(react@19.1.4))(react@19.1.4)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)))(react-dom@19.1.4(react@19.1.4))(react@19.1.4)':
+ dependencies:
+ '@tanstack/react-router': 1.135.2(react-dom@19.1.4(react@19.1.4))(react@19.1.4)
+ '@tanstack/react-start': 1.135.2(crossws@0.4.1(srvx@0.9.6))(react-dom@19.1.4(react@19.1.4))(react@19.1.4)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ '@workos/authkit-session': 0.3.4
+ react: 19.1.4
+ react-dom: 19.1.4(react@19.1.4)
+
+ '@workos/authkit-tanstack-react-start@0.5.0(@tanstack/react-router@1.135.2(react-dom@19.2.3(react@19.1.4))(react@19.1.4))(@tanstack/react-start@1.135.2(crossws@0.4.1(srvx@0.9.6))(react-dom@19.2.3(react@19.1.4))(react@19.1.4)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)))(react-dom@19.2.3(react@19.1.4))(react@19.1.4)':
+ dependencies:
+ '@tanstack/react-router': 1.135.2(react-dom@19.2.3(react@19.1.4))(react@19.1.4)
+ '@tanstack/react-start': 1.135.2(crossws@0.4.1(srvx@0.9.6))(react-dom@19.2.3(react@19.1.4))(react@19.1.4)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ '@workos/authkit-session': 0.3.4
+ react: 19.1.4
+ react-dom: 19.2.3(react@19.1.4)
+
acorn-jsx@5.3.2(acorn@8.15.0):
dependencies:
acorn: 8.15.0
@@ -8592,12 +8158,6 @@ snapshots:
get-intrinsic: 1.3.0
is-array-buffer: 3.0.5
- asn1js@3.0.6:
- dependencies:
- pvtsutils: 1.3.6
- pvutils: 1.1.3
- tslib: 2.8.1
-
ast-types-flow@0.0.8: {}
ast-types@0.13.4:
@@ -8638,68 +8198,18 @@ snapshots:
basic-ftp@5.0.5: {}
- better-auth@1.4.0-beta.9(better-sqlite3@12.2.0)(react-dom@19.1.4(react@19.1.4))(react@19.1.4)(solid-js@1.9.9):
- dependencies:
- '@better-auth/core': 1.4.0-beta.9(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.18)(better-call@1.0.19)(better-sqlite3@12.2.0)(jose@6.1.0)(kysely@0.28.5)(nanostores@1.0.1)
- '@better-auth/telemetry': 1.4.0-beta.9(@better-auth/core@1.4.0-beta.9(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.18)(better-call@1.0.19)(better-sqlite3@12.2.0)(jose@6.1.0)(kysely@0.28.5)(nanostores@1.0.1))
- '@better-auth/utils': 0.3.0
- '@better-fetch/fetch': 1.1.18
- '@noble/ciphers': 2.0.0
- '@noble/hashes': 2.0.0
- '@simplewebauthn/browser': 13.1.2
- '@simplewebauthn/server': 13.1.2
- better-call: 1.0.19
- defu: 6.1.4
- jose: 6.1.0
- kysely: 0.28.5
- nanostores: 1.0.1
- zod: 4.1.12
- optionalDependencies:
- react: 19.1.4
- react-dom: 19.1.4(react@19.1.4)
- solid-js: 1.9.9
- transitivePeerDependencies:
- - better-sqlite3
-
- better-auth@1.4.0-beta.9(better-sqlite3@12.2.0)(react@19.2.3):
- dependencies:
- '@better-auth/core': 1.4.0-beta.9(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.18)(better-call@1.0.19)(better-sqlite3@12.2.0)(jose@6.1.0)(kysely@0.28.5)(nanostores@1.0.1)
- '@better-auth/telemetry': 1.4.0-beta.9(@better-auth/core@1.4.0-beta.9(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.18)(better-call@1.0.19)(better-sqlite3@12.2.0)(jose@6.1.0)(kysely@0.28.5)(nanostores@1.0.1))
- '@better-auth/utils': 0.3.0
- '@better-fetch/fetch': 1.1.18
- '@noble/ciphers': 2.0.0
- '@noble/hashes': 2.0.0
- '@simplewebauthn/browser': 13.1.2
- '@simplewebauthn/server': 13.1.2
- better-call: 1.0.19
- defu: 6.1.4
- jose: 6.1.0
- kysely: 0.28.5
- nanostores: 1.0.1
- zod: 4.1.12
- optionalDependencies:
- react: 19.2.3
- transitivePeerDependencies:
- - better-sqlite3
-
- better-call@1.0.19:
- dependencies:
- '@better-auth/utils': 0.3.0
- '@better-fetch/fetch': 1.1.18
- rou3: 0.5.1
- set-cookie-parser: 2.7.1
- uncrypto: 0.1.3
-
better-sqlite3@12.2.0:
dependencies:
bindings: 1.5.0
prebuild-install: 7.1.3
+ optional: true
binary-extensions@2.3.0: {}
bindings@1.5.0:
dependencies:
file-uri-to-path: 1.0.0
+ optional: true
bl@4.1.0:
dependencies:
@@ -8740,25 +8250,7 @@ snapshots:
bufferutil@4.0.8:
dependencies:
node-gyp-build: 4.8.4
-
- bundle-name@4.1.0:
- dependencies:
- run-applescript: 7.0.0
-
- c12@3.2.0:
- dependencies:
- chokidar: 4.0.3
- confbox: 0.2.2
- defu: 6.1.4
- dotenv: 17.2.2
- exsolve: 1.0.7
- giget: 2.0.0
- jiti: 2.6.1
- ohash: 2.0.11
- pathe: 2.0.3
- perfect-debounce: 1.0.0
- pkg-types: 2.3.0
- rc9: 2.1.2
+ optional: true
call-bind-apply-helpers@1.0.2:
dependencies:
@@ -8802,8 +8294,6 @@ snapshots:
ansi-styles: 4.3.0
supports-color: 7.2.0
- chalk@5.6.2: {}
-
change-case@3.1.0:
dependencies:
camel-case: 3.0.0
@@ -8852,15 +8342,6 @@ snapshots:
undici: 7.16.0
whatwg-mimetype: 4.0.0
- chevrotain@10.5.0:
- dependencies:
- '@chevrotain/cst-dts-gen': 10.5.0
- '@chevrotain/gast': 10.5.0
- '@chevrotain/types': 10.5.0
- '@chevrotain/utils': 10.5.0
- lodash: 4.17.21
- regexp-to-ast: 0.5.0
-
chokidar@3.6.0:
dependencies:
anymatch: 3.1.3
@@ -8876,12 +8357,10 @@ snapshots:
chokidar@4.0.3:
dependencies:
readdirp: 4.1.2
+ optional: true
- chownr@1.1.4: {}
-
- citty@0.1.6:
- dependencies:
- consola: 3.4.2
+ chownr@1.1.4:
+ optional: true
class-variance-authority@0.7.1:
dependencies:
@@ -8915,15 +8394,11 @@ snapshots:
commander@10.0.1: {}
- commander@12.1.0: {}
-
commander@2.20.3:
optional: true
concat-map@0.0.1: {}
- confbox@0.2.2: {}
-
consola@3.4.2: {}
constant-case@2.0.0:
@@ -8990,10 +8465,10 @@ snapshots:
es-errors: 1.3.0
is-data-view: 1.0.2
- db0@0.3.4(better-sqlite3@12.2.0)(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(prisma@5.22.0))(mysql2@3.11.3):
+ db0@0.3.4(better-sqlite3@12.2.0)(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.8)(prisma@5.22.0))(mysql2@3.11.3):
optionalDependencies:
better-sqlite3: 12.2.0
- drizzle-orm: 0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(prisma@5.22.0)
+ drizzle-orm: 0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.8)(prisma@5.22.0)
mysql2: 3.11.3
debug@3.2.7:
@@ -9009,18 +8484,12 @@ snapshots:
decompress-response@6.0.0:
dependencies:
mimic-response: 3.1.0
+ optional: true
deep-extend@0.6.0: {}
deep-is@0.1.4: {}
- default-browser-id@5.0.0: {}
-
- default-browser@5.2.1:
- dependencies:
- bundle-name: 4.1.0
- default-browser-id: 5.0.0
-
defaults@1.0.4:
dependencies:
clone: 1.0.4
@@ -9031,16 +8500,12 @@ snapshots:
es-errors: 1.3.0
gopd: 1.2.0
- define-lazy-prop@3.0.0: {}
-
define-properties@1.2.1:
dependencies:
define-data-property: 1.1.4
has-property-descriptors: 1.0.2
object-keys: 1.1.1
- defu@6.1.4: {}
-
degenerator@5.0.1:
dependencies:
ast-types: 0.13.4
@@ -9061,8 +8526,6 @@ snapshots:
denque@2.1.0:
optional: true
- destr@2.0.5: {}
-
detect-libc@2.1.2: {}
detect-node-es@1.1.0: {}
@@ -9129,24 +8592,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- drizzle-orm@0.33.0(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@types/react@19.1.12)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(prisma@5.22.0)(react@19.2.3):
- optionalDependencies:
- '@neondatabase/serverless': 0.10.0
- '@opentelemetry/api': 1.9.0
- '@planetscale/database': 1.19.0
- '@prisma/client': 5.22.0(prisma@5.22.0)
- '@types/better-sqlite3': 7.6.13
- '@types/pg': 8.11.10
- '@types/react': 19.1.12
- '@vercel/postgres': 0.10.0(utf-8-validate@6.0.4)
- better-sqlite3: 12.2.0
- kysely: 0.28.5
- mysql2: 3.11.3
- postgres: 3.4.4
- prisma: 5.22.0
- react: 19.2.3
-
- drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(prisma@5.22.0):
+ drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.8)(prisma@5.22.0):
optionalDependencies:
'@neondatabase/serverless': 0.10.0
'@opentelemetry/api': 1.9.0
@@ -9159,12 +8605,12 @@ snapshots:
gel: 2.0.0
kysely: 0.28.5
mysql2: 3.11.3
- postgres: 3.4.4
+ postgres: 3.4.8
prisma: 5.22.0
- drizzle-zod@0.8.3(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(prisma@5.22.0))(zod@4.1.12):
+ drizzle-zod@0.8.3(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.8)(prisma@5.22.0))(zod@4.1.12):
dependencies:
- drizzle-orm: 0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(prisma@5.22.0)
+ drizzle-orm: 0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.8)(prisma@5.22.0)
zod: 4.1.12
dunder-proto@1.0.1:
@@ -9187,6 +8633,7 @@ snapshots:
end-of-stream@1.4.5:
dependencies:
once: 1.4.0
+ optional: true
enhanced-resolve@5.18.3:
dependencies:
@@ -9566,7 +9013,8 @@ snapshots:
signal-exit: 3.0.7
strip-final-newline: 2.0.0
- expand-template@2.0.3: {}
+ expand-template@2.0.3:
+ optional: true
exsolve@1.0.7: {}
@@ -9616,7 +9064,8 @@ snapshots:
dependencies:
flat-cache: 4.0.1
- file-uri-to-path@1.0.0: {}
+ file-uri-to-path@1.0.0:
+ optional: true
fill-range@7.1.1:
dependencies:
@@ -9638,7 +9087,8 @@ snapshots:
dependencies:
is-callable: 1.2.7
- fs-constants@1.0.0: {}
+ fs-constants@1.0.0:
+ optional: true
fs-extra@10.1.0:
dependencies:
@@ -9723,16 +9173,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
- giget@2.0.0:
- dependencies:
- citty: 0.1.6
- consola: 3.4.2
- defu: 6.1.4
- node-fetch-native: 1.6.7
- nypm: 0.6.1
- pathe: 2.0.3
-
- github-from-package@0.0.0: {}
+ github-from-package@0.0.0:
+ optional: true
glob-parent@5.1.2:
dependencies:
@@ -9949,6 +9391,10 @@ snapshots:
ip-address@10.0.1: {}
+ iron-webcrypto@2.0.0:
+ dependencies:
+ uint8array-extras: 1.5.0
+
is-array-buffer@3.0.5:
dependencies:
call-bind: 1.0.8
@@ -9993,8 +9439,6 @@ snapshots:
call-bound: 1.0.4
has-tostringtag: 1.0.2
- is-docker@3.0.0: {}
-
is-extglob@2.1.1: {}
is-finalizationregistry@1.1.1:
@@ -10014,10 +9458,6 @@ snapshots:
dependencies:
is-extglob: 2.1.1
- is-inside-container@1.0.0:
- dependencies:
- is-docker: 3.0.0
-
is-interactive@1.0.0: {}
is-lower-case@1.1.3:
@@ -10091,10 +9531,6 @@ snapshots:
is-what@5.5.0: {}
- is-wsl@3.1.0:
- dependencies:
- is-inside-container: 1.0.0
-
isarray@2.0.5: {}
isbinaryfile@4.0.10: {}
@@ -10117,7 +9553,7 @@ snapshots:
jiti@2.6.1: {}
- jose@6.1.0: {}
+ jose@6.1.3: {}
js-tokens@4.0.0: {}
@@ -10161,9 +9597,8 @@ snapshots:
dependencies:
json-buffer: 3.0.1
- kleur@3.0.3: {}
-
- kysely@0.28.5: {}
+ kysely@0.28.5:
+ optional: true
language-subtag-registry@0.3.23: {}
@@ -10221,8 +9656,6 @@ snapshots:
lightningcss-win32-arm64-msvc: 1.30.1
lightningcss-win32-x64-msvc: 1.30.1
- lilconfig@2.1.0: {}
-
locate-path@6.0.0:
dependencies:
p-locate: 5.0.0
@@ -10283,7 +9716,8 @@ snapshots:
mimic-fn@2.1.0: {}
- mimic-response@3.1.0: {}
+ mimic-response@3.1.0:
+ optional: true
minimatch@3.1.2:
dependencies:
@@ -10295,7 +9729,8 @@ snapshots:
minimist@1.2.8: {}
- mkdirp-classic@0.5.3: {}
+ mkdirp-classic@0.5.3:
+ optional: true
mkdirp@0.5.6:
dependencies:
@@ -10325,9 +9760,8 @@ snapshots:
nanoid@3.3.11: {}
- nanostores@1.0.1: {}
-
- napi-build-utils@2.0.0: {}
+ napi-build-utils@2.0.0:
+ optional: true
natural-compare@1.4.0: {}
@@ -10337,11 +9771,11 @@ snapshots:
nf3@0.1.10: {}
- nitro@3.0.1-alpha.1(@planetscale/database@1.19.0)(better-sqlite3@12.2.0)(chokidar@4.0.3)(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(prisma@5.22.0))(mysql2@3.11.3)(rollup@4.52.5)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
+ nitro@3.0.1-alpha.1(@planetscale/database@1.19.0)(better-sqlite3@12.2.0)(chokidar@4.0.3)(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.8)(prisma@5.22.0))(mysql2@3.11.3)(rollup@4.52.5)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
dependencies:
consola: 3.4.2
crossws: 0.4.1(srvx@0.9.6)
- db0: 0.3.4(better-sqlite3@12.2.0)(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(prisma@5.22.0))(mysql2@3.11.3)
+ db0: 0.3.4(better-sqlite3@12.2.0)(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.8)(prisma@5.22.0))(mysql2@3.11.3)
h3: 2.0.1-rc.5(crossws@0.4.1(srvx@0.9.6))
jiti: 2.6.1
nf3: 0.1.10
@@ -10352,7 +9786,7 @@ snapshots:
srvx: 0.9.6
undici: 7.16.0
unenv: 2.0.0-rc.24
- unstorage: 2.0.0-alpha.4(@planetscale/database@1.19.0)(chokidar@4.0.3)(db0@0.3.4(better-sqlite3@12.2.0)(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(prisma@5.22.0))(mysql2@3.11.3))(ofetch@2.0.0-alpha.3)
+ unstorage: 2.0.0-alpha.4(@planetscale/database@1.19.0)(chokidar@4.0.3)(db0@0.3.4(better-sqlite3@12.2.0)(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.8)(prisma@5.22.0))(mysql2@3.11.3))(ofetch@2.0.0-alpha.3)
optionalDependencies:
rollup: 4.52.5
vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
@@ -10392,10 +9826,10 @@ snapshots:
node-abi@3.77.0:
dependencies:
semver: 7.7.3
+ optional: true
- node-fetch-native@1.6.7: {}
-
- node-gyp-build@4.8.4: {}
+ node-gyp-build@4.8.4:
+ optional: true
node-plop@0.26.3:
dependencies:
@@ -10423,14 +9857,6 @@ snapshots:
dependencies:
boolbase: 1.0.0
- nypm@0.6.1:
- dependencies:
- citty: 0.1.6
- consola: 3.4.2
- pathe: 2.0.3
- pkg-types: 2.3.0
- tinyexec: 1.0.1
-
object-assign@4.1.1: {}
object-inspect@1.13.4: {}
@@ -10473,7 +9899,8 @@ snapshots:
define-properties: 1.2.1
es-object-atoms: 1.1.1
- obuf@1.1.2: {}
+ obuf@1.1.2:
+ optional: true
ofetch@2.0.0-alpha.3: {}
@@ -10487,13 +9914,6 @@ snapshots:
dependencies:
mimic-fn: 2.1.0
- open@10.2.0:
- dependencies:
- default-browser: 5.2.1
- define-lazy-prop: 3.0.0
- is-inside-container: 1.0.0
- wsl-utils: 0.1.0
-
optionator@0.9.4:
dependencies:
deep-is: 0.1.4
@@ -10663,13 +10083,14 @@ snapshots:
pathe@2.0.3: {}
- perfect-debounce@1.0.0: {}
-
- pg-int8@1.0.1: {}
+ pg-int8@1.0.1:
+ optional: true
- pg-numeric@1.0.2: {}
+ pg-numeric@1.0.2:
+ optional: true
- pg-protocol@1.10.3: {}
+ pg-protocol@1.10.3:
+ optional: true
pg-types@4.1.0:
dependencies:
@@ -10680,6 +10101,7 @@ snapshots:
postgres-date: 2.1.0
postgres-interval: 3.0.0
postgres-range: 1.1.4
+ optional: true
picocolors@1.0.1: {}
@@ -10689,12 +10111,6 @@ snapshots:
picomatch@4.0.3: {}
- pkg-types@2.3.0:
- dependencies:
- confbox: 0.2.2
- exsolve: 1.0.7
- pathe: 2.0.3
-
possible-typed-array-names@1.0.0: {}
postcss@8.5.6:
@@ -10703,21 +10119,25 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
- postgres-array@3.0.4: {}
+ postgres-array@3.0.4:
+ optional: true
postgres-bytea@3.0.0:
dependencies:
obuf: 1.1.2
+ optional: true
- postgres-date@2.1.0: {}
-
- postgres-interval@3.0.0: {}
+ postgres-date@2.1.0:
+ optional: true
- postgres-range@1.1.4: {}
+ postgres-interval@3.0.0:
+ optional: true
- postgres@3.4.4:
+ postgres-range@1.1.4:
optional: true
+ postgres@3.4.8: {}
+
prebuild-install@7.1.3:
dependencies:
detect-libc: 2.1.2
@@ -10732,6 +10152,7 @@ snapshots:
simple-get: 4.0.1
tar-fs: 2.1.3
tunnel-agent: 0.6.0
+ optional: true
prelude-ls@1.2.1: {}
@@ -10758,11 +10179,7 @@ snapshots:
'@prisma/engines': 5.22.0
optionalDependencies:
fsevents: 2.3.3
-
- prompts@2.4.2:
- dependencies:
- kleur: 3.0.3
- sisteransi: 1.0.5
+ optional: true
prop-types@15.8.1:
dependencies:
@@ -10789,15 +10206,10 @@ snapshots:
dependencies:
end-of-stream: 1.4.5
once: 1.4.0
+ optional: true
punycode@2.3.1: {}
- pvtsutils@1.3.6:
- dependencies:
- tslib: 2.8.1
-
- pvutils@1.1.3: {}
-
queue-microtask@1.2.3: {}
radix-ui@1.4.3(@types/react-dom@19.1.9(@types/react@19.1.12))(@types/react@19.1.12)(react-dom@19.2.3(react@19.1.4))(react@19.1.4):
@@ -10863,11 +10275,6 @@ snapshots:
'@types/react': 19.1.12
'@types/react-dom': 19.1.9(@types/react@19.1.12)
- rc9@2.1.2:
- dependencies:
- defu: 6.1.4
- destr: 2.0.5
-
rc@1.2.8:
dependencies:
deep-extend: 0.6.0
@@ -10918,9 +10325,6 @@ snapshots:
react@19.1.4: {}
- react@19.2.3:
- optional: true
-
readable-stream@3.6.2:
dependencies:
inherits: 2.0.4
@@ -10931,7 +10335,8 @@ snapshots:
dependencies:
picomatch: 2.3.1
- readdirp@4.1.2: {}
+ readdirp@4.1.2:
+ optional: true
recast@0.23.11:
dependencies:
@@ -10952,8 +10357,6 @@ snapshots:
get-proto: 1.0.1
which-builtin-type: 1.2.1
- regexp-to-ast@0.5.0: {}
-
regexp.prototype.flags@1.5.4:
dependencies:
call-bind: 1.0.8
@@ -11027,12 +10430,8 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.52.5
fsevents: 2.3.3
- rou3@0.5.1: {}
-
rou3@0.7.10: {}
- run-applescript@7.0.0: {}
-
run-async@2.4.1: {}
run-parallel@1.2.0:
@@ -11094,8 +10493,6 @@ snapshots:
seroval@1.3.2: {}
- set-cookie-parser@2.7.1: {}
-
set-function-length@1.2.2:
dependencies:
define-data-property: 1.1.4
@@ -11157,15 +10554,15 @@ snapshots:
signal-exit@3.0.7: {}
- simple-concat@1.0.1: {}
+ simple-concat@1.0.1:
+ optional: true
simple-get@4.0.1:
dependencies:
decompress-response: 6.0.0
once: 1.4.0
simple-concat: 1.0.1
-
- sisteransi@1.0.5: {}
+ optional: true
slash@3.0.0: {}
@@ -11327,6 +10724,7 @@ snapshots:
mkdirp-classic: 0.5.3
pump: 3.0.3
tar-stream: 2.2.0
+ optional: true
tar-stream@2.2.0:
dependencies:
@@ -11335,6 +10733,7 @@ snapshots:
fs-constants: 1.0.0
inherits: 2.0.4
readable-stream: 3.6.2
+ optional: true
terser@5.44.0:
dependencies:
@@ -11352,10 +10751,6 @@ snapshots:
tinycolor2@1.6.0: {}
- tinyexec@0.3.2: {}
-
- tinyexec@1.0.1: {}
-
tinyglobby@0.2.15:
dependencies:
fdir: 6.5.0(picomatch@4.0.3)
@@ -11426,6 +10821,7 @@ snapshots:
tunnel-agent@0.6.0:
dependencies:
safe-buffer: 5.2.1
+ optional: true
turbo-darwin-64@2.5.8:
optional: true
@@ -11511,6 +10907,8 @@ snapshots:
uglify-js@3.19.3:
optional: true
+ uint8array-extras@1.5.0: {}
+
unbox-primitive@1.1.0:
dependencies:
call-bound: 1.0.4
@@ -11518,8 +10916,6 @@ snapshots:
has-symbols: 1.1.0
which-boxed-primitive: 1.1.1
- uncrypto@0.1.3: {}
-
undici-types@6.21.0: {}
undici-types@7.16.0: {}
@@ -11539,11 +10935,11 @@ snapshots:
picomatch: 4.0.3
webpack-virtual-modules: 0.6.2
- unstorage@2.0.0-alpha.4(@planetscale/database@1.19.0)(chokidar@4.0.3)(db0@0.3.4(better-sqlite3@12.2.0)(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(prisma@5.22.0))(mysql2@3.11.3))(ofetch@2.0.0-alpha.3):
+ unstorage@2.0.0-alpha.4(@planetscale/database@1.19.0)(chokidar@4.0.3)(db0@0.3.4(better-sqlite3@12.2.0)(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.8)(prisma@5.22.0))(mysql2@3.11.3))(ofetch@2.0.0-alpha.3):
optionalDependencies:
'@planetscale/database': 1.19.0
chokidar: 4.0.3
- db0: 0.3.4(better-sqlite3@12.2.0)(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.4)(prisma@5.22.0))(mysql2@3.11.3)
+ db0: 0.3.4(better-sqlite3@12.2.0)(drizzle-orm@0.44.7(@neondatabase/serverless@0.10.0)(@opentelemetry/api@1.9.0)(@planetscale/database@1.19.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.11.10)(@vercel/postgres@0.10.0(utf-8-validate@6.0.4))(better-sqlite3@12.2.0)(gel@2.0.0)(kysely@0.28.5)(mysql2@3.11.3)(postgres@3.4.8)(prisma@5.22.0))(mysql2@3.11.3)
ofetch: 2.0.0-alpha.3
update-browserslist-db@1.1.3(browserslist@4.26.3):
@@ -11712,10 +11108,7 @@ snapshots:
optionalDependencies:
bufferutil: 4.0.8
utf-8-validate: 6.0.4
-
- wsl-utils@0.1.0:
- dependencies:
- is-wsl: 3.1.0
+ optional: true
xmlbuilder2@3.1.1:
dependencies:
@@ -11733,12 +11126,6 @@ snapshots:
yocto-queue@0.1.0: {}
- yocto-spinner@0.2.3:
- dependencies:
- yoctocolors: 2.1.2
-
- yoctocolors@2.1.2: {}
-
zod-validation-error@4.0.2(zod@4.1.12):
dependencies:
zod: 4.1.12
diff --git a/tooling/tailwind/theme.css b/tooling/tailwind/theme.css
index 67ae2a3..95af4cb 100644
--- a/tooling/tailwind/theme.css
+++ b/tooling/tailwind/theme.css
@@ -1,37 +1,37 @@
:root {
- --background: oklch(0.9875 0.0045 314.8053);
- --foreground: oklch(0.2277 0.0105 312.0161);
+ --background: oklch(1 0 0);
+ --foreground: oklch(0.145 0 0);
--card: oklch(1 0 0);
- --card-foreground: oklch(0.2277 0.0105 312.0161);
+ --card-foreground: oklch(0.145 0 0);
--popover: oklch(1 0 0);
- --popover-foreground: oklch(0.2277 0.0105 312.0161);
- --primary: oklch(0.5605 0.1911 350.0331);
- --primary-foreground: oklch(1 0 0);
- --secondary: oklch(0.967 0.0106 316.4921);
- --secondary-foreground: oklch(0.4536 0.0226 309.5036);
- --muted: oklch(0.967 0.0106 316.4921);
- --muted-foreground: oklch(0.5653 0.021 306.4429);
- --accent: oklch(0.967 0.0106 316.4921);
- --accent-foreground: oklch(0.5605 0.1911 350.0331);
- --destructive: oklch(0.6368 0.2078 25.3313);
+ --popover-foreground: oklch(0.145 0 0);
+ --primary: oklch(0.646 0.222 41.116);
+ --primary-foreground: oklch(0.98 0.016 73.684);
+ --secondary: oklch(0.967 0.001 286.375);
+ --secondary-foreground: oklch(0.21 0.006 285.885);
+ --muted: oklch(0.97 0 0);
+ --muted-foreground: oklch(0.556 0 0);
+ --accent: oklch(0.97 0 0);
+ --accent-foreground: oklch(0.205 0 0);
+ --destructive: oklch(0.58 0.22 27);
--destructive-foreground: oklch(1 0 0);
- --border: oklch(0.9419 0.016 310.0997);
- --input: oklch(1 0 0);
- --ring: oklch(0.5605 0.1911 350.0331);
- --chart-1: oklch(0.5605 0.1911 350.0331);
- --chart-2: oklch(0.6747 0.1492 345.9482);
- --chart-3: oklch(0.7729 0.1045 344.4709);
- --chart-4: oklch(0.8625 0.0636 341.4088);
- --chart-5: oklch(0.9411 0.0261 343.2843);
- --sidebar: oklch(0.967 0.0106 316.4921);
- --sidebar-foreground: oklch(0.4536 0.0226 309.5036);
- --sidebar-primary: oklch(0.5605 0.1911 350.0331);
- --sidebar-primary-foreground: oklch(1 0 0);
- --sidebar-accent: oklch(0.9419 0.016 310.0997);
- --sidebar-accent-foreground: oklch(0.5605 0.1911 350.0331);
- --sidebar-border: oklch(0.9155 0.0235 310.6964);
- --sidebar-ring: oklch(0.5605 0.1911 350.0331);
- --radius: 0.75rem;
+ --border: oklch(0.922 0 0);
+ --input: oklch(0.922 0 0);
+ --ring: oklch(0.708 0 0);
+ --chart-1: oklch(0.837 0.128 66.29);
+ --chart-2: oklch(0.705 0.213 47.604);
+ --chart-3: oklch(0.646 0.222 41.116);
+ --chart-4: oklch(0.553 0.195 38.402);
+ --chart-5: oklch(0.47 0.157 37.304);
+ --sidebar: oklch(0.985 0 0);
+ --sidebar-foreground: oklch(0.145 0 0);
+ --sidebar-primary: oklch(0.646 0.222 41.116);
+ --sidebar-primary-foreground: oklch(0.98 0.016 73.684);
+ --sidebar-accent: oklch(0.97 0 0);
+ --sidebar-accent-foreground: oklch(0.205 0 0);
+ --sidebar-border: oklch(0.922 0 0);
+ --sidebar-ring: oklch(0.708 0 0);
+ --radius: 0.875rem;
--shadow-2xs: 0px 2px 10px 0px hsl(0 0% 0% / 0.03);
--shadow-xs: 0px 2px 10px 0px hsl(0 0% 0% / 0.03);
--shadow-sm:
@@ -49,38 +49,38 @@
--spacing: 0.25rem;
@variant dark {
- --background: oklch(0.1836 0.0111 311.9111);
- --foreground: oklch(0.9788 0.0057 308.3962);
- --card: oklch(0.1836 0.0111 311.9111);
- --card-foreground: oklch(0.9788 0.0057 308.3962);
- --popover: oklch(0.1836 0.0111 311.9111);
- --popover-foreground: oklch(0.9788 0.0057 308.3962);
- --primary: oklch(0.6747 0.1492 345.9482);
- --primary-foreground: oklch(0.1836 0.0111 311.9111);
- --secondary: oklch(0.2551 0.0142 310.7968);
- --secondary-foreground: oklch(0.721 0.0184 308.1777);
- --muted: oklch(0.2551 0.0142 310.7968);
- --muted-foreground: oklch(0.6288 0.0177 309.9946);
- --accent: oklch(0.2551 0.0142 310.7968);
- --accent-foreground: oklch(0.6747 0.1492 345.9482);
- --destructive: oklch(0.3958 0.1331 25.723);
+ --background: oklch(0.145 0 0);
+ --foreground: oklch(0.985 0 0);
+ --card: oklch(0.205 0 0);
+ --card-foreground: oklch(0.985 0 0);
+ --popover: oklch(0.205 0 0);
+ --popover-foreground: oklch(0.985 0 0);
+ --primary: oklch(0.705 0.213 47.604);
+ --primary-foreground: oklch(0.98 0.016 73.684);
+ --secondary: oklch(0.274 0.006 286.033);
+ --secondary-foreground: oklch(0.985 0 0);
+ --muted: oklch(0.269 0 0);
+ --muted-foreground: oklch(0.708 0 0);
+ --accent: oklch(0.371 0 0);
+ --accent-foreground: oklch(0.985 0 0);
+ --destructive: oklch(0.704 0.191 22.216);
--destructive-foreground: oklch(1 0 0);
- --border: oklch(0.2941 0.0175 310.1142);
- --input: oklch(0.2551 0.0142 310.7968);
- --ring: oklch(0.6747 0.1492 345.9482);
- --chart-1: oklch(0.6747 0.1492 345.9482);
- --chart-2: oklch(0.5605 0.1911 350.0331);
- --chart-3: oklch(0.4988 0.1668 350);
- --chart-4: oklch(0.4373 0.1428 349.7487);
- --chart-5: oklch(0.3738 0.1177 349.3988);
- --sidebar: oklch(0.2103 0.0107 311.9806);
- --sidebar-foreground: oklch(0.721 0.0184 308.1777);
- --sidebar-primary: oklch(0.6747 0.1492 345.9482);
- --sidebar-primary-foreground: oklch(0.1836 0.0111 311.9111);
- --sidebar-accent: oklch(0.2551 0.0142 310.7968);
- --sidebar-accent-foreground: oklch(0.6747 0.1492 345.9482);
- --sidebar-border: oklch(0.2941 0.0175 310.1142);
- --sidebar-ring: oklch(0.6747 0.1492 345.9482);
+ --border: oklch(1 0 0 / 10%);
+ --input: oklch(1 0 0 / 15%);
+ --ring: oklch(0.556 0 0);
+ --chart-1: oklch(0.837 0.128 66.29);
+ --chart-2: oklch(0.705 0.213 47.604);
+ --chart-3: oklch(0.646 0.222 41.116);
+ --chart-4: oklch(0.553 0.195 38.402);
+ --chart-5: oklch(0.47 0.157 37.304);
+ --sidebar: oklch(0.205 0 0);
+ --sidebar-foreground: oklch(0.985 0 0);
+ --sidebar-primary: oklch(0.705 0.213 47.604);
+ --sidebar-primary-foreground: oklch(0.98 0.016 73.684);
+ --sidebar-accent: oklch(0.269 0 0);
+ --sidebar-accent-foreground: oklch(0.985 0 0);
+ --sidebar-border: oklch(1 0 0 / 10%);
+ --sidebar-ring: oklch(0.556 0 0);
--radius: 0.75rem;
--shadow-2xs: 0px 2px 10px 0px hsl(0 0% 0% / 0.1);
--shadow-xs: 0px 2px 10px 0px hsl(0 0% 0% / 0.1);
@@ -139,6 +139,9 @@
--radius-md: calc(var(--radius) - 2px);
--radius-lg: var(--radius);
--radius-xl: calc(var(--radius) + 4px);
+ --radius-2xl: calc(var(--radius) + 8px);
+ --radius-3xl: calc(var(--radius) + 12px);
+ --radius-4xl: calc(var(--radius) + 16px);
--shadow-2xs: var(--shadow-2xs);
--shadow-xs: var(--shadow-xs);
@@ -155,4 +158,4 @@
--tracking-wide: calc(var(--tracking-normal) + 0.025em);
--tracking-wider: calc(var(--tracking-normal) + 0.05em);
--tracking-widest: calc(var(--tracking-normal) + 0.1em);
-}
+}
\ No newline at end of file