From e2ee9e4c272ba91be78afadc7e3f97948577f54a Mon Sep 17 00:00:00 2001 From: Nate Kelley Date: Tue, 12 Aug 2025 10:30:48 -0600 Subject: [PATCH] started adding supabase --- apps/web-tss/biome.json | 2 +- apps/web-tss/package.json | 19 +- apps/web-tss/src/api/config.ts | 4 + apps/web-tss/src/api/errors.ts | 51 ++ apps/web-tss/src/api/instances.ts | 17 + apps/web-tss/src/data/demo-table-data.ts | 1 + .../src/integrations/supabase/client.ts | 29 + .../supabase/getSupabaseUserContext.ts | 96 ++++ .../src/integrations/supabase/index.ts | 1 + .../integrations/supabase/resetPassword.ts | 36 ++ .../src/integrations/supabase/server.ts | 38 ++ .../src/integrations/supabase/signIn.ts | 175 ++++++ .../src/integrations/supabase/signOut.tsx | 28 + apps/web-tss/src/routeTree.gen.ts | 31 +- apps/web-tss/src/router.tsx | 10 +- apps/web-tss/src/routes/__root.tsx | 9 +- apps/web-tss/src/routes/auth.callback.tsx | 73 +++ apps/web-tss/tsconfig.json | 2 +- apps/web-tss/vite.config.ts | 3 + pnpm-lock.yaml | 501 +++++++++--------- 20 files changed, 864 insertions(+), 262 deletions(-) create mode 100644 apps/web-tss/src/api/config.ts create mode 100644 apps/web-tss/src/api/errors.ts create mode 100644 apps/web-tss/src/api/instances.ts create mode 100644 apps/web-tss/src/integrations/supabase/client.ts create mode 100644 apps/web-tss/src/integrations/supabase/getSupabaseUserContext.ts create mode 100644 apps/web-tss/src/integrations/supabase/index.ts create mode 100644 apps/web-tss/src/integrations/supabase/resetPassword.ts create mode 100644 apps/web-tss/src/integrations/supabase/server.ts create mode 100644 apps/web-tss/src/integrations/supabase/signIn.ts create mode 100644 apps/web-tss/src/integrations/supabase/signOut.tsx create mode 100644 apps/web-tss/src/routes/auth.callback.tsx diff --git a/apps/web-tss/biome.json b/apps/web-tss/biome.json index 7c90778c0..b8b06dbeb 100644 --- a/apps/web-tss/biome.json +++ b/apps/web-tss/biome.json @@ -36,7 +36,7 @@ }, "suspicious": { "noExplicitAny": "error", - "noConsole": "warn" + "noConsole": "off" }, "complexity": { "noExcessiveCognitiveComplexity": "off", diff --git a/apps/web-tss/package.json b/apps/web-tss/package.json index cb23a0a8d..7222164a4 100644 --- a/apps/web-tss/package.json +++ b/apps/web-tss/package.json @@ -21,26 +21,29 @@ "@radix-ui/react-slider": "^1.3.5", "@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-switch": "^1.2.5", + "@supabase/ssr": "^0.6.1", "@t3-oss/env-core": "^0.13.8", "@tailwindcss/vite": "^4.1.11", "@tanstack/db": "^0.1.1", "@tanstack/match-sorter-utils": "^8.19.4", "@tanstack/query-db-collection": "^0.2.0", "@tanstack/react-db": "^0.1.1", - "@tanstack/react-devtools": "^0.2.2", + "@tanstack/react-devtools": "^0.3.0", "@tanstack/react-form": "^1.19.1", - "@tanstack/react-query": "^5.84.2", - "@tanstack/react-query-devtools": "^5.84.2", - "@tanstack/react-router": "^1.131.5", - "@tanstack/react-router-devtools": "^1.131.5", + "@tanstack/react-query": "^5.85.0", + "@tanstack/react-query-devtools": "^5.85.0", + "@tanstack/react-router": "^1.131.7", + "@tanstack/react-router-devtools": "^1.131.7", "@tanstack/react-router-with-query": "^1.130.17", - "@tanstack/react-start": "^1.131.6", + "@tanstack/react-start": "^1.131.7", "@tanstack/react-store": "^0.7.3", "@tanstack/react-table": "^8.21.3", - "@tanstack/router-plugin": "^1.131.5", + "@tanstack/router-plugin": "^1.131.7", "@tanstack/store": "^0.7.2", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", + "ky": "^1.8.2", + "lodash": "^4.17.21", "lucide-react": "^0.539.0", "react": "^19.1.1", "react-dom": "^19.1.1", @@ -64,7 +67,7 @@ "@vitejs/plugin-react": "^5.0.0", "@vitest/ui": "3.2.4", "jsdom": "^26.1.0", - "typescript": "^5.9.2", + "typescript": "^5.9.0", "vite": "^7.1.2", "vite-tsconfig-paths": "catalog:", "vitest": "^3.2.4", diff --git a/apps/web-tss/src/api/config.ts b/apps/web-tss/src/api/config.ts new file mode 100644 index 000000000..46b1e3be9 --- /dev/null +++ b/apps/web-tss/src/api/config.ts @@ -0,0 +1,4 @@ +export const BASE_API_URL = `${process.env.NEXT_PUBLIC_API_URL}`; +export const BASE_API_URL_V2 = `${process.env.NEXT_PUBLIC_API2_URL}`; +export const BASE_URL = `${BASE_API_URL}/api/v1`; +export const BASE_URL_V2 = `${BASE_API_URL_V2}/api/v2`; diff --git a/apps/web-tss/src/api/errors.ts b/apps/web-tss/src/api/errors.ts new file mode 100644 index 000000000..1b0fccc08 --- /dev/null +++ b/apps/web-tss/src/api/errors.ts @@ -0,0 +1,51 @@ +import isString from 'lodash/isString'; + +export const rustErrorHandler = (errors: unknown = {}): RustApiError => { + // Type guards and safe property access + const isErrorObject = (obj: unknown): obj is Record => + typeof obj === 'object' && obj !== null; + + const data = + isErrorObject(errors) && isErrorObject(errors.response) ? errors.response.data : undefined; + const status = + isErrorObject(errors) && typeof errors.status === 'number' ? errors.status : undefined; + + if (data && isString(data)) { + return { message: String(data), status }; + } + + if (isErrorObject(data) && data.message) { + return { message: String(data.message), status }; + } + + if (isErrorObject(data) && data.detail) { + if (typeof data.detail === 'string') { + return { message: String(data.detail), status }; + } + + if ( + Array.isArray(data.detail) && + data.detail[0] && + isErrorObject(data.detail[0]) && + data.detail[0].msg + ) { + return { message: String(data.detail[0].msg), status }; + } + return { message: String(data.detail), status }; + } + + if (isErrorObject(errors) && errors.message) { + return { message: String(errors.message), status }; + } + + if (typeof errors === 'string') { + return { message: String(errors), status }; + } + + return {}; +}; + +export interface RustApiError { + message?: string; + status?: number; +} diff --git a/apps/web-tss/src/api/instances.ts b/apps/web-tss/src/api/instances.ts new file mode 100644 index 000000000..e9c7d28af --- /dev/null +++ b/apps/web-tss/src/api/instances.ts @@ -0,0 +1,17 @@ +import ky from "ky"; +import { BASE_URL, BASE_URL_V2 } from "./config"; + +const mainApi = ky.create({ + prefixUrl: BASE_URL, + hooks: { + beforeRequest: [ + async (request) => { + // request.headers.set("Authorization", `Bearer ${token}`); + }, + ], + }, +}); +const mainApiV2 = ky.create({ prefixUrl: BASE_URL_V2 }); + +export default mainApi; +export { mainApi, mainApiV2 }; diff --git a/apps/web-tss/src/data/demo-table-data.ts b/apps/web-tss/src/data/demo-table-data.ts index d5cd6ffc8..5b06b170d 100644 --- a/apps/web-tss/src/data/demo-table-data.ts +++ b/apps/web-tss/src/data/demo-table-data.ts @@ -41,3 +41,4 @@ export function makeData(...lens: number[]): Person[] { return makeDataLevel(); } + diff --git a/apps/web-tss/src/integrations/supabase/client.ts b/apps/web-tss/src/integrations/supabase/client.ts new file mode 100644 index 000000000..625184e65 --- /dev/null +++ b/apps/web-tss/src/integrations/supabase/client.ts @@ -0,0 +1,29 @@ +"use client"; + +import { createBrowserClient as createBrowserClientSSR } from "@supabase/ssr"; + +function createBrowserClient() { + const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL; + const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY; + + if (!supabaseUrl || !supabaseAnonKey) { + throw new Error("Missing Supabase environment variables for browser client"); + } + + return createBrowserClientSSR(supabaseUrl, supabaseAnonKey, { + auth: { + persistSession: true, + autoRefreshToken: true, + detectSessionInUrl: true, + }, + }); +} + +let browserClient: ReturnType | null = null; + +export const getBrowserClient = () => { + if (!browserClient) { + browserClient = createBrowserClient(); + } + return browserClient; +}; diff --git a/apps/web-tss/src/integrations/supabase/getSupabaseUserContext.ts b/apps/web-tss/src/integrations/supabase/getSupabaseUserContext.ts new file mode 100644 index 000000000..c6d04d364 --- /dev/null +++ b/apps/web-tss/src/integrations/supabase/getSupabaseUserContext.ts @@ -0,0 +1,96 @@ +import { getSupabaseServerClient } from "./server"; +import { signInWithAnonymousUser } from "./signIn"; + +type PromiseType> = T extends Promise ? U : never; + +export type UseSupabaseUserContextType = PromiseType>; + +export const getSupabaseUserContext = async (preemptiveRefreshMinutes = 5) => { + const supabase = await getSupabaseServerClient(); + + // Get the session first + const sessionResult = await supabase.auth.getSession(); + let sessionData = sessionResult.data; + const sessionError = sessionResult.error; + + if (sessionError) { + console.error("Error getting session:", sessionError); + } + + // Check if we need to refresh the session + if (sessionData.session) { + const refreshedSessionData = (await refreshSessionIfNeeded( + supabase, + sessionData.session, + preemptiveRefreshMinutes, + )) as Awaited>; + + // If session was refreshed, get the updated session + if (refreshedSessionData && "session" in refreshedSessionData) { + // Replace the entire sessionData object to avoid type issues + sessionData = refreshedSessionData; + } + } + + // Get user data + const { data: userData, error: userError } = await supabase.auth.getUser(); + + if (userError) { + console.error("Error getting user:", userData, userError); + } + + if (!userData.user) { + const { session: anonSession } = await signInWithAnonymousUser(); + console.info("created anon session", anonSession); + return { + user: anonSession?.user || null, + accessToken: anonSession?.access_token, + }; + } + + const user = userData.user; + const accessToken = sessionData.session?.access_token; + const refreshToken = sessionData.session?.refresh_token; + + if (!accessToken) { + console.error("No access token found for user:", user); + } + + return { user, accessToken, refreshToken }; +}; + +/** + * Helper function to refresh the session if it's about to expire (less than 50 minutes) + * Returns true if session was refreshed, false otherwise + */ +const refreshSessionIfNeeded = async ( + supabase: Awaited>, + session: NonNullable>["data"]["session"]>, + preemptiveRefreshMinutes = 5, +): Promise>["data"]> => { + // Calculate if session is about to expire (less than 50 minutes) + const expiresAt = session.expires_at; + if (!expiresAt) { + return false; + } + + const expiresAtTimestamp = expiresAt * 1000; // Convert to milliseconds + const now = Date.now(); + const timeUntilExpiry = expiresAtTimestamp - now; + const preemptiveRefreshInMs = preemptiveRefreshMinutes * 60 * 1000; + + // If session expires in less than X minutes, refresh it + if (timeUntilExpiry < preemptiveRefreshInMs) { + const { data, error } = await supabase.auth.refreshSession(); + + if (error || !data.session) { + console.error("Failed to refresh session:", error); + return false; + } + + // Session was successfully refreshed + return data; + } + + return false; +}; diff --git a/apps/web-tss/src/integrations/supabase/index.ts b/apps/web-tss/src/integrations/supabase/index.ts new file mode 100644 index 000000000..7c93a9920 --- /dev/null +++ b/apps/web-tss/src/integrations/supabase/index.ts @@ -0,0 +1 @@ +export * from './getSupabaseUserContext'; diff --git a/apps/web-tss/src/integrations/supabase/resetPassword.ts b/apps/web-tss/src/integrations/supabase/resetPassword.ts new file mode 100644 index 000000000..e8d286a7b --- /dev/null +++ b/apps/web-tss/src/integrations/supabase/resetPassword.ts @@ -0,0 +1,36 @@ +'use server'; + +import { BusterRoutes, createBusterRoute } from '@/routes'; +import { createSupabaseServerClient } from './server'; + +export const resetPasswordEmailSend = async ({ email }: { email: string }) => { + const supabase = await createSupabaseServerClient(); + + const authURLFull = `${process.env.NEXT_PUBLIC_URL}${createBusterRoute({ + route: BusterRoutes.AUTH_CALLBACK + })}`; + + const { data, error } = await supabase.auth.resetPasswordForEmail(email, { + redirectTo: authURLFull + }); + + if (error) { + return { error: error.message }; + } + + return; +}; + +export const resetPassword = async ({ password }: { password: string }) => { + 'use server'; + + const supabase = await createSupabaseServerClient(); + + const { data, error } = await supabase.auth.updateUser({ password }); + + if (error) { + return { error: error.message }; + } + + return; +}; diff --git a/apps/web-tss/src/integrations/supabase/server.ts b/apps/web-tss/src/integrations/supabase/server.ts new file mode 100644 index 000000000..963431ed4 --- /dev/null +++ b/apps/web-tss/src/integrations/supabase/server.ts @@ -0,0 +1,38 @@ +import { type CookieOptions, createServerClient } from "@supabase/ssr"; +import { parseCookies, setCookie } from "@tanstack/react-start/server"; + +export const COOKIE_OPTIONS: CookieOptions = { + path: "/", + secure: process.env.NODE_ENV === "production", // Only use secure in production + sameSite: "lax", // Type assertion to fix the error + httpOnly: true, // Make cookies HttpOnly + maxAge: 60 * 60 * 24 * 7, // 1 week +}; + +export function getSupabaseServerClient() { + const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL; + const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY; + + if (!supabaseUrl || !supabaseAnonKey) { + throw new Error("Missing Supabase environment variables for server client"); + } + + return createServerClient(supabaseUrl, supabaseAnonKey, { + cookies: { + getAll() { + return Object.entries(parseCookies()).map(([name, value]) => ({ + name, + value, + })); + }, + setAll(cookies) { + cookies.forEach((cookie) => { + setCookie(cookie.name, cookie.value, { + ...COOKIE_OPTIONS, + ...cookie.options, + }); + }); + }, + }, + }); +} diff --git a/apps/web-tss/src/integrations/supabase/signIn.ts b/apps/web-tss/src/integrations/supabase/signIn.ts new file mode 100644 index 000000000..b270bad57 --- /dev/null +++ b/apps/web-tss/src/integrations/supabase/signIn.ts @@ -0,0 +1,175 @@ +import { redirect } from "@tanstack/react-router"; +import { createServerFn } from "@tanstack/react-start"; +import { z } from "zod"; +import { ServerRoute as AuthCallbackRoute } from "../../routes/auth.callback"; +import { getSupabaseServerClient } from "./server"; + +const isValidRedirectUrl = (url: string): boolean => { + try { + const decoded = decodeURIComponent(url); + return decoded.startsWith("/") && !decoded.startsWith("//"); + } catch { + return false; + } +}; + +export const signInWithEmailAndPassword = createServerFn({ method: "POST" }) + .validator( + z.object({ email: z.string(), password: z.string(), redirectUrl: z.string().optional() }), + ) + .handler(async ({ data }) => { + const supabase = getSupabaseServerClient(); + const { error } = await supabase.auth.signUp({ + email: data.email, + password: data.password, + }); + if (error) { + return { + error: true, + message: error.message, + }; + } + + // Redirect to the prev page stored in the "redirect" search param + throw redirect({ + href: data.redirectUrl || "/", + }); + }); + +export const signInWithGoogle = createServerFn({ method: "POST" }) + .validator(z.object({ redirectUrl: z.string().optional() })) + .handler(async ({ data: { redirectUrl } }) => { + const supabase = getSupabaseServerClient(); + + const redirectTo = redirectUrl || "/"; + + const callbackUrl = new URL(AuthCallbackRoute.to); + + if (redirectTo && isValidRedirectUrl(redirectTo)) { + callbackUrl.searchParams.set("next", redirectTo); + } + + const { data, error } = await supabase.auth.signInWithOAuth({ + provider: "google", + options: { + redirectTo: callbackUrl.toString(), + }, + }); + + if (error) { + return { success: false, error: error.message }; + } + + throw redirect({ to: data.url }); + }); + +// export const signInWithGithub = async ({ +// redirectTo, +// }: { +// redirectTo?: string | null; +// } = {}): Promise> => { +// "use server"; + +// const supabase = await createSupabaseServerClient(); + +// const callbackUrl = new URL(authURLFull); +// if (redirectTo && isValidRedirectUrl(redirectTo)) { +// callbackUrl.searchParams.set("next", redirectTo); +// } + +// const { data, error } = await supabase.auth.signInWithOAuth({ +// provider: "github", +// options: { +// redirectTo: callbackUrl.toString(), +// }, +// }); + +// if (error) { +// return { success: false, error: error.message }; +// } + +// revalidatePath("/", "layout"); +// return redirect(data.url); +// }; + +// export const signInWithAzure = async ({ +// redirectTo, +// }: { +// redirectTo?: string | null; +// } = {}): Promise> => { +// "use server"; + +// const supabase = await createSupabaseServerClient(); + +// const callbackUrl = new URL(authURLFull); +// if (redirectTo && isValidRedirectUrl(redirectTo)) { +// callbackUrl.searchParams.set("next", redirectTo); +// } + +// const { data, error } = await supabase.auth.signInWithOAuth({ +// provider: "azure", +// options: { +// redirectTo: callbackUrl.toString(), +// scopes: "email", +// }, +// }); + +// if (error) { +// return { success: false, error: error.message }; +// } +// revalidatePath("/", "layout"); +// return redirect(data.url); +// }; + +// export const signUp = async ({ +// email, +// password, +// redirectTo, +// }: { +// email: string; +// password: string; +// redirectTo?: string | null; +// }): Promise => { +// "use server"; +// const supabase = await createSupabaseServerClient(); +// const authURL = createBusterRoute({ +// route: BusterRoutes.AUTH_CONFIRM, +// }); +// const authURLFull = `${process.env.NEXT_PUBLIC_URL}${authURL}`; + +// const { error } = await supabase.auth.signUp({ +// email, +// password, +// options: { +// emailRedirectTo: authURLFull, +// }, +// }); +// if (error) { +// console.error("supabase error in signUp", error); +// // Return the actual Supabase error message +// return { success: false, error: error.message }; +// } + +// revalidatePath("/", "layout"); +// const finalRedirect = +// redirectTo && isValidRedirectUrl(redirectTo) +// ? decodeURIComponent(redirectTo) +// : createBusterRoute({ route: BusterRoutes.APP_HOME }); +// return redirect(finalRedirect); +// }; + +// export const signInWithAnonymousUser = async () => { +// "use server"; + +// const supabase = await createSupabaseServerClient(); + +// const { data, error } = await supabase.auth.signInAnonymously(); + +// if (error) { +// throw error; +// } + +// revalidatePath("/", "layout"); + +// return data; +// }; diff --git a/apps/web-tss/src/integrations/supabase/signOut.tsx b/apps/web-tss/src/integrations/supabase/signOut.tsx new file mode 100644 index 000000000..fd201ae1a --- /dev/null +++ b/apps/web-tss/src/integrations/supabase/signOut.tsx @@ -0,0 +1,28 @@ +"use server"; + +import { redirect } from "@tanstack/react-router"; +import { createServerFn } from "@tanstack/react-start"; +import { parseCookies, setCookie } from "@tanstack/react-start/server"; +import { getSupabaseServerClient } from "./server"; + +export const signOut = createServerFn({ method: "POST" }).handler(async () => { + const supabase = await getSupabaseServerClient(); + const { error } = await supabase.auth.signOut(); + + if (error) { + return { error: error.message }; + } + + // Clear all cookies by setting them with maxAge: 0 + const allCookies = parseCookies(); + for (const [cookieName] of Object.entries(allCookies)) { + setCookie(cookieName, "", { + path: "/", + maxAge: 0, // This effectively deletes the cookie + }); + } + + throw redirect({ + href: "/", + }); +}); diff --git a/apps/web-tss/src/routeTree.gen.ts b/apps/web-tss/src/routeTree.gen.ts index 3ef77563a..9d5400f58 100644 --- a/apps/web-tss/src/routeTree.gen.ts +++ b/apps/web-tss/src/routeTree.gen.ts @@ -14,6 +14,7 @@ import { Route as rootRouteImport } from './routes/__root' import { Route as IndexRouteImport } from './routes/index' import { Route as DemoDbChatRouteImport } from './routes/demo.db-chat' import { ServerRoute as DemoDbChatApiServerRouteImport } from './routes/demo.db-chat-api' +import { ServerRoute as AuthCallbackServerRouteImport } from './routes/auth.callback' import { ServerRoute as ApiDemoTqTodosServerRouteImport } from './routes/api.demo-tq-todos' import { ServerRoute as ApiDemoNamesServerRouteImport } from './routes/api.demo-names' @@ -34,6 +35,11 @@ const DemoDbChatApiServerRoute = DemoDbChatApiServerRouteImport.update({ path: '/demo/db-chat-api', getParentRoute: () => rootServerRouteImport, } as any) +const AuthCallbackServerRoute = AuthCallbackServerRouteImport.update({ + id: '/auth/callback', + path: '/auth/callback', + getParentRoute: () => rootServerRouteImport, +} as any) const ApiDemoTqTodosServerRoute = ApiDemoTqTodosServerRouteImport.update({ id: '/api/demo-tq-todos', path: '/api/demo-tq-todos', @@ -73,34 +79,47 @@ export interface RootRouteChildren { export interface FileServerRoutesByFullPath { '/api/demo-names': typeof ApiDemoNamesServerRoute '/api/demo-tq-todos': typeof ApiDemoTqTodosServerRoute + '/auth/callback': typeof AuthCallbackServerRoute '/demo/db-chat-api': typeof DemoDbChatApiServerRoute } export interface FileServerRoutesByTo { '/api/demo-names': typeof ApiDemoNamesServerRoute '/api/demo-tq-todos': typeof ApiDemoTqTodosServerRoute + '/auth/callback': typeof AuthCallbackServerRoute '/demo/db-chat-api': typeof DemoDbChatApiServerRoute } export interface FileServerRoutesById { __root__: typeof rootServerRouteImport '/api/demo-names': typeof ApiDemoNamesServerRoute '/api/demo-tq-todos': typeof ApiDemoTqTodosServerRoute + '/auth/callback': typeof AuthCallbackServerRoute '/demo/db-chat-api': typeof DemoDbChatApiServerRoute } export interface FileServerRouteTypes { fileServerRoutesByFullPath: FileServerRoutesByFullPath - fullPaths: '/api/demo-names' | '/api/demo-tq-todos' | '/demo/db-chat-api' + fullPaths: + | '/api/demo-names' + | '/api/demo-tq-todos' + | '/auth/callback' + | '/demo/db-chat-api' fileServerRoutesByTo: FileServerRoutesByTo - to: '/api/demo-names' | '/api/demo-tq-todos' | '/demo/db-chat-api' + to: + | '/api/demo-names' + | '/api/demo-tq-todos' + | '/auth/callback' + | '/demo/db-chat-api' id: | '__root__' | '/api/demo-names' | '/api/demo-tq-todos' + | '/auth/callback' | '/demo/db-chat-api' fileServerRoutesById: FileServerRoutesById } export interface RootServerRouteChildren { ApiDemoNamesServerRoute: typeof ApiDemoNamesServerRoute ApiDemoTqTodosServerRoute: typeof ApiDemoTqTodosServerRoute + AuthCallbackServerRoute: typeof AuthCallbackServerRoute DemoDbChatApiServerRoute: typeof DemoDbChatApiServerRoute } @@ -131,6 +150,13 @@ declare module '@tanstack/react-start/server' { preLoaderRoute: typeof DemoDbChatApiServerRouteImport parentRoute: typeof rootServerRouteImport } + '/auth/callback': { + id: '/auth/callback' + path: '/auth/callback' + fullPath: '/auth/callback' + preLoaderRoute: typeof AuthCallbackServerRouteImport + parentRoute: typeof rootServerRouteImport + } '/api/demo-tq-todos': { id: '/api/demo-tq-todos' path: '/api/demo-tq-todos' @@ -158,6 +184,7 @@ export const routeTree = rootRouteImport const rootServerRouteChildren: RootServerRouteChildren = { ApiDemoNamesServerRoute: ApiDemoNamesServerRoute, ApiDemoTqTodosServerRoute: ApiDemoTqTodosServerRoute, + AuthCallbackServerRoute: AuthCallbackServerRoute, DemoDbChatApiServerRoute: DemoDbChatApiServerRoute, } export const serverRouteTree = rootServerRouteImport diff --git a/apps/web-tss/src/router.tsx b/apps/web-tss/src/router.tsx index 305dad6e7..77b4f8f66 100644 --- a/apps/web-tss/src/router.tsx +++ b/apps/web-tss/src/router.tsx @@ -1,10 +1,13 @@ +import type { QueryClient } from "@tanstack/react-query"; import { createRouter as createTanstackRouter } from "@tanstack/react-router"; import { routerWithQueryClient } from "@tanstack/react-router-with-query"; import * as TanstackQuery from "./integrations/tanstack-query/root-provider"; - -// Import the generated route tree import { routeTree } from "./routeTree.gen"; +export interface AppRouterContext { + queryClient: QueryClient; +} + // Create a new router instance export const createRouter = () => { const rqContext = TanstackQuery.getContext(); @@ -12,7 +15,8 @@ export const createRouter = () => { return routerWithQueryClient( createTanstackRouter({ routeTree, - context: { ...rqContext }, + context: { ...rqContext }, //context is defined in the root route + scrollRestoration: true, defaultPreload: "intent", Wrap: (props) => { return {props.children}; diff --git a/apps/web-tss/src/routes/__root.tsx b/apps/web-tss/src/routes/__root.tsx index d1574b8fe..8c9233607 100644 --- a/apps/web-tss/src/routes/__root.tsx +++ b/apps/web-tss/src/routes/__root.tsx @@ -1,18 +1,13 @@ import { TanstackDevtools } from "@tanstack/react-devtools"; -import type { QueryClient } from "@tanstack/react-query"; import { createRootRouteWithContext, HeadContent, Scripts } from "@tanstack/react-router"; import { TanStackRouterDevtoolsPanel } from "@tanstack/react-router-devtools"; import Header from "../components/Header"; - import TanStackQueryDevtools from "../integrations/tanstack-query/devtools"; import StoreDevtools from "../lib/demo-store-devtools"; +import type { AppRouterContext } from "../router"; import appCss from "../styles.css?url"; -interface MyRouterContext { - queryClient: QueryClient; -} - -export const Route = createRootRouteWithContext()({ +export const Route = createRootRouteWithContext()({ head: () => ({ meta: [ { diff --git a/apps/web-tss/src/routes/auth.callback.tsx b/apps/web-tss/src/routes/auth.callback.tsx new file mode 100644 index 000000000..c3233a319 --- /dev/null +++ b/apps/web-tss/src/routes/auth.callback.tsx @@ -0,0 +1,73 @@ +import { createServerFileRoute } from "@tanstack/react-start/server"; +import { z } from "zod"; +import { getSupabaseServerClient } from "@/integrations/supabase/server"; + +// Define the search parameters schema for type safety +const searchParamsSchema = z.object({ + code: z.string().optional(), + code_challenge: z.string().optional(), + next: z.string().optional(), +}); + +// Type for the validated search parameters +type SearchParams = z.infer; + +export const ServerRoute = createServerFileRoute("/auth/callback").methods({ + GET: async ({ request }) => { + // Parse query parameters from the URL + const url = new URL(request.url); + + // Extract and validate search parameters + const searchParams: SearchParams = { + code: url.searchParams.get("code") || undefined, + code_challenge: url.searchParams.get("code_challenge") || undefined, + next: url.searchParams.get("next") || undefined, + }; + + // Validate the parameters (optional - provides runtime validation) + const validatedParams = searchParamsSchema.parse(searchParams); + + const code = validatedParams.code_challenge || validatedParams.code; + const next = validatedParams.next; + + if (!next) { + return new Response(null, { status: 302, headers: { Location: "/" } }); + } + + if (!code) { + return new Response("Missing code exchange code", { status: 400 }); + } + + const supabase = await getSupabaseServerClient(); + + const { error } = await supabase.auth.exchangeCodeForSession(code); + + if (error) { + return new Response("Error exchanging code for session", { status: 500 }); + } + + const forwardedHost = request.headers.get("x-forwarded-host"); + const origin = request.headers.get("origin"); + const isLocalEnv = process.env.NODE_ENV === "development"; + + if (isLocalEnv) { + const redirectPath = next?.startsWith("/") ? next : "/app"; + return new Response(null, { + status: 302, + headers: { Location: `${origin}${redirectPath}` }, + }); + } + + if (forwardedHost) { + return new Response(null, { + status: 302, + headers: { Location: `https://${forwardedHost}${next}` }, + }); + } + + return new Response(null, { + status: 302, + headers: { Location: `${origin}${next}` }, + }); + }, +}); diff --git a/apps/web-tss/tsconfig.json b/apps/web-tss/tsconfig.json index 4712cc460..007a6997b 100644 --- a/apps/web-tss/tsconfig.json +++ b/apps/web-tss/tsconfig.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@buster/typescript-config/web-vite.json", - "include": ["**/*.ts", "**/*.tsx"], + "include": ["src/**/*.ts", "src/**/*.tsx"], "exclude": ["node_modules", "dist"], "compilerOptions": { "baseUrl": ".", diff --git a/apps/web-tss/vite.config.ts b/apps/web-tss/vite.config.ts index 5c126fc5e..43b1e1c4f 100644 --- a/apps/web-tss/vite.config.ts +++ b/apps/web-tss/vite.config.ts @@ -5,6 +5,9 @@ import { defineConfig } from "vite"; import viteTsConfigPaths from "vite-tsconfig-paths"; const config = defineConfig({ + server: { + port: 3000, + }, plugins: [ // this is the plugin that enables path aliases viteTsConfigPaths({ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 452d96e32..731a05674 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -512,7 +512,7 @@ importers: version: 5.83.1 '@tanstack/react-form': specifier: ^1.19.0 - version: 1.19.0(@tanstack/react-start@1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 1.19.0(@tanstack/react-start@1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-query': specifier: ^5.84.2 version: 5.84.2(react@18.3.1) @@ -862,6 +862,9 @@ importers: '@radix-ui/react-switch': specifier: ^1.2.5 version: 1.2.5(@types/react-dom@19.1.7(@types/react@19.1.10))(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@supabase/ssr': + specifier: ^0.6.1 + version: 0.6.1(@supabase/supabase-js@2.50.2) '@t3-oss/env-core': specifier: ^0.13.8 version: 0.13.8(typescript@5.9.2)(zod@3.25.76) @@ -881,29 +884,29 @@ importers: specifier: ^0.1.1 version: 0.1.1(react@19.1.1)(typescript@5.9.2) '@tanstack/react-devtools': - specifier: ^0.2.2 - version: 0.2.2(@types/react-dom@19.1.7(@types/react@19.1.10))(@types/react@19.1.10)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.8) + specifier: ^0.3.0 + version: 0.3.0(@types/react-dom@19.1.7(@types/react@19.1.10))(@types/react@19.1.10)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.8) '@tanstack/react-form': specifier: ^1.19.1 - version: 1.19.1(@tanstack/react-start@1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 1.19.1(@tanstack/react-start@1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@tanstack/react-query': - specifier: ^5.84.2 - version: 5.84.2(react@19.1.1) + specifier: ^5.85.0 + version: 5.85.0(react@19.1.1) '@tanstack/react-query-devtools': - specifier: ^5.84.2 - version: 5.84.2(@tanstack/react-query@5.84.2(react@19.1.1))(react@19.1.1) + specifier: ^5.85.0 + version: 5.85.0(@tanstack/react-query@5.85.0(react@19.1.1))(react@19.1.1) '@tanstack/react-router': - specifier: ^1.131.5 - version: 1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + specifier: ^1.131.7 + version: 1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@tanstack/react-router-devtools': - specifier: ^1.131.5 - version: 1.131.5(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@tanstack/router-core@1.131.5)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.8)(tiny-invariant@1.3.3) + specifier: ^1.131.7 + version: 1.131.7(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@tanstack/router-core@1.131.7)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.8)(tiny-invariant@1.3.3) '@tanstack/react-router-with-query': specifier: ^1.130.17 - version: 1.130.17(@tanstack/react-query@5.84.2(react@19.1.1))(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@tanstack/router-core@1.131.5)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 1.130.17(@tanstack/react-query@5.85.0(react@19.1.1))(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@tanstack/router-core@1.131.7)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@tanstack/react-start': - specifier: ^1.131.6 - version: 1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9) + specifier: ^1.131.7 + version: 1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9) '@tanstack/react-store': specifier: ^0.7.3 version: 0.7.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1) @@ -911,8 +914,8 @@ importers: specifier: ^8.21.3 version: 8.21.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@tanstack/router-plugin': - specifier: ^1.131.5 - version: 1.131.5(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9) + specifier: ^1.131.7 + version: 1.131.7(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9) '@tanstack/store': specifier: ^0.7.2 version: 0.7.2 @@ -922,6 +925,12 @@ importers: clsx: specifier: ^2.1.1 version: 2.1.1 + ky: + specifier: ^1.8.2 + version: 1.8.2 + lodash: + specifier: ^4.17.21 + version: 4.17.21 lucide-react: specifier: ^0.539.0 version: 0.539.0(react@19.1.1) @@ -987,7 +996,7 @@ importers: specifier: ^26.1.0 version: 26.1.0 typescript: - specifier: ^5.9.2 + specifier: ^5.9.0 version: 5.9.2 vite: specifier: ^7.1.2 @@ -1263,49 +1272,49 @@ importers: version: link:../vitest-config '@platejs/autoformat': specifier: 'catalog:' - version: 49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@platejs/basic-nodes': specifier: 'catalog:' - version: 49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@platejs/basic-styles': specifier: 'catalog:' - version: 49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@platejs/date': specifier: 'catalog:' - version: 49.0.2(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 49.0.2(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@platejs/indent': specifier: 'catalog:' - version: 49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@platejs/layout': specifier: 'catalog:' - version: 49.2.1(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 49.2.1(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@platejs/link': specifier: 'catalog:' - version: 49.1.1(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 49.1.1(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@platejs/list': specifier: 'catalog:' - version: 49.2.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 49.2.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@platejs/markdown': specifier: 'catalog:' - version: 49.2.1(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2) + version: 49.2.1(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2) '@platejs/math': specifier: 'catalog:' - version: 49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@platejs/media': specifier: 'catalog:' - version: 49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@platejs/table': specifier: 'catalog:' - version: 49.1.13(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 49.1.13(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@platejs/toc': specifier: 'catalog:' - version: 49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@platejs/toggle': specifier: 'catalog:' - version: 49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) platejs: specifier: 'catalog:' - version: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + version: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) remark-gfm: specifier: 'catalog:' version: 4.0.1 @@ -5937,14 +5946,14 @@ packages: resolution: {integrity: sha512-78AAfg9KfSDE+pQLRJo20bxX3A40ea14kFqNmzuMb7zFJNfR5L87kAEOju6QXu7cbk9r2r7EEV2a8PgHOsD7Kg==} engines: {node: '>=18'} - '@tanstack/devtools-ui@0.2.2': - resolution: {integrity: sha512-G2gRyoGpjtr25w9BqQzPbefiJ9WALWYLOVxVr+NoqOLDA680nUO5KJjp7oLZMfnKssWxACgulaQ3DUmGGJuysQ==} + '@tanstack/devtools-ui@0.3.0': + resolution: {integrity: sha512-lyP0eM6juIWn8zgI8xI32Lh86gCnjUyNePE9F7Bfgkv5taILmmJAHW5Mme4T2ufv7L8NLwOiBY/bZYnP4zev0w==} engines: {node: '>=18'} peerDependencies: solid-js: '>=1.9.7' - '@tanstack/devtools@0.3.0': - resolution: {integrity: sha512-uxj3MM2/ZlQDlhnBoUSlJC8oneJ+sPh6hK0kgiKZAEgrlUvZfUNgKGhrmMHZaAGl/WEglhZoxXwvvo9HAFT8yw==} + '@tanstack/devtools@0.3.1': + resolution: {integrity: sha512-dqUpPbB4CWvNsXEOyS0H/6elp/QVetvHz3f51B96zl+b5294gUjGwSMI4eNVrmBQPPmqkdkeGsbbkgrlJ1VhNQ==} engines: {node: '>=18'} peerDependencies: solid-js: '>=1.9.7' @@ -5992,8 +6001,8 @@ packages: peerDependencies: react: '>=16.8.0' - '@tanstack/react-devtools@0.2.2': - resolution: {integrity: sha512-Ig8ZYqUPJ+nwRvF/RpkQHPbgEkrL3b2PjeYBgXgT5OemyRUlmG12UutvMBV+bJuBsSOKHrNf29IvzC0Vw9Bt1A==} + '@tanstack/react-devtools@0.3.0': + resolution: {integrity: sha512-16Bfxdb6lxekwY1Nl7UOzfKAIqSB2kw1neX5WUFa1g2SIZLyb3gYiSn1a42RaiJaZOAuHBOxhmad8ZBsetMumQ==} engines: {node: '>=18'} peerDependencies: '@types/react': '>=16.8' @@ -6025,6 +6034,12 @@ packages: '@tanstack/react-query': ^5.84.2 react: ^18 || ^19 + '@tanstack/react-query-devtools@5.85.0': + resolution: {integrity: sha512-Q/lmGAY2I3KkhxSJKLKQUeUBOc9Mv/OrCTw4CfUCq2Za+XhDsB5ZfVTOANAJyDZ+SiUu27Cw1eHNE+xJdACJiw==} + peerDependencies: + '@tanstack/react-query': ^5.85.0 + react: ^18 || ^19 + '@tanstack/react-query-persist-client@5.84.2': resolution: {integrity: sha512-M1l/Ka5BkIiSM/UVj0q1eyNR6RKNWXttWw1+L9s8W5ZN8uRregnBtoUv1jGjiRt4W/Q+LkFdvTYINgIpUkewJw==} peerDependencies: @@ -6036,11 +6051,16 @@ packages: peerDependencies: react: ^18 || ^19 - '@tanstack/react-router-devtools@1.131.5': - resolution: {integrity: sha512-3LaEbWDYGnzw4J8DM7KX32qRslGrSt67Cg7uoAYReBfDlLpWVRnjpyG2fef7nHDqn5HaAuV0IbY1n6Duwp5IyQ==} + '@tanstack/react-query@5.85.0': + resolution: {integrity: sha512-t1HMfToVMGfwEJRya6GG7gbK0luZJd+9IySFNePL1BforU1F3LqQ3tBC2Rpvr88bOrlU6PXyMLgJD0Yzn4ztUw==} + peerDependencies: + react: ^18 || ^19 + + '@tanstack/react-router-devtools@1.131.7': + resolution: {integrity: sha512-RLxjwsD8A9iavGtMA1RhQ+j/gfAdQcEf9pygGk9RZuWV7XJ4RXZeeKQHDKyJ/Rry5NkYbO+eJzeToq/szuQbuw==} engines: {node: '>=12'} peerDependencies: - '@tanstack/react-router': ^1.131.5 + '@tanstack/react-router': ^1.131.7 react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' @@ -6054,36 +6074,36 @@ packages: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-router@1.131.5': - resolution: {integrity: sha512-71suJGuCmrHN9PLLRUDB3CGnW5RNcEEfgfX616TOpKamHs977H8P4/75BgWPRWcLHCga/1kkA6c7bddCwZ35Fw==} + '@tanstack/react-router@1.131.7': + resolution: {integrity: sha512-V6ASdkXrNJKyTXjLnLgzc2jdh9ymx5bWczO5b3OXAvhzpcwzN5yX+jPdE6vFrnTPJqrrRkjxCEWwVJVAtIZJWg==} engines: {node: '>=12'} peerDependencies: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-start-client@1.131.6': - resolution: {integrity: sha512-1Ui8XCTTeTaWSw234sc0YbGhgolqNkQeQtbJeYq8TCf5NHe7Qj0RHsxHCbl9nUkgCv492zf9xm2Y+MAXzla8lQ==} + '@tanstack/react-start-client@1.131.7': + resolution: {integrity: sha512-b4bTJsUv2Hy6vjKiWUc/OMlaJohFTsAhIINBvd5HKq2pmQ+eUjAqB0Eb3+0bGhK/3F5rgCtqcreHYg+y+dUTHw==} engines: {node: '>=12'} peerDependencies: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-start-plugin@1.131.6': - resolution: {integrity: sha512-4RNx9/dLSWSnnogIBS1rSeURZUbUrIE33q0DQnzIUiXhk6br60vsd+V5VXNtsX17ia4TBIRmLZNwPWlABi9fUQ==} + '@tanstack/react-start-plugin@1.131.7': + resolution: {integrity: sha512-vz9qvK94alXxW+KJSWK0BGw5KK52JGb6SzsCC8+wrgsXQRXYMMubqGzQ7H4l/Ql1o7U5mhsV/FWjjrsMY9uD1w==} engines: {node: '>=12'} peerDependencies: '@vitejs/plugin-react': '>=4.3.4' vite: '>=6.0.0' - '@tanstack/react-start-server@1.131.6': - resolution: {integrity: sha512-BkGRfNyiPA+M1mXbof1H66hZm+Vhuad1iyJsbpI05v/M5iacHmxId4HUFhCCNPrkKrk+kMoW4naRzBBbwH11XQ==} + '@tanstack/react-start-server@1.131.7': + resolution: {integrity: sha512-+Sh74P83tfGzXf7LodwPXS5AOjLT6rodBzCFcbYUo8l6vM0A4lvkVD3Ag9j6BKcJmdXXHFqLsDYRiVLwn+v5sg==} engines: {node: '>=12'} peerDependencies: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-start@1.131.6': - resolution: {integrity: sha512-sVbX4e4WTfMTfmNKnPZveFHSpKE4SDeyZYGsxX0Lhmex+jEEfQjPeZKZR8TaqbiCqoxM6winGPvOXHC0bwa2Pw==} + '@tanstack/react-start@1.131.7': + resolution: {integrity: sha512-hMD9hLbB/xFdQ5Xu/RgZAKNcDQ4DhSfThtqyMa6LtISs8gwfKbCCOueL2MwiTRz8I8gTmxWysTo/y2OfoA0zog==} engines: {node: '>=12'} peerDependencies: '@vitejs/plugin-react': '>=4.3.4' @@ -6110,15 +6130,15 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tanstack/router-core@1.131.5': - resolution: {integrity: sha512-XVfZdnKNQbWfkQ6G7I9ml2wHp98Wy7wgTboP5SfrJHfOE+kPeHeZRJqF/pp5oqLZ2feBJqsDDKNWo9323L7sWQ==} + '@tanstack/router-core@1.131.7': + resolution: {integrity: sha512-NpFfAG1muv4abrCij6sEtRrVzlU+xYpY30NAgquHNhMMMNIiN7djzsaGV+vCJdR4u5mi13+f0c3f+f9MdekY5A==} engines: {node: '>=12'} - '@tanstack/router-devtools-core@1.131.5': - resolution: {integrity: sha512-kH3cZz7UfnVQW9vMZJ/CAx15pu+iGkn10N4rRKBVWCEJZFPX3GZvYEwkeALHASsV0Io7yUvKDcWfPsc+UowyzQ==} + '@tanstack/router-devtools-core@1.131.7': + resolution: {integrity: sha512-1GHWILJr69Ej/c8UUMhT7Srx392FbsDqRrPhCWWtrjmYOv6Fdx3HdKDJt/YdJGBc8z6x+V7EE41j+LZggD+70Q==} engines: {node: '>=12'} peerDependencies: - '@tanstack/router-core': ^1.131.5 + '@tanstack/router-core': ^1.131.7 csstype: ^3.0.10 solid-js: '>=1.9.5' tiny-invariant: ^1.3.3 @@ -6126,16 +6146,16 @@ packages: csstype: optional: true - '@tanstack/router-generator@1.131.5': - resolution: {integrity: sha512-5+/zyp/R9WN8tHNVIEYQZpRMzcsOrNH06HoPnPMiLiB9T4WsOLFJCcHdyso9ofGQq+hoxB4M9SUBXVBbJVWbSw==} + '@tanstack/router-generator@1.131.7': + resolution: {integrity: sha512-djwY5O1LdJo300EOZiYog5RsjB1DYzFtgX6a3uOkAmii7LHX9k9mhFXx2KrI4dLHLQsnlKexV9QvU6cSTFmsag==} engines: {node: '>=12'} - '@tanstack/router-plugin@1.131.5': - resolution: {integrity: sha512-Px+GSijNv1cbSm74+U+kEbuSFsspL+/BakzytAJFdh2O4342G32tha1cMFMlzXbDd9SW1FaLWgu3VqNHjGIpOg==} + '@tanstack/router-plugin@1.131.7': + resolution: {integrity: sha512-8amSkWEyCwz2vR4dRmoKm9qnPdIgFiQF4hJ2TWoIIi8ZmLLwhq+IJc66sSpVR1eR6P28cLuZJBFnJMtv364oFQ==} engines: {node: '>=12'} peerDependencies: '@rsbuild/core': '>=1.0.2' - '@tanstack/react-router': ^1.131.5 + '@tanstack/react-router': ^1.131.7 vite: '>=5.0.0 || >=6.0.0' vite-plugin-solid: ^2.11.2 webpack: '>=5.92.0' @@ -6159,34 +6179,34 @@ packages: resolution: {integrity: sha512-hWsaSgEZAVyzHg8+IcJWCEtfI9ZSlNELErfLiGHG9XCHEXMegFWsrESsKHlASzJqef9RsuOLDl+1IMPIskwdDw==} engines: {node: '>=12'} - '@tanstack/start-client-core@1.131.6': - resolution: {integrity: sha512-F7k13j3pVk2JC7nIsU3DADRro4NdyyKRxH6fPPPMk4PiHxUBK9qsfGfoFokEVUhVGSVQ7DMdtVSa/Sy39pG3AQ==} + '@tanstack/start-client-core@1.131.7': + resolution: {integrity: sha512-5+Bf880MYQfoVl55QmRHMDdoT+yPBqmOQIRV6Llc9arkfpGgh0bXGK9mAW7Eymlm5+NBgInNhFZRLtjvsXpZYw==} engines: {node: '>=12'} - '@tanstack/start-plugin-core@1.131.6': - resolution: {integrity: sha512-vcPFQ3E8Jh8yUjzH0aR2jkSLSdXbMOltuxSnpEfMsHCvlwcHHE485sac9yhzsbVqru8uTswyvmUUNzQJQZZK+A==} + '@tanstack/start-plugin-core@1.131.7': + resolution: {integrity: sha512-p97nlR48aWaM5REcsSumV6xPoqrBDrSScb9jdDdidhKt6i/Z7RQxGioLQuLJA2PuVF8sNs8jTY2Qgwian9sZDg==} engines: {node: '>=12'} peerDependencies: vite: '>=6.0.0' - '@tanstack/start-server-core@1.131.6': - resolution: {integrity: sha512-E6nVtTHbX8GY5Pr9CmCn8EQ/oV8DTyCAK/KCJRHzus58zKznehQAn+GFBkXXPcTsLwAPlH9Erj4EN6+2N0iFgg==} + '@tanstack/start-server-core@1.131.7': + resolution: {integrity: sha512-YQGUI/eMYNAczfuAvYCWKZ1TJPttesXYRpdQKP9a0y3u52SZwZVVP9wBScGv8UCCuPnjHoHfrYes7DtcfdNaDQ==} engines: {node: '>=12'} - '@tanstack/start-server-functions-client@1.131.6': - resolution: {integrity: sha512-jxlNYBDRhyPi6wy9NWo+/qdnTqTtlYGh3w4xYo87uLFwFUWFgbUwCvCZ+TobBt9+Wfhg7m9fuTS45mf2WkiIJw==} + '@tanstack/start-server-functions-client@1.131.7': + resolution: {integrity: sha512-w3m9m9pLRdmTHvNv2ispz0kE5FPE5HwjEJEHpQidFO0tEGn6xxHHRFGaEXRVLYEBbxg8vLpofLSUBGo6PeGASw==} engines: {node: '>=12'} - '@tanstack/start-server-functions-fetcher@1.131.6': - resolution: {integrity: sha512-y+5PGGA3HpfDQ5OMbnM/zpgDMMuQMk05VKTlBRWrwJyl3ZhXnbR6a2WzxRQOIylQ4aYnHyWU+mDXoQjvK5YcBA==} + '@tanstack/start-server-functions-fetcher@1.131.7': + resolution: {integrity: sha512-HLavWcefYMjTeT5VKdOBxQbnDQskrACQAbK4Z9RniW7+PAkHuw8tZSe0s2F7XaeQ5jWEtKWeea2iMXhZG8xqmw==} engines: {node: '>=12'} '@tanstack/start-server-functions-server@1.131.2': resolution: {integrity: sha512-u67d6XspczlC/dYki/Id28oWsTjkZMJhDqO4E23U3rHs8eYgxvMBHKqdeqWgOyC+QWT9k6ze1pJmbv+rmc3wOQ==} engines: {node: '>=12'} - '@tanstack/start-storage-context@1.131.5': - resolution: {integrity: sha512-zVYYx9o+YUl2VdJzfgcb4WjoICU6G6R975s//EEAZe45xPzJ4xaWJVnca8sCbWofx8IdxPbu/Gu1GHJGvv846Q==} + '@tanstack/start-storage-context@1.131.7': + resolution: {integrity: sha512-Bzj9MTeqMEhJQlD/lfUDmzz34dSNykY5+QyFTJk+hHc3WNwrsOvK4ISM9xW2eYOlxOa6iJezUMZGP2mQGlUe1A==} engines: {node: '>=12'} '@tanstack/store@0.7.2': @@ -7458,6 +7478,7 @@ packages: bun@1.2.18: resolution: {integrity: sha512-OR+EpNckoJN4tHMVZPaTPxDj2RgpJgJwLruTIFYbO3bQMguLd0YrmkWKYqsiihcLgm2ehIjF/H1RLfZiRa7+qQ==} + cpu: [arm64, x64, aarch64] os: [darwin, linux, win32] hasBin: true @@ -10222,6 +10243,10 @@ packages: kuler@2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} + ky@1.8.2: + resolution: {integrity: sha512-XybQJ3d4Ea1kI27DoelE5ZCT3bSJlibYTtQuMsyzKox3TMyayw1asgQdl54WroAm+fIA3ZCr8zXW2RpR7qWVpA==} + engines: {node: '>=18'} + lambda-local@2.2.0: resolution: {integrity: sha512-bPcgpIXbHnVGfI/omZIlgucDqlf4LrsunwoKue5JdZeGybt8L6KyJz2Zu19ffuZwIwLj2NAI2ZyaqNT6/cetcg==} engines: {node: '>=8'} @@ -18094,10 +18119,10 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@platejs/autoformat@49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@platejs/autoformat@49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: lodash: 4.17.21 - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -18107,9 +18132,9 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@platejs/basic-nodes@49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@platejs/basic-nodes@49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -18119,9 +18144,9 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@platejs/basic-styles@49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@platejs/basic-styles@49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -18190,18 +18215,18 @@ snapshots: - slate-dom - use-sync-external-store - '@platejs/core@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1))': + '@platejs/core@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1))': dependencies: '@platejs/slate': 49.2.4 '@udecode/react-hotkeys': 37.0.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@udecode/react-utils': 49.0.15(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@udecode/react-utils': 49.0.15(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@udecode/utils': 47.2.7 clsx: 2.1.1 html-entities: 2.6.0 is-hotkey: 0.2.0 - jotai: 2.8.4(react@19.1.1) - jotai-optics: 0.4.0(jotai@2.8.4(react@19.1.1))(optics-ts@2.4.1) - jotai-x: 2.3.3(jotai@2.8.4(react@19.1.1))(react@19.1.1) + jotai: 2.8.4(@types/react@19.1.10)(react@19.1.1) + jotai-optics: 0.4.0(jotai@2.8.4(@types/react@19.1.10)(react@19.1.1))(optics-ts@2.4.1) + jotai-x: 2.3.3(@types/react@19.1.10)(jotai@2.8.4(@types/react@19.1.10)(react@19.1.1))(react@19.1.1) lodash: 4.17.21 nanoid: 5.1.5 optics-ts: 2.4.1 @@ -18210,8 +18235,8 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.117.0) slate-react: 0.117.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0) use-deep-compare: 1.3.0(react@19.1.1) - zustand: 5.0.7(immer@10.1.1)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1)) - zustand-x: 6.1.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(zustand@5.0.7(immer@10.1.1)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1))) + zustand: 5.0.7(@types/react@19.1.10)(immer@10.1.1)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1)) + zustand-x: 6.1.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(zustand@5.0.7(@types/react@19.1.10)(immer@10.1.1)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1))) transitivePeerDependencies: - '@types/react' - immer @@ -18227,9 +18252,9 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@platejs/date@49.0.2(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@platejs/date@49.0.2(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -18274,11 +18299,11 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@platejs/floating@49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@platejs/floating@49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@floating-ui/core': 1.7.2 '@floating-ui/react': 0.27.14(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -18288,9 +18313,9 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@platejs/indent@49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@platejs/indent@49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -18307,9 +18332,9 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@platejs/layout@49.2.1(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@platejs/layout@49.2.1(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -18320,10 +18345,10 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@platejs/link@49.1.1(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@platejs/link@49.1.1(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - '@platejs/floating': 49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + '@platejs/floating': 49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -18335,11 +18360,11 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@platejs/list@49.2.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@platejs/list@49.2.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - '@platejs/indent': 49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@platejs/indent': 49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) clsx: 2.1.1 - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -18360,12 +18385,12 @@ snapshots: - supports-color - typescript - '@platejs/markdown@49.2.1(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)': + '@platejs/markdown@49.2.1(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)': dependencies: marked: 15.0.12 mdast-util-math: 3.0.0 mdast-util-mdx: 3.0.0 - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) remark-mdx: 3.1.0 @@ -18384,10 +18409,10 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@platejs/math@49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@platejs/math@49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: katex: 0.16.22 - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -18398,10 +18423,10 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@platejs/media@49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@platejs/media@49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: js-video-url-parser: 0.5.1 - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -18418,9 +18443,9 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@platejs/resizable@49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@platejs/resizable@49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -18462,11 +18487,11 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@platejs/table@49.1.13(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@platejs/table@49.1.13(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - '@platejs/resizable': 49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@platejs/resizable': 49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) lodash: 4.17.21 - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -18476,9 +18501,9 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@platejs/toc@49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@platejs/toc@49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -18490,11 +18515,11 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@platejs/toggle@49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@platejs/toggle@49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - '@platejs/indent': 49.0.0(platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@platejs/indent': 49.0.0(platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)))(react-dom@19.1.1(react@19.1.1))(react@19.1.1) lodash: 4.17.21 - platejs: 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + platejs: 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -18517,11 +18542,11 @@ snapshots: - slate-dom - use-sync-external-store - '@platejs/utils@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1))': + '@platejs/utils@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1))': dependencies: - '@platejs/core': 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + '@platejs/core': 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) '@platejs/slate': 49.2.4 - '@udecode/react-utils': 49.0.15(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@udecode/react-utils': 49.0.15(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@udecode/utils': 47.2.7 clsx: 2.1.1 lodash: 4.17.21 @@ -20400,18 +20425,18 @@ snapshots: '@tanstack/devtools-event-client@0.2.1': {} - '@tanstack/devtools-ui@0.2.2(csstype@3.1.3)(solid-js@1.9.8)': + '@tanstack/devtools-ui@0.3.0(csstype@3.1.3)(solid-js@1.9.8)': dependencies: goober: 2.1.16(csstype@3.1.3) solid-js: 1.9.8 transitivePeerDependencies: - csstype - '@tanstack/devtools@0.3.0(csstype@3.1.3)(solid-js@1.9.8)': + '@tanstack/devtools@0.3.1(csstype@3.1.3)(solid-js@1.9.8)': dependencies: '@solid-primitives/keyboard': 1.3.3(solid-js@1.9.8) '@tanstack/devtools-event-bus': 0.2.1 - '@tanstack/devtools-ui': 0.2.2(csstype@3.1.3)(solid-js@1.9.8) + '@tanstack/devtools-ui': 0.3.0(csstype@3.1.3)(solid-js@1.9.8) clsx: 2.1.1 goober: 2.1.16(csstype@3.1.3) solid-js: 1.9.8 @@ -20474,9 +20499,9 @@ snapshots: transitivePeerDependencies: - typescript - '@tanstack/react-devtools@0.2.2(@types/react-dom@19.1.7(@types/react@19.1.10))(@types/react@19.1.10)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.8)': + '@tanstack/react-devtools@0.3.0(@types/react-dom@19.1.7(@types/react@19.1.10))(@types/react@19.1.10)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.8)': dependencies: - '@tanstack/devtools': 0.3.0(csstype@3.1.3)(solid-js@1.9.8) + '@tanstack/devtools': 0.3.1(csstype@3.1.3)(solid-js@1.9.8) '@types/react': 19.1.10 '@types/react-dom': 19.1.7(@types/react@19.1.10) react: 19.1.1 @@ -20487,7 +20512,7 @@ snapshots: - solid-js - utf-8-validate - '@tanstack/react-form@1.19.0(@tanstack/react-start@1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-form@1.19.0(@tanstack/react-start@1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@tanstack/form-core': 1.19.0 '@tanstack/react-store': 0.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -20495,11 +20520,11 @@ snapshots: devalue: 5.1.1 react: 18.3.1 optionalDependencies: - '@tanstack/react-start': 1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5)) + '@tanstack/react-start': 1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5)) transitivePeerDependencies: - react-dom - '@tanstack/react-form@1.19.1(@tanstack/react-start@1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@tanstack/react-form@1.19.1(@tanstack/react-start@1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@tanstack/form-core': 1.19.1 '@tanstack/react-store': 0.7.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1) @@ -20507,7 +20532,7 @@ snapshots: devalue: 5.1.1 react: 19.1.1 optionalDependencies: - '@tanstack/react-start': 1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9) + '@tanstack/react-start': 1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9) transitivePeerDependencies: - react-dom @@ -20517,10 +20542,10 @@ snapshots: '@tanstack/react-query': 5.84.2(react@18.3.1) react: 18.3.1 - '@tanstack/react-query-devtools@5.84.2(@tanstack/react-query@5.84.2(react@19.1.1))(react@19.1.1)': + '@tanstack/react-query-devtools@5.85.0(@tanstack/react-query@5.85.0(react@19.1.1))(react@19.1.1)': dependencies: '@tanstack/query-devtools': 5.84.0 - '@tanstack/react-query': 5.84.2(react@19.1.1) + '@tanstack/react-query': 5.85.0(react@19.1.1) react: 19.1.1 '@tanstack/react-query-persist-client@5.84.2(@tanstack/react-query@5.84.2(react@18.3.1))(react@18.3.1)': @@ -20534,15 +20559,15 @@ snapshots: '@tanstack/query-core': 5.83.1 react: 18.3.1 - '@tanstack/react-query@5.84.2(react@19.1.1)': + '@tanstack/react-query@5.85.0(react@19.1.1)': dependencies: '@tanstack/query-core': 5.83.1 react: 19.1.1 - '@tanstack/react-router-devtools@1.131.5(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@tanstack/router-core@1.131.5)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.8)(tiny-invariant@1.3.3)': + '@tanstack/react-router-devtools@1.131.7(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@tanstack/router-core@1.131.7)(csstype@3.1.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(solid-js@1.9.8)(tiny-invariant@1.3.3)': dependencies: - '@tanstack/react-router': 1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@tanstack/router-devtools-core': 1.131.5(@tanstack/router-core@1.131.5)(csstype@3.1.3)(solid-js@1.9.8)(tiny-invariant@1.3.3) + '@tanstack/react-router': 1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@tanstack/router-devtools-core': 1.131.7(@tanstack/router-core@1.131.7)(csstype@3.1.3)(solid-js@1.9.8)(tiny-invariant@1.3.3) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) transitivePeerDependencies: @@ -20551,19 +20576,19 @@ snapshots: - solid-js - tiny-invariant - '@tanstack/react-router-with-query@1.130.17(@tanstack/react-query@5.84.2(react@19.1.1))(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@tanstack/router-core@1.131.5)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@tanstack/react-router-with-query@1.130.17(@tanstack/react-query@5.85.0(react@19.1.1))(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@tanstack/router-core@1.131.7)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - '@tanstack/react-query': 5.84.2(react@19.1.1) - '@tanstack/react-router': 1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@tanstack/router-core': 1.131.5 + '@tanstack/react-query': 5.85.0(react@19.1.1) + '@tanstack/react-router': 1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@tanstack/router-core': 1.131.7 react: 19.1.1 react-dom: 19.1.1(react@19.1.1) - '@tanstack/react-router@1.131.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-router@1.131.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@tanstack/history': 1.131.2 '@tanstack/react-store': 0.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/router-core': 1.131.5 + '@tanstack/router-core': 1.131.7 isbot: 5.1.29 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -20571,22 +20596,22 @@ snapshots: tiny-warning: 1.0.3 optional: true - '@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@tanstack/history': 1.131.2 '@tanstack/react-store': 0.7.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@tanstack/router-core': 1.131.5 + '@tanstack/router-core': 1.131.7 isbot: 5.1.29 react: 19.1.1 react-dom: 19.1.1(react@19.1.1) tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - '@tanstack/react-start-client@1.131.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-start-client@1.131.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/react-router': 1.131.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/router-core': 1.131.5 - '@tanstack/start-client-core': 1.131.6 + '@tanstack/react-router': 1.131.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/router-core': 1.131.7 + '@tanstack/start-client-core': 1.131.7 cookie-es: 1.2.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -20594,20 +20619,20 @@ snapshots: tiny-warning: 1.0.3 optional: true - '@tanstack/react-start-client@1.131.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@tanstack/react-start-client@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: - '@tanstack/react-router': 1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@tanstack/router-core': 1.131.5 - '@tanstack/start-client-core': 1.131.6 + '@tanstack/react-router': 1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@tanstack/router-core': 1.131.7 + '@tanstack/start-client-core': 1.131.7 cookie-es: 1.2.2 react: 19.1.1 react-dom: 19.1.1(react@19.1.1) tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - '@tanstack/react-start-plugin@1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9)': + '@tanstack/react-start-plugin@1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9)': dependencies: - '@tanstack/start-plugin-core': 1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9) + '@tanstack/start-plugin-core': 1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9) '@vitejs/plugin-react': 5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) pathe: 2.0.3 vite: 7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) @@ -20644,9 +20669,9 @@ snapshots: - webpack - xml2js - '@tanstack/react-start-plugin@1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5))': + '@tanstack/react-start-plugin@1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5))': dependencies: - '@tanstack/start-plugin-core': 1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5)) + '@tanstack/start-plugin-core': 1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5)) '@vitejs/plugin-react': 5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) pathe: 2.0.3 vite: 7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) @@ -20684,37 +20709,37 @@ snapshots: - xml2js optional: true - '@tanstack/react-start-server@1.131.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-start-server@1.131.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@tanstack/history': 1.131.2 - '@tanstack/react-router': 1.131.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/router-core': 1.131.5 - '@tanstack/start-client-core': 1.131.6 - '@tanstack/start-server-core': 1.131.6 + '@tanstack/react-router': 1.131.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/router-core': 1.131.7 + '@tanstack/start-client-core': 1.131.7 + '@tanstack/start-server-core': 1.131.7 h3: 1.13.0 isbot: 5.1.29 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optional: true - '@tanstack/react-start-server@1.131.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@tanstack/react-start-server@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@tanstack/history': 1.131.2 - '@tanstack/react-router': 1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@tanstack/router-core': 1.131.5 - '@tanstack/start-client-core': 1.131.6 - '@tanstack/start-server-core': 1.131.6 + '@tanstack/react-router': 1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@tanstack/router-core': 1.131.7 + '@tanstack/start-client-core': 1.131.7 + '@tanstack/start-server-core': 1.131.7 h3: 1.13.0 isbot: 5.1.29 react: 19.1.1 react-dom: 19.1.1(react@19.1.1) - '@tanstack/react-start@1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9)': + '@tanstack/react-start@1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9)': dependencies: - '@tanstack/react-start-client': 1.131.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@tanstack/react-start-plugin': 1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9) - '@tanstack/react-start-server': 1.131.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@tanstack/start-server-functions-client': 1.131.6(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@tanstack/react-start-client': 1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@tanstack/react-start-plugin': 1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9) + '@tanstack/react-start-server': 1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@tanstack/start-server-functions-client': 1.131.7(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@tanstack/start-server-functions-server': 1.131.2(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitejs/plugin-react': 5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) react: 19.1.1 @@ -20752,12 +20777,12 @@ snapshots: - webpack - xml2js - '@tanstack/react-start@1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5))': + '@tanstack/react-start@1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5))': dependencies: - '@tanstack/react-start-client': 1.131.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/react-start-plugin': 1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5)) - '@tanstack/react-start-server': 1.131.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/start-server-functions-client': 1.131.6(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@tanstack/react-start-client': 1.131.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/react-start-plugin': 1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@vitejs/plugin-react@5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5)) + '@tanstack/react-start-server': 1.131.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/start-server-functions-client': 1.131.7(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@tanstack/start-server-functions-server': 1.131.2(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitejs/plugin-react': 5.0.0(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) react: 18.3.1 @@ -20828,7 +20853,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@tanstack/router-core@1.131.5': + '@tanstack/router-core@1.131.7': dependencies: '@tanstack/history': 1.131.2 '@tanstack/store': 0.7.2 @@ -20838,9 +20863,9 @@ snapshots: tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - '@tanstack/router-devtools-core@1.131.5(@tanstack/router-core@1.131.5)(csstype@3.1.3)(solid-js@1.9.8)(tiny-invariant@1.3.3)': + '@tanstack/router-devtools-core@1.131.7(@tanstack/router-core@1.131.7)(csstype@3.1.3)(solid-js@1.9.8)(tiny-invariant@1.3.3)': dependencies: - '@tanstack/router-core': 1.131.5 + '@tanstack/router-core': 1.131.7 clsx: 2.1.1 goober: 2.1.16(csstype@3.1.3) solid-js: 1.9.8 @@ -20848,9 +20873,9 @@ snapshots: optionalDependencies: csstype: 3.1.3 - '@tanstack/router-generator@1.131.5': + '@tanstack/router-generator@1.131.7': dependencies: - '@tanstack/router-core': 1.131.5 + '@tanstack/router-core': 1.131.7 '@tanstack/router-utils': 1.131.2 '@tanstack/virtual-file-routes': 1.131.2 prettier: 3.6.2 @@ -20861,7 +20886,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.131.5(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9)': + '@tanstack/router-plugin@1.131.7(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9)': dependencies: '@babel/core': 7.28.0 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) @@ -20869,8 +20894,8 @@ snapshots: '@babel/template': 7.27.2 '@babel/traverse': 7.28.0 '@babel/types': 7.28.0 - '@tanstack/router-core': 1.131.5 - '@tanstack/router-generator': 1.131.5 + '@tanstack/router-core': 1.131.7 + '@tanstack/router-generator': 1.131.7 '@tanstack/router-utils': 1.131.2 '@tanstack/virtual-file-routes': 1.131.2 babel-dead-code-elimination: 1.0.10 @@ -20878,13 +20903,13 @@ snapshots: unplugin: 2.3.5 zod: 3.25.76 optionalDependencies: - '@tanstack/react-router': 1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@tanstack/react-router': 1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1) vite: 7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) webpack: 5.99.9 transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.131.5(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5))': + '@tanstack/router-plugin@1.131.7(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) @@ -20892,8 +20917,8 @@ snapshots: '@babel/template': 7.27.2 '@babel/traverse': 7.28.0 '@babel/types': 7.28.0 - '@tanstack/router-core': 1.131.5 - '@tanstack/router-generator': 1.131.5 + '@tanstack/router-core': 1.131.7 + '@tanstack/router-generator': 1.131.7 '@tanstack/router-utils': 1.131.2 '@tanstack/virtual-file-routes': 1.131.2 babel-dead-code-elimination: 1.0.10 @@ -20934,31 +20959,31 @@ snapshots: - supports-color - vite - '@tanstack/start-client-core@1.131.6': + '@tanstack/start-client-core@1.131.7': dependencies: - '@tanstack/router-core': 1.131.5 - '@tanstack/start-storage-context': 1.131.5 + '@tanstack/router-core': 1.131.7 + '@tanstack/start-storage-context': 1.131.7 cookie-es: 1.2.2 tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - '@tanstack/start-plugin-core@1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9)': + '@tanstack/start-plugin-core@1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9)': dependencies: '@babel/code-frame': 7.26.2 '@babel/core': 7.28.0 '@babel/types': 7.28.0 - '@tanstack/router-core': 1.131.5 - '@tanstack/router-generator': 1.131.5 - '@tanstack/router-plugin': 1.131.5(@tanstack/react-router@1.131.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9) + '@tanstack/router-core': 1.131.7 + '@tanstack/router-generator': 1.131.7 + '@tanstack/router-plugin': 1.131.7(@tanstack/react-router@1.131.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9) '@tanstack/router-utils': 1.131.2 '@tanstack/server-functions-plugin': 1.131.2(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@tanstack/start-server-core': 1.131.6 + '@tanstack/start-server-core': 1.131.7 '@types/babel__code-frame': 7.0.6 '@types/babel__core': 7.20.5 babel-dead-code-elimination: 1.0.10 cheerio: 1.1.2 h3: 1.13.0 - nitropack: 2.12.4(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11)) + nitropack: 2.12.4(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11)) pathe: 2.0.3 ufo: 1.6.1 vite: 7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) @@ -20997,23 +21022,23 @@ snapshots: - webpack - xml2js - '@tanstack/start-plugin-core@1.131.6(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5))': + '@tanstack/start-plugin-core@1.131.7(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5))': dependencies: '@babel/code-frame': 7.26.2 '@babel/core': 7.28.0 '@babel/types': 7.28.0 - '@tanstack/router-core': 1.131.5 - '@tanstack/router-generator': 1.131.5 - '@tanstack/router-plugin': 1.131.5(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5)) + '@tanstack/router-core': 1.131.7 + '@tanstack/router-generator': 1.131.7 + '@tanstack/router-plugin': 1.131.7(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))(webpack@5.99.9(esbuild@0.25.5)) '@tanstack/router-utils': 1.131.2 '@tanstack/server-functions-plugin': 1.131.2(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@tanstack/start-server-core': 1.131.6 + '@tanstack/start-server-core': 1.131.7 '@types/babel__code-frame': 7.0.6 '@types/babel__core': 7.20.5 babel-dead-code-elimination: 1.0.10 cheerio: 1.1.2 h3: 1.13.0 - nitropack: 2.12.4(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11)) + nitropack: 2.12.4(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11)) pathe: 2.0.3 ufo: 1.6.1 vite: 7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) @@ -21053,30 +21078,30 @@ snapshots: - xml2js optional: true - '@tanstack/start-server-core@1.131.6': + '@tanstack/start-server-core@1.131.7': dependencies: '@tanstack/history': 1.131.2 - '@tanstack/router-core': 1.131.5 - '@tanstack/start-client-core': 1.131.6 - '@tanstack/start-storage-context': 1.131.5 + '@tanstack/router-core': 1.131.7 + '@tanstack/start-client-core': 1.131.7 + '@tanstack/start-storage-context': 1.131.7 h3: 1.13.0 isbot: 5.1.29 tiny-invariant: 1.3.3 tiny-warning: 1.0.3 unctx: 2.4.1 - '@tanstack/start-server-functions-client@1.131.6(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@tanstack/start-server-functions-client@1.131.7(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@tanstack/server-functions-plugin': 1.131.2(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) - '@tanstack/start-server-functions-fetcher': 1.131.6 + '@tanstack/start-server-functions-fetcher': 1.131.7 transitivePeerDependencies: - supports-color - vite - '@tanstack/start-server-functions-fetcher@1.131.6': + '@tanstack/start-server-functions-fetcher@1.131.7': dependencies: - '@tanstack/router-core': 1.131.5 - '@tanstack/start-client-core': 1.131.6 + '@tanstack/router-core': 1.131.7 + '@tanstack/start-client-core': 1.131.7 '@tanstack/start-server-functions-server@1.131.2(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: @@ -21086,9 +21111,9 @@ snapshots: - supports-color - vite - '@tanstack/start-storage-context@1.131.5': + '@tanstack/start-storage-context@1.131.7': dependencies: - '@tanstack/router-core': 1.131.5 + '@tanstack/router-core': 1.131.7 '@tanstack/store@0.7.2': {} @@ -21678,7 +21703,7 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@udecode/react-utils@49.0.15(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + '@udecode/react-utils@49.0.15(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@radix-ui/react-slot': 1.2.3(@types/react@19.1.10)(react@19.1.1) '@udecode/utils': 47.2.7 @@ -21846,15 +21871,6 @@ snapshots: msw: 2.10.4(@types/node@20.19.4)(typescript@5.8.3) vite: 7.1.2(@types/node@20.19.4)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@vitest/mocker@3.2.4(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(vite@7.1.2(@types/node@20.19.4)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': - dependencies: - '@vitest/spy': 3.2.4 - estree-walker: 3.0.3 - magic-string: 0.30.17 - optionalDependencies: - msw: 2.10.4(@types/node@24.0.10)(typescript@5.9.2) - vite: 7.1.2(@types/node@20.19.4)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@vitest/mocker@3.2.4(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 @@ -21893,7 +21909,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.4(@edge-runtime/vm@3.2.0)(@types/debug@4.1.12)(@types/node@20.19.4)(@vitest/ui@3.2.4)(jiti@2.5.1)(jsdom@26.1.0)(lightningcss@1.30.1)(msw@2.10.4(@types/node@20.19.4)(typescript@5.8.3))(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@edge-runtime/vm@3.2.0)(@types/debug@4.1.12)(@types/node@24.0.10)(@vitest/ui@3.2.4)(jiti@2.5.1)(jsdom@26.1.0)(lightningcss@1.30.1)(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@vitest/utils@3.2.4': dependencies: @@ -25633,9 +25649,9 @@ snapshots: jotai: 2.8.4(@types/react@18.3.23)(react@18.3.1) optics-ts: 2.4.1 - jotai-optics@0.4.0(jotai@2.8.4(react@19.1.1))(optics-ts@2.4.1): + jotai-optics@0.4.0(jotai@2.8.4(@types/react@19.1.10)(react@19.1.1))(optics-ts@2.4.1): dependencies: - jotai: 2.8.4(react@19.1.1) + jotai: 2.8.4(@types/react@19.1.10)(react@19.1.1) optics-ts: 2.4.1 jotai-x@2.3.3(@types/react@18.3.23)(jotai@2.8.4(@types/react@18.3.23)(react@18.3.1))(react@18.3.1): @@ -25645,10 +25661,11 @@ snapshots: '@types/react': 18.3.23 react: 18.3.1 - jotai-x@2.3.3(jotai@2.8.4(react@19.1.1))(react@19.1.1): + jotai-x@2.3.3(@types/react@19.1.10)(jotai@2.8.4(@types/react@19.1.10)(react@19.1.1))(react@19.1.1): dependencies: - jotai: 2.8.4(react@19.1.1) + jotai: 2.8.4(@types/react@19.1.10)(react@19.1.1) optionalDependencies: + '@types/react': 19.1.10 react: 19.1.1 jotai@2.8.4(@types/react@18.3.23)(react@18.3.1): @@ -25656,8 +25673,9 @@ snapshots: '@types/react': 18.3.23 react: 18.3.1 - jotai@2.8.4(react@19.1.1): + jotai@2.8.4(@types/react@19.1.10)(react@19.1.1): optionalDependencies: + '@types/react': 19.1.10 react: 19.1.1 joycon@3.1.1: {} @@ -25830,6 +25848,8 @@ snapshots: kuler@2.0.0: {} + ky@1.8.2: {} + lambda-local@2.2.0: dependencies: commander: 10.0.1 @@ -26948,7 +26968,7 @@ snapshots: - '@babel/core' - babel-plugin-macros - nitropack@2.12.4(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11)): + nitropack@2.12.4(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11)): dependencies: '@cloudflare/kv-asset-handler': 0.4.0 '@netlify/functions': 3.1.10(rollup@4.46.2) @@ -27016,7 +27036,7 @@ snapshots: unenv: 2.0.0-rc.19 unimport: 5.2.0 unplugin-utils: 0.2.5 - unstorage: 1.16.1(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(db0@0.3.2(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1))(ioredis@5.7.0)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11)) + unstorage: 1.16.1(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(db0@0.3.2(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1))(ioredis@5.7.0)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11)) untyped: 2.0.0 unwasm: 0.3.9 youch: 4.1.0-beta.8 @@ -27663,13 +27683,13 @@ snapshots: - slate-dom - use-sync-external-store - platejs@49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)): + platejs@49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)): dependencies: - '@platejs/core': 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + '@platejs/core': 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) '@platejs/slate': 49.2.4 - '@platejs/utils': 49.2.9(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) + '@platejs/utils': 49.2.9(@types/react@19.1.10)(immer@10.1.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(slate-dom@0.116.0(slate@0.117.0))(slate@0.117.0)(use-sync-external-store@1.5.0(react@19.1.1)) '@udecode/react-hotkeys': 37.0.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@udecode/react-utils': 49.0.15(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@udecode/react-utils': 49.0.15(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@udecode/utils': 47.2.7 react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -29953,7 +29973,7 @@ snapshots: '@unrs/resolver-binding-win32-ia32-msvc': 1.11.0 '@unrs/resolver-binding-win32-x64-msvc': 1.11.0 - unstorage@1.16.1(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(db0@0.3.2(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1))(ioredis@5.7.0)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(tailwindcss@4.1.11)): + unstorage@1.16.1(@azure/identity@4.10.2)(@azure/storage-blob@12.26.0)(@netlify/blobs@9.1.2)(db0@0.3.2(drizzle-orm@0.44.2(@opentelemetry/api@1.9.0)(@types/pg@8.15.4)(mysql2@3.14.1)(pg@8.16.3)(postgres@3.4.7))(mysql2@3.14.1))(ioredis@5.7.0)(uploadthing@7.7.3(express@5.1.0)(h3@1.15.4)(next@14.2.30(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.90.0))(tailwindcss@4.1.11)): dependencies: anymatch: 3.1.3 chokidar: 4.0.3 @@ -30357,7 +30377,7 @@ snapshots: dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(vite@7.1.2(@types/node@20.19.4)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(msw@2.10.4(@types/node@24.0.10)(typescript@5.9.2))(vite@7.1.2(@types/node@24.0.10)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -30852,14 +30872,14 @@ snapshots: - react-native - scheduler - zustand-x@6.1.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(zustand@5.0.7(immer@10.1.1)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1))): + zustand-x@6.1.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0)(zustand@5.0.7(@types/react@19.1.10)(immer@10.1.1)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1))): dependencies: immer: 10.1.1 lodash.mapvalues: 4.6.0 mutative: 1.1.0 react-tracked: 1.7.14(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(scheduler@0.26.0) use-sync-external-store: 1.4.0(react@19.1.1) - zustand: 5.0.7(immer@10.1.1)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1)) + zustand: 5.0.7(@types/react@19.1.10)(immer@10.1.1)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1)) transitivePeerDependencies: - react - react-dom @@ -30873,8 +30893,9 @@ snapshots: react: 18.3.1 use-sync-external-store: 1.5.0(react@18.3.1) - zustand@5.0.7(immer@10.1.1)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1)): + zustand@5.0.7(@types/react@19.1.10)(immer@10.1.1)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1)): optionalDependencies: + '@types/react': 19.1.10 immer: 10.1.1 react: 19.1.1 use-sync-external-store: 1.5.0(react@19.1.1)