diff --git a/apps/app/src/actions/runtime-config.ts b/apps/app/src/actions/runtime-config.ts new file mode 100644 index 0000000000..77ba33e5d2 --- /dev/null +++ b/apps/app/src/actions/runtime-config.ts @@ -0,0 +1,2 @@ +// This file contains shared configuration for server actions +export const runtime = "nodejs"; diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/people/hooks/useEmployees.ts b/apps/app/src/app/[locale]/(app)/(dashboard)/people/hooks/useEmployees.ts index 661116e862..2058bef107 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/people/hooks/useEmployees.ts +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/people/hooks/useEmployees.ts @@ -12,7 +12,7 @@ import type { Departments } from "@bubba/db"; /** Fetcher function, same as before */ async function fetchEmployees( - input: EmployeesInput, + input: EmployeesInput ): Promise { const result = await getEmployees(input); @@ -52,9 +52,9 @@ export function useEmployees() { ["employees", { search, role, page, per_page }], () => fetchEmployees({ search, role, page, per_page }), { - revalidateOnFocus: false, - revalidateOnReconnect: false, - }, + revalidateOnFocus: true, + revalidateOnReconnect: true, + } ); /** Track local mutation (creating an employee) loading state */ @@ -101,7 +101,7 @@ export function useEmployees() { setIsMutating(false); } }, - [revalidateEmployees], + [revalidateEmployees] ); return { diff --git a/apps/app/src/app/api/auth/[...nextauth]/route.ts b/apps/app/src/app/api/auth/[...nextauth]/route.ts index 86c9f3daa6..b9f925f530 100644 --- a/apps/app/src/app/api/auth/[...nextauth]/route.ts +++ b/apps/app/src/app/api/auth/[...nextauth]/route.ts @@ -1,3 +1,4 @@ import { handlers } from "@/auth"; +export const runtime = "nodejs"; export const { GET, POST } = handlers; diff --git a/apps/app/src/app/api/chat/route.ts b/apps/app/src/app/api/chat/route.ts index a73f0c929e..8419ab0b0b 100644 --- a/apps/app/src/app/api/chat/route.ts +++ b/apps/app/src/app/api/chat/route.ts @@ -1,6 +1,7 @@ import { openai } from "@ai-sdk/openai"; import { convertToCoreMessages, streamText } from "ai"; +export const runtime = "nodejs"; export const maxDuration = 30; export async function POST(req: Request) { diff --git a/apps/app/src/app/api/generate/route.ts b/apps/app/src/app/api/generate/route.ts index 8cc1159ae0..4b0f3c8be4 100644 --- a/apps/app/src/app/api/generate/route.ts +++ b/apps/app/src/app/api/generate/route.ts @@ -5,7 +5,7 @@ import { Ratelimit } from "@upstash/ratelimit"; import { streamText } from "ai"; import { match } from "ts-pattern"; -export const runtime = "edge"; +export const runtime = "nodejs"; export async function POST(req: Request): Promise { if (!env.OPENAI_API_KEY || env.OPENAI_API_KEY === "") { @@ -13,7 +13,7 @@ export async function POST(req: Request): Promise { "Missing OPENAI_API_KEY - make sure to add it to your .env file.", { status: 400, - }, + } ); } @@ -25,7 +25,7 @@ export async function POST(req: Request): Promise { }); const { success, limit, reset, remaining } = await ratelimit.limit( - `novel_ratelimit_${ip}`, + `novel_ratelimit_${ip}` ); if (!success) { diff --git a/apps/app/src/app/api/v1/employees/[id]/route.ts b/apps/app/src/app/api/v1/employees/[id]/route.ts new file mode 100644 index 0000000000..a559532ae5 --- /dev/null +++ b/apps/app/src/app/api/v1/employees/[id]/route.ts @@ -0,0 +1,167 @@ +import { db } from "@bubba/db"; +import { NextResponse, type NextRequest } from "next/server"; +import { getOrganizationFromApiKey } from "@/lib/api-key"; + +// Configure this route to use Node.js runtime instead of Edge +export const runtime = "nodejs"; + +/** + * GET /api/v1/employees/:id + * + * Get a single employee by ID for the organization associated with the API key + * + * Headers: + * - Authorization: Bearer {api_key} or X-API-Key: {api_key} + * + * Path Parameters: + * - id: string - The ID of the employee to fetch + * + * Returns: + * - 200: { success: true, data: Employee } + * - 401: { success: false, error: "Invalid or missing API key" } + * - 404: { success: false, error: "Employee not found" } + * - 500: { success: false, error: "Failed to fetch employee" } + */ +export async function GET( + request: NextRequest, + { params }: { params: Promise<{ id: string }> } +) { + // Get the organization ID from the API key + const { organizationId, errorResponse } = + await getOrganizationFromApiKey(request); + + // If there's an error response, return it + if (errorResponse) { + return errorResponse; + } + + try { + const employeeId = (await params).id; + + // Fetch the employee + const employee = await db.employee.findFirst({ + where: { + id: employeeId, + organizationId: organizationId!, + }, + select: { + id: true, + name: true, + email: true, + department: true, + isActive: true, + externalEmployeeId: true, + createdAt: true, + updatedAt: true, + }, + }); + + // If employee not found, return 404 + if (!employee) { + return NextResponse.json( + { + success: false, + error: "Employee not found", + }, + { status: 404 } + ); + } + + // Format dates for JSON response + const formattedEmployee = { + ...employee, + createdAt: employee.createdAt.toISOString(), + updatedAt: employee.updatedAt.toISOString(), + }; + + return NextResponse.json({ + success: true, + data: formattedEmployee, + }); + } catch (error) { + console.error("Error fetching employee:", error); + return NextResponse.json( + { + success: false, + error: "Failed to fetch employee", + }, + { status: 500 } + ); + } +} + +/** + * DELETE /api/v1/employees/:id + * + * Delete an employee by ID for the organization associated with the API key + * + * Headers: + * - Authorization: Bearer {api_key} or X-API-Key: {api_key} + * + * Path Parameters: + * - id: string - The ID of the employee to delete + * + * Returns: + * - 200: { success: true, data: { message: string } } + * - 401: { success: false, error: string } + * - 404: { success: false, error: string } + * - 500: { success: false, error: string } + */ +export async function DELETE( + request: NextRequest, + { params }: { params: Promise<{ id: string }> } +) { + // Get the organization ID from the API key + const { organizationId, errorResponse } = + await getOrganizationFromApiKey(request); + + // If there's an error response, return it + if (errorResponse) { + return errorResponse; + } + + try { + const employeeId = (await params).id; + + // Check if the employee exists and belongs to the organization + const existingEmployee = await db.employee.findFirst({ + where: { + id: employeeId, + organizationId: organizationId!, + }, + }); + + if (!existingEmployee) { + return NextResponse.json( + { + success: false, + error: "Employee not found", + }, + { status: 404 } + ); + } + + // Delete the employee + await db.employee.delete({ + where: { + id: employeeId, + }, + }); + + return NextResponse.json({ + success: true, + data: { + message: "Employee deleted successfully", + }, + }); + } catch (error) { + console.error("Error deleting employee:", error); + return NextResponse.json( + { + success: false, + error: "Failed to delete employee", + }, + { status: 500 } + ); + } +} diff --git a/apps/app/src/app/api/v1/employees/add/route.ts b/apps/app/src/app/api/v1/employees/add/route.ts deleted file mode 100644 index a1ecd55227..0000000000 --- a/apps/app/src/app/api/v1/employees/add/route.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { db, Departments } from "@bubba/db"; -import { NextResponse, type NextRequest } from "next/server"; -import { getOrganizationFromApiKey } from "@/lib/api-key"; -import { z } from "zod"; - -// Define the schema for employee creation -const employeeCreateSchema = z.object({ - name: z.string().min(1, { message: "Name is required" }), - email: z.string().email({ message: "Valid email is required" }), - department: z.nativeEnum(Departments).optional().default(Departments.none), - isActive: z.boolean().optional().default(true), - externalEmployeeId: z.string().optional().nullable(), - userId: z.string().optional().nullable(), - linkId: z.string().optional().nullable(), -}); - -// Type for the validated data -type EmployeeCreateInput = z.infer; - -export async function POST(request: NextRequest) { - // Get the organization ID from the API key - const { organizationId, errorResponse } = - await getOrganizationFromApiKey(request); - - // If there's an error response, return it - if (errorResponse) { - return errorResponse; - } - - try { - const body = await request.json(); - - // Validate the request body against the schema - const validationResult = employeeCreateSchema.safeParse(body); - - if (!validationResult.success) { - // Return validation errors - return NextResponse.json( - { - error: "Validation failed", - details: validationResult.error.format(), - }, - { status: 400 } - ); - } - - // Extract validated data - const validatedData: EmployeeCreateInput = validationResult.data; - - // Create the employee using the organization ID from the API key - const employee = await db.employee.create({ - data: { - ...validatedData, - organizationId: organizationId!, - }, - }); - - return NextResponse.json({ success: true, data: employee }); - } catch (error) { - console.error("Error creating employee:", error); - return NextResponse.json( - { error: "Failed to create employee" }, - { status: 500 } - ); - } -} diff --git a/apps/app/src/app/api/v1/employees/route.ts b/apps/app/src/app/api/v1/employees/route.ts index c61ac07239..80f8d51195 100644 --- a/apps/app/src/app/api/v1/employees/route.ts +++ b/apps/app/src/app/api/v1/employees/route.ts @@ -3,6 +3,9 @@ import { NextResponse, type NextRequest } from "next/server"; import { getOrganizationFromApiKey } from "@/lib/api-key"; import { z } from "zod"; +// Configure this route to use Node.js runtime instead of Edge +export const runtime = "nodejs"; + // Define the schema for query parameters const queryParamsSchema = z.object({ active: z @@ -13,9 +16,23 @@ const queryParamsSchema = z.object({ search: z.string().optional(), }); +// Define the schema for employee creation +const employeeCreateSchema = z.object({ + name: z.string().min(1, { message: "Name is required" }), + email: z.string().email({ message: "Valid email is required" }), + department: z.nativeEnum(Departments).optional().default(Departments.none), + isActive: z.boolean().optional().default(true), + externalEmployeeId: z.string().optional().nullable(), + userId: z.string().optional().nullable(), + linkId: z.string().optional().nullable(), +}); + // Type for the validated query parameters type QueryParams = z.infer; +// Type for the validated employee creation data +type EmployeeCreateInput = z.infer; + /** * GET /api/v1/employees * @@ -139,3 +156,88 @@ export async function GET(request: NextRequest) { ); } } + +/** + * POST /api/v1/employees + * + * Create a new employee for the organization associated with the API key + * + * Headers: + * - Authorization: Bearer {api_key} or X-API-Key: {api_key} + * + * Body: + * - name: string - The name of the employee (required) + * - email: string - The email of the employee (required) + * - department: Departments - The department of the employee (optional, defaults to "none") + * - isActive: boolean - Whether the employee is active (optional, defaults to true) + * - externalEmployeeId: string - External employee ID (optional) + * - userId: string - User ID (optional) + * - linkId: string - Link ID (optional) + * + * Returns: + * - 200: { success: true, data: Employee } + * - 400: { error: "Validation failed", details: {...} } + * - 401: { error: "Invalid or missing API key" } + * - 500: { error: "Failed to create employee" } + */ +export async function POST(request: NextRequest) { + // Get the organization ID from the API key + const { organizationId, errorResponse } = + await getOrganizationFromApiKey(request); + + // If there's an error response, return it + if (errorResponse) { + return errorResponse; + } + + try { + const body = await request.json(); + + // Validate the request body against the schema + const validationResult = employeeCreateSchema.safeParse(body); + + if (!validationResult.success) { + // Return validation errors + return NextResponse.json( + { + success: false, + error: "Validation failed", + details: validationResult.error.format(), + }, + { status: 400 } + ); + } + + // Extract validated data + const validatedData: EmployeeCreateInput = validationResult.data; + + // Create the employee using the organization ID from the API key + const employee = await db.employee.create({ + data: { + ...validatedData, + organizationId: organizationId!, + }, + }); + + // Format dates for JSON response + const formattedEmployee = { + ...employee, + createdAt: employee.createdAt.toISOString(), + updatedAt: employee.updatedAt.toISOString(), + }; + + return NextResponse.json({ + success: true, + data: formattedEmployee, + }); + } catch (error) { + console.error("Error creating employee:", error); + return NextResponse.json( + { + success: false, + error: "Failed to create employee", + }, + { status: 500 } + ); + } +} diff --git a/apps/app/src/app/api/v1/route-config.ts b/apps/app/src/app/api/v1/route-config.ts new file mode 100644 index 0000000000..72fab6e89f --- /dev/null +++ b/apps/app/src/app/api/v1/route-config.ts @@ -0,0 +1,2 @@ +// This file contains shared configuration for API routes +export const runtime = "nodejs"; diff --git a/apps/app/src/auth/config.ts b/apps/app/src/auth/config.ts index 21fe78fd30..a3210f22b8 100644 --- a/apps/app/src/auth/config.ts +++ b/apps/app/src/auth/config.ts @@ -6,6 +6,8 @@ import GoogleProvider from "next-auth/providers/google"; import Resend from "next-auth/providers/resend"; import { createOrganizationAndConnectUser } from "./org"; +export const runtime = "nodejs"; + declare module "next-auth" { interface User { organizationId?: string; diff --git a/apps/app/src/auth/index.ts b/apps/app/src/auth/index.ts index 76c146d34a..b93abe65f8 100644 --- a/apps/app/src/auth/index.ts +++ b/apps/app/src/auth/index.ts @@ -1,8 +1,9 @@ import NextAuth from "next-auth"; import { cache } from "react"; - import { authConfig } from "./config"; +export const runtime = "nodejs"; + const { auth: uncachedAuth, handlers, signIn, signOut } = NextAuth(authConfig); const auth = cache(uncachedAuth); diff --git a/apps/app/src/auth/org.ts b/apps/app/src/auth/org.ts index 16b64d68b0..c79c244ad0 100644 --- a/apps/app/src/auth/org.ts +++ b/apps/app/src/auth/org.ts @@ -1,6 +1,8 @@ import { db } from "@bubba/db"; import { stripe } from "./stripe"; +export const runtime = "nodejs"; + async function createStripeCustomer(input: { name: string; email: string; diff --git a/apps/app/src/auth/stripe.ts b/apps/app/src/auth/stripe.ts index a6efe664d8..92a58f9984 100644 --- a/apps/app/src/auth/stripe.ts +++ b/apps/app/src/auth/stripe.ts @@ -1,5 +1,7 @@ import Stripe from "stripe"; +export const runtime = "nodejs"; + if (!process.env.STRIPE_SECRET_KEY) { throw new Error("STRIPE_SECRET_KEY is not set"); } diff --git a/apps/app/src/lib/api-key.ts b/apps/app/src/lib/api-key.ts index f66f434d84..0c37c32ad0 100644 --- a/apps/app/src/lib/api-key.ts +++ b/apps/app/src/lib/api-key.ts @@ -11,7 +11,7 @@ export function generateApiKey(): string { // Generate a random string for the API key const apiKey = randomBytes(32).toString("hex"); // Add a prefix to make it easily identifiable - return `bubba_${apiKey}`; + return `comp_${apiKey}`; } /** diff --git a/apps/app/src/middleware.ts b/apps/app/src/middleware.ts index 1f144f6dca..7bd11444bc 100644 --- a/apps/app/src/middleware.ts +++ b/apps/app/src/middleware.ts @@ -3,47 +3,47 @@ import { createI18nMiddleware } from "next-international/middleware"; import { type NextRequest, NextResponse } from "next/server"; const I18nMiddleware = createI18nMiddleware({ - locales: ["en", "es", "fr", "no", "pt"], - defaultLocale: "en", - urlMappingStrategy: "rewrite", + locales: ["en", "es", "fr", "no", "pt"], + defaultLocale: "en", + urlMappingStrategy: "rewrite", }); export async function middleware(request: NextRequest) { - const session = await authMiddleware(); - const response = await I18nMiddleware(request); - const nextUrl = request.nextUrl; + const session = await authMiddleware(); + const response = await I18nMiddleware(request); + const nextUrl = request.nextUrl; - const pathnameLocale = nextUrl.pathname.split("/", 2)?.[1]; + const pathnameLocale = nextUrl.pathname.split("/", 2)?.[1]; - const pathnameWithoutLocale = pathnameLocale - ? nextUrl.pathname.slice(pathnameLocale.length + 1) - : nextUrl.pathname; + const pathnameWithoutLocale = pathnameLocale + ? nextUrl.pathname.slice(pathnameLocale.length + 1) + : nextUrl.pathname; - const newUrl = new URL(pathnameWithoutLocale || "/", request.url); + const newUrl = new URL(pathnameWithoutLocale || "/", request.url); - if (!session && newUrl.pathname !== "/auth") { - const url = new URL("/auth", request.url); + if (!session && newUrl.pathname !== "/auth") { + const url = new URL("/auth", request.url); - return NextResponse.redirect(url); - } + return NextResponse.redirect(url); + } - if ( - session && - newUrl.pathname !== "/setup" && - session.user.onboarded === false - ) { - const url = new URL("/setup", request.url); + if ( + session && + newUrl.pathname !== "/setup" && + session.user.onboarded === false + ) { + const url = new URL("/setup", request.url); - return NextResponse.redirect(url); - } + return NextResponse.redirect(url); + } - response.headers.set("x-pathname", request.nextUrl.pathname); + response.headers.set("x-pathname", request.nextUrl.pathname); - return response; + return response; } export const config = { - matcher: [ - "/((?!api|_next/static|_next/image|favicon.ico|monitoring|ingest).*)", - ], + matcher: [ + "/((?!api|_next/static|_next/image|favicon.ico|monitoring|ingest).*)", + ], }; diff --git a/bun.lock b/bun.lock index a47edce793..ea6cc4f252 100644 --- a/bun.lock +++ b/bun.lock @@ -8,6 +8,8 @@ "@manypkg/cli": "^0.23.0", "@nangohq/node": "^0.53.2", "@types/d3": "^7.4.3", + "@types/react": "19.0.10", + "ai": "3.4.33", "d3": "^7.9.0", "gitmoji": "^1.1.1", "gray-matter": "^4.0.3", @@ -30,7 +32,7 @@ "@aws-sdk/client-s3": "^3.758.0", "@aws-sdk/s3-request-presigner": "^3.758.0", "@browserbasehq/sdk": "^2.3.0", - "@bubba/notifications": "workspace:*", + "@bubba/notifications": "packages/notifications", "@date-fns/tz": "^1.2.0", "@hookform/resolvers": "^3.10.0", "@nangohq/frontend": "^0.53.1", @@ -98,7 +100,7 @@ "zustand": "^5.0.3", }, "devDependencies": { - "@bubba/db": "workspace:*", + "@bubba/db": "packages/db", "@trigger.dev/build": "3.3.16", "@types/node": "^22.13.2", "@types/react": "19.0.10", @@ -119,8 +121,8 @@ "react-otp-input": "^3.1.1", }, "devDependencies": { - "@bubba/db": "workspace:*", - "@bubba/ui": "workspace:*", + "@bubba/db": "packages/db", + "@bubba/ui": "packages/ui", "@types/node": "^22.13.2", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", @@ -155,7 +157,7 @@ "uuid": "^11.0.5", }, "devDependencies": { - "@bubba/analytics": "workspace:*", + "@bubba/analytics": "packages/analytics", "@trigger.dev/build": "^3.3.15", "@types/node": "^22.13.2", "@types/react": "^19.0.8", @@ -185,7 +187,7 @@ "prisma": "^6.3.1", }, "devDependencies": { - "@bubba/tsconfig": "workspace:*", + "@bubba/tsconfig": "packages/tsconfig", "typescript": "^5.7.3", }, }, @@ -193,8 +195,8 @@ "name": "@bubba/email", "version": "1.0.0", "dependencies": { - "@bubba/ui": "workspace:*", - "@bubba/utils": "workspace:*", + "@bubba/ui": "packages/ui", + "@bubba/utils": "packages/utils", "@react-email/components": "0.0.31", "@react-email/render": "0.0.10", "@react-email/tailwind": "1.0.4", @@ -231,7 +233,7 @@ "version": "1.0.0", "dependencies": { "@upstash/redis": "^1.34.2", - "server-only": "^0.0.1", + "server-only": "0.0.1", }, }, "packages/notifications": { @@ -239,7 +241,7 @@ "version": "1.0.0", "dependencies": { "@novu/node": "^2.0.1", - "nanoid": "^5.0.7", + "nanoid": "5.1.0", }, "devDependencies": { "typescript": "^5.6.3", @@ -279,7 +281,7 @@ "@radix-ui/react-toast": "^1.2.2", "@radix-ui/react-tooltip": "^1.1.3", "@tailwindcss/typography": "^0.5.16", - "@tiptap/extension-bold": "^2.9.1", + "@tiptap/extension-bold": "2.11.5", "@tiptap/extension-link": "^2.9.1", "@tiptap/extension-placeholder": "^2.9.1", "@tiptap/extension-underline": "^2.9.1", @@ -328,7 +330,7 @@ "@ai-sdk/provider": ["@ai-sdk/provider@1.0.7", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-q1PJEZ0qD9rVR+8JFEd01/QM++csMT5UVwYXSN2u54BrVw/D8TZLTeg2FEfKK00DgAx0UtWd8XOhhwITP9BT5g=="], - "@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@1.0.20", "", { "dependencies": { "@ai-sdk/provider": "0.0.24", "eventsource-parser": "1.1.2", "nanoid": "3.3.6", "secure-json-parse": "2.7.0" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-ngg/RGpnA00eNOWEtXHenpX1MsM2QshQh4QJFjUfwcqHpM5kTfG7je7Rc3HcEDP+OkRVv2GF+X4fC1Vfcnl8Ow=="], + "@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@1.0.22", "", { "dependencies": { "@ai-sdk/provider": "0.0.26", "eventsource-parser": "^1.1.2", "nanoid": "^3.3.7", "secure-json-parse": "^2.7.0" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ=="], "@ai-sdk/react": ["@ai-sdk/react@0.0.70", "", { "dependencies": { "@ai-sdk/provider-utils": "1.0.22", "@ai-sdk/ui-utils": "0.0.50", "swr": "^2.2.5", "throttleit": "2.1.0" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", "zod": "^3.0.0" }, "optionalPeers": ["react", "zod"] }, "sha512-GnwbtjW4/4z7MleLiW+TOZC2M29eCg1tOUpuEiYFMmFNZK8mkrqM0PFZMo6UsYeUYMWqEOOcPOU9OQVJMJh7IQ=="], @@ -712,11 +714,11 @@ "@motionone/utils": ["@motionone/utils@10.18.0", "", { "dependencies": { "@motionone/types": "^10.17.1", "hey-listen": "^1.0.8", "tslib": "^2.3.1" } }, "sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw=="], - "@mui/core-downloads-tracker": ["@mui/core-downloads-tracker@6.4.4", "", {}, "sha512-r+J0EditrekkTtO2CnCBCOGpNaDYwJqz8lH4rj6o/anDcskZFJodBlG8aCJkS8DL/CF/9EHS+Gz53EbmYEnQbw=="], + "@mui/core-downloads-tracker": ["@mui/core-downloads-tracker@6.4.5", "", {}, "sha512-zoXvHU1YuoodgMlPS+epP084Pqv9V+Vg+5IGv9n/7IIFVQ2nkTngYHYxElCq8pdTTbDcgji+nNh0lxri2abWgA=="], - "@mui/icons-material": ["@mui/icons-material@6.4.4", "", { "dependencies": { "@babel/runtime": "^7.26.0" }, "peerDependencies": { "@mui/material": "^6.4.4", "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-uF1chGaoFmYdRUomK6f8kgJfWosk9A3HXWiVD0vQm+2mE7f25eTQ1E8RRO11LXpnUBqu8Rbv/uGlpnjT/u1Ksg=="], + "@mui/icons-material": ["@mui/icons-material@6.4.5", "", { "dependencies": { "@babel/runtime": "^7.26.0" }, "peerDependencies": { "@mui/material": "^6.4.5", "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-4A//t8Nrc+4u4pbVhGarIFU98zpuB5AV9hTNzgXx1ySZJ1tWtx+i/1SbQ8PtGJxWeXlljhwimZJNPQ3x0CiIFw=="], - "@mui/material": ["@mui/material@6.4.4", "", { "dependencies": { "@babel/runtime": "^7.26.0", "@mui/core-downloads-tracker": "^6.4.4", "@mui/system": "^6.4.3", "@mui/types": "^7.2.21", "@mui/utils": "^6.4.3", "@popperjs/core": "^2.11.8", "@types/react-transition-group": "^4.4.12", "clsx": "^2.1.1", "csstype": "^3.1.3", "prop-types": "^15.8.1", "react-is": "^19.0.0", "react-transition-group": "^4.4.5" }, "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", "@mui/material-pigment-css": "^6.4.3", "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/react", "@emotion/styled", "@mui/material-pigment-css", "@types/react"] }, "sha512-ISVPrIsPQsxnwvS40C4u03AuNSPigFeS2+n1qpuEZ94hDsdMi19dQM2JcC9CHEhXecSIQjP1RTyY0mPiSpSrFQ=="], + "@mui/material": ["@mui/material@6.4.5", "", { "dependencies": { "@babel/runtime": "^7.26.0", "@mui/core-downloads-tracker": "^6.4.5", "@mui/system": "^6.4.3", "@mui/types": "^7.2.21", "@mui/utils": "^6.4.3", "@popperjs/core": "^2.11.8", "@types/react-transition-group": "^4.4.12", "clsx": "^2.1.1", "csstype": "^3.1.3", "prop-types": "^15.8.1", "react-is": "^19.0.0", "react-transition-group": "^4.4.5" }, "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", "@mui/material-pigment-css": "^6.4.3", "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/react", "@emotion/styled", "@mui/material-pigment-css", "@types/react"] }, "sha512-5eyEgSXocIeV1JkXs8mYyJXU0aFyXZIWI5kq2g/mCnIgJe594lkOBNAKnCIaGVfQTu2T6TTEHF8/hHIqpiIRGA=="], "@mui/private-theming": ["@mui/private-theming@6.4.3", "", { "dependencies": { "@babel/runtime": "^7.26.0", "@mui/utils": "^6.4.3", "prop-types": "^15.8.1" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-7x9HaNwDCeoERc4BoEWLieuzKzXu5ZrhRnEM6AUcRXUScQLvF1NFkTlP59+IJfTbEMgcGg1wWHApyoqcksrBpQ=="], @@ -728,7 +730,7 @@ "@mui/utils": ["@mui/utils@6.4.3", "", { "dependencies": { "@babel/runtime": "^7.26.0", "@mui/types": "^7.2.21", "@types/prop-types": "^15.7.14", "clsx": "^2.1.1", "prop-types": "^15.8.1", "react-is": "^19.0.0" }, "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-jxHRHh3BqVXE9ABxDm+Tc3wlBooYz/4XPa0+4AI+iF38rV1/+btJmSUgG4shDtSWVs/I97aDn5jBCt6SF2Uq2A=="], - "@nangohq/frontend": ["@nangohq/frontend@0.53.2", "", { "dependencies": { "@nangohq/types": "0.53.2" } }, "sha512-ZSNY9jHVuF/Qfsu8TJBK3tujsxO+Qi7dHWNFt316Mq3g4od9MwuHefTEs0EtfpUTCB18hNE05QOQWCuD8zO8Aw=="], + "@nangohq/frontend": ["@nangohq/frontend@0.53.1", "", { "dependencies": { "@nangohq/types": "0.53.1" } }, "sha512-NjQwktw1aKYsQ9QPGJkyABgVZhWBrYlJgi12ohyLnw1X/0jLH2XxVrGEmBG/F8ID1/1g3YHo1SxdV0Dcaw0ZPQ=="], "@nangohq/node": ["@nangohq/node@0.53.2", "", { "dependencies": { "@nangohq/types": "0.53.2", "axios": "^1.7.9" } }, "sha512-QfBrtbv1dekI3RH+HX+43MGIRs36MNuWMdWS1RRFKjiCmIwKaOje6qjRj0UDjQYtokKcbt2id2sAAq8fmusjCQ=="], @@ -800,7 +802,7 @@ "@opentelemetry/exporter-zipkin": ["@opentelemetry/exporter-zipkin@1.25.1", "", { "dependencies": { "@opentelemetry/core": "1.25.1", "@opentelemetry/resources": "1.25.1", "@opentelemetry/sdk-trace-base": "1.25.1", "@opentelemetry/semantic-conventions": "1.25.1" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-RmOwSvkimg7ETwJbUOPTMhJm9A9bG1U8s7Zo3ajDh4zM7eYcycQ0dM7FbLD6NXWbI2yj7UY4q8BKinKYBQksyw=="], - "@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.57.2", "", { "dependencies": { "@opentelemetry/api-logs": "0.57.2", "@types/shimmer": "^1.2.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2", "shimmer": "^1.2.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-BdBGhQBh8IjZ2oIIX6F2/Q3LKm/FDDKi6ccYKcBTeilh6SNdNKveDOLk73BkSJjQLJk6qe4Yh+hHw1UPhCDdrg=="], + "@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.52.1", "", { "dependencies": { "@opentelemetry/api-logs": "0.52.1", "@types/shimmer": "^1.0.2", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2", "shimmer": "^1.2.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw=="], "@opentelemetry/otlp-exporter-base": ["@opentelemetry/otlp-exporter-base@0.52.1", "", { "dependencies": { "@opentelemetry/core": "1.25.1", "@opentelemetry/otlp-transformer": "0.52.1" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-z175NXOtX5ihdlshtYBe5RpGeBoTXVCKPPLiQlD6FHvpM4Ch+p2B0yWKYSrBfLH24H9zjJiBdTrtD+hLlfnXEQ=="], @@ -872,25 +874,25 @@ "@popperjs/core": ["@popperjs/core@2.11.8", "", {}, "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A=="], - "@prisma/adapter-neon": ["@prisma/adapter-neon@6.3.1", "", { "dependencies": { "@prisma/driver-adapter-utils": "6.3.1", "postgres-array": "3.0.2" }, "peerDependencies": { "@neondatabase/serverless": "^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0" } }, "sha512-yDCeqQ0EYT/DBL6G2uh01IlVrCr9Jli6SXa1yvdl/Kq4O/Hjj1i+Oxg4FskHVStLvlo6bqNxEFtLEuFCLCXG1A=="], + "@prisma/adapter-neon": ["@prisma/adapter-neon@6.4.0", "", { "dependencies": { "@prisma/driver-adapter-utils": "6.4.0", "postgres-array": "3.0.2" }, "peerDependencies": { "@neondatabase/serverless": "^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0" } }, "sha512-iRaNmzESQLltEb51hv9jChNFnUDx4VbDvpcyI25kLYwh/RJJR18KjtYCrq4WX22ruFxatlXKXKGZ/XS+bOY2kQ=="], - "@prisma/client": ["@prisma/client@6.3.1", "", { "peerDependencies": { "prisma": "*", "typescript": ">=5.1.0" }, "optionalPeers": ["prisma", "typescript"] }, "sha512-ARAJaPs+eBkemdky/XU3cvGRl+mIPHCN2lCXsl5Vlb0E2gV+R6IN7aCI8CisRGszEZondwIsW9Iz8EJkTdykyA=="], + "@prisma/client": ["@prisma/client@6.4.0", "", { "peerDependencies": { "prisma": "*", "typescript": ">=5.1.0" }, "optionalPeers": ["prisma", "typescript"] }, "sha512-48tLb+VL7iuuqJXjD4Xbqa622fuh8UtqmjTf39AKrQjlTUdNaMc9sC/c49eXQkcnrAdh9FoS1qVupmZSYiZ9TQ=="], - "@prisma/debug": ["@prisma/debug@6.3.1", "", {}, "sha512-RrEBkd+HLZx+ydfmYT0jUj7wjLiS95wfTOSQ+8FQbvb6vHh5AeKfEPt/XUQ5+Buljj8hltEfOslEW57/wQIVeA=="], + "@prisma/debug": ["@prisma/debug@6.4.0", "", {}, "sha512-zXsLpNXLypdThJjItqk0u/3uitcD9+9rNynZPPu4Xp7664yp8VbxCGTVBS696vA0e3kw0Xv/4muR+cNHkxspcw=="], - "@prisma/driver-adapter-utils": ["@prisma/driver-adapter-utils@6.3.1", "", { "dependencies": { "@prisma/debug": "6.3.1" } }, "sha512-Z30oSnSFYlzU/Z96lfApqd42EzSXwxj7iPD34iGdZ+fecGlOO9WaBY2tlzCdt7sdhxIxNGEL8tD1o4EHX8tLNA=="], + "@prisma/driver-adapter-utils": ["@prisma/driver-adapter-utils@6.4.0", "", { "dependencies": { "@prisma/debug": "6.4.0" } }, "sha512-lfDUpSAyhmn3JBAoxpT/FAPl5bB+8qF39hA13KvwH0mBBxTzsI7mWZ/Jv4OFnCjeXSjPtxqUJLkPAdVuSK9g1g=="], - "@prisma/engines": ["@prisma/engines@6.3.1", "", { "dependencies": { "@prisma/debug": "6.3.1", "@prisma/engines-version": "6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0", "@prisma/fetch-engine": "6.3.1", "@prisma/get-platform": "6.3.1" } }, "sha512-sXdqEVLyGAJ5/iUoG/Ea5AdHMN71m6PzMBWRQnLmhhOejzqAaEr8rUd623ql6OJpED4s/U4vIn4dg1qkF7vGag=="], + "@prisma/engines": ["@prisma/engines@6.4.0", "", { "dependencies": { "@prisma/debug": "6.4.0", "@prisma/engines-version": "6.4.0-29.a9055b89e58b4b5bfb59600785423b1db3d0e75d", "@prisma/fetch-engine": "6.4.0", "@prisma/get-platform": "6.4.0" } }, "sha512-SeUigmWj0uhnSjYKWkG//Gzj4XHy6bi1TXgTZ+pPujxGELJgOvecgaA/bHmWokyHPnbYWRaoSwQDxPjihYzSZg=="], - "@prisma/engines-version": ["@prisma/engines-version@6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0", "", {}, "sha512-R/ZcMuaWZT2UBmgX3Ko6PAV3f8//ZzsjRIG1eKqp3f2rqEqVtCv+mtzuH2rBPUC9ujJ5kCb9wwpxeyCkLcHVyA=="], + "@prisma/engines-version": ["@prisma/engines-version@6.4.0-29.a9055b89e58b4b5bfb59600785423b1db3d0e75d", "", {}, "sha512-Xq54qw55vaCGrGgIJqyDwOq0TtjZPJEWsbQAHugk99hpDf2jcEeQhUcF+yzEsSqegBaDNLA4IC8Nn34sXmkiTQ=="], "@prisma/extension-accelerate": ["@prisma/extension-accelerate@1.2.2", "", { "peerDependencies": { "@prisma/client": ">=4.16.1" } }, "sha512-LOlfkG6If+o8PFRzLzp26ackP/d+j2HrkTJaxuV/Wd+sdAHz/AkmzEDGbo2UpHFpxEM9hWMBe3ScSwUKYUDOXg=="], - "@prisma/fetch-engine": ["@prisma/fetch-engine@6.3.1", "", { "dependencies": { "@prisma/debug": "6.3.1", "@prisma/engines-version": "6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0", "@prisma/get-platform": "6.3.1" } }, "sha512-HOf/0umOgt+/S2xtZze+FHKoxpVg4YpVxROr6g2YG09VsI3Ipyb+rGvD6QGbCqkq5NTWAAZoOGNL+oy7t+IhaQ=="], + "@prisma/fetch-engine": ["@prisma/fetch-engine@6.4.0", "", { "dependencies": { "@prisma/debug": "6.4.0", "@prisma/engines-version": "6.4.0-29.a9055b89e58b4b5bfb59600785423b1db3d0e75d", "@prisma/get-platform": "6.4.0" } }, "sha512-CN/Qb/+n+15gfhN0ipeUcGu/oGw7HIwVw4DCKD11190dneVGpa+n0wxwXTFJlV0vkAeSBSkQ3y1ugKAa5s/VPg=="], - "@prisma/get-platform": ["@prisma/get-platform@6.3.1", "", { "dependencies": { "@prisma/debug": "6.3.1" } }, "sha512-AYLq6Hk9xG73JdLWJ3Ip9Wg/vlP7xPvftGBalsPzKDOHr/ImhwJ09eS8xC2vNT12DlzGxhfk8BkL0ve2OriNhQ=="], + "@prisma/get-platform": ["@prisma/get-platform@6.4.0", "", { "dependencies": { "@prisma/debug": "6.4.0" } }, "sha512-khANH9QbCRhFWiGj3qmR0clxLTU76Cimxf4JAhjhtpsc1jdG1A9geGe0kU4WAQ1YpiKFJ10s9j2wbbE/jSP99Q=="], - "@prisma/instrumentation": ["@prisma/instrumentation@6.3.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.52.0 || ^0.53.0 || ^0.54.0 || ^0.55.0 || ^0.56.0 || ^0.57.0" }, "peerDependencies": { "@opentelemetry/api": "^1.8" } }, "sha512-XETCiBQYm8p/3ouNs0sv00MqjeYYM6sge0CSgx+Oevex99cfOBPt+J6JbOPyYqYcyOd3m2j2xRlXkPUKmpuxiA=="], + "@prisma/instrumentation": ["@prisma/instrumentation@6.4.0", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.52.0 || ^0.53.0 || ^0.54.0 || ^0.55.0 || ^0.56.0 || ^0.57.0" }, "peerDependencies": { "@opentelemetry/api": "^1.8" } }, "sha512-7QcoOE0DpxHaC/3Q+UTKvDCVL3Wc9C0MYHjGvMl9/LKLNI/D33CTMXJji/otWxOeRYFl6ENDB4768Og0grT9tw=="], "@protobufjs/aspromise": ["@protobufjs/aspromise@1.1.2", "", {}, "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="], @@ -1058,7 +1060,7 @@ "@remirror/core-constants": ["@remirror/core-constants@3.0.0", "", {}, "sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg=="], - "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.34.7", "", { "os": "darwin", "cpu": "arm64" }, "sha512-jq87CjmgL9YIKvs8ybtIC98s/M3HdbqXhllcy9EdLV0yMg1DpxES2gr65nNy7ObNo/vZ/MrOTxt0bE5LinL6mA=="], + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.34.8", "", { "os": "darwin", "cpu": "arm64" }, "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q=="], "@scena/dragscroll": ["@scena/dragscroll@1.4.0", "", { "dependencies": { "@daybrush/utils": "^1.6.0", "@scena/event-emitter": "^1.0.2" } }, "sha512-3O8daaZD9VXA9CP3dra6xcgt/qrm0mg0xJCwiX6druCteQ9FFsXffkF8PrqxY4Z4VJ58fFKEa0RlKqbsi/XnRA=="], @@ -1214,7 +1216,7 @@ "@tanstack/query-core": ["@tanstack/query-core@4.36.1", "", {}, "sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA=="], - "@tanstack/react-query": ["@tanstack/react-query@5.66.0", "", { "dependencies": { "@tanstack/query-core": "5.66.0" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-z3sYixFQJe8hndFnXgWu7C79ctL+pI0KAelYyW+khaNJ1m22lWrhJU2QrsTcRKMuVPtoZvfBYrTStIdKo+x0Xw=="], + "@tanstack/react-query": ["@tanstack/react-query@5.66.7", "", { "dependencies": { "@tanstack/query-core": "5.66.4" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-qd3q/tUpF2K1xItfPZddk1k/8pSXnovg41XyCqJgPoyYEirMBtB0sVEVVQ/CsAOngzgWtBPXimVf4q4kM9uO6A=="], "@tanstack/react-table": ["@tanstack/react-table@8.21.2", "", { "dependencies": { "@tanstack/table-core": "8.21.2" }, "peerDependencies": { "react": ">=16.8", "react-dom": ">=16.8" } }, "sha512-11tNlEDTdIhMJba2RBH+ecJ9l1zgS2kjmexDPAraulc8jeNA4xocSNeyzextT0XJyASil4XsCYlJmf5jEWAtYg=="], @@ -1472,9 +1474,9 @@ "@uploadthing/mime-types": ["@uploadthing/mime-types@0.3.4", "", {}, "sha512-EB0o0a4y++UJFMLqS8LDVhSQgXUllG6t5fwl5cbmOM0Uay8YY5Nc/JjFwzJ8wccdIKz4oYwQW7EOSfUyaMPbfw=="], - "@uploadthing/react": ["@uploadthing/react@7.2.1", "", { "dependencies": { "@uploadthing/shared": "7.1.6", "file-selector": "0.6.0" }, "peerDependencies": { "next": "*", "react": "^17.0.2 || ^18.0.0 || ^19.0.0", "uploadthing": "^7.2.0" }, "optionalPeers": ["next"] }, "sha512-X8iUJDOFyT9DonfZkxx3ngWvr4iz47tmXT7pC0209YT+Odfmq/sd/a0w7UcFrCiYIV1CL0xD97ynRDTN3LX48Q=="], + "@uploadthing/react": ["@uploadthing/react@7.3.0", "", { "dependencies": { "@uploadthing/shared": "7.1.7", "file-selector": "0.6.0" }, "peerDependencies": { "next": "*", "react": "^17.0.2 || ^18.0.0 || ^19.0.0", "uploadthing": "^7.2.0" }, "optionalPeers": ["next"] }, "sha512-rSH9BpPy2/G7nZ3SEbZQANUFHkBCS5CwWiVzmOW9fzFNoqF+buqBvi5FDweffqMSwmr+/VS8Wpyj87/GYbV0Fw=="], - "@uploadthing/shared": ["@uploadthing/shared@7.1.6", "", { "dependencies": { "@uploadthing/mime-types": "0.3.4", "effect": "3.12.0", "sqids": "^0.3.0" } }, "sha512-7EyTxaGiTIdyqCwNQFryo0LR4eZgyClq31igrjGrXHkxSlXnurphybjzB6AVD73UBPVGCfbtOK0lloduhsMNlg=="], + "@uploadthing/shared": ["@uploadthing/shared@7.1.7", "", { "dependencies": { "@uploadthing/mime-types": "0.3.4", "effect": "3.12.0", "sqids": "^0.3.0" } }, "sha512-VDvGmyHhdwaivC+eee77yZnOVvz59mOmLVbcuYFo4SkoNvPuc3AyPORqJJMBveQivTvELdrQcjlx6IPv98JkSA=="], "@upstash/core-analytics": ["@upstash/core-analytics@0.0.10", "", { "dependencies": { "@upstash/redis": "^1.28.3" } }, "sha512-7qJHGxpQgQr9/vmeS1PktEwvNAF7TI4iJDi8Pu2CFZ9YUGHZH4fOP5TfYlZ4aVxfopnELiE4BS4FBjyK7V1/xQ=="], @@ -1654,7 +1656,7 @@ "camelcase-css": ["camelcase-css@2.0.1", "", {}, "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="], - "caniuse-lite": ["caniuse-lite@1.0.30001699", "", {}, "sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w=="], + "caniuse-lite": ["caniuse-lite@1.0.30001700", "", {}, "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ=="], "caseless": ["caseless@0.12.0", "", {}, "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="], @@ -1938,7 +1940,7 @@ "effect": ["effect@3.12.0", "", { "dependencies": { "fast-check": "^3.23.1" } }, "sha512-b/u9s3b9HfTo0qygVouegP0hkbiuxRIeaCe1ppf8P88hPyl6lKCbErtn7Az4jG7LuU7f0Wgm4c8WXbMcL2j8+g=="], - "electron-to-chromium": ["electron-to-chromium@1.5.101", "", {}, "sha512-L0ISiQrP/56Acgu4/i/kfPwWSgrzYZUnQrC0+QPFuhqlLP1Ir7qzPPDVS9BcKIyWTRU8+o6CC8dKw38tSWhYIA=="], + "electron-to-chromium": ["electron-to-chromium@1.5.102", "", {}, "sha512-eHhqaja8tE/FNpIiBrvBjFV/SSKpyWHLvxuR9dPTdo+3V9ppdLmFB7ZZQ98qNovcngPLYIz0oOBF9P0FfZef5Q=="], "embla-carousel": ["embla-carousel@8.5.2", "", {}, "sha512-xQ9oVLrun/eCG/7ru3R+I5bJ7shsD8fFwLEY7yPe27/+fDHCNj0OT5EoG5ZbFyOxOcG6yTwW8oTz/dWyFnyGpg=="], @@ -1980,6 +1982,8 @@ "esbuild": ["esbuild@0.19.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.19.11", "@esbuild/android-arm": "0.19.11", "@esbuild/android-arm64": "0.19.11", "@esbuild/android-x64": "0.19.11", "@esbuild/darwin-arm64": "0.19.11", "@esbuild/darwin-x64": "0.19.11", "@esbuild/freebsd-arm64": "0.19.11", "@esbuild/freebsd-x64": "0.19.11", "@esbuild/linux-arm": "0.19.11", "@esbuild/linux-arm64": "0.19.11", "@esbuild/linux-ia32": "0.19.11", "@esbuild/linux-loong64": "0.19.11", "@esbuild/linux-mips64el": "0.19.11", "@esbuild/linux-ppc64": "0.19.11", "@esbuild/linux-riscv64": "0.19.11", "@esbuild/linux-s390x": "0.19.11", "@esbuild/linux-x64": "0.19.11", "@esbuild/netbsd-x64": "0.19.11", "@esbuild/openbsd-x64": "0.19.11", "@esbuild/sunos-x64": "0.19.11", "@esbuild/win32-arm64": "0.19.11", "@esbuild/win32-ia32": "0.19.11", "@esbuild/win32-x64": "0.19.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA=="], + "esbuild-register": ["esbuild-register@3.6.0", "", { "dependencies": { "debug": "^4.3.4" }, "peerDependencies": { "esbuild": ">=0.12 <1" } }, "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg=="], + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], "escape-html": ["escape-html@1.0.3", "", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="], @@ -1992,7 +1996,7 @@ "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="], - "esrap": ["esrap@1.4.4", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" } }, "sha512-tDN6xP/r/b3WmdpWm7LybrD252hY52IokcycPnO+WHfhFF0+n5AWtcLLK7VNV6m0uYgVRhGVs8OkZwRyfC7HzQ=="], + "esrap": ["esrap@1.4.5", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" } }, "sha512-CjNMjkBWWZeHn+VX+gS8YvFwJ5+NDhg8aWZBSFJPR8qQduDNjbJodA2WcwCm7uQa5Rjqj+nZvVmceg1RbHFB9g=="], "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], @@ -2042,7 +2046,7 @@ "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], - "fast-xml-parser": ["fast-xml-parser@4.5.1", "", { "dependencies": { "strnum": "^1.0.5" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-y655CeyUQ+jj7KBbYMc4FG01V8ZQqjN+gDYGJ50RtfsUB8iG9AmwmwoAgeKLJdmueKKMrH1RJ7yXHTSoczdv5w=="], + "fast-xml-parser": ["fast-xml-parser@4.5.2", "", { "dependencies": { "strnum": "^1.0.5" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-xmnYV9o0StIz/0ArdzmWTxn9oDy0lH8Z80/8X/TD2EUQKXY4DHxoT9mYBqgGIG17DgddCJtH1M6DriMbalNsAA=="], "fastq": ["fastq@1.19.0", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA=="], @@ -2214,8 +2218,6 @@ "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], - "immer": ["immer@10.1.1", "", {}, "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw=="], - "import-in-the-middle": ["import-in-the-middle@1.13.0", "", { "dependencies": { "acorn": "^8.14.0", "acorn-import-attributes": "^1.9.5", "cjs-module-lexer": "^1.2.2", "module-details-from-path": "^1.0.3" } }, "sha512-YG86SYDtrL/Yu8JgfWb7kjQ0myLeT1whw6fs/ZHFkXFcbk9zJU9lOCsSJHpvaPumU11nN3US7NW6x1YTk+HrUA=="], "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], @@ -2358,7 +2360,7 @@ "jju": ["jju@1.4.0", "", {}, "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA=="], - "jose": ["jose@5.9.6", "", {}, "sha512-AMlnetc9+CV9asI19zHmrgS/WYsWUwCn2R7RzlbJWD7F9eWYUTGyBmU9o6PxngtLGOiDGPRu+Uc4fhKzbpteZQ=="], + "jose": ["jose@5.10.0", "", {}, "sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg=="], "jotai": ["jotai@2.12.1", "", { "peerDependencies": { "@types/react": ">=17.0.0", "react": ">=17.0.0" }, "optionalPeers": ["@types/react", "react"] }, "sha512-VUW0nMPYIru5g89tdxwr9ftiVdc/nGV9jvHISN8Ucx+m1vI9dBeHemfqYzEuw5XSkmYjD/MEyApN9k6yrATsZQ=="], @@ -2462,7 +2464,7 @@ "log-symbols": ["log-symbols@4.1.0", "", { "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" } }, "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg=="], - "long": ["long@5.3.0", "", {}, "sha512-5vvY5yF1zF/kXk+L94FRiTDa1Znom46UjPCH6/XbSvS8zBKMFBHTJk8KDMqJ+2J6QezQFi7k1k8v21ClJYHPaw=="], + "long": ["long@5.3.1", "", {}, "sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng=="], "longest-streak": ["longest-streak@3.1.0", "", {}, "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g=="], @@ -2642,9 +2644,9 @@ "next-international": ["next-international@1.3.1", "", { "dependencies": { "client-only": "^0.0.1", "international-types": "^0.8.1", "server-only": "^0.0.1" } }, "sha512-ydU9jQe+4MohMWltbZae/yuWeKhmp0QKQqJNNi8WCCMwrly03qfMAHw/tWbT2qgAlG++CxF5jMXmGQZgOHeVOw=="], - "next-intl": ["next-intl@3.26.3", "", { "dependencies": { "@formatjs/intl-localematcher": "^0.5.4", "negotiator": "^1.0.0", "use-intl": "^3.26.3" }, "peerDependencies": { "next": "^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0" } }, "sha512-6Y97ODrDsEE1J8cXKMHwg1laLdtkN66QMIqG8BzH4zennJRUNTtM8UMtBDyhfmF6uiZ+xsbWLXmHUgmUymUsfQ=="], + "next-intl": ["next-intl@3.26.4", "", { "dependencies": { "@formatjs/intl-localematcher": "^0.5.4", "negotiator": "^1.0.0", "use-intl": "^3.26.4" }, "peerDependencies": { "next": "^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0" } }, "sha512-/kFFR7WYJGisOR0xKoC930e6oTOOWf8rbHviQgte5zIn6OgJ6mKFvXI94RWAW3ksCZJCvE4zblIuYwHCSbbw7g=="], - "next-safe-action": ["next-safe-action@7.10.3", "", { "peerDependencies": { "@sinclair/typebox": ">= 0.33.3", "next": ">= 14.0.0", "react": ">= 18.2.0", "react-dom": ">= 18.2.0", "valibot": ">= 0.36.0", "yup": ">= 1.0.0", "zod": ">= 3.0.0" }, "optionalPeers": ["@sinclair/typebox", "valibot", "yup", "zod"] }, "sha512-Kn4zTnOiRkfWfQ0DH94I79Eycq6i+qS6WzhuGzxlWhVe6/yrEXHt+yU4GdqJ1O7vLyDAOWv4rXaRu+FkfVUAqQ=="], + "next-safe-action": ["next-safe-action@7.10.4", "", { "peerDependencies": { "@sinclair/typebox": ">= 0.33.3", "next": ">= 14.0.0", "react": ">= 18.2.0", "react-dom": ">= 18.2.0", "valibot": ">= 0.36.0", "yup": ">= 1.0.0", "zod": ">= 3.0.0" }, "optionalPeers": ["@sinclair/typebox", "valibot", "yup", "zod"] }, "sha512-rZE89DTNgiTJ8oPQBOZm+jd0Uf/pLkN+GE3PndER6vWqHGYGN7HMLvhpggkbE8W4TGp+qM7CPyrXye1wCjZLVg=="], "next-themes": ["next-themes@0.4.4", "", { "peerDependencies": { "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" } }, "sha512-LDQ2qIOJF0VnuVrrMSMLrWGjRMkq+0mpgl6e0juCLqdJ+oo8Q84JRWT6Wh11VDQKkMMe+dVzDKLWs5n87T+PkQ=="], @@ -2678,13 +2680,13 @@ "number-is-nan": ["number-is-nan@1.0.1", "", {}, "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ=="], - "nuqs": ["nuqs@2.3.2", "", { "dependencies": { "mitt": "^3.0.1" }, "peerDependencies": { "@remix-run/react": ">=2", "next": ">=14.2.0", "react": ">=18.2.0 || ^19.0.0-0", "react-router": "^6 || ^7", "react-router-dom": "^6 || ^7" }, "optionalPeers": ["@remix-run/react", "next", "react-router", "react-router-dom"] }, "sha512-WeG78r8e3a30JY3P8npldvNiAZwGIk499lnpeRs3UYA3PpSvs2/PLunKGgjuF/JMw4BOowD3K2xgGEOZ3PeODA=="], + "nuqs": ["nuqs@2.4.0", "", { "dependencies": { "mitt": "^3.0.1" }, "peerDependencies": { "@remix-run/react": ">=2", "next": ">=14.2.0", "react": ">=18.2.0 || ^19.0.0-0", "react-router": "^6 || ^7", "react-router-dom": "^6 || ^7" }, "optionalPeers": ["@remix-run/react", "next", "react-router", "react-router-dom"] }, "sha512-+yOdX0q/wdYlseSYtWC8StDDt2QFcYX/zV5/E67J1cOJo3PR0mggxMx4acZGC0Hu66xFHENKQkqI2zSpH742xQ=="], "nwsapi": ["nwsapi@2.2.16", "", {}, "sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ=="], "oauth-sign": ["oauth-sign@0.9.0", "", {}, "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="], - "oauth4webapi": ["oauth4webapi@3.1.5", "", {}, "sha512-/V8tb1vgltQWIV8abvFfK1VVLhNcg5nYp8XTjwGc69eP66+rnHl0ttBLL5VrEJ/oNCrM37+JoVuHpiLNhnTdzw=="], + "oauth4webapi": ["oauth4webapi@3.2.0", "", {}, "sha512-2sYwQXuuzGKOHpnM7QL9BssDrly5gKCgJKTyrhmFIHzJRj0fFsr6GVJEdesmrX6NpMg2u63V4hJwRsZE6PUSSA=="], "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], @@ -2734,7 +2736,7 @@ "p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="], - "pac-proxy-agent": ["pac-proxy-agent@7.1.0", "", { "dependencies": { "@tootallnate/quickjs-emscripten": "^0.23.0", "agent-base": "^7.1.2", "debug": "^4.3.4", "get-uri": "^6.0.1", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.6", "pac-resolver": "^7.0.1", "socks-proxy-agent": "^8.0.5" } }, "sha512-Z5FnLVVZSnX7WjBg0mhDtydeRZ1xMcATZThjySQUHqr+0ksP8kqaw23fNKkaaN/Z8gwLUs/W7xdl0I75eP2Xyw=="], + "pac-proxy-agent": ["pac-proxy-agent@7.2.0", "", { "dependencies": { "@tootallnate/quickjs-emscripten": "^0.23.0", "agent-base": "^7.1.2", "debug": "^4.3.4", "get-uri": "^6.0.1", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.6", "pac-resolver": "^7.0.1", "socks-proxy-agent": "^8.0.5" } }, "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA=="], "pac-resolver": ["pac-resolver@7.0.1", "", { "dependencies": { "degenerator": "^5.0.0", "netmask": "^2.0.2" } }, "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg=="], @@ -2828,11 +2830,11 @@ "postgres-range": ["postgres-range@1.1.4", "", {}, "sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w=="], - "posthog-js": ["posthog-js@1.218.2", "", { "dependencies": { "core-js": "^3.38.1", "fflate": "^0.4.8", "preact": "^10.19.3", "web-vitals": "^4.2.0" } }, "sha512-C3IRqrdeYdFPiUmj2wI+k+Skr56Co9vhXufv3LirNQC6kAc5FVq//VQVK1i4Xf8PlZYsaqREl0QI5M/CihU3wA=="], + "posthog-js": ["posthog-js@1.219.3", "", { "dependencies": { "core-js": "^3.38.1", "fflate": "^0.4.8", "preact": "^10.19.3", "web-vitals": "^4.2.0" } }, "sha512-oKN4no9RRAptZ86R/MvMjsxQnFAe97rwU2emmTzf/q9ng+7V4nU+APM0ItzrESFtRYx1X8kKtxDUlkujNhfMvw=="], "posthog-node": ["posthog-node@4.6.0", "", { "dependencies": { "axios": "^1.7.4" } }, "sha512-Dq6sBTeBXfK0Ez9OWAl+lhUcSInGUshxtoe0b26gFZtnV4byWTEZtwitKB6Xel9wYx3pNHixKOTSIHC/6a6CIA=="], - "preact": ["preact@10.25.4", "", {}, "sha512-jLdZDb+Q+odkHJ+MpW/9U5cODzqnB+fy2EiHSZES7ldV5LK7yjlVzTp7R8Xy6W6y75kfK8iWYtFVH7lvjwrCMA=="], + "preact": ["preact@10.24.3", "", {}, "sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA=="], "preact-render-to-string": ["preact-render-to-string@6.5.11", "", { "peerDependencies": { "preact": ">=10" } }, "sha512-ubnauqoGczeGISiOh6RjX0/cdaF8v/oDXIjO85XALCQjwQP+SB4RDXXtvZ6yTYSjG+PC1QRP2AhPgCEsM2EvUw=="], @@ -2844,7 +2846,7 @@ "pretty-format": ["pretty-format@3.8.0", "", {}, "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew=="], - "prisma": ["prisma@6.3.1", "", { "dependencies": { "@prisma/engines": "6.3.1" }, "optionalDependencies": { "fsevents": "2.3.3" }, "peerDependencies": { "typescript": ">=5.1.0" }, "optionalPeers": ["typescript"], "bin": { "prisma": "build/index.js" } }, "sha512-JKCZWvBC3enxk51tY4TWzS4b5iRt4sSU1uHn2I183giZTvonXaQonzVtjLzpOHE7qu9MxY510kAtFGJwryKe3Q=="], + "prisma": ["prisma@6.4.0", "", { "dependencies": { "@prisma/engines": "6.4.0", "esbuild": ">=0.12 <1", "esbuild-register": "3.6.0" }, "optionalDependencies": { "fsevents": "2.3.3" }, "peerDependencies": { "typescript": ">=5.1.0" }, "optionalPeers": ["typescript"], "bin": { "prisma": "build/index.js" } }, "sha512-UxEaEo1ajnEvwT9UQRyRfq0zZ9pvOmlZ6kShY8Hgu4jxgkHo1mg85IEP8yBgFRiRBA2o2OIt1nxzcllt86D4Mw=="], "prismjs": ["prismjs@1.29.0", "", {}, "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q=="], @@ -3224,7 +3226,7 @@ "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], - "svelte": ["svelte@5.20.1", "", { "dependencies": { "@ampproject/remapping": "^2.3.0", "@jridgewell/sourcemap-codec": "^1.5.0", "@types/estree": "^1.0.5", "acorn": "^8.12.1", "acorn-typescript": "^1.4.13", "aria-query": "^5.3.1", "axobject-query": "^4.1.0", "clsx": "^2.1.1", "esm-env": "^1.2.1", "esrap": "^1.4.3", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", "zimmerframe": "^1.1.2" } }, "sha512-aCARru2WTdzJl55Ws8SK27+kvQwd8tijl4kY7NoDUXUHtTHhxMa8Lf6QNZKmU7cuPu3jjFloDO1j5HgYJNIIWg=="], + "svelte": ["svelte@5.20.2", "", { "dependencies": { "@ampproject/remapping": "^2.3.0", "@jridgewell/sourcemap-codec": "^1.5.0", "@types/estree": "^1.0.5", "acorn": "^8.12.1", "acorn-typescript": "^1.4.13", "aria-query": "^5.3.1", "axobject-query": "^4.1.0", "clsx": "^2.1.1", "esm-env": "^1.2.1", "esrap": "^1.4.3", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", "zimmerframe": "^1.1.2" } }, "sha512-aYXJreNUiyTob0QOzRZeBXZMGeFZDch6SrSRV8QTncZb6zj0O3BEdUzPpojuHQ1pTvk+KX7I6rZCXPUf8pTPxA=="], "swr": ["swr@2.3.2", "", { "dependencies": { "dequal": "^2.0.3", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-RosxFpiabojs75IwQ316DGoDRmOqtiAj0tg8wCcbEu4CiLZBs/a9QNtHV7TUfDXmmlgqij/NqzKq/eLelyv9xA=="], @@ -3268,7 +3270,7 @@ "tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="], - "tinyglobby": ["tinyglobby@0.2.10", "", { "dependencies": { "fdir": "^6.4.2", "picomatch": "^4.0.2" } }, "sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew=="], + "tinyglobby": ["tinyglobby@0.2.11", "", { "dependencies": { "fdir": "^6.4.3", "picomatch": "^4.0.2" } }, "sha512-32TmKeeKUahv0Go8WmQgiEp9Y21NuxjwjqiRC1nrUB51YacfSwuB44xgXD+HdIppmMRgjQNPdrHyA6vIybYZ+g=="], "tinygradient": ["tinygradient@1.1.5", "", { "dependencies": { "@types/tinycolor2": "^1.4.0", "tinycolor2": "^1.0.0" } }, "sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw=="], @@ -3378,7 +3380,7 @@ "update-browserslist-db": ["update-browserslist-db@1.1.2", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg=="], - "uploadthing": ["uploadthing@7.5.1", "", { "dependencies": { "@effect/platform": "0.72.0", "@standard-schema/spec": "1.0.0-beta.4", "@uploadthing/mime-types": "0.3.4", "@uploadthing/shared": "7.1.6", "effect": "3.12.0" }, "peerDependencies": { "express": "*", "h3": "*", "tailwindcss": "^3.0.0 || ^4.0.0-beta.0" }, "optionalPeers": ["express", "h3", "tailwindcss"] }, "sha512-p5VxxT4i7LYLiKE+FgtMnIztvDfgZ1IptY62PF2YpgvxFccIbX/OXx8OcW/psjKCmPC7PXEt3e9d+bduYJOmDw=="], + "uploadthing": ["uploadthing@7.5.2", "", { "dependencies": { "@effect/platform": "0.72.0", "@standard-schema/spec": "1.0.0-beta.4", "@uploadthing/mime-types": "0.3.4", "@uploadthing/shared": "7.1.7", "effect": "3.12.0" }, "peerDependencies": { "express": "*", "h3": "*", "tailwindcss": "^3.0.0 || ^4.0.0-beta.0" }, "optionalPeers": ["express", "h3", "tailwindcss"] }, "sha512-hrvsVXgu6cYYJW97UuFLd3U2+TrPGyMBtPYSkqSTVq45Orkq9qFk095qkXYIW4EA/DyvCo78VV25HfSXT3EH7w=="], "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], @@ -3388,7 +3390,7 @@ "use-debounce": ["use-debounce@10.0.4", "", { "peerDependencies": { "react": "*" } }, "sha512-6Cf7Yr7Wk7Kdv77nnJMf6de4HuDE4dTxKij+RqE9rufDsI6zsbjyAxcH5y2ueJCQAnfgKbzXbZHYlkFwmBlWkw=="], - "use-intl": ["use-intl@3.26.3", "", { "dependencies": { "@formatjs/fast-memoize": "^2.2.0", "intl-messageformat": "^10.5.14" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0" } }, "sha512-yY0a2YseO17cKwHA9M6fcpiEJ2Uo81DEU0NOUxNTp6lJVNOuI6nULANPVVht6IFdrYFtlsMmMoc97+Eq9/Tnng=="], + "use-intl": ["use-intl@3.26.4", "", { "dependencies": { "@formatjs/fast-memoize": "^2.2.0", "intl-messageformat": "^10.5.14" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0" } }, "sha512-5DhN+YfsocNO7LiLpns7/pxRcMHA4DgBZQo5Z6uw3LvX9XIZyPAdRBdFPE2eBKTAwhY77k5eBhxqDtx8wzUaBg=="], "use-isomorphic-layout-effect": ["use-isomorphic-layout-effect@1.2.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w=="], @@ -3518,26 +3520,16 @@ "@ai-sdk/openai/@ai-sdk/provider": ["@ai-sdk/provider@0.0.24", "", { "dependencies": { "json-schema": "0.4.0" } }, "sha512-XMsNGJdGO+L0cxhhegtqZ8+T6nn4EoShS819OvCgI2kLbYTIvk0GWFGD0AXJmxkxs3DrpsJxKAFukFR7bvTkgQ=="], - "@ai-sdk/provider-utils/@ai-sdk/provider": ["@ai-sdk/provider@0.0.24", "", { "dependencies": { "json-schema": "0.4.0" } }, "sha512-XMsNGJdGO+L0cxhhegtqZ8+T6nn4EoShS819OvCgI2kLbYTIvk0GWFGD0AXJmxkxs3DrpsJxKAFukFR7bvTkgQ=="], + "@ai-sdk/openai/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@1.0.20", "", { "dependencies": { "@ai-sdk/provider": "0.0.24", "eventsource-parser": "1.1.2", "nanoid": "3.3.6", "secure-json-parse": "2.7.0" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-ngg/RGpnA00eNOWEtXHenpX1MsM2QshQh4QJFjUfwcqHpM5kTfG7je7Rc3HcEDP+OkRVv2GF+X4fC1Vfcnl8Ow=="], - "@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.6", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="], + "@ai-sdk/provider-utils/@ai-sdk/provider": ["@ai-sdk/provider@0.0.26", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg=="], - "@ai-sdk/react/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@1.0.22", "", { "dependencies": { "@ai-sdk/provider": "0.0.26", "eventsource-parser": "^1.1.2", "nanoid": "^3.3.7", "secure-json-parse": "^2.7.0" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ=="], - - "@ai-sdk/solid/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@1.0.22", "", { "dependencies": { "@ai-sdk/provider": "0.0.26", "eventsource-parser": "^1.1.2", "nanoid": "^3.3.7", "secure-json-parse": "^2.7.0" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ=="], - - "@ai-sdk/svelte/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@1.0.22", "", { "dependencies": { "@ai-sdk/provider": "0.0.26", "eventsource-parser": "^1.1.2", "nanoid": "^3.3.7", "secure-json-parse": "^2.7.0" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ=="], + "@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], "@ai-sdk/ui-utils/@ai-sdk/provider": ["@ai-sdk/provider@0.0.26", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg=="], - "@ai-sdk/ui-utils/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@1.0.22", "", { "dependencies": { "@ai-sdk/provider": "0.0.26", "eventsource-parser": "^1.1.2", "nanoid": "^3.3.7", "secure-json-parse": "^2.7.0" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ=="], - - "@ai-sdk/vue/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@1.0.22", "", { "dependencies": { "@ai-sdk/provider": "0.0.26", "eventsource-parser": "^1.1.2", "nanoid": "^3.3.7", "secure-json-parse": "^2.7.0" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ=="], - "@asamuzakjp/css-color/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - "@auth/core/preact": ["preact@10.24.3", "", {}, "sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA=="], - "@aws-crypto/sha1-browser/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="], "@aws-crypto/sha256-browser/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="], @@ -3572,6 +3564,8 @@ "@mui/utils/react-is": ["react-is@19.0.0", "", {}, "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g=="], + "@nangohq/frontend/@nangohq/types": ["@nangohq/types@0.53.1", "", { "dependencies": { "axios": "^1.7.9", "json-schema": "0.4.0", "type-fest": "4.32.0" } }, "sha512-9ZfkhoYgwEkAonYHku0sE20pYn+XlAVvD74HDqXg4b9g0Lxsdsv7eptr0VVPMaaUAt790JjfbwphrlEIvWyCag=="], + "@novu/js/tailwind-merge": ["tailwind-merge@2.6.0", "", {}, "sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA=="], "@novu/node/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="], @@ -3580,10 +3574,6 @@ "@novu/ntfr-client/zod": ["zod@3.22.3", "", {}, "sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug=="], - "@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.57.2", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A=="], - - "@opentelemetry/sdk-node/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.52.1", "", { "dependencies": { "@opentelemetry/api-logs": "0.52.1", "@types/shimmer": "^1.0.2", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2", "shimmer": "^1.2.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw=="], - "@pnpm/network.ca-file/graceful-fs": ["graceful-fs@4.2.10", "", {}, "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="], "@react-email/components/@react-email/render": ["@react-email/render@1.0.3", "", { "dependencies": { "html-to-text": "9.0.5", "prettier": "3.3.3", "react-promise-suspense": "0.3.4" }, "peerDependencies": { "react": "^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-VQ8g4SuIq/jWdfBTdTjb7B8Np0jj+OoD7VebfdHhLTZzVQKesR2aigpYqE/ZXmwj4juVxDm8T2b6WIIu48rPCg=="], @@ -3606,9 +3596,7 @@ "@smithy/middleware-retry/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="], - "@tanstack/react-query/@tanstack/query-core": ["@tanstack/query-core@5.66.0", "", {}, "sha512-J+JeBtthiKxrpzUu7rfIPDzhscXF2p5zE/hVdrqkACBP8Yu0M96mwJ5m/8cPPYQE9aRNvXztXHlNwIh4FEeMZw=="], - - "@trigger.dev/core/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.52.1", "", { "dependencies": { "@opentelemetry/api-logs": "0.52.1", "@types/shimmer": "^1.0.2", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2", "shimmer": "^1.2.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw=="], + "@tanstack/react-query/@tanstack/query-core": ["@tanstack/query-core@5.66.4", "", {}, "sha512-skM/gzNX4shPkqmdTCSoHtJAPMTtmIJNS0hE+xwTTUVYwezArCT34NMermABmBVUg5Ls5aiUXEDXfqwR1oVkcA=="], "@trigger.dev/core/eventsource-parser": ["eventsource-parser@3.0.0", "", {}, "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA=="], @@ -3632,8 +3620,6 @@ "ai/@ai-sdk/provider": ["@ai-sdk/provider@0.0.26", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg=="], - "ai/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@1.0.22", "", { "dependencies": { "@ai-sdk/provider": "0.0.26", "eventsource-parser": "^1.1.2", "nanoid": "^3.3.7", "secure-json-parse": "^2.7.0" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ=="], - "ansi-escapes/type-fest": ["type-fest@1.4.0", "", {}, "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA=="], "are-we-there-yet/readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="], @@ -3850,23 +3836,7 @@ "write-file-atomic/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - "@ai-sdk/react/@ai-sdk/provider-utils/@ai-sdk/provider": ["@ai-sdk/provider@0.0.26", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg=="], - - "@ai-sdk/react/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], - - "@ai-sdk/solid/@ai-sdk/provider-utils/@ai-sdk/provider": ["@ai-sdk/provider@0.0.26", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg=="], - - "@ai-sdk/solid/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], - - "@ai-sdk/svelte/@ai-sdk/provider-utils/@ai-sdk/provider": ["@ai-sdk/provider@0.0.26", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg=="], - - "@ai-sdk/svelte/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], - - "@ai-sdk/ui-utils/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], - - "@ai-sdk/vue/@ai-sdk/provider-utils/@ai-sdk/provider": ["@ai-sdk/provider@0.0.26", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg=="], - - "@ai-sdk/vue/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], + "@ai-sdk/openai/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.6", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="], "@aws-crypto/sha1-browser/@smithy/util-utf8/@smithy/util-buffer-from": ["@smithy/util-buffer-from@2.2.0", "", { "dependencies": { "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA=="], @@ -3908,8 +3878,6 @@ "@trigger.dev/core/socket.io-client/debug": ["debug@4.3.7", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ=="], - "ai/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], - "are-we-there-yet/readable-stream/isarray": ["isarray@1.0.0", "", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="], "are-we-there-yet/readable-stream/safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="], @@ -4050,8 +4018,6 @@ "cmdk/@radix-ui/react-dialog/@radix-ui/react-use-controllable-state/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0" } }, "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg=="], - "cmdk/@radix-ui/react-dialog/react-remove-scroll/@types/react": ["@types/react@19.0.8", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw=="], - "comp.ai/@ai-sdk/openai/@ai-sdk/provider-utils/eventsource-parser": ["eventsource-parser@3.0.0", "", {}, "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA=="], "comp.ai/@ai-sdk/openai/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], @@ -4060,8 +4026,6 @@ "comp.ai/ai/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], - "languine/@trigger.dev/sdk/@trigger.dev/core/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.52.1", "", { "dependencies": { "@opentelemetry/api-logs": "0.52.1", "@types/shimmer": "^1.0.2", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2", "shimmer": "^1.2.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw=="], - "languine/@trigger.dev/sdk/@trigger.dev/core/eventsource-parser": ["eventsource-parser@3.0.0", "", {}, "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA=="], "languine/@trigger.dev/sdk/@trigger.dev/core/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], diff --git a/bun.lockb b/bun.lockb deleted file mode 100755 index 86297218f8..0000000000 Binary files a/bun.lockb and /dev/null differ diff --git a/package.json b/package.json index c7660bfc4d..aaf938bba9 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,8 @@ "@manypkg/cli": "^0.23.0", "@nangohq/node": "^0.53.2", "@types/d3": "^7.4.3", + "@types/react": "19.0.10", + "ai": "3.4.33", "d3": "^7.9.0", "gitmoji": "^1.1.1", "gray-matter": "^4.0.3", diff --git a/packages/docs/api-reference/v1/employees.mdx b/packages/docs/api-reference/v1/employees.mdx index d92970383d..38b434296c 100644 --- a/packages/docs/api-reference/v1/employees.mdx +++ b/packages/docs/api-reference/v1/employees.mdx @@ -1,11 +1,11 @@ --- -title: 'Employees' -description: 'Endpoints for managing organization employees' +title: "Employees" +description: "Endpoints for managing organization employees" --- # Employees -The Employees endpoints allow you to manage employees within your organization. You can list employees, filter them by various parameters, and add new employees. +The Employees endpoints allow you to manage employees within your organization. You can list employees, create new employees, and delete existing employees. ## Base URL @@ -28,6 +28,13 @@ All API endpoints require authentication using an API key. You can pass the API ## Endpoints +The following endpoints are available for managing employees: + +- `GET /api/v1/employees` - List all employees with optional filtering +- `GET /api/v1/employees/:id` - Get a single employee by ID +- `POST /api/v1/employees` - Create a new employee +- `DELETE /api/v1/employees/:id` - Delete an employee by ID + ### List Employees @@ -37,7 +44,8 @@ All API endpoints require authentication using an API key. You can pass the API #### Query Parameters - Filter employees by active status. If not provided, all employees are returned. + Filter employees by active status. If not provided, all employees are + returned. @@ -85,6 +93,20 @@ All API endpoints require authentication using an API key. You can pass the API +#### Error Responses + + + Will be `false` when an error occurs. + + + + Error message describing what went wrong. + + + + Detailed validation errors, if applicable. + + #### Example Request ```bash @@ -112,9 +134,102 @@ curl -X GET "https://app.trycomp.ai/api/v1/employees?active=true&department=engi } ``` +### Get Employee + + + Retrieves a single employee by ID. + + +#### Path Parameters + + + The unique identifier of the employee to retrieve. + + +#### Response + + + Indicates if the request was successful. + + + + The employee object. + + + + Unique identifier for the employee. + + + Full name of the employee. + + + Email address of the employee. + + + Department the employee belongs to. + + + Whether the employee is active. + + + External identifier for the employee, if any. + + + ISO 8601 timestamp of when the employee was created. + + + ISO 8601 timestamp of when the employee was last updated. + + + + +#### Error Responses + + + Will be `false` when an error occurs. + + + + Error message describing what went wrong. + + +#### Example Request + +```bash +curl -X GET "https://app.trycomp.ai/api/v1/employees/clg3a4x6y000789ajdg7l8e9f" \ + -H "Authorization: Bearer YOUR_API_KEY" +``` + +#### Example Response + +```json +{ + "success": true, + "data": { + "id": "clg3a4x6y000789ajdg7l8e9f", + "name": "John Doe", + "email": "john.doe@example.com", + "department": "engineering", + "isActive": true, + "externalEmployeeId": "EMP-123", + "createdAt": "2023-01-15T00:00:00.000Z", + "updatedAt": "2023-06-01T12:34:56.789Z" + } +} +``` + +#### Example Error Response + +```json +{ + "success": false, + "error": "Employee not found" +} +``` + ### Add Employee - + Adds a new employee to your organization. @@ -196,6 +311,10 @@ curl -X GET "https://app.trycomp.ai/api/v1/employees?active=true&department=engi #### Error Responses + + Will be `false` when an error occurs. + + Error message describing what went wrong. @@ -207,7 +326,7 @@ curl -X GET "https://app.trycomp.ai/api/v1/employees?active=true&department=engi #### Example Request ```bash -curl -X POST "https://app.trycomp.ai/api/v1/employees/add" \ +curl -X POST "https://app.trycomp.ai/api/v1/employees" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ @@ -238,4 +357,82 @@ curl -X POST "https://app.trycomp.ai/api/v1/employees/add" \ "linkId": null } } -``` \ No newline at end of file +``` + +#### Example Response for Validation Error + +```json +{ + "success": false, + "error": "Validation failed", + "details": { + "name": { + "_errors": ["Name is required"] + }, + "email": { + "_errors": ["Valid email is required"] + } + } +} +``` + +### Delete Employee + + + Deletes an employee from your organization by ID. + + +#### Path Parameters + + + The unique identifier of the employee to delete. + + +#### Response + + + Indicates if the request was successful. + + + + + A success message confirming the employee was deleted. + + + +#### Error Responses + + + Will be `false` when an error occurs. + + + + Error message describing what went wrong. + + +#### Example Request + +```bash +curl -X DELETE "https://app.trycomp.ai/api/v1/employees/clg3a4x6y000789ajdg7l8e9f" \ + -H "Authorization: Bearer YOUR_API_KEY" +``` + +#### Example Response + +```json +{ + "success": true, + "data": { + "message": "Employee deleted successfully" + } +} +``` + +#### Example Error Response + +```json +{ + "success": false, + "error": "Employee not found" +} +``` diff --git a/packages/kv/package.json b/packages/kv/package.json index f8e5baf5eb..b69c18c649 100644 --- a/packages/kv/package.json +++ b/packages/kv/package.json @@ -11,6 +11,6 @@ }, "dependencies": { "@upstash/redis": "^1.34.2", - "server-only": "^0.0.1" + "server-only": "0.0.1" } } diff --git a/packages/notifications/package.json b/packages/notifications/package.json index 909d7d8e3f..4a4238d88e 100644 --- a/packages/notifications/package.json +++ b/packages/notifications/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@novu/node": "^2.0.1", - "nanoid": "^5.0.7" + "nanoid": "5.1.0" }, "devDependencies": { "typescript": "^5.6.3" diff --git a/packages/ui/package.json b/packages/ui/package.json index b28995520e..4653f77499 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -120,7 +120,7 @@ "@radix-ui/react-toast": "^1.2.2", "@radix-ui/react-tooltip": "^1.1.3", "@tailwindcss/typography": "^0.5.16", - "@tiptap/extension-bold": "^2.9.1", + "@tiptap/extension-bold": "2.11.5", "@tiptap/extension-link": "^2.9.1", "@tiptap/extension-placeholder": "^2.9.1", "@tiptap/extension-underline": "^2.9.1", diff --git a/turbo.json b/turbo.json index c398ca858f..92fbdd2e5a 100644 --- a/turbo.json +++ b/turbo.json @@ -1,8 +1,6 @@ { "$schema": "https://turborepo.org/schema.json", - "globalDependencies": [ - "**/.env" - ], + "globalDependencies": ["**/.env"], "ui": "stream", "tasks": { "clean-react": { @@ -37,22 +35,12 @@ "AWS_BUCKET_NAME", "AWS_REGION", "AWS_ACCESS_KEY_ID", - "AWS_SECRET_ACCESS_KEY" + "AWS_SECRET_ACCESS_KEY", + "ANTHROPIC_API_KEY" ], - "inputs": [ - "$TURBO_DEFAULT$", - ".env" - ], - "dependsOn": [ - "^build", - "^db:generate", - "clean-react" - ], - "outputs": [ - ".next/**", - "!.next/cache/**", - "next-env.d.ts" - ] + "inputs": ["$TURBO_DEFAULT$", ".env"], + "dependsOn": ["^build", "^db:generate", "clean-react"], + "outputs": [".next/**", "!.next/cache/**", "next-env.d.ts"] }, "db:generate": { "cache": false @@ -67,28 +55,17 @@ "cache": false }, "dev": { - "inputs": [ - "$TURBO_DEFAULT$", - ".env" - ], - "dependsOn": [ - "^db:generate" - ], + "inputs": ["$TURBO_DEFAULT$", ".env"], + "dependsOn": ["^db:generate"], "persistent": true, "cache": false }, "lint": { - "dependsOn": [ - "^topo" - ] + "dependsOn": ["^topo"] }, "typecheck": { - "dependsOn": [ - "^topo" - ], - "outputs": [ - "node_modules/.cache/tsbuildinfo.json" - ] + "dependsOn": ["^topo"], + "outputs": ["node_modules/.cache/tsbuildinfo.json"] } } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index bcbfdbc36d..f7d679ef67 100644 --- a/yarn.lock +++ b/yarn.lock @@ -996,18 +996,18 @@ formdata-node "^4.3.2" node-fetch "^2.6.7" -"@bubba/analytics@^workspace:packages/analytics", "@bubba/analytics@workspace:*": +"@bubba/analytics@^workspace:packages/analytics", "@bubba/analytics@packages/analytics": version "workspace:packages/analytics" resolved "workspace:packages/analytics" dependencies: posthog-js "^1.215.3" posthog-node "^4.4.1" -"@bubba/db@^workspace:packages/db", "@bubba/db@workspace:*": +"@bubba/db@^workspace:packages/db", "@bubba/db@packages/db": version "workspace:packages/db" resolved "workspace:packages/db" devDependencies: - "@bubba/tsconfig" "workspace:*" + "@bubba/tsconfig" "packages/tsconfig" devDependencies: typescript "^5.7.3" dependencies: @@ -1026,8 +1026,8 @@ "@types/react-dom" "^19.0.0" typescript "^5.7.2" dependencies: - "@bubba/ui" "workspace:*" - "@bubba/utils" "workspace:*" + "@bubba/ui" "packages/ui" + "@bubba/utils" "packages/utils" dependencies: "@react-email/components" "0.0.31" "@react-email/render" "0.0.10" @@ -1057,22 +1057,22 @@ resolved "workspace:packages/kv" dependencies: "@upstash/redis" "^1.34.2" - server-only "^0.0.1" + server-only "0.0.1" -"@bubba/notifications@^workspace:packages/notifications", "@bubba/notifications@workspace:*": +"@bubba/notifications@^workspace:packages/notifications", "@bubba/notifications@packages/notifications": version "workspace:packages/notifications" resolved "workspace:packages/notifications" devDependencies: typescript "^5.6.3" dependencies: "@novu/node" "^2.0.1" - nanoid "^5.0.7" + nanoid "5.1.0" -"@bubba/tsconfig@^workspace:packages/tsconfig", "@bubba/tsconfig@workspace:*": +"@bubba/tsconfig@^workspace:packages/tsconfig", "@bubba/tsconfig@packages/tsconfig": version "workspace:packages/tsconfig" resolved "workspace:packages/tsconfig" -"@bubba/ui@^workspace:packages/ui", "@bubba/ui@workspace:*": +"@bubba/ui@^workspace:packages/ui", "@bubba/ui@packages/ui": version "workspace:packages/ui" resolved "workspace:packages/ui" devDependencies: @@ -1107,7 +1107,7 @@ "@radix-ui/react-toast" "^1.2.2" "@radix-ui/react-tooltip" "^1.1.3" "@tailwindcss/typography" "^0.5.16" - "@tiptap/extension-bold" "^2.9.1" + "@tiptap/extension-bold" "2.11.5" "@tiptap/extension-link" "^2.9.1" "@tiptap/extension-placeholder" "^2.9.1" "@tiptap/extension-underline" "^2.9.1" @@ -1136,7 +1136,7 @@ use-callback-ref "^1.3.3" vaul "^1.0.0" -"@bubba/utils@^workspace:packages/utils", "@bubba/utils@workspace:*": +"@bubba/utils@^workspace:packages/utils", "@bubba/utils@packages/utils": version "workspace:packages/utils" resolved "workspace:packages/utils" devDependencies: @@ -1813,25 +1813,25 @@ hey-listen "^1.0.8" tslib "^2.3.1" -"@mui/core-downloads-tracker@^6.4.4": - version "6.4.4" - resolved "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.4.4.tgz" - integrity sha512-r+J0EditrekkTtO2CnCBCOGpNaDYwJqz8lH4rj6o/anDcskZFJodBlG8aCJkS8DL/CF/9EHS+Gz53EbmYEnQbw== +"@mui/core-downloads-tracker@^6.4.5": + version "6.4.5" + resolved "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.4.5.tgz" + integrity sha512-zoXvHU1YuoodgMlPS+epP084Pqv9V+Vg+5IGv9n/7IIFVQ2nkTngYHYxElCq8pdTTbDcgji+nNh0lxri2abWgA== "@mui/icons-material@^6.1.6": - version "6.4.4" - resolved "https://registry.npmjs.org/@mui/icons-material/-/icons-material-6.4.4.tgz" - integrity sha512-uF1chGaoFmYdRUomK6f8kgJfWosk9A3HXWiVD0vQm+2mE7f25eTQ1E8RRO11LXpnUBqu8Rbv/uGlpnjT/u1Ksg== + version "6.4.5" + resolved "https://registry.npmjs.org/@mui/icons-material/-/icons-material-6.4.5.tgz" + integrity sha512-4A//t8Nrc+4u4pbVhGarIFU98zpuB5AV9hTNzgXx1ySZJ1tWtx+i/1SbQ8PtGJxWeXlljhwimZJNPQ3x0CiIFw== dependencies: "@babel/runtime" "^7.26.0" -"@mui/material@^6.4.4": - version "6.4.4" - resolved "https://registry.npmjs.org/@mui/material/-/material-6.4.4.tgz" - integrity sha512-ISVPrIsPQsxnwvS40C4u03AuNSPigFeS2+n1qpuEZ94hDsdMi19dQM2JcC9CHEhXecSIQjP1RTyY0mPiSpSrFQ== +"@mui/material@^6.4.5": + version "6.4.5" + resolved "https://registry.npmjs.org/@mui/material/-/material-6.4.5.tgz" + integrity sha512-5eyEgSXocIeV1JkXs8mYyJXU0aFyXZIWI5kq2g/mCnIgJe594lkOBNAKnCIaGVfQTu2T6TTEHF8/hHIqpiIRGA== dependencies: "@babel/runtime" "^7.26.0" - "@mui/core-downloads-tracker" "^6.4.4" + "@mui/core-downloads-tracker" "^6.4.5" "@mui/system" "^6.4.3" "@mui/types" "^7.2.21" "@mui/utils" "^6.4.3" @@ -1896,11 +1896,11 @@ react-is "^19.0.0" "@nangohq/frontend@^0.53.1": - version "0.53.2" - resolved "https://registry.npmjs.org/@nangohq/frontend/-/frontend-0.53.2.tgz" - integrity sha512-ZSNY9jHVuF/Qfsu8TJBK3tujsxO+Qi7dHWNFt316Mq3g4od9MwuHefTEs0EtfpUTCB18hNE05QOQWCuD8zO8Aw== + version "0.53.1" + resolved "https://registry.npmjs.org/@nangohq/frontend/-/frontend-0.53.1.tgz" + integrity sha512-NjQwktw1aKYsQ9QPGJkyABgVZhWBrYlJgi12ohyLnw1X/0jLH2XxVrGEmBG/F8ID1/1g3YHo1SxdV0Dcaw0ZPQ== dependencies: - "@nangohq/types" "0.53.2" + "@nangohq/types" "0.53.1" "@nangohq/node@^0.53.2": version "0.53.2" @@ -1910,6 +1910,15 @@ "@nangohq/types" "0.53.2" axios "^1.7.9" +"@nangohq/types@0.53.1": + version "0.53.1" + resolved "https://registry.npmjs.org/@nangohq/types/-/types-0.53.1.tgz" + integrity sha512-9ZfkhoYgwEkAonYHku0sE20pYn+XlAVvD74HDqXg4b9g0Lxsdsv7eptr0VVPMaaUAt790JjfbwphrlEIvWyCag== + dependencies: + axios "^1.7.9" + json-schema "0.4.0" + type-fest "4.32.0" + "@nangohq/types@0.53.2": version "0.53.2" resolved "https://registry.npmjs.org/@nangohq/types/-/types-0.53.2.tgz" @@ -2140,13 +2149,6 @@ dependencies: "@opentelemetry/api" "^1.0.0" -"@opentelemetry/api-logs@0.57.2": - version "0.57.2" - resolved "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.57.2.tgz" - integrity sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A== - dependencies: - "@opentelemetry/api" "^1.3.0" - "@opentelemetry/context-async-hooks@1.25.1": version "1.25.1" resolved "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.25.1.tgz" @@ -2214,7 +2216,7 @@ "@opentelemetry/sdk-trace-base" "1.25.1" "@opentelemetry/semantic-conventions" "1.25.1" -"@opentelemetry/instrumentation@0.52.1": +"@opentelemetry/instrumentation@0.52.1", "@opentelemetry/instrumentation@^0.52.0 || ^0.53.0 || ^0.54.0 || ^0.55.0 || ^0.56.0 || ^0.57.0": version "0.52.1" resolved "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.1.tgz" integrity sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw== @@ -2226,18 +2228,6 @@ semver "^7.5.2" shimmer "^1.2.1" -"@opentelemetry/instrumentation@^0.52.0 || ^0.53.0 || ^0.54.0 || ^0.55.0 || ^0.56.0 || ^0.57.0": - version "0.57.2" - resolved "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.57.2.tgz" - integrity sha512-BdBGhQBh8IjZ2oIIX6F2/Q3LKm/FDDKi6ccYKcBTeilh6SNdNKveDOLk73BkSJjQLJk6qe4Yh+hHw1UPhCDdrg== - dependencies: - "@opentelemetry/api-logs" "0.57.2" - "@types/shimmer" "^1.2.0" - import-in-the-middle "^1.8.1" - require-in-the-middle "^7.1.1" - semver "^7.5.2" - shimmer "^1.2.1" - "@opentelemetry/otlp-exporter-base@0.52.1": version "0.52.1" resolved "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.52.1.tgz" @@ -2499,70 +2489,70 @@ integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== "@prisma/adapter-neon@^6.3.1": - version "6.3.1" - resolved "https://registry.npmjs.org/@prisma/adapter-neon/-/adapter-neon-6.3.1.tgz" - integrity sha512-yDCeqQ0EYT/DBL6G2uh01IlVrCr9Jli6SXa1yvdl/Kq4O/Hjj1i+Oxg4FskHVStLvlo6bqNxEFtLEuFCLCXG1A== + version "6.4.0" + resolved "https://registry.npmjs.org/@prisma/adapter-neon/-/adapter-neon-6.4.0.tgz" + integrity sha512-iRaNmzESQLltEb51hv9jChNFnUDx4VbDvpcyI25kLYwh/RJJR18KjtYCrq4WX22ruFxatlXKXKGZ/XS+bOY2kQ== dependencies: - "@prisma/driver-adapter-utils" "6.3.1" + "@prisma/driver-adapter-utils" "6.4.0" postgres-array "3.0.2" "@prisma/client@>=2.26.0 || >=3 || >=4 || >=5", "@prisma/client@>=4.16.1", "@prisma/client@^6.3.1": - version "6.3.1" - resolved "https://registry.npmjs.org/@prisma/client/-/client-6.3.1.tgz" - integrity sha512-ARAJaPs+eBkemdky/XU3cvGRl+mIPHCN2lCXsl5Vlb0E2gV+R6IN7aCI8CisRGszEZondwIsW9Iz8EJkTdykyA== + version "6.4.0" + resolved "https://registry.npmjs.org/@prisma/client/-/client-6.4.0.tgz" + integrity sha512-48tLb+VL7iuuqJXjD4Xbqa622fuh8UtqmjTf39AKrQjlTUdNaMc9sC/c49eXQkcnrAdh9FoS1qVupmZSYiZ9TQ== -"@prisma/debug@6.3.1": - version "6.3.1" - resolved "https://registry.npmjs.org/@prisma/debug/-/debug-6.3.1.tgz" - integrity sha512-RrEBkd+HLZx+ydfmYT0jUj7wjLiS95wfTOSQ+8FQbvb6vHh5AeKfEPt/XUQ5+Buljj8hltEfOslEW57/wQIVeA== +"@prisma/debug@6.4.0": + version "6.4.0" + resolved "https://registry.npmjs.org/@prisma/debug/-/debug-6.4.0.tgz" + integrity sha512-zXsLpNXLypdThJjItqk0u/3uitcD9+9rNynZPPu4Xp7664yp8VbxCGTVBS696vA0e3kw0Xv/4muR+cNHkxspcw== -"@prisma/driver-adapter-utils@6.3.1": - version "6.3.1" - resolved "https://registry.npmjs.org/@prisma/driver-adapter-utils/-/driver-adapter-utils-6.3.1.tgz" - integrity sha512-Z30oSnSFYlzU/Z96lfApqd42EzSXwxj7iPD34iGdZ+fecGlOO9WaBY2tlzCdt7sdhxIxNGEL8tD1o4EHX8tLNA== +"@prisma/driver-adapter-utils@6.4.0": + version "6.4.0" + resolved "https://registry.npmjs.org/@prisma/driver-adapter-utils/-/driver-adapter-utils-6.4.0.tgz" + integrity sha512-lfDUpSAyhmn3JBAoxpT/FAPl5bB+8qF39hA13KvwH0mBBxTzsI7mWZ/Jv4OFnCjeXSjPtxqUJLkPAdVuSK9g1g== dependencies: - "@prisma/debug" "6.3.1" + "@prisma/debug" "6.4.0" -"@prisma/engines@6.3.1": - version "6.3.1" - resolved "https://registry.npmjs.org/@prisma/engines/-/engines-6.3.1.tgz" - integrity sha512-sXdqEVLyGAJ5/iUoG/Ea5AdHMN71m6PzMBWRQnLmhhOejzqAaEr8rUd623ql6OJpED4s/U4vIn4dg1qkF7vGag== +"@prisma/engines@6.4.0": + version "6.4.0" + resolved "https://registry.npmjs.org/@prisma/engines/-/engines-6.4.0.tgz" + integrity sha512-SeUigmWj0uhnSjYKWkG//Gzj4XHy6bi1TXgTZ+pPujxGELJgOvecgaA/bHmWokyHPnbYWRaoSwQDxPjihYzSZg== dependencies: - "@prisma/debug" "6.3.1" - "@prisma/engines-version" "6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0" - "@prisma/fetch-engine" "6.3.1" - "@prisma/get-platform" "6.3.1" + "@prisma/debug" "6.4.0" + "@prisma/engines-version" "6.4.0-29.a9055b89e58b4b5bfb59600785423b1db3d0e75d" + "@prisma/fetch-engine" "6.4.0" + "@prisma/get-platform" "6.4.0" -"@prisma/engines-version@6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0": - version "6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0" - resolved "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0.tgz" - integrity sha512-R/ZcMuaWZT2UBmgX3Ko6PAV3f8//ZzsjRIG1eKqp3f2rqEqVtCv+mtzuH2rBPUC9ujJ5kCb9wwpxeyCkLcHVyA== +"@prisma/engines-version@6.4.0-29.a9055b89e58b4b5bfb59600785423b1db3d0e75d": + version "6.4.0-29.a9055b89e58b4b5bfb59600785423b1db3d0e75d" + resolved "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-6.4.0-29.a9055b89e58b4b5bfb59600785423b1db3d0e75d.tgz" + integrity sha512-Xq54qw55vaCGrGgIJqyDwOq0TtjZPJEWsbQAHugk99hpDf2jcEeQhUcF+yzEsSqegBaDNLA4IC8Nn34sXmkiTQ== "@prisma/extension-accelerate@^1.2.2": version "1.2.2" resolved "https://registry.npmjs.org/@prisma/extension-accelerate/-/extension-accelerate-1.2.2.tgz" integrity sha512-LOlfkG6If+o8PFRzLzp26ackP/d+j2HrkTJaxuV/Wd+sdAHz/AkmzEDGbo2UpHFpxEM9hWMBe3ScSwUKYUDOXg== -"@prisma/fetch-engine@6.3.1": - version "6.3.1" - resolved "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.3.1.tgz" - integrity sha512-HOf/0umOgt+/S2xtZze+FHKoxpVg4YpVxROr6g2YG09VsI3Ipyb+rGvD6QGbCqkq5NTWAAZoOGNL+oy7t+IhaQ== +"@prisma/fetch-engine@6.4.0": + version "6.4.0" + resolved "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.4.0.tgz" + integrity sha512-CN/Qb/+n+15gfhN0ipeUcGu/oGw7HIwVw4DCKD11190dneVGpa+n0wxwXTFJlV0vkAeSBSkQ3y1ugKAa5s/VPg== dependencies: - "@prisma/debug" "6.3.1" - "@prisma/engines-version" "6.3.0-17.acc0b9dd43eb689cbd20c9470515d719db10d0b0" - "@prisma/get-platform" "6.3.1" + "@prisma/debug" "6.4.0" + "@prisma/engines-version" "6.4.0-29.a9055b89e58b4b5bfb59600785423b1db3d0e75d" + "@prisma/get-platform" "6.4.0" -"@prisma/get-platform@6.3.1": - version "6.3.1" - resolved "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.3.1.tgz" - integrity sha512-AYLq6Hk9xG73JdLWJ3Ip9Wg/vlP7xPvftGBalsPzKDOHr/ImhwJ09eS8xC2vNT12DlzGxhfk8BkL0ve2OriNhQ== +"@prisma/get-platform@6.4.0": + version "6.4.0" + resolved "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.4.0.tgz" + integrity sha512-khANH9QbCRhFWiGj3qmR0clxLTU76Cimxf4JAhjhtpsc1jdG1A9geGe0kU4WAQ1YpiKFJ10s9j2wbbE/jSP99Q== dependencies: - "@prisma/debug" "6.3.1" + "@prisma/debug" "6.4.0" "@prisma/instrumentation@^6.3.1": - version "6.3.1" - resolved "https://registry.npmjs.org/@prisma/instrumentation/-/instrumentation-6.3.1.tgz" - integrity sha512-XETCiBQYm8p/3ouNs0sv00MqjeYYM6sge0CSgx+Oevex99cfOBPt+J6JbOPyYqYcyOd3m2j2xRlXkPUKmpuxiA== + version "6.4.0" + resolved "https://registry.npmjs.org/@prisma/instrumentation/-/instrumentation-6.4.0.tgz" + integrity sha512-7QcoOE0DpxHaC/3Q+UTKvDCVL3Wc9C0MYHjGvMl9/LKLNI/D33CTMXJji/otWxOeRYFl6ENDB4768Og0grT9tw== dependencies: "@opentelemetry/instrumentation" "^0.52.0 || ^0.53.0 || ^0.54.0 || ^0.55.0 || ^0.56.0 || ^0.57.0" @@ -3478,9 +3468,9 @@ integrity sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg== "@rollup/rollup-darwin-arm64@^4.18.1": - version "4.34.7" - resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.7.tgz" - integrity sha512-jq87CjmgL9YIKvs8ybtIC98s/M3HdbqXhllcy9EdLV0yMg1DpxES2gr65nNy7ObNo/vZ/MrOTxt0bE5LinL6mA== + version "4.34.8" + resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz" + integrity sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q== "@scena/dragscroll@^1.4.0": version "1.4.0" @@ -4228,17 +4218,17 @@ resolved "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.36.1.tgz" integrity sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA== -"@tanstack/query-core@5.66.0": - version "5.66.0" - resolved "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.66.0.tgz" - integrity sha512-J+JeBtthiKxrpzUu7rfIPDzhscXF2p5zE/hVdrqkACBP8Yu0M96mwJ5m/8cPPYQE9aRNvXztXHlNwIh4FEeMZw== +"@tanstack/query-core@5.66.4": + version "5.66.4" + resolved "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.66.4.tgz" + integrity sha512-skM/gzNX4shPkqmdTCSoHtJAPMTtmIJNS0hE+xwTTUVYwezArCT34NMermABmBVUg5Ls5aiUXEDXfqwR1oVkcA== "@tanstack/react-query@^5.66.0": - version "5.66.0" - resolved "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.66.0.tgz" - integrity sha512-z3sYixFQJe8hndFnXgWu7C79ctL+pI0KAelYyW+khaNJ1m22lWrhJU2QrsTcRKMuVPtoZvfBYrTStIdKo+x0Xw== + version "5.66.7" + resolved "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.66.7.tgz" + integrity sha512-qd3q/tUpF2K1xItfPZddk1k/8pSXnovg41XyCqJgPoyYEirMBtB0sVEVVQ/CsAOngzgWtBPXimVf4q4kM9uO6A== dependencies: - "@tanstack/query-core" "5.66.0" + "@tanstack/query-core" "5.66.4" "@tanstack/react-table@^8.21.2": version "8.21.2" @@ -4262,7 +4252,7 @@ resolved "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.11.5.tgz" integrity sha512-MZfcRIzKRD8/J1hkt/eYv49060GTL6qGR3NY/oTDuw2wYzbQXXLEbjk8hxAtjwNn7G+pWQv3L+PKFzZDxibLuA== -"@tiptap/extension-bold@^2.11.5", "@tiptap/extension-bold@^2.9.1": +"@tiptap/extension-bold@2.11.5", "@tiptap/extension-bold@^2.11.5": version "2.11.5" resolved "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.11.5.tgz" integrity sha512-OAq03MHEbl7MtYCUzGuwb0VpOPnM0k5ekMbEaRILFU5ZC7cEAQ36XmPIw1dQayrcuE8GZL35BKub2qtRxyC9iA== @@ -5056,14 +5046,7 @@ resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz" integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== -"@types/react@^16.8.0 || ^17.0.0 || ^18.0.0": - version "19.0.8" - resolved "https://registry.npmjs.org/@types/react/-/react-19.0.8.tgz" - integrity sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw== - dependencies: - csstype "^3.0.2" - -"@types/react@*", "@types/react@19.0.10", "@types/react@>=16.8", "@types/react@>=17.0.0", "@types/react@>=18", "@types/react@^17.0.0 || ^18.0.0 || ^19.0.0", "@types/react@^19.0.0", "@types/react@^19.0.8": +"@types/react@*", "@types/react@19.0.10", "@types/react@>=16.8", "@types/react@>=17.0.0", "@types/react@>=18", "@types/react@^16.8.0 || ^17.0.0 || ^18.0.0", "@types/react@^17.0.0 || ^18.0.0 || ^19.0.0", "@types/react@^19.0.0", "@types/react@^19.0.8": version "19.0.10" resolved "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz" integrity sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g== @@ -5102,7 +5085,7 @@ "@types/node" "*" "@types/send" "*" -"@types/shimmer@^1.0.2", "@types/shimmer@^1.2.0": +"@types/shimmer@^1.0.2": version "1.2.0" resolved "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.2.0.tgz" integrity sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg== @@ -5169,17 +5152,17 @@ integrity sha512-EB0o0a4y++UJFMLqS8LDVhSQgXUllG6t5fwl5cbmOM0Uay8YY5Nc/JjFwzJ8wccdIKz4oYwQW7EOSfUyaMPbfw== "@uploadthing/react@^7.2.0": - version "7.2.1" - resolved "https://registry.npmjs.org/@uploadthing/react/-/react-7.2.1.tgz" - integrity sha512-X8iUJDOFyT9DonfZkxx3ngWvr4iz47tmXT7pC0209YT+Odfmq/sd/a0w7UcFrCiYIV1CL0xD97ynRDTN3LX48Q== + version "7.3.0" + resolved "https://registry.npmjs.org/@uploadthing/react/-/react-7.3.0.tgz" + integrity sha512-rSH9BpPy2/G7nZ3SEbZQANUFHkBCS5CwWiVzmOW9fzFNoqF+buqBvi5FDweffqMSwmr+/VS8Wpyj87/GYbV0Fw== dependencies: - "@uploadthing/shared" "7.1.6" + "@uploadthing/shared" "7.1.7" file-selector "0.6.0" -"@uploadthing/shared@7.1.6": - version "7.1.6" - resolved "https://registry.npmjs.org/@uploadthing/shared/-/shared-7.1.6.tgz" - integrity sha512-7EyTxaGiTIdyqCwNQFryo0LR4eZgyClq31igrjGrXHkxSlXnurphybjzB6AVD73UBPVGCfbtOK0lloduhsMNlg== +"@uploadthing/shared@7.1.7": + version "7.1.7" + resolved "https://registry.npmjs.org/@uploadthing/shared/-/shared-7.1.7.tgz" + integrity sha512-VDvGmyHhdwaivC+eee77yZnOVvz59mOmLVbcuYFo4SkoNvPuc3AyPORqJJMBveQivTvELdrQcjlx6IPv98JkSA== dependencies: "@uploadthing/mime-types" "0.3.4" effect "3.12.0" @@ -5343,7 +5326,7 @@ agentkeepalive@^4.2.1: dependencies: humanize-ms "^1.2.1" -ai@^3.4.33: +ai@3.4.33, ai@^3.4.33: version "3.4.33" resolved "https://registry.npmjs.org/ai/-/ai-3.4.33.tgz" integrity sha512-plBlrVZKwPoRTmM8+D1sJac9Bq8eaa2jiZlHLZIWekKWI1yMWYZvCCEezY9ASPwRhULYDJB2VhKOBUUeg3S5JQ== @@ -5905,9 +5888,9 @@ camelcase-css@^2.0.1: integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001688: - version "1.0.30001699" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001699.tgz" - integrity sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w== + version "1.0.30001700" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001700.tgz" + integrity sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ== caseless@~0.12.0: version "0.12.0" @@ -6136,7 +6119,7 @@ comp.ai@^workspace:apps/app: version "workspace:apps/app" resolved "workspace:apps/app" devDependencies: - "@bubba/db" "workspace:*" + "@bubba/db" "packages/db" devDependencies: "@trigger.dev/build" "3.3.16" "@types/node" "^22.13.2" @@ -6152,7 +6135,7 @@ comp.ai@^workspace:apps/app: "@aws-sdk/s3-request-presigner" "^3.758.0" "@browserbasehq/sdk" "^2.3.0" dependencies: - "@bubba/notifications" "workspace:*" + "@bubba/notifications" "packages/notifications" dependencies: "@date-fns/tz" "^1.2.0" "@hookform/resolvers" "^3.10.0" @@ -7010,9 +6993,9 @@ effect@3.12.0, effect@^3.12.0: fast-check "^3.23.1" electron-to-chromium@^1.5.73: - version "1.5.101" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.101.tgz" - integrity sha512-L0ISiQrP/56Acgu4/i/kfPwWSgrzYZUnQrC0+QPFuhqlLP1Ir7qzPPDVS9BcKIyWTRU8+o6CC8dKw38tSWhYIA== + version "1.5.102" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.102.tgz" + integrity sha512-eHhqaja8tE/FNpIiBrvBjFV/SSKpyWHLvxuR9dPTdo+3V9ppdLmFB7ZZQ98qNovcngPLYIz0oOBF9P0FfZef5Q== embla-carousel@8.5.2: version "8.5.2" @@ -7215,7 +7198,7 @@ es-to-primitive@^1.3.0: is-date-object "^1.0.5" is-symbol "^1.0.4" -esbuild@0.19.11: +esbuild@0.19.11, "esbuild@>=0.12 <1": version "0.19.11" resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz" integrity sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA== @@ -7244,6 +7227,13 @@ esbuild@0.19.11: "@esbuild/win32-ia32" "0.19.11" "@esbuild/win32-x64" "0.19.11" +esbuild-register@3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz" + integrity sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg== + dependencies: + debug "^4.3.4" + escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" @@ -7291,9 +7281,9 @@ esprima@^4.0.0, esprima@^4.0.1: integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esrap@^1.4.3: - version "1.4.4" - resolved "https://registry.npmjs.org/esrap/-/esrap-1.4.4.tgz" - integrity sha512-tDN6xP/r/b3WmdpWm7LybrD252hY52IokcycPnO+WHfhFF0+n5AWtcLLK7VNV6m0uYgVRhGVs8OkZwRyfC7HzQ== + version "1.4.5" + resolved "https://registry.npmjs.org/esrap/-/esrap-1.4.5.tgz" + integrity sha512-CjNMjkBWWZeHn+VX+gS8YvFwJ5+NDhg8aWZBSFJPR8qQduDNjbJodA2WcwCm7uQa5Rjqj+nZvVmceg1RbHFB9g== dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" @@ -7524,9 +7514,9 @@ fast-xml-parser@4.4.1: strnum "^1.0.5" fast-xml-parser@^4.5.1: - version "4.5.1" - resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.1.tgz" - integrity sha512-y655CeyUQ+jj7KBbYMc4FG01V8ZQqjN+gDYGJ50RtfsUB8iG9AmwmwoAgeKLJdmueKKMrH1RJ7yXHTSoczdv5w== + version "4.5.2" + resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.2.tgz" + integrity sha512-xmnYV9o0StIz/0ArdzmWTxn9oDy0lH8Z80/8X/TD2EUQKXY4DHxoT9mYBqgGIG17DgddCJtH1M6DriMbalNsAA== dependencies: strnum "^1.0.5" @@ -7544,7 +7534,7 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" -fdir@^6.4.2: +fdir@^6.4.3: version "6.4.3" resolved "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz" integrity sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw== @@ -8231,11 +8221,6 @@ ieee754@^1.1.13, ieee754@^1.2.1: resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -immer@>=9.0.6: - version "10.1.1" - resolved "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz" - integrity sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw== - import-in-the-middle@^1.8.1: version "1.13.0" resolved "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.13.0.tgz" @@ -8749,9 +8734,9 @@ jju@^1.4.0: integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== jose@^5.4.0, jose@^5.9.3, jose@^5.9.6: - version "5.9.6" - resolved "https://registry.npmjs.org/jose/-/jose-5.9.6.tgz" - integrity sha512-AMlnetc9+CV9asI19zHmrgS/WYsWUwCn2R7RzlbJWD7F9eWYUTGyBmU9o6PxngtLGOiDGPRu+Uc4fhKzbpteZQ== + version "5.10.0" + resolved "https://registry.npmjs.org/jose/-/jose-5.10.0.tgz" + integrity sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg== jotai@^2.11.0: version "2.12.1" @@ -9142,9 +9127,9 @@ log-symbols@4.1.0, log-symbols@^4.1.0: is-unicode-supported "^0.1.0" long@^5.0.0: - version "5.3.0" - resolved "https://registry.npmjs.org/long/-/long-5.3.0.tgz" - integrity sha512-5vvY5yF1zF/kXk+L94FRiTDa1Znom46UjPCH6/XbSvS8zBKMFBHTJk8KDMqJ+2J6QezQFi7k1k8v21ClJYHPaw== + version "5.3.1" + resolved "https://registry.npmjs.org/long/-/long-5.3.1.tgz" + integrity sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng== longest-streak@^3.0.0: version "3.1.0" @@ -9899,7 +9884,7 @@ nanoid@^3.3.4, nanoid@^3.3.6, nanoid@^3.3.7, nanoid@^3.3.8: resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz" integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== -nanoid@^5.0.7: +nanoid@5.1.0: version "5.1.0" resolved "https://registry.npmjs.org/nanoid/-/nanoid-5.1.0.tgz" integrity sha512-zDAl/llz8Ue/EblwSYwdxGBYfj46IM1dhjVi8dyp9LQffoIGxJEAHj2oeZ4uNcgycSRcQ83CnfcZqEJzVDLcDw== @@ -9992,18 +9977,18 @@ next-international@^1.3.1: server-only "^0.0.1" next-intl@^3.26.3: - version "3.26.3" - resolved "https://registry.npmjs.org/next-intl/-/next-intl-3.26.3.tgz" - integrity sha512-6Y97ODrDsEE1J8cXKMHwg1laLdtkN66QMIqG8BzH4zennJRUNTtM8UMtBDyhfmF6uiZ+xsbWLXmHUgmUymUsfQ== + version "3.26.4" + resolved "https://registry.npmjs.org/next-intl/-/next-intl-3.26.4.tgz" + integrity sha512-/kFFR7WYJGisOR0xKoC930e6oTOOWf8rbHviQgte5zIn6OgJ6mKFvXI94RWAW3ksCZJCvE4zblIuYwHCSbbw7g== dependencies: "@formatjs/intl-localematcher" "^0.5.4" negotiator "^1.0.0" - use-intl "^3.26.3" + use-intl "^3.26.4" next-safe-action@^7.10.3: - version "7.10.3" - resolved "https://registry.npmjs.org/next-safe-action/-/next-safe-action-7.10.3.tgz" - integrity sha512-Kn4zTnOiRkfWfQ0DH94I79Eycq6i+qS6WzhuGzxlWhVe6/yrEXHt+yU4GdqJ1O7vLyDAOWv4rXaRu+FkfVUAqQ== + version "7.10.4" + resolved "https://registry.npmjs.org/next-safe-action/-/next-safe-action-7.10.4.tgz" + integrity sha512-rZE89DTNgiTJ8oPQBOZm+jd0Uf/pLkN+GE3PndER6vWqHGYGN7HMLvhpggkbE8W4TGp+qM7CPyrXye1wCjZLVg== next-themes@^0.4.4: version "0.4.4" @@ -10180,9 +10165,9 @@ number-is-nan@^1.0.0: integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== nuqs@^2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/nuqs/-/nuqs-2.3.2.tgz" - integrity sha512-WeG78r8e3a30JY3P8npldvNiAZwGIk499lnpeRs3UYA3PpSvs2/PLunKGgjuF/JMw4BOowD3K2xgGEOZ3PeODA== + version "2.4.0" + resolved "https://registry.npmjs.org/nuqs/-/nuqs-2.4.0.tgz" + integrity sha512-+yOdX0q/wdYlseSYtWC8StDDt2QFcYX/zV5/E67J1cOJo3PR0mggxMx4acZGC0Hu66xFHENKQkqI2zSpH742xQ== dependencies: mitt "^3.0.1" @@ -10197,9 +10182,9 @@ oauth-sign@~0.9.0: integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== oauth4webapi@^3.0.0, oauth4webapi@^3.1.1: - version "3.1.5" - resolved "https://registry.npmjs.org/oauth4webapi/-/oauth4webapi-3.1.5.tgz" - integrity sha512-/V8tb1vgltQWIV8abvFfK1VVLhNcg5nYp8XTjwGc69eP66+rnHl0ttBLL5VrEJ/oNCrM37+JoVuHpiLNhnTdzw== + version "3.2.0" + resolved "https://registry.npmjs.org/oauth4webapi/-/oauth4webapi-3.2.0.tgz" + integrity sha512-2sYwQXuuzGKOHpnM7QL9BssDrly5gKCgJKTyrhmFIHzJRj0fFsr6GVJEdesmrX6NpMg2u63V4hJwRsZE6PUSSA== object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" @@ -10387,9 +10372,9 @@ p-try@^2.0.0: integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== pac-proxy-agent@^7.1.0: - version "7.1.0" - resolved "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.1.0.tgz" - integrity sha512-Z5FnLVVZSnX7WjBg0mhDtydeRZ1xMcATZThjySQUHqr+0ksP8kqaw23fNKkaaN/Z8gwLUs/W7xdl0I75eP2Xyw== + version "7.2.0" + resolved "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz" + integrity sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA== dependencies: "@tootallnate/quickjs-emscripten" "^0.23.0" agent-base "^7.1.2" @@ -10626,8 +10611,8 @@ portal@^workspace:apps/portal: version "workspace:apps/portal" resolved "workspace:apps/portal" devDependencies: - "@bubba/db" "workspace:*" - "@bubba/ui" "workspace:*" + "@bubba/db" "packages/db" + "@bubba/ui" "packages/ui" devDependencies: "@types/node" "^22.13.2" "@types/react" "^19.0.8" @@ -10745,9 +10730,9 @@ postgres-range@^1.1.1: integrity sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w== posthog-js@^1.215.3, posthog-js@^1.217.2: - version "1.218.2" - resolved "https://registry.npmjs.org/posthog-js/-/posthog-js-1.218.2.tgz" - integrity sha512-C3IRqrdeYdFPiUmj2wI+k+Skr56Co9vhXufv3LirNQC6kAc5FVq//VQVK1i4Xf8PlZYsaqREl0QI5M/CihU3wA== + version "1.219.3" + resolved "https://registry.npmjs.org/posthog-js/-/posthog-js-1.219.3.tgz" + integrity sha512-oKN4no9RRAptZ86R/MvMjsxQnFAe97rwU2emmTzf/q9ng+7V4nU+APM0ItzrESFtRYx1X8kKtxDUlkujNhfMvw== dependencies: core-js "^3.38.1" fflate "^0.4.8" @@ -10766,16 +10751,11 @@ preact@10.11.3, preact@>=10: resolved "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz" integrity sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg== -preact@10.24.3: +preact@10.24.3, preact@>=10, preact@^10.19.3: version "10.24.3" resolved "https://registry.npmjs.org/preact/-/preact-10.24.3.tgz" integrity sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA== -preact@>=10, preact@^10.19.3: - version "10.25.4" - resolved "https://registry.npmjs.org/preact/-/preact-10.25.4.tgz" - integrity sha512-jLdZDb+Q+odkHJ+MpW/9U5cODzqnB+fy2EiHSZES7ldV5LK7yjlVzTp7R8Xy6W6y75kfK8iWYtFVH7lvjwrCMA== - preact-render-to-string@5.2.3: version "5.2.3" resolved "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.2.3.tgz" @@ -10817,13 +10797,15 @@ pretty-format@^3.8.0: integrity sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew== prisma@*, prisma@^6.3.1: - version "6.3.1" - resolved "https://registry.npmjs.org/prisma/-/prisma-6.3.1.tgz" - integrity sha512-JKCZWvBC3enxk51tY4TWzS4b5iRt4sSU1uHn2I183giZTvonXaQonzVtjLzpOHE7qu9MxY510kAtFGJwryKe3Q== + version "6.4.0" + resolved "https://registry.npmjs.org/prisma/-/prisma-6.4.0.tgz" + integrity sha512-UxEaEo1ajnEvwT9UQRyRfq0zZ9pvOmlZ6kShY8Hgu4jxgkHo1mg85IEP8yBgFRiRBA2o2OIt1nxzcllt86D4Mw== optionalDependencies: fsevents "2.3.3" dependencies: - "@prisma/engines" "6.3.1" + "@prisma/engines" "6.4.0" + esbuild ">=0.12 <1" + esbuild-register "3.6.0" prismjs@1.29.0: version "1.29.0" @@ -11915,7 +11897,7 @@ serve-static@1.16.2: parseurl "~1.3.3" send "0.19.0" -server-only@^0.0.1: +server-only@0.0.1, server-only@^0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz" integrity sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA== @@ -12460,9 +12442,9 @@ supports-preserve-symlinks-flag@^1.0.0: integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== "svelte@^3.0.0 || ^4.0.0 || ^5.0.0", "svelte@^4.0.0 || ^5.0.0-next.0": - version "5.20.1" - resolved "https://registry.npmjs.org/svelte/-/svelte-5.20.1.tgz" - integrity sha512-aCARru2WTdzJl55Ws8SK27+kvQwd8tijl4kY7NoDUXUHtTHhxMa8Lf6QNZKmU7cuPu3jjFloDO1j5HgYJNIIWg== + version "5.20.2" + resolved "https://registry.npmjs.org/svelte/-/svelte-5.20.2.tgz" + integrity sha512-aYXJreNUiyTob0QOzRZeBXZMGeFZDch6SrSRV8QTncZb6zj0O3BEdUzPpojuHQ1pTvk+KX7I6rZCXPUf8pTPxA== dependencies: "@ampproject/remapping" "^2.3.0" "@jridgewell/sourcemap-codec" "^1.5.0" @@ -12642,11 +12624,11 @@ tinyexec@^0.3.1: integrity sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA== tinyglobby@^0.2.2: - version "0.2.10" - resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.10.tgz" - integrity sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew== + version "0.2.11" + resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.11.tgz" + integrity sha512-32TmKeeKUahv0Go8WmQgiEp9Y21NuxjwjqiRC1nrUB51YacfSwuB44xgXD+HdIppmMRgjQNPdrHyA6vIybYZ+g== dependencies: - fdir "^6.4.2" + fdir "^6.4.3" picomatch "^4.0.2" tinygradient@^1.1.5: @@ -13035,14 +13017,14 @@ update-browserslist-db@^1.1.1: picocolors "^1.1.1" uploadthing@^7.2.0, uploadthing@^7.5.0: - version "7.5.1" - resolved "https://registry.npmjs.org/uploadthing/-/uploadthing-7.5.1.tgz" - integrity sha512-p5VxxT4i7LYLiKE+FgtMnIztvDfgZ1IptY62PF2YpgvxFccIbX/OXx8OcW/psjKCmPC7PXEt3e9d+bduYJOmDw== + version "7.5.2" + resolved "https://registry.npmjs.org/uploadthing/-/uploadthing-7.5.2.tgz" + integrity sha512-hrvsVXgu6cYYJW97UuFLd3U2+TrPGyMBtPYSkqSTVq45Orkq9qFk095qkXYIW4EA/DyvCo78VV25HfSXT3EH7w== dependencies: "@effect/platform" "0.72.0" "@standard-schema/spec" "1.0.0-beta.4" "@uploadthing/mime-types" "0.3.4" - "@uploadthing/shared" "7.1.6" + "@uploadthing/shared" "7.1.7" effect "3.12.0" uri-js@^4.2.2: @@ -13069,10 +13051,10 @@ use-debounce@^10.0.4: resolved "https://registry.npmjs.org/use-debounce/-/use-debounce-10.0.4.tgz" integrity sha512-6Cf7Yr7Wk7Kdv77nnJMf6de4HuDE4dTxKij+RqE9rufDsI6zsbjyAxcH5y2ueJCQAnfgKbzXbZHYlkFwmBlWkw== -use-intl@^3.26.3: - version "3.26.3" - resolved "https://registry.npmjs.org/use-intl/-/use-intl-3.26.3.tgz" - integrity sha512-yY0a2YseO17cKwHA9M6fcpiEJ2Uo81DEU0NOUxNTp6lJVNOuI6nULANPVVht6IFdrYFtlsMmMoc97+Eq9/Tnng== +use-intl@^3.26.4: + version "3.26.4" + resolved "https://registry.npmjs.org/use-intl/-/use-intl-3.26.4.tgz" + integrity sha512-5DhN+YfsocNO7LiLpns7/pxRcMHA4DgBZQo5Z6uw3LvX9XIZyPAdRBdFPE2eBKTAwhY77k5eBhxqDtx8wzUaBg== dependencies: "@formatjs/fast-memoize" "^2.2.0" intl-messageformat "^10.5.14" @@ -13235,7 +13217,7 @@ web@^workspace:apps/web: version "workspace:apps/web" resolved "workspace:apps/web" devDependencies: - "@bubba/analytics" "workspace:*" + "@bubba/analytics" "packages/analytics" devDependencies: "@trigger.dev/build" "^3.3.15" "@types/node" "^22.13.2"