diff --git a/apps/infra/src/deployments/shared.ts b/apps/infra/src/deployments/shared.ts index aae6f7ccd..bf79d12e0 100644 --- a/apps/infra/src/deployments/shared.ts +++ b/apps/infra/src/deployments/shared.ts @@ -56,6 +56,7 @@ export const environment = pulumi { name: 'GATEWAY_SSL', value: 'true' }, { name: 'LATITUDE_DOMAIN', value: 'latitude.so' }, { name: 'LATITUDE_URL', value: 'https://app.latitude.so' }, + { name: 'WEBSOCKETS_SERVER', value: 'ws.latitude.so' }, { name: 'FROM_MAILER_EMAIL', value: 'hello@latitude.so' }, { name: 'MAILER_API_KEY', value: mailerApiKey }, { name: 'SENTRY_DSN', value: sentryDsn }, diff --git a/apps/web/next.config.mjs b/apps/web/next.config.mjs index c9defc31f..950499c46 100644 --- a/apps/web/next.config.mjs +++ b/apps/web/next.config.mjs @@ -18,7 +18,8 @@ const nextConfig = { 'flydrive/drivers/fs', 'flydrive/drivers/types', '@sentry/nextjs', - 'bullmq' + 'bullmq', + 'jose', ], experimental: { // Dear developer, diff --git a/apps/web/package.json b/apps/web/package.json index ec9ed29fa..63cde4d0e 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -32,6 +32,7 @@ "date-fns": "^3.6.0", "drizzle-orm": "^0.33.0", "ioredis": "^5.4.1", + "jose": "^5.8.0", "lodash-es": "^4.17.21", "lucia": "^3.2.0", "monaco-editor": "^0.50.0", @@ -42,6 +43,7 @@ "nprogress": "^0.2.0", "react": "19.0.0-rc-f994737d14-20240522", "react-dom": "19.0.0-rc-f994737d14-20240522", + "socket.io-react-hook": "^2.4.5", "swr": "^2.2.5", "use-debounce": "^10.0.1", "zod": "^3.23.8", diff --git a/apps/web/src/actions/invitations/accept.ts b/apps/web/src/actions/invitations/accept.ts index 0b9f8826c..4a27e2a8a 100644 --- a/apps/web/src/actions/invitations/accept.ts +++ b/apps/web/src/actions/invitations/accept.ts @@ -34,8 +34,7 @@ export const acceptInvitationAction = createServerAction() if (!user) throw new NotFoundError('User not found') await acceptInvitation({ membership, user }) - - setSession({ + await setSession({ sessionData: { user, workspace: { id: Number(workspace.id), name: workspace.name }, diff --git a/apps/web/src/actions/magicLinkTokens/confirm.ts b/apps/web/src/actions/magicLinkTokens/confirm.ts index fed6a4683..d062b55ac 100644 --- a/apps/web/src/actions/magicLinkTokens/confirm.ts +++ b/apps/web/src/actions/magicLinkTokens/confirm.ts @@ -28,7 +28,7 @@ export const confirmMagicLinkTokenAction = createServerAction() r.unwrap(), ) - setSession({ + await setSession({ sessionData: { user, workspace, diff --git a/apps/web/src/actions/user/logoutAction.ts b/apps/web/src/actions/user/logoutAction.ts index 7a7119af8..7072102f2 100644 --- a/apps/web/src/actions/user/logoutAction.ts +++ b/apps/web/src/actions/user/logoutAction.ts @@ -1,14 +1,31 @@ 'use server' +import { type TokenType } from '@latitude-data/core/websockets/constants' import { authProcedure } from '$/actions/procedures' import { removeSession } from '$/services/auth/removeSession' import { ROUTES } from '$/services/routes' +import { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies' import { redirect } from 'next/navigation' +function removeSocketCookie({ + name, + cookies, +}: { + name: TokenType + cookies: ReadonlyRequestCookies +}) { + cookies.delete(name) +} + export const logoutAction = authProcedure .createServerAction() .handler(async ({ ctx }) => { removeSession({ session: ctx.session }) + const { cookies: getCookies } = await import('next/headers') + + const cookies = getCookies() + removeSocketCookie({ name: 'websocket', cookies }) + removeSocketCookie({ name: 'websocketRefresh', cookies }) redirect(ROUTES.auth.login) }) diff --git a/apps/web/src/actions/user/refreshWebsocketTokenAction.ts b/apps/web/src/actions/user/refreshWebsocketTokenAction.ts new file mode 100644 index 000000000..116864f92 --- /dev/null +++ b/apps/web/src/actions/user/refreshWebsocketTokenAction.ts @@ -0,0 +1,31 @@ +'use server' + +import { verifyWebsocketToken } from '@latitude-data/core/websockets/utils' +import { setWebsocketSessionCookie } from '$/services/auth/setSession' + +import { authProcedure } from '../procedures' + +export const refreshWebesocketTokenAction = authProcedure + .createServerAction() + .handler(async ({ ctx: { user, workspace } }) => { + const { cookies } = await import('next/headers') + const refreshWebsocketCookie = cookies().get('websocketRefresh') + const refreshToken = refreshWebsocketCookie?.value + const result = await verifyWebsocketToken({ + token: refreshToken, + type: 'websocket', + }) + + if (!result.error) return { success: true } + + await setWebsocketSessionCookie({ + name: 'websocket', + sessionData: { user, workspace }, + }) + await setWebsocketSessionCookie({ + name: 'websocketRefresh', + sessionData: { user, workspace }, + }) + + return { success: true } + }) diff --git a/apps/web/src/actions/user/setupAction.ts b/apps/web/src/actions/user/setupAction.ts index 9d07d9c1f..10bedb0d2 100644 --- a/apps/web/src/actions/user/setupAction.ts +++ b/apps/web/src/actions/user/setupAction.ts @@ -24,7 +24,7 @@ export const setupAction = errorHandlingProcedure const result = await setupService(input) const sessionData = result.unwrap() - setSession({ sessionData }) + await setSession({ sessionData }) redirect(ROUTES.root) }) diff --git a/apps/web/src/app/(private)/layout.tsx b/apps/web/src/app/(private)/layout.tsx index a926b7830..377ad096b 100644 --- a/apps/web/src/app/(private)/layout.tsx +++ b/apps/web/src/app/(private)/layout.tsx @@ -1,6 +1,11 @@ import { ReactNode } from 'react' import { SessionProvider } from '@latitude-data/web-ui/browser' +import { + LatitudeWebsocketsProvider, + SocketIOProvider, +} from '$/components/Providers/WebsocketsProvider' +import env from '$/env' import { getCurrentUser } from '$/services/auth/getCurrentUser' import { getSession } from '$/services/auth/getSession' import { ROUTES } from '$/services/routes' @@ -17,8 +22,12 @@ export default async function PrivateLayout({ const { workspace, user } = await getCurrentUser() return ( - - {children} - + + + + {children} + + + ) } diff --git a/apps/web/src/app/(private)/projects/[projectId]/versions/[commitUuid]/documents/[documentUuid]/evaluations/[evaluationId]/_components/EvaluationResults/EvaluationStatusBanner/index.tsx b/apps/web/src/app/(private)/projects/[projectId]/versions/[commitUuid]/documents/[documentUuid]/evaluations/[evaluationId]/_components/EvaluationResults/EvaluationStatusBanner/index.tsx new file mode 100644 index 000000000..003d36c42 --- /dev/null +++ b/apps/web/src/app/(private)/projects/[projectId]/versions/[commitUuid]/documents/[documentUuid]/evaluations/[evaluationId]/_components/EvaluationResults/EvaluationStatusBanner/index.tsx @@ -0,0 +1,74 @@ +'use client' + +import { useCallback, useEffect, useRef, useState } from 'react' + +import { EvaluationDto } from '@latitude-data/core/browser' +import { ProgressIndicator, useCurrentDocument } from '@latitude-data/web-ui' +import { type EventArgs } from '$/components/Providers/WebsocketsProvider/useSockets' + +const DISAPERING_IN_MS = 1500 +export function EvaluationStatusBanner({ + evaluation, +}: { + evaluation: EvaluationDto +}) { + const timeoutRef = useRef(null) + const [jobs, setJobs] = useState[]>([]) + const document = useCurrentDocument() + + // FIXME: Remove this line when infra is ready + // @ts-ignore + const _onMessage = useCallback( + (args: EventArgs<'evaluationStatus'>) => { + if (evaluation.id !== args.evaluationId) return + if (document.documentUuid !== args.documentUuid) return + + setJobs((prevJobs) => { + const jobIndex = prevJobs.findIndex( + (job) => job.batchId === args.batchId, + ) + + if (jobIndex === -1) { + return [...prevJobs, args] + } else { + const newJobs = [...prevJobs] + newJobs[jobIndex] = args + + if (args.status && args.status === 'finished') { + setTimeout(() => { + setJobs((currentJobs) => { + return currentJobs.filter((job) => job.batchId !== args.batchId) + }) + }, DISAPERING_IN_MS) + } + + return newJobs + } + }) + }, + [evaluation.id, document.documentUuid], + ) + useEffect(() => { + return () => { + if (timeoutRef.current) { + clearTimeout(timeoutRef.current) + } + } + }, []) + + // TODO: Implement websockets infra + // useSockets({ event: 'evaluationStatus', onMessage }) + + return ( + <> + {jobs.map((job) => ( + + {`Generating batch evaluation (ID: ${job.batchId}) ${job.completed}/${job.initialTotal}`} + + ))} + + ) +} diff --git a/apps/web/src/app/(private)/projects/[projectId]/versions/[commitUuid]/documents/[documentUuid]/evaluations/[evaluationId]/_components/EvaluationResults/index.tsx b/apps/web/src/app/(private)/projects/[projectId]/versions/[commitUuid]/documents/[documentUuid]/evaluations/[evaluationId]/_components/EvaluationResults/index.tsx index f9f72d2fa..1c47e2f2c 100644 --- a/apps/web/src/app/(private)/projects/[projectId]/versions/[commitUuid]/documents/[documentUuid]/evaluations/[evaluationId]/_components/EvaluationResults/index.tsx +++ b/apps/web/src/app/(private)/projects/[projectId]/versions/[commitUuid]/documents/[documentUuid]/evaluations/[evaluationId]/_components/EvaluationResults/index.tsx @@ -9,6 +9,7 @@ import { useProviderLog } from '$/stores/providerLogs' import { EvaluationResultInfo } from './EvaluationResultInfo' import { EvaluationResultsTable } from './EvaluationResultsTable' +import { EvaluationStatusBanner } from './EvaluationStatusBanner' export function EvaluationResults({ evaluation, @@ -25,6 +26,7 @@ export function EvaluationResults({ return (
Evaluation Results +
{ @@ -42,10 +41,6 @@ export default function CreateBatchEvaluationModal({ projectId, commitUuid, onSuccess: () => { - toast({ - title: 'Success', - description: 'Batch evaluation is processing', - }) goToDetail() }, }) diff --git a/apps/web/src/components/Providers/WebsocketsProvider/index.tsx b/apps/web/src/components/Providers/WebsocketsProvider/index.tsx new file mode 100644 index 000000000..7be086a75 --- /dev/null +++ b/apps/web/src/components/Providers/WebsocketsProvider/index.tsx @@ -0,0 +1,110 @@ +'use client' + +import { + createContext, + ReactNode, + useCallback, + useContext, + useEffect, +} from 'react' + +import { + WebClientToServerEvents, + WebServerToClientEvents, +} from '@latitude-data/core/browser' +import { useSession, useToast } from '@latitude-data/web-ui' +import { refreshWebesocketTokenAction } from '$/actions/user/refreshWebsocketTokenAction' +import useCurrentWorkspace from '$/stores/currentWorkspace' +import { IoProvider, useSocket } from 'socket.io-react-hook' + +export const SocketIOProvider = ({ children }: { children: ReactNode }) => { + return {children} +} + +function useJoinWorkspace({ connection }: { connection: IWebsocketConfig }) { + const { currentUser } = useSession() + const { data: workspace } = useCurrentWorkspace() + return useCallback(() => { + connection.socket.emit('joinWorkspace', { + workspaceId: workspace.id, + userId: currentUser.id, + }) + }, [workspace.id, connection.socket, connection.connected]) +} + +export function useSocketConnection({ + socketServer, +}: { + socketServer: string +}) { + const { toast } = useToast() + const connection = useSocket< + WebServerToClientEvents, + WebClientToServerEvents + >( + `${socketServer}/web`, // namespace + { + // FIXME: Remove this line when infra is ready + autoConnect: false, + path: '/websocket', // Socket server endpoint + withCredentials: true, // Cookies cross-origin + transports: ['websocket'], + }, + ) + + connection.socket.on('connect_error', async (error) => { + if (error.message.startsWith('AUTH_ERROR')) { + const [data] = await refreshWebesocketTokenAction() + + if (data && data.success) { + connection.socket.connect() + } else { + toast({ + title: 'We have a problem reconnecting to the server', + description: 'Try logout and login again', + variant: 'destructive', + }) + } + } + }) + + return connection +} + +type IWebsocketConfig = ReturnType +const WebsocketConfigContext = createContext( + {} as IWebsocketConfig, +) + +export const LatitudeWebsocketsProvider = ({ + children, + socketServer, +}: { + children: ReactNode + socketServer: string +}) => { + const connection = useSocketConnection({ socketServer }) + const joinWorkspace = useJoinWorkspace({ connection }) + useEffect(() => { + if (connection.connected) return + + joinWorkspace() + }, [connection.connected, joinWorkspace]) + return ( + + {children} + + ) +} + +export const useWebsocketConfig = () => { + const context = useContext(WebsocketConfigContext) + + if (!context) { + throw new Error( + 'useWebsocketConfig must be used within a WebsocketProvider', + ) + } + + return context +} diff --git a/apps/web/src/components/Providers/WebsocketsProvider/useSockets.ts b/apps/web/src/components/Providers/WebsocketsProvider/useSockets.ts new file mode 100644 index 000000000..8cd903692 --- /dev/null +++ b/apps/web/src/components/Providers/WebsocketsProvider/useSockets.ts @@ -0,0 +1,22 @@ +import { WebServerToClientEvents } from '@latitude-data/core/browser' +import { useSocketEvent } from 'socket.io-react-hook' + +import { useWebsocketConfig } from './index' + +type ServerEventType = keyof WebServerToClientEvents +export type EventArgs = Parameters< + WebServerToClientEvents[T] +>[0] +export function useSockets({ + event, + onMessage, +}: { + event: SEName + onMessage: (args: EventArgs) => void +}) { + const connection = useWebsocketConfig() + useSocketEvent>(connection.socket, event, { + onMessage, + }) + return connection.socket +} diff --git a/apps/web/src/components/layouts/AppLayout/Header/AvatarDropdown/index.tsx b/apps/web/src/components/layouts/AppLayout/Header/AvatarDropdown/index.tsx new file mode 100644 index 000000000..1a3545d26 --- /dev/null +++ b/apps/web/src/components/layouts/AppLayout/Header/AvatarDropdown/index.tsx @@ -0,0 +1,46 @@ +import { useCallback } from 'react' + +import { + Avatar, + DropdownMenu, + DropdownMenuTrigger, + getUserInfoFromSession, + SessionUser, +} from '@latitude-data/web-ui' +import { logoutAction } from '$/actions/user/logoutAction' + +export default function AvatarDropdown({ + currentUser, +}: { + currentUser: SessionUser | undefined +}) { + const info = currentUser ? getUserInfoFromSession(currentUser) : null + if (!info) return null + + const onClickLogout = useCallback(async () => { + await logoutAction() + }, []) + + return ( + ( + + + + )} + options={[ + { + label: 'Logout', + type: 'destructive', + onClick: onClickLogout, + }, + ]} + side='bottom' + align='end' + /> + ) +} diff --git a/apps/web/src/components/layouts/AppLayout/Header/index.tsx b/apps/web/src/components/layouts/AppLayout/Header/index.tsx index 2c7ea5298..d068f8019 100644 --- a/apps/web/src/components/layouts/AppLayout/Header/index.tsx +++ b/apps/web/src/components/layouts/AppLayout/Header/index.tsx @@ -3,8 +3,6 @@ import { ReactNode } from 'react' import { - Avatar, - getUserInfoFromSession, Icon, NavTabGroup, NavTabItem, @@ -16,6 +14,8 @@ import Link from 'next/link' import { usePathname } from 'next/navigation' import { Fragment } from 'react/jsx-runtime' +import AvatarDropdown from './AvatarDropdown' + function BreadcrumpSeparator() { return (
@@ -123,13 +122,7 @@ export default function AppHeader({ ))} - {info ? ( - - ) : null} +
diff --git a/apps/web/src/env.ts b/apps/web/src/env.ts index a8d6fb3fb..6888f6ea3 100644 --- a/apps/web/src/env.ts +++ b/apps/web/src/env.ts @@ -11,6 +11,7 @@ export default createEnv({ DATABASE_URL: z.string(), GATEWAY_HOSTNAME: z.string(), GATEWAY_PORT: z.coerce.number().optional(), + WEBSOCKETS_SERVER: z.string(), GATEWAY_SSL: z .enum(['true', 'false']) .transform((value) => value === 'true') @@ -23,5 +24,6 @@ export default createEnv({ GATEWAY_HOSTNAME: process.env.GATEWAY_HOSTNAME, GATEWAY_PORT: process.env.GATEWAY_PORT, GATEWAY_SSL: process.env.GATEWAY_SSL, + WEBSOCKETS_SERVER: process.env.WEBSOCKETS_SERVER, }, }) diff --git a/apps/web/src/services/auth/setSession.ts b/apps/web/src/services/auth/setSession.ts index 1f4385437..afd65726c 100644 --- a/apps/web/src/services/auth/setSession.ts +++ b/apps/web/src/services/auth/setSession.ts @@ -1,12 +1,36 @@ +import { type TokenType } from '@latitude-data/core/websockets/constants' +import { generateWebsocketToken } from '@latitude-data/core/websockets/utils' import { cookies } from 'next/headers' import { lucia } from '.' import { SessionData } from './getCurrentUser' +type PartialSession = Omit +export async function setWebsocketSessionCookie({ + name, + sessionData, +}: { + name: TokenType + sessionData: PartialSession +}) { + const { token, cookiesOptions } = await generateWebsocketToken({ + name, + payload: { + userId: sessionData.user.id, + workspaceId: sessionData.workspace.id, + }, + }) + cookies().set(name, token, { + ...cookiesOptions, + httpOnly: true, + sameSite: 'lax', + }) +} + export async function setSession({ sessionData: { workspace, user }, }: { - sessionData: Omit + sessionData: PartialSession }) { const session = await lucia.createSession(user.id, { currentWorkspaceId: workspace.id, @@ -18,4 +42,13 @@ export async function setSession({ sessionCookie.value, sessionCookie.attributes, ) + + setWebsocketSessionCookie({ + name: 'websocket', + sessionData: { user, workspace }, + }) + setWebsocketSessionCookie({ + name: 'websocketRefresh', + sessionData: { user, workspace }, + }) } diff --git a/apps/websockets/.eslintrc.json b/apps/websockets/.eslintrc.json new file mode 100644 index 000000000..74ddb8f2d --- /dev/null +++ b/apps/websockets/.eslintrc.json @@ -0,0 +1,9 @@ +{ + "extends": ["./node_modules/@latitude-data/eslint-config/library.js"], + "env": { + "node": true + }, + "rules": { + "no-constant-condition": "off" + } +} diff --git a/apps/websockets/package.json b/apps/websockets/package.json new file mode 100644 index 000000000..47f6eda47 --- /dev/null +++ b/apps/websockets/package.json @@ -0,0 +1,32 @@ +{ + "name": "@latitude-data/websockts-server", + "version": "1.0.0", + "type": "module", + "description": "Latitude AI Websockets server for processing logs", + "private": true, + "scripts": { + "build": "tsup --config tsup.config.ts", + "dev": "DEBUG=socket* tsx watch src/server", + "dev:debug": "tsx watch --inspect-brk src/server", + "lint": "eslint src/", + "prettier": "prettier --write \"**/*.{ts,tsx,md}\"", + "start": "node -r module-alias/register ./dist --env=production", + "tc": "tsc --noEmit" + }, + "dependencies": { + "@latitude-data/core": "workspace:^", + "@latitude-data/env": "workspace:^", + "cookie-parser": "^1.4.6", + "express": "^4.21.0", + "socket.io": "^4.7.5" + }, + "devDependencies": { + "@latitude-data/eslint-config": "workspace:^", + "@latitude-data/typescript-config": "workspace:^", + "@types/cookie-parser": "^1.4.7", + "@types/express": "^4.17.21", + "@types/node": "^22.5.1", + "tsup": "^8.2.4", + "tsx": "^4.16.2" + } +} diff --git a/apps/websockets/src/server.ts b/apps/websockets/src/server.ts new file mode 100644 index 000000000..00ac80fb3 --- /dev/null +++ b/apps/websockets/src/server.ts @@ -0,0 +1,154 @@ +import http from 'http' + +import { + TOKEN_TYPES, + WebClientToServerEvents, + WebServerToClientEvents, + WebSocketData, + WorkersClientToServerEvents, +} from '@latitude-data/core/browser' +import { + buildWorkspaceRoom, + verifyWebsocketToken, + verifyWorkerWebsocketToken, +} from '@latitude-data/core/websockets/utils' +import { env } from '@latitude-data/env' +import cookieParser from 'cookie-parser' +import express from 'express' +import { Namespace, Server, Socket } from 'socket.io' + +function parseCookie(cookieString: string): Record { + return cookieString.split(';').reduce( + (acc, cookie) => { + const [key, value] = cookie.trim().split('=') + if (!key || !value) return acc + + acc[key] = decodeURIComponent(value) + return acc + }, + {} as Record, + ) +} + +const app = express() +app.use(cookieParser()) +app.get('/health', (_, res) => { + res.json({ status: 'Websockets server running' }) +}) + +const server = http.createServer(app) +const io = new Server(server, { + path: '/websocket', + cors: { + origin: env.LATITUDE_URL, + credentials: true, + methods: ['GET', 'POST'], + }, +}) + +io.on('connection', (socket: Socket) => { + console.log( + 'Main namespace is not enabled. Connect to /web or /workers instead.', + ) + socket.disconnect() +}) + +const web: Namespace< + WebClientToServerEvents, + WebServerToClientEvents, + {}, + WebSocketData +> = io.of('/web') +web.use(async (socket, next) => { + try { + const cookieHeader = socket.request.headers.cookie + + if (!cookieHeader) { + return next(new Error('Authentication error: No cookies provided')) + } + + const cookies = parseCookie(cookieHeader) + const token = cookies[TOKEN_TYPES.websocket] + + if (!token) { + return next(new Error('AUTH_ERROR: No token provided')) + } + + const result = await verifyWebsocketToken({ token, type: 'websocket' }) + + if (result.error) { + return next(new Error(`AUTH_ERROR: ${result.error.message}`)) + } + + const payload = result.value.payload + socket.data = { + userId: payload.userId, + workspaceId: payload.workspaceId, + } + + return next() + } catch (err) { + return next(new Error('AUTH_ERROR: Verification failed')) + } +}) + +web.on('connection', (socket) => { + socket.on('joinWorkspace', ({ workspaceId, userId }) => { + if ( + socket.data.userId === userId && + socket.data.workspaceId === workspaceId + ) { + const room = buildWorkspaceRoom({ workspaceId }) + socket.join(room) + } + }) + + socket.on('disconnect', () => { + console.log( + `${socket.data.userId} disconnected from workspace ${socket.data.workspaceId}`, + ) + }) +}) + +const workers: Namespace = io.of('/workers') +workers.use(async (socket, next) => { + try { + const token = socket.handshake.auth?.token + if (!token) { + return next(new Error('Authentication error: No token provided')) + } + + const result = await verifyWorkerWebsocketToken(token) + + if (result.error) { + return next(new Error(`Authentication error: ${result.error.message}`)) + } + + return next() + } catch (err) { + console.error('JWT verification failed for worker:', err) + return next(new Error('Authentication error')) + } +}) + +workers.on('connection', (socket) => { + socket.on('evaluationStatus', (args) => { + const { workspaceId, data } = args + const workspace = buildWorkspaceRoom({ workspaceId }) + web.to(workspace).emit('evaluationStatus', data) + }) + + socket.on('disconnect', () => { + console.log('Worker disconnected') + }) +}) + +const PORT = process.env.PORT || 4002 + +server.listen(PORT, () => { + console.log(`Socket.IO server running on port ${PORT}`) +}) + +server.on('error', (err) => { + console.error('Socket.IO server error:', err) +}) diff --git a/apps/websockets/tsconfig.json b/apps/websockets/tsconfig.json new file mode 100644 index 000000000..49efdd663 --- /dev/null +++ b/apps/websockets/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "@latitude-data/typescript-config/base.json", + "compilerOptions": { + "moduleResolution": "Bundler", + "strict": true, + "outDir": "./dist", + "baseUrl": ".", + "paths": { + "$/*": ["./src/*"], + "acorn": ["node_modules/@latitude-data/typescript-config/types/acorn"] + }, + "types": ["node"], + "jsx": "preserve" + }, + "include": ["src/**/*.ts", "test/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/apps/websockets/tsup.config.ts b/apps/websockets/tsup.config.ts new file mode 100644 index 000000000..393843a79 --- /dev/null +++ b/apps/websockets/tsup.config.ts @@ -0,0 +1,27 @@ +import { readFileSync } from 'fs' + +import { defineConfig } from 'tsup' + +const getDependencies = (path: string) => + Object.keys(JSON.parse(readFileSync(path, 'utf-8')).dependencies) + +const rootDependencies = getDependencies('../../package.json') +const dependencies = getDependencies('./package.json') + +export default defineConfig({ + entry: ['src/server.ts'], + outDir: 'dist', + sourcemap: false, + clean: true, + dts: false, + format: ['esm'], + target: 'node20', + platform: 'node', + loader: { + // Tsup complains .html has no loader. But we don't have any .html files + // So we just tell it to ignore it using 'empty' loader + '.html': 'empty', + }, + external: [...rootDependencies, ...dependencies], + noExternal: ['@latitude-data/env', '@latitude-data/core'], +}) diff --git a/apps/workers/tsconfig.prod.json b/apps/workers/tsconfig.prod.json deleted file mode 100644 index 8a8ddbc37..000000000 --- a/apps/workers/tsconfig.prod.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "sourceMap": false, - "removeComments": true, - "noEmit": false - }, - "exclude": ["test"] -} diff --git a/package.json b/package.json index edf0550a4..93af8e6e6 100644 --- a/package.json +++ b/package.json @@ -66,6 +66,7 @@ "drizzle-orm": "^0.33.0", "flydrive": "^1.1.0", "ioredis": "^5.4.1", + "jose": "^5.8.0", "lodash-es": "^4.17.21", "lucide-react": "^0.403.0", "monaco-editor": "^0.50.0", @@ -78,6 +79,7 @@ "react-dom": "^18.3.1", "react-resizable": "^3.0.5", "react-textarea-autosize": "^8.5.3", + "socket.io-client": "^4.7.5", "tailwind-merge": "^2.4.0", "tailwindcss": "^3.4.4", "tailwindcss-animate": "^1.0.7", diff --git a/packages/core/package.json b/packages/core/package.json index be2b5e3f3..9101c9ee1 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -10,6 +10,7 @@ "./events/*": "./src/events/*.ts", "./lib/*": "./src/lib/*.ts", "./redis": "./src/redis/index.ts", + "./websockets/*": "./src/websockets/*.ts", "./schema": "./src/schema/index.ts", "./schema/*": "./src/schema/*.ts", "./services/*": "./src/services/*.ts", @@ -59,11 +60,13 @@ "eslint": "8", "eslint-plugin-drizzle": "^0.2.3", "flydrive": "^1.1.0", + "jose": "^5.8.0", "lodash-es": "^4.17.21", "pg": "^8.12.0", "pg-transactional-tests": "^1.0.9", "prettier": "^3.3.3", "react": "^18.3.1", + "socket.io-client": "^4.7.5", "supertest": "^7.0.0", "svelte": "^4.2.19", "uuid": "^10.0.0", @@ -90,9 +93,11 @@ "csv-parse": "^5.5.6", "drizzle-orm": "^0.33.0", "flydrive": "^1.1.0", + "jose": "^5.8.0", "lodash-es": "^4.17.21", "pg": "^8.12.0", "react": "^18.3.1", + "socket.io-client": "^4.7.5", "svelte": "^4.2.19", "uuid": "^10.0.0", "vue": "^3.4.38", diff --git a/packages/core/src/browser.ts b/packages/core/src/browser.ts index 5f9b664fe..d89cd8aa5 100644 --- a/packages/core/src/browser.ts +++ b/packages/core/src/browser.ts @@ -1,2 +1,3 @@ export * from './constants' export * from './schema/types' +export * from './websockets/constants' diff --git a/packages/core/src/repositories/workspacesRepository.ts b/packages/core/src/repositories/workspacesRepository.ts index ca2824dbb..08de03020 100644 --- a/packages/core/src/repositories/workspacesRepository.ts +++ b/packages/core/src/repositories/workspacesRepository.ts @@ -29,6 +29,7 @@ export class WorkspacesRepository { .where(eq(this.scope.id, workspaceId)) .limit(1) const workspace = result[0] + if (!workspace) { return Result.error(new NotFoundError('Workspace not found')) } diff --git a/packages/core/src/websockets/constants.ts b/packages/core/src/websockets/constants.ts new file mode 100644 index 000000000..e74a6b0cd --- /dev/null +++ b/packages/core/src/websockets/constants.ts @@ -0,0 +1,53 @@ +// ATENTION: +// :::::::::::::::::::::::::::::::::::::::::: +// All this can be seen in the browser. If you want something private +// put in other place. + +const ONE_HOUR = 60 * 60 * 1000 +const SEVEN_DAYS = 7 * 24 * ONE_HOUR + +export const TOKEN_TYPES = { + websocket: 'websocket', + websocketRefresh: 'websocketRefresh', +} + +export type TokenType = keyof typeof TOKEN_TYPES +export const TOKEN_CONFIG: Record< + TokenType, + { maxAge: { numberValue: number; stringValue: string } } +> = { + websocket: { maxAge: { numberValue: ONE_HOUR, stringValue: '1h' } }, + websocketRefresh: { maxAge: { numberValue: SEVEN_DAYS, stringValue: '7d' } }, +} + +export type WebSocketData = { + userId: string + workspaceId: number +} +export type WorkerPayload = {} + +type EvaluationStatusArgs = { + batchId: string + evaluationId: number + documentUuid: string + status: 'started' | 'running' | 'finished' + initialTotal: number + total: number + completed: number + errors: number + enqueued: number +} +export type WebServerToClientEvents = { + evaluationStatus: (args: EvaluationStatusArgs) => void + joinWorkspace: (args: { workspaceId: number; userId: string }) => void +} +export type WebClientToServerEvents = { + joinWorkspace: (args: { workspaceId: number; userId: string }) => void +} + +export type WorkersClientToServerEvents = { + evaluationStatus: (args: { + data: EvaluationStatusArgs + workspaceId: number + }) => void +} diff --git a/packages/core/src/websockets/utils.ts b/packages/core/src/websockets/utils.ts new file mode 100644 index 000000000..da6914761 --- /dev/null +++ b/packages/core/src/websockets/utils.ts @@ -0,0 +1,82 @@ +import { env } from '@latitude-data/env' +import { jwtVerify, SignJWT } from 'jose' + +import { Result } from '../lib' +import { TOKEN_CONFIG, TokenType, WebSocketData } from './constants' + +const SECRET_TOKENS: Record = { + websocket: env.WEBSOCKET_SECRET_TOKEN_KEY, + websocketRefresh: env.WEBSOCKET_REFRESH_SECRET_TOKEN_KEY, +} +export async function generateWebsocketToken({ + name, + payload, +}: { + name: TokenType + payload: WebSocketData +}) { + const isProd = env.NODE_ENV === 'production' + const config = TOKEN_CONFIG[name] + const secret = new TextEncoder().encode(SECRET_TOKENS[name]) + const token = await new SignJWT(payload) + .setProtectedHeader({ alg: 'HS256' }) + .setExpirationTime(config.maxAge.stringValue) + .sign(secret) + return { + token, + cookiesOptions: { + secure: isProd, + domain: isProd ? `.${env.LATITUDE_DOMAIN}` : 'localhost', + path: '/', + maxAge: config.maxAge.numberValue, + }, + } +} + +export async function verifyWebsocketToken({ + token, + type, +}: { + token: string | undefined + type: TokenType +}) { + if (!token) return Result.error(new Error('No token provided')) + + try { + const secret = new TextEncoder().encode(SECRET_TOKENS[type]) + const { payload } = await jwtVerify(token, secret) + + return Result.ok({ payload }) + } catch (err) { + const error = err as Error + return Result.error(error) + } +} + +export async function generateWorkerWebsocketToken() { + const secret = new TextEncoder().encode(env.WORKERS_WEBSOCKET_SECRET_TOKEN) + const token = await new SignJWT({}) + .setProtectedHeader({ alg: 'HS256' }) + .setExpirationTime('1h') + .sign(secret) + + return token +} + +export async function verifyWorkerWebsocketToken(token: string) { + try { + const secret = new TextEncoder().encode(env.WORKERS_WEBSOCKET_SECRET_TOKEN) + const { payload } = await jwtVerify<{}>(token, secret) + + return Result.ok({ payload }) + } catch (err) { + const error = err as Error + return Result.error(error) + } +} + +export function buildWorkspaceRoom({ workspaceId }: { workspaceId: number }) { + return `workspace:${workspaceId}` +} + +export { TOKEN_CONFIG } diff --git a/packages/core/src/websockets/workers.ts b/packages/core/src/websockets/workers.ts new file mode 100644 index 000000000..6d4fbd1d8 --- /dev/null +++ b/packages/core/src/websockets/workers.ts @@ -0,0 +1,35 @@ +import { env } from '@latitude-data/env' +import { io, Socket } from 'socket.io-client' + +import { WorkersClientToServerEvents } from './constants' +import { generateWorkerWebsocketToken } from './utils' + +type WorkerSocket = Socket<{}, WorkersClientToServerEvents> + +export class WebsocketClient { + private static instance: WebsocketClient + private websockets: WorkerSocket + + static async getSocket(): Promise { + if (WebsocketClient.instance) return WebsocketClient.instance.websockets + + const token = await generateWorkerWebsocketToken() + const websockets: WorkerSocket = io(`${env.WEBSOCKETS_SERVER}/workers`, { + path: '/websocket', + auth: { token }, + transports: ['websocket'], + }) + const instance = new WebsocketClient(websockets) + WebsocketClient.instance = instance + return new Promise((resolve) => { + websockets.on('connect', () => { + console.log('Workers connected to WebSocket server') + resolve(websockets) + }) + }) + } + + constructor(websockets: Socket) { + this.websockets = websockets + } +} diff --git a/packages/env/src/index.ts b/packages/env/src/index.ts index dc562e2dd..a96cbc4f8 100644 --- a/packages/env/src/index.ts +++ b/packages/env/src/index.ts @@ -21,6 +21,7 @@ if (environment !== 'production') { process.env as DotenvPopulateInput, { NODE_ENV: environment, + FROM_MAILER_EMAIL: 'hello@latitude.so', DATABASE_URL: `postgres://latitude:secret@localhost:5432/latitude_${environment}`, QUEUE_PORT: '6379', QUEUE_HOST: '0.0.0.0', @@ -29,7 +30,10 @@ if (environment !== 'production') { GATEWAY_SSL: 'false', LATITUDE_DOMAIN: 'latitude.so', LATITUDE_URL: 'http://localhost:3000', - FROM_MAILER_EMAIL: 'hello@latitude.so', + WEBSOCKETS_SERVER: 'http://localhost:4002', + WEBSOCKET_SECRET_TOKEN_KEY: 'secret-token-key', + WEBSOCKET_REFRESH_SECRET_TOKEN_KEY: 'refresh-refresh-token-key', + WORKERS_WEBSOCKET_SECRET_TOKEN: 'workers-secret-token', DRIVE_DISK: 'local', FILE_PUBLIC_PATH, FILES_STORAGE_PATH, @@ -66,9 +70,17 @@ export const env = createEnv({ .union([z.literal('local'), z.literal('s3')]) .optional() .default('local'), + WEBSOCKETS_SERVER: z.string(), + WEBSOCKET_SECRET_TOKEN_KEY: z.string(), + WORKERS_WEBSOCKET_SECRET_TOKEN: z.string(), + WEBSOCKET_REFRESH_SECRET_TOKEN_KEY: z.string(), }, runtimeEnv: { ...process.env, FILE_PUBLIC_PATH: process.env.FILE_PUBLIC_PATH ?? FILE_PUBLIC_PATH, + // FIXME: Infra needed + WEBSOCKET_SECRET_TOKEN_KEY: 'secret-token-key', + WEBSOCKET_REFRESH_SECRET_TOKEN_KEY: 'refresh-refresh-token-key', + WORKERS_WEBSOCKET_SECRET_TOKEN: 'workers-secret-token', }, }) diff --git a/packages/jobs/src/job-definitions/batchEvaluations/runBatchEvaluationJob.test.ts b/packages/jobs/src/job-definitions/batchEvaluations/runBatchEvaluationJob.test.ts index 7b80af66a..acb49295a 100644 --- a/packages/jobs/src/job-definitions/batchEvaluations/runBatchEvaluationJob.test.ts +++ b/packages/jobs/src/job-definitions/batchEvaluations/runBatchEvaluationJob.test.ts @@ -11,6 +11,9 @@ import { ProgressTracker } from '../../utils/progressTracker' import { runBatchEvaluationJob } from './runBatchEvaluationJob' const mocks = vi.hoisted(() => ({ + websockets: { + emit: vi.fn(), + }, queues: { defaultQueue: { jobs: { @@ -49,6 +52,12 @@ vi.mock('../../utils/progressTracker', () => ({ })), })) +vi.mock('@latitude-data/core/websockets/workers', () => ({ + WebsocketClient: { + getSocket: () => Promise.resolve(mocks.websockets), + }, +})) + describe('runBatchEvaluationJob', () => { let mockJob: Job let mockProgressTracker: ProgressTracker @@ -60,7 +69,7 @@ describe('runBatchEvaluationJob', () => { data: { evaluation: { id: 1 }, dataset: { fileMetadata: { rowCount: 3 } }, - document: { commitId: 'commit-1' }, + document: { documentUuid: 'fake-document-uuid', commitId: 'commit-1' }, parametersMap: { param1: 0, param2: 1 }, }, attemptsMade: 0, @@ -92,6 +101,23 @@ describe('runBatchEvaluationJob', () => { }) }) + it('should emit first run evalution message', async () => { + await runBatchEvaluationJob(mockJob) + + expect(mocks.websockets.emit).toHaveBeenCalledWith('evaluationStatus', { + workspaceId: 'workspace-1', + data: { + batchId: expect.any(String), + evaluationId: 1, + documentUuid: 'fake-document-uuid', + status: 'started', + enqueued: 0, + completed: 1, + total: 3, + }, + }) + }) + it('should process all rows and enqueue jobs', async () => { await runBatchEvaluationJob(mockJob) diff --git a/packages/jobs/src/job-definitions/batchEvaluations/runBatchEvaluationJob.ts b/packages/jobs/src/job-definitions/batchEvaluations/runBatchEvaluationJob.ts index 84c4545d8..11ddf9bfd 100644 --- a/packages/jobs/src/job-definitions/batchEvaluations/runBatchEvaluationJob.ts +++ b/packages/jobs/src/job-definitions/batchEvaluations/runBatchEvaluationJob.ts @@ -9,6 +9,7 @@ import { findWorkspaceFromDocument } from '@latitude-data/core/data-access' import { NotFoundError } from '@latitude-data/core/lib/errors' import { CommitsRepository } from '@latitude-data/core/repositories' import { previewDataset } from '@latitude-data/core/services/datasets/preview' +import { WebsocketClient } from '@latitude-data/core/websockets/workers' import { Job } from 'bullmq' import { setupJobs } from '../..' @@ -37,6 +38,7 @@ export const runBatchEvaluationJob = async ( parametersMap, batchId = randomUUID(), } = job.data + const websockets = await WebsocketClient.getSocket() const workspace = await findWorkspaceFromDocument(document) if (!workspace) throw new NotFoundError('Workspace not found') @@ -61,17 +63,34 @@ export const runBatchEvaluationJob = async ( }) const progressTracker = new ProgressTracker(connection, batchId) + const firstAttempt = job.attemptsMade === 0 - if (job.attemptsMade === 0) { + if (firstAttempt) { await progressTracker.initializeProgress(parameters.length) } - const { enqueued } = await progressTracker.getProgress() + const progress = await progressTracker.getProgress() const queues = setupJobs() + if (firstAttempt && parameters.length > 0) { + websockets.emit('evaluationStatus', { + workspaceId: workspace.id, + data: { + batchId, + evaluationId: evaluation.id, + documentUuid: document.documentUuid, + status: 'started', + ...progress, + completed: 1, // Optimistic completion of first job + total: parameters.length, + }, + }) + } + // Enqueue runDocumentJob for each set of parameters, starting from the last // enqueued job. This allows us to resume the batch if the job fails. - for (let i = enqueued; i < parameters.length; i++) { + for (let i = progress.enqueued; i < parameters.length; i++) { + const isFirstEnqueued = progress.enqueued === 0 await queues.defaultQueue.jobs.enqueueRunDocumentJob({ workspaceId: workspace.id, documentUuid: document.documentUuid, @@ -79,6 +98,7 @@ export const runBatchEvaluationJob = async ( projectId: commit.projectId, parameters: parameters[i]!, evaluationId: evaluation.id, + skipProgress: isFirstEnqueued, batchId, }) diff --git a/packages/jobs/src/job-definitions/batchEvaluations/runDocumentJob.test.ts b/packages/jobs/src/job-definitions/batchEvaluations/runDocumentJob.test.ts index d23b2717b..9f5eac239 100644 --- a/packages/jobs/src/job-definitions/batchEvaluations/runDocumentJob.test.ts +++ b/packages/jobs/src/job-definitions/batchEvaluations/runDocumentJob.test.ts @@ -96,6 +96,7 @@ describe('runDocumentJob', () => { mocks.queues.defaultQueue.jobs.enqueueRunEvaluationJob, ).toHaveBeenCalledWith({ workspaceId: workspace.id, + documentUuid: document.documentUuid, documentLogUuid: 'log1', evaluationId: evaluation.id, batchId: 'batch1', diff --git a/packages/jobs/src/job-definitions/batchEvaluations/runDocumentJob.ts b/packages/jobs/src/job-definitions/batchEvaluations/runDocumentJob.ts index cae0011de..c529cae12 100644 --- a/packages/jobs/src/job-definitions/batchEvaluations/runDocumentJob.ts +++ b/packages/jobs/src/job-definitions/batchEvaluations/runDocumentJob.ts @@ -58,6 +58,7 @@ export const runDocumentJob = async (job: Job) => { // Enqueue the evaluation job await queues.defaultQueue.jobs.enqueueRunEvaluationJob({ workspaceId, + documentUuid: document.documentUuid, documentLogUuid: result.documentLogUuid, evaluationId, batchId, diff --git a/packages/jobs/src/job-definitions/batchEvaluations/runEvaluationJob.ts b/packages/jobs/src/job-definitions/batchEvaluations/runEvaluationJob.ts index 3fc3a5458..745f37b81 100644 --- a/packages/jobs/src/job-definitions/batchEvaluations/runEvaluationJob.ts +++ b/packages/jobs/src/job-definitions/batchEvaluations/runEvaluationJob.ts @@ -3,7 +3,7 @@ import { EvaluationsRepository, } from '@latitude-data/core/repositories' import { runEvaluation } from '@latitude-data/core/services/evaluations/run' -import { env } from '@latitude-data/env' +import { WebsocketClient } from '@latitude-data/core/websockets/workers' import { Job } from 'bullmq' import { connection } from '../../utils/connection' @@ -11,18 +11,27 @@ import { ProgressTracker } from '../../utils/progressTracker' type RunEvaluationJobData = { workspaceId: number + documentUuid: string documentLogUuid: string evaluationId: number batchId: string + skipProgress: boolean } export const runEvaluationJob = async (job: Job) => { - const { workspaceId, batchId, documentLogUuid, evaluationId } = job.data + const websockets = await WebsocketClient.getSocket() + const { + skipProgress, + workspaceId, + batchId, + documentUuid, + documentLogUuid, + evaluationId, + } = job.data const progressTracker = new ProgressTracker(connection, batchId) const documentLogsScope = new DocumentLogsRepository(workspaceId) const evaluationsScope = new EvaluationsRepository(workspaceId) - try { const documentLog = await documentLogsScope .findByUuid(documentLogUuid) @@ -40,11 +49,24 @@ export const runEvaluationJob = async (job: Job) => { await progressTracker.incrementCompleted() } catch (error) { - if (env.NODE_ENV !== 'production') { - console.error('Error in runEvaluationJob:', error) - } - await progressTracker.incrementErrors() + } finally { await progressTracker.decrementTotal() + const progress = await progressTracker.getProgress() + const finished = await progressTracker.isFinished() + + if (!skipProgress) { + websockets.emit('evaluationStatus', { + workspaceId, + data: { + batchId, + evaluationId, + documentUuid, + status: finished ? 'finished' : 'running', + ...progress, + completed: progress.completed < 1 ? 1 : progress.completed, + }, + }) + } } } diff --git a/packages/jobs/src/utils/progressTracker.ts b/packages/jobs/src/utils/progressTracker.ts index d87961049..a3e45f87e 100644 --- a/packages/jobs/src/utils/progressTracker.ts +++ b/packages/jobs/src/utils/progressTracker.ts @@ -6,12 +6,9 @@ export class ProgressTracker { private batchId: string, ) {} - private getKey(suffix: string) { - return `batch:${this.batchId}:${suffix}` - } - async initializeProgress(total: number) { const multi = this.redis.multi() + multi.set(this.getKey('initialTotal'), total) multi.set(this.getKey('total'), total) multi.set(this.getKey('completed'), 0) multi.set(this.getKey('errors'), 0) @@ -35,17 +32,29 @@ export class ProgressTracker { } async getProgress() { - const [total, completed, errors, enqueued] = await this.redis.mget([ - this.getKey('total'), - this.getKey('completed'), - this.getKey('errors'), - this.getKey('enqueued'), - ]) + const [initialTotal, total, completed, errors, enqueued] = + await this.redis.mget([ + this.getKey('initialTotal'), + this.getKey('total'), + this.getKey('completed'), + this.getKey('errors'), + this.getKey('enqueued'), + ]) return { + initialTotal: parseInt(initialTotal || '0', 10), total: parseInt(total || '0', 10), completed: parseInt(completed || '0', 10), errors: parseInt(errors || '0', 10), enqueued: parseInt(enqueued || '0', 10), } } + + async isFinished() { + const { enqueued, completed, errors } = await this.getProgress() + return enqueued === completed + errors + } + + private getKey(suffix: string) { + return `batch:${this.batchId}:${suffix}` + } } diff --git a/packages/web-ui/src/ds/atoms/Alert/Primitives/index.tsx b/packages/web-ui/src/ds/atoms/Alert/Primitives/index.tsx index 50120aa16..bfc1e8514 100644 --- a/packages/web-ui/src/ds/atoms/Alert/Primitives/index.tsx +++ b/packages/web-ui/src/ds/atoms/Alert/Primitives/index.tsx @@ -12,6 +12,7 @@ const alertVariants = cva( 'bg-background dark:bg-accent text-foreground dark:text-accent-foreground border-primary text-primary dark:border-primary [&>svg]:text-primary [&>svg]:dark:text-accent-foreground', destructive: 'border-destructive text-destructive dark:text-white [&>svg]:text-destructive [&>svg]:dark:text-white', + success: 'border-green-500 text-green-500 dark:text-white', }, }, defaultVariants: { @@ -23,7 +24,7 @@ const alertVariants = cva( export type AlertProps = HTMLAttributes & VariantProps -const Alert = forwardRef( +const AlertRoot = forwardRef( ({ className, variant, ...props }, ref) => (
( /> ), ) -Alert.displayName = 'Alert' +AlertRoot.displayName = 'AlertRoot' const AlertTitle = forwardRef< HTMLParagraphElement, @@ -59,4 +60,4 @@ const AlertDescription = forwardRef< )) AlertDescription.displayName = 'AlertDescription' -export { Alert, AlertTitle, AlertDescription } +export { AlertRoot, AlertTitle, AlertDescription } diff --git a/packages/web-ui/src/ds/atoms/Alert/index.tsx b/packages/web-ui/src/ds/atoms/Alert/index.tsx index ad5950f67..a3b3c2fb5 100644 --- a/packages/web-ui/src/ds/atoms/Alert/index.tsx +++ b/packages/web-ui/src/ds/atoms/Alert/index.tsx @@ -1,8 +1,11 @@ -import { Icon } from '../Icons' +import { ReactNode } from 'react' + +import { cn } from '../../../lib/utils' +import { Icon, IconName } from '../Icons' import { AlertDescription, AlertProps, - Alert as AlertRoot, + AlertRoot, AlertTitle, } from './Primitives' @@ -20,3 +23,38 @@ export function Alert({ title, description, variant = 'default' }: Props) { ) } + +type ProgressState = 'completed' | 'error' | 'running' +const ICON_NAME: Record = { + completed: 'check', + error: 'alert', + running: 'refresh', +} +const VARIANT_PROGRESS: Record = { + completed: 'success', + error: 'destructive', + running: 'default', +} + +type ProgressIndicatorProps = { + children: ReactNode + state?: ProgressState +} +export function ProgressIndicator({ + children, + state = 'completed', +}: ProgressIndicatorProps) { + const running = state === 'running' + const variant = VARIANT_PROGRESS[state] + return ( + +
+ +
{children}
+
+
+ ) +} diff --git a/packages/web-ui/src/ds/atoms/DropdownMenu/index.tsx b/packages/web-ui/src/ds/atoms/DropdownMenu/index.tsx index 5cb891452..95f73cf03 100644 --- a/packages/web-ui/src/ds/atoms/DropdownMenu/index.tsx +++ b/packages/web-ui/src/ds/atoms/DropdownMenu/index.tsx @@ -69,7 +69,7 @@ function DropdownItem({ {iconProps ? : null}
diff --git a/packages/web-ui/src/ds/atoms/Icons/index.tsx b/packages/web-ui/src/ds/atoms/Icons/index.tsx index ff5e86419..92e06cf7a 100644 --- a/packages/web-ui/src/ds/atoms/Icons/index.tsx +++ b/packages/web-ui/src/ds/atoms/Icons/index.tsx @@ -21,6 +21,7 @@ import { LoaderCircle, Lock, Moon, + RefreshCcw, SquareDot, SquareMinus, SquarePlus, @@ -62,6 +63,7 @@ const Icons = { sun: Sun, eye: Eye, externalLink: ExternalLink, + refresh: RefreshCcw, } export type IconName = keyof typeof Icons diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 36fde27e5..a957174d5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,10 +25,10 @@ importers: version: 0.0.54(zod@3.23.8) '@aws-sdk/client-s3': specifier: ^3.645.0 - version: 3.649.0 + version: 3.651.1 '@aws-sdk/s3-request-presigner': specifier: ^3.645.0 - version: 3.649.0 + version: 3.651.1 '@monaco-editor/react': specifier: ^4.6.0 version: 4.6.0(monaco-editor@0.50.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -76,13 +76,13 @@ importers: version: 0.11.1(typescript@5.6.2)(zod@3.23.8) ai: specifier: ^3.2.42 - version: 3.3.33(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.4(typescript@5.6.2))(zod@3.23.8) + version: 3.3.37(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.5(typescript@5.6.2))(zod@3.23.8) argon2: specifier: ^0.41.0 version: 0.41.1 bullmq: specifier: ^5.12.11 - version: 5.12.15 + version: 5.13.0 class-variance-authority: specifier: ^0.7.0 version: 0.7.0 @@ -97,13 +97,16 @@ importers: version: 16.4.5 drizzle-orm: specifier: ^0.33.0 - version: 0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.9)(@types/react@18.3.0)(pg@8.12.0)(react@18.3.1) + version: 0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.0)(pg@8.12.0)(react@18.3.1) flydrive: specifier: ^1.1.0 - version: 1.1.0(@aws-sdk/client-s3@3.649.0)(@aws-sdk/s3-request-presigner@3.649.0) + version: 1.1.0(@aws-sdk/client-s3@3.651.1)(@aws-sdk/s3-request-presigner@3.651.1) ioredis: specifier: ^5.4.1 version: 5.4.1 + jose: + specifier: ^5.8.0 + version: 5.9.2 lodash-es: specifier: ^4.17.21 version: 4.17.21 @@ -140,15 +143,18 @@ importers: react-textarea-autosize: specifier: ^8.5.3 version: 8.5.3(@types/react@18.3.0)(react@18.3.1) + socket.io-client: + specifier: ^4.7.5 + version: 4.7.5 tailwind-merge: specifier: ^2.4.0 version: 2.5.2 tailwindcss: specifier: ^3.4.4 - version: 3.4.10(ts-node@10.9.2(@types/node@22.5.4)(typescript@5.6.2)) + version: 3.4.11(ts-node@10.9.2(@types/node@22.5.5)(typescript@5.6.2)) tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.10(ts-node@10.9.2(@types/node@22.5.4)(typescript@5.6.2))) + version: 1.0.7(tailwindcss@3.4.11(ts-node@10.9.2(@types/node@22.5.5)(typescript@5.6.2))) use-debounce: specifier: ^10.0.1 version: 10.0.3(react@18.3.1) @@ -167,14 +173,14 @@ importers: version: 4.2.19 vue: specifier: ^3.4.38 - version: 3.5.4(typescript@5.6.2) + version: 3.5.5(typescript@5.6.2) devDependencies: '@babel/parser': specifier: ^7.25.4 version: 7.25.6 '@types/node': specifier: ^22.5.1 - version: 22.5.4 + version: 22.5.5 eslint: specifier: '8' version: 8.57.0 @@ -189,7 +195,7 @@ importers: version: 0.23.9 turbo: specifier: ^2.1.0 - version: 2.1.1 + version: 2.1.2 typescript: specifier: ^5.5.4 version: 5.6.2 @@ -198,10 +204,10 @@ importers: dependencies: '@hono/node-server': specifier: ^1.12.0 - version: 1.12.2(hono@4.5.11) + version: 1.12.2(hono@4.6.1) '@hono/zod-validator': specifier: ^0.2.2 - version: 0.2.2(hono@4.5.11)(zod@3.23.8) + version: 0.2.2(hono@4.6.1)(zod@3.23.8) '@latitude-data/compiler': specifier: workspace:^ version: link:../../packages/compiler @@ -222,10 +228,10 @@ importers: version: 0.10.1(typescript@5.6.2)(zod@3.23.8) drizzle-orm: specifier: ^0.33.0 - version: 0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.9)(@types/react@18.3.0)(pg@8.12.0)(react@18.3.1) + version: 0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.0)(pg@8.12.0)(react@18.3.1) hono: specifier: ^4.5.3 - version: 4.5.11 + version: 4.6.1 jet-paths: specifier: ^1.0.6 version: 1.0.9 @@ -241,25 +247,25 @@ importers: version: link:../../tools/typescript '@types/node': specifier: ^22.5.1 - version: 22.5.4 + version: 22.5.5 '@types/uuid': specifier: ^10.0.0 version: 10.0.0 tsup: specifier: ^8.2.4 - version: 8.2.4(jiti@1.21.6)(postcss@8.4.45)(tsx@4.19.0)(typescript@5.6.2)(yaml@2.5.1) + version: 8.2.4(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1) tsx: specifier: ^4.16.2 - version: 4.19.0 + version: 4.19.1 vitest: specifier: ^2.0.4 - version: 2.0.5(@types/node@22.5.4)(jsdom@24.1.3)(terser@5.32.0) + version: 2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0) apps/infra: dependencies: '@pulumi/aws': specifier: ^6.50.1 - version: 6.51.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) + version: 6.51.1(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) '@pulumi/awsx': specifier: ^2.14.0 version: 2.14.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) @@ -268,7 +274,7 @@ importers: version: 4.5.5(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) '@pulumi/pulumi': specifier: ^3.113.0 - version: 3.131.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) + version: 3.132.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) devDependencies: '@types/node': specifier: ^18 @@ -305,7 +311,7 @@ importers: version: link:../../packages/web-ui '@lucia-auth/adapter-drizzle': specifier: ^1.0.7 - version: 1.1.0(drizzle-orm@0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.9)(@types/react@18.3.0)(pg@8.12.0)(react@19.0.0-rc-f994737d14-20240522))(lucia@3.2.0) + version: 1.1.0(drizzle-orm@0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.0)(pg@8.12.0)(react@19.0.0-rc-f994737d14-20240522))(lucia@3.2.0) '@monaco-editor/react': specifier: ^4.6.0 version: 4.6.0(monaco-editor@0.50.0)(react-dom@19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522))(react@19.0.0-rc-f994737d14-20240522) @@ -320,19 +326,22 @@ importers: version: 0.10.1(typescript@5.6.2)(zod@3.23.8) ai: specifier: ^3.2.42 - version: 3.3.33(react@19.0.0-rc-f994737d14-20240522)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.4(typescript@5.6.2))(zod@3.23.8) + version: 3.3.37(react@19.0.0-rc-f994737d14-20240522)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.5(typescript@5.6.2))(zod@3.23.8) bullmq: specifier: ^5.8.5 - version: 5.12.15 + version: 5.13.0 date-fns: specifier: ^3.6.0 version: 3.6.0 drizzle-orm: specifier: ^0.33.0 - version: 0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.9)(@types/react@18.3.0)(pg@8.12.0)(react@19.0.0-rc-f994737d14-20240522) + version: 0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.0)(pg@8.12.0)(react@19.0.0-rc-f994737d14-20240522) ioredis: specifier: ^5.4.1 version: 5.4.1 + jose: + specifier: ^5.8.0 + version: 5.9.2 lodash-es: specifier: ^4.17.21 version: 4.17.21 @@ -363,6 +372,9 @@ importers: react-dom: specifier: 19.0.0-rc-f994737d14-20240522 version: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522) + socket.io-react-hook: + specifier: ^2.4.5 + version: 2.4.5(react@19.0.0-rc-f994737d14-20240522) swr: specifier: ^2.2.5 version: 2.2.5(react@19.0.0-rc-f994737d14-20240522) @@ -384,7 +396,7 @@ importers: version: 4.2.19 vue: specifier: ^3.4.38 - version: 3.5.4(typescript@5.6.2) + version: 3.5.5(typescript@5.6.2) devDependencies: '@faker-js/faker': specifier: ^8.4.1 @@ -397,7 +409,7 @@ importers: version: link:../../tools/typescript '@next/eslint-plugin-next': specifier: ^14.2.4 - version: 14.2.9 + version: 14.2.11 '@types/lodash-es': specifier: ^4.17.12 version: 4.17.12 @@ -415,7 +427,7 @@ importers: version: 18.3.0 autoprefixer: specifier: ^10.4.19 - version: 10.4.20(postcss@8.4.45) + version: 10.4.20(postcss@8.4.47) drizzle-kit: specifier: ^0.22.8 version: 0.22.8 @@ -424,13 +436,53 @@ importers: version: 1.16.0 postcss: specifier: ^8.4.39 - version: 8.4.45 + version: 8.4.47 tailwindcss: specifier: ^3.4.4 - version: 3.4.10(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.6.2)) + version: 3.4.11(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.6.2)) vitest: specifier: ^2.0.3 - version: 2.0.5(@types/node@20.16.5)(jsdom@24.1.3)(terser@5.32.0) + version: 2.1.1(@types/node@20.16.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0) + + apps/websockets: + dependencies: + '@latitude-data/core': + specifier: workspace:^ + version: link:../../packages/core + '@latitude-data/env': + specifier: workspace:^ + version: link:../../packages/env + cookie-parser: + specifier: ^1.4.6 + version: 1.4.6 + express: + specifier: ^4.21.0 + version: 4.21.0 + socket.io: + specifier: ^4.7.5 + version: 4.7.5 + devDependencies: + '@latitude-data/eslint-config': + specifier: workspace:^ + version: link:../../tools/eslint + '@latitude-data/typescript-config': + specifier: workspace:^ + version: link:../../tools/typescript + '@types/cookie-parser': + specifier: ^1.4.7 + version: 1.4.7 + '@types/express': + specifier: ^4.17.21 + version: 4.17.21 + '@types/node': + specifier: ^22.5.1 + version: 22.5.5 + tsup: + specifier: ^8.2.4 + version: 8.2.4(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1) + tsx: + specifier: ^4.16.2 + version: 4.19.1 apps/workers: dependencies: @@ -461,13 +513,13 @@ importers: version: link:../../tools/typescript '@types/node': specifier: ^22.5.1 - version: 22.5.4 + version: 22.5.5 tsup: specifier: ^8.2.4 - version: 8.2.4(jiti@1.21.6)(postcss@8.4.45)(tsx@4.19.0)(typescript@5.6.2)(yaml@2.5.1) + version: 8.2.4(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1) tsx: specifier: ^4.16.2 - version: 4.19.0 + version: 4.19.1 packages/compiler: dependencies: @@ -492,10 +544,10 @@ importers: version: link:../../tools/typescript '@rollup/plugin-alias': specifier: ^5.1.0 - version: 5.1.0(rollup@4.21.2) + version: 5.1.0(rollup@4.21.3) '@rollup/plugin-typescript': specifier: ^11.1.6 - version: 11.1.6(rollup@4.21.2)(tslib@2.7.0)(typescript@5.6.2) + version: 11.1.6(rollup@4.21.3)(tslib@2.7.0)(typescript@5.6.2) '@types/estree': specifier: ^1.0.1 version: 1.0.5 @@ -504,10 +556,10 @@ importers: version: 20.16.5 rollup: specifier: ^4.10.0 - version: 4.21.2 + version: 4.21.3 rollup-plugin-dts: specifier: ^6.1.1 - version: 6.1.1(rollup@4.21.2)(typescript@5.6.2) + version: 6.1.1(rollup@4.21.3)(typescript@5.6.2) vitest: specifier: ^1.2.2 version: 1.6.0(@types/node@20.16.5)(jsdom@24.1.3)(terser@5.32.0) @@ -538,10 +590,10 @@ importers: version: 0.0.54(zod@3.23.8) '@aws-sdk/client-s3': specifier: ^3.645.0 - version: 3.649.0 + version: 3.651.1 '@aws-sdk/s3-request-presigner': specifier: ^3.645.0 - version: 3.649.0 + version: 3.651.1 '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 @@ -568,16 +620,16 @@ importers: version: 4.17.12 '@types/node': specifier: ^22.5.0 - version: 22.5.4 + version: 22.5.5 '@types/pg': specifier: ^8.11.6 - version: 8.11.9 + version: 8.11.10 '@types/uuid': specifier: ^10.0.0 version: 10.0.0 ai: specifier: ^3.2.42 - version: 3.3.33(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.4(typescript@5.6.2))(zod@3.23.8) + version: 3.3.37(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.5(typescript@5.6.2))(zod@3.23.8) argon2: specifier: ^0.41.0 version: 0.41.1 @@ -589,7 +641,7 @@ importers: version: 0.22.8 drizzle-orm: specifier: ^0.33.0 - version: 0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.9)(@types/react@18.3.0)(pg@8.12.0)(react@18.3.1) + version: 0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.0)(pg@8.12.0)(react@18.3.1) eslint: specifier: '8' version: 8.57.0 @@ -598,7 +650,10 @@ importers: version: 0.2.3(eslint@8.57.0) flydrive: specifier: ^1.1.0 - version: 1.1.0(@aws-sdk/client-s3@3.649.0)(@aws-sdk/s3-request-presigner@3.649.0) + version: 1.1.0(@aws-sdk/client-s3@3.651.1)(@aws-sdk/s3-request-presigner@3.651.1) + jose: + specifier: ^5.8.0 + version: 5.9.2 lodash-es: specifier: ^4.17.21 version: 4.17.21 @@ -607,13 +662,16 @@ importers: version: 8.12.0 pg-transactional-tests: specifier: ^1.0.9 - version: 1.0.9(pg@8.12.0) + version: 1.1.0(pg@8.12.0) prettier: specifier: ^3.3.3 version: 3.3.3 react: specifier: ^18.3.1 version: 18.3.1 + socket.io-client: + specifier: ^4.7.5 + version: 4.7.5 supertest: specifier: ^7.0.0 version: 7.0.0 @@ -625,10 +683,10 @@ importers: version: 10.0.0 vitest: specifier: ^2.0.3 - version: 2.0.5(@types/node@22.5.4)(jsdom@24.1.3)(terser@5.32.0) + version: 2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0) vue: specifier: ^3.4.38 - version: 3.5.4(typescript@5.6.2) + version: 3.5.5(typescript@5.6.2) zod: specifier: ^3.23.8 version: 3.23.8 @@ -668,16 +726,16 @@ importers: version: link:../../tools/typescript '@types/node': specifier: '*' - version: 22.5.4 + version: 22.5.5 bullmq: specifier: ^5.8.7 - version: 5.12.15 + version: 5.13.0 ioredis: specifier: ^5.4.1 version: 5.4.1 vitest: specifier: ^2.0.5 - version: 2.0.5(@types/node@22.5.4)(jsdom@24.1.3)(terser@5.32.0) + version: 2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0) zod: specifier: ^3.23.8 version: 3.23.8 @@ -763,25 +821,25 @@ importers: version: link:../../../tools/typescript '@rollup/plugin-alias': specifier: ^5.1.0 - version: 5.1.0(rollup@4.21.2) + version: 5.1.0(rollup@4.21.3) '@rollup/plugin-typescript': specifier: ^11.1.6 - version: 11.1.6(rollup@4.21.2)(tslib@2.7.0)(typescript@5.6.2) + version: 11.1.6(rollup@4.21.3)(tslib@2.7.0)(typescript@5.6.2) '@types/eventsource': specifier: ^1.1.15 version: 1.1.15 msw: specifier: ^2.3.5 - version: 2.4.5(typescript@5.6.2) + version: 2.4.6(typescript@5.6.2) rollup: specifier: ^4.21.1 - version: 4.21.2 + version: 4.21.3 rollup-plugin-dts: specifier: ^6.1.1 - version: 6.1.1(rollup@4.21.2)(typescript@5.6.2) + version: 6.1.1(rollup@4.21.3)(typescript@5.6.2) vitest: specifier: ^2.0.5 - version: 2.0.5(@types/node@22.5.4)(jsdom@24.1.3)(terser@5.32.0) + version: 2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0) packages/web-ui: dependencies: @@ -857,7 +915,7 @@ importers: version: 3.0.8 autoprefixer: specifier: ^10.4.19 - version: 10.4.20(postcss@8.4.45) + version: 10.4.20(postcss@8.4.47) class-variance-authority: specifier: ^0.7.0 version: 0.7.0 @@ -875,7 +933,7 @@ importers: version: 0.50.0 postcss: specifier: ^8.4.39 - version: 8.4.45 + version: 8.4.47 react: specifier: 18.3.0 version: 18.3.0 @@ -893,16 +951,16 @@ importers: version: 2.5.2 tailwindcss: specifier: ^3.4.4 - version: 3.4.10(ts-node@10.9.2(@types/node@22.5.4)(typescript@5.6.2)) + version: 3.4.11(ts-node@10.9.2(@types/node@22.5.5)(typescript@5.6.2)) tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.10(ts-node@10.9.2(@types/node@22.5.4)(typescript@5.6.2))) + version: 1.0.7(tailwindcss@3.4.11(ts-node@10.9.2(@types/node@22.5.5)(typescript@5.6.2))) use-debounce: specifier: ^10.0.1 version: 10.0.3(react@18.3.0) vitest: specifier: ^2.0.3 - version: 2.0.5(@types/node@22.5.4)(jsdom@24.1.3)(terser@5.32.0) + version: 2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0) zod: specifier: ^3.23.8 version: 3.23.8 @@ -914,7 +972,7 @@ importers: devDependencies: '@ianvs/prettier-plugin-sort-imports': specifier: ^4.3.0 - version: 4.3.1(@vue/compiler-sfc@3.5.4)(prettier@3.3.3) + version: 4.3.1(@vue/compiler-sfc@3.5.5)(prettier@3.3.3) '@typescript-eslint/eslint-plugin': specifier: ^7.16.0 version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2) @@ -923,13 +981,13 @@ importers: version: 7.18.0(eslint@8.57.0)(typescript@5.6.2) '@vercel/style-guide': specifier: ^5.2.0 - version: 5.2.0(@next/eslint-plugin-next@14.2.9)(eslint@8.57.0)(prettier@3.3.3)(typescript@5.6.2) + version: 5.2.0(@next/eslint-plugin-next@14.2.11)(eslint@8.57.0)(prettier@3.3.3)(typescript@5.6.2) eslint-config-prettier: specifier: ^9.1.0 version: 9.1.0(eslint@8.57.0) eslint-config-turbo: specifier: ^2.0.6 - version: 2.1.1(eslint@8.57.0) + version: 2.1.2(eslint@8.57.0) eslint-plugin-only-warn: specifier: ^1.1.0 version: 1.1.0 @@ -977,8 +1035,8 @@ packages: zod: optional: true - '@ai-sdk/provider-utils@1.0.18': - resolution: {integrity: sha512-9u/XE/dB1gsIGcxiC5JfGOLzUz+EKRXt66T8KYWwDg4x8d02P+fI/EPOgkf+T4oLBrcQgvs4GPXPKoXGPJxBbg==} + '@ai-sdk/provider-utils@1.0.19': + resolution: {integrity: sha512-p02Fq5Mnc8T6nwRBN1Iaou8YXvN1sDS6hbmJaD5UaRbXjizbh+8rpFS/o7jqAHTwf3uHCDitP3pnODyHdc/CDQ==} engines: {node: '>=18'} peerDependencies: zod: ^3.0.0 @@ -994,8 +1052,8 @@ packages: resolution: {integrity: sha512-oAc49O5+xypVrKM7EUU5P/Y4DUL4JZUWVxhejoAVOTOl3WZUEWsMbP3QZR+TrimQIsS0WR/n9UuF6U0jPdp0tQ==} engines: {node: '>=18'} - '@ai-sdk/react@0.0.55': - resolution: {integrity: sha512-9fUUEEEoH01M6ZhvyZ/2v0DI6tiYnSldBg6RaKoy+qx2tSeKvOpFNZhT/iOvQ7oqAyyp0Ocg5Rj7L/jcLXSMxw==} + '@ai-sdk/react@0.0.59': + resolution: {integrity: sha512-1WbgO3J2/OoheMuNMxy5itJ3NVqOpqpAQxFNp7AoXgnDv4wDF4kTif61rTlKh7dCPvBHj2HXLmob+TrVFaWhYw==} engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 @@ -1006,8 +1064,8 @@ packages: zod: optional: true - '@ai-sdk/solid@0.0.44': - resolution: {integrity: sha512-3kMhxalepc78jWr2Qg1BAHbY04JKYxp8wRu3TACrRUdokxzwD5sbZYtTb7vu9tw2wx78rfu0DH44CESFWpSfZg==} + '@ai-sdk/solid@0.0.47': + resolution: {integrity: sha512-lVMxIxtuNqoo/TObSFGflEP2dUeJv7bfPQbS4jHTZGBNlyhgBRY2Xc19yNjA3QKRfvQNDVoQusqxn+18MiHJJQ==} engines: {node: '>=18'} peerDependencies: solid-js: ^1.7.7 @@ -1015,8 +1073,8 @@ packages: solid-js: optional: true - '@ai-sdk/svelte@0.0.46': - resolution: {integrity: sha512-cokqS91vQkpqiRgf8xKwOONFb/RwkIbRg9jYVRb+z5NR9OsWXKMEfoCAf8+VgURfVbp8nqA+ddRXvtgYCwqQjQ==} + '@ai-sdk/svelte@0.0.49': + resolution: {integrity: sha512-gV0MhaWxkatjf7uJrCAHO3bWrihokNUwGhuMCgyG+y53lwJKAYhR0zCoDRM2HnTJ89fdnx/PVe3R9fOWEVY5qA==} engines: {node: '>=18'} peerDependencies: svelte: ^3.0.0 || ^4.0.0 @@ -1024,8 +1082,8 @@ packages: svelte: optional: true - '@ai-sdk/ui-utils@0.0.41': - resolution: {integrity: sha512-I0trJKWxVG8hXeG0MvKqLG54fZjdeGjXvcVZocaSnWMBhl9lpTQxrqAR6ZsQMFDXs5DbvXoKtQs488qu2Bzaiw==} + '@ai-sdk/ui-utils@0.0.44': + resolution: {integrity: sha512-0qiyun/n5zqJzQs/WfQT86dZE5DiDhSHJc7b7ZGLYvNMztHkRQmak2zUCZP4IyGVZEicyEPQK6NEEpBgkmd3Dg==} engines: {node: '>=18'} peerDependencies: zod: ^3.0.0 @@ -1033,8 +1091,8 @@ packages: zod: optional: true - '@ai-sdk/vue@0.0.46': - resolution: {integrity: sha512-H366ydskPbZP8uRs4sm3SAi97P3JVTRI5Q8xYTI6uTaY4UFBA6aOWdDxniYZNa67ebemfe11m7ksX4wHW6Wl8g==} + '@ai-sdk/vue@0.0.49': + resolution: {integrity: sha512-GLjk5uhn0dA8iXpqdF91NyOw+VCgDIo22zrdkRtDg+nLaqkFSjgdDLAp7CL+ihW4F0/IkpZym3j0lFi9LiCjZA==} engines: {node: '>=18'} peerDependencies: vue: ^3.3.4 @@ -1073,30 +1131,30 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-ecs@3.649.0': - resolution: {integrity: sha512-aq0DEUQ3tUfUjOAdJr+bvTbEHMtfPaZsWOrGp0Z1+gFy1OeZobAEjdCPjXu9nnnEDdt2nryOUqS7okHw1cqEoA==} + '@aws-sdk/client-ecs@3.651.1': + resolution: {integrity: sha512-uuFiA/sy9cBQmaWaAm1PYCm6Hr4/FqBTNbqcMDGhYLZAb5XLlp986PutkGGnpIiTOQ4krsk41HXkVXtOW0Dyeg==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-s3@3.649.0': - resolution: {integrity: sha512-eM65Q2rz/5mGkxOtUrceboe6iru5TEii3n3kfD48MPRVF6OF2x+Wyj1w+tuYIkUXemEi5lm5EEmupMTTkW3hlw==} + '@aws-sdk/client-s3@3.651.1': + resolution: {integrity: sha512-xNm+ixNRcotyrHgjUGGEyara6kCKgDdW2EVjHBZa5T+tbmtyqezwH3UzbSDZ6MlNoLhJMfR7ozuwYTIOARoBfA==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sso-oidc@3.649.0': - resolution: {integrity: sha512-yaKbOFLk1F1lqAAPUbpoN95pDxgqB/7Rd03yndtV+o3/QLK+etKcgzuIkqGpYycvi6YLYLCxkwPNFEg/NzpW6Q==} + '@aws-sdk/client-sso-oidc@3.651.1': + resolution: {integrity: sha512-PKwAyTJW8pgaPIXm708haIZWBAwNycs25yNcD7OQ3NLcmgGxvrx6bSlhPEGcvwdTYwQMJsdx8ls+khlYbLqTvQ==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.649.0 + '@aws-sdk/client-sts': ^3.651.1 - '@aws-sdk/client-sso@3.649.0': - resolution: {integrity: sha512-G6RZhG+yRdIlR069djAN/v4/Vd7CS8SDnUKkw32n7wJfcpoq0t+Lzcdh73kpIJ+/VslKYwMhbE5lCW+9+jDTdw==} + '@aws-sdk/client-sso@3.651.1': + resolution: {integrity: sha512-Fm8PoMgiBKmmKrY6QQUGj/WW6eIiQqC1I0AiVXfO+Sqkmxcg3qex+CZBAYrTuIDnvnc/89f9N4mdL8V9DRn03Q==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sts@3.649.0': - resolution: {integrity: sha512-aKrLTPpA+Ew4JswWBGtoYT+LiA+uewKyCsYXwJtdjj20TY4qX9/fjJyEt39ETjMGE55UmQcVFUZWL2m9f/aiAg==} + '@aws-sdk/client-sts@3.651.1': + resolution: {integrity: sha512-4X2RqLqeDuVLk+Omt4X+h+Fa978Wn+zek/AM4HSPi4C5XzRBEFLRRtOQUvkETvIjbEwTYQhm0LdgzcBH4bUqIg==} engines: {node: '>=16.0.0'} - '@aws-sdk/core@3.649.0': - resolution: {integrity: sha512-dheG/X2y25RHE7K+TlS32kcy7TgDg1OpWV44BQRoE0OBPAWmFR1D1qjjTZ7WWrdqRPKzcnDj1qED8ncyncOX8g==} + '@aws-sdk/core@3.651.1': + resolution: {integrity: sha512-eqOq3W39K+5QTP5GAXtmP2s9B7hhM2pVz8OPe5tqob8o1xQgkwdgHerf3FoshO9bs0LDxassU/fUSz1wlwqfqg==} engines: {node: '>=16.0.0'} '@aws-sdk/credential-provider-env@3.649.0': @@ -1107,22 +1165,22 @@ packages: resolution: {integrity: sha512-ODAJ+AJJq6ozbns6ejGbicpsQ0dyMOpnGlg0J9J0jITQ05DKQZ581hdB8APDOZ9N8FstShP6dLZflSj8jb5fNA==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-ini@3.649.0': - resolution: {integrity: sha512-2CcvYEi76gSXsCTb3izRfUpyDWmX+uGhjBckj3Lt6I2Jh+dxF9AEQAoMhvO7LM12Gx8v3w2JEC+GOZOVO4uq/A==} + '@aws-sdk/credential-provider-ini@3.651.1': + resolution: {integrity: sha512-yOzPC3GbwLZ8IYzke4fy70ievmunnBUni/MOXFE8c9kAIV+/RMC7IWx14nAAZm0gAcY+UtCXvBVZprFqmctfzA==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.649.0 + '@aws-sdk/client-sts': ^3.651.1 - '@aws-sdk/credential-provider-node@3.649.0': - resolution: {integrity: sha512-5g0HhP9DQ3SCvU6pm3yLZz5SUYSL5TP0UGluZN2OMEJG9ZL+tSZSgH21PcEQmpltP0UdS7vvuq++bHv7Bdo9qQ==} + '@aws-sdk/credential-provider-node@3.651.1': + resolution: {integrity: sha512-QKA74Qs83FTUz3jS39kBuNbLAnm6cgDqomm7XS/BkYgtUq+1lI9WL97astNIuoYvumGIS58kuIa+I3ycOA4wgw==} engines: {node: '>=16.0.0'} '@aws-sdk/credential-provider-process@3.649.0': resolution: {integrity: sha512-6VYPQpEVpU+6DDS/gLoI40ppuNM5RPIEprK30qZZxnhTr5wyrGOeJ7J7wbbwPOZ5dKwta290BiJDU2ipV8Y9BQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-sso@3.649.0': - resolution: {integrity: sha512-1Fh0Ov7LAVlrEpZfHwvslzyWhT+FyFA8RnN56pF3rwypm9s/WbINKEJiEcTYCBAvD4b27iSC0AJzzHdEgkdsxA==} + '@aws-sdk/credential-provider-sso@3.651.1': + resolution: {integrity: sha512-7jeU+Jbn65aDaNjkjWDQcXwjNTzpYNKovkSSRmfVpP5WYiKerVS5mrfg3RiBeiArou5igCUtYcOKlRJiGRO47g==} engines: {node: '>=16.0.0'} '@aws-sdk/credential-provider-web-identity@3.649.0': @@ -1139,8 +1197,8 @@ packages: resolution: {integrity: sha512-pW2id/mWNd+L0/hZKp5yL3J+8rTwsamu9E69Hc5pM3qTF4K4DTZZ+A0sQbY6duIvZvc8IbQHbSMulBOLyWNP3A==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-flexible-checksums@3.649.0': - resolution: {integrity: sha512-8mzMBEA+Tk6rbrS8iqnXX119C6z+Id84cuzvUc6dAiYcbnOVbus8M4XKKsAFzGGXHCRc2gMwYhKdnoVz2ijaFA==} + '@aws-sdk/middleware-flexible-checksums@3.651.1': + resolution: {integrity: sha512-cFlXSzhdRKU1vOFTIYC3HzkN7Dwwcf07rKU1sB/PrDy4ztLhGgAwvcRwj2AqErZB62C5AdN4l7peB1Iw/oSxRQ==} engines: {node: '>=16.0.0'} '@aws-sdk/middleware-host-header@3.649.0': @@ -1159,8 +1217,8 @@ packages: resolution: {integrity: sha512-IPnO4wlmaLRf6IYmJW2i8gJ2+UPXX0hDRv1it7Qf8DpBW+lGyF2rnoN7NrFX0WIxdGOlJF1RcOr/HjXb2QeXfQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-sdk-s3@3.649.0': - resolution: {integrity: sha512-3H8735xTAD7IxNdreT6qv2YRk4CGOGfz8ufZo5pROJYZ4N5rfcdDMvb8szMSLvQHegqS4v1DqO9nrOPgc0I2Qg==} + '@aws-sdk/middleware-sdk-s3@3.651.1': + resolution: {integrity: sha512-4BameU35aBSzrm3L/Iphc6vFLRhz6sBwgQf09mqPA2ZlX/YFqVe8HbS8wM4DG02W8A2MRTnHXRIfFoOrErp2sw==} engines: {node: '>=16.0.0'} '@aws-sdk/middleware-ssec@3.649.0': @@ -1175,12 +1233,12 @@ packages: resolution: {integrity: sha512-xURBvdQXvRvca5Du8IlC5FyCj3pkw8Z75+373J3Wb+vyg8GjD14HfKk1Je1HCCQDyIE9VB/scYDcm9ri0ppePw==} engines: {node: '>=16.0.0'} - '@aws-sdk/s3-request-presigner@3.649.0': - resolution: {integrity: sha512-yZypMRaJ35ES6xfx/JY2rGK40A7cCj4dGjCLnEKCAQZKXSL/vojvKB5QCmKVKfiHRLxy0hkEUfvrS2oyrrkcmg==} + '@aws-sdk/s3-request-presigner@3.651.1': + resolution: {integrity: sha512-PNoZkSDjvZs/ekm79jJzZMBp+3oCG74/6K/SPKKyUWiFMfrYIsnQD2y/V75n9s/2Vxie08Bgf2jroX41uQAFAw==} engines: {node: '>=16.0.0'} - '@aws-sdk/signature-v4-multi-region@3.649.0': - resolution: {integrity: sha512-feJfSHtCarFmTMZSE5k7/A+m4FrdCrmotljc/AmXArWy3wl8XFyxE5tFVW/PiUgbgeoVDN+ZLt3YYtItHfNUWQ==} + '@aws-sdk/signature-v4-multi-region@3.651.1': + resolution: {integrity: sha512-aLPCMq4c/A9DmdZLhufWOgfHN2Vgft65dB2tfbATjs6kZjusSaDFxWzjmWX3y8i2ZQ+vU0nAkkWIHFJdf+47fA==} engines: {node: '>=16.0.0'} '@aws-sdk/token-providers@3.649.0': @@ -2040,8 +2098,8 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.0': - resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} + '@eslint-community/regexpp@4.11.1': + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/eslintrc@2.1.4': @@ -2056,20 +2114,20 @@ packages: resolution: {integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'} - '@floating-ui/core@1.6.7': - resolution: {integrity: sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==} + '@floating-ui/core@1.6.8': + resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} - '@floating-ui/dom@1.6.10': - resolution: {integrity: sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==} + '@floating-ui/dom@1.6.11': + resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==} - '@floating-ui/react-dom@2.1.1': - resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} + '@floating-ui/react-dom@2.1.2': + resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/utils@0.2.7': - resolution: {integrity: sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==} + '@floating-ui/utils@0.2.8': + resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} '@grpc/grpc-js@1.11.2': resolution: {integrity: sha512-DWp92gDD7/Qkj7r8kus6/HCINeo3yPZWZ3paKgDgsbKbSpoxKg1yvN8xe2Q8uE3zOsPe3bX8FQX2+XValq2yTw==} @@ -2289,9 +2347,6 @@ packages: peerDependencies: drizzle-orm: '>= 0.29 <1' lucia: 3.x - peerDependenciesMeta: - drizzle-orm: - optional: true '@lukeed/ms@2.0.2': resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} @@ -2345,8 +2400,8 @@ packages: cpu: [x64] os: [win32] - '@mswjs/interceptors@0.35.1': - resolution: {integrity: sha512-nMuUaMCtg8oKSTHwAnsoGRN6c1RZXNm6+ebEoe9SBGALVlBIzniZoSuC/itNCLOt51YEEYsF0svB/sOzYhqLPA==} + '@mswjs/interceptors@0.35.5': + resolution: {integrity: sha512-xm4Ascrnx+GMHVnSx0OBfJrBuR3mW8m5jygEgGa4r1FgJPQfdkDvxHa6NiTibUhCDa0YNQnZAP6Qn2LwO5Ljhw==} engines: {node: '>=18'} '@next/env@14.2.3': @@ -2355,8 +2410,8 @@ packages: '@next/env@14.3.0-canary.87': resolution: {integrity: sha512-Bk3/oAQfnohIKzWdTJubBNbSw0xmmJxBJFndGmbWMZdY97GF4PjeFmMpuy1XZUqfq7HL2N1jYdRdPFqYXlHFAg==} - '@next/eslint-plugin-next@14.2.9': - resolution: {integrity: sha512-tmLXuDNfPTqoFuSfsd9Q4R96SS/UCKTPtBnnR+cKDcbh8xZU+126vZnRWH1WEpOmS4Vl2Hy/X6SPmgOGZzn+hA==} + '@next/eslint-plugin-next@14.2.11': + resolution: {integrity: sha512-7mw+xW7Y03Ph4NTCcAzYe+vu4BNjEHZUfZayyF3Y1D9RX6c5NIe25m1grHEAkyUuaqjRxOYhnCNeglOkIqLkBA==} '@next/swc-darwin-arm64@14.2.3': resolution: {integrity: sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==} @@ -2960,8 +3015,8 @@ packages: '@plunk/node@3.0.2': resolution: {integrity: sha512-6sn8Iog59dVi9vhPWNoWRGHwb29WS2ZRTgIMsMHpVLX9ksQi5XbhJ3rmd71J9gNocYCllz92Tb7fHIZqN08RqQ==} - '@poppinss/utils@6.7.3': - resolution: {integrity: sha512-zQnhVG4Q+n6+V1vrL/TF1Oy8ZcVVGUs49Sj5OBgoari/q42UiG/rht1DRvoeWd9bT1BBDwxO2vcfxj6C0u/Dgg==} + '@poppinss/utils@6.8.1': + resolution: {integrity: sha512-iVom/rkK2N2fPjkhAOrgNb7HnPxxoMOL1NGmQwfg7UARAQJ9PRX0zkboUcNaAsuyrtswMuSnhVVZBB84fCDVVQ==} engines: {node: '>=18.16.0'} '@prisma/instrumentation@5.19.1': @@ -2997,8 +3052,8 @@ packages: '@protobufjs/utf8@1.1.0': resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - '@pulumi/aws@6.51.0': - resolution: {integrity: sha512-t2aduFqp8CVZ5axGbBGwKZUjMb8y3YC1iVLgaW5wh/eHW2AYEgz9u+weqkte5c43v16QIfV15bXBy6j/fkVQOg==} + '@pulumi/aws@6.51.1': + resolution: {integrity: sha512-rsOcRkt5/yDUs8e1QohowNEwM1OHf0eRyD/vp2n0w6TBoKZUzPpIwPic8LF3ysWfa2GmB2ylxQ+lSQ5813Ut0w==} '@pulumi/awsx@2.14.0': resolution: {integrity: sha512-vAv4qKT1vvFYDERR+IxjXiSikz20E8fRsWEg1xg5Hc7W9Go2WjsAXx9EgNtZrXr/dCNtHk3lQgOVdNmhrPnfCw==} @@ -3009,8 +3064,8 @@ packages: '@pulumi/docker@4.5.5': resolution: {integrity: sha512-+5u0A3H3PTkxGfVuvDafbdyyYT8xLzLJnKdKc2jFEpphwKlXF+lc4YhjsDLBp1cc/5JPfE4hujOxGAxwt/5BUQ==} - '@pulumi/pulumi@3.131.0': - resolution: {integrity: sha512-QNtQeav3dkU0mRdMe2TVvkBmIGkBevVvbD7/bt0fJlGoX/onzv5tysqi1GWCkXsq0FKtBtGYNpVD6wH0cqMN6g==} + '@pulumi/pulumi@3.132.0': + resolution: {integrity: sha512-ntsEo17gALvRdkfKMFrf7EEWrfPHPuRHG/96ziVSItYHofwMLtMk2f7BoRqOSYq3B08wHRkz6J15IUrT9l9wuQ==} engines: {node: '>=18'} peerDependencies: ts-node: '>= 7.0.1 < 12' @@ -3580,83 +3635,83 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.21.2': - resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} + '@rollup/rollup-android-arm-eabi@4.21.3': + resolution: {integrity: sha512-MmKSfaB9GX+zXl6E8z4koOr/xU63AMVleLEa64v7R0QF/ZloMs5vcD1sHgM64GXXS1csaJutG+ddtzcueI/BLg==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.21.2': - resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==} + '@rollup/rollup-android-arm64@4.21.3': + resolution: {integrity: sha512-zrt8ecH07PE3sB4jPOggweBjJMzI1JG5xI2DIsUbkA+7K+Gkjys6eV7i9pOenNSDJH3eOr/jLb/PzqtmdwDq5g==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.21.2': - resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==} + '@rollup/rollup-darwin-arm64@4.21.3': + resolution: {integrity: sha512-P0UxIOrKNBFTQaXTxOH4RxuEBVCgEA5UTNV6Yz7z9QHnUJ7eLX9reOd/NYMO3+XZO2cco19mXTxDMXxit4R/eQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.21.2': - resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==} + '@rollup/rollup-darwin-x64@4.21.3': + resolution: {integrity: sha512-L1M0vKGO5ASKntqtsFEjTq/fD91vAqnzeaF6sfNAy55aD+Hi2pBI5DKwCO+UNDQHWsDViJLqshxOahXyLSh3EA==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.21.2': - resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} + '@rollup/rollup-linux-arm-gnueabihf@4.21.3': + resolution: {integrity: sha512-btVgIsCjuYFKUjopPoWiDqmoUXQDiW2A4C3Mtmp5vACm7/GnyuprqIDPNczeyR5W8rTXEbkmrJux7cJmD99D2g==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.21.2': - resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==} + '@rollup/rollup-linux-arm-musleabihf@4.21.3': + resolution: {integrity: sha512-zmjbSphplZlau6ZTkxd3+NMtE4UKVy7U4aVFMmHcgO5CUbw17ZP6QCgyxhzGaU/wFFdTfiojjbLG3/0p9HhAqA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.21.2': - resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} + '@rollup/rollup-linux-arm64-gnu@4.21.3': + resolution: {integrity: sha512-nSZfcZtAnQPRZmUkUQwZq2OjQciR6tEoJaZVFvLHsj0MF6QhNMg0fQ6mUOsiCUpTqxTx0/O6gX0V/nYc7LrgPw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.21.2': - resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} + '@rollup/rollup-linux-arm64-musl@4.21.3': + resolution: {integrity: sha512-MnvSPGO8KJXIMGlQDYfvYS3IosFN2rKsvxRpPO2l2cum+Z3exiExLwVU+GExL96pn8IP+GdH8Tz70EpBhO0sIQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': - resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} + '@rollup/rollup-linux-powerpc64le-gnu@4.21.3': + resolution: {integrity: sha512-+W+p/9QNDr2vE2AXU0qIy0qQE75E8RTwTwgqS2G5CRQ11vzq0tbnfBd6brWhS9bCRjAjepJe2fvvkvS3dno+iw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.21.2': - resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} + '@rollup/rollup-linux-riscv64-gnu@4.21.3': + resolution: {integrity: sha512-yXH6K6KfqGXaxHrtr+Uoy+JpNlUlI46BKVyonGiaD74ravdnF9BUNC+vV+SIuB96hUMGShhKV693rF9QDfO6nQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.21.2': - resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} + '@rollup/rollup-linux-s390x-gnu@4.21.3': + resolution: {integrity: sha512-R8cwY9wcnApN/KDYWTH4gV/ypvy9yZUHlbJvfaiXSB48JO3KpwSpjOGqO4jnGkLDSk1hgjYkTbTt6Q7uvPf8eg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.21.2': - resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} + '@rollup/rollup-linux-x64-gnu@4.21.3': + resolution: {integrity: sha512-kZPbX/NOPh0vhS5sI+dR8L1bU2cSO9FgxwM8r7wHzGydzfSjLRCFAT87GR5U9scj2rhzN3JPYVC7NoBbl4FZ0g==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.21.2': - resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} + '@rollup/rollup-linux-x64-musl@4.21.3': + resolution: {integrity: sha512-S0Yq+xA1VEH66uiMNhijsWAafffydd2X5b77eLHfRmfLsRSpbiAWiRHV6DEpz6aOToPsgid7TI9rGd6zB1rhbg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.21.2': - resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} + '@rollup/rollup-win32-arm64-msvc@4.21.3': + resolution: {integrity: sha512-9isNzeL34yquCPyerog+IMCNxKR8XYmGd0tHSV+OVx0TmE0aJOo9uw4fZfUuk2qxobP5sug6vNdZR6u7Mw7Q+Q==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.21.2': - resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==} + '@rollup/rollup-win32-ia32-msvc@4.21.3': + resolution: {integrity: sha512-nMIdKnfZfzn1Vsk+RuOvl43ONTZXoAPUUxgcU0tXooqg4YrAqzfKzVenqqk2g5efWh46/D28cKFrOzDSW28gTA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.21.2': - resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==} + '@rollup/rollup-win32-x64-msvc@4.21.3': + resolution: {integrity: sha512-fOvu7PCQjAj4eWDEuD8Xz5gpzFqXzGlxHZozHP4b9Jxv9APtdxL6STqztDzMLuRXEc4UpXGGhx029Xgm91QBeA==} cpu: [x64] os: [win32] @@ -3834,8 +3889,8 @@ packages: resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==} engines: {node: '>=12'} - '@smithy/abort-controller@3.1.2': - resolution: {integrity: sha512-b5g+PNujlfqIib9BjkNB108NyO5aZM/RXjfOCXRCqXQ1oPnIkfvdORrztbGgCZdPe/BN/MKDlrGA7PafKPM2jw==} + '@smithy/abort-controller@3.1.4': + resolution: {integrity: sha512-VupaALAQlXViW3/enTf/f5l5JZYSAxoJL7f0nanhNNKnww6DGCg1oYIuNP78KDugnkwthBO6iEcym16HhWV8RQ==} engines: {node: '>=16.0.0'} '@smithy/chunked-blob-reader-native@3.0.0': @@ -3844,53 +3899,53 @@ packages: '@smithy/chunked-blob-reader@3.0.0': resolution: {integrity: sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA==} - '@smithy/config-resolver@3.0.6': - resolution: {integrity: sha512-j7HuVNoRd8EhcFp0MzcUb4fG40C7BcyshH+fAd3Jhd8bINNFvEQYBrZoS/SK6Pun9WPlfoI8uuU2SMz8DsEGlA==} + '@smithy/config-resolver@3.0.8': + resolution: {integrity: sha512-Tv1obAC18XOd2OnDAjSWmmthzx6Pdeh63FbLin8MlPiuJ2ATpKkq0NcNOJFr0dO+JmZXnwu8FQxKJ3TKJ3Hulw==} engines: {node: '>=16.0.0'} - '@smithy/core@2.4.1': - resolution: {integrity: sha512-7cts7/Oni7aCHebHGiBeWoz5z+vmH+Vx2Z/UW3XtXMslcxI3PEwBZxNinepwZjixS3n12fPc247PHWmjU7ndsQ==} + '@smithy/core@2.4.3': + resolution: {integrity: sha512-4LTusLqFMRVQUfC3RNuTg6IzYTeJNpydRdTKq7J5wdEyIRQSu3rGIa3s80mgG2hhe6WOZl9IqTSo1pgbn6EHhA==} engines: {node: '>=16.0.0'} - '@smithy/credential-provider-imds@3.2.1': - resolution: {integrity: sha512-4z/oTWpRF2TqQI3aCM89/PWu3kim58XU4kOCTtuTJnoaS4KT95cPWMxbQfTN2vzcOe96SOKO8QouQW/+ESB1fQ==} + '@smithy/credential-provider-imds@3.2.3': + resolution: {integrity: sha512-VoxMzSzdvkkjMJNE38yQgx4CfnmT+Z+5EUXkg4x7yag93eQkVQgZvN3XBSHC/ylfBbLbAtdu7flTCChX9I+mVg==} engines: {node: '>=16.0.0'} - '@smithy/eventstream-codec@3.1.3': - resolution: {integrity: sha512-mKBrmhg6Zd3j07G9dkKTGmrU7pdJGTNz8LbZtIOR3QoodS5yDNqEqoXU4Eg38snZcnCAh7NPBsw5ndxtJPLiCg==} + '@smithy/eventstream-codec@3.1.5': + resolution: {integrity: sha512-6pu+PT2r+5ZnWEV3vLV1DzyrpJ0TmehQlniIDCSpZg6+Ji2SfOI38EqUyQ+O8lotVElCrfVc9chKtSMe9cmCZQ==} - '@smithy/eventstream-serde-browser@3.0.7': - resolution: {integrity: sha512-UC4RQqyM8B0g5cX/xmWtsNgSBmZ13HrzCqoe5Ulcz6R462/egbIdfTXnayik7jkjvwOrCPL1N11Q9S+n68jPLA==} + '@smithy/eventstream-serde-browser@3.0.9': + resolution: {integrity: sha512-PiQLo6OQmZAotJweIcObL1H44gkvuJACKMNqpBBe5Rf2Ax1DOcGi/28+feZI7yTe1ERHlQQaGnm8sSkyDUgsMg==} engines: {node: '>=16.0.0'} - '@smithy/eventstream-serde-config-resolver@3.0.4': - resolution: {integrity: sha512-saIs5rtAMpifqL7u7nc5YeE/6gkenzXpSz5NwEyhIesRWtHK+zEuYn9KY8SArZEbPSHyGxvvgKk1z86VzfUGHw==} + '@smithy/eventstream-serde-config-resolver@3.0.6': + resolution: {integrity: sha512-iew15It+c7WfnVowWkt2a7cdPp533LFJnpjDQgfZQcxv2QiOcyEcea31mnrk5PVbgo0nNH3VbYGq7myw2q/F6A==} engines: {node: '>=16.0.0'} - '@smithy/eventstream-serde-node@3.0.6': - resolution: {integrity: sha512-gRKGBdZah3EjZZgWcsTpShq4cZ4Q4JTTe1OPob+jrftmbYj6CvpeydZbH0roO5SvBG8SI3aBZIet9TGN3zUxUw==} + '@smithy/eventstream-serde-node@3.0.8': + resolution: {integrity: sha512-6m+wI+fT0na+6oao6UqALVA38fsScCpoG5UO/A8ZSyGLnPM2i4MS1cFUhpuALgvLMxfYoTCh7qSeJa0aG4IWpQ==} engines: {node: '>=16.0.0'} - '@smithy/eventstream-serde-universal@3.0.6': - resolution: {integrity: sha512-1jvXd4sFG+zKaL6WqrJXpL6E+oAMafuM5GPd4qF0+ccenZTX3DZugoCCjlooQyTh+TZho2FpdVYUf5J/bB/j6Q==} + '@smithy/eventstream-serde-universal@3.0.8': + resolution: {integrity: sha512-09tqzIQ6e+7jLqGvRji1yJoDbL/zob0OFhq75edgStWErGLf16+yI5hRc/o9/YAybOhUZs/swpW2SPn892G5Gg==} engines: {node: '>=16.0.0'} - '@smithy/fetch-http-handler@3.2.5': - resolution: {integrity: sha512-DjRtGmK8pKQMIo9+JlAKUt14Z448bg8nAN04yKIvlrrpmpRSG57s5d2Y83npks1r4gPtTRNbAFdQCoj9l3P2KQ==} + '@smithy/fetch-http-handler@3.2.7': + resolution: {integrity: sha512-Ra6IPI1spYLO+t62/3jQbodjOwAbto9wlpJdHZwkycm0Kit+GVpzHW/NMmSgY4rK1bjJ4qLAmCnaBzePO5Nkkg==} - '@smithy/hash-blob-browser@3.1.3': - resolution: {integrity: sha512-im9wAU9mANWW0OP0YGqwX3lw0nXG0ngyIcKQ8V/MUz1r7A6uO2lpPqKmAsH4VPGNLP2JPUhj4aW/m5UKkxX/IA==} + '@smithy/hash-blob-browser@3.1.5': + resolution: {integrity: sha512-Vi3eoNCmao4iKglS80ktYnBOIqZhjbDDwa1IIbF/VaJ8PsHnZTQ5wSicicPrU7nTI4JPFn92/txzWkh4GlK18Q==} - '@smithy/hash-node@3.0.4': - resolution: {integrity: sha512-6FgTVqEfCr9z/7+Em8BwSkJKA2y3krf1em134x3yr2NHWVCo2KYI8tcA53cjeO47y41jwF84ntsEE0Pe6pNKlg==} + '@smithy/hash-node@3.0.6': + resolution: {integrity: sha512-c/FHEdKK/7DU2z6ZE91L36ahyXWayR3B+FzELjnYq7wH5YqIseM24V+pWCS9kFn1Ln8OFGTf+pyYPiHZuX0s/Q==} engines: {node: '>=16.0.0'} - '@smithy/hash-stream-node@3.1.3': - resolution: {integrity: sha512-Tz/eTlo1ffqYn+19VaMjDDbmEWqYe4DW1PAWaS8HvgRdO6/k9hxNPt8Wv5laXoilxE20YzKugiHvxHyO6J7kGA==} + '@smithy/hash-stream-node@3.1.5': + resolution: {integrity: sha512-61CyFCzqN3VBfcnGX7mof/rkzLb8oHjm4Lr6ZwBIRpBssBb8d09ChrZAqinP2rUrA915BRNkq9NpJz18N7+3hQ==} engines: {node: '>=16.0.0'} - '@smithy/invalid-dependency@3.0.4': - resolution: {integrity: sha512-MJBUrojC4SEXi9aJcnNOE3oNAuYNphgCGFXscaCj2TA/59BTcXhzHACP8jnnEU3n4yir/NSLKzxqez0T4x4tjA==} + '@smithy/invalid-dependency@3.0.6': + resolution: {integrity: sha512-czM7Ioq3s8pIXht7oD+vmgy4Wfb4XavU/k/irO8NdXFFOx7YAlsCCcKOh/lJD1mJSYQqiR7NmpZ9JviryD/7AQ==} '@smithy/is-array-buffer@2.2.0': resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} @@ -3900,75 +3955,75 @@ packages: resolution: {integrity: sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==} engines: {node: '>=16.0.0'} - '@smithy/md5-js@3.0.4': - resolution: {integrity: sha512-qSlqr/+hybufIJgxQW2gYzGE6ywfOxkjjJVojbbmv4MtxfdDFfzRew+NOIOXcYgazW0f8OYBTIKsmNsjxpvnng==} + '@smithy/md5-js@3.0.6': + resolution: {integrity: sha512-Ze690T8O3M5SVbb70WormwrKzVf9QQRtIuxtJDgpUQDkmt+PtdYDetBbyCbF9ryupxLw6tgzWKgwffAShhVIXQ==} - '@smithy/middleware-content-length@3.0.6': - resolution: {integrity: sha512-AFyHCfe8rumkJkz+hCOVJmBagNBj05KypyDwDElA4TgMSA4eYDZRjVePFZuyABrJZFDc7uVj3dpFIDCEhf59SA==} + '@smithy/middleware-content-length@3.0.8': + resolution: {integrity: sha512-VuyszlSO49WKh3H9/kIO2kf07VUwGV80QRiaDxUfP8P8UKlokz381ETJvwLhwuypBYhLymCYyNhB3fLAGBX2og==} engines: {node: '>=16.0.0'} - '@smithy/middleware-endpoint@3.1.1': - resolution: {integrity: sha512-Irv+soW8NKluAtFSEsF8O3iGyLxa5oOevJb/e1yNacV9H7JP/yHyJuKST5YY2ORS1+W34VR8EuUrOF+K29Pl4g==} + '@smithy/middleware-endpoint@3.1.3': + resolution: {integrity: sha512-KeM/OrK8MVFUsoJsmCN0MZMVPjKKLudn13xpgwIMpGTYpA8QZB2Xq5tJ+RE6iu3A6NhOI4VajDTwBsm8pwwrhg==} engines: {node: '>=16.0.0'} - '@smithy/middleware-retry@3.0.16': - resolution: {integrity: sha512-08kI36p1yB4CWO3Qi+UQxjzobt8iQJpnruF0K5BkbZmA/N/sJ51A1JJGJ36GgcbFyPfWw2FU48S5ZoqXt0h0jw==} + '@smithy/middleware-retry@3.0.18': + resolution: {integrity: sha512-YU1o/vYob6vlqZdd97MN8cSXRToknLXhFBL3r+c9CZcnxkO/rgNZ++CfgX2vsmnEKvlqdi26+SRtSzlVp5z6Mg==} engines: {node: '>=16.0.0'} - '@smithy/middleware-serde@3.0.4': - resolution: {integrity: sha512-1lPDB2O6IJ50Ucxgn7XrvZXbbuI48HmPCcMTuSoXT1lDzuTUfIuBjgAjpD8YLVMfnrjdepi/q45556LA51Pubw==} + '@smithy/middleware-serde@3.0.6': + resolution: {integrity: sha512-KKTUSl1MzOM0MAjGbudeaVNtIDo+PpekTBkCNwvfZlKndodrnvRo+00USatiyLOc0ujjO9UydMRu3O9dYML7ag==} engines: {node: '>=16.0.0'} - '@smithy/middleware-stack@3.0.4': - resolution: {integrity: sha512-sLMRjtMCqtVcrOqaOZ10SUnlFE25BSlmLsi4bRSGFD7dgR54eqBjfqkVkPBQyrKBortfGM0+2DJoUPcGECR+nQ==} + '@smithy/middleware-stack@3.0.6': + resolution: {integrity: sha512-2c0eSYhTQ8xQqHMcRxLMpadFbTXg6Zla5l0mwNftFCZMQmuhI7EbAJMx6R5eqfuV3YbJ3QGyS3d5uSmrHV8Khg==} engines: {node: '>=16.0.0'} - '@smithy/node-config-provider@3.1.5': - resolution: {integrity: sha512-dq/oR3/LxgCgizVk7in7FGTm0w9a3qM4mg3IIXLTCHeW3fV+ipssSvBZ2bvEx1+asfQJTyCnVLeYf7JKfd9v3Q==} + '@smithy/node-config-provider@3.1.7': + resolution: {integrity: sha512-g3mfnC3Oo8pOI0dYuPXLtdW1WGVb3bR2tkV21GNkm0ZvQjLTtamXAwCWt/FCb0HGvKt3gHHmF1XerG0ICfalOg==} engines: {node: '>=16.0.0'} - '@smithy/node-http-handler@3.2.0': - resolution: {integrity: sha512-5TFqaABbiY7uJMKbqR4OARjwI/l4TRoysDJ75pLpVQyO3EcmeloKYwDGyCtgB9WJniFx3BMkmGCB9+j+QiB+Ww==} + '@smithy/node-http-handler@3.2.2': + resolution: {integrity: sha512-42Cy4/oT2O+00aiG1iQ7Kd7rE6q8j7vI0gFfnMlUiATvyo8vefJkhb7O10qZY0jAqo5WZdUzfl9IV6wQ3iMBCg==} engines: {node: '>=16.0.0'} - '@smithy/property-provider@3.1.4': - resolution: {integrity: sha512-BmhefQbfkSl9DeU0/e6k9N4sT5bya5etv2epvqLUz3eGyfRBhtQq60nDkc1WPp4c+KWrzK721cUc/3y0f2psPQ==} + '@smithy/property-provider@3.1.6': + resolution: {integrity: sha512-NK3y/T7Q/Bw+Z8vsVs9MYIQ5v7gOX7clyrXcwhhIBQhbPgRl6JDrZbusO9qWDhcEus75Tg+VCxtIRfo3H76fpw==} engines: {node: '>=16.0.0'} - '@smithy/protocol-http@4.1.1': - resolution: {integrity: sha512-Fm5+8LkeIus83Y8jTL1XHsBGP8sPvE1rEVyKf/87kbOPTbzEDMcgOlzcmYXat2h+nC3wwPtRy8hFqtJS71+Wow==} + '@smithy/protocol-http@4.1.3': + resolution: {integrity: sha512-GcbMmOYpH9iRqtC05RbRnc/0FssxSTHlmaNhYBTgSgNCYpdR3Kt88u5GAZTBmouzv+Zlj/VRv92J9ruuDeJuEw==} engines: {node: '>=16.0.0'} - '@smithy/querystring-builder@3.0.4': - resolution: {integrity: sha512-NEoPAsZPdpfVbF98qm8i5k1XMaRKeEnO47CaL5ja6Y1Z2DgJdwIJuJkTJypKm/IKfp8gc0uimIFLwhml8+/pAw==} + '@smithy/querystring-builder@3.0.6': + resolution: {integrity: sha512-sQe08RunoObe+Usujn9+R2zrLuQERi3CWvRO3BvnoWSYUaIrLKuAIeY7cMeDax6xGyfIP3x/yFWbEKSXvOnvVg==} engines: {node: '>=16.0.0'} - '@smithy/querystring-parser@3.0.4': - resolution: {integrity: sha512-7CHPXffFcakFzhO0OZs/rn6fXlTHrSDdLhIT6/JIk1u2bvwguTL3fMCc1+CfcbXA7TOhjWXu3TcB1EGMqJQwHg==} + '@smithy/querystring-parser@3.0.6': + resolution: {integrity: sha512-UJKw4LlEkytzz2Wq+uIdHf6qOtFfee/o7ruH0jF5I6UAuU+19r9QV7nU3P/uI0l6+oElRHmG/5cBBcGJrD7Ozg==} engines: {node: '>=16.0.0'} - '@smithy/service-error-classification@3.0.4': - resolution: {integrity: sha512-KciDHHKFVTb9A1KlJHBt2F26PBaDtoE23uTZy5qRvPzHPqrooXFi6fmx98lJb3Jl38PuUTqIuCUmmY3pacuMBQ==} + '@smithy/service-error-classification@3.0.6': + resolution: {integrity: sha512-53SpchU3+DUZrN7J6sBx9tBiCVGzsib2e4sc512Q7K9fpC5zkJKs6Z9s+qbMxSYrkEkle6hnMtrts7XNkMJJMg==} engines: {node: '>=16.0.0'} - '@smithy/shared-ini-file-loader@3.1.5': - resolution: {integrity: sha512-6jxsJ4NOmY5Du4FD0enYegNJl4zTSuKLiChIMqIkh+LapxiP7lmz5lYUNLE9/4cvA65mbBmtdzZ8yxmcqM5igg==} + '@smithy/shared-ini-file-loader@3.1.7': + resolution: {integrity: sha512-IA4K2qTJYXkF5OfVN4vsY1hfnUZjaslEE8Fsr/gGFza4TAC2A9NfnZuSY2srQIbt9bwtjHiAayrRVgKse4Q7fA==} engines: {node: '>=16.0.0'} - '@smithy/signature-v4@4.1.1': - resolution: {integrity: sha512-SH9J9be81TMBNGCmjhrgMWu4YSpQ3uP1L06u/K9SDrE2YibUix1qxedPCxEQu02At0P0SrYDjvz+y91vLG0KRQ==} + '@smithy/signature-v4@4.1.3': + resolution: {integrity: sha512-YD2KYSCEEeFHcWZ1E3mLdAaHl8T/TANh6XwmocQ6nPcTdBfh4N5fusgnblnWDlnlU1/cUqEq3PiGi22GmT2Lkg==} engines: {node: '>=16.0.0'} - '@smithy/smithy-client@3.3.0': - resolution: {integrity: sha512-H32nVo8tIX82kB0xI2LBrIcj8jx/3/ITotNLbeG1UL0b3b440YPR/hUvqjFJiaB24pQrMjRbU8CugqH5sV0hkw==} + '@smithy/smithy-client@3.3.2': + resolution: {integrity: sha512-RKDfhF2MTwXl7jan5d7QfS9eCC6XJbO3H+EZAvLQN8A5in4ib2Ml4zoeLo57w9QrqFekBPcsoC2hW3Ekw4vQ9Q==} engines: {node: '>=16.0.0'} - '@smithy/types@3.4.0': - resolution: {integrity: sha512-0shOWSg/pnFXPcsSU8ZbaJ4JBHZJPPzLCJxafJvbMVFo9l1w81CqpgUqjlKGNHVrVB7fhIs+WS82JDTyzaLyLA==} + '@smithy/types@3.4.2': + resolution: {integrity: sha512-tHiFcfcVedVBHpmHUEUHOCCih8iZbIAYn9NvPsNzaPm/237I3imdDdZoOC8c87H5HBAVEa06tTgb+OcSWV9g5w==} engines: {node: '>=16.0.0'} - '@smithy/url-parser@3.0.4': - resolution: {integrity: sha512-XdXfObA8WrloavJYtDuzoDhJAYc5rOt+FirFmKBRKaihu7QtU/METAxJgSo7uMK6hUkx0vFnqxV75urtRaLkLg==} + '@smithy/url-parser@3.0.6': + resolution: {integrity: sha512-47Op/NU8Opt49KyGpHtVdnmmJMsp2hEwBdyjuFB9M2V5QVOwA7pBhhxKN5z6ztKGrMw76gd8MlbPuzzvaAncuQ==} '@smithy/util-base64@3.0.0': resolution: {integrity: sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==} @@ -3993,32 +4048,32 @@ packages: resolution: {integrity: sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==} engines: {node: '>=16.0.0'} - '@smithy/util-defaults-mode-browser@3.0.16': - resolution: {integrity: sha512-Os8ddfNBe7hmc5UMWZxygIHCyAqY0aWR8Wnp/aKbti3f8Df/r0J9ttMZIxeMjsFgtVjEryB0q7SGcwBsHk8WEw==} + '@smithy/util-defaults-mode-browser@3.0.18': + resolution: {integrity: sha512-/eveCzU6Z6Yw8dlYQLA4rcK30XY0E4L3lD3QFHm59mzDaWYelrXE1rlynuT3J6qxv+5yNy3a1JuzhG5hk5hcmw==} engines: {node: '>= 10.0.0'} - '@smithy/util-defaults-mode-node@3.0.16': - resolution: {integrity: sha512-rNhFIYRtrOrrhRlj6RL8jWA6/dcwrbGYAmy8+OAHjjzQ6zdzUBB1P+3IuJAgwWN6Y5GxI+mVXlM/pOjaoIgHow==} + '@smithy/util-defaults-mode-node@3.0.18': + resolution: {integrity: sha512-9cfzRjArtOFPlTYRREJk00suUxVXTgbrzVncOyMRTUeMKnecG/YentLF3cORa+R6mUOMSrMSnT18jos1PKqK6Q==} engines: {node: '>= 10.0.0'} - '@smithy/util-endpoints@2.1.0': - resolution: {integrity: sha512-ilS7/0jcbS2ELdg0fM/4GVvOiuk8/U3bIFXUW25xE1Vh1Ol4DP6vVHQKqM40rCMizCLmJ9UxK+NeJrKlhI3HVA==} + '@smithy/util-endpoints@2.1.2': + resolution: {integrity: sha512-FEISzffb4H8DLzGq1g4MuDpcv6CIG15fXoQzDH9SjpRJv6h7J++1STFWWinilG0tQh9H1v2UKWG19Jjr2B16zQ==} engines: {node: '>=16.0.0'} '@smithy/util-hex-encoding@3.0.0': resolution: {integrity: sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==} engines: {node: '>=16.0.0'} - '@smithy/util-middleware@3.0.4': - resolution: {integrity: sha512-uSXHTBhstb1c4nHdmQEdkNMv9LiRNaJ/lWV2U/GO+5F236YFpdPw+hyWI9Zc0Rp9XKzwD9kVZvhZmEgp0UCVnA==} + '@smithy/util-middleware@3.0.6': + resolution: {integrity: sha512-BxbX4aBhI1O9p87/xM+zWy0GzT3CEVcXFPBRDoHAM+pV0eSW156pR+PSYEz0DQHDMYDsYAflC2bQNz2uaDBUZQ==} engines: {node: '>=16.0.0'} - '@smithy/util-retry@3.0.4': - resolution: {integrity: sha512-JJr6g0tO1qO2tCQyK+n3J18r34ZpvatlFN5ULcLranFIBZPxqoivb77EPyNTVwTGMEvvq2qMnyjm4jMIxjdLFg==} + '@smithy/util-retry@3.0.6': + resolution: {integrity: sha512-BRZiuF7IwDntAbevqMco67an0Sr9oLQJqqRCsSPZZHYRnehS0LHDAkJk/pSmI7Z8c/1Vet294H7fY2fWUgB+Rg==} engines: {node: '>=16.0.0'} - '@smithy/util-stream@3.1.4': - resolution: {integrity: sha512-txU3EIDLhrBZdGfon6E9V6sZz/irYnKFMblz4TLVjyq8hObNHNS2n9a2t7GIrl7d85zgEPhwLE0gANpZsvpsKg==} + '@smithy/util-stream@3.1.6': + resolution: {integrity: sha512-lQEUfTx1ht5CRdvIjdAN/gUL6vQt2wSARGGLaBHNe+iJSkRHlWzY+DOn0mFTmTgyU3jcI5n9DkT5gTzYuSOo6A==} engines: {node: '>=16.0.0'} '@smithy/util-uri-escape@3.0.0': @@ -4033,8 +4088,8 @@ packages: resolution: {integrity: sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==} engines: {node: '>=16.0.0'} - '@smithy/util-waiter@3.1.3': - resolution: {integrity: sha512-OU0YllH51/CxD8iyr3UHSMwYqTGTyuxFdCMH/0F978t+iDmJseC/ttrWPb22zmYkhkrjqtipzC1xaMuax5QKIA==} + '@smithy/util-waiter@3.1.5': + resolution: {integrity: sha512-jYOSvM3H6sZe3CHjzD2VQNCjWBJs+4DbtwBMvUp9y5EnnwNa7NQxTeYeQw0CKCAdGGZ3QvVkyJmvbvs5M/B10A==} engines: {node: '>=16.0.0'} '@socket.io/component-emitter@3.1.2': @@ -4159,6 +4214,9 @@ packages: '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/cookie-parser@1.4.7': + resolution: {integrity: sha512-Fvuyi354Z+uayxzIGCwYTayFKocfV7TuDYZClCdIP9ckhvAu/ixDtCB6qx2TT0FKjPLf1f3P/J1rgf6lPs64mw==} + '@types/cookie@0.4.1': resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} @@ -4225,8 +4283,8 @@ packages: '@types/node@20.16.5': resolution: {integrity: sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==} - '@types/node@22.5.4': - resolution: {integrity: sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==} + '@types/node@22.5.5': + resolution: {integrity: sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==} '@types/nodemailer-html-to-text@3.1.3': resolution: {integrity: sha512-Oo3UfBz/jscdgltyp7HABiSHd7aiUuQKxqklPea1san3hNN4w79PEf4S27NQ04JdLO0sU5ZDGK9S+tMHj15vcg==} @@ -4246,8 +4304,8 @@ packages: '@types/pg-pool@2.0.6': resolution: {integrity: sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==} - '@types/pg@8.11.9': - resolution: {integrity: sha512-M4mYeJZRBD9lCBCGa72F44uKSV9eJrAFfjlPJagdA6pgIr2OPJULFB7nqnZzOdqXG0qzHlgtZKzTdIgbmHitSg==} + '@types/pg@8.11.10': + resolution: {integrity: sha512-LczQUW4dbOQzsH2RQ5qoeJ6qJPdrcM/DcMLoqWQkMLMsq83J5lAX3LXjdkWdpscFy67JSOWDnh7Ny/sPFykmkg==} '@types/pg@8.6.1': resolution: {integrity: sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==} @@ -4258,8 +4316,8 @@ packages: '@types/prop-types@15.7.12': resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} - '@types/qs@6.9.15': - resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + '@types/qs@6.9.16': + resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} @@ -4470,64 +4528,76 @@ packages: '@vitest/expect@1.6.0': resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} - '@vitest/expect@2.0.5': - resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} + '@vitest/expect@2.1.1': + resolution: {integrity: sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==} + + '@vitest/mocker@2.1.1': + resolution: {integrity: sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==} + peerDependencies: + '@vitest/spy': 2.1.1 + msw: ^2.3.5 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true - '@vitest/pretty-format@2.0.5': - resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} + '@vitest/pretty-format@2.1.1': + resolution: {integrity: sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==} '@vitest/runner@1.6.0': resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} - '@vitest/runner@2.0.5': - resolution: {integrity: sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==} + '@vitest/runner@2.1.1': + resolution: {integrity: sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==} '@vitest/snapshot@1.6.0': resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} - '@vitest/snapshot@2.0.5': - resolution: {integrity: sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==} + '@vitest/snapshot@2.1.1': + resolution: {integrity: sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==} '@vitest/spy@1.6.0': resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} - '@vitest/spy@2.0.5': - resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} + '@vitest/spy@2.1.1': + resolution: {integrity: sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==} '@vitest/utils@1.6.0': resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} - '@vitest/utils@2.0.5': - resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} + '@vitest/utils@2.1.1': + resolution: {integrity: sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==} - '@vue/compiler-core@3.5.4': - resolution: {integrity: sha512-oNwn+BAt3n9dK9uAYvI+XGlutwuTq/wfj4xCBaZCqwwVIGtD7D6ViihEbyYZrDHIHTDE3Q6oL3/hqmAyFEy9DQ==} + '@vue/compiler-core@3.5.5': + resolution: {integrity: sha512-ZrxcY8JMoV+kgDrmRwlDufz0SjDZ7jfoNZiIBluAACMBmgr55o/jTbxnyrccH6VSJXnFaDI4Ik1UFCiq9r8i7w==} - '@vue/compiler-dom@3.5.4': - resolution: {integrity: sha512-yP9RRs4BDLOLfldn6ah+AGCNovGjMbL9uHvhDHf5wan4dAHLnFGOkqtfE7PPe4HTXIqE7l/NILdYw53bo1C8jw==} + '@vue/compiler-dom@3.5.5': + resolution: {integrity: sha512-HSvK5q1gmBbxRse3S0Wt34RcKuOyjDJKDDMuF3i7NC+QkDFrbAqw8NnrEm/z7zFDxWZa4/5eUwsBOMQzm1RHBA==} - '@vue/compiler-sfc@3.5.4': - resolution: {integrity: sha512-P+yiPhL+NYH7m0ZgCq7AQR2q7OIE+mpAEgtkqEeH9oHSdIRvUO+4X6MPvblJIWcoe4YC5a2Gdf/RsoyP8FFiPQ==} + '@vue/compiler-sfc@3.5.5': + resolution: {integrity: sha512-MzBHDxwZhgQPHrwJ5tj92gdTYRCuPDSZr8PY3+JFv8cv2UD5/WayH5yo0kKCkKfrtJhc39jNSMityHrkMSbfnA==} - '@vue/compiler-ssr@3.5.4': - resolution: {integrity: sha512-acESdTXsxPnYr2C4Blv0ggx5zIFMgOzZmYU2UgvIff9POdRGbRNBHRyzHAnizcItvpgerSKQbllUc9USp3V7eg==} + '@vue/compiler-ssr@3.5.5': + resolution: {integrity: sha512-oFasHnpv/upubjJEmqiTKQYb4qS3ziJddf4UVWuFw6ebk/QTrTUc+AUoTJdo39x9g+AOQBzhOU0ICCRuUjvkmw==} - '@vue/reactivity@3.5.4': - resolution: {integrity: sha512-HKKbEuP7tYSGCq4e4nK6ZW6l5hyG66OUetefBp4budUyjvAYsnQDf+bgFzg2RAgnH0CInyqXwD9y47jwJEHrQw==} + '@vue/reactivity@3.5.5': + resolution: {integrity: sha512-V4tTWElZQhT73PSK3Wnax9R9m4qvMX+LeKHnfylZc6SLh4Jc5/BPakp6e3zEhKWi5AN8TDzRkGnLkp8OqycYng==} - '@vue/runtime-core@3.5.4': - resolution: {integrity: sha512-f3ek2sTA0AFu0n+w+kCtz567Euqqa3eHewvo4klwS7mWfSj/A+UmYTwsnUFo35KeyAFY60JgrCGvEBsu1n/3LA==} + '@vue/runtime-core@3.5.5': + resolution: {integrity: sha512-2/CFaRN17jgsXy4MpigWFBCAMmLkXPb4CjaHrndglwYSra7ajvkH2cat21dscuXaH91G8fXAeg5gCyxWJ+wCRA==} - '@vue/runtime-dom@3.5.4': - resolution: {integrity: sha512-ofyc0w6rbD5KtjhP1i9hGOKdxGpvmuB1jprP7Djlj0X7R5J/oLwuNuE98GJ8WW31Hu2VxQHtk/LYTAlW8xrJdw==} + '@vue/runtime-dom@3.5.5': + resolution: {integrity: sha512-0bQGgCuL+4Muz5PsCLgF4Ata9BTdhHi5VjsxtTDyI0Wy4MgoSvBGaA6bDc7W7CGgZOyirf9LNeetMYHQ05pgpw==} - '@vue/server-renderer@3.5.4': - resolution: {integrity: sha512-FbjV6DJLgKRetMYFBA1UXCroCiED/Ckr53/ba9wivyd7D/Xw9fpo0T6zXzCnxQwyvkyrL7y6plgYhWhNjGxY5g==} + '@vue/server-renderer@3.5.5': + resolution: {integrity: sha512-XjRamLIq5f47cxgy+hiX7zUIY+4RHdPDVrPvvMDAUTdW5RJWX/S0ji/rCbm3LWTT/9Co9bvQME8ZI15ahL4/Qw==} peerDependencies: - vue: 3.5.4 + vue: 3.5.5 - '@vue/shared@3.5.4': - resolution: {integrity: sha512-L2MCDD8l7yC62Te5UUyPVpmexhL9ipVnYRw9CsWfm/BGRL5FwDX4a25bcJ/OJSD3+Hx+k/a8LDKcG2AFdJV3BA==} + '@vue/shared@3.5.5': + resolution: {integrity: sha512-0KyMXyEgnmFAs6rNUL+6eUHtUCqCaNrVd+AW3MX3LyA0Yry5SA0Km03CDKiOua1x1WWnIr+W9+S0GMFoSDWERQ==} '@webassemblyjs/ast@1.12.1': resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} @@ -4619,8 +4689,8 @@ packages: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} - ai@3.3.33: - resolution: {integrity: sha512-qyYMebaySFF5jnaBfsxXcbjJtAmM3c9VP9r8RgBSGap7K+X/KrdFw1zJ3zad81MbGF6uG2tdNn/kw4k/muxX5w==} + ai@3.3.37: + resolution: {integrity: sha512-NgeKmmROI2qPiy98ZLBjGeiHPSq5/G5//rIm0jGm1qzPm3ctIT2AggevKq7ErCDRtoOTr1lsgbNxzb05UBYL4g==} engines: {node: '>=18'} peerDependencies: openai: ^4.42.0 @@ -4709,10 +4779,17 @@ packages: aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + aria-query@5.3.1: + resolution: {integrity: sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==} + engines: {node: '>= 0.4'} + array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + array-includes@3.1.8: resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} engines: {node: '>= 0.4'} @@ -4818,6 +4895,10 @@ packages: bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + bowser@2.11.0: resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} @@ -4853,8 +4934,8 @@ packages: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} - bullmq@5.12.15: - resolution: {integrity: sha512-hUSLsHHLWeHmg/qN6t6ncR/JxCEULySEAEijspy3m1Tr+zW+RQuK215nEho+rjGeob1Ow+2XDvlI81MDotfX4g==} + bullmq@5.13.0: + resolution: {integrity: sha512-rE7v3jMZZGsEhfMhLZwADwuHdqJPTTGHBM8C+SpxF9GzyZ+7pvC80EP5bOZJPPRzbmyhvIPJCVd0bchUZiQF+w==} bundle-require@5.0.0: resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} @@ -4901,9 +4982,9 @@ packages: caniuse-lite@1.0.30001660: resolution: {integrity: sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==} - case-anything@2.1.13: - resolution: {integrity: sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==} - engines: {node: '>=12.13'} + case-anything@3.1.0: + resolution: {integrity: sha512-rRYnn5Elur8RuNHKoJ2b0tgn+pjYxL7BzWom+JZ7NKKn1lt/yGV/tUNwOovxYa9l9VL5hnXQdMc+mENbhJzosQ==} + engines: {node: '>=18'} chai@4.5.0: resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} @@ -5246,9 +5327,24 @@ packages: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + cookie-parser@1.4.6: + resolution: {integrity: sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==} + engines: {node: '>= 0.8.0'} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.4.1: + resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==} + engines: {node: '>= 0.6'} + cookie@0.4.2: resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} engines: {node: '>= 0.6'} @@ -5257,6 +5353,10 @@ packages: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + cookiejar@2.1.4: resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} @@ -5320,6 +5420,14 @@ packages: resolution: {integrity: sha512-xRetU6gL1VJbs85Mc4FoEGSjQxzpdxRyFhe3lmWFyy2EzydIcD4xzUvRJMD+NPDfMwKNhxa3PvsIOU32luIWeA==} engines: {node: '>=18'} + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -5390,10 +5498,18 @@ packages: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + detect-indent@7.0.1: resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} engines: {node: '>=12.20'} @@ -5576,8 +5692,11 @@ packages: engines: {node: '>=14'} hasBin: true - electron-to-chromium@1.5.19: - resolution: {integrity: sha512-kpLJJi3zxTR1U828P+LIUDZ5ohixyo68/IcYOHLqnbTPr/wdgn4i1ECvmALN9E16JPA6cvCG5UG79gVwVdEK5w==} + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.23: + resolution: {integrity: sha512-mBhODedOXg4v5QWwl21DjM5amzjmI1zw9EPrPK/5Wx7C8jt33bpZNrC7OhHUG3pxRtbLpr3W2dXT+Ph1SsfRZA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -5585,12 +5704,23 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + engine.io-client@6.5.4: + resolution: {integrity: sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==} + engine.io-parser@5.2.3: resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} engines: {node: '>=10.0.0'} @@ -5691,6 +5821,9 @@ packages: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -5709,8 +5842,8 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-config-turbo@2.1.1: - resolution: {integrity: sha512-JJF8SZErmgKCGkt124WUmTt0sQ5YLvPo2YxDsfzn9avGJC7/BQIa+3FZoDb3zeYYsZx91pZ6htQAJaKK8NQQAg==} + eslint-config-turbo@2.1.2: + resolution: {integrity: sha512-UCNwxBrTOx0K41h1OrwMg7vPdGvcGSAlj40ZzpuUi0S2Muac2UOs+6F2dMYQiKg7lX2HAtyHXlF0T2wlWNHjGg==} peerDependencies: eslint: '>6.6.0' @@ -5816,8 +5949,8 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - eslint-plugin-react@7.35.2: - resolution: {integrity: sha512-Rbj2R9zwP2GYNcIak4xoAMV57hrBh3hTaR0k7hVjwCQgryE/pw5px4b13EYjduOI0hfXyZhwBxaGpOTbWSGzKQ==} + eslint-plugin-react@7.36.1: + resolution: {integrity: sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 @@ -5831,8 +5964,8 @@ packages: eslint-plugin-tsdoc@0.2.17: resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} - eslint-plugin-turbo@2.1.1: - resolution: {integrity: sha512-E/34kdQd0n3RP18+e0DSV0f3YTSCOojUh1p4X0Xrho2PBYmJ3umSnNo9FhkZt6UDACl+nBQcYTFkRHMz76lJdw==} + eslint-plugin-turbo@2.1.2: + resolution: {integrity: sha512-q2ikGubfVLZDPEKliiuubZc3sI5oqbKIZJ6fRi6Bldv8E3cMNH3Qt7g6hXZV4+GxwQbzEEteCYSBNbOn1DBqRg==} peerDependencies: eslint: '>6.6.0' @@ -5925,6 +6058,10 @@ packages: exponential-backoff@3.1.1: resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + express@4.21.0: + resolution: {integrity: sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==} + engines: {node: '>= 0.10.0'} + fast-deep-equal@2.0.1: resolution: {integrity: sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==} @@ -5967,6 +6104,10 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -6028,6 +6169,10 @@ packages: formidable@3.5.1: resolution: {integrity: sha512-WJWKelbRHN41m5dumb0/k8TeAx7Id/y3a+Z7QfhxP/htI9Js5zYaEDtG8uMgG0vM0lOlqnmjE99/kfpOYi/0Og==} + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} @@ -6103,8 +6248,8 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - get-tsconfig@4.8.0: - resolution: {integrity: sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==} + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} git-hooks-list@3.1.0: resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} @@ -6231,8 +6376,8 @@ packages: hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - hono@4.5.11: - resolution: {integrity: sha512-62FcjLPtjAFwISVBUshryl+vbHOjg8rE4uIK/dxyR8GpLztunZpwFmfEvmJCUI7xoGh/Sr3CGCDPCmYxVw7wUQ==} + hono@4.6.1: + resolution: {integrity: sha512-6NGwvttY1+HAFii08VYiEKI6ETPAFbpLntpm2M/MogEsAFWdZV74UNT+2M4bmqX90cIQhjlpBSP+tO+CfB0uww==} engines: {node: '>=16.0.0'} hosted-git-info@2.8.9: @@ -6264,6 +6409,10 @@ packages: http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} @@ -6288,6 +6437,10 @@ packages: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -6354,6 +6507,10 @@ packages: resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} engines: {node: '>= 12'} + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} @@ -6560,6 +6717,9 @@ packages: resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==} engines: {node: '>= 0.6.0'} + jose@5.9.2: + resolution: {integrity: sha512-ILI2xx/I57b20sd7rHZvgiiQrmp2mcotwsAH+5ajbpFQbrYVQdNHYlQhoA5cFb78CgtBOxtC05TeA+mcgkuCqQ==} + joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -6963,6 +7123,9 @@ packages: monaco-editor@0.50.0: resolution: {integrity: sha512-8CclLCmrRRh+sul7C08BmPBP3P8wVWfBHomsTcndxg5NRCEPfu/mc2AGU8k37ajjDVXcXFc12ORAMUkmk+lkFA==} + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -6973,8 +7136,8 @@ packages: msgpackr@1.11.0: resolution: {integrity: sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==} - msw@2.4.5: - resolution: {integrity: sha512-lX7knS9us1EKs1Y/ihB4eYEJ9VCq+ZGezrPSspbRw0iEaoOn1q0vZkR0joZ6w1S4u46ZD+VLJ522EQihIIkRCg==} + msw@2.4.6: + resolution: {integrity: sha512-flx3DIP3+a81vvEY1lCmZVFKVYVcDiizNHg6mHYc2+F2xU+4LmZ6P2eYZUGEFoJWqA3yRWS70pJa0riFVTb5FQ==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -7223,6 +7386,10 @@ packages: obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -7314,6 +7481,9 @@ packages: parseley@0.12.1: resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==} + parseuri@0.0.6: + resolution: {integrity: sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==} + parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} @@ -7349,8 +7519,11 @@ packages: resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} engines: {node: 20 || >=22} - path-to-regexp@6.2.2: - resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} + path-to-regexp@0.1.10: + resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} + + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} @@ -7394,8 +7567,8 @@ packages: pg-protocol@1.6.1: resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} - pg-transactional-tests@1.0.9: - resolution: {integrity: sha512-u9dFWZDWyycxtfD3SXFHhN2X8lcqA8Dg9M4CIv8OH4AyEaQhL2VE46am/yQxHnKTqgMw1SnejUjIJDZr20Vx1w==} + pg-transactional-tests@1.1.0: + resolution: {integrity: sha512-Bo0fq9TG9hbI2Uk+tWW8yPaLZNwkZBaymz6OhH7KMdUu0vHtoLCrpBlcDCjGaO/mP84OKJBCD8s+J5jSBPOBfg==} peerDependencies: pg: '*' @@ -7512,8 +7685,8 @@ packages: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.45: - resolution: {integrity: sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==} + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} postgres-array@2.0.0: @@ -7620,6 +7793,10 @@ packages: resolution: {integrity: sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==} engines: {node: '>=12.0.0'} + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} @@ -7662,6 +7839,10 @@ packages: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + react-dom@18.3.0: resolution: {integrity: sha512-zaKdLBftQJnvb7FtDIpZtsAIb2MZU087RM8bRDZU8LVCCFYjPTsDZJNFUWPcVz3HFSN1n/caxi0ca4B/aaVQGQ==} peerDependencies: @@ -7889,8 +8070,8 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true - rollup@4.21.2: - resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==} + rollup@4.21.3: + resolution: {integrity: sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -7954,9 +8135,17 @@ packages: engines: {node: '>=10'} hasBin: true + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} + set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -7965,6 +8154,9 @@ packages: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + sharp@0.33.5: resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -8024,10 +8216,22 @@ packages: socket.io-adapter@2.5.5: resolution: {integrity: sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==} + socket.io-client@4.7.5: + resolution: {integrity: sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==} + engines: {node: '>=10.0.0'} + + socket.io-mock@1.3.2: + resolution: {integrity: sha512-p4MQBue3NAR8bXIHynRJxK/C+J3I3NpnnpgjptgLFSWv4u9Bdkubf2t0GCmyLmUTi03up0Cx/hQwzQfOpD187g==} + socket.io-parser@4.2.4: resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} engines: {node: '>=10.0.0'} + socket.io-react-hook@2.4.5: + resolution: {integrity: sha512-Kg5De27c785SW3iXttXwDC9SrK3Y4live9DsueZSZYTjyo7dk3vrvyue+K/q3S+eYjkdADNq2PAvSHVl4OSZ/g==} + peerDependencies: + react: '*' + socket.io@4.7.5: resolution: {integrity: sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==} engines: {node: '>=10.2.0'} @@ -8093,6 +8297,9 @@ packages: peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.0 + stable-hash@0.0.3: + resolution: {integrity: sha512-c63fvNCQ7ip1wBfPv54MflMA5L6OE5J0p6Fg13IpKft4JAFoNal8+s/jtJ8PibrwqXm4onnbeQsADs8k0NQGUA==} + stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} @@ -8277,8 +8484,8 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || insiders' - tailwindcss@3.4.10: - resolution: {integrity: sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==} + tailwindcss@3.4.11: + resolution: {integrity: sha512-qhEuBcLemjSJk5ajccN9xJFtM/h0AVCPaA6C92jNP+M2J8kX+eMJHI7R2HFKUvvAsMpcfLILMCFYSeDwpMmlUg==} engines: {node: '>=14.0.0'} hasBin: true @@ -8327,6 +8534,9 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + tinyexec@0.3.0: + resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==} + tinypool@0.8.4: resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} engines: {node: '>=14.0.0'} @@ -8359,6 +8569,10 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + tough-cookie@4.1.4: resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} engines: {node: '>=6'} @@ -8445,8 +8659,8 @@ packages: peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - tsx@4.19.0: - resolution: {integrity: sha512-bV30kM7bsLZKZIOCHeMNVMJ32/LuJzLVajkQI/qf92J2Qr08ueLQvW00PUZGiuLPP760UINwupgUj8qrSCPUKg==} + tsx@4.19.1: + resolution: {integrity: sha512-0flMz1lh74BR4wOvBjuh9olbnwqCPc35OOlfyzHba0Dc+QNUeWX/Gq2YTbnwcWPO3BMd8fkzRVrHcsR+a7z7rA==} engines: {node: '>=18.0.0'} hasBin: true @@ -8454,38 +8668,38 @@ packages: resolution: {integrity: sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==} engines: {node: ^16.14.0 || >=18.0.0} - turbo-darwin-64@2.1.1: - resolution: {integrity: sha512-aYNuJpZlCoi0Htd79fl/2DywpewGKijdXeOfg9KzNuPVKzSMYlAXuAlNGh0MKjiOcyqxQGL7Mq9LFhwA0VpDpQ==} + turbo-darwin-64@2.1.2: + resolution: {integrity: sha512-3TEBxHWh99h2yIzkuIigMEOXt/ItYQp0aPiJjPd1xN4oDcsKK5AxiFKPH9pdtfIBzYsY59kQhZiFj0ELnSP7Bw==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.1.1: - resolution: {integrity: sha512-tifJKD8yHY48rHXPMcM8o1jI/Jk2KCaXiNjTKvvy9Zsim61BZksNVLelIbrRoCGwAN6PUBZO2lGU5iL/TQJ5Pw==} + turbo-darwin-arm64@2.1.2: + resolution: {integrity: sha512-he0miWNq2WxJzsH82jS2Z4MXpnkzn9SH8a79iPXiJkq25QREImucscM4RPasXm8wARp91pyysJMq6aasD45CeA==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.1.1: - resolution: {integrity: sha512-Js6d/bSQe9DuV9c7ITXYpsU/ADzFHABdz1UIHa7Oqjj9VOEbFeA9WpAn0c+mdJrVD+IXJFbbDZUjN7VYssmtcg==} + turbo-linux-64@2.1.2: + resolution: {integrity: sha512-fKUBcc0rK8Vdqv5a/E3CSpMBLG1bzwv+Q0Q83F8fG2ZfNCNKGbcEYABdonNZkkx141Rj03cZQFCgxu3MVEGU+A==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.1.1: - resolution: {integrity: sha512-LidzTCq0yvQ+N8w8Qub9FmhQ/mmEIeoqFi7DSupekEV2EjvE9jw/zYc9Pk67X+g7dHVfgOnvVzmrjChdxpFePw==} + turbo-linux-arm64@2.1.2: + resolution: {integrity: sha512-sV8Bpmm0WiuxgbhxymcC7wSsuxfBBieI98GegSwbr/bs1ANAgzCg93urIrdKdQ3/b31zZxQwcaP4FBF1wx1Qdg==} cpu: [arm64] os: [linux] - turbo-windows-64@2.1.1: - resolution: {integrity: sha512-GKc9ZywKwy4xLDhwXd6H07yzl0TB52HjXMrFLyHGhCVnf/w0oq4sLJv2sjbvuarPjsyx4xnCBJ3m3oyL2XmFtA==} + turbo-windows-64@2.1.2: + resolution: {integrity: sha512-wcmIJZI9ORT9ykHGliFE6kWRQrlH930QGSjSgWC8uFChFFuOyUlvC7ttcxuSvU9VqC7NF4C+GVAcFJQ8lTjN7g==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.1.1: - resolution: {integrity: sha512-oFKkMj11KKUv3xSK9/fhAEQTxLUp1Ol1EOktwc32+SFtEU0uls7kosAz0b+qe8k3pJGEMFdDPdqoEjyJidbxtQ==} + turbo-windows-arm64@2.1.2: + resolution: {integrity: sha512-zdnXjrhk7YO6CP+Q5wPueEvOCLH4lDa6C4rrwiakcWcPgcQGbVozJlo4uaQ6awo8HLWQEvOwu84RkWTdLAc/Hw==} cpu: [arm64] os: [win32] - turbo@2.1.1: - resolution: {integrity: sha512-u9gUDkmR9dFS8b5kAYqIETK4OnzsS4l2ragJ0+soSMHh6VEeNHjTfSjk1tKxCqLyziCrPogadxP680J+v6yGHw==} + turbo@2.1.2: + resolution: {integrity: sha512-Jb0rbU4iHEVQ18An/YfakdIv9rKnd3zUfSE117EngrfWXFHo3RndVH96US3GsT8VHpwTncPePDBT2t06PaFLrw==} hasBin: true type-check@0.4.0: @@ -8569,6 +8783,10 @@ packages: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + unplugin@1.0.1: resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==} @@ -8654,6 +8872,10 @@ packages: util@0.12.5: resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + uuid@10.0.0: resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} hasBin: true @@ -8685,13 +8907,13 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite-node@2.0.5: - resolution: {integrity: sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==} + vite-node@2.1.1: + resolution: {integrity: sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite@5.4.4: - resolution: {integrity: sha512-RHFCkULitycHVTtelJ6jQLd+KSAAzOgEYorV32R2q++M6COBjKJR6BxqClwp5sf0XaBDjVMuJ9wnNfyAJwjMkA==} + vite@5.4.5: + resolution: {integrity: sha512-pXqR0qtb2bTwLkev4SE3r4abCNioP3GkjvIDLlzziPpXtHgiJIjuKl+1GN6ESOT3wMjG3JTeARopj2SwYaHTOA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -8746,15 +8968,15 @@ packages: jsdom: optional: true - vitest@2.0.5: - resolution: {integrity: sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==} + vitest@2.1.1: + resolution: {integrity: sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.0.5 - '@vitest/ui': 2.0.5 + '@vitest/browser': 2.1.1 + '@vitest/ui': 2.1.1 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -8771,8 +8993,8 @@ packages: jsdom: optional: true - vue@3.5.4: - resolution: {integrity: sha512-3yAj2gkmiY+i7+22A1PWM+kjOVXjU74UPINcTiN7grIVPyFFI0lpGwHlV/4xydDmobaBn7/xmi+YG8HeSlCTcg==} + vue@3.5.5: + resolution: {integrity: sha512-ybC+xn67K4+df1yVeov4UjBGyVcXM0a1g7JVZr+pWVUX3xF6ntXU0wIjkTkduZBUIpxTlsftJSxz2kwhsT7dgA==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -8930,6 +9152,10 @@ packages: xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + xmlhttprequest-ssl@2.0.0: + resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==} + engines: {node: '>=0.4.0'} + xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -9050,7 +9276,7 @@ snapshots: optionalDependencies: zod: 3.23.8 - '@ai-sdk/provider-utils@1.0.18(zod@3.23.8)': + '@ai-sdk/provider-utils@1.0.19(zod@3.23.8)': dependencies: '@ai-sdk/provider': 0.0.23 eventsource-parser: 1.1.2 @@ -9067,58 +9293,58 @@ snapshots: dependencies: json-schema: 0.4.0 - '@ai-sdk/react@0.0.55(react@18.3.1)(zod@3.23.8)': + '@ai-sdk/react@0.0.59(react@18.3.1)(zod@3.23.8)': dependencies: - '@ai-sdk/provider-utils': 1.0.18(zod@3.23.8) - '@ai-sdk/ui-utils': 0.0.41(zod@3.23.8) + '@ai-sdk/provider-utils': 1.0.19(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.44(zod@3.23.8) swr: 2.2.5(react@18.3.1) optionalDependencies: react: 18.3.1 zod: 3.23.8 - '@ai-sdk/react@0.0.55(react@19.0.0-rc-f994737d14-20240522)(zod@3.23.8)': + '@ai-sdk/react@0.0.59(react@19.0.0-rc-f994737d14-20240522)(zod@3.23.8)': dependencies: - '@ai-sdk/provider-utils': 1.0.18(zod@3.23.8) - '@ai-sdk/ui-utils': 0.0.41(zod@3.23.8) + '@ai-sdk/provider-utils': 1.0.19(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.44(zod@3.23.8) swr: 2.2.5(react@19.0.0-rc-f994737d14-20240522) optionalDependencies: react: 19.0.0-rc-f994737d14-20240522 zod: 3.23.8 - '@ai-sdk/solid@0.0.44(zod@3.23.8)': + '@ai-sdk/solid@0.0.47(zod@3.23.8)': dependencies: - '@ai-sdk/provider-utils': 1.0.18(zod@3.23.8) - '@ai-sdk/ui-utils': 0.0.41(zod@3.23.8) + '@ai-sdk/provider-utils': 1.0.19(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.44(zod@3.23.8) transitivePeerDependencies: - zod - '@ai-sdk/svelte@0.0.46(svelte@4.2.19)(zod@3.23.8)': + '@ai-sdk/svelte@0.0.49(svelte@4.2.19)(zod@3.23.8)': dependencies: - '@ai-sdk/provider-utils': 1.0.18(zod@3.23.8) - '@ai-sdk/ui-utils': 0.0.41(zod@3.23.8) + '@ai-sdk/provider-utils': 1.0.19(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.44(zod@3.23.8) sswr: 2.1.0(svelte@4.2.19) optionalDependencies: svelte: 4.2.19 transitivePeerDependencies: - zod - '@ai-sdk/ui-utils@0.0.41(zod@3.23.8)': + '@ai-sdk/ui-utils@0.0.44(zod@3.23.8)': dependencies: '@ai-sdk/provider': 0.0.23 - '@ai-sdk/provider-utils': 1.0.18(zod@3.23.8) + '@ai-sdk/provider-utils': 1.0.19(zod@3.23.8) json-schema: 0.4.0 secure-json-parse: 2.7.0 zod-to-json-schema: 3.23.2(zod@3.23.8) optionalDependencies: zod: 3.23.8 - '@ai-sdk/vue@0.0.46(vue@3.5.4(typescript@5.6.2))(zod@3.23.8)': + '@ai-sdk/vue@0.0.49(vue@3.5.5(typescript@5.6.2))(zod@3.23.8)': dependencies: - '@ai-sdk/provider-utils': 1.0.18(zod@3.23.8) - '@ai-sdk/ui-utils': 0.0.41(zod@3.23.8) - swrv: 1.0.4(vue@3.5.4(typescript@5.6.2)) + '@ai-sdk/provider-utils': 1.0.19(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.44(zod@3.23.8) + swrv: 1.0.4(vue@3.5.5(typescript@5.6.2)) optionalDependencies: - vue: 3.5.4(typescript@5.6.2) + vue: 3.5.5(typescript@5.6.2) transitivePeerDependencies: - zod @@ -9176,14 +9402,14 @@ snapshots: '@smithy/util-utf8': 2.3.0 tslib: 2.7.0 - '@aws-sdk/client-ecs@3.649.0': + '@aws-sdk/client-ecs@3.651.1': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.649.0(@aws-sdk/client-sts@3.649.0) - '@aws-sdk/client-sts': 3.649.0 - '@aws-sdk/core': 3.649.0 - '@aws-sdk/credential-provider-node': 3.649.0(@aws-sdk/client-sso-oidc@3.649.0(@aws-sdk/client-sts@3.649.0))(@aws-sdk/client-sts@3.649.0) + '@aws-sdk/client-sso-oidc': 3.651.1(@aws-sdk/client-sts@3.651.1) + '@aws-sdk/client-sts': 3.651.1 + '@aws-sdk/core': 3.651.1 + '@aws-sdk/credential-provider-node': 3.651.1(@aws-sdk/client-sso-oidc@3.651.1(@aws-sdk/client-sts@3.651.1))(@aws-sdk/client-sts@3.651.1) '@aws-sdk/middleware-host-header': 3.649.0 '@aws-sdk/middleware-logger': 3.649.0 '@aws-sdk/middleware-recursion-detection': 3.649.0 @@ -9193,107 +9419,107 @@ snapshots: '@aws-sdk/util-endpoints': 3.649.0 '@aws-sdk/util-user-agent-browser': 3.649.0 '@aws-sdk/util-user-agent-node': 3.649.0 - '@smithy/config-resolver': 3.0.6 - '@smithy/core': 2.4.1 - '@smithy/fetch-http-handler': 3.2.5 - '@smithy/hash-node': 3.0.4 - '@smithy/invalid-dependency': 3.0.4 - '@smithy/middleware-content-length': 3.0.6 - '@smithy/middleware-endpoint': 3.1.1 - '@smithy/middleware-retry': 3.0.16 - '@smithy/middleware-serde': 3.0.4 - '@smithy/middleware-stack': 3.0.4 - '@smithy/node-config-provider': 3.1.5 - '@smithy/node-http-handler': 3.2.0 - '@smithy/protocol-http': 4.1.1 - '@smithy/smithy-client': 3.3.0 - '@smithy/types': 3.4.0 - '@smithy/url-parser': 3.0.4 + '@smithy/config-resolver': 3.0.8 + '@smithy/core': 2.4.3 + '@smithy/fetch-http-handler': 3.2.7 + '@smithy/hash-node': 3.0.6 + '@smithy/invalid-dependency': 3.0.6 + '@smithy/middleware-content-length': 3.0.8 + '@smithy/middleware-endpoint': 3.1.3 + '@smithy/middleware-retry': 3.0.18 + '@smithy/middleware-serde': 3.0.6 + '@smithy/middleware-stack': 3.0.6 + '@smithy/node-config-provider': 3.1.7 + '@smithy/node-http-handler': 3.2.2 + '@smithy/protocol-http': 4.1.3 + '@smithy/smithy-client': 3.3.2 + '@smithy/types': 3.4.2 + '@smithy/url-parser': 3.0.6 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.16 - '@smithy/util-defaults-mode-node': 3.0.16 - '@smithy/util-endpoints': 2.1.0 - '@smithy/util-middleware': 3.0.4 - '@smithy/util-retry': 3.0.4 + '@smithy/util-defaults-mode-browser': 3.0.18 + '@smithy/util-defaults-mode-node': 3.0.18 + '@smithy/util-endpoints': 2.1.2 + '@smithy/util-middleware': 3.0.6 + '@smithy/util-retry': 3.0.6 '@smithy/util-utf8': 3.0.0 - '@smithy/util-waiter': 3.1.3 + '@smithy/util-waiter': 3.1.5 tslib: 2.7.0 uuid: 9.0.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-s3@3.649.0': + '@aws-sdk/client-s3@3.651.1': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.649.0(@aws-sdk/client-sts@3.649.0) - '@aws-sdk/client-sts': 3.649.0 - '@aws-sdk/core': 3.649.0 - '@aws-sdk/credential-provider-node': 3.649.0(@aws-sdk/client-sso-oidc@3.649.0(@aws-sdk/client-sts@3.649.0))(@aws-sdk/client-sts@3.649.0) + '@aws-sdk/client-sso-oidc': 3.651.1(@aws-sdk/client-sts@3.651.1) + '@aws-sdk/client-sts': 3.651.1 + '@aws-sdk/core': 3.651.1 + '@aws-sdk/credential-provider-node': 3.651.1(@aws-sdk/client-sso-oidc@3.651.1(@aws-sdk/client-sts@3.651.1))(@aws-sdk/client-sts@3.651.1) '@aws-sdk/middleware-bucket-endpoint': 3.649.0 '@aws-sdk/middleware-expect-continue': 3.649.0 - '@aws-sdk/middleware-flexible-checksums': 3.649.0 + '@aws-sdk/middleware-flexible-checksums': 3.651.1 '@aws-sdk/middleware-host-header': 3.649.0 '@aws-sdk/middleware-location-constraint': 3.649.0 '@aws-sdk/middleware-logger': 3.649.0 '@aws-sdk/middleware-recursion-detection': 3.649.0 - '@aws-sdk/middleware-sdk-s3': 3.649.0 + '@aws-sdk/middleware-sdk-s3': 3.651.1 '@aws-sdk/middleware-ssec': 3.649.0 '@aws-sdk/middleware-user-agent': 3.649.0 '@aws-sdk/region-config-resolver': 3.649.0 - '@aws-sdk/signature-v4-multi-region': 3.649.0 + '@aws-sdk/signature-v4-multi-region': 3.651.1 '@aws-sdk/types': 3.649.0 '@aws-sdk/util-endpoints': 3.649.0 '@aws-sdk/util-user-agent-browser': 3.649.0 '@aws-sdk/util-user-agent-node': 3.649.0 '@aws-sdk/xml-builder': 3.649.0 - '@smithy/config-resolver': 3.0.6 - '@smithy/core': 2.4.1 - '@smithy/eventstream-serde-browser': 3.0.7 - '@smithy/eventstream-serde-config-resolver': 3.0.4 - '@smithy/eventstream-serde-node': 3.0.6 - '@smithy/fetch-http-handler': 3.2.5 - '@smithy/hash-blob-browser': 3.1.3 - '@smithy/hash-node': 3.0.4 - '@smithy/hash-stream-node': 3.1.3 - '@smithy/invalid-dependency': 3.0.4 - '@smithy/md5-js': 3.0.4 - '@smithy/middleware-content-length': 3.0.6 - '@smithy/middleware-endpoint': 3.1.1 - '@smithy/middleware-retry': 3.0.16 - '@smithy/middleware-serde': 3.0.4 - '@smithy/middleware-stack': 3.0.4 - '@smithy/node-config-provider': 3.1.5 - '@smithy/node-http-handler': 3.2.0 - '@smithy/protocol-http': 4.1.1 - '@smithy/smithy-client': 3.3.0 - '@smithy/types': 3.4.0 - '@smithy/url-parser': 3.0.4 + '@smithy/config-resolver': 3.0.8 + '@smithy/core': 2.4.3 + '@smithy/eventstream-serde-browser': 3.0.9 + '@smithy/eventstream-serde-config-resolver': 3.0.6 + '@smithy/eventstream-serde-node': 3.0.8 + '@smithy/fetch-http-handler': 3.2.7 + '@smithy/hash-blob-browser': 3.1.5 + '@smithy/hash-node': 3.0.6 + '@smithy/hash-stream-node': 3.1.5 + '@smithy/invalid-dependency': 3.0.6 + '@smithy/md5-js': 3.0.6 + '@smithy/middleware-content-length': 3.0.8 + '@smithy/middleware-endpoint': 3.1.3 + '@smithy/middleware-retry': 3.0.18 + '@smithy/middleware-serde': 3.0.6 + '@smithy/middleware-stack': 3.0.6 + '@smithy/node-config-provider': 3.1.7 + '@smithy/node-http-handler': 3.2.2 + '@smithy/protocol-http': 4.1.3 + '@smithy/smithy-client': 3.3.2 + '@smithy/types': 3.4.2 + '@smithy/url-parser': 3.0.6 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.16 - '@smithy/util-defaults-mode-node': 3.0.16 - '@smithy/util-endpoints': 2.1.0 - '@smithy/util-middleware': 3.0.4 - '@smithy/util-retry': 3.0.4 - '@smithy/util-stream': 3.1.4 + '@smithy/util-defaults-mode-browser': 3.0.18 + '@smithy/util-defaults-mode-node': 3.0.18 + '@smithy/util-endpoints': 2.1.2 + '@smithy/util-middleware': 3.0.6 + '@smithy/util-retry': 3.0.6 + '@smithy/util-stream': 3.1.6 '@smithy/util-utf8': 3.0.0 - '@smithy/util-waiter': 3.1.3 + '@smithy/util-waiter': 3.1.5 tslib: 2.7.0 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso-oidc@3.649.0(@aws-sdk/client-sts@3.649.0)': + '@aws-sdk/client-sso-oidc@3.651.1(@aws-sdk/client-sts@3.651.1)': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sts': 3.649.0 - '@aws-sdk/core': 3.649.0 - '@aws-sdk/credential-provider-node': 3.649.0(@aws-sdk/client-sso-oidc@3.649.0(@aws-sdk/client-sts@3.649.0))(@aws-sdk/client-sts@3.649.0) + '@aws-sdk/client-sts': 3.651.1 + '@aws-sdk/core': 3.651.1 + '@aws-sdk/credential-provider-node': 3.651.1(@aws-sdk/client-sso-oidc@3.651.1(@aws-sdk/client-sts@3.651.1))(@aws-sdk/client-sts@3.651.1) '@aws-sdk/middleware-host-header': 3.649.0 '@aws-sdk/middleware-logger': 3.649.0 '@aws-sdk/middleware-recursion-detection': 3.649.0 @@ -9303,40 +9529,40 @@ snapshots: '@aws-sdk/util-endpoints': 3.649.0 '@aws-sdk/util-user-agent-browser': 3.649.0 '@aws-sdk/util-user-agent-node': 3.649.0 - '@smithy/config-resolver': 3.0.6 - '@smithy/core': 2.4.1 - '@smithy/fetch-http-handler': 3.2.5 - '@smithy/hash-node': 3.0.4 - '@smithy/invalid-dependency': 3.0.4 - '@smithy/middleware-content-length': 3.0.6 - '@smithy/middleware-endpoint': 3.1.1 - '@smithy/middleware-retry': 3.0.16 - '@smithy/middleware-serde': 3.0.4 - '@smithy/middleware-stack': 3.0.4 - '@smithy/node-config-provider': 3.1.5 - '@smithy/node-http-handler': 3.2.0 - '@smithy/protocol-http': 4.1.1 - '@smithy/smithy-client': 3.3.0 - '@smithy/types': 3.4.0 - '@smithy/url-parser': 3.0.4 + '@smithy/config-resolver': 3.0.8 + '@smithy/core': 2.4.3 + '@smithy/fetch-http-handler': 3.2.7 + '@smithy/hash-node': 3.0.6 + '@smithy/invalid-dependency': 3.0.6 + '@smithy/middleware-content-length': 3.0.8 + '@smithy/middleware-endpoint': 3.1.3 + '@smithy/middleware-retry': 3.0.18 + '@smithy/middleware-serde': 3.0.6 + '@smithy/middleware-stack': 3.0.6 + '@smithy/node-config-provider': 3.1.7 + '@smithy/node-http-handler': 3.2.2 + '@smithy/protocol-http': 4.1.3 + '@smithy/smithy-client': 3.3.2 + '@smithy/types': 3.4.2 + '@smithy/url-parser': 3.0.6 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.16 - '@smithy/util-defaults-mode-node': 3.0.16 - '@smithy/util-endpoints': 2.1.0 - '@smithy/util-middleware': 3.0.4 - '@smithy/util-retry': 3.0.4 + '@smithy/util-defaults-mode-browser': 3.0.18 + '@smithy/util-defaults-mode-node': 3.0.18 + '@smithy/util-endpoints': 2.1.2 + '@smithy/util-middleware': 3.0.6 + '@smithy/util-retry': 3.0.6 '@smithy/util-utf8': 3.0.0 tslib: 2.7.0 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso@3.649.0': + '@aws-sdk/client-sso@3.651.1': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.649.0 + '@aws-sdk/core': 3.651.1 '@aws-sdk/middleware-host-header': 3.649.0 '@aws-sdk/middleware-logger': 3.649.0 '@aws-sdk/middleware-recursion-detection': 3.649.0 @@ -9346,42 +9572,42 @@ snapshots: '@aws-sdk/util-endpoints': 3.649.0 '@aws-sdk/util-user-agent-browser': 3.649.0 '@aws-sdk/util-user-agent-node': 3.649.0 - '@smithy/config-resolver': 3.0.6 - '@smithy/core': 2.4.1 - '@smithy/fetch-http-handler': 3.2.5 - '@smithy/hash-node': 3.0.4 - '@smithy/invalid-dependency': 3.0.4 - '@smithy/middleware-content-length': 3.0.6 - '@smithy/middleware-endpoint': 3.1.1 - '@smithy/middleware-retry': 3.0.16 - '@smithy/middleware-serde': 3.0.4 - '@smithy/middleware-stack': 3.0.4 - '@smithy/node-config-provider': 3.1.5 - '@smithy/node-http-handler': 3.2.0 - '@smithy/protocol-http': 4.1.1 - '@smithy/smithy-client': 3.3.0 - '@smithy/types': 3.4.0 - '@smithy/url-parser': 3.0.4 + '@smithy/config-resolver': 3.0.8 + '@smithy/core': 2.4.3 + '@smithy/fetch-http-handler': 3.2.7 + '@smithy/hash-node': 3.0.6 + '@smithy/invalid-dependency': 3.0.6 + '@smithy/middleware-content-length': 3.0.8 + '@smithy/middleware-endpoint': 3.1.3 + '@smithy/middleware-retry': 3.0.18 + '@smithy/middleware-serde': 3.0.6 + '@smithy/middleware-stack': 3.0.6 + '@smithy/node-config-provider': 3.1.7 + '@smithy/node-http-handler': 3.2.2 + '@smithy/protocol-http': 4.1.3 + '@smithy/smithy-client': 3.3.2 + '@smithy/types': 3.4.2 + '@smithy/url-parser': 3.0.6 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.16 - '@smithy/util-defaults-mode-node': 3.0.16 - '@smithy/util-endpoints': 2.1.0 - '@smithy/util-middleware': 3.0.4 - '@smithy/util-retry': 3.0.4 + '@smithy/util-defaults-mode-browser': 3.0.18 + '@smithy/util-defaults-mode-node': 3.0.18 + '@smithy/util-endpoints': 2.1.2 + '@smithy/util-middleware': 3.0.6 + '@smithy/util-retry': 3.0.6 '@smithy/util-utf8': 3.0.0 tslib: 2.7.0 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sts@3.649.0': + '@aws-sdk/client-sts@3.651.1': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.649.0(@aws-sdk/client-sts@3.649.0) - '@aws-sdk/core': 3.649.0 - '@aws-sdk/credential-provider-node': 3.649.0(@aws-sdk/client-sso-oidc@3.649.0(@aws-sdk/client-sts@3.649.0))(@aws-sdk/client-sts@3.649.0) + '@aws-sdk/client-sso-oidc': 3.651.1(@aws-sdk/client-sts@3.651.1) + '@aws-sdk/core': 3.651.1 + '@aws-sdk/credential-provider-node': 3.651.1(@aws-sdk/client-sso-oidc@3.651.1(@aws-sdk/client-sts@3.651.1))(@aws-sdk/client-sts@3.651.1) '@aws-sdk/middleware-host-header': 3.649.0 '@aws-sdk/middleware-logger': 3.649.0 '@aws-sdk/middleware-recursion-detection': 3.649.0 @@ -9391,98 +9617,98 @@ snapshots: '@aws-sdk/util-endpoints': 3.649.0 '@aws-sdk/util-user-agent-browser': 3.649.0 '@aws-sdk/util-user-agent-node': 3.649.0 - '@smithy/config-resolver': 3.0.6 - '@smithy/core': 2.4.1 - '@smithy/fetch-http-handler': 3.2.5 - '@smithy/hash-node': 3.0.4 - '@smithy/invalid-dependency': 3.0.4 - '@smithy/middleware-content-length': 3.0.6 - '@smithy/middleware-endpoint': 3.1.1 - '@smithy/middleware-retry': 3.0.16 - '@smithy/middleware-serde': 3.0.4 - '@smithy/middleware-stack': 3.0.4 - '@smithy/node-config-provider': 3.1.5 - '@smithy/node-http-handler': 3.2.0 - '@smithy/protocol-http': 4.1.1 - '@smithy/smithy-client': 3.3.0 - '@smithy/types': 3.4.0 - '@smithy/url-parser': 3.0.4 + '@smithy/config-resolver': 3.0.8 + '@smithy/core': 2.4.3 + '@smithy/fetch-http-handler': 3.2.7 + '@smithy/hash-node': 3.0.6 + '@smithy/invalid-dependency': 3.0.6 + '@smithy/middleware-content-length': 3.0.8 + '@smithy/middleware-endpoint': 3.1.3 + '@smithy/middleware-retry': 3.0.18 + '@smithy/middleware-serde': 3.0.6 + '@smithy/middleware-stack': 3.0.6 + '@smithy/node-config-provider': 3.1.7 + '@smithy/node-http-handler': 3.2.2 + '@smithy/protocol-http': 4.1.3 + '@smithy/smithy-client': 3.3.2 + '@smithy/types': 3.4.2 + '@smithy/url-parser': 3.0.6 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.16 - '@smithy/util-defaults-mode-node': 3.0.16 - '@smithy/util-endpoints': 2.1.0 - '@smithy/util-middleware': 3.0.4 - '@smithy/util-retry': 3.0.4 + '@smithy/util-defaults-mode-browser': 3.0.18 + '@smithy/util-defaults-mode-node': 3.0.18 + '@smithy/util-endpoints': 2.1.2 + '@smithy/util-middleware': 3.0.6 + '@smithy/util-retry': 3.0.6 '@smithy/util-utf8': 3.0.0 tslib: 2.7.0 transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.649.0': + '@aws-sdk/core@3.651.1': dependencies: - '@smithy/core': 2.4.1 - '@smithy/node-config-provider': 3.1.5 - '@smithy/property-provider': 3.1.4 - '@smithy/protocol-http': 4.1.1 - '@smithy/signature-v4': 4.1.1 - '@smithy/smithy-client': 3.3.0 - '@smithy/types': 3.4.0 - '@smithy/util-middleware': 3.0.4 + '@smithy/core': 2.4.3 + '@smithy/node-config-provider': 3.1.7 + '@smithy/property-provider': 3.1.6 + '@smithy/protocol-http': 4.1.3 + '@smithy/signature-v4': 4.1.3 + '@smithy/smithy-client': 3.3.2 + '@smithy/types': 3.4.2 + '@smithy/util-middleware': 3.0.6 fast-xml-parser: 4.4.1 tslib: 2.7.0 '@aws-sdk/credential-provider-env@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 - '@smithy/property-provider': 3.1.4 - '@smithy/types': 3.4.0 + '@smithy/property-provider': 3.1.6 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@aws-sdk/credential-provider-http@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 - '@smithy/fetch-http-handler': 3.2.5 - '@smithy/node-http-handler': 3.2.0 - '@smithy/property-provider': 3.1.4 - '@smithy/protocol-http': 4.1.1 - '@smithy/smithy-client': 3.3.0 - '@smithy/types': 3.4.0 - '@smithy/util-stream': 3.1.4 + '@smithy/fetch-http-handler': 3.2.7 + '@smithy/node-http-handler': 3.2.2 + '@smithy/property-provider': 3.1.6 + '@smithy/protocol-http': 4.1.3 + '@smithy/smithy-client': 3.3.2 + '@smithy/types': 3.4.2 + '@smithy/util-stream': 3.1.6 tslib: 2.7.0 - '@aws-sdk/credential-provider-ini@3.649.0(@aws-sdk/client-sso-oidc@3.649.0(@aws-sdk/client-sts@3.649.0))(@aws-sdk/client-sts@3.649.0)': + '@aws-sdk/credential-provider-ini@3.651.1(@aws-sdk/client-sso-oidc@3.651.1(@aws-sdk/client-sts@3.651.1))(@aws-sdk/client-sts@3.651.1)': dependencies: - '@aws-sdk/client-sts': 3.649.0 + '@aws-sdk/client-sts': 3.651.1 '@aws-sdk/credential-provider-env': 3.649.0 '@aws-sdk/credential-provider-http': 3.649.0 '@aws-sdk/credential-provider-process': 3.649.0 - '@aws-sdk/credential-provider-sso': 3.649.0(@aws-sdk/client-sso-oidc@3.649.0(@aws-sdk/client-sts@3.649.0)) - '@aws-sdk/credential-provider-web-identity': 3.649.0(@aws-sdk/client-sts@3.649.0) + '@aws-sdk/credential-provider-sso': 3.651.1(@aws-sdk/client-sso-oidc@3.651.1(@aws-sdk/client-sts@3.651.1)) + '@aws-sdk/credential-provider-web-identity': 3.649.0(@aws-sdk/client-sts@3.651.1) '@aws-sdk/types': 3.649.0 - '@smithy/credential-provider-imds': 3.2.1 - '@smithy/property-provider': 3.1.4 - '@smithy/shared-ini-file-loader': 3.1.5 - '@smithy/types': 3.4.0 + '@smithy/credential-provider-imds': 3.2.3 + '@smithy/property-provider': 3.1.6 + '@smithy/shared-ini-file-loader': 3.1.7 + '@smithy/types': 3.4.2 tslib: 2.7.0 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-node@3.649.0(@aws-sdk/client-sso-oidc@3.649.0(@aws-sdk/client-sts@3.649.0))(@aws-sdk/client-sts@3.649.0)': + '@aws-sdk/credential-provider-node@3.651.1(@aws-sdk/client-sso-oidc@3.651.1(@aws-sdk/client-sts@3.651.1))(@aws-sdk/client-sts@3.651.1)': dependencies: '@aws-sdk/credential-provider-env': 3.649.0 '@aws-sdk/credential-provider-http': 3.649.0 - '@aws-sdk/credential-provider-ini': 3.649.0(@aws-sdk/client-sso-oidc@3.649.0(@aws-sdk/client-sts@3.649.0))(@aws-sdk/client-sts@3.649.0) + '@aws-sdk/credential-provider-ini': 3.651.1(@aws-sdk/client-sso-oidc@3.651.1(@aws-sdk/client-sts@3.651.1))(@aws-sdk/client-sts@3.651.1) '@aws-sdk/credential-provider-process': 3.649.0 - '@aws-sdk/credential-provider-sso': 3.649.0(@aws-sdk/client-sso-oidc@3.649.0(@aws-sdk/client-sts@3.649.0)) - '@aws-sdk/credential-provider-web-identity': 3.649.0(@aws-sdk/client-sts@3.649.0) + '@aws-sdk/credential-provider-sso': 3.651.1(@aws-sdk/client-sso-oidc@3.651.1(@aws-sdk/client-sts@3.651.1)) + '@aws-sdk/credential-provider-web-identity': 3.649.0(@aws-sdk/client-sts@3.651.1) '@aws-sdk/types': 3.649.0 - '@smithy/credential-provider-imds': 3.2.1 - '@smithy/property-provider': 3.1.4 - '@smithy/shared-ini-file-loader': 3.1.5 - '@smithy/types': 3.4.0 + '@smithy/credential-provider-imds': 3.2.3 + '@smithy/property-provider': 3.1.6 + '@smithy/shared-ini-file-loader': 3.1.7 + '@smithy/types': 3.4.2 tslib: 2.7.0 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' @@ -9492,158 +9718,160 @@ snapshots: '@aws-sdk/credential-provider-process@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 - '@smithy/property-provider': 3.1.4 - '@smithy/shared-ini-file-loader': 3.1.5 - '@smithy/types': 3.4.0 + '@smithy/property-provider': 3.1.6 + '@smithy/shared-ini-file-loader': 3.1.7 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@aws-sdk/credential-provider-sso@3.649.0(@aws-sdk/client-sso-oidc@3.649.0(@aws-sdk/client-sts@3.649.0))': + '@aws-sdk/credential-provider-sso@3.651.1(@aws-sdk/client-sso-oidc@3.651.1(@aws-sdk/client-sts@3.651.1))': dependencies: - '@aws-sdk/client-sso': 3.649.0 - '@aws-sdk/token-providers': 3.649.0(@aws-sdk/client-sso-oidc@3.649.0(@aws-sdk/client-sts@3.649.0)) + '@aws-sdk/client-sso': 3.651.1 + '@aws-sdk/token-providers': 3.649.0(@aws-sdk/client-sso-oidc@3.651.1(@aws-sdk/client-sts@3.651.1)) '@aws-sdk/types': 3.649.0 - '@smithy/property-provider': 3.1.4 - '@smithy/shared-ini-file-loader': 3.1.5 - '@smithy/types': 3.4.0 + '@smithy/property-provider': 3.1.6 + '@smithy/shared-ini-file-loader': 3.1.7 + '@smithy/types': 3.4.2 tslib: 2.7.0 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-web-identity@3.649.0(@aws-sdk/client-sts@3.649.0)': + '@aws-sdk/credential-provider-web-identity@3.649.0(@aws-sdk/client-sts@3.651.1)': dependencies: - '@aws-sdk/client-sts': 3.649.0 + '@aws-sdk/client-sts': 3.651.1 '@aws-sdk/types': 3.649.0 - '@smithy/property-provider': 3.1.4 - '@smithy/types': 3.4.0 + '@smithy/property-provider': 3.1.6 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@aws-sdk/middleware-bucket-endpoint@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 '@aws-sdk/util-arn-parser': 3.568.0 - '@smithy/node-config-provider': 3.1.5 - '@smithy/protocol-http': 4.1.1 - '@smithy/types': 3.4.0 + '@smithy/node-config-provider': 3.1.7 + '@smithy/protocol-http': 4.1.3 + '@smithy/types': 3.4.2 '@smithy/util-config-provider': 3.0.0 tslib: 2.7.0 '@aws-sdk/middleware-expect-continue@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 - '@smithy/protocol-http': 4.1.1 - '@smithy/types': 3.4.0 + '@smithy/protocol-http': 4.1.3 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@aws-sdk/middleware-flexible-checksums@3.649.0': + '@aws-sdk/middleware-flexible-checksums@3.651.1': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 '@aws-sdk/types': 3.649.0 '@smithy/is-array-buffer': 3.0.0 - '@smithy/protocol-http': 4.1.1 - '@smithy/types': 3.4.0 + '@smithy/node-config-provider': 3.1.7 + '@smithy/protocol-http': 4.1.3 + '@smithy/types': 3.4.2 + '@smithy/util-middleware': 3.0.6 '@smithy/util-utf8': 3.0.0 tslib: 2.7.0 '@aws-sdk/middleware-host-header@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 - '@smithy/protocol-http': 4.1.1 - '@smithy/types': 3.4.0 + '@smithy/protocol-http': 4.1.3 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@aws-sdk/middleware-location-constraint@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@aws-sdk/middleware-logger@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@aws-sdk/middleware-recursion-detection@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 - '@smithy/protocol-http': 4.1.1 - '@smithy/types': 3.4.0 + '@smithy/protocol-http': 4.1.3 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@aws-sdk/middleware-sdk-s3@3.649.0': + '@aws-sdk/middleware-sdk-s3@3.651.1': dependencies: - '@aws-sdk/core': 3.649.0 + '@aws-sdk/core': 3.651.1 '@aws-sdk/types': 3.649.0 '@aws-sdk/util-arn-parser': 3.568.0 - '@smithy/core': 2.4.1 - '@smithy/node-config-provider': 3.1.5 - '@smithy/protocol-http': 4.1.1 - '@smithy/signature-v4': 4.1.1 - '@smithy/smithy-client': 3.3.0 - '@smithy/types': 3.4.0 + '@smithy/core': 2.4.3 + '@smithy/node-config-provider': 3.1.7 + '@smithy/protocol-http': 4.1.3 + '@smithy/signature-v4': 4.1.3 + '@smithy/smithy-client': 3.3.2 + '@smithy/types': 3.4.2 '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.4 - '@smithy/util-stream': 3.1.4 + '@smithy/util-middleware': 3.0.6 + '@smithy/util-stream': 3.1.6 '@smithy/util-utf8': 3.0.0 tslib: 2.7.0 '@aws-sdk/middleware-ssec@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@aws-sdk/middleware-user-agent@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 '@aws-sdk/util-endpoints': 3.649.0 - '@smithy/protocol-http': 4.1.1 - '@smithy/types': 3.4.0 + '@smithy/protocol-http': 4.1.3 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@aws-sdk/region-config-resolver@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 - '@smithy/node-config-provider': 3.1.5 - '@smithy/types': 3.4.0 + '@smithy/node-config-provider': 3.1.7 + '@smithy/types': 3.4.2 '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.4 + '@smithy/util-middleware': 3.0.6 tslib: 2.7.0 - '@aws-sdk/s3-request-presigner@3.649.0': + '@aws-sdk/s3-request-presigner@3.651.1': dependencies: - '@aws-sdk/signature-v4-multi-region': 3.649.0 + '@aws-sdk/signature-v4-multi-region': 3.651.1 '@aws-sdk/types': 3.649.0 '@aws-sdk/util-format-url': 3.649.0 - '@smithy/middleware-endpoint': 3.1.1 - '@smithy/protocol-http': 4.1.1 - '@smithy/smithy-client': 3.3.0 - '@smithy/types': 3.4.0 + '@smithy/middleware-endpoint': 3.1.3 + '@smithy/protocol-http': 4.1.3 + '@smithy/smithy-client': 3.3.2 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@aws-sdk/signature-v4-multi-region@3.649.0': + '@aws-sdk/signature-v4-multi-region@3.651.1': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.649.0 + '@aws-sdk/middleware-sdk-s3': 3.651.1 '@aws-sdk/types': 3.649.0 - '@smithy/protocol-http': 4.1.1 - '@smithy/signature-v4': 4.1.1 - '@smithy/types': 3.4.0 + '@smithy/protocol-http': 4.1.3 + '@smithy/signature-v4': 4.1.3 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@aws-sdk/token-providers@3.649.0(@aws-sdk/client-sso-oidc@3.649.0(@aws-sdk/client-sts@3.649.0))': + '@aws-sdk/token-providers@3.649.0(@aws-sdk/client-sso-oidc@3.651.1(@aws-sdk/client-sts@3.651.1))': dependencies: - '@aws-sdk/client-sso-oidc': 3.649.0(@aws-sdk/client-sts@3.649.0) + '@aws-sdk/client-sso-oidc': 3.651.1(@aws-sdk/client-sts@3.651.1) '@aws-sdk/types': 3.649.0 - '@smithy/property-provider': 3.1.4 - '@smithy/shared-ini-file-loader': 3.1.5 - '@smithy/types': 3.4.0 + '@smithy/property-provider': 3.1.6 + '@smithy/shared-ini-file-loader': 3.1.7 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@aws-sdk/types@3.649.0': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@aws-sdk/util-arn-parser@3.568.0': @@ -9653,15 +9881,15 @@ snapshots: '@aws-sdk/util-endpoints@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 - '@smithy/types': 3.4.0 - '@smithy/util-endpoints': 2.1.0 + '@smithy/types': 3.4.2 + '@smithy/util-endpoints': 2.1.2 tslib: 2.7.0 '@aws-sdk/util-format-url@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 - '@smithy/querystring-builder': 3.0.4 - '@smithy/types': 3.4.0 + '@smithy/querystring-builder': 3.0.6 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@aws-sdk/util-locate-window@3.568.0': @@ -9671,20 +9899,20 @@ snapshots: '@aws-sdk/util-user-agent-browser@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 bowser: 2.11.0 tslib: 2.7.0 '@aws-sdk/util-user-agent-node@3.649.0': dependencies: '@aws-sdk/types': 3.649.0 - '@smithy/node-config-provider': 3.1.5 - '@smithy/types': 3.4.0 + '@smithy/node-config-provider': 3.1.7 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@aws-sdk/xml-builder@3.649.0': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@babel/code-frame@7.24.7': @@ -9885,7 +10113,7 @@ snapshots: '@esbuild-kit/esm-loader@2.6.5': dependencies: '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.8.0 + get-tsconfig: 4.8.1 '@esbuild/aix-ppc64@0.19.11': optional: true @@ -10237,7 +10465,7 @@ snapshots: eslint: 8.57.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.0': {} + '@eslint-community/regexpp@4.11.1': {} '@eslint/eslintrc@2.1.4': dependencies: @@ -10257,28 +10485,28 @@ snapshots: '@faker-js/faker@8.4.1': {} - '@floating-ui/core@1.6.7': + '@floating-ui/core@1.6.8': dependencies: - '@floating-ui/utils': 0.2.7 + '@floating-ui/utils': 0.2.8 - '@floating-ui/dom@1.6.10': + '@floating-ui/dom@1.6.11': dependencies: - '@floating-ui/core': 1.6.7 - '@floating-ui/utils': 0.2.7 + '@floating-ui/core': 1.6.8 + '@floating-ui/utils': 0.2.8 - '@floating-ui/react-dom@2.1.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0)': + '@floating-ui/react-dom@2.1.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0)': dependencies: - '@floating-ui/dom': 1.6.10 + '@floating-ui/dom': 1.6.11 react: 18.3.0 react-dom: 18.3.0(react@18.3.0) - '@floating-ui/react-dom@2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/dom': 1.6.10 + '@floating-ui/dom': 1.6.11 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@floating-ui/utils@0.2.7': {} + '@floating-ui/utils@0.2.8': {} '@grpc/grpc-js@1.11.2': dependencies: @@ -10292,13 +10520,13 @@ snapshots: protobufjs: 7.4.0 yargs: 17.7.2 - '@hono/node-server@1.12.2(hono@4.5.11)': + '@hono/node-server@1.12.2(hono@4.6.1)': dependencies: - hono: 4.5.11 + hono: 4.6.1 - '@hono/zod-validator@0.2.2(hono@4.5.11)(zod@3.23.8)': + '@hono/zod-validator@0.2.2(hono@4.6.1)(zod@3.23.8)': dependencies: - hono: 4.5.11 + hono: 4.6.1 zod: 3.23.8 '@humanwhocodes/config-array@0.11.14': @@ -10315,7 +10543,7 @@ snapshots: '@humanwhocodes/retry@0.3.0': {} - '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.5.4)(prettier@3.3.3)': + '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.5.5)(prettier@3.3.3)': dependencies: '@babel/core': 7.25.2 '@babel/generator': 7.25.6 @@ -10325,7 +10553,7 @@ snapshots: prettier: 3.3.3 semver: 7.6.3 optionalDependencies: - '@vue/compiler-sfc': 3.5.4 + '@vue/compiler-sfc': 3.5.5 transitivePeerDependencies: - supports-color @@ -10414,7 +10642,7 @@ snapshots: '@inquirer/figures': 1.0.5 '@inquirer/type': 1.5.3 '@types/mute-stream': 0.0.4 - '@types/node': 22.5.4 + '@types/node': 22.5.5 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-spinners: 2.9.2 @@ -10479,11 +10707,10 @@ snapshots: '@logdna/tail-file@2.2.0': {} - '@lucia-auth/adapter-drizzle@1.1.0(drizzle-orm@0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.9)(@types/react@18.3.0)(pg@8.12.0)(react@19.0.0-rc-f994737d14-20240522))(lucia@3.2.0)': + '@lucia-auth/adapter-drizzle@1.1.0(drizzle-orm@0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.0)(pg@8.12.0)(react@19.0.0-rc-f994737d14-20240522))(lucia@3.2.0)': dependencies: + drizzle-orm: 0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.0)(pg@8.12.0)(react@19.0.0-rc-f994737d14-20240522) lucia: 3.2.0 - optionalDependencies: - drizzle-orm: 0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.9)(@types/react@18.3.0)(pg@8.12.0)(react@19.0.0-rc-f994737d14-20240522) '@lukeed/ms@2.0.2': {} @@ -10540,7 +10767,7 @@ snapshots: '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': optional: true - '@mswjs/interceptors@0.35.1': + '@mswjs/interceptors@0.35.5': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -10553,7 +10780,7 @@ snapshots: '@next/env@14.3.0-canary.87': {} - '@next/eslint-plugin-next@14.2.9': + '@next/eslint-plugin-next@14.2.11': dependencies: glob: 10.3.10 @@ -11185,13 +11412,13 @@ snapshots: dependencies: tslib: 2.7.0 - '@poppinss/utils@6.7.3': + '@poppinss/utils@6.8.1': dependencies: '@lukeed/ms': 2.0.2 '@types/bytes': 3.1.4 '@types/pluralize': 0.0.33 bytes: 3.1.2 - case-anything: 2.1.13 + case-anything: 3.1.0 flattie: 1.1.1 pluralize: 8.0.0 safe-stable-stringify: 2.5.0 @@ -11231,9 +11458,9 @@ snapshots: '@protobufjs/utf8@1.1.0': {} - '@pulumi/aws@6.51.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)': + '@pulumi/aws@6.51.1(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)': dependencies: - '@pulumi/pulumi': 3.131.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) + '@pulumi/pulumi': 3.132.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) builtin-modules: 3.0.0 mime: 2.6.0 resolve: 1.22.8 @@ -11245,10 +11472,10 @@ snapshots: '@pulumi/awsx@2.14.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)': dependencies: - '@aws-sdk/client-ecs': 3.649.0 - '@pulumi/aws': 6.51.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) + '@aws-sdk/client-ecs': 3.651.1 + '@pulumi/aws': 6.51.1(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) '@pulumi/docker': 4.5.5(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) - '@pulumi/pulumi': 3.131.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) + '@pulumi/pulumi': 3.132.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) '@types/aws-lambda': 8.10.145 aws-sdk: 2.1691.0 docker-classic: '@pulumi/docker@3.6.1(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)' @@ -11262,7 +11489,7 @@ snapshots: '@pulumi/docker@3.6.1(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)': dependencies: - '@pulumi/pulumi': 3.131.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) + '@pulumi/pulumi': 3.132.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) semver: 5.7.2 transitivePeerDependencies: - bluebird @@ -11272,7 +11499,7 @@ snapshots: '@pulumi/docker@4.5.5(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)': dependencies: - '@pulumi/pulumi': 3.131.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) + '@pulumi/pulumi': 3.132.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2) semver: 5.7.2 transitivePeerDependencies: - bluebird @@ -11280,7 +11507,7 @@ snapshots: - ts-node - typescript - '@pulumi/pulumi@3.131.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)': + '@pulumi/pulumi@3.132.0(ts-node@10.9.2(@types/node@18.19.50)(typescript@5.6.2))(typescript@5.6.2)': dependencies: '@grpc/grpc-js': 1.11.2 '@logdna/tail-file': 2.2.0 @@ -11701,7 +11928,7 @@ snapshots: '@radix-ui/react-popper@1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.0)(react-dom@18.3.0(react@18.3.0))(react@18.3.0)': dependencies: - '@floating-ui/react-dom': 2.1.1(react-dom@18.3.0(react@18.3.0))(react@18.3.0) + '@floating-ui/react-dom': 2.1.2(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.0)(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.0)(react@18.3.0) '@radix-ui/react-context': 1.1.0(@types/react@18.3.0)(react@18.3.0) @@ -11719,7 +11946,7 @@ snapshots: '@radix-ui/react-popper@1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.0)(react@18.3.1) '@radix-ui/react-context': 1.1.0(@types/react@18.3.0)(react@18.3.1) @@ -12218,11 +12445,11 @@ snapshots: dependencies: react: 18.3.1 - '@rollup/plugin-alias@5.1.0(rollup@4.21.2)': + '@rollup/plugin-alias@5.1.0(rollup@4.21.3)': dependencies: slash: 4.0.0 optionalDependencies: - rollup: 4.21.2 + rollup: 4.21.3 '@rollup/plugin-commonjs@26.0.1(rollup@3.29.4)': dependencies: @@ -12235,13 +12462,13 @@ snapshots: optionalDependencies: rollup: 3.29.4 - '@rollup/plugin-typescript@11.1.6(rollup@4.21.2)(tslib@2.7.0)(typescript@5.6.2)': + '@rollup/plugin-typescript@11.1.6(rollup@4.21.3)(tslib@2.7.0)(typescript@5.6.2)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.2) + '@rollup/pluginutils': 5.1.0(rollup@4.21.3) resolve: 1.22.8 typescript: 5.6.2 optionalDependencies: - rollup: 4.21.2 + rollup: 4.21.3 tslib: 2.7.0 '@rollup/pluginutils@5.1.0(rollup@3.29.4)': @@ -12252,60 +12479,60 @@ snapshots: optionalDependencies: rollup: 3.29.4 - '@rollup/pluginutils@5.1.0(rollup@4.21.2)': + '@rollup/pluginutils@5.1.0(rollup@4.21.3)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.21.2 + rollup: 4.21.3 - '@rollup/rollup-android-arm-eabi@4.21.2': + '@rollup/rollup-android-arm-eabi@4.21.3': optional: true - '@rollup/rollup-android-arm64@4.21.2': + '@rollup/rollup-android-arm64@4.21.3': optional: true - '@rollup/rollup-darwin-arm64@4.21.2': + '@rollup/rollup-darwin-arm64@4.21.3': optional: true - '@rollup/rollup-darwin-x64@4.21.2': + '@rollup/rollup-darwin-x64@4.21.3': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.21.2': + '@rollup/rollup-linux-arm-gnueabihf@4.21.3': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.21.2': + '@rollup/rollup-linux-arm-musleabihf@4.21.3': optional: true - '@rollup/rollup-linux-arm64-gnu@4.21.2': + '@rollup/rollup-linux-arm64-gnu@4.21.3': optional: true - '@rollup/rollup-linux-arm64-musl@4.21.2': + '@rollup/rollup-linux-arm64-musl@4.21.3': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': + '@rollup/rollup-linux-powerpc64le-gnu@4.21.3': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.21.2': + '@rollup/rollup-linux-riscv64-gnu@4.21.3': optional: true - '@rollup/rollup-linux-s390x-gnu@4.21.2': + '@rollup/rollup-linux-s390x-gnu@4.21.3': optional: true - '@rollup/rollup-linux-x64-gnu@4.21.2': + '@rollup/rollup-linux-x64-gnu@4.21.3': optional: true - '@rollup/rollup-linux-x64-musl@4.21.2': + '@rollup/rollup-linux-x64-musl@4.21.3': optional: true - '@rollup/rollup-win32-arm64-msvc@4.21.2': + '@rollup/rollup-win32-arm64-msvc@4.21.3': optional: true - '@rollup/rollup-win32-ia32-msvc@4.21.2': + '@rollup/rollup-win32-ia32-msvc@4.21.3': optional: true - '@rollup/rollup-win32-x64-msvc@4.21.2': + '@rollup/rollup-win32-x64-msvc@4.21.3': optional: true '@rtsao/scc@1.1.0': {} @@ -12567,9 +12794,9 @@ snapshots: dependencies: escape-string-regexp: 5.0.0 - '@smithy/abort-controller@3.1.2': + '@smithy/abort-controller@3.1.4': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@smithy/chunked-blob-reader-native@3.0.0': @@ -12581,96 +12808,96 @@ snapshots: dependencies: tslib: 2.7.0 - '@smithy/config-resolver@3.0.6': + '@smithy/config-resolver@3.0.8': dependencies: - '@smithy/node-config-provider': 3.1.5 - '@smithy/types': 3.4.0 + '@smithy/node-config-provider': 3.1.7 + '@smithy/types': 3.4.2 '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.4 + '@smithy/util-middleware': 3.0.6 tslib: 2.7.0 - '@smithy/core@2.4.1': + '@smithy/core@2.4.3': dependencies: - '@smithy/middleware-endpoint': 3.1.1 - '@smithy/middleware-retry': 3.0.16 - '@smithy/middleware-serde': 3.0.4 - '@smithy/protocol-http': 4.1.1 - '@smithy/smithy-client': 3.3.0 - '@smithy/types': 3.4.0 + '@smithy/middleware-endpoint': 3.1.3 + '@smithy/middleware-retry': 3.0.18 + '@smithy/middleware-serde': 3.0.6 + '@smithy/protocol-http': 4.1.3 + '@smithy/smithy-client': 3.3.2 + '@smithy/types': 3.4.2 '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-middleware': 3.0.4 + '@smithy/util-middleware': 3.0.6 '@smithy/util-utf8': 3.0.0 tslib: 2.7.0 - '@smithy/credential-provider-imds@3.2.1': + '@smithy/credential-provider-imds@3.2.3': dependencies: - '@smithy/node-config-provider': 3.1.5 - '@smithy/property-provider': 3.1.4 - '@smithy/types': 3.4.0 - '@smithy/url-parser': 3.0.4 + '@smithy/node-config-provider': 3.1.7 + '@smithy/property-provider': 3.1.6 + '@smithy/types': 3.4.2 + '@smithy/url-parser': 3.0.6 tslib: 2.7.0 - '@smithy/eventstream-codec@3.1.3': + '@smithy/eventstream-codec@3.1.5': dependencies: '@aws-crypto/crc32': 5.2.0 - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 '@smithy/util-hex-encoding': 3.0.0 tslib: 2.7.0 - '@smithy/eventstream-serde-browser@3.0.7': + '@smithy/eventstream-serde-browser@3.0.9': dependencies: - '@smithy/eventstream-serde-universal': 3.0.6 - '@smithy/types': 3.4.0 + '@smithy/eventstream-serde-universal': 3.0.8 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/eventstream-serde-config-resolver@3.0.4': + '@smithy/eventstream-serde-config-resolver@3.0.6': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/eventstream-serde-node@3.0.6': + '@smithy/eventstream-serde-node@3.0.8': dependencies: - '@smithy/eventstream-serde-universal': 3.0.6 - '@smithy/types': 3.4.0 + '@smithy/eventstream-serde-universal': 3.0.8 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/eventstream-serde-universal@3.0.6': + '@smithy/eventstream-serde-universal@3.0.8': dependencies: - '@smithy/eventstream-codec': 3.1.3 - '@smithy/types': 3.4.0 + '@smithy/eventstream-codec': 3.1.5 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/fetch-http-handler@3.2.5': + '@smithy/fetch-http-handler@3.2.7': dependencies: - '@smithy/protocol-http': 4.1.1 - '@smithy/querystring-builder': 3.0.4 - '@smithy/types': 3.4.0 + '@smithy/protocol-http': 4.1.3 + '@smithy/querystring-builder': 3.0.6 + '@smithy/types': 3.4.2 '@smithy/util-base64': 3.0.0 tslib: 2.7.0 - '@smithy/hash-blob-browser@3.1.3': + '@smithy/hash-blob-browser@3.1.5': dependencies: '@smithy/chunked-blob-reader': 3.0.0 '@smithy/chunked-blob-reader-native': 3.0.0 - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/hash-node@3.0.4': + '@smithy/hash-node@3.0.6': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 '@smithy/util-buffer-from': 3.0.0 '@smithy/util-utf8': 3.0.0 tslib: 2.7.0 - '@smithy/hash-stream-node@3.1.3': + '@smithy/hash-stream-node@3.1.5': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 '@smithy/util-utf8': 3.0.0 tslib: 2.7.0 - '@smithy/invalid-dependency@3.0.4': + '@smithy/invalid-dependency@3.0.6': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@smithy/is-array-buffer@2.2.0': @@ -12681,123 +12908,123 @@ snapshots: dependencies: tslib: 2.7.0 - '@smithy/md5-js@3.0.4': + '@smithy/md5-js@3.0.6': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 '@smithy/util-utf8': 3.0.0 tslib: 2.7.0 - '@smithy/middleware-content-length@3.0.6': + '@smithy/middleware-content-length@3.0.8': dependencies: - '@smithy/protocol-http': 4.1.1 - '@smithy/types': 3.4.0 + '@smithy/protocol-http': 4.1.3 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/middleware-endpoint@3.1.1': + '@smithy/middleware-endpoint@3.1.3': dependencies: - '@smithy/middleware-serde': 3.0.4 - '@smithy/node-config-provider': 3.1.5 - '@smithy/shared-ini-file-loader': 3.1.5 - '@smithy/types': 3.4.0 - '@smithy/url-parser': 3.0.4 - '@smithy/util-middleware': 3.0.4 + '@smithy/middleware-serde': 3.0.6 + '@smithy/node-config-provider': 3.1.7 + '@smithy/shared-ini-file-loader': 3.1.7 + '@smithy/types': 3.4.2 + '@smithy/url-parser': 3.0.6 + '@smithy/util-middleware': 3.0.6 tslib: 2.7.0 - '@smithy/middleware-retry@3.0.16': + '@smithy/middleware-retry@3.0.18': dependencies: - '@smithy/node-config-provider': 3.1.5 - '@smithy/protocol-http': 4.1.1 - '@smithy/service-error-classification': 3.0.4 - '@smithy/smithy-client': 3.3.0 - '@smithy/types': 3.4.0 - '@smithy/util-middleware': 3.0.4 - '@smithy/util-retry': 3.0.4 + '@smithy/node-config-provider': 3.1.7 + '@smithy/protocol-http': 4.1.3 + '@smithy/service-error-classification': 3.0.6 + '@smithy/smithy-client': 3.3.2 + '@smithy/types': 3.4.2 + '@smithy/util-middleware': 3.0.6 + '@smithy/util-retry': 3.0.6 tslib: 2.7.0 uuid: 9.0.1 - '@smithy/middleware-serde@3.0.4': + '@smithy/middleware-serde@3.0.6': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/middleware-stack@3.0.4': + '@smithy/middleware-stack@3.0.6': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/node-config-provider@3.1.5': + '@smithy/node-config-provider@3.1.7': dependencies: - '@smithy/property-provider': 3.1.4 - '@smithy/shared-ini-file-loader': 3.1.5 - '@smithy/types': 3.4.0 + '@smithy/property-provider': 3.1.6 + '@smithy/shared-ini-file-loader': 3.1.7 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/node-http-handler@3.2.0': + '@smithy/node-http-handler@3.2.2': dependencies: - '@smithy/abort-controller': 3.1.2 - '@smithy/protocol-http': 4.1.1 - '@smithy/querystring-builder': 3.0.4 - '@smithy/types': 3.4.0 + '@smithy/abort-controller': 3.1.4 + '@smithy/protocol-http': 4.1.3 + '@smithy/querystring-builder': 3.0.6 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/property-provider@3.1.4': + '@smithy/property-provider@3.1.6': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/protocol-http@4.1.1': + '@smithy/protocol-http@4.1.3': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/querystring-builder@3.0.4': + '@smithy/querystring-builder@3.0.6': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 '@smithy/util-uri-escape': 3.0.0 tslib: 2.7.0 - '@smithy/querystring-parser@3.0.4': + '@smithy/querystring-parser@3.0.6': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/service-error-classification@3.0.4': + '@smithy/service-error-classification@3.0.6': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 - '@smithy/shared-ini-file-loader@3.1.5': + '@smithy/shared-ini-file-loader@3.1.7': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/signature-v4@4.1.1': + '@smithy/signature-v4@4.1.3': dependencies: '@smithy/is-array-buffer': 3.0.0 - '@smithy/protocol-http': 4.1.1 - '@smithy/types': 3.4.0 + '@smithy/protocol-http': 4.1.3 + '@smithy/types': 3.4.2 '@smithy/util-hex-encoding': 3.0.0 - '@smithy/util-middleware': 3.0.4 + '@smithy/util-middleware': 3.0.6 '@smithy/util-uri-escape': 3.0.0 '@smithy/util-utf8': 3.0.0 tslib: 2.7.0 - '@smithy/smithy-client@3.3.0': + '@smithy/smithy-client@3.3.2': dependencies: - '@smithy/middleware-endpoint': 3.1.1 - '@smithy/middleware-stack': 3.0.4 - '@smithy/protocol-http': 4.1.1 - '@smithy/types': 3.4.0 - '@smithy/util-stream': 3.1.4 + '@smithy/middleware-endpoint': 3.1.3 + '@smithy/middleware-stack': 3.0.6 + '@smithy/protocol-http': 4.1.3 + '@smithy/types': 3.4.2 + '@smithy/util-stream': 3.1.6 tslib: 2.7.0 - '@smithy/types@3.4.0': + '@smithy/types@3.4.2': dependencies: tslib: 2.7.0 - '@smithy/url-parser@3.0.4': + '@smithy/url-parser@3.0.6': dependencies: - '@smithy/querystring-parser': 3.0.4 - '@smithy/types': 3.4.0 + '@smithy/querystring-parser': 3.0.6 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@smithy/util-base64@3.0.0': @@ -12828,50 +13055,50 @@ snapshots: dependencies: tslib: 2.7.0 - '@smithy/util-defaults-mode-browser@3.0.16': + '@smithy/util-defaults-mode-browser@3.0.18': dependencies: - '@smithy/property-provider': 3.1.4 - '@smithy/smithy-client': 3.3.0 - '@smithy/types': 3.4.0 + '@smithy/property-provider': 3.1.6 + '@smithy/smithy-client': 3.3.2 + '@smithy/types': 3.4.2 bowser: 2.11.0 tslib: 2.7.0 - '@smithy/util-defaults-mode-node@3.0.16': + '@smithy/util-defaults-mode-node@3.0.18': dependencies: - '@smithy/config-resolver': 3.0.6 - '@smithy/credential-provider-imds': 3.2.1 - '@smithy/node-config-provider': 3.1.5 - '@smithy/property-provider': 3.1.4 - '@smithy/smithy-client': 3.3.0 - '@smithy/types': 3.4.0 + '@smithy/config-resolver': 3.0.8 + '@smithy/credential-provider-imds': 3.2.3 + '@smithy/node-config-provider': 3.1.7 + '@smithy/property-provider': 3.1.6 + '@smithy/smithy-client': 3.3.2 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/util-endpoints@2.1.0': + '@smithy/util-endpoints@2.1.2': dependencies: - '@smithy/node-config-provider': 3.1.5 - '@smithy/types': 3.4.0 + '@smithy/node-config-provider': 3.1.7 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@smithy/util-hex-encoding@3.0.0': dependencies: tslib: 2.7.0 - '@smithy/util-middleware@3.0.4': + '@smithy/util-middleware@3.0.6': dependencies: - '@smithy/types': 3.4.0 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/util-retry@3.0.4': + '@smithy/util-retry@3.0.6': dependencies: - '@smithy/service-error-classification': 3.0.4 - '@smithy/types': 3.4.0 + '@smithy/service-error-classification': 3.0.6 + '@smithy/types': 3.4.2 tslib: 2.7.0 - '@smithy/util-stream@3.1.4': + '@smithy/util-stream@3.1.6': dependencies: - '@smithy/fetch-http-handler': 3.2.5 - '@smithy/node-http-handler': 3.2.0 - '@smithy/types': 3.4.0 + '@smithy/fetch-http-handler': 3.2.7 + '@smithy/node-http-handler': 3.2.2 + '@smithy/types': 3.4.2 '@smithy/util-base64': 3.0.0 '@smithy/util-buffer-from': 3.0.0 '@smithy/util-hex-encoding': 3.0.0 @@ -12892,10 +13119,10 @@ snapshots: '@smithy/util-buffer-from': 3.0.0 tslib: 2.7.0 - '@smithy/util-waiter@3.1.3': + '@smithy/util-waiter@3.1.5': dependencies: - '@smithy/abort-controller': 3.1.2 - '@smithy/types': 3.4.0 + '@smithy/abort-controller': 3.1.4 + '@smithy/types': 3.4.2 tslib: 2.7.0 '@socket.io/component-emitter@3.1.2': {} @@ -12991,7 +13218,7 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.16.5 + '@types/node': 22.5.5 '@types/bytes@3.1.4': {} @@ -12999,7 +13226,7 @@ snapshots: dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 22.5.4 + '@types/node': 22.5.5 '@types/responselike': 1.0.3 '@types/connect@3.4.36': @@ -13008,7 +13235,11 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 20.16.5 + '@types/node': 22.5.5 + + '@types/cookie-parser@1.4.7': + dependencies: + '@types/express': 4.17.21 '@types/cookie@0.4.1': {} @@ -13016,7 +13247,7 @@ snapshots: '@types/cors@2.8.17': dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 '@types/diff-match-patch@1.0.36': {} @@ -13026,8 +13257,8 @@ snapshots: '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 20.16.5 - '@types/qs': 6.9.15 + '@types/node': 22.5.5 + '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -13035,7 +13266,7 @@ snapshots: dependencies: '@types/body-parser': 1.19.5 '@types/express-serve-static-core': 4.19.5 - '@types/qs': 6.9.15 + '@types/qs': 6.9.16 '@types/serve-static': 1.15.7 '@types/google-protobuf@3.15.12': {} @@ -13052,7 +13283,7 @@ snapshots: '@types/keyv@3.1.4': dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 '@types/lodash-es@4.17.12': dependencies: @@ -13064,7 +13295,7 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 '@types/mysql@2.15.26': dependencies: @@ -13078,7 +13309,7 @@ snapshots: dependencies: undici-types: 6.19.8 - '@types/node@22.5.4': + '@types/node@22.5.5': dependencies: undici-types: 6.19.8 @@ -13093,7 +13324,7 @@ snapshots: '@types/nodemailer@6.4.15': dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 '@types/normalize-package-data@2.4.4': {} @@ -13101,11 +13332,11 @@ snapshots: '@types/pg-pool@2.0.6': dependencies: - '@types/pg': 8.11.9 + '@types/pg': 8.11.10 - '@types/pg@8.11.9': + '@types/pg@8.11.10': dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 pg-protocol: 1.6.1 pg-types: 4.0.2 @@ -13119,7 +13350,7 @@ snapshots: '@types/prop-types@15.7.12': {} - '@types/qs@6.9.15': {} + '@types/qs@6.9.16': {} '@types/range-parser@1.2.7': {} @@ -13138,19 +13369,19 @@ snapshots: '@types/responselike@1.0.3': dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 '@types/semver@7.5.8': {} '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.16.5 + '@types/node': 22.5.5 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.16.5 + '@types/node': 22.5.5 '@types/send': 0.17.4 '@types/shimmer@1.2.0': {} @@ -13167,7 +13398,7 @@ snapshots: '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2)': dependencies: - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/regexpp': 4.11.1 '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.2) '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.6.2) @@ -13187,7 +13418,7 @@ snapshots: '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2)': dependencies: - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/regexpp': 4.11.1 '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.6.2) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.0)(typescript@5.6.2) @@ -13375,7 +13606,7 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vercel/style-guide@5.2.0(@next/eslint-plugin-next@14.2.9)(eslint@8.57.0)(prettier@3.3.3)(typescript@5.6.2)': + '@vercel/style-guide@5.2.0(@next/eslint-plugin-next@14.2.11)(eslint@8.57.0)(prettier@3.3.3)(typescript@5.6.2)': dependencies: '@babel/core': 7.25.2 '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.0) @@ -13390,14 +13621,14 @@ snapshots: eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2) eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) eslint-plugin-playwright: 0.16.0(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0) - eslint-plugin-react: 7.35.2(eslint@8.57.0) + eslint-plugin-react: 7.36.1(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) eslint-plugin-testing-library: 6.3.0(eslint@8.57.0)(typescript@5.6.2) eslint-plugin-tsdoc: 0.2.17 eslint-plugin-unicorn: 48.0.1(eslint@8.57.0) prettier-plugin-packagejson: 2.5.2(prettier@3.3.3) optionalDependencies: - '@next/eslint-plugin-next': 14.2.9 + '@next/eslint-plugin-next': 14.2.11 eslint: 8.57.0 prettier: 3.3.3 typescript: 5.6.2 @@ -13414,14 +13645,32 @@ snapshots: '@vitest/utils': 1.6.0 chai: 4.5.0 - '@vitest/expect@2.0.5': + '@vitest/expect@2.1.1': dependencies: - '@vitest/spy': 2.0.5 - '@vitest/utils': 2.0.5 + '@vitest/spy': 2.1.1 + '@vitest/utils': 2.1.1 chai: 5.1.1 tinyrainbow: 1.2.0 - '@vitest/pretty-format@2.0.5': + '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(msw@2.4.6(typescript@5.6.2))(vite@5.4.5(@types/node@20.16.5)(terser@5.32.0))': + dependencies: + '@vitest/spy': 2.1.1 + estree-walker: 3.0.3 + magic-string: 0.30.11 + optionalDependencies: + msw: 2.4.6(typescript@5.6.2) + vite: 5.4.5(@types/node@20.16.5)(terser@5.32.0) + + '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(msw@2.4.6(typescript@5.6.2))(vite@5.4.5(@types/node@22.5.5)(terser@5.32.0))': + dependencies: + '@vitest/spy': 2.1.1 + estree-walker: 3.0.3 + magic-string: 0.30.11 + optionalDependencies: + msw: 2.4.6(typescript@5.6.2) + vite: 5.4.5(@types/node@22.5.5)(terser@5.32.0) + + '@vitest/pretty-format@2.1.1': dependencies: tinyrainbow: 1.2.0 @@ -13431,9 +13680,9 @@ snapshots: p-limit: 5.0.0 pathe: 1.1.2 - '@vitest/runner@2.0.5': + '@vitest/runner@2.1.1': dependencies: - '@vitest/utils': 2.0.5 + '@vitest/utils': 2.1.1 pathe: 1.1.2 '@vitest/snapshot@1.6.0': @@ -13442,9 +13691,9 @@ snapshots: pathe: 1.1.2 pretty-format: 29.7.0 - '@vitest/snapshot@2.0.5': + '@vitest/snapshot@2.1.1': dependencies: - '@vitest/pretty-format': 2.0.5 + '@vitest/pretty-format': 2.1.1 magic-string: 0.30.11 pathe: 1.1.2 @@ -13452,7 +13701,7 @@ snapshots: dependencies: tinyspy: 2.2.1 - '@vitest/spy@2.0.5': + '@vitest/spy@2.1.1': dependencies: tinyspy: 3.0.2 @@ -13463,66 +13712,65 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 - '@vitest/utils@2.0.5': + '@vitest/utils@2.1.1': dependencies: - '@vitest/pretty-format': 2.0.5 - estree-walker: 3.0.3 + '@vitest/pretty-format': 2.1.1 loupe: 3.1.1 tinyrainbow: 1.2.0 - '@vue/compiler-core@3.5.4': + '@vue/compiler-core@3.5.5': dependencies: '@babel/parser': 7.25.6 - '@vue/shared': 3.5.4 + '@vue/shared': 3.5.5 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.4': + '@vue/compiler-dom@3.5.5': dependencies: - '@vue/compiler-core': 3.5.4 - '@vue/shared': 3.5.4 + '@vue/compiler-core': 3.5.5 + '@vue/shared': 3.5.5 - '@vue/compiler-sfc@3.5.4': + '@vue/compiler-sfc@3.5.5': dependencies: '@babel/parser': 7.25.6 - '@vue/compiler-core': 3.5.4 - '@vue/compiler-dom': 3.5.4 - '@vue/compiler-ssr': 3.5.4 - '@vue/shared': 3.5.4 + '@vue/compiler-core': 3.5.5 + '@vue/compiler-dom': 3.5.5 + '@vue/compiler-ssr': 3.5.5 + '@vue/shared': 3.5.5 estree-walker: 2.0.2 magic-string: 0.30.11 - postcss: 8.4.45 + postcss: 8.4.47 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.4': + '@vue/compiler-ssr@3.5.5': dependencies: - '@vue/compiler-dom': 3.5.4 - '@vue/shared': 3.5.4 + '@vue/compiler-dom': 3.5.5 + '@vue/shared': 3.5.5 - '@vue/reactivity@3.5.4': + '@vue/reactivity@3.5.5': dependencies: - '@vue/shared': 3.5.4 + '@vue/shared': 3.5.5 - '@vue/runtime-core@3.5.4': + '@vue/runtime-core@3.5.5': dependencies: - '@vue/reactivity': 3.5.4 - '@vue/shared': 3.5.4 + '@vue/reactivity': 3.5.5 + '@vue/shared': 3.5.5 - '@vue/runtime-dom@3.5.4': + '@vue/runtime-dom@3.5.5': dependencies: - '@vue/reactivity': 3.5.4 - '@vue/runtime-core': 3.5.4 - '@vue/shared': 3.5.4 + '@vue/reactivity': 3.5.5 + '@vue/runtime-core': 3.5.5 + '@vue/shared': 3.5.5 csstype: 3.1.3 - '@vue/server-renderer@3.5.4(vue@3.5.4(typescript@5.6.2))': + '@vue/server-renderer@3.5.5(vue@3.5.5(typescript@5.6.2))': dependencies: - '@vue/compiler-ssr': 3.5.4 - '@vue/shared': 3.5.4 - vue: 3.5.4(typescript@5.6.2) + '@vue/compiler-ssr': 3.5.5 + '@vue/shared': 3.5.5 + vue: 3.5.5(typescript@5.6.2) - '@vue/shared@3.5.4': {} + '@vue/shared@3.5.5': {} '@webassemblyjs/ast@1.12.1': dependencies: @@ -13642,15 +13890,15 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ai@3.3.33(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.4(typescript@5.6.2))(zod@3.23.8): + ai@3.3.37(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.5(typescript@5.6.2))(zod@3.23.8): dependencies: '@ai-sdk/provider': 0.0.23 - '@ai-sdk/provider-utils': 1.0.18(zod@3.23.8) - '@ai-sdk/react': 0.0.55(react@18.3.1)(zod@3.23.8) - '@ai-sdk/solid': 0.0.44(zod@3.23.8) - '@ai-sdk/svelte': 0.0.46(svelte@4.2.19)(zod@3.23.8) - '@ai-sdk/ui-utils': 0.0.41(zod@3.23.8) - '@ai-sdk/vue': 0.0.46(vue@3.5.4(typescript@5.6.2))(zod@3.23.8) + '@ai-sdk/provider-utils': 1.0.19(zod@3.23.8) + '@ai-sdk/react': 0.0.59(react@18.3.1)(zod@3.23.8) + '@ai-sdk/solid': 0.0.47(zod@3.23.8) + '@ai-sdk/svelte': 0.0.49(svelte@4.2.19)(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.44(zod@3.23.8) + '@ai-sdk/vue': 0.0.49(vue@3.5.5(typescript@5.6.2))(zod@3.23.8) '@opentelemetry/api': 1.9.0 eventsource-parser: 1.1.2 json-schema: 0.4.0 @@ -13667,15 +13915,15 @@ snapshots: - solid-js - vue - ai@3.3.33(react@19.0.0-rc-f994737d14-20240522)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.4(typescript@5.6.2))(zod@3.23.8): + ai@3.3.37(react@19.0.0-rc-f994737d14-20240522)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.5(typescript@5.6.2))(zod@3.23.8): dependencies: '@ai-sdk/provider': 0.0.23 - '@ai-sdk/provider-utils': 1.0.18(zod@3.23.8) - '@ai-sdk/react': 0.0.55(react@19.0.0-rc-f994737d14-20240522)(zod@3.23.8) - '@ai-sdk/solid': 0.0.44(zod@3.23.8) - '@ai-sdk/svelte': 0.0.46(svelte@4.2.19)(zod@3.23.8) - '@ai-sdk/ui-utils': 0.0.41(zod@3.23.8) - '@ai-sdk/vue': 0.0.46(vue@3.5.4(typescript@5.6.2))(zod@3.23.8) + '@ai-sdk/provider-utils': 1.0.19(zod@3.23.8) + '@ai-sdk/react': 0.0.59(react@19.0.0-rc-f994737d14-20240522)(zod@3.23.8) + '@ai-sdk/solid': 0.0.47(zod@3.23.8) + '@ai-sdk/svelte': 0.0.49(svelte@4.2.19)(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.44(zod@3.23.8) + '@ai-sdk/vue': 0.0.49(vue@3.5.5(typescript@5.6.2))(zod@3.23.8) '@opentelemetry/api': 1.9.0 eventsource-parser: 1.1.2 json-schema: 0.4.0 @@ -13758,11 +14006,15 @@ snapshots: dependencies: dequal: 2.0.3 + aria-query@5.3.1: {} + array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 is-array-buffer: 3.0.4 + array-flatten@1.1.1: {} + array-includes@3.1.8: dependencies: call-bind: 1.0.7 @@ -13839,14 +14091,14 @@ snapshots: asynckit@0.4.0: {} - autoprefixer@10.4.20(postcss@8.4.45): + autoprefixer@10.4.20(postcss@8.4.47): dependencies: browserslist: 4.23.3 caniuse-lite: 1.0.30001660 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.0 - postcss: 8.4.45 + postcss: 8.4.47 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: @@ -13903,6 +14155,23 @@ snapshots: bluebird@3.7.2: {} + body-parser@1.20.3: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + bowser@2.11.0: {} brace-expansion@1.1.11: @@ -13921,7 +14190,7 @@ snapshots: browserslist@4.23.3: dependencies: caniuse-lite: 1.0.30001660 - electron-to-chromium: 1.5.19 + electron-to-chromium: 1.5.23 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) @@ -13942,7 +14211,7 @@ snapshots: builtin-modules@3.3.0: {} - bullmq@5.12.15: + bullmq@5.13.0: dependencies: cron-parser: 4.9.0 ioredis: 5.4.1 @@ -14008,7 +14277,7 @@ snapshots: caniuse-lite@1.0.30001660: {} - case-anything@2.1.13: {} + case-anything@3.1.0: {} chai@4.5.0: dependencies: @@ -14187,12 +14456,25 @@ snapshots: dependencies: safe-buffer: 5.2.1 + content-type@1.0.5: {} + convert-source-map@2.0.0: {} + cookie-parser@1.4.6: + dependencies: + cookie: 0.4.1 + cookie-signature: 1.0.6 + + cookie-signature@1.0.6: {} + + cookie@0.4.1: {} + cookie@0.4.2: {} cookie@0.5.0: {} + cookie@0.6.0: {} + cookiejar@2.1.4: {} cors@2.8.5: @@ -14256,6 +14538,10 @@ snapshots: debounce@2.0.0: {} + debug@2.6.9: + dependencies: + ms: 2.0.0 + debug@3.2.7: dependencies: ms: 2.1.3 @@ -14325,8 +14611,12 @@ snapshots: depd@1.1.2: {} + depd@2.0.0: {} + dequal@2.0.3: {} + destroy@1.2.0: {} + detect-indent@7.0.1: {} detect-libc@2.0.3: @@ -14411,18 +14701,18 @@ snapshots: transitivePeerDependencies: - supports-color - drizzle-orm@0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.9)(@types/react@18.3.0)(pg@8.12.0)(react@18.3.1): + drizzle-orm@0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.0)(pg@8.12.0)(react@18.3.1): optionalDependencies: '@opentelemetry/api': 1.9.0 - '@types/pg': 8.11.9 + '@types/pg': 8.11.10 '@types/react': 18.3.0 pg: 8.12.0 react: 18.3.1 - drizzle-orm@0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.9)(@types/react@18.3.0)(pg@8.12.0)(react@19.0.0-rc-f994737d14-20240522): + drizzle-orm@0.33.0(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@18.3.0)(pg@8.12.0)(react@19.0.0-rc-f994737d14-20240522): optionalDependencies: '@opentelemetry/api': 1.9.0 - '@types/pg': 8.11.9 + '@types/pg': 8.11.10 '@types/react': 18.3.0 pg: 8.12.0 react: 19.0.0-rc-f994737d14-20240522 @@ -14436,12 +14726,18 @@ snapshots: minimatch: 9.0.1 semver: 7.6.3 - electron-to-chromium@1.5.19: {} + ee-first@1.1.1: {} + + electron-to-chromium@1.5.23: {} emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} + encodeurl@1.0.2: {} + + encodeurl@2.0.0: {} + encoding@0.1.13: dependencies: iconv-lite: 0.6.3 @@ -14451,13 +14747,25 @@ snapshots: dependencies: once: 1.4.0 + engine.io-client@6.5.4: + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.7 + engine.io-parser: 5.2.3 + ws: 8.17.1 + xmlhttprequest-ssl: 2.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + engine.io-parser@5.2.3: {} engine.io@6.5.5: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 - '@types/node': 22.5.4 + '@types/node': 22.5.5 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -14732,6 +15040,8 @@ snapshots: escalade@3.2.0: {} + escape-html@1.0.3: {} + escape-string-regexp@1.0.5: {} escape-string-regexp@4.0.0: {} @@ -14742,10 +15052,10 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-config-turbo@2.1.1(eslint@8.57.0): + eslint-config-turbo@2.1.2(eslint@8.57.0): dependencies: eslint: 8.57.0 - eslint-plugin-turbo: 2.1.1(eslint@8.57.0) + eslint-plugin-turbo: 2.1.2(eslint@8.57.0) eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)): dependencies: @@ -14767,7 +15077,7 @@ snapshots: eslint: 8.57.0 eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) fast-glob: 3.3.2 - get-tsconfig: 4.8.0 + get-tsconfig: 4.8.1 is-bun-module: 1.2.1 is-glob: 4.0.3 optionalDependencies: @@ -14878,7 +15188,7 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-plugin-react@7.35.2(eslint@8.57.0): + eslint-plugin-react@7.36.1(eslint@8.57.0): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -14913,7 +15223,7 @@ snapshots: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - eslint-plugin-turbo@2.1.1(eslint@8.57.0): + eslint-plugin-turbo@2.1.2(eslint@8.57.0): dependencies: dotenv: 16.0.3 eslint: 8.57.0 @@ -14954,7 +15264,7 @@ snapshots: eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/regexpp': 4.11.1 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 @@ -15056,6 +15366,42 @@ snapshots: exponential-backoff@3.1.1: {} + express@4.21.0: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.6.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.10 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + fast-deep-equal@2.0.1: {} fast-deep-equal@3.1.3: {} @@ -15094,6 +15440,18 @@ snapshots: dependencies: to-regex-range: 5.0.1 + finalhandler@1.3.1: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + find-up@4.1.0: dependencies: locate-path: 5.0.0 @@ -15119,15 +15477,15 @@ snapshots: flattie@1.1.1: {} - flydrive@1.1.0(@aws-sdk/client-s3@3.649.0)(@aws-sdk/s3-request-presigner@3.649.0): + flydrive@1.1.0(@aws-sdk/client-s3@3.651.1)(@aws-sdk/s3-request-presigner@3.651.1): dependencies: '@humanwhocodes/retry': 0.3.0 - '@poppinss/utils': 6.7.3 + '@poppinss/utils': 6.8.1 etag: 1.8.1 mime-types: 2.1.35 optionalDependencies: - '@aws-sdk/client-s3': 3.649.0 - '@aws-sdk/s3-request-presigner': 3.649.0 + '@aws-sdk/client-s3': 3.651.1 + '@aws-sdk/s3-request-presigner': 3.651.1 follow-redirects@1.15.9: {} @@ -15152,6 +15510,8 @@ snapshots: hexoid: 1.0.0 once: 1.4.0 + forwarded@0.2.0: {} + fraction.js@4.3.7: {} fresh@0.5.2: {} @@ -15215,7 +15575,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 - get-tsconfig@4.8.0: + get-tsconfig@4.8.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -15367,7 +15727,7 @@ snapshots: dependencies: react-is: 16.13.1 - hono@4.5.11: {} + hono@4.6.1: {} hosted-git-info@2.8.9: {} @@ -15410,6 +15770,14 @@ snapshots: http-cache-semantics@4.1.1: {} + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 @@ -15440,6 +15808,10 @@ snapshots: human-signals@5.0.0: {} + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 @@ -15512,6 +15884,8 @@ snapshots: jsbn: 1.1.0 sprintf-js: 1.1.3 + ipaddr.js@1.9.1: {} + is-arguments@1.1.1: dependencies: call-bind: 1.0.7 @@ -15688,7 +16062,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -15700,6 +16074,8 @@ snapshots: jmespath@0.16.0: {} + jose@5.9.2: {} + joycon@3.1.1: {} js-beautify@1.15.1: @@ -16072,6 +16448,8 @@ snapshots: monaco-editor@0.50.0: {} + ms@2.0.0: {} + ms@2.1.3: {} msgpackr-extract@3.0.3: @@ -16090,13 +16468,13 @@ snapshots: optionalDependencies: msgpackr-extract: 3.0.3 - msw@2.4.5(typescript@5.6.2): + msw@2.4.6(typescript@5.6.2): dependencies: '@bundled-es-modules/cookie': 2.0.0 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 '@inquirer/confirm': 3.2.0 - '@mswjs/interceptors': 0.35.1 + '@mswjs/interceptors': 0.35.5 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 '@types/statuses': 2.0.5 @@ -16105,7 +16483,7 @@ snapshots: headers-polyfill: 4.0.3 is-node-process: 1.2.0 outvariant: 1.4.3 - path-to-regexp: 6.2.2 + path-to-regexp: 6.3.0 strict-event-emitter: 0.5.1 type-fest: 4.26.1 yargs: 17.7.2 @@ -16437,6 +16815,10 @@ snapshots: obuf@1.1.2: {} + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + once@1.4.0: dependencies: wrappy: 1.0.2 @@ -16564,6 +16946,8 @@ snapshots: leac: 0.6.0 peberminta: 0.9.0 + parseuri@0.0.6: {} + parseurl@1.3.3: {} path-exists@4.0.0: {} @@ -16588,7 +16972,9 @@ snapshots: lru-cache: 11.0.1 minipass: 7.1.2 - path-to-regexp@6.2.2: {} + path-to-regexp@0.1.10: {} + + path-to-regexp@6.3.0: {} path-type@4.0.0: {} @@ -16621,7 +17007,7 @@ snapshots: pg-protocol@1.6.1: {} - pg-transactional-tests@1.0.9(pg@8.12.0): + pg-transactional-tests@1.1.0(pg@8.12.0): dependencies: pg: 8.12.0 @@ -16681,46 +17067,46 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-import@15.1.0(postcss@8.4.45): + postcss-import@15.1.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - postcss-js@4.0.1(postcss@8.4.45): + postcss-js@4.0.1(postcss@8.4.47): dependencies: camelcase-css: 2.0.1 - postcss: 8.4.45 + postcss: 8.4.47 - postcss-load-config@4.0.2(postcss@8.4.45)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.6.2)): + postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.6.2)): dependencies: lilconfig: 3.1.2 yaml: 2.5.1 optionalDependencies: - postcss: 8.4.45 + postcss: 8.4.47 ts-node: 10.9.2(@types/node@20.16.5)(typescript@5.6.2) - postcss-load-config@4.0.2(postcss@8.4.45)(ts-node@10.9.2(@types/node@22.5.4)(typescript@5.6.2)): + postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@22.5.5)(typescript@5.6.2)): dependencies: lilconfig: 3.1.2 yaml: 2.5.1 optionalDependencies: - postcss: 8.4.45 - ts-node: 10.9.2(@types/node@22.5.4)(typescript@5.6.2) + postcss: 8.4.47 + ts-node: 10.9.2(@types/node@22.5.5)(typescript@5.6.2) - postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.45)(tsx@4.19.0)(yaml@2.5.1): + postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(yaml@2.5.1): dependencies: lilconfig: 3.1.2 optionalDependencies: jiti: 1.21.6 - postcss: 8.4.45 - tsx: 4.19.0 + postcss: 8.4.47 + tsx: 4.19.1 yaml: 2.5.1 - postcss-nested@6.2.0(postcss@8.4.45): + postcss-nested@6.2.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 postcss-selector-parser@6.1.2: @@ -16736,7 +17122,7 @@ snapshots: picocolors: 1.1.0 source-map-js: 1.2.1 - postcss@8.4.45: + postcss@8.4.47: dependencies: nanoid: 3.3.7 picocolors: 1.1.0 @@ -16826,9 +17212,14 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 22.5.4 + '@types/node': 22.5.5 long: 5.2.3 + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + proxy-from-env@1.1.0: {} psl@1.9.0: {} @@ -16860,6 +17251,13 @@ snapshots: range-parser@1.2.1: {} + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + react-dom@18.3.0(react@18.3.0): dependencies: loose-envify: 1.4.0 @@ -17162,10 +17560,10 @@ snapshots: dependencies: glob: 7.2.3 - rollup-plugin-dts@6.1.1(rollup@4.21.2)(typescript@5.6.2): + rollup-plugin-dts@6.1.1(rollup@4.21.3)(typescript@5.6.2): dependencies: magic-string: 0.30.11 - rollup: 4.21.2 + rollup: 4.21.3 typescript: 5.6.2 optionalDependencies: '@babel/code-frame': 7.24.7 @@ -17174,26 +17572,26 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - rollup@4.21.2: + rollup@4.21.3: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.21.2 - '@rollup/rollup-android-arm64': 4.21.2 - '@rollup/rollup-darwin-arm64': 4.21.2 - '@rollup/rollup-darwin-x64': 4.21.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.2 - '@rollup/rollup-linux-arm-musleabihf': 4.21.2 - '@rollup/rollup-linux-arm64-gnu': 4.21.2 - '@rollup/rollup-linux-arm64-musl': 4.21.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.2 - '@rollup/rollup-linux-riscv64-gnu': 4.21.2 - '@rollup/rollup-linux-s390x-gnu': 4.21.2 - '@rollup/rollup-linux-x64-gnu': 4.21.2 - '@rollup/rollup-linux-x64-musl': 4.21.2 - '@rollup/rollup-win32-arm64-msvc': 4.21.2 - '@rollup/rollup-win32-ia32-msvc': 4.21.2 - '@rollup/rollup-win32-x64-msvc': 4.21.2 + '@rollup/rollup-android-arm-eabi': 4.21.3 + '@rollup/rollup-android-arm64': 4.21.3 + '@rollup/rollup-darwin-arm64': 4.21.3 + '@rollup/rollup-darwin-x64': 4.21.3 + '@rollup/rollup-linux-arm-gnueabihf': 4.21.3 + '@rollup/rollup-linux-arm-musleabihf': 4.21.3 + '@rollup/rollup-linux-arm64-gnu': 4.21.3 + '@rollup/rollup-linux-arm64-musl': 4.21.3 + '@rollup/rollup-linux-powerpc64le-gnu': 4.21.3 + '@rollup/rollup-linux-riscv64-gnu': 4.21.3 + '@rollup/rollup-linux-s390x-gnu': 4.21.3 + '@rollup/rollup-linux-x64-gnu': 4.21.3 + '@rollup/rollup-linux-x64-musl': 4.21.3 + '@rollup/rollup-win32-arm64-msvc': 4.21.3 + '@rollup/rollup-win32-ia32-msvc': 4.21.3 + '@rollup/rollup-win32-x64-msvc': 4.21.3 fsevents: 2.3.3 rrweb-cssom@0.7.1: {} @@ -17251,10 +17649,37 @@ snapshots: semver@7.6.3: {} + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 + serve-static@1.16.2: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -17271,6 +17696,8 @@ snapshots: functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 + setprototypeof@1.2.0: {} + sharp@0.33.5: dependencies: color: 4.2.3 @@ -17354,6 +17781,21 @@ snapshots: - supports-color - utf-8-validate + socket.io-client@4.7.5: + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.7 + engine.io-client: 6.5.4 + socket.io-parser: 4.2.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + socket.io-mock@1.3.2: + dependencies: + component-emitter: 1.3.1 + socket.io-parser@4.2.4: dependencies: '@socket.io/component-emitter': 3.1.2 @@ -17361,6 +17803,18 @@ snapshots: transitivePeerDependencies: - supports-color + socket.io-react-hook@2.4.5(react@19.0.0-rc-f994737d14-20240522): + dependencies: + parseuri: 0.0.6 + react: 19.0.0-rc-f994737d14-20240522 + socket.io-client: 4.7.5 + socket.io-mock: 1.3.2 + stable-hash: 0.0.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + socket.io@4.7.5: dependencies: accepts: 1.3.8 @@ -17443,6 +17897,8 @@ snapshots: svelte: 4.2.19 swrev: 4.0.0 + stable-hash@0.0.3: {} + stackback@0.0.2: {} stacktrace-parser@0.1.10: @@ -17615,7 +18071,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 '@types/estree': 1.0.5 acorn: 8.12.1 - aria-query: 5.3.0 + aria-query: 5.3.1 axobject-query: 4.1.0 code-red: 1.0.4 css-tree: 2.3.1 @@ -17639,9 +18095,9 @@ snapshots: swrev@4.0.0: {} - swrv@1.0.4(vue@3.5.4(typescript@5.6.2)): + swrv@1.0.4(vue@3.5.5(typescript@5.6.2)): dependencies: - vue: 3.5.4(typescript@5.6.2) + vue: 3.5.5(typescript@5.6.2) symbol-tree@3.2.4: {} @@ -17652,11 +18108,11 @@ snapshots: tailwind-merge@2.5.2: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.10(ts-node@10.9.2(@types/node@22.5.4)(typescript@5.6.2))): + tailwindcss-animate@1.0.7(tailwindcss@3.4.11(ts-node@10.9.2(@types/node@22.5.5)(typescript@5.6.2))): dependencies: - tailwindcss: 3.4.10(ts-node@10.9.2(@types/node@22.5.4)(typescript@5.6.2)) + tailwindcss: 3.4.11(ts-node@10.9.2(@types/node@22.5.5)(typescript@5.6.2)) - tailwindcss@3.4.10(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.6.2)): + tailwindcss@3.4.11(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.6.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -17672,18 +18128,18 @@ snapshots: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.1.0 - postcss: 8.4.45 - postcss-import: 15.1.0(postcss@8.4.45) - postcss-js: 4.0.1(postcss@8.4.45) - postcss-load-config: 4.0.2(postcss@8.4.45)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.6.2)) - postcss-nested: 6.2.0(postcss@8.4.45) + postcss: 8.4.47 + postcss-import: 15.1.0(postcss@8.4.47) + postcss-js: 4.0.1(postcss@8.4.47) + postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.6.2)) + postcss-nested: 6.2.0(postcss@8.4.47) postcss-selector-parser: 6.1.2 resolve: 1.22.8 sucrase: 3.35.0 transitivePeerDependencies: - ts-node - tailwindcss@3.4.10(ts-node@10.9.2(@types/node@22.5.4)(typescript@5.6.2)): + tailwindcss@3.4.11(ts-node@10.9.2(@types/node@22.5.5)(typescript@5.6.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -17699,11 +18155,11 @@ snapshots: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.1.0 - postcss: 8.4.45 - postcss-import: 15.1.0(postcss@8.4.45) - postcss-js: 4.0.1(postcss@8.4.45) - postcss-load-config: 4.0.2(postcss@8.4.45)(ts-node@10.9.2(@types/node@22.5.4)(typescript@5.6.2)) - postcss-nested: 6.2.0(postcss@8.4.45) + postcss: 8.4.47 + postcss-import: 15.1.0(postcss@8.4.47) + postcss-js: 4.0.1(postcss@8.4.47) + postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@22.5.5)(typescript@5.6.2)) + postcss-nested: 6.2.0(postcss@8.4.47) postcss-selector-parser: 6.1.2 resolve: 1.22.8 sucrase: 3.35.0 @@ -17753,6 +18209,8 @@ snapshots: tinybench@2.9.0: {} + tinyexec@0.3.0: {} + tinypool@0.8.4: {} tinypool@1.0.1: {} @@ -17771,6 +18229,8 @@ snapshots: dependencies: is-number: 7.0.0 + toidentifier@1.0.1: {} + tough-cookie@4.1.4: dependencies: psl: 1.9.0 @@ -17837,14 +18297,14 @@ snapshots: yn: 3.1.1 optional: true - ts-node@10.9.2(@types/node@22.5.4)(typescript@5.6.2): + ts-node@10.9.2(@types/node@22.5.5)(typescript@5.6.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.5.4 + '@types/node': 22.5.5 acorn: 8.12.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -17873,7 +18333,7 @@ snapshots: tslib@2.7.0: {} - tsup@8.2.4(jiti@1.21.6)(postcss@8.4.45)(tsx@4.19.0)(typescript@5.6.2)(yaml@2.5.1): + tsup@8.2.4(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1): dependencies: bundle-require: 5.0.0(esbuild@0.23.1) cac: 6.7.14 @@ -17885,14 +18345,14 @@ snapshots: globby: 11.1.0 joycon: 3.1.1 picocolors: 1.1.0 - postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.45)(tsx@4.19.0)(yaml@2.5.1) + postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(yaml@2.5.1) resolve-from: 5.0.0 - rollup: 4.21.2 + rollup: 4.21.3 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 optionalDependencies: - postcss: 8.4.45 + postcss: 8.4.47 typescript: 5.6.2 transitivePeerDependencies: - jiti @@ -17905,10 +18365,10 @@ snapshots: tslib: 1.14.1 typescript: 5.6.2 - tsx@4.19.0: + tsx@4.19.1: dependencies: esbuild: 0.23.1 - get-tsconfig: 4.8.0 + get-tsconfig: 4.8.1 optionalDependencies: fsevents: 2.3.3 @@ -17920,32 +18380,32 @@ snapshots: transitivePeerDependencies: - supports-color - turbo-darwin-64@2.1.1: + turbo-darwin-64@2.1.2: optional: true - turbo-darwin-arm64@2.1.1: + turbo-darwin-arm64@2.1.2: optional: true - turbo-linux-64@2.1.1: + turbo-linux-64@2.1.2: optional: true - turbo-linux-arm64@2.1.1: + turbo-linux-arm64@2.1.2: optional: true - turbo-windows-64@2.1.1: + turbo-windows-64@2.1.2: optional: true - turbo-windows-arm64@2.1.1: + turbo-windows-arm64@2.1.2: optional: true - turbo@2.1.1: + turbo@2.1.2: optionalDependencies: - turbo-darwin-64: 2.1.1 - turbo-darwin-arm64: 2.1.1 - turbo-linux-64: 2.1.1 - turbo-linux-arm64: 2.1.1 - turbo-windows-64: 2.1.1 - turbo-windows-arm64: 2.1.1 + turbo-darwin-64: 2.1.2 + turbo-darwin-arm64: 2.1.2 + turbo-linux-64: 2.1.2 + turbo-linux-arm64: 2.1.2 + turbo-windows-64: 2.1.2 + turbo-windows-arm64: 2.1.2 type-check@0.4.0: dependencies: @@ -18027,6 +18487,8 @@ snapshots: universalify@0.2.0: {} + unpipe@1.0.0: {} + unplugin@1.0.1: dependencies: acorn: 8.12.1 @@ -18156,6 +18618,8 @@ snapshots: is-typed-array: 1.1.13 which-typed-array: 1.1.15 + utils-merge@1.0.1: {} + uuid@10.0.0: {} uuid@8.0.0: {} @@ -18179,7 +18643,7 @@ snapshots: debug: 4.3.7 pathe: 1.1.2 picocolors: 1.1.0 - vite: 5.4.4(@types/node@20.16.5)(terser@5.32.0) + vite: 5.4.5(@types/node@20.16.5)(terser@5.32.0) transitivePeerDependencies: - '@types/node' - less @@ -18191,13 +18655,12 @@ snapshots: - supports-color - terser - vite-node@2.0.5(@types/node@20.16.5)(terser@5.32.0): + vite-node@2.1.1(@types/node@20.16.5)(terser@5.32.0): dependencies: cac: 6.7.14 debug: 4.3.7 pathe: 1.1.2 - tinyrainbow: 1.2.0 - vite: 5.4.4(@types/node@20.16.5)(terser@5.32.0) + vite: 5.4.5(@types/node@20.16.5)(terser@5.32.0) transitivePeerDependencies: - '@types/node' - less @@ -18209,13 +18672,12 @@ snapshots: - supports-color - terser - vite-node@2.0.5(@types/node@22.5.4)(terser@5.32.0): + vite-node@2.1.1(@types/node@22.5.5)(terser@5.32.0): dependencies: cac: 6.7.14 debug: 4.3.7 pathe: 1.1.2 - tinyrainbow: 1.2.0 - vite: 5.4.4(@types/node@22.5.4)(terser@5.32.0) + vite: 5.4.5(@types/node@22.5.5)(terser@5.32.0) transitivePeerDependencies: - '@types/node' - less @@ -18227,23 +18689,23 @@ snapshots: - supports-color - terser - vite@5.4.4(@types/node@20.16.5)(terser@5.32.0): + vite@5.4.5(@types/node@20.16.5)(terser@5.32.0): dependencies: esbuild: 0.21.5 - postcss: 8.4.45 - rollup: 4.21.2 + postcss: 8.4.47 + rollup: 4.21.3 optionalDependencies: '@types/node': 20.16.5 fsevents: 2.3.3 terser: 5.32.0 - vite@5.4.4(@types/node@22.5.4)(terser@5.32.0): + vite@5.4.5(@types/node@22.5.5)(terser@5.32.0): dependencies: esbuild: 0.21.5 - postcss: 8.4.45 - rollup: 4.21.2 + postcss: 8.4.47 + rollup: 4.21.3 optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 fsevents: 2.3.3 terser: 5.32.0 @@ -18266,7 +18728,7 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.9.0 tinypool: 0.8.4 - vite: 5.4.4(@types/node@20.16.5)(terser@5.32.0) + vite: 5.4.5(@types/node@20.16.5)(terser@5.32.0) vite-node: 1.6.0(@types/node@20.16.5)(terser@5.32.0) why-is-node-running: 2.3.0 optionalDependencies: @@ -18282,26 +18744,26 @@ snapshots: - supports-color - terser - vitest@2.0.5(@types/node@20.16.5)(jsdom@24.1.3)(terser@5.32.0): + vitest@2.1.1(@types/node@20.16.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0): dependencies: - '@ampproject/remapping': 2.3.0 - '@vitest/expect': 2.0.5 - '@vitest/pretty-format': 2.0.5 - '@vitest/runner': 2.0.5 - '@vitest/snapshot': 2.0.5 - '@vitest/spy': 2.0.5 - '@vitest/utils': 2.0.5 + '@vitest/expect': 2.1.1 + '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(msw@2.4.6(typescript@5.6.2))(vite@5.4.5(@types/node@20.16.5)(terser@5.32.0)) + '@vitest/pretty-format': 2.1.1 + '@vitest/runner': 2.1.1 + '@vitest/snapshot': 2.1.1 + '@vitest/spy': 2.1.1 + '@vitest/utils': 2.1.1 chai: 5.1.1 debug: 4.3.7 - execa: 8.0.1 magic-string: 0.30.11 pathe: 1.1.2 std-env: 3.7.0 tinybench: 2.9.0 + tinyexec: 0.3.0 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.4(@types/node@20.16.5)(terser@5.32.0) - vite-node: 2.0.5(@types/node@20.16.5)(terser@5.32.0) + vite: 5.4.5(@types/node@20.16.5)(terser@5.32.0) + vite-node: 2.1.1(@types/node@20.16.5)(terser@5.32.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 20.16.5 @@ -18309,6 +18771,7 @@ snapshots: transitivePeerDependencies: - less - lightningcss + - msw - sass - sass-embedded - stylus @@ -18316,33 +18779,34 @@ snapshots: - supports-color - terser - vitest@2.0.5(@types/node@22.5.4)(jsdom@24.1.3)(terser@5.32.0): + vitest@2.1.1(@types/node@22.5.5)(jsdom@24.1.3)(msw@2.4.6(typescript@5.6.2))(terser@5.32.0): dependencies: - '@ampproject/remapping': 2.3.0 - '@vitest/expect': 2.0.5 - '@vitest/pretty-format': 2.0.5 - '@vitest/runner': 2.0.5 - '@vitest/snapshot': 2.0.5 - '@vitest/spy': 2.0.5 - '@vitest/utils': 2.0.5 + '@vitest/expect': 2.1.1 + '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(msw@2.4.6(typescript@5.6.2))(vite@5.4.5(@types/node@22.5.5)(terser@5.32.0)) + '@vitest/pretty-format': 2.1.1 + '@vitest/runner': 2.1.1 + '@vitest/snapshot': 2.1.1 + '@vitest/spy': 2.1.1 + '@vitest/utils': 2.1.1 chai: 5.1.1 debug: 4.3.7 - execa: 8.0.1 magic-string: 0.30.11 pathe: 1.1.2 std-env: 3.7.0 tinybench: 2.9.0 + tinyexec: 0.3.0 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.4(@types/node@22.5.4)(terser@5.32.0) - vite-node: 2.0.5(@types/node@22.5.4)(terser@5.32.0) + vite: 5.4.5(@types/node@22.5.5)(terser@5.32.0) + vite-node: 2.1.1(@types/node@22.5.5)(terser@5.32.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 jsdom: 24.1.3 transitivePeerDependencies: - less - lightningcss + - msw - sass - sass-embedded - stylus @@ -18350,13 +18814,13 @@ snapshots: - supports-color - terser - vue@3.5.4(typescript@5.6.2): + vue@3.5.5(typescript@5.6.2): dependencies: - '@vue/compiler-dom': 3.5.4 - '@vue/compiler-sfc': 3.5.4 - '@vue/runtime-dom': 3.5.4 - '@vue/server-renderer': 3.5.4(vue@3.5.4(typescript@5.6.2)) - '@vue/shared': 3.5.4 + '@vue/compiler-dom': 3.5.5 + '@vue/compiler-sfc': 3.5.5 + '@vue/runtime-dom': 3.5.5 + '@vue/server-renderer': 3.5.5(vue@3.5.5(typescript@5.6.2)) + '@vue/shared': 3.5.5 optionalDependencies: typescript: 5.6.2 @@ -18530,6 +18994,8 @@ snapshots: xmlchars@2.2.0: {} + xmlhttprequest-ssl@2.0.0: {} + xtend@4.0.2: {} y18n@5.0.8: {} diff --git a/turbo.json b/turbo.json index 4834f3501..b46a00f5b 100644 --- a/turbo.json +++ b/turbo.json @@ -19,7 +19,12 @@ "S3_BUCKET", "AWS_ACCESS_KEY", "AWS_ACCESS_SECRET", - "WORKERS_PORT" + "WORKERS_PORT", + "PORT", + "WEBSOCKETS_SERVER", + "WORKERS_WEBSOCKET_SECRET_TOKEN", + "WEBSOCKET_REFRESH_TOKEN_SECRET_KEY", + "WEBSOCKET_TOKEN_SECRET_KEY" ], "$schema": "https://turbo.build/schema.json", "globalDependencies": ["**/.env.*local"],