diff --git a/apps/app/languine.lock b/apps/app/languine.lock index 0035084ae5..1252e709eb 100644 --- a/apps/app/languine.lock +++ b/apps/app/languine.lock @@ -134,6 +134,9 @@ files: sidebar.settings: f4f70727dc34561dfde1a3c529b6205c sidebar.evidence: 63b1eb1a39194d82271ec937fba19714 sidebar.people: 78386ec8f2845742c324a3d7d3e800ff + sub_pages.evidence.title: c7b2a4d55fbea4d044644cf5b2b45d29 + sub_pages.evidence.list: d2b5512c16318cc8738eff7dbe7de9ca + sub_pages.evidence.overview: 376eeb70e956ecef2611d88a28269c5b sub_pages.risk.overview: 7228bb53bb7855d458965d2f15fc6cd7 sub_pages.risk.register: e4c28136d96146bd5fe9dfe41214138c sub_pages.risk.risk_overview: 5226ebb7d548f2d3a8f8c4fd08851405 @@ -494,6 +497,8 @@ files: editor.ai_selector.discard: d94b42030b9785fd754d5c1754961269 evidence.title: 63b1eb1a39194d82271ec937fba19714 evidence.description: c8fcd9bc15a38dcd7f6d0cbdeb65f33c + evidence.dashboard: 2938c7f7e560ed972f8a4f68e80ff834 + evidence.list: ed2c6e00de11f3eb621cd348bb8f5806 src/locales/es.ts: language.title: c88b33a3250b4e28f34e1ececba69206 language.description: b74d060770289b75ba34d38ea1e05251 diff --git a/apps/app/package.json b/apps/app/package.json index 112037910a..f85de5de1f 100644 --- a/apps/app/package.json +++ b/apps/app/package.json @@ -41,7 +41,7 @@ "crypto": "^1.0.1", "d3": "^7.9.0", "dub": "^0.46.29", - "framer-motion": "^11.18.2", + "framer-motion": "^12.4.7", "geist": "^1.3.1", "highlight.js": "^11.11.1", "ky": "^1.7.5", diff --git a/apps/app/src/actions/framework/select-frameworks-action.ts b/apps/app/src/actions/framework/select-frameworks-action.ts index 09671c9531..5290458007 100644 --- a/apps/app/src/actions/framework/select-frameworks-action.ts +++ b/apps/app/src/actions/framework/select-frameworks-action.ts @@ -44,7 +44,7 @@ export const selectFrameworksAction = authActionClient await createOrganizationPolicy(user as User, frameworkIds); // Create organization evidence first - await createOrganizationEvidence(user as User); + await createOrganizationEvidence(user as User, frameworkIds); // Create control requirements after evidence is created await createOrganizationControlRequirements( @@ -273,7 +273,10 @@ const createOrganizationControlRequirements = async ( return controlRequirements; }; -const createOrganizationEvidence = async (user: User) => { +const createOrganizationEvidence = async ( + user: User, + frameworkIds: string[] +) => { if (!user.organizationId) { throw new Error("Not authorized - no organization found"); } @@ -282,6 +285,17 @@ const createOrganizationEvidence = async (user: User) => { where: { type: RequirementType.evidence, }, + include: { + control: { + include: { + frameworkCategory: { + include: { + framework: true, + }, + }, + }, + }, + }, }); const organizationEvidence = await db.organizationEvidence.createMany({ @@ -291,6 +305,8 @@ const createOrganizationEvidence = async (user: User) => { name: evidence.name, description: evidence.description, frequency: evidence.frequency, + frameworkId: evidence.control.frameworkCategory?.framework.id || "", + assigneeId: user.id, })), }); diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/Components/EvidenceList.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/Components/EvidenceList.tsx index 05abe93635..1289a601c5 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/Components/EvidenceList.tsx +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/Components/EvidenceList.tsx @@ -16,11 +16,6 @@ export function EvidenceList() { const t = useI18n(); const { evidenceTasks = [], isLoading, error } = useEvidenceTable(); - // Add more detailed logging to help debug - console.log("EvidenceList - evidenceTasks:", evidenceTasks); - console.log("EvidenceList - isLoading:", isLoading); - console.log("EvidenceList - error:", error); - if (error) return
Error: {error.message}
; return ( diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/[id]/Components/EvidenceDetails.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/[id]/Components/EvidenceDetails.tsx index 328b7148b8..7d03350b8c 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/[id]/Components/EvidenceDetails.tsx +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/[id]/Components/EvidenceDetails.tsx @@ -1,26 +1,19 @@ "use client"; -import { useEffect } from "react"; -import { useRouter } from "next/navigation"; import { Button } from "@bubba/ui/button"; -import { ArrowLeft, CheckCircle2, MoreVertical, XCircle } from "lucide-react"; -import { Card, CardContent, CardHeader, CardTitle } from "@bubba/ui/card"; +import { Card, CardContent, CardHeader } from "@bubba/ui/card"; import { Skeleton } from "@bubba/ui/skeleton"; -import { useOrganizationEvidence } from "../hooks/useOrganizationEvidence"; -import { FileSection } from "./FileSection"; -import { UrlSection } from "./UrlSection"; -import { ReviewSection } from "./ReviewSection"; -import { publishEvidence } from "../Actions/publishEvidence"; +import { ArrowLeft, CheckCircle2, XCircle } from "lucide-react"; import { useAction } from "next-safe-action/hooks"; +import { useRouter } from "next/navigation"; +import { useEffect } from "react"; import { toast } from "sonner"; +import { publishEvidence } from "../Actions/publishEvidence"; +import { useOrganizationEvidence } from "../hooks/useOrganizationEvidence"; import type { EvidenceDetailsProps } from "../types"; -import { toggleRelevance } from "../Actions/toggleRelevance"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger, -} from "@bubba/ui/dropdown-menu"; +import { FileSection } from "./FileSection"; +import { ReviewSection } from "./ReviewSection"; +import { UrlSection } from "./UrlSection"; export function EvidenceDetails({ id }: EvidenceDetailsProps) { const router = useRouter(); @@ -29,7 +22,7 @@ export function EvidenceDetails({ id }: EvidenceDetailsProps) { const { execute: publishAction, isExecuting } = useAction(publishEvidence, { onSuccess: () => { toast.success("Evidence published successfully"); - mutate(); + handleMutate(); }, onError: () => { toast.error("Failed to publish evidence, please try again."); diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/hooks/useEvidenceTableContext.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/hooks/useEvidenceTableContext.tsx index 05ade32e0a..1970bf4813 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/hooks/useEvidenceTableContext.tsx +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/hooks/useEvidenceTableContext.tsx @@ -33,6 +33,7 @@ interface EvidenceTableContextType { setRelevance: (value: string | null) => void; setPage: (value: string) => void; setPageSize: (value: string) => void; + mutate: () => void; // Data evidenceTasks: EvidenceTaskRow[] | undefined; @@ -83,6 +84,7 @@ export function EvidenceTableProvider({ children }: { children: ReactNode }) { pagination, isLoading, error, + mutate, } = useOrganizationEvidenceTasks({ search, status: status as "published" | "draft" | null, @@ -174,6 +176,7 @@ export function EvidenceTableProvider({ children }: { children: ReactNode }) { setRelevance, setPage, setPageSize, + mutate, // Data evidenceTasks, diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/layout.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/layout.tsx index a5cfa0b973..6a6f897fa5 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/layout.tsx +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/layout.tsx @@ -11,6 +11,16 @@ export default async function Layout({ return (
+ +
{children}
); diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/list/page.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/list/page.tsx new file mode 100644 index 0000000000..bc459bbf25 --- /dev/null +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/list/page.tsx @@ -0,0 +1,10 @@ +import { EvidenceList } from "../Components/EvidenceList"; +import { EvidenceTableProvider } from "../hooks/useEvidenceTableContext"; + +export default function EvidencePage() { + return ( + + + + ); +} diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/actions/getEvidenceDashboard.ts b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/actions/getEvidenceDashboard.ts new file mode 100644 index 0000000000..8e7c99e0bd --- /dev/null +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/actions/getEvidenceDashboard.ts @@ -0,0 +1,284 @@ +"use server"; + +import { authActionClient } from "@/actions/safe-action"; +import { db } from "@bubba/db"; +import type { Departments, OrganizationEvidence } from "@prisma/client"; + +export type EvidenceStatus = "empty" | "draft" | "needsReview" | "upToDate"; + +export interface EvidenceWithStatus + extends Omit { + status: EvidenceStatus; + assigneeEmail?: string; +} + +export interface EvidenceDashboardData { + byDepartment: Record; + byAssignee: Record; + byFramework: Record; + unassigned: EvidenceWithStatus[]; + statusCounts: { + totalCount: number; + emptyCount: number; + draftCount: number; + needsReviewCount: number; + upToDateCount: number; + }; +} + +export const getEvidenceDashboard = authActionClient + .metadata({ + name: "getEvidenceDashboard", + track: { + event: "get-evidence-dashboard", + channel: "server", + }, + }) + .action(async ({ ctx }) => { + const { user } = ctx; + + if (!user.organizationId) { + return { + success: false, + error: "Not authorized - no organization found", + }; + } + + try { + const evidence = await db.organizationEvidence.findMany({ + where: { + organizationId: user.organizationId, + }, + include: { + assignee: true, + }, + }); + + if (!evidence) { + return { + success: false, + error: "Evidence not found", + }; + } + + console.log("Server: Found evidence items:", evidence.length); + + // Sample the first few items to check their structure + if (evidence.length > 0) { + console.log("Server: Sample evidence item:", { + id: evidence[0].id, + name: evidence[0].name, + published: evidence[0].published, + fileUrls: evidence[0].fileUrls, + additionalUrls: evidence[0].additionalUrls, + lastPublishedAt: evidence[0].lastPublishedAt, + frequency: evidence[0].frequency, + assigneeId: evidence[0].assigneeId, + assigneeEmail: evidence[0].assignee?.email, + }); + } + + // Calculate status for each evidence item + const now = new Date(); + let emptyCount = 0; + let draftCount = 0; + let needsReviewCount = 0; + let upToDateCount = 0; + const totalCount = evidence.length; + + const evidenceWithStatus: EvidenceWithStatus[] = evidence.map((item) => { + // Check if task has files or links + const hasContent = + item.fileUrls.length > 0 || item.additionalUrls.length > 0; + + // Check if task is published + const isPublished = item.published; + + // Check if task needs review (published and next review date is in the past) + let nextReviewDate = null; + + if (item.lastPublishedAt && item.frequency) { + // Calculate next review date based on last published date and frequency + const lastPublished = new Date(item.lastPublishedAt); + nextReviewDate = new Date(lastPublished); + + switch (item.frequency) { + case "monthly": + nextReviewDate.setMonth(nextReviewDate.getMonth() + 1); + break; + case "quarterly": + nextReviewDate.setMonth(nextReviewDate.getMonth() + 3); + break; + case "yearly": + nextReviewDate.setFullYear(nextReviewDate.getFullYear() + 1); + break; + } + } + + const isPastDue = nextReviewDate && nextReviewDate < now; + + let status: EvidenceStatus; + + if (!hasContent && !isPublished) { + // No files or links + status = "empty"; + emptyCount++; + } else if (!isPublished) { + // Has content but not published + status = "draft"; + draftCount++; + } else if (isPastDue) { + // Published but needs review + status = "needsReview"; + needsReviewCount++; + } else { + // Published and up to date + status = "upToDate"; + upToDateCount++; + } + + // Extract assignee email if available + const assigneeEmail = item.assignee?.email || undefined; + + // Create a new object without the assignee property + const { assignee, ...evidenceWithoutAssignee } = item; + + return { + ...evidenceWithoutAssignee, + status, + assigneeEmail, + }; + }); + + console.log("Server: Status counts:", { + totalCount, + emptyCount, + draftCount, + needsReviewCount, + upToDateCount, + }); + + // Sample the first few items with status to check their structure + if (evidenceWithStatus.length > 0) { + console.log("Server: Sample evidence item with status:", { + id: evidenceWithStatus[0].id, + name: evidenceWithStatus[0].name, + status: evidenceWithStatus[0].status, + assigneeEmail: evidenceWithStatus[0].assigneeEmail, + }); + } + + // Initialize with all department values from the enum + const departmentValues: Departments[] = [ + "none", + "admin", + "gov", + "hr", + "it", + "itsm", + "qms", + ]; + + // Initialize the byDepartment object with empty arrays for all departments + const initialByDepartment = departmentValues.reduce< + Record + >( + (acc, dept) => { + acc[dept] = []; + return acc; + }, + {} as Record + ); + + // Group evidence by department + const byDepartment = evidenceWithStatus.reduce< + Record + >((acc, curr) => { + // Use the department from the evidence, or default to 'none' if it's null/undefined + const department = curr.department || "none"; + + // Add the evidence to the appropriate department array + acc[department].push(curr); + return acc; + }, initialByDepartment); + + // Collect unassigned evidence + const unassigned = evidenceWithStatus.filter((item) => !item.assigneeId); + console.log("Server: Unassigned evidence count:", unassigned.length); + + // Group evidence by assignee + const byAssignee = evidenceWithStatus.reduce< + Record + >((acc, curr) => { + if (!curr.assigneeId || !curr.assigneeEmail) { + return acc; + } + + const email = curr.assigneeEmail; + if (!acc[email]) { + acc[email] = []; + } + acc[email].push(curr); + return acc; + }, {}); + + console.log("Server: Assignee count:", Object.keys(byAssignee).length); + + // Sample the first assignee's data + const firstAssigneeEmail = Object.keys(byAssignee)[0]; + if (firstAssigneeEmail) { + const firstAssigneeItems = byAssignee[firstAssigneeEmail]; + // Count items by status for the first assignee + const statusCounts = { + empty: 0, + draft: 0, + needsReview: 0, + upToDate: 0, + }; + + for (const item of firstAssigneeItems) { + statusCounts[item.status]++; + } + } + + const byFramework = evidenceWithStatus.reduce< + Record + >((acc, curr) => { + const frameworkId = curr.frameworkId; + if (!frameworkId) { + return acc; + } + + if (!acc[frameworkId]) { + acc[frameworkId] = []; + } + acc[frameworkId].push(curr); + return acc; + }, {}); + + console.log("Server: Framework count:", Object.keys(byFramework).length); + + return { + success: true, + data: { + byDepartment, + byAssignee, + byFramework, + unassigned, + statusCounts: { + totalCount, + emptyCount, + draftCount, + needsReviewCount, + upToDateCount, + }, + }, + }; + } catch (error) { + console.error("Error fetching evidence:", error); + return { + success: false, + error: "Failed to fetch evidence", + }; + } + }); diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/AnimatedBar.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/AnimatedBar.tsx new file mode 100644 index 0000000000..c0c66e06d3 --- /dev/null +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/AnimatedBar.tsx @@ -0,0 +1,26 @@ +"use client"; + +import { motion } from "framer-motion"; + +export function AnimatedBar({ + index = 0, + children, +}: { + index?: number; + children: React.ReactNode; +}) { + return ( + + {children} + + ); +} diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/AssigneeBarChart.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/AssigneeBarChart.tsx new file mode 100644 index 0000000000..98b2a7eca7 --- /dev/null +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/AssigneeBarChart.tsx @@ -0,0 +1,208 @@ +"use client"; + +import React, { useEffect, useRef, useState } from "react"; +import { HorizontalBarChart, type ChartDataItem } from "./HorizontalBarChart"; +import type { EvidenceWithStatus } from "../actions/getEvidenceDashboard"; +import { ChevronDown, ChevronUp } from "lucide-react"; + +interface AssigneeBarChartProps { + byAssignee?: Record; + unassigned?: EvidenceWithStatus[]; +} + +// Status colors matching the EvidenceSummaryCards +const STATUS_COLORS = { + empty: "#6b7280", // Gray for empty + draft: "#f59e0b", // Amber for draft + needsReview: "#ef4444", // Red for needs review + upToDate: "#10b981", // Green for up to date +}; + +// Status priority order for display (determines the order in the bar) +const STATUS_PRIORITY = ["upToDate", "draft", "needsReview", "empty"] as const; +type StatusType = (typeof STATUS_PRIORITY)[number]; + +export function AssigneeBarChart({ + byAssignee, + unassigned = [], +}: AssigneeBarChartProps) { + const containerRef = useRef(null); + const [canScrollDown, setCanScrollDown] = useState(false); + const [canScrollUp, setCanScrollUp] = useState(false); + + // Check scroll position and update indicators + const checkScrollPosition = () => { + if (containerRef.current) { + const { scrollTop, scrollHeight, clientHeight } = containerRef.current; + setCanScrollDown(scrollTop + clientHeight < scrollHeight - 10); + setCanScrollUp(scrollTop > 10); + } + }; + + // Set up scroll event listener + useEffect(() => { + const container = containerRef.current; + if (container) { + container.addEventListener("scroll", checkScrollPosition); + // Initial check + checkScrollPosition(); + + // Check again after content might have changed + const timer = setTimeout(checkScrollPosition, 100); + + return () => { + container.removeEventListener("scroll", checkScrollPosition); + clearTimeout(timer); + }; + } + }, [byAssignee, unassigned]); + + // Recheck on window resize + useEffect(() => { + window.addEventListener("resize", checkScrollPosition); + return () => window.removeEventListener("resize", checkScrollPosition); + }, []); + + // Debug: Log the incoming data + useEffect(() => { + console.log("AssigneeBarChart - byAssignee:", byAssignee); + console.log("AssigneeBarChart - unassigned:", unassigned); + + // Check if status is present in the data + if (byAssignee) { + const firstAssignee = Object.values(byAssignee)[0]; + if (firstAssignee && firstAssignee.length > 0) { + console.log( + "First assignee's first item status:", + firstAssignee[0].status + ); + } + } + }, [byAssignee, unassigned]); + + if (!byAssignee && unassigned.length === 0) { + return
No assignee data available
; + } + + // Create chart data for each assignee + const assigneeData = Object.entries(byAssignee || {}).map( + ([assigneeId, items]) => { + // Count items by status + const statusCounts = { + empty: 0, + draft: 0, + needsReview: 0, + upToDate: 0, + }; + + // Use for...of instead of forEach + for (const item of items) { + statusCounts[item.status]++; + } + + // Debug: Log status counts for each assignee + console.log(`Status counts for ${assigneeId}:`, statusCounts); + + return { + id: assigneeId, + name: assigneeId || "Unassigned", + totalItems: items.length, + items, + statusCounts, + }; + } + ); + + // Add unassigned items if any + if (unassigned.length > 0) { + // Count unassigned items by status + const statusCounts = { + empty: 0, + draft: 0, + needsReview: 0, + upToDate: 0, + }; + + // Use for...of instead of forEach + for (const item of unassigned) { + statusCounts[item.status]++; + } + + // Debug: Log status counts for unassigned + console.log("Status counts for unassigned:", statusCounts); + + assigneeData.push({ + id: "unassigned", + name: "Unassigned", + totalItems: unassigned.length, + items: unassigned, + statusCounts, + }); + } + + // Sort by count in descending order + assigneeData.sort((a, b) => b.totalItems - a.totalItems); + + return ( +
+
+
+ {assigneeData.map((assignee) => { + // Create chart data for this assignee with status breakdown + const chartData: ChartDataItem[] = []; + + // Add statuses in priority order + for (const status of STATUS_PRIORITY) { + if (assignee.statusCounts[status] > 0) { + chartData.push({ + key: status, + label: + status === "upToDate" + ? "Up to Date" + : status === "needsReview" + ? "Needs Review" + : status.charAt(0).toUpperCase() + status.slice(1), + value: assignee.statusCounts[status], + color: STATUS_COLORS[status], + }); + } + } + + return ( +
+
+

{assignee.name}

+ + {assignee.totalItems} items + +
+ + {/* Bar chart for this assignee with status breakdown */} + `${value}`} + height={12} + /> +
+ ); + })} +
+
+ + {/* Scroll up indicator */} + {canScrollUp && ( +
+ +
+ )} + + {/* Scroll down indicator */} + {canScrollDown && ( +
+ +
+ )} +
+ ); +} diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/DepartmentBarChart.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/DepartmentBarChart.tsx new file mode 100644 index 0000000000..5e6e9550f6 --- /dev/null +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/DepartmentBarChart.tsx @@ -0,0 +1,190 @@ +"use client"; + +import React, { useEffect, useRef, useState } from "react"; +import { HorizontalBarChart, type ChartDataItem } from "./HorizontalBarChart"; +import type { Departments } from "@prisma/client"; +import type { EvidenceWithStatus } from "../actions/getEvidenceDashboard"; +import { ChevronDown, ChevronUp } from "lucide-react"; + +interface DepartmentBarChartProps { + byDepartment?: Record; +} + +// Status colors matching the EvidenceSummaryCards +const STATUS_COLORS = { + empty: "#6b7280", // Gray for empty + draft: "#f59e0b", // Amber for draft + needsReview: "#ef4444", // Red for needs review + upToDate: "#10b981", // Green for up to date +}; + +// Status priority order for display (determines the order in the bar) +const STATUS_PRIORITY = ["upToDate", "draft", "needsReview", "empty"] as const; +type StatusType = (typeof STATUS_PRIORITY)[number]; + +// Department display names +const DEPARTMENT_NAMES: Record = { + none: "Uncategorized", + admin: "Administration", + gov: "Governance", + hr: "Human Resources", + it: "Information Technology", + itsm: "IT Service Management", + qms: "Quality Management", +}; + +export function DepartmentBarChart({ byDepartment }: DepartmentBarChartProps) { + const containerRef = useRef(null); + const [canScrollDown, setCanScrollDown] = useState(false); + const [canScrollUp, setCanScrollUp] = useState(false); + + // Check scroll position and update indicators + const checkScrollPosition = () => { + if (containerRef.current) { + const { scrollTop, scrollHeight, clientHeight } = containerRef.current; + setCanScrollDown(scrollTop + clientHeight < scrollHeight - 10); + setCanScrollUp(scrollTop > 10); + } + }; + + // Set up scroll event listener + useEffect(() => { + const container = containerRef.current; + if (container) { + container.addEventListener("scroll", checkScrollPosition); + // Initial check + checkScrollPosition(); + + // Check again after content might have changed + const timer = setTimeout(checkScrollPosition, 100); + + return () => { + container.removeEventListener("scroll", checkScrollPosition); + clearTimeout(timer); + }; + } + }, [byDepartment]); + + // Recheck on window resize + useEffect(() => { + window.addEventListener("resize", checkScrollPosition); + return () => window.removeEventListener("resize", checkScrollPosition); + }, []); + + // Debug: Log the incoming data + useEffect(() => { + console.log("DepartmentBarChart - byDepartment:", byDepartment); + + // Check if status is present in the data + if (byDepartment) { + const firstDepartment = Object.values(byDepartment)[0]; + if (firstDepartment && firstDepartment.length > 0) { + console.log( + "First department's first item status:", + firstDepartment[0].status + ); + } + } + }, [byDepartment]); + + if (!byDepartment || Object.keys(byDepartment).length === 0) { + return
No department data available
; + } + + // Create chart data for each department + const departmentData = Object.entries(byDepartment) + .filter(([_, items]) => items.length > 0) // Only include departments with items + .map(([dept, items]) => { + const department = dept as Departments; + + // Count items by status + const statusCounts = { + empty: 0, + draft: 0, + needsReview: 0, + upToDate: 0, + }; + + // Use for...of instead of forEach + for (const item of items) { + statusCounts[item.status]++; + } + + // Debug: Log status counts for each department + console.log(`Status counts for ${department}:`, statusCounts); + + return { + id: department, + name: DEPARTMENT_NAMES[department] || "Unknown", + totalItems: items.length, + items, + statusCounts, + }; + }); + + // Sort by count in descending order + departmentData.sort((a, b) => b.totalItems - a.totalItems); + + return ( +
+
+
+ {departmentData.map((department) => { + // Create chart data for this department with status breakdown + const chartData: ChartDataItem[] = []; + + // Add statuses in priority order + for (const status of STATUS_PRIORITY) { + if (department.statusCounts[status] > 0) { + chartData.push({ + key: status, + label: + status === "upToDate" + ? "Up to Date" + : status === "needsReview" + ? "Needs Review" + : status.charAt(0).toUpperCase() + status.slice(1), + value: department.statusCounts[status], + color: STATUS_COLORS[status], + }); + } + } + + return ( +
+
+

{department.name}

+ + {department.totalItems} items + +
+ + {/* Bar chart for this department with status breakdown */} + `${value}`} + height={12} + /> +
+ ); + })} +
+
+ + {/* Scroll up indicator */} + {canScrollUp && ( +
+ +
+ )} + + {/* Scroll down indicator */} + {canScrollDown && ( +
+ +
+ )} +
+ ); +} diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/EvidenceOverview.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/EvidenceOverview.tsx new file mode 100644 index 0000000000..be2973ca92 --- /dev/null +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/EvidenceOverview.tsx @@ -0,0 +1,62 @@ +"use client"; + +import React from "react"; +import { useEvidenceDashboard } from "../hooks/useEvidenceDashboard"; +import { DepartmentBarChart } from "./DepartmentBarChart"; +import { AssigneeBarChart } from "./AssigneeBarChart"; +import { FrameworkBarChart } from "./FrameworkBarChart"; + +export const EvidenceOverview = () => { + const { data, isLoading, error } = useEvidenceDashboard(); + + if (isLoading) { + return
Loading...
; + } + + if (error) { + return
Error: {error.message}
; + } + + if (!data) { + return
No data available
; + } + + return ( +
+

Evidence Dashboard

+ + {/* Charts */} +
+
+
+

By Department

+
+ +
+
+
+ +
+
+

By Assignee

+
+ +
+
+
+ +
+
+

By Framework

+
+ +
+
+
+
+
+ ); +}; diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/FrameworkBarChart.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/FrameworkBarChart.tsx new file mode 100644 index 0000000000..653f831778 --- /dev/null +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/FrameworkBarChart.tsx @@ -0,0 +1,176 @@ +"use client"; + +import React, { useEffect, useRef, useState } from "react"; +import { HorizontalBarChart, type ChartDataItem } from "./HorizontalBarChart"; +import type { EvidenceWithStatus } from "../actions/getEvidenceDashboard"; +import { ChevronDown, ChevronUp } from "lucide-react"; + +interface FrameworkBarChartProps { + byFramework?: Record; +} + +// Status colors matching the EvidenceSummaryCards +const STATUS_COLORS = { + empty: "#6b7280", // Gray for empty + draft: "#f59e0b", // Amber for draft + needsReview: "#ef4444", // Red for needs review + upToDate: "#10b981", // Green for up to date +}; + +// Status priority order for display (determines the order in the bar) +const STATUS_PRIORITY = ["upToDate", "draft", "needsReview", "empty"] as const; +type StatusType = (typeof STATUS_PRIORITY)[number]; + +export function FrameworkBarChart({ byFramework }: FrameworkBarChartProps) { + const containerRef = useRef(null); + const [canScrollDown, setCanScrollDown] = useState(false); + const [canScrollUp, setCanScrollUp] = useState(false); + + // Check scroll position and update indicators + const checkScrollPosition = () => { + if (containerRef.current) { + const { scrollTop, scrollHeight, clientHeight } = containerRef.current; + setCanScrollDown(scrollTop + clientHeight < scrollHeight - 10); + setCanScrollUp(scrollTop > 10); + } + }; + + // Set up scroll event listener + useEffect(() => { + const container = containerRef.current; + if (container) { + container.addEventListener("scroll", checkScrollPosition); + // Initial check + checkScrollPosition(); + + // Check again after content might have changed + const timer = setTimeout(checkScrollPosition, 100); + + return () => { + container.removeEventListener("scroll", checkScrollPosition); + clearTimeout(timer); + }; + } + }, [byFramework]); + + // Recheck on window resize + useEffect(() => { + window.addEventListener("resize", checkScrollPosition); + return () => window.removeEventListener("resize", checkScrollPosition); + }, []); + + // Debug: Log the incoming data + useEffect(() => { + console.log("FrameworkBarChart - byFramework:", byFramework); + + // Check if status is present in the data + if (byFramework) { + const firstFramework = Object.values(byFramework)[0]; + if (firstFramework && firstFramework.length > 0) { + console.log( + "First framework's first item status:", + firstFramework[0].status + ); + } + } + }, [byFramework]); + + if (!byFramework || Object.keys(byFramework).length === 0) { + return
No framework data available
; + } + + // Create chart data for each framework + const frameworkData = Object.entries(byFramework).map( + ([frameworkId, items]) => { + // Count items by status + const statusCounts = { + empty: 0, + draft: 0, + needsReview: 0, + upToDate: 0, + }; + + // Use for...of instead of forEach + for (const item of items) { + statusCounts[item.status]++; + } + + // Debug: Log status counts for each framework + console.log(`Status counts for framework ${frameworkId}:`, statusCounts); + + return { + id: frameworkId, + name: `Framework ${frameworkId}`, + totalItems: items.length, + items, + statusCounts, + }; + } + ); + + // Sort by count in descending order + frameworkData.sort((a, b) => b.totalItems - a.totalItems); + + return ( +
+
+
+ {frameworkData.map((framework) => { + // Create chart data for this framework with status breakdown + const chartData: ChartDataItem[] = []; + + // Add statuses in priority order + for (const status of STATUS_PRIORITY) { + if (framework.statusCounts[status] > 0) { + chartData.push({ + key: status, + label: + status === "upToDate" + ? "Up to Date" + : status === "needsReview" + ? "Needs Review" + : status.charAt(0).toUpperCase() + status.slice(1), + value: framework.statusCounts[status], + color: STATUS_COLORS[status], + }); + } + } + + return ( +
+
+

{framework.name}

+ + {framework.totalItems} items + +
+ + {/* Bar chart for this framework with status breakdown */} + `${value}`} + height={12} + /> +
+ ); + })} +
+
+ + {/* Scroll up indicator */} + {canScrollUp && ( +
+ +
+ )} + + {/* Scroll down indicator */} + {canScrollDown && ( +
+ +
+ )} +
+ ); +} diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/HorizontalBarChart.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/HorizontalBarChart.tsx new file mode 100644 index 0000000000..f08133b5cf --- /dev/null +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/components/HorizontalBarChart.tsx @@ -0,0 +1,153 @@ +"use client"; + +import React, { useEffect } from "react"; +import type { CSSProperties, Key } from "react"; + +export interface ChartDataItem { + key: K; + label: string; + value: number; + color?: string; +} + +interface HorizontalBarChartProps { + data: ChartDataItem[]; + title?: string; + height?: number; + showZeroValues?: boolean; + colors?: string[]; + valueFormatter?: (value: number) => string; +} + +// Default array of colors using Tailwind's HSL color palette +const defaultColors = [ + "#8b5cf6", // Purple (primary) + "#06b6d4", // Cyan (secondary) + "#10b981", // Emerald (accent) + "#ef4444", // Red (destructive) + "#6b7280", // Gray (muted) +]; + +export function HorizontalBarChart({ + data, + title, + height = 12, // Default bar height matching policies-by-assignee + showZeroValues = true, + colors = defaultColors, + valueFormatter = (value) => `${value}`, +}: HorizontalBarChartProps) { + // Debug: Log the incoming data + useEffect(() => { + console.log("HorizontalBarChart - data:", data); + }, [data]); + + if (!data || data.length === 0) { + return
No data available
; + } + + // Assign colors if not provided + const chartData = data.map((item, index) => { + // For single color arrays, use that color for all bars + const color = + colors.length === 1 + ? colors[0] + : item.color || colors[index % colors.length]; + + return { + ...item, + color, + }; + }); + + // Filter out zero values if not showing them + const filteredData = showZeroValues + ? chartData + : chartData.filter((d) => d.value > 0); + + // Debug: Log the filtered data + useEffect(() => { + console.log("HorizontalBarChart - filteredData:", filteredData); + }, [filteredData]); + + // Calculate the total value for percentage calculations + const totalValue = filteredData.reduce((sum, item) => sum + item.value, 0); + + if (totalValue === 0) { + return
; + } + + const barHeight = height; + let cumulativePercentage = 0; + const cornerRadius = 0; // No rounded corners in the policies-by-assignee chart + + return ( +
+ {title &&

{title}

} + +
+
+ {filteredData.map((d) => { + const percentage = (d.value / totalValue) * 100; + const xPosition = cumulativePercentage; + cumulativePercentage += percentage; + + return ( +
+
+
+ ); + })} +
+
+ + {/* Legend */} +
+ {filteredData.map((item) => ( +
+
+ + {item.label} ({valueFormatter(item.value)}) + +
+ ))} +
+
+ ); +} diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/hooks/useEvidenceDashboard.ts b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/hooks/useEvidenceDashboard.ts new file mode 100644 index 0000000000..739df38290 --- /dev/null +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/hooks/useEvidenceDashboard.ts @@ -0,0 +1,57 @@ +"use client"; + +import useSWR from "swr"; +import { getEvidenceDashboard } from "../actions/getEvidenceDashboard"; + +async function fetchEvidenceDashboard() { + try { + const result = await getEvidenceDashboard(); + + if (!result) { + throw new Error("No result received"); + } + + if (result.serverError) { + throw new Error(result.serverError); + } + + // Debug: Log the data received from the server action + console.log("Evidence Dashboard Data:", result.data?.data); + + // Check if the data contains status information + if (result.data?.data?.byAssignee) { + const firstAssignee = Object.values(result.data.data.byAssignee)[0]; + if (firstAssignee && firstAssignee.length > 0) { + console.log("First assignee's first item:", firstAssignee[0]); + } + } + + return result.data?.data; + } catch (error) { + console.error("Error fetching evidence dashboard:", error); + throw error; + } +} + +export function useEvidenceDashboard() { + const { data, error, isLoading, mutate } = useSWR( + "evidence-dashboard", + fetchEvidenceDashboard, + { + revalidateOnFocus: false, + revalidateOnReconnect: false, + } + ); + + // Debug: Log the data in the hook + if (data) { + console.log("useEvidenceDashboard hook data:", data); + } + + return { + data, + error, + isLoading, + mutate, + }; +} diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/page.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/page.tsx new file mode 100644 index 0000000000..2e0268082c --- /dev/null +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/overview/page.tsx @@ -0,0 +1,5 @@ +import { EvidenceOverview } from "./components/EvidenceOverview"; + +export default function EvidenceOverviewPage() { + return ; +} diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/page.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/page.tsx index 7db3881da2..3668e837f5 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/page.tsx +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/evidence/page.tsx @@ -1,10 +1,5 @@ -import { EvidenceList } from "./Components/EvidenceList"; -import { EvidenceTableProvider } from "./hooks/useEvidenceTableContext"; +import { redirect } from "next/navigation"; export default function EvidencePage() { - return ( - - - - ); + redirect("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/evidence/overview"); } diff --git a/apps/app/src/components/main-menu.tsx b/apps/app/src/components/main-menu.tsx index 77ecc8b5c9..222455da0f 100644 --- a/apps/app/src/components/main-menu.tsx +++ b/apps/app/src/components/main-menu.tsx @@ -29,6 +29,7 @@ const icons = { "/integrations": () => , "/people": () => , "/evidence": () => , + "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/evidence/overview": () => , }; interface ItemProps { @@ -175,7 +176,7 @@ export function MainMenu({ initialItems, onSelect }: Props) { disabled: false, }, { - path: "/evidence", + path: "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/evidence/overview", name: t("sidebar.evidence"), disabled: false, }, diff --git a/apps/app/src/locales/en.ts b/apps/app/src/locales/en.ts index 8f9b3ebf52..e98436b5c4 100644 --- a/apps/app/src/locales/en.ts +++ b/apps/app/src/locales/en.ts @@ -149,7 +149,7 @@ export default { }, edit: "Edit", errors: { - unexpected_error: "An unexpected error occurred" + unexpected_error: "An unexpected error occurred", }, description: "Description", last_updated: "Last Updated", @@ -191,6 +191,11 @@ export default { people: "People", }, sub_pages: { + evidence: { + title: "Evidence", + list: "Evidence List", + overview: "Evidence Overview", + }, risk: { overview: "Risk Management", register: "Risk Register", @@ -203,7 +208,7 @@ export default { policies: { all: "All Policies", editor: "Policy Editor", - policy_details: "Policy Details" + policy_details: "Policy Details", }, people: { all: "People", @@ -322,7 +327,7 @@ export default { save: "Save", saving: "Saving...", saved_success: "Policy saved successfully", - saved_error: "Failed to save policy" + saved_error: "Failed to save policy", }, evidence_tasks: { evidence_tasks: "Evidence Tasks", @@ -765,5 +770,7 @@ export default { title: "Evidence Tasks", description: "Manage and track evidence tasks for your compliance requirements.", + dashboard: "Dashboard", + list: "All Evidence", }, } as const; diff --git a/apps/app/src/locales/es.ts b/apps/app/src/locales/es.ts index 02b9cc6bde..4f4b79754c 100644 --- a/apps/app/src/locales/es.ts +++ b/apps/app/src/locales/es.ts @@ -721,6 +721,11 @@ export default { }, frameworks: { overview: "Marcos" + }, + evidence: { + title: "Evidencia", + list: "Lista de Evidencias", + overview: "Resumen de Evidencias" } }, editor: { @@ -744,6 +749,8 @@ export default { }, evidence: { title: "Tareas de Evidencia", - description: "Gestiona y rastrea las tareas de evidencia para tus requisitos de cumplimiento." + description: "Gestiona y rastrea las tareas de evidencia para tus requisitos de cumplimiento.", + dashboard: "Tablero", + list: "Todas las Evidencias" } } as const; diff --git a/apps/app/src/locales/fr.ts b/apps/app/src/locales/fr.ts index ed66e47ea0..ace6080c38 100644 --- a/apps/app/src/locales/fr.ts +++ b/apps/app/src/locales/fr.ts @@ -721,6 +721,11 @@ export default { }, frameworks: { overview: "Cadres" + }, + evidence: { + title: "Preuve", + list: "Liste des preuves", + overview: "Aperçu des preuves" } }, editor: { @@ -744,6 +749,8 @@ export default { }, evidence: { title: "Tâches de preuve", - description: "Gérez et suivez les tâches de preuve pour vos exigences de conformité." + description: "Gérez et suivez les tâches de preuve pour vos exigences de conformité.", + dashboard: "Tableau de bord", + list: "Toutes les preuves" } } as const; diff --git a/apps/app/src/locales/no.ts b/apps/app/src/locales/no.ts index f890cdce5a..4c42633ffb 100644 --- a/apps/app/src/locales/no.ts +++ b/apps/app/src/locales/no.ts @@ -721,6 +721,11 @@ export default { }, frameworks: { overview: "Rammeverk" + }, + evidence: { + title: "Bevis", + list: "Bevisliste", + overview: "Oversikt over Bevis" } }, editor: { @@ -744,6 +749,8 @@ export default { }, evidence: { title: "Bevisoppgaver", - description: "Administrer og spor bevisoppgaver for dine samsvarsbehov." + description: "Administrer og spor bevisoppgaver for dine samsvarsbehov.", + dashboard: "Dashbord", + list: "Alle Bevis" } } as const; diff --git a/apps/app/src/locales/pt.ts b/apps/app/src/locales/pt.ts index 97c85dc9c5..d40c3cbd4d 100644 --- a/apps/app/src/locales/pt.ts +++ b/apps/app/src/locales/pt.ts @@ -721,6 +721,11 @@ export default { }, frameworks: { overview: "Estruturas" + }, + evidence: { + title: "Evidência", + list: "Lista de Evidências", + overview: "Visão Geral das Evidências" } }, editor: { @@ -744,6 +749,8 @@ export default { }, evidence: { title: "Tarefas de Evidência", - description: "Gerencie e acompanhe as tarefas de evidência para seus requisitos de conformidade." + description: "Gerencie e acompanhe as tarefas de evidência para seus requisitos de conformidade.", + dashboard: "Painel", + list: "Todas as Evidências" } } as const; diff --git a/bun.lockb b/bun.lockb index 88305d4db6..a3c5b2deaa 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index d1ac1e3480..0d9a410f26 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,8 @@ "@aws-sdk/client-s3": "^3.750.0", "@manypkg/cli": "^0.23.0", "@nangohq/node": "^0.53.1", + "@types/d3": "^7.4.3", + "d3": "^7.9.0", "gitmoji": "^1.1.1", "gray-matter": "^4.0.3", "sharp": "^0.33.5", diff --git a/packages/db/prisma/migrations/20250226222817_add_framework_id_to_org_evidence/migration.sql b/packages/db/prisma/migrations/20250226222817_add_framework_id_to_org_evidence/migration.sql new file mode 100644 index 0000000000..356e6d6aa1 --- /dev/null +++ b/packages/db/prisma/migrations/20250226222817_add_framework_id_to_org_evidence/migration.sql @@ -0,0 +1,11 @@ +/* + Warnings: + + - Added the required column `frameworkId` to the `OrganizationEvidence` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +ALTER TABLE "OrganizationEvidence" ADD COLUMN "frameworkId" TEXT NOT NULL; + +-- AddForeignKey +ALTER TABLE "OrganizationEvidence" ADD CONSTRAINT "OrganizationEvidence_frameworkId_fkey" FOREIGN KEY ("frameworkId") REFERENCES "Framework"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/packages/db/prisma/schema.prisma b/packages/db/prisma/schema.prisma index 32daecfdb6..bb905d491a 100644 --- a/packages/db/prisma/schema.prisma +++ b/packages/db/prisma/schema.prisma @@ -157,6 +157,7 @@ model Framework { OrganizationCategory OrganizationCategory[] OrganizationFramework OrganizationFramework[] PolicyFramework PolicyFramework[] + OrganizationEvidence OrganizationEvidence[] @@index([id]) } @@ -703,16 +704,17 @@ model ControlRequirement { } model OrganizationControlRequirement { - id String @id @default(cuid()) - organizationControlId String - controlRequirementId String - content Json? - createdAt DateTime @default(now()) - description String? - fileUrl String? - published Boolean @default(false) - type RequirementType - updatedAt DateTime @updatedAt + id String @id @default(cuid()) + organizationControlId String + controlRequirementId String + content Json? + createdAt DateTime @default(now()) + description String? + fileUrl String? + published Boolean @default(false) + type RequirementType + updatedAt DateTime @updatedAt + organizationPolicyId String? organizationEvidenceId String? controlRequirement ControlRequirement @relation(fields: [controlRequirementId], references: [id], onDelete: Cascade) @@ -769,21 +771,25 @@ model Evidence { } model OrganizationEvidence { - id String @id @unique @default(cuid()) - name String - description String? - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt - published Boolean @default(false) - organizationId String - additionalUrls String[] - evidenceId String - fileUrls String[] - frequency Frequency? - lastPublishedAt DateTime? - assigneeId String? - department Departments? @default(none) - isNotRelevant Boolean @default(false) + id String @id @unique @default(cuid()) + name String + description String? + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + published Boolean @default(false) + organizationId String + additionalUrls String[] + evidenceId String + fileUrls String[] + frequency Frequency? + lastPublishedAt DateTime? + assigneeId String? + department Departments? @default(none) + isNotRelevant Boolean @default(false) + + frameworkId String + framework Framework @relation(fields: [frameworkId], references: [id], onDelete: Cascade) + OrganizationControlRequirement OrganizationControlRequirement[] assignee User? @relation(fields: [assigneeId], references: [id]) evidence Evidence @relation(fields: [evidenceId], references: [id], onDelete: Cascade) diff --git a/yarn.lock b/yarn.lock index c3ae324be5..66c7822a98 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,6 +1,6 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 -# bun ./bun.lockb --hash: 0000000000000000-0000000000000000-0000000000000000-0000000000000000 +# bun ./bun.lockb --hash: E929851B7E80E394-3e9589382bcffa92-CB914B1387D986ED-106a025c7957468b "@ai-sdk/openai@^0.0.66": @@ -45,20 +45,20 @@ resolved "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-1.0.20.tgz" integrity sha512-ngg/RGpnA00eNOWEtXHenpX1MsM2QshQh4QJFjUfwcqHpM5kTfG7je7Rc3HcEDP+OkRVv2GF+X4fC1Vfcnl8Ow== dependencies: - "@ai-sdk/provider" "0.0.24" - eventsource-parser "1.1.2" nanoid "3.3.6" + "@ai-sdk/provider" "0.0.24" secure-json-parse "2.7.0" + eventsource-parser "1.1.2" "@ai-sdk/provider-utils@1.0.22": version "1.0.22" resolved "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-1.0.22.tgz" integrity sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ== dependencies: - "@ai-sdk/provider" "0.0.26" - eventsource-parser "^1.1.2" nanoid "^3.3.7" + "@ai-sdk/provider" "0.0.26" secure-json-parse "^2.7.0" + eventsource-parser "^1.1.2" "@ai-sdk/provider-utils@2.1.8": version "2.1.8" @@ -75,10 +75,10 @@ resolved "https://registry.npmjs.org/@ai-sdk/react/-/react-0.0.70.tgz" integrity sha512-GnwbtjW4/4z7MleLiW+TOZC2M29eCg1tOUpuEiYFMmFNZK8mkrqM0PFZMo6UsYeUYMWqEOOcPOU9OQVJMJh7IQ== dependencies: - "@ai-sdk/provider-utils" "1.0.22" - "@ai-sdk/ui-utils" "0.0.50" swr "^2.2.5" throttleit "2.1.0" + "@ai-sdk/ui-utils" "0.0.50" + "@ai-sdk/provider-utils" "1.0.22" "@ai-sdk/react@1.1.16": version "1.1.16" @@ -95,28 +95,28 @@ resolved "https://registry.npmjs.org/@ai-sdk/solid/-/solid-0.0.54.tgz" integrity sha512-96KWTVK+opdFeRubqrgaJXoNiDP89gNxFRWUp0PJOotZW816AbhUf4EnDjBjXTLjXL1n0h8tGSE9sZsRkj9wQQ== dependencies: - "@ai-sdk/provider-utils" "1.0.22" "@ai-sdk/ui-utils" "0.0.50" + "@ai-sdk/provider-utils" "1.0.22" "@ai-sdk/svelte@0.0.57": version "0.0.57" resolved "https://registry.npmjs.org/@ai-sdk/svelte/-/svelte-0.0.57.tgz" integrity sha512-SyF9ItIR9ALP9yDNAD+2/5Vl1IT6kchgyDH8xkmhysfJI6WrvJbtO1wdQ0nylvPLcsPoYu+cAlz1krU4lFHcYw== dependencies: - "@ai-sdk/provider-utils" "1.0.22" - "@ai-sdk/ui-utils" "0.0.50" sswr "^2.1.0" + "@ai-sdk/ui-utils" "0.0.50" + "@ai-sdk/provider-utils" "1.0.22" "@ai-sdk/ui-utils@0.0.50": version "0.0.50" resolved "https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-0.0.50.tgz" integrity sha512-Z5QYJVW+5XpSaJ4jYCCAVG7zIAuKOOdikhgpksneNmKvx61ACFaf98pmOd+xnjahl0pIlc/QIe6O4yVaJ1sEaw== dependencies: - "@ai-sdk/provider" "0.0.26" - "@ai-sdk/provider-utils" "1.0.22" json-schema "^0.4.0" + "@ai-sdk/provider" "0.0.26" secure-json-parse "^2.7.0" zod-to-json-schema "^3.23.3" + "@ai-sdk/provider-utils" "1.0.22" "@ai-sdk/ui-utils@1.1.14": version "1.1.14" @@ -132,9 +132,9 @@ resolved "https://registry.npmjs.org/@ai-sdk/vue/-/vue-0.0.59.tgz" integrity sha512-+ofYlnqdc8c4F6tM0IKF0+7NagZRAiqBJpGDJ+6EYhDW8FHLUP/JFBgu32SjxSxC6IKFZxEnl68ZoP/Z38EMlw== dependencies: - "@ai-sdk/provider-utils" "1.0.22" - "@ai-sdk/ui-utils" "0.0.50" swrv "^1.0.4" + "@ai-sdk/ui-utils" "0.0.50" + "@ai-sdk/provider-utils" "1.0.22" "@alloc/quick-lru@^5.2.0": version "5.2.0" @@ -154,23 +154,23 @@ resolved "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-2.8.3.tgz" integrity sha512-GIc76d9UI1hCvOATjZPyHFmE5qhRccp3/zGfMPapK3jBi+yocEzp6BBB0UnfRYP9NP4FANqUZYb0hnfs3TM3hw== dependencies: + lru-cache "^10.4.3" "@csstools/css-calc" "^2.1.1" + "@csstools/css-tokenizer" "^3.0.3" "@csstools/css-color-parser" "^3.0.7" "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - lru-cache "^10.4.3" "@auth/core@0.37.2": version "0.37.2" resolved "https://registry.npmjs.org/@auth/core/-/core-0.37.2.tgz" integrity sha512-kUvzyvkcd6h1vpeMAojK2y7+PAV5H+0Cc9+ZlKYDFhDY31AlvsB+GW5vNO4qE3Y07KeQgvNO9U0QUx/fN62kBw== dependencies: - "@panva/hkdf" "^1.2.1" - "@types/cookie" "0.6.0" - cookie "0.7.1" jose "^5.9.3" - oauth4webapi "^3.0.0" + cookie "0.7.1" preact "10.11.3" + "@panva/hkdf" "^1.2.1" + oauth4webapi "^3.0.0" + "@types/cookie" "0.6.0" preact-render-to-string "5.2.3" "@auth/core@0.37.4": @@ -776,9 +776,9 @@ resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz" integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== dependencies: - "@babel/helper-validator-identifier" "^7.25.9" js-tokens "^4.0.0" picocolors "^1.0.0" + "@babel/helper-validator-identifier" "^7.25.9" "@babel/compat-data@^7.26.5": version "7.26.8" @@ -790,60 +790,60 @@ resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz" integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.24.5" - "@babel/helpers" "^7.24.5" + debug "^4.1.0" + json5 "^2.2.3" + semver "^6.3.1" + gensync "^1.0.0-beta.2" + "@babel/types" "^7.24.5" "@babel/parser" "^7.24.5" + "@babel/helpers" "^7.24.5" "@babel/template" "^7.24.0" "@babel/traverse" "^7.24.5" - "@babel/types" "^7.24.5" + "@babel/generator" "^7.24.5" + "@babel/code-frame" "^7.24.2" convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" + "@ampproject/remapping" "^2.2.0" + "@babel/helper-module-transforms" "^7.24.5" + "@babel/helper-compilation-targets" "^7.23.6" "@babel/generator@^7.24.5", "@babel/generator@^7.26.9": version "7.26.9" resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz" integrity sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg== dependencies: - "@babel/parser" "^7.26.9" + jsesc "^3.0.2" "@babel/types" "^7.26.9" + "@babel/parser" "^7.26.9" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^3.0.2" "@babel/helper-compilation-targets@^7.23.6": version "7.26.5" resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz" integrity sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA== dependencies: + semver "^6.3.1" + lru-cache "^5.1.1" + browserslist "^4.24.0" "@babel/compat-data" "^7.26.5" "@babel/helper-validator-option" "^7.25.9" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" "@babel/helper-module-imports@^7.25.9": version "7.25.9" resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz" integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== dependencies: - "@babel/traverse" "^7.25.9" "@babel/types" "^7.25.9" + "@babel/traverse" "^7.25.9" "@babel/helper-module-transforms@^7.24.5": version "7.26.0" resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz" integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== dependencies: + "@babel/traverse" "^7.25.9" "@babel/helper-module-imports" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" "@babel/helper-string-parser@^7.25.9": version "7.25.9" @@ -865,8 +865,8 @@ resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz" integrity sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA== dependencies: - "@babel/template" "^7.26.9" "@babel/types" "^7.26.9" + "@babel/template" "^7.26.9" "@babel/parser@7.24.5", "@babel/parser@^7.24.5": version "7.24.5" @@ -892,22 +892,22 @@ resolved "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz" integrity sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA== dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/parser" "^7.26.9" "@babel/types" "^7.26.9" + "@babel/parser" "^7.26.9" + "@babel/code-frame" "^7.26.2" "@babel/traverse@^7.24.5", "@babel/traverse@^7.25.9": version "7.26.9" resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz" integrity sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg== dependencies: - "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.9" - "@babel/parser" "^7.26.9" - "@babel/template" "^7.26.9" - "@babel/types" "^7.26.9" debug "^4.3.1" globals "^11.1.0" + "@babel/types" "^7.26.9" + "@babel/parser" "^7.26.9" + "@babel/template" "^7.26.9" + "@babel/generator" "^7.26.9" + "@babel/code-frame" "^7.26.2" "@babel/types@^7.24.5", "@babel/types@^7.25.9", "@babel/types@^7.26.9": version "7.26.9" @@ -934,14 +934,14 @@ resolved "https://registry.npmjs.org/@biomejs/biome/-/biome-1.9.4.tgz" integrity sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog== optionalDependencies: - "@biomejs/cli-darwin-arm64" "1.9.4" + "@biomejs/cli-linux-x64" "1.9.4" + "@biomejs/cli-win32-x64" "1.9.4" "@biomejs/cli-darwin-x64" "1.9.4" "@biomejs/cli-linux-arm64" "1.9.4" - "@biomejs/cli-linux-arm64-musl" "1.9.4" - "@biomejs/cli-linux-x64" "1.9.4" - "@biomejs/cli-linux-x64-musl" "1.9.4" "@biomejs/cli-win32-arm64" "1.9.4" - "@biomejs/cli-win32-x64" "1.9.4" + "@biomejs/cli-darwin-arm64" "1.9.4" + "@biomejs/cli-linux-x64-musl" "1.9.4" + "@biomejs/cli-linux-arm64-musl" "1.9.4" "@biomejs/cli-darwin-arm64@1.9.4": version "1.9.4" @@ -1003,11 +1003,11 @@ posthog-js "^1.215.3" posthog-node "^4.4.1" -"@bubba/db@packages/db", "@bubba/db@workspace:*": +"@bubba/db@packages/db": version "workspace:packages/db" resolved "workspace:packages/db" devDependencies: - "@bubba/tsconfig" "workspace:*" + "@bubba/tsconfig" "packages/tsconfig" typescript "^5.7.3" dependencies: "@auth/prisma-adapter" "^2.7.4" @@ -1025,9 +1025,8 @@ "@types/react-dom" "^19.0.0" typescript "^5.7.2" dependencies: - "@bubba/ui" "workspace:*" - "@bubba/utils" "workspace:*" - dependencies: + "@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" @@ -1058,7 +1057,7 @@ "@upstash/redis" "^1.34.2" server-only "^0.0.1" -"@bubba/notifications@packages/notifications", "@bubba/notifications@workspace:*": +"@bubba/notifications@packages/notifications": version "workspace:packages/notifications" resolved "workspace:packages/notifications" devDependencies: @@ -1067,11 +1066,11 @@ "@novu/node" "^2.0.1" nanoid "^5.0.7" -"@bubba/tsconfig@packages/tsconfig", "@bubba/tsconfig@workspace:*": +"@bubba/tsconfig@packages/tsconfig": version "workspace:packages/tsconfig" resolved "workspace:packages/tsconfig" -"@bubba/ui@packages/ui", "@bubba/ui@workspace:*": +"@bubba/ui@packages/ui": version "workspace:packages/ui" resolved "workspace:packages/ui" devDependencies: @@ -1135,7 +1134,7 @@ use-callback-ref "^1.3.3" vaul "^1.0.0" -"@bubba/utils@packages/utils", "@bubba/utils@workspace:*": +"@bubba/utils@packages/utils": version "workspace:packages/utils" resolved "workspace:packages/utils" devDependencies: @@ -1161,9 +1160,9 @@ resolved "https://registry.npmjs.org/@clack/prompts/-/prompts-0.10.0.tgz" integrity sha512-H3rCl6CwW1NdQt9rE3n373t7o5cthPv7yUoxF2ytZvyvlJv89C5RYMJu83Hed8ODgys5vpBU0GKxIRG83jd8NQ== dependencies: - "@clack/core" "0.4.1" picocolors "^1.0.0" sisteransi "^1.0.5" + "@clack/core" "0.4.1" "@csstools/color-helpers@^5.0.1": version "5.0.1" @@ -1208,8 +1207,8 @@ resolved "https://registry.npmjs.org/@effect/platform/-/platform-0.72.0.tgz" integrity sha512-uHsW2hlo6AiIW3zpLAVAoNvJngS/JwCZBAM4RSRllm8JTgjjCraef78FJBDNnSXz+2a10Xzzx4qxVsP3s8EV5Q== dependencies: - find-my-way-ts "^0.1.5" multipasta "^0.2.5" + find-my-way-ts "^0.1.5" "@egjs/agent@^2.2.1": version "2.4.4" @@ -1446,10 +1445,10 @@ resolved "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.3.tgz" integrity sha512-pJT1OkhplSmvvr6i3CWTPvC/FGC06MbN5TNBfRO6Ox62AEz90eMq+dVvtX9Bl3jxCEkS0tATzDarRZuOLw7oFg== dependencies: - "@formatjs/fast-memoize" "2.2.6" - "@formatjs/intl-localematcher" "0.6.0" decimal.js "10" tslib "2" + "@formatjs/fast-memoize" "2.2.6" + "@formatjs/intl-localematcher" "0.6.0" "@formatjs/fast-memoize@2.2.6", "@formatjs/fast-memoize@^2.2.0": version "2.2.6" @@ -1463,17 +1462,17 @@ resolved "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.1.tgz" integrity sha512-o0AhSNaOfKoic0Sn1GkFCK4MxdRsw7mPJ5/rBpIqdvcC7MIuyUSW8WChUEvrK78HhNpYOgqCQbINxCTumJLzZA== dependencies: + tslib "2" "@formatjs/ecma402-abstract" "2.3.3" "@formatjs/icu-skeleton-parser" "1.8.13" - tslib "2" "@formatjs/icu-skeleton-parser@1.8.13": version "1.8.13" resolved "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.13.tgz" integrity sha512-N/LIdTvVc1TpJmMt2jVg0Fr1F7Q1qJPdZSCs19unMskCmVQ/sa0H9L8PWt13vq+gLdLg1+pPsvBLydL1Apahjg== dependencies: - "@formatjs/ecma402-abstract" "2.3.3" tslib "2" + "@formatjs/ecma402-abstract" "2.3.3" "@formatjs/intl-localematcher@^0.5.4": version "0.5.10" @@ -1812,70 +1811,70 @@ 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/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" + "@mui/types" "^7.2.21" + "@mui/utils" "^6.4.3" + prop-types "^15.8.1" + "@mui/system" "^6.4.3" + "@babel/runtime" "^7.26.0" + "@popperjs/core" "^2.11.8" react-transition-group "^4.4.5" + "@mui/core-downloads-tracker" "^6.4.5" + "@types/react-transition-group" "^4.4.12" "@mui/private-theming@^6.4.3": version "6.4.3" resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-6.4.3.tgz" integrity sha512-7x9HaNwDCeoERc4BoEWLieuzKzXu5ZrhRnEM6AUcRXUScQLvF1NFkTlP59+IJfTbEMgcGg1wWHApyoqcksrBpQ== dependencies: - "@babel/runtime" "^7.26.0" "@mui/utils" "^6.4.3" prop-types "^15.8.1" + "@babel/runtime" "^7.26.0" "@mui/styled-engine@^6.4.3": version "6.4.3" resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-6.4.3.tgz" integrity sha512-OC402VfK+ra2+f12Gef8maY7Y9n7B6CZcoQ9u7mIkh/7PKwW/xH81xwX+yW+Ak1zBT3HYcVjh2X82k5cKMFGoQ== dependencies: + csstype "^3.1.3" + prop-types "^15.8.1" "@babel/runtime" "^7.26.0" "@emotion/cache" "^11.13.5" - "@emotion/serialize" "^1.3.3" "@emotion/sheet" "^1.4.0" - csstype "^3.1.3" - prop-types "^15.8.1" + "@emotion/serialize" "^1.3.3" "@mui/system@^6.4.3": version "6.4.3" resolved "https://registry.npmjs.org/@mui/system/-/system-6.4.3.tgz" integrity sha512-Q0iDwnH3+xoxQ0pqVbt8hFdzhq1g2XzzR4Y5pVcICTNtoCLJmpJS3vI4y/OIM1FHFmpfmiEC2IRIq7YcZ8nsmg== dependencies: - "@babel/runtime" "^7.26.0" - "@mui/private-theming" "^6.4.3" - "@mui/styled-engine" "^6.4.3" - "@mui/types" "^7.2.21" - "@mui/utils" "^6.4.3" clsx "^2.1.1" csstype "^3.1.3" + "@mui/types" "^7.2.21" + "@mui/utils" "^6.4.3" prop-types "^15.8.1" + "@babel/runtime" "^7.26.0" + "@mui/styled-engine" "^6.4.3" + "@mui/private-theming" "^6.4.3" "@mui/types@^7.2.21": version "7.2.21" @@ -1887,32 +1886,32 @@ resolved "https://registry.npmjs.org/@mui/utils/-/utils-6.4.3.tgz" integrity sha512-jxHRHh3BqVXE9ABxDm+Tc3wlBooYz/4XPa0+4AI+iF38rV1/+btJmSUgG4shDtSWVs/I97aDn5jBCt6SF2Uq2A== 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" + "@mui/types" "^7.2.21" + prop-types "^15.8.1" + "@babel/runtime" "^7.26.0" + "@types/prop-types" "^15.7.14" "@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.1": - version "0.53.2" - resolved "https://registry.npmjs.org/@nangohq/node/-/node-0.53.2.tgz" - integrity sha512-QfBrtbv1dekI3RH+HX+43MGIRs36MNuWMdWS1RRFKjiCmIwKaOje6qjRj0UDjQYtokKcbt2id2sAAq8fmusjCQ== + version "0.53.1" + resolved "https://registry.npmjs.org/@nangohq/node/-/node-0.53.1.tgz" + integrity sha512-cdn17bsbpZ5te5TPlJMYmdz0dkcG9ruLJQmrZAfVh1opKC0guCYOpcRFBiM8jSYC2QhlGWzn93qcsUtMSPXzXg== dependencies: - "@nangohq/types" "0.53.2" + "@nangohq/types" "0.53.1" axios "^1.7.9" -"@nangohq/types@0.53.2": - version "0.53.2" - resolved "https://registry.npmjs.org/@nangohq/types/-/types-0.53.2.tgz" - integrity sha512-G7oC4QsJrmLjAWQmvB7gY8hE0UMr8PofAY/pPsk/0sHIM1YWeealBI7RiPeN4UluArT7w+OoUvMQd+jtrTh9Lw== +"@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" @@ -2050,8 +2049,8 @@ resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: - "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" + "@nodelib/fs.scandir" "2.1.5" "@novu/client@2.6.5": version "2.6.5" @@ -2065,10 +2064,10 @@ resolved "https://registry.npmjs.org/@novu/headless/-/headless-2.6.5.tgz" integrity sha512-/jVFGAjobMV7d7pjAuBABggFZHUmLH6g6GslNilr79+uitPK3ZW4QWX4iQ1UPrGAbj7w6Xf4Ve3fAq7vftB1qw== dependencies: - "@novu/client" "2.6.5" - "@novu/shared" "2.6.5" "@tanstack/query-core" "^4.15.1" socket.io-client "4.7.2" + "@novu/client" "2.6.5" + "@novu/shared" "2.6.5" "@novu/js@2.6.5": version "2.6.5" @@ -2090,25 +2089,25 @@ resolved "https://registry.npmjs.org/@novu/node/-/node-2.6.5.tgz" integrity sha512-5GQI6EkjsLNbzUOXIRGbeFNsY1+bzI8sVhoeBCJfnJ9r/elFNRSMYsgVp5dCXtzLBrp7cjMfYNdLFhp1uUNaig== dependencies: - "@novu/shared" "2.6.5" axios "^1.6.8" axios-retry "^3.8.0" handlebars "^4.7.7" lodash.get "^4.4.2" lodash.merge "^4.6.2" uuid "^9.0.1" + "@novu/shared" "2.6.5" "@novu/ntfr-client@^0.0.4": version "0.0.4" resolved "https://registry.npmjs.org/@novu/ntfr-client/-/ntfr-client-0.0.4.tgz" integrity sha512-/9q+qGFHHFwMsuqoLwTADMjSx2JPagpJpm7jOZRzQZgSEDg9kwNAhADneRzVYhMyjdEXIQyjTmX/oP8ABAavFw== dependencies: + ws "^8.11.0" + zod "3.22.3" https "^1.0.0" node-fetch "^3.3.2" partysocket "^0.0.17" proxy-agent "^6.3.0" - ws "^8.11.0" - zod "3.22.3" "@novu/react@^2.6.5": version "2.6.5" @@ -2127,7 +2126,7 @@ resolved "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz" integrity sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw== -"@opentelemetry/api@1.9.0", "@opentelemetry/api@>=1.0.0 <1.10.0", "@opentelemetry/api@>=1.3.0 <1.10.0", "@opentelemetry/api@>=1.4.0 <1.10.0", "@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.1.0", "@opentelemetry/api@^1.3.0", "@opentelemetry/api@^1.8": +"@opentelemetry/api@1.9.0", "@opentelemetry/api@>=1.0.0 <1.10.0", "@opentelemetry/api@>=1.3.0 <1.10.0", "@opentelemetry/api@>=1.4.0 <1.10.0", "@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.3.0", "@opentelemetry/api@^1.8": version "1.9.0" resolved "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz" integrity sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg== @@ -2139,13 +2138,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" @@ -2163,11 +2155,11 @@ resolved "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-http/-/exporter-logs-otlp-http-0.52.1.tgz" integrity sha512-qKgywId2DbdowPZpOBXQKp0B8DfhfIArmSic15z13Nk/JAOccBUQdPwDjDnjsM5f0ckZFMVR2t/tijTUAqDZoA== dependencies: - "@opentelemetry/api-logs" "0.52.1" "@opentelemetry/core" "1.25.1" - "@opentelemetry/otlp-exporter-base" "0.52.1" - "@opentelemetry/otlp-transformer" "0.52.1" + "@opentelemetry/api-logs" "0.52.1" "@opentelemetry/sdk-logs" "0.52.1" + "@opentelemetry/otlp-transformer" "0.52.1" + "@opentelemetry/otlp-exporter-base" "0.52.1" "@opentelemetry/exporter-trace-otlp-grpc@0.52.1": version "0.52.1" @@ -2176,10 +2168,10 @@ dependencies: "@grpc/grpc-js" "^1.7.1" "@opentelemetry/core" "1.25.1" - "@opentelemetry/otlp-grpc-exporter-base" "0.52.1" - "@opentelemetry/otlp-transformer" "0.52.1" "@opentelemetry/resources" "1.25.1" "@opentelemetry/sdk-trace-base" "1.25.1" + "@opentelemetry/otlp-transformer" "0.52.1" + "@opentelemetry/otlp-grpc-exporter-base" "0.52.1" "@opentelemetry/exporter-trace-otlp-http@0.52.1": version "0.52.1" @@ -2187,10 +2179,10 @@ integrity sha512-05HcNizx0BxcFKKnS5rwOV+2GevLTVIRA0tRgWYyw4yCgR53Ic/xk83toYKts7kbzcI+dswInUg/4s8oyA+tqg== dependencies: "@opentelemetry/core" "1.25.1" - "@opentelemetry/otlp-exporter-base" "0.52.1" - "@opentelemetry/otlp-transformer" "0.52.1" "@opentelemetry/resources" "1.25.1" "@opentelemetry/sdk-trace-base" "1.25.1" + "@opentelemetry/otlp-transformer" "0.52.1" + "@opentelemetry/otlp-exporter-base" "0.52.1" "@opentelemetry/exporter-trace-otlp-proto@0.52.1": version "0.52.1" @@ -2198,10 +2190,10 @@ integrity sha512-pt6uX0noTQReHXNeEslQv7x311/F1gJzMnp1HD2qgypLRPbXDeMzzeTngRTUaUbP6hqWNtPxuLr4DEoZG+TcEQ== dependencies: "@opentelemetry/core" "1.25.1" - "@opentelemetry/otlp-exporter-base" "0.52.1" - "@opentelemetry/otlp-transformer" "0.52.1" "@opentelemetry/resources" "1.25.1" "@opentelemetry/sdk-trace-base" "1.25.1" + "@opentelemetry/otlp-transformer" "0.52.1" + "@opentelemetry/otlp-exporter-base" "0.52.1" "@opentelemetry/exporter-zipkin@1.25.1": version "1.25.1" @@ -2213,29 +2205,17 @@ "@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== 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" - -"@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" + "@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" + "@opentelemetry/api-logs" "0.52.1" "@opentelemetry/otlp-exporter-base@0.52.1": version "0.52.1" @@ -2252,21 +2232,21 @@ dependencies: "@grpc/grpc-js" "^1.7.1" "@opentelemetry/core" "1.25.1" - "@opentelemetry/otlp-exporter-base" "0.52.1" "@opentelemetry/otlp-transformer" "0.52.1" + "@opentelemetry/otlp-exporter-base" "0.52.1" "@opentelemetry/otlp-transformer@0.52.1": version "0.52.1" resolved "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.52.1.tgz" integrity sha512-I88uCZSZZtVa0XniRqQWKbjAUm73I8tpEy/uJYPPYw5d7BRdVk0RfTBQw8kSUl01oVWEuqxLDa802222MYyWHg== dependencies: - "@opentelemetry/api-logs" "0.52.1" + protobufjs "^7.3.0" "@opentelemetry/core" "1.25.1" - "@opentelemetry/resources" "1.25.1" + "@opentelemetry/api-logs" "0.52.1" "@opentelemetry/sdk-logs" "0.52.1" + "@opentelemetry/resources" "1.25.1" "@opentelemetry/sdk-metrics" "1.25.1" "@opentelemetry/sdk-trace-base" "1.25.1" - protobufjs "^7.3.0" "@opentelemetry/propagator-b3@1.25.1": version "1.25.1" @@ -2295,8 +2275,8 @@ resolved "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.52.1.tgz" integrity sha512-MBYh+WcPPsN8YpRHRmK1Hsca9pVlyyKd4BxOC4SsgHACnl/bPp4Cri9hWhVm5+2tiQ9Zf4qSc1Jshw9tOLGWQA== dependencies: - "@opentelemetry/api-logs" "0.52.1" "@opentelemetry/core" "1.25.1" + "@opentelemetry/api-logs" "0.52.1" "@opentelemetry/resources" "1.25.1" "@opentelemetry/sdk-metrics@1.25.1": @@ -2304,28 +2284,28 @@ resolved "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.25.1.tgz" integrity sha512-9Mb7q5ioFL4E4dDrc4wC/A3NTHDat44v4I3p2pLPSxRvqUbDIQyMVr9uK+EU69+HWhlET1VaSrRzwdckWqY15Q== dependencies: + lodash.merge "^4.6.2" "@opentelemetry/core" "1.25.1" "@opentelemetry/resources" "1.25.1" - lodash.merge "^4.6.2" "@opentelemetry/sdk-node@0.52.1": version "0.52.1" resolved "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.52.1.tgz" integrity sha512-uEG+gtEr6eKd8CVWeKMhH2olcCHM9dEK68pe0qE0be32BcCRsvYURhHaD1Srngh1SQcnQzZ4TP324euxqtBOJA== dependencies: - "@opentelemetry/api-logs" "0.52.1" "@opentelemetry/core" "1.25.1" - "@opentelemetry/exporter-trace-otlp-grpc" "0.52.1" - "@opentelemetry/exporter-trace-otlp-http" "0.52.1" - "@opentelemetry/exporter-trace-otlp-proto" "0.52.1" - "@opentelemetry/exporter-zipkin" "1.25.1" - "@opentelemetry/instrumentation" "0.52.1" - "@opentelemetry/resources" "1.25.1" + "@opentelemetry/api-logs" "0.52.1" "@opentelemetry/sdk-logs" "0.52.1" + "@opentelemetry/resources" "1.25.1" "@opentelemetry/sdk-metrics" "1.25.1" "@opentelemetry/sdk-trace-base" "1.25.1" "@opentelemetry/sdk-trace-node" "1.25.1" + "@opentelemetry/exporter-zipkin" "1.25.1" + "@opentelemetry/instrumentation" "0.52.1" "@opentelemetry/semantic-conventions" "1.25.1" + "@opentelemetry/exporter-trace-otlp-grpc" "0.52.1" + "@opentelemetry/exporter-trace-otlp-http" "0.52.1" + "@opentelemetry/exporter-trace-otlp-proto" "0.52.1" "@opentelemetry/sdk-trace-base@1.25.1": version "1.25.1" @@ -2341,12 +2321,12 @@ resolved "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.25.1.tgz" integrity sha512-nMcjFIKxnFqoez4gUmihdBrbpsEnAX/Xj16sGvZm+guceYE0NE00vLhpDVK6f3q8Q4VFI5xG8JjlXKMB/SkTTQ== dependencies: - "@opentelemetry/context-async-hooks" "1.25.1" + semver "^7.5.2" "@opentelemetry/core" "1.25.1" "@opentelemetry/propagator-b3" "1.25.1" - "@opentelemetry/propagator-jaeger" "1.25.1" "@opentelemetry/sdk-trace-base" "1.25.1" - semver "^7.5.2" + "@opentelemetry/propagator-jaeger" "1.25.1" + "@opentelemetry/context-async-hooks" "1.25.1" "@opentelemetry/semantic-conventions@1.25.1": version "1.25.1" @@ -2488,9 +2468,9 @@ resolved "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz" integrity sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw== dependencies: - "@pnpm/config.env-replace" "^1.1.0" - "@pnpm/network.ca-file" "^1.0.1" config-chain "^1.1.11" + "@pnpm/network.ca-file" "^1.0.1" + "@pnpm/config.env-replace" "^1.1.0" "@popperjs/core@^2.11.8", "@popperjs/core@^2.9.0": version "2.11.8" @@ -2498,70 +2478,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" postgres-array "3.0.2" + "@prisma/driver-adapter-utils" "6.4.0" "@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/engines-version" "6.4.0-29.a9055b89e58b4b5bfb59600785423b1db3d0e75d" + "@prisma/debug" "6.4.0" + "@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/engines-version" "6.4.0-29.a9055b89e58b4b5bfb59600785423b1db3d0e75d" + "@prisma/debug" "6.4.0" + "@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" @@ -2627,9 +2607,9 @@ extract-zip "^2.0.1" progress "^2.0.3" proxy-agent "^6.5.0" - semver "^7.7.0" tar-fs "^3.0.8" yargs "^17.7.2" + semver "^7.7.0" "@radix-ui/number@1.1.0": version "1.1.0" @@ -2653,14 +2633,14 @@ resolved "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.3.tgz" integrity sha512-RIQ15mrcvqIkDARJeERSuXSry2N8uYnxkdDetpfmalT/+0ntOXLkFOsh9iwlAsCv+qcmhZjbdJogIm6WBa6c4A== dependencies: + "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-collapsible" "1.1.3" - "@radix-ui/react-collection" "1.1.2" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" "@radix-ui/react-direction" "1.1.0" - "@radix-ui/react-id" "1.1.0" "@radix-ui/react-primitive" "2.0.2" + "@radix-ui/react-collection" "1.1.2" + "@radix-ui/react-collapsible" "1.1.3" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-alert-dialog@^1.1.2": @@ -2669,11 +2649,11 @@ integrity sha512-p4XnPqgej8sZAAReCAKgz1REYZEBLR8hU9Pg27wFnCWIMc8g1ccCs0FjBcy05V15VTu8pAePw/VDYeOm/uZ6yQ== dependencies: "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-slot" "1.1.2" "@radix-ui/react-dialog" "1.1.6" + "@radix-ui/react-context" "1.1.1" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-slot" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-arrow@1.1.2": version "1.1.2" @@ -2698,37 +2678,37 @@ integrity sha512-wP0CPAHq+P5I4INKe3hJrIa1WoNqqrejzW+zoU0rOvo1b9gDEJJFl2rYfO1PYJUQCc2H1WZxIJmyv9BS8i5fLw== dependencies: "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" "@radix-ui/react-presence" "1.1.2" + "@radix-ui/react-use-size" "1.1.0" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-previous" "1.1.0" - "@radix-ui/react-use-size" "1.1.0" + "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-collapsible@1.1.3", "@radix-ui/react-collapsible@^1.1.1": version "1.1.3" resolved "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.3.tgz" integrity sha512-jFSerheto1X03MUC0g6R7LedNW9EEGWdg9W1+MlpkMLwGkgkbUXLPBH/KIuWKXUoeYRVY11llqbTBDzuLg7qrw== dependencies: + "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-id" "1.1.0" "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-layout-effect" "1.1.0" + "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-collection@1.1.2": version "1.1.2" resolved "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.2.tgz" integrity sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw== dependencies: - "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-slot" "1.1.2" "@radix-ui/react-context" "1.1.1" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-slot" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-compose-refs@1.0.0": version "1.0.0" @@ -2760,8 +2740,8 @@ integrity sha512-aUP99QZ3VU84NPsHeaFt4cQUNgJqFsLLOt/RbbWXszZ6MP0DpDyjkFZORr4RpAEx3sUBk+Kc8h13yGtC5Qw8dg== dependencies: "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-context" "1.1.1" "@radix-ui/react-menu" "2.1.6" + "@radix-ui/react-context" "1.1.1" "@radix-ui/react-primitive" "2.0.2" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-controllable-state" "1.1.0" @@ -2771,41 +2751,41 @@ resolved "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.0.tgz" integrity sha512-Yn9YU+QlHYLWwV1XfKiqnGVpWYWk6MeBVM6x/bcoyPvxgjQGoeT35482viLPctTMWoMw0PoHgqfSox7Ig+957Q== dependencies: + aria-hidden "^1.1.1" "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.0" - "@radix-ui/react-compose-refs" "1.0.0" - "@radix-ui/react-context" "1.0.0" - "@radix-ui/react-dismissable-layer" "1.0.0" - "@radix-ui/react-focus-guards" "1.0.0" - "@radix-ui/react-focus-scope" "1.0.0" "@radix-ui/react-id" "1.0.0" + "@radix-ui/primitive" "1.0.0" + react-remove-scroll "2.5.4" + "@radix-ui/react-slot" "1.0.0" "@radix-ui/react-portal" "1.0.0" + "@radix-ui/react-context" "1.0.0" "@radix-ui/react-presence" "1.0.0" "@radix-ui/react-primitive" "1.0.0" - "@radix-ui/react-slot" "1.0.0" + "@radix-ui/react-focus-scope" "1.0.0" + "@radix-ui/react-compose-refs" "1.0.0" + "@radix-ui/react-focus-guards" "1.0.0" + "@radix-ui/react-dismissable-layer" "1.0.0" "@radix-ui/react-use-controllable-state" "1.0.0" - aria-hidden "^1.1.1" - react-remove-scroll "2.5.4" "@radix-ui/react-dialog@1.1.6", "@radix-ui/react-dialog@^1.1.1", "@radix-ui/react-dialog@^1.1.2": version "1.1.6" resolved "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.6.tgz" integrity sha512-/IVhJV5AceX620DUJ4uYVMymzsipdKBzo3edo+omeskCKGm9FRHM0ebIdbPnlQVJqyuHbuBltQUOG2mOTq2IYw== dependencies: - "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-dismissable-layer" "1.1.5" - "@radix-ui/react-focus-guards" "1.1.1" - "@radix-ui/react-focus-scope" "1.1.2" + aria-hidden "^1.2.4" "@radix-ui/react-id" "1.1.0" + "@radix-ui/primitive" "1.1.1" + react-remove-scroll "^2.6.3" + "@radix-ui/react-slot" "1.1.2" "@radix-ui/react-portal" "1.1.4" + "@radix-ui/react-context" "1.1.1" "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-slot" "1.1.2" + "@radix-ui/react-focus-scope" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-focus-guards" "1.1.1" + "@radix-ui/react-dismissable-layer" "1.1.5" "@radix-ui/react-use-controllable-state" "1.1.0" - aria-hidden "^1.2.4" - react-remove-scroll "^2.6.3" "@radix-ui/react-direction@1.1.0": version "1.1.0" @@ -2819,8 +2799,8 @@ dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/primitive" "1.0.0" - "@radix-ui/react-compose-refs" "1.0.0" "@radix-ui/react-primitive" "1.0.0" + "@radix-ui/react-compose-refs" "1.0.0" "@radix-ui/react-use-callback-ref" "1.0.0" "@radix-ui/react-use-escape-keydown" "1.0.0" @@ -2830,8 +2810,8 @@ integrity sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg== dependencies: "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-primitive" "2.0.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-escape-keydown" "1.1.0" @@ -2840,12 +2820,12 @@ resolved "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.6.tgz" integrity sha512-no3X7V5fD487wab/ZYSHXq3H37u4NVeLDKI/Ks724X/eEFSSEFYZxWgsIlr1UBeEyDaM29HM5x9p1Nv8DuTYPA== dependencies: - "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-context" "1.1.1" "@radix-ui/react-id" "1.1.0" + "@radix-ui/primitive" "1.1.1" "@radix-ui/react-menu" "2.1.6" + "@radix-ui/react-context" "1.1.1" "@radix-ui/react-primitive" "2.0.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-focus-guards@1.0.0": @@ -2866,8 +2846,8 @@ integrity sha512-C4SWtsULLGf/2L4oGeIHlvWQx7Rf+7cX/vKOAD2dXW0A1b5QXwi3wWeaEgW+wn+SEVrraMUk05vLU9fZZz5HbQ== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/react-compose-refs" "1.0.0" "@radix-ui/react-primitive" "1.0.0" + "@radix-ui/react-compose-refs" "1.0.0" "@radix-ui/react-use-callback-ref" "1.0.0" "@radix-ui/react-focus-scope@1.1.2": @@ -2875,8 +2855,8 @@ resolved "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.2.tgz" integrity sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA== dependencies: - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-primitive" "2.0.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-hover-card@^1.1.2": @@ -2885,13 +2865,13 @@ integrity sha512-E4ozl35jq0VRlrdc4dhHrNSV0JqBb4Jy73WAhBEK7JoYnQ83ED5r0Rb/XdVKw89ReAJN38N492BAPBZQ57VmqQ== dependencies: "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-dismissable-layer" "1.1.5" "@radix-ui/react-popper" "1.2.2" "@radix-ui/react-portal" "1.1.4" + "@radix-ui/react-context" "1.1.1" "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-dismissable-layer" "1.1.5" "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-icons@^1.3.0": @@ -2926,81 +2906,81 @@ resolved "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.6.tgz" integrity sha512-tBBb5CXDJW3t2mo9WlO7r6GTmWV0F0uzHZVFmlRmYpiSK1CDU5IKojP1pm7oknpBOrFZx/YgBRW9oorPO2S/Lg== dependencies: - "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-collection" "1.1.2" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-direction" "1.1.0" - "@radix-ui/react-dismissable-layer" "1.1.5" - "@radix-ui/react-focus-guards" "1.1.1" - "@radix-ui/react-focus-scope" "1.1.2" + aria-hidden "^1.2.4" "@radix-ui/react-id" "1.1.0" + "@radix-ui/primitive" "1.1.1" + react-remove-scroll "^2.6.3" + "@radix-ui/react-slot" "1.1.2" "@radix-ui/react-popper" "1.2.2" "@radix-ui/react-portal" "1.1.4" + "@radix-ui/react-context" "1.1.1" "@radix-ui/react-presence" "1.1.2" + "@radix-ui/react-direction" "1.1.0" "@radix-ui/react-primitive" "2.0.2" + "@radix-ui/react-collection" "1.1.2" + "@radix-ui/react-focus-scope" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-focus-guards" "1.1.1" "@radix-ui/react-roving-focus" "1.1.2" - "@radix-ui/react-slot" "1.1.2" "@radix-ui/react-use-callback-ref" "1.1.0" - aria-hidden "^1.2.4" - react-remove-scroll "^2.6.3" + "@radix-ui/react-dismissable-layer" "1.1.5" "@radix-ui/react-navigation-menu@^1.2.1": version "1.2.5" resolved "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.5.tgz" integrity sha512-myMHHQUZ3ZLTi8W381/Vu43Ia0NqakkQZ2vzynMmTUtQQ9kNkjzhOwkZC9TAM5R07OZUVIQyHC06f/9JZJpvvA== dependencies: + "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-collection" "1.1.2" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-direction" "1.1.0" - "@radix-ui/react-dismissable-layer" "1.1.5" - "@radix-ui/react-id" "1.1.0" "@radix-ui/react-presence" "1.1.2" + "@radix-ui/react-direction" "1.1.0" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-use-callback-ref" "1.1.0" - "@radix-ui/react-use-controllable-state" "1.1.0" - "@radix-ui/react-use-layout-effect" "1.1.0" + "@radix-ui/react-collection" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-previous" "1.1.0" "@radix-ui/react-visually-hidden" "1.1.2" + "@radix-ui/react-use-callback-ref" "1.1.0" + "@radix-ui/react-dismissable-layer" "1.1.5" + "@radix-ui/react-use-layout-effect" "1.1.0" + "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-popover@^1.1.2": version "1.1.6" resolved "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.6.tgz" integrity sha512-NQouW0x4/GnkFJ/pRqsIS3rM/k97VzKnVb2jB7Gq7VEGPy5g7uNV1ykySFt7eWSp3i2uSGFwaJcvIRJBAHmmFg== dependencies: - "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-dismissable-layer" "1.1.5" - "@radix-ui/react-focus-guards" "1.1.1" - "@radix-ui/react-focus-scope" "1.1.2" + aria-hidden "^1.2.4" "@radix-ui/react-id" "1.1.0" + "@radix-ui/primitive" "1.1.1" + react-remove-scroll "^2.6.3" + "@radix-ui/react-slot" "1.1.2" "@radix-ui/react-popper" "1.2.2" "@radix-ui/react-portal" "1.1.4" + "@radix-ui/react-context" "1.1.1" "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-slot" "1.1.2" + "@radix-ui/react-focus-scope" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-focus-guards" "1.1.1" + "@radix-ui/react-dismissable-layer" "1.1.5" "@radix-ui/react-use-controllable-state" "1.1.0" - aria-hidden "^1.2.4" - react-remove-scroll "^2.6.3" "@radix-ui/react-popper@1.2.2": version "1.2.2" resolved "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.2.tgz" integrity sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA== dependencies: - "@floating-ui/react-dom" "^2.0.0" + "@radix-ui/rect" "1.1.0" "@radix-ui/react-arrow" "1.1.2" - "@radix-ui/react-compose-refs" "1.1.1" + "@floating-ui/react-dom" "^2.0.0" "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-use-rect" "1.1.0" + "@radix-ui/react-use-size" "1.1.0" "@radix-ui/react-primitive" "2.0.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-layout-effect" "1.1.0" - "@radix-ui/react-use-rect" "1.1.0" - "@radix-ui/react-use-size" "1.1.0" - "@radix-ui/rect" "1.1.0" "@radix-ui/react-portal@1.0.0": version "1.0.0" @@ -3064,28 +3044,28 @@ integrity sha512-xtCsqt8Rp09FK50ItqEqTJ7Sxanz8EM8dnkVIhJrc/wkMMomSmXHvYbhv3E7Zx4oXh98aaLt9W679SUYXg4IDA== dependencies: "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-direction" "1.1.0" "@radix-ui/react-presence" "1.1.2" + "@radix-ui/react-use-size" "1.1.0" + "@radix-ui/react-direction" "1.1.0" "@radix-ui/react-primitive" "2.0.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-roving-focus" "1.1.2" - "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-use-previous" "1.1.0" - "@radix-ui/react-use-size" "1.1.0" + "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-roving-focus@1.1.2": version "1.1.2" resolved "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.2.tgz" integrity sha512-zgMQWkNO169GtGqRvYrzb0Zf8NhMHS2DuEB/TiEmVnpr5OqPU3i8lfbxaAmC2J/KYuIQxyoQQ6DxepyXp61/xw== dependencies: + "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-collection" "1.1.2" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" "@radix-ui/react-direction" "1.1.0" - "@radix-ui/react-id" "1.1.0" "@radix-ui/react-primitive" "2.0.2" + "@radix-ui/react-collection" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-controllable-state" "1.1.0" @@ -3096,11 +3076,11 @@ dependencies: "@radix-ui/number" "1.1.0" "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-direction" "1.1.0" "@radix-ui/react-presence" "1.1.2" + "@radix-ui/react-direction" "1.1.0" "@radix-ui/react-primitive" "2.0.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-layout-effect" "1.1.0" @@ -3109,27 +3089,27 @@ resolved "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.1.6.tgz" integrity sha512-T6ajELxRvTuAMWH0YmRJ1qez+x4/7Nq7QIx7zJ0VK3qaEWdnWpNbEDnmWldG1zBDwqrLy5aLMUWcoGirVj5kMg== dependencies: + aria-hidden "^1.2.4" "@radix-ui/number" "1.1.0" - "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-collection" "1.1.2" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-direction" "1.1.0" - "@radix-ui/react-dismissable-layer" "1.1.5" - "@radix-ui/react-focus-guards" "1.1.1" - "@radix-ui/react-focus-scope" "1.1.2" "@radix-ui/react-id" "1.1.0" + "@radix-ui/primitive" "1.1.1" + react-remove-scroll "^2.6.3" + "@radix-ui/react-slot" "1.1.2" "@radix-ui/react-popper" "1.2.2" "@radix-ui/react-portal" "1.1.4" + "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-direction" "1.1.0" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-slot" "1.1.2" - "@radix-ui/react-use-callback-ref" "1.1.0" - "@radix-ui/react-use-controllable-state" "1.1.0" - "@radix-ui/react-use-layout-effect" "1.1.0" + "@radix-ui/react-collection" "1.1.2" + "@radix-ui/react-focus-scope" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-focus-guards" "1.1.1" "@radix-ui/react-use-previous" "1.1.0" "@radix-ui/react-visually-hidden" "1.1.2" - aria-hidden "^1.2.4" - react-remove-scroll "^2.6.3" + "@radix-ui/react-use-callback-ref" "1.1.0" + "@radix-ui/react-dismissable-layer" "1.1.5" + "@radix-ui/react-use-layout-effect" "1.1.0" + "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-separator@^1.1.0": version "1.1.2" @@ -3145,15 +3125,15 @@ dependencies: "@radix-ui/number" "1.1.0" "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-collection" "1.1.2" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-use-size" "1.1.0" "@radix-ui/react-direction" "1.1.0" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-use-controllable-state" "1.1.0" - "@radix-ui/react-use-layout-effect" "1.1.0" + "@radix-ui/react-collection" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-previous" "1.1.0" - "@radix-ui/react-use-size" "1.1.0" + "@radix-ui/react-use-layout-effect" "1.1.0" + "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-slot@1.0.0": version "1.0.0" @@ -3176,23 +3156,23 @@ integrity sha512-1nc+vjEOQkJVsJtWPSiISGT6OKm4SiOdjMo+/icLxo2G4vxz1GntC5MzfL4v8ey9OEfw787QCD1y3mUv0NiFEQ== dependencies: "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-use-size" "1.1.0" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-previous" "1.1.0" - "@radix-ui/react-use-size" "1.1.0" + "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-tabs@^1.1.1": version "1.1.3" resolved "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.3.tgz" integrity sha512-9mFyI30cuRDImbmFF6O2KUJdgEOsGh9Vmx9x/Dh9tOhL7BngmQPQfwW4aejKm5OHpfWIdmeV6ySyuxoOGjtNng== dependencies: + "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-direction" "1.1.0" - "@radix-ui/react-id" "1.1.0" "@radix-ui/react-presence" "1.1.2" + "@radix-ui/react-direction" "1.1.0" "@radix-ui/react-primitive" "2.0.2" "@radix-ui/react-roving-focus" "1.1.2" "@radix-ui/react-use-controllable-state" "1.1.0" @@ -3203,35 +3183,35 @@ integrity sha512-gN4dpuIVKEgpLn1z5FhzT9mYRUitbfZq9XqN/7kkBMUgFTzTG8x/KszWJugJXHcwxckY8xcKDZPz7kG3o6DsUA== dependencies: "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-collection" "1.1.2" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-dismissable-layer" "1.1.5" "@radix-ui/react-portal" "1.1.4" + "@radix-ui/react-context" "1.1.1" "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" + "@radix-ui/react-collection" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-visually-hidden" "1.1.2" "@radix-ui/react-use-callback-ref" "1.1.0" - "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-dismissable-layer" "1.1.5" "@radix-ui/react-use-layout-effect" "1.1.0" - "@radix-ui/react-visually-hidden" "1.1.2" + "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-tooltip@^1.1.3": version "1.1.8" resolved "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.1.8.tgz" integrity sha512-YAA2cu48EkJZdAMHC0dqo9kialOcRStbtiY4nJPaht7Ptrhcvpo+eDChaM6BIs8kL6a8Z5l5poiqLnXcNduOkA== dependencies: - "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-dismissable-layer" "1.1.5" "@radix-ui/react-id" "1.1.0" + "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-slot" "1.1.2" "@radix-ui/react-popper" "1.2.2" "@radix-ui/react-portal" "1.1.4" + "@radix-ui/react-context" "1.1.1" "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-slot" "1.1.2" - "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-visually-hidden" "1.1.2" + "@radix-ui/react-dismissable-layer" "1.1.5" + "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-use-callback-ref@1.0.0": version "1.0.0" @@ -3350,26 +3330,26 @@ resolved "https://registry.npmjs.org/@react-email/components/-/components-0.0.31.tgz" integrity sha512-rQsTY9ajobncix9raexhBjC7O6cXUMc87eNez2gnB1FwtkUO8DqWZcktbtwOJi7GKmuAPTx0o/IOFtiBNXziKA== dependencies: + "@react-email/hr" "0.0.11" + "@react-email/img" "0.0.11" + "@react-email/row" "0.0.12" "@react-email/body" "0.0.11" - "@react-email/button" "0.0.19" - "@react-email/code-block" "0.0.11" - "@react-email/code-inline" "0.0.5" - "@react-email/column" "0.0.13" - "@react-email/container" "0.0.15" "@react-email/font" "0.0.9" "@react-email/head" "0.0.12" - "@react-email/heading" "0.0.15" - "@react-email/hr" "0.0.11" "@react-email/html" "0.0.11" - "@react-email/img" "0.0.11" "@react-email/link" "0.0.12" - "@react-email/markdown" "0.0.14" - "@react-email/preview" "0.0.12" + "@react-email/text" "0.0.11" + "@react-email/button" "0.0.19" + "@react-email/column" "0.0.13" "@react-email/render" "1.0.3" - "@react-email/row" "0.0.12" + "@react-email/heading" "0.0.15" + "@react-email/preview" "0.0.12" "@react-email/section" "0.0.16" + "@react-email/markdown" "0.0.14" "@react-email/tailwind" "1.0.4" - "@react-email/text" "0.0.11" + "@react-email/container" "0.0.15" + "@react-email/code-block" "0.0.11" + "@react-email/code-inline" "0.0.5" "@react-email/container@0.0.15": version "0.0.15" @@ -3428,18 +3408,18 @@ resolved "https://registry.npmjs.org/@react-email/render/-/render-0.0.10.tgz" integrity sha512-FdLhg/E5PH5qZU/jf9NbvRi5v5134kbX7o8zIhOJIk/TALxB18ggprnH5tQX96dGQFqlLob8OLReaRwrpEF7YA== dependencies: - html-to-text "9.0.5" - pretty "2.0.0" react "18.2.0" + pretty "2.0.0" react-dom "18.2.0" + html-to-text "9.0.5" "@react-email/render@1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@react-email/render/-/render-1.0.1.tgz" integrity sha512-W3gTrcmLOVYnG80QuUp22ReIT/xfLsVJ+n7ghSlG2BITB8evNABn1AO2rGQoXuK84zKtDAlxCdm3hRyIpZdGSA== dependencies: - html-to-text "9.0.5" js-beautify "^1.14.11" + html-to-text "9.0.5" react-promise-suspense "0.3.4" "@react-email/render@1.0.3": @@ -3447,8 +3427,8 @@ resolved "https://registry.npmjs.org/@react-email/render/-/render-1.0.3.tgz" integrity sha512-VQ8g4SuIq/jWdfBTdTjb7B8Np0jj+OoD7VebfdHhLTZzVQKesR2aigpYqE/ZXmwj4juVxDm8T2b6WIIu48rPCg== dependencies: - html-to-text "9.0.5" prettier "3.3.3" + html-to-text "9.0.5" react-promise-suspense "0.3.4" "@react-email/row@0.0.12": @@ -3477,9 +3457,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" @@ -3508,10 +3488,10 @@ resolved "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.4.1.tgz" integrity sha512-kV0Pf33HnthuBOVdYNani21kYyj118Fn+9757bxqoksiXoZlYvBsFq6giNdCsKcTIE1eAMqNDq3xE1VQ0cfsHA== dependencies: - "@lukeed/uuid" "^2.0.0" - "@segment/analytics-generic-utils" "1.1.1" dset "^3.1.2" tslib "^2.4.1" + "@lukeed/uuid" "^2.0.0" + "@segment/analytics-generic-utils" "1.1.1" "@segment/analytics-generic-utils@1.1.1": version "1.1.1" @@ -3525,12 +3505,12 @@ resolved "https://registry.npmjs.org/@segment/analytics-node/-/analytics-node-1.3.0.tgz" integrity sha512-lRLz1WZaDokMoUe299yP5JkInc3OgJuqNNlxb6j0q22umCiq6b5iDo2gRmFn93reirIvJxWIicQsGrHd93q8GQ== dependencies: + tslib "^2.4.1" + buffer "^6.0.3" + node-fetch "^2.6.7" "@lukeed/uuid" "^2.0.0" "@segment/analytics-core" "1.4.1" "@segment/analytics-generic-utils" "1.1.1" - buffer "^6.0.3" - node-fetch "^2.6.7" - tslib "^2.4.1" "@selderee/plugin-htmlparser2@^0.11.0": version "0.11.0" @@ -3540,12 +3520,12 @@ domhandler "^5.0.3" selderee "^0.11.0" -"@simplewebauthn/browser@^13.0.0", "@simplewebauthn/browser@^9.0.1": +"@simplewebauthn/browser@^13.0.0": version "13.1.0" resolved "https://registry.npmjs.org/@simplewebauthn/browser/-/browser-13.1.0.tgz" integrity sha512-WuHZ/PYvyPJ9nxSzgHtOEjogBhwJfC8xzYkPC+rR/+8chl/ft4ngjiK8kSU5HtRJfczupyOh33b25TjYbvwAcg== -"@simplewebauthn/server@^13.0.0", "@simplewebauthn/server@^9.0.2": +"@simplewebauthn/server@^13.0.0": version "13.1.1" resolved "https://registry.npmjs.org/@simplewebauthn/server/-/server-13.1.1.tgz" integrity sha512-1hsLpRHfSuMB9ee2aAdh0Htza/X3f4djhYISrggqGe3xopNjOcePiSDkDDoPzDYaaMCrbqGP1H2TYU7bgL9PmA== @@ -3563,20 +3543,20 @@ resolved "https://registry.npmjs.org/@slack/bolt/-/bolt-3.22.0.tgz" integrity sha512-iKDqGPEJDnrVwxSVlFW6OKTkijd7s4qLBeSufoBsTM0reTyfdp/5izIQVkxNfzjHi3o6qjdYbRXkYad5HBsBog== dependencies: - "@slack/logger" "^4.0.0" + axios "^1.7.4" + tsscmp "^1.0.6" + express "^4.21.0" + raw-body "^2.3.3" "@slack/oauth" "^2.6.3" - "@slack/socket-mode" "^1.3.6" "@slack/types" "^2.13.0" + "@slack/logger" "^4.0.0" + "@types/tsscmp" "^1.0.0" "@slack/web-api" "^6.13.0" "@types/express" "^4.16.1" - "@types/promise.allsettled" "^1.0.3" - "@types/tsscmp" "^1.0.0" - axios "^1.7.4" - express "^4.21.0" path-to-regexp "^8.1.0" + "@slack/socket-mode" "^1.3.6" promise.allsettled "^1.0.2" - raw-body "^2.3.3" - tsscmp "^1.0.6" + "@types/promise.allsettled" "^1.0.3" "@slack/logger@^3.0.0": version "3.0.0" @@ -3597,25 +3577,25 @@ resolved "https://registry.npmjs.org/@slack/oauth/-/oauth-2.6.3.tgz" integrity sha512-1amXs6xRkJpoH6zSgjVPgGEJXCibKNff9WNDijcejIuVy1HFAl1adh7lehaGNiHhTWfQkfKxBiF+BGn56kvoFw== dependencies: - "@slack/logger" "^3.0.0" - "@slack/web-api" "^6.12.1" - "@types/jsonwebtoken" "^8.3.7" "@types/node" ">=12" jsonwebtoken "^9.0.0" + "@slack/logger" "^3.0.0" + "@slack/web-api" "^6.12.1" lodash.isstring "^4.0.1" + "@types/jsonwebtoken" "^8.3.7" "@slack/socket-mode@^1.3.6": version "1.3.6" resolved "https://registry.npmjs.org/@slack/socket-mode/-/socket-mode-1.3.6.tgz" integrity sha512-G+im7OP7jVqHhiNSdHgv2VVrnN5U7KY845/5EZimZkrD4ZmtV0P3BiWkgeJhPtdLuM7C7i6+M6h6Bh+S4OOalA== dependencies: - "@slack/logger" "^3.0.0" - "@slack/web-api" "^6.12.1" - "@types/node" ">=12.0.0" + ws "^7.5.3" + finity "^0.5.4" "@types/ws" "^7.4.7" + "@types/node" ">=12.0.0" + "@slack/logger" "^3.0.0" eventemitter3 "^5" - finity "^0.5.4" - ws "^7.5.3" + "@slack/web-api" "^6.12.1" "@slack/types@^2.11.0", "@slack/types@^2.13.0", "@slack/types@^2.9.0": version "2.14.0" @@ -3627,35 +3607,35 @@ resolved "https://registry.npmjs.org/@slack/web-api/-/web-api-6.13.0.tgz" integrity sha512-dv65crIgdh9ZYHrevLU6XFHTQwTyDmNqEqzuIrV+Vqe/vgiG6w37oex5ePDU1RGm2IJ90H8iOvHFvzdEO/vB+g== dependencies: - "@slack/logger" "^3.0.0" - "@slack/types" "^2.11.0" - "@types/is-stream" "^1.1.0" - "@types/node" ">=12.0.0" axios "^1.7.4" - eventemitter3 "^3.1.0" - form-data "^2.5.0" - is-electron "2.2.2" - is-stream "^1.1.0" p-queue "^6.6.1" p-retry "^4.0.0" + form-data "^2.5.0" + is-stream "^1.1.0" + "@types/node" ">=12.0.0" + is-electron "2.2.2" + "@slack/types" "^2.11.0" + "@slack/logger" "^3.0.0" + eventemitter3 "^3.1.0" + "@types/is-stream" "^1.1.0" "@slack/web-api@^7.8.0": version "7.8.0" resolved "https://registry.npmjs.org/@slack/web-api/-/web-api-7.8.0.tgz" integrity sha512-d4SdG+6UmGdzWw38a4sN3lF/nTEzsDxhzU13wm10ejOpPehtmRoqBKnPztQUfFiWbNvSb4czkWYJD4kt+5+Fuw== dependencies: - "@slack/logger" "^4.0.0" - "@slack/types" "^2.9.0" - "@types/node" ">=18.0.0" - "@types/retry" "0.12.0" axios "^1.7.8" - eventemitter3 "^5.0.1" - form-data "^4.0.0" - is-electron "2.2.2" - is-stream "^2" + retry "^0.13.1" p-queue "^6" p-retry "^4" - retry "^0.13.1" + form-data "^4.0.0" + is-stream "^2" + "@types/node" ">=18.0.0" + is-electron "2.2.2" + "@slack/types" "^2.9.0" + "@types/retry" "0.12.0" + "@slack/logger" "^4.0.0" + eventemitter3 "^5.0.1" "@smithy/abort-controller@^4.0.1": version "4.0.1" @@ -3677,8 +3657,8 @@ resolved "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-4.0.0.tgz" integrity sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig== dependencies: - "@smithy/util-base64" "^4.0.0" tslib "^2.6.2" + "@smithy/util-base64" "^4.0.0" "@smithy/config-resolver@^4.0.1": version "4.0.1" @@ -4003,9 +3983,9 @@ resolved "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.0.0.tgz" integrity sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg== dependencies: - "@smithy/util-buffer-from" "^4.0.0" - "@smithy/util-utf8" "^4.0.0" tslib "^2.6.2" + "@smithy/util-utf8" "^4.0.0" + "@smithy/util-buffer-from" "^4.0.0" "@smithy/util-body-length-browser@^4.0.0": version "4.0.0" @@ -4026,16 +4006,16 @@ resolved "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz" integrity sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== dependencies: - "@smithy/is-array-buffer" "^2.2.0" tslib "^2.6.2" + "@smithy/is-array-buffer" "^2.2.0" "@smithy/util-buffer-from@^4.0.0": version "4.0.0" resolved "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.0.0.tgz" integrity sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug== dependencies: - "@smithy/is-array-buffer" "^4.0.0" tslib "^2.6.2" + "@smithy/is-array-buffer" "^4.0.0" "@smithy/util-config-provider@^4.0.0": version "4.0.0" @@ -4127,16 +4107,16 @@ resolved "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz" integrity sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A== dependencies: - "@smithy/util-buffer-from" "^2.2.0" tslib "^2.6.2" + "@smithy/util-buffer-from" "^2.2.0" "@smithy/util-utf8@^4.0.0": version "4.0.0" resolved "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz" integrity sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow== dependencies: - "@smithy/util-buffer-from" "^4.0.0" tslib "^2.6.2" + "@smithy/util-buffer-from" "^4.0.0" "@smithy/util-waiter@^4.0.2": version "4.0.2" @@ -4217,9 +4197,9 @@ resolved "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.16.tgz" integrity sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA== dependencies: + lodash.merge "^4.6.2" lodash.castarray "^4.4.0" lodash.isplainobject "^4.0.6" - lodash.merge "^4.6.2" postcss-selector-parser "6.0.10" "@tanstack/query-core@^4.15.1": @@ -4227,17 +4207,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" @@ -4447,62 +4427,62 @@ resolved "https://registry.npmjs.org/@tiptap/pm/-/pm-2.11.5.tgz" integrity sha512-z9JFtqc5ZOsdQLd9vRnXfTCQ8v5ADAfRt9Nm7SqP6FUHII8E1hs38ACzf5xursmth/VonJYb5+73Pqxk1hGIPw== dependencies: - prosemirror-changeset "^2.2.1" + prosemirror-menu "^1.2.4" + prosemirror-view "^1.37.0" + prosemirror-model "^1.23.0" + prosemirror-state "^1.4.3" prosemirror-collab "^1.3.1" + prosemirror-keymap "^1.2.2" + prosemirror-tables "^1.6.3" + prosemirror-history "^1.4.1" prosemirror-commands "^1.6.2" - prosemirror-dropcursor "^1.8.1" + prosemirror-markdown "^1.13.1" + prosemirror-changeset "^2.2.1" prosemirror-gapcursor "^1.3.2" - prosemirror-history "^1.4.1" + prosemirror-transform "^1.10.2" + prosemirror-dropcursor "^1.8.1" prosemirror-inputrules "^1.4.0" - prosemirror-keymap "^1.2.2" - prosemirror-markdown "^1.13.1" - prosemirror-menu "^1.2.4" - prosemirror-model "^1.23.0" - prosemirror-schema-basic "^1.2.3" prosemirror-schema-list "^1.4.1" - prosemirror-state "^1.4.3" - prosemirror-tables "^1.6.3" + prosemirror-schema-basic "^1.2.3" prosemirror-trailing-node "^3.0.0" - prosemirror-transform "^1.10.2" - prosemirror-view "^1.37.0" "@tiptap/react@^2.11.2", "@tiptap/react@^2.11.5", "@tiptap/react@^2.9.1": version "2.11.5" resolved "https://registry.npmjs.org/@tiptap/react/-/react-2.11.5.tgz" integrity sha512-Dp8eHL1G+R/C4+QzAczyb3t1ovexEIZx9ln7SGEM+cT1KHKAw9XGPRgsp92+NQaYI+EdEb/YqoBOSzQcd18/OQ== dependencies: - "@tiptap/extension-bubble-menu" "^2.11.5" - "@tiptap/extension-floating-menu" "^2.11.5" - "@types/use-sync-external-store" "^0.0.6" fast-deep-equal "^3" use-sync-external-store "^1" + "@tiptap/extension-bubble-menu" "^2.11.5" + "@types/use-sync-external-store" "^0.0.6" + "@tiptap/extension-floating-menu" "^2.11.5" "@tiptap/starter-kit@^2.11.2", "@tiptap/starter-kit@^2.11.5", "@tiptap/starter-kit@^2.9.1": version "2.11.5" resolved "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.11.5.tgz" integrity sha512-SLI7Aj2ruU1t//6Mk8f+fqW+18uTqpdfLUJYgwu0CkqBckrkRZYZh6GVLk/02k3H2ki7QkFxiFbZrdbZdng0JA== dependencies: + "@tiptap/pm" "^2.11.5" "@tiptap/core" "^2.11.5" - "@tiptap/extension-blockquote" "^2.11.5" "@tiptap/extension-bold" "^2.11.5" - "@tiptap/extension-bullet-list" "^2.11.5" "@tiptap/extension-code" "^2.11.5" - "@tiptap/extension-code-block" "^2.11.5" - "@tiptap/extension-document" "^2.11.5" - "@tiptap/extension-dropcursor" "^2.11.5" - "@tiptap/extension-gapcursor" "^2.11.5" - "@tiptap/extension-hard-break" "^2.11.5" + "@tiptap/extension-text" "^2.11.5" + "@tiptap/extension-italic" "^2.11.5" + "@tiptap/extension-strike" "^2.11.5" "@tiptap/extension-heading" "^2.11.5" "@tiptap/extension-history" "^2.11.5" - "@tiptap/extension-horizontal-rule" "^2.11.5" - "@tiptap/extension-italic" "^2.11.5" + "@tiptap/extension-document" "^2.11.5" + "@tiptap/extension-gapcursor" "^2.11.5" "@tiptap/extension-list-item" "^2.11.5" - "@tiptap/extension-ordered-list" "^2.11.5" "@tiptap/extension-paragraph" "^2.11.5" - "@tiptap/extension-strike" "^2.11.5" - "@tiptap/extension-text" "^2.11.5" + "@tiptap/extension-blockquote" "^2.11.5" + "@tiptap/extension-code-block" "^2.11.5" + "@tiptap/extension-dropcursor" "^2.11.5" + "@tiptap/extension-hard-break" "^2.11.5" "@tiptap/extension-text-style" "^2.11.5" - "@tiptap/pm" "^2.11.5" + "@tiptap/extension-bullet-list" "^2.11.5" + "@tiptap/extension-ordered-list" "^2.11.5" + "@tiptap/extension-horizontal-rule" "^2.11.5" "@tiptap/suggestion@^2.11.2": version "2.11.5" @@ -4529,32 +4509,32 @@ resolved "https://registry.npmjs.org/@trigger.dev/core/-/core-3.3.13.tgz" integrity sha512-3VU4YMS+RVCkfVXeUKSWlkVszgFK44tIknR9sHLYgetI714L3tgH47XBXJ3+/ZV5Y9Vvv6O6pRIuV7EEhzbexg== dependencies: - "@electric-sql/client" "1.0.0-beta.1" - "@google-cloud/precise-date" "^4.0.0" - "@jsonhero/path" "^1.0.21" - "@opentelemetry/api" "1.9.0" - "@opentelemetry/api-logs" "0.52.1" - "@opentelemetry/exporter-logs-otlp-http" "0.52.1" - "@opentelemetry/exporter-trace-otlp-http" "0.52.1" - "@opentelemetry/instrumentation" "0.52.1" - "@opentelemetry/resources" "1.25.1" - "@opentelemetry/sdk-logs" "0.52.1" - "@opentelemetry/sdk-node" "0.52.1" - "@opentelemetry/sdk-trace-base" "1.25.1" - "@opentelemetry/sdk-trace-node" "1.25.1" - "@opentelemetry/semantic-conventions" "1.25.1" - dequal "^2.0.3" - eventsource "^3.0.5" - eventsource-parser "^3.0.0" - execa "^8.0.1" - humanize-duration "^3.27.3" + zod "3.23.8" jose "^5.4.0" + execa "^8.0.1" + dequal "^2.0.3" nanoid "^3.3.4" - socket.io-client "4.7.5" superjson "^2.2.1" - zod "3.23.8" zod-error "1.5.0" + eventsource "^3.0.5" + "@jsonhero/path" "^1.0.21" + socket.io-client "4.7.5" + humanize-duration "^3.27.3" + "@opentelemetry/api" "1.9.0" + eventsource-parser "^3.0.0" + "@electric-sql/client" "1.0.0-beta.1" zod-validation-error "^1.5.0" + "@opentelemetry/api-logs" "0.52.1" + "@opentelemetry/sdk-logs" "0.52.1" + "@opentelemetry/sdk-node" "0.52.1" + "@opentelemetry/resources" "1.25.1" + "@google-cloud/precise-date" "^4.0.0" + "@opentelemetry/sdk-trace-base" "1.25.1" + "@opentelemetry/sdk-trace-node" "1.25.1" + "@opentelemetry/instrumentation" "0.52.1" + "@opentelemetry/semantic-conventions" "1.25.1" + "@opentelemetry/exporter-logs-otlp-http" "0.52.1" + "@opentelemetry/exporter-trace-otlp-http" "0.52.1" "@trigger.dev/core@3.3.16", "@trigger.dev/core@^3.3.16": version "3.3.16" @@ -4601,19 +4581,19 @@ resolved "https://registry.npmjs.org/@trigger.dev/sdk/-/sdk-3.3.13.tgz" integrity sha512-iXtHMnzvzmPfBk7+whpWOElBJt6viCoA3r8xgrrrurj8oxjIVe4UvdDiB7wbUJJ44WROWEb0wVKyQut1L/FwQQ== dependencies: - "@opentelemetry/api" "1.9.0" - "@opentelemetry/api-logs" "0.52.1" - "@opentelemetry/semantic-conventions" "1.25.1" - "@trigger.dev/core" "3.3.13" - chalk "^5.2.0" - cronstrue "^2.21.0" - debug "^4.3.4" + ws "^8.11.0" evt "^2.4.13" slug "^6.0.0" - terminal-link "^3.0.0" ulid "^2.3.0" uuid "^9.0.0" - ws "^8.11.0" + chalk "^5.2.0" + debug "^4.3.4" + cronstrue "^2.21.0" + terminal-link "^3.0.0" + "@trigger.dev/core" "3.3.13" + "@opentelemetry/api" "1.9.0" + "@opentelemetry/api-logs" "0.52.1" + "@opentelemetry/semantic-conventions" "1.25.1" "@trigger.dev/sdk@3.3.16", "@trigger.dev/sdk@^3.3.15": version "3.3.16" @@ -4650,8 +4630,8 @@ resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz" integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== dependencies: - "@types/connect" "*" "@types/node" "*" + "@types/connect" "*" "@types/connect@*": version "3.4.38" @@ -4918,20 +4898,20 @@ resolved "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz" integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" "@types/qs" "*" + "@types/body-parser" "*" "@types/serve-static" "*" + "@types/express-serve-static-core" "^4.17.33" "@types/express-serve-static-core@^4.17.33": version "4.19.6" resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz" integrity sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A== dependencies: - "@types/node" "*" "@types/qs" "*" - "@types/range-parser" "*" + "@types/node" "*" "@types/send" "*" + "@types/range-parser" "*" "@types/geojson@*": version "7946.0.16" @@ -4979,8 +4959,8 @@ resolved "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz" integrity sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog== dependencies: - "@types/linkify-it" "^5" "@types/mdurl" "^2" + "@types/linkify-it" "^5" "@types/mdast@^4.0.0": version "4.0.4" @@ -5023,17 +5003,17 @@ resolved "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz" integrity sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA== dependencies: - "@types/node" "*" form-data "^4.0.0" + "@types/node" "*" "@types/pg@8.11.6": version "8.11.6" resolved "https://registry.npmjs.org/@types/pg/-/pg-8.11.6.tgz" integrity sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ== dependencies: + pg-types "^4.0.1" "@types/node" "*" pg-protocol "*" - pg-types "^4.0.1" "@types/promise.allsettled@^1.0.3": version "1.0.6" @@ -5055,17 +5035,17 @@ resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz" integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== -"@types/react@*", "@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.8" - resolved "https://registry.npmjs.org/@types/react/-/react-19.0.8.tgz" - integrity sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw== +"@types/react@*", "@types/react@>=18", "@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== dependencies: csstype "^3.0.2" -"@types/react-dom@*", "@types/react-dom@^19.0.0", "@types/react-dom@^19.0.3": - version "19.0.3" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.3.tgz" - integrity sha512-0Knk+HJiMP/qOZgMyNFamlIjw9OFCsyC2ZbigmEEyXXixgre6IQpm/4V+r3qH4GC1JPvRJKInw+on2rV6YZLeA== +"@types/react-dom@^19.0.0", "@types/react-dom@^19.0.3": + version "19.0.4" + resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.4.tgz" + integrity sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg== "@types/react-transition-group@^4.4.12": version "4.4.12" @@ -5090,11 +5070,11 @@ resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz" integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== dependencies: - "@types/http-errors" "*" "@types/node" "*" "@types/send" "*" + "@types/http-errors" "*" -"@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== @@ -5161,17 +5141,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" @@ -5204,18 +5184,18 @@ integrity sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q== dependencies: "@babel/parser" "^7.25.3" - "@vue/shared" "3.5.13" entities "^4.5.0" estree-walker "^2.0.2" source-map-js "^1.2.0" + "@vue/shared" "3.5.13" "@vue/compiler-dom@3.5.13": version "3.5.13" resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz" integrity sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA== dependencies: - "@vue/compiler-core" "3.5.13" "@vue/shared" "3.5.13" + "@vue/compiler-core" "3.5.13" "@vue/compiler-sfc@3.5.13": version "3.5.13" @@ -5223,22 +5203,22 @@ integrity sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ== dependencies: "@babel/parser" "^7.25.3" - "@vue/compiler-core" "3.5.13" - "@vue/compiler-dom" "3.5.13" - "@vue/compiler-ssr" "3.5.13" - "@vue/shared" "3.5.13" estree-walker "^2.0.2" magic-string "^0.30.11" postcss "^8.4.48" source-map-js "^1.2.0" + "@vue/compiler-core" "3.5.13" + "@vue/shared" "3.5.13" + "@vue/compiler-dom" "3.5.13" + "@vue/compiler-ssr" "3.5.13" "@vue/compiler-ssr@3.5.13": version "3.5.13" resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz" integrity sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA== dependencies: - "@vue/compiler-dom" "3.5.13" "@vue/shared" "3.5.13" + "@vue/compiler-dom" "3.5.13" "@vue/reactivity@3.5.13": version "3.5.13" @@ -5252,26 +5232,26 @@ resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz" integrity sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw== dependencies: - "@vue/reactivity" "3.5.13" "@vue/shared" "3.5.13" + "@vue/reactivity" "3.5.13" "@vue/runtime-dom@3.5.13": version "3.5.13" resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz" integrity sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog== dependencies: - "@vue/reactivity" "3.5.13" - "@vue/runtime-core" "3.5.13" - "@vue/shared" "3.5.13" csstype "^3.1.3" + "@vue/shared" "3.5.13" + "@vue/runtime-core" "3.5.13" + "@vue/reactivity" "3.5.13" "@vue/server-renderer@3.5.13": version "3.5.13" resolved "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz" integrity sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA== dependencies: - "@vue/compiler-ssr" "3.5.13" "@vue/shared" "3.5.13" + "@vue/compiler-ssr" "3.5.13" "@vue/shared@3.5.13": version "3.5.13" @@ -5340,19 +5320,19 @@ ai@^3.4.33: resolved "https://registry.npmjs.org/ai/-/ai-3.4.33.tgz" integrity sha512-plBlrVZKwPoRTmM8+D1sJac9Bq8eaa2jiZlHLZIWekKWI1yMWYZvCCEezY9ASPwRhULYDJB2VhKOBUUeg3S5JQ== dependencies: - "@ai-sdk/provider" "0.0.26" - "@ai-sdk/provider-utils" "1.0.22" + "@ai-sdk/vue" "0.0.59" + json-schema "^0.4.0" "@ai-sdk/react" "0.0.70" "@ai-sdk/solid" "0.0.54" + jsondiffpatch "0.6.0" "@ai-sdk/svelte" "0.0.57" + "@ai-sdk/provider" "0.0.26" "@ai-sdk/ui-utils" "0.0.50" - "@ai-sdk/vue" "0.0.59" + secure-json-parse "^2.7.0" "@opentelemetry/api" "1.9.0" eventsource-parser "1.1.2" - json-schema "^0.4.0" - jsondiffpatch "0.6.0" - secure-json-parse "^2.7.0" zod-to-json-schema "^3.23.3" + "@ai-sdk/provider-utils" "1.0.22" ai@^4.1.41: version "4.1.41" @@ -5371,10 +5351,10 @@ ajv@^6.12.3: resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: + uri-js "^4.2.2" fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" - uri-js "^4.2.2" + fast-json-stable-stringify "^2.0.0" ansi-escapes@^4.2.1: version "4.3.2" @@ -5427,8 +5407,8 @@ anymatch@~3.1.2: resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: - normalize-path "^3.0.0" picomatch "^2.0.4" + normalize-path "^3.0.0" aproba@^1.0.3: version "1.2.0" @@ -5607,9 +5587,9 @@ axios@^1.6.8, axios@^1.7.4, axios@^1.7.8, axios@^1.7.9: resolved "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz" integrity sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw== dependencies: - follow-redirects "^1.15.6" form-data "^4.0.0" proxy-from-env "^1.1.0" + follow-redirects "^1.15.6" axios-retry@^3.8.0: version "3.9.1" @@ -5639,7 +5619,7 @@ balanced-match@^1.0.0: resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -bare-events@*, bare-events@^2.0.0, bare-events@^2.2.0: +bare-events@^2.0.0, bare-events@^2.2.0: version "2.5.4" resolved "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz" integrity sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA== @@ -5699,28 +5679,28 @@ better-auth@^1.1.18: resolved "https://registry.npmjs.org/better-auth/-/better-auth-1.1.18.tgz" integrity sha512-cU/u7/qlSiR/OO1O53gh/bHvxyB53DE+5ZOw9DtpDI8IyIQUBqDnQ06MOwNtj8JwjXHcMFNSNd5u/W8DED0bJw== dependencies: - "@better-auth/utils" "0.2.3" - "@better-fetch/fetch" "1.1.12" - "@noble/ciphers" "^0.6.0" - "@noble/hashes" "^1.6.1" - "@simplewebauthn/browser" "^13.0.0" - "@simplewebauthn/server" "^13.0.0" - better-call "0.3.3" + zod "^3.24.1" defu "^6.1.4" jose "^5.9.6" kysely "^0.27.4" nanostores "^0.11.3" - zod "^3.24.1" + better-call "0.3.3" + "@noble/hashes" "^1.6.1" + "@noble/ciphers" "^0.6.0" + "@better-auth/utils" "0.2.3" + "@better-fetch/fetch" "1.1.12" + "@simplewebauthn/server" "^13.0.0" + "@simplewebauthn/browser" "^13.0.0" better-call@0.3.3: version "0.3.3" resolved "https://registry.npmjs.org/better-call/-/better-call-0.3.3.tgz" integrity sha512-N4lDVm0NGmFfDJ0XMQ4O83Zm/3dPlvIQdxvwvgSLSkjFX5PM4GUYSVAuxNzXN27QZMHDkrJTWUqxBrm4tPC3eA== dependencies: - "@better-fetch/fetch" "^1.1.4" + zod "^3.24.1" rou3 "^0.5.1" uncrypto "^0.1.3" - zod "^3.24.1" + "@better-fetch/fetch" "^1.1.4" binary-extensions@^2.0.0: version "2.3.0" @@ -5748,18 +5728,18 @@ body-parser@1.20.3: resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz" integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== dependencies: + qs "6.13.0" + depd "2.0.0" bytes "3.1.2" - content-type "~1.0.5" debug "2.6.9" - depd "2.0.0" + unpipe "1.0.0" destroy "1.2.0" - http-errors "2.0.0" + type-is "~1.6.18" + raw-body "2.5.2" iconv-lite "0.4.24" + http-errors "2.0.0" on-finished "2.4.1" - qs "6.13.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" + content-type "~1.0.5" bowser@^2.11.0: version "2.11.0" @@ -5834,17 +5814,17 @@ bun@^1.2.2: resolved "https://registry.npmjs.org/bun/-/bun-1.2.2.tgz" integrity sha512-RUc8uVVTw8WoASUzXaEQJR1s7mnwoHm3P871qBUIqSaoOpuwcU+bSVX151/xoqDwnyv38SjOX7yQ3oO0IeT73g== optionalDependencies: - "@oven/bun-darwin-aarch64" "1.2.2" + "@oven/bun-linux-x64" "1.2.2" "@oven/bun-darwin-x64" "1.2.2" - "@oven/bun-darwin-x64-baseline" "1.2.2" + "@oven/bun-windows-x64" "1.2.2" "@oven/bun-linux-aarch64" "1.2.2" + "@oven/bun-darwin-aarch64" "1.2.2" + "@oven/bun-linux-x64-musl" "1.2.2" "@oven/bun-linux-aarch64-musl" "1.2.2" - "@oven/bun-linux-x64" "1.2.2" "@oven/bun-linux-x64-baseline" "1.2.2" - "@oven/bun-linux-x64-musl" "1.2.2" - "@oven/bun-linux-x64-musl-baseline" "1.2.2" - "@oven/bun-windows-x64" "1.2.2" + "@oven/bun-darwin-x64-baseline" "1.2.2" "@oven/bun-windows-x64-baseline" "1.2.2" + "@oven/bun-linux-x64-musl-baseline" "1.2.2" bundle-name@^4.1.0: version "4.1.0" @@ -5897,9 +5877,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" @@ -5953,16 +5933,16 @@ chokidar@^3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - optionalDependencies: - fsevents "~2.3.2" dependencies: - anymatch "~3.1.2" braces "~3.0.2" + is-glob "~4.0.1" + anymatch "~3.1.2" + readdirp "~3.6.0" glob-parent "~5.1.2" is-binary-path "~2.1.0" - is-glob "~4.0.1" normalize-path "~3.0.0" - readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" chokidar@^4.0.1: version "4.0.3" @@ -6018,9 +5998,9 @@ cliui@^8.0.1: resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" wrap-ansi "^7.0.0" + strip-ansi "^6.0.1" + string-width "^4.2.0" clone@^1.0.2: version "1.0.4" @@ -6059,8 +6039,8 @@ color@^4.2.3: resolved "https://registry.npmjs.org/color/-/color-4.2.3.tgz" integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== dependencies: - color-convert "^2.0.1" color-string "^1.9.0" + color-convert "^2.0.1" color-convert@^2.0.1: version "2.0.1" @@ -6128,7 +6108,7 @@ commander@11.1.0: version "workspace:apps/app" resolved "workspace:apps/app" devDependencies: - "@bubba/db" "workspace:*" + "@bubba/db" "packages/db" "@trigger.dev/build" "3.3.16" "@types/node" "^22.13.2" "@types/react" "^19.0.8" @@ -6141,7 +6121,7 @@ commander@11.1.0: "@ai-sdk/provider" "^1.0.7" "@aws-sdk/s3-request-presigner" "^3.750.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" @@ -6168,7 +6148,7 @@ commander@11.1.0: crypto "^1.0.1" d3 "^7.9.0" dub "^0.46.29" - framer-motion "^11.18.2" + framer-motion "^12.4.7" geist "^1.3.1" highlight.js "^11.11.1" ky "^1.7.5" @@ -6232,8 +6212,8 @@ config-chain@^1.1.11, config-chain@^1.1.13: resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz" integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== dependencies: - ini "^1.3.4" proto-list "~1.2.1" + ini "^1.3.4" configstore@^5.0.0: version "5.0.1" @@ -6241,11 +6221,11 @@ configstore@^5.0.0: integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== dependencies: dot-prop "^5.2.0" - graceful-fs "^4.1.2" make-dir "^3.0.0" + graceful-fs "^4.1.2" + xdg-basedir "^4.0.0" unique-string "^2.0.0" write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" @@ -6311,8 +6291,8 @@ cors@~2.8.5: resolved "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz" integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== dependencies: - object-assign "^4" vary "^1" + object-assign "^4" crelt@^1.0.0: version "1.0.6" @@ -6329,9 +6309,9 @@ cross-spawn@7.0.5, cross-spawn@^7.0.0, cross-spawn@^7.0.3: resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz" integrity sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug== dependencies: + which "^2.0.1" path-key "^3.1.0" shebang-command "^2.0.0" - which "^2.0.1" crypto@^1.0.1: version "1.0.1" @@ -6980,10 +6960,10 @@ editorconfig@^1.0.4: resolved "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz" integrity sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q== dependencies: - "@one-ini/wasm" "0.1.1" + semver "^7.5.3" commander "^10.0.0" minimatch "9.0.1" - semver "^7.5.3" + "@one-ini/wasm" "0.1.1" ee-first@1.1.1: version "1.1.1" @@ -6998,9 +6978,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" @@ -7040,7 +7020,7 @@ encodeurl@~2.0.0: resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz" integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== -encoding@^0.1.0, encoding@^0.1.13: +encoding@^0.1.13: version "0.1.13" resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== @@ -7074,11 +7054,11 @@ engine.io-client@~6.5.2: resolved "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz" integrity sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ== dependencies: - "@socket.io/component-emitter" "~3.1.0" + ws "~8.17.1" debug "~4.3.1" engine.io-parser "~5.2.1" - ws "~8.17.1" xmlhttprequest-ssl "~2.0.0" + "@socket.io/component-emitter" "~3.1.0" engine.io-parser@~5.2.1: version "5.2.3" @@ -7203,34 +7183,41 @@ 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== optionalDependencies: "@esbuild/aix-ppc64" "0.19.11" + "@esbuild/linux-arm" "0.19.11" + "@esbuild/linux-x64" "0.19.11" + "@esbuild/sunos-x64" "0.19.11" + "@esbuild/win32-x64" "0.19.11" + "@esbuild/darwin-x64" "0.19.11" + "@esbuild/linux-ia32" "0.19.11" + "@esbuild/netbsd-x64" "0.19.11" + "@esbuild/win32-ia32" "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" + "@esbuild/darwin-arm64" "0.19.11" + "@esbuild/android-arm64" "0.19.11" + "@esbuild/freebsd-arm64" "0.19.11" + "@esbuild/linux-loong64" "0.19.11" + "@esbuild/linux-riscv64" "0.19.11" + "@esbuild/linux-mips64el" "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" @@ -7261,12 +7248,12 @@ escodegen@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz" integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== - optionalDependencies: - source-map "~0.6.1" dependencies: - esprima "^4.0.1" estraverse "^5.2.0" esutils "^2.0.2" + esprima "^4.0.1" + optionalDependencies: + source-map "~0.6.1" esm-env@^1.2.1: version "1.2.2" @@ -7279,9 +7266,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" @@ -7366,52 +7353,52 @@ execa@^8.0.1: resolved "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz" integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== dependencies: - cross-spawn "^7.0.3" - get-stream "^8.0.1" - human-signals "^5.0.0" + onetime "^6.0.0" is-stream "^3.0.0" + get-stream "^8.0.1" + cross-spawn "^7.0.3" + signal-exit "^4.1.0" merge-stream "^2.0.0" npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^4.1.0" + human-signals "^5.0.0" strip-final-newline "^3.0.0" -express@*, express@^4.21.0: +express@^4.21.0: version "4.21.2" resolved "https://registry.npmjs.org/express/-/express-4.21.2.tgz" integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.3" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.7.1" - cookie-signature "1.0.6" - debug "2.6.9" + qs "6.13.0" depd "2.0.0" - encodeurl "~2.0.0" - escape-html "~1.0.3" etag "~1.8.1" - finalhandler "1.3.1" + send "0.19.0" + vary "~1.1.2" + debug "2.6.9" fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.3" + cookie "0.7.1" + accepts "~1.3.8" methods "~1.1.2" - on-finished "2.4.1" + type-is "~1.6.18" parseurl "~1.3.3" - path-to-regexp "0.1.12" + statuses "2.0.1" + encodeurl "~2.0.0" proxy-addr "~2.0.7" - qs "6.13.0" - range-parser "~1.2.1" + body-parser "1.20.3" + escape-html "~1.0.3" + http-errors "2.0.0" + on-finished "2.4.1" safe-buffer "5.2.1" - send "0.19.0" + utils-merge "1.0.1" + content-type "~1.0.4" + finalhandler "1.3.1" + range-parser "~1.2.1" serve-static "1.16.2" + array-flatten "1.1.1" + path-to-regexp "0.1.12" setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" + cookie-signature "1.0.6" + merge-descriptors "1.0.3" + content-disposition "0.5.4" extend@^3.0.0, extend@~3.0.2: version "3.0.2" @@ -7438,12 +7425,12 @@ extract-zip@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz" integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== - optionalDependencies: - "@types/yauzl" "^2.9.1" dependencies: debug "^4.1.1" get-stream "^5.1.0" yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" extsprintf@1.3.0, extsprintf@^1.2.0: version "1.3.0" @@ -7482,11 +7469,11 @@ fast-glob@3.3.1: resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz" integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" merge2 "^1.3.0" micromatch "^4.0.4" + glob-parent "^5.1.2" + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" fast-glob@^3.3.2, fast-glob@^3.3.3: version "3.3.3" @@ -7512,9 +7499,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" @@ -7532,7 +7519,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== @@ -7584,12 +7571,12 @@ finalhandler@1.3.1: integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== dependencies: debug "2.6.9" + unpipe "~1.0.0" + parseurl "~1.3.3" + statuses "2.0.1" encodeurl "~2.0.0" escape-html "~1.0.3" on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" find-my-way-ts@^0.1.5: version "0.1.5" @@ -7653,8 +7640,8 @@ form-data@~2.3.2: integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== dependencies: asynckit "^0.4.0" - combined-stream "^1.0.6" mime-types "^2.1.12" + combined-stream "^1.0.6" form-data@^2.5.0: version "2.5.3" @@ -7662,10 +7649,10 @@ form-data@^2.5.0: integrity sha512-XHIrMD0NpDrNM/Ckf7XJiBbLl57KEhT3+i3yY+eWm+cqYZJQTZrKo8Y8AWKnuV5GT4scfuUGt9LzNoIx3dU1nQ== dependencies: asynckit "^0.4.0" - combined-stream "^1.0.8" - es-set-tostringtag "^2.1.0" mime-types "^2.1.35" safe-buffer "^5.2.1" + combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" form-data@^4.0.0, form-data@^4.0.1: version "4.0.2" @@ -7712,9 +7699,18 @@ framer-motion@^11.18.2: resolved "https://registry.npmjs.org/framer-motion/-/framer-motion-11.18.2.tgz" integrity sha512-5F5Och7wrvtLVElIpclDT0CBzMVg3dL22B64aZwHtsIY8RB4mXICLrkajK4G9R+ieSAGcgrLeae2SeUTg2pr6w== dependencies: + tslib "^2.4.0" motion-dom "^11.18.1" motion-utils "^11.18.1" + +framer-motion@^12.4.7: + version "12.4.7" + resolved "https://registry.npmjs.org/framer-motion/-/framer-motion-12.4.7.tgz" + integrity sha512-VhrcbtcAMXfxlrjeHPpWVu2+mkcoR31e02aNSR7OUS/hZAciKa8q6o3YN2mA1h+jjscRsSyKvX6E1CiY/7OLMw== + dependencies: tslib "^2.4.0" + motion-dom "^12.4.5" + motion-utils "^12.0.0" framework-utils@^1.1.0: version "1.1.0" @@ -7741,10 +7737,10 @@ fstream@^1.0.0, fstream@^1.0.12: resolved "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz" integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" mkdirp ">=0.5 0" rimraf "2" + inherits "~2.0.0" + graceful-fs "^4.1.2" function-bind@^1.1.2: version "1.1.2" @@ -7774,13 +7770,13 @@ gauge@~2.7.3: integrity sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg== dependencies: aproba "^1.0.3" - console-control-strings "^1.0.0" + strip-ansi "^3.0.1" + wide-align "^1.1.0" has-unicode "^2.0.0" - object-assign "^4.1.0" signal-exit "^3.0.0" string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" + object-assign "^4.1.0" + console-control-strings "^1.0.0" geist@^1.3.1: version "1.3.1" @@ -7899,11 +7895,11 @@ glob@^7.0.3, glob@^7.1.3: resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: - fs.realpath "^1.0.0" + once "^1.3.0" inflight "^1.0.4" inherits "2" minimatch "^3.1.1" - once "^1.3.0" + fs.realpath "^1.0.0" path-is-absolute "^1.0.0" glob@10.3.4: @@ -7911,23 +7907,23 @@ glob@10.3.4: resolved "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz" integrity sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ== dependencies: - foreground-child "^3.1.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" jackspeak "^2.0.3" minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-scurry "^1.10.1" + foreground-child "^3.1.0" glob@^10.3.10, glob@^10.4.2: version "10.4.5" resolved "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz" integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== dependencies: - foreground-child "^3.1.0" + minipass "^7.1.2" jackspeak "^3.1.2" minimatch "^9.0.4" - minipass "^7.1.2" - package-json-from-dist "^1.0.0" path-scurry "^1.11.1" + foreground-child "^3.1.0" + package-json-from-dist "^1.0.0" glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" @@ -7993,13 +7989,13 @@ handlebars@^4.7.7: version "4.7.8" resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz" integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== - optionalDependencies: - uglify-js "^3.1.4" dependencies: minimist "^1.2.5" neo-async "^2.6.2" source-map "^0.6.1" wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" har-schema@^2.0.0: version "2.0.0" @@ -8128,10 +8124,10 @@ htmlparser2@^8.0.2: resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz" integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.3" domutils "^3.0.1" entities "^4.4.0" + domhandler "^5.0.3" + domelementtype "^2.3.0" http-errors@2.0.0: version "2.0.0" @@ -8157,9 +8153,9 @@ http-signature@~1.2.0: resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" sshpk "^1.7.0" + jsprim "^1.2.2" + assert-plus "^1.0.0" https@^1.0.0: version "1.0.0" @@ -8210,11 +8206,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" @@ -8263,21 +8254,21 @@ inquirer@^8.2.0: resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz" integrity sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg== dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.1" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.21" - mute-stream "0.0.8" ora "^5.4.1" - run-async "^2.4.0" rxjs "^7.5.5" - string-width "^4.1.0" - strip-ansi "^6.0.0" + chalk "^4.1.1" + lodash "^4.17.21" + figures "^3.0.0" through "^2.3.6" + cli-width "^3.0.0" + run-async "^2.4.0" wrap-ansi "^6.0.1" + cli-cursor "^3.1.0" + strip-ansi "^6.0.0" + mute-stream "0.0.8" + ansi-escapes "^4.2.1" + string-width "^4.1.0" + external-editor "^3.0.3" internal-slot@^1.1.0: version "1.1.0" @@ -8303,10 +8294,10 @@ intl-messageformat@^10.5.14: resolved "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.15.tgz" integrity sha512-LRyExsEsefQSBjU2p47oAheoKz+EOJxSLDdjOaEjdriajfHsMXOmV/EhMvYSg9bAgCUHasuAC+mcUBe/95PfIg== dependencies: + tslib "2" + "@formatjs/icu-messageformat-parser" "2.11.1" "@formatjs/ecma402-abstract" "2.3.3" "@formatjs/fast-memoize" "2.2.6" - "@formatjs/icu-messageformat-parser" "2.11.1" - tslib "2" ip-address@^9.0.5: version "9.0.5" @@ -8703,19 +8694,19 @@ jackspeak@^2.0.3: version "2.3.6" resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz" integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" dependencies: "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" jackspeak@^3.1.2: version "3.4.3" resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz" integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" dependencies: "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" jiti@^1.21.6: version "1.21.7" @@ -8728,9 +8719,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" @@ -8853,10 +8844,10 @@ jsonfile@^6.1.0: version "6.1.0" resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - optionalDependencies: - graceful-fs "^4.1.6" dependencies: universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" jsonrepair@^3.11.2: version "3.12.0" @@ -8868,26 +8859,26 @@ jsonwebtoken@^9.0.0: resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz" integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== dependencies: + ms "^2.1.1" jws "^3.2.2" + semver "^7.5.4" + lodash.once "^4.0.0" lodash.includes "^4.3.0" + lodash.isnumber "^3.0.3" + lodash.isstring "^4.0.1" lodash.isboolean "^3.0.3" lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^7.5.4" jsprim@^1.2.2: version "1.4.2" resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz" integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== dependencies: - assert-plus "1.0.0" + verror "1.10.0" extsprintf "1.3.0" + assert-plus "1.0.0" json-schema "0.4.0" - verror "1.10.0" jwa@^1.4.1: version "1.4.1" @@ -8935,9 +8926,9 @@ keycon@^1.2.0: resolved "https://registry.npmjs.org/keycon/-/keycon-1.4.0.tgz" integrity sha512-p1NAIxiRMH3jYfTeXRs2uWbVJ1WpEjpi8ktzUyBJsX7/wn2qu2VRXktneBLNtKNxJmlUYxRi9gOJt1DuthXR7A== dependencies: - "@cfcs/core" "^0.0.6" "@daybrush/utils" "^1.7.1" "@scena/event-emitter" "^1.0.2" + "@cfcs/core" "^0.0.6" keycode "^2.2.0" kind-of@^3.0.2: @@ -9121,9 +9112,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" @@ -9511,13 +9502,13 @@ micromark-extension-gfm-footnote@^2.0.0: integrity sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw== dependencies: devlop "^1.0.0" - micromark-core-commonmark "^2.0.0" + micromark-util-types "^2.0.0" + micromark-util-symbol "^2.0.0" micromark-factory-space "^2.0.0" micromark-util-character "^2.0.0" - micromark-util-normalize-identifier "^2.0.0" + micromark-core-commonmark "^2.0.0" micromark-util-sanitize-uri "^2.0.0" - micromark-util-symbol "^2.0.0" - micromark-util-types "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" micromark-extension-gfm-strikethrough@^2.0.0: version "2.1.0" @@ -9651,10 +9642,10 @@ micromark-util-decode-string@^2.0.0: resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz" integrity sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ== dependencies: - decode-named-character-reference "^1.0.0" micromark-util-character "^2.0.0" micromark-util-decode-numeric-character-reference "^2.0.0" micromark-util-symbol "^2.0.0" + decode-named-character-reference "^1.0.0" micromark-util-encode@^2.0.0: version "2.0.1" @@ -9812,8 +9803,8 @@ motion@^11.18.2: resolved "https://registry.npmjs.org/motion/-/motion-11.18.2.tgz" integrity sha512-JLjvFDuFr42NFtcVoMAyC2sEjnpA8xpy6qWPyzQvCloznAyQ8FIXioxWfHiLtgYhoVpfUqSWpn1h9++skj9+Wg== dependencies: - framer-motion "^11.18.2" tslib "^2.4.0" + framer-motion "^11.18.2" motion-dom@^11.18.1: version "11.18.1" @@ -9822,11 +9813,23 @@ motion-dom@^11.18.1: dependencies: motion-utils "^11.18.1" +motion-dom@^12.4.5: + version "12.4.5" + resolved "https://registry.npmjs.org/motion-dom/-/motion-dom-12.4.5.tgz" + integrity sha512-Q2xmhuyYug1CGTo0jdsL05EQ4RhIYXlggFS/yPhQQRNzbrhjKQ1tbjThx5Plv68aX31LsUQRq4uIkuDxdO5vRQ== + dependencies: + motion-utils "^12.0.0" + motion-utils@^11.18.1: version "11.18.1" resolved "https://registry.npmjs.org/motion-utils/-/motion-utils-11.18.1.tgz" integrity sha512-49Kt+HKjtbJKLtgO/LKj9Ld+6vw9BjH5d9sc40R/kVyH8GLAXgT42M2NnuPcJNuA3s9ZfZBUcwIgpmZWGEE+hA== +motion-utils@^12.0.0: + version "12.0.0" + resolved "https://registry.npmjs.org/motion-utils/-/motion-utils-12.0.0.tgz" + integrity sha512-MNFiBKbbqnmvOjkPyOKgHUp3Q6oiokLkI1bEwm5QA28cxMZrv0CbbBGDNmhF6DIXsi1pCQBSs0dX8xjeER1tmA== + ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" @@ -9900,47 +9903,47 @@ next@15.0.4: version "15.0.4" resolved "https://registry.npmjs.org/next/-/next-15.0.4.tgz" integrity sha512-nuy8FH6M1FG0lktGotamQDCXhh5hZ19Vo0ht1AOIQWrYJLP598TIUagKtvJrfJ5AGwB/WmDqkKaKhMpVifvGPA== - optionalDependencies: - "@next/swc-darwin-arm64" "15.0.4" - "@next/swc-darwin-x64" "15.0.4" - "@next/swc-linux-arm64-gnu" "15.0.4" - "@next/swc-linux-arm64-musl" "15.0.4" - "@next/swc-linux-x64-gnu" "15.0.4" - "@next/swc-linux-x64-musl" "15.0.4" - "@next/swc-win32-arm64-msvc" "15.0.4" - "@next/swc-win32-x64-msvc" "15.0.4" - sharp "^0.33.5" dependencies: + busboy "1.6.0" + postcss "8.4.31" "@next/env" "15.0.4" + styled-jsx "5.1.6" "@swc/counter" "0.1.3" "@swc/helpers" "0.5.13" - busboy "1.6.0" caniuse-lite "^1.0.30001579" - postcss "8.4.31" - styled-jsx "5.1.6" + optionalDependencies: + sharp "^0.33.5" + "@next/swc-darwin-x64" "15.0.4" + "@next/swc-darwin-arm64" "15.0.4" + "@next/swc-linux-x64-gnu" "15.0.4" + "@next/swc-linux-x64-musl" "15.0.4" + "@next/swc-win32-x64-msvc" "15.0.4" + "@next/swc-linux-arm64-gnu" "15.0.4" + "@next/swc-linux-arm64-musl" "15.0.4" + "@next/swc-win32-arm64-msvc" "15.0.4" -next@*, next@15.1.7, "next@>= 14.0.0", next@>=12, next@>=13.2.0, next@>=14.2.0, "next@^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", "next@^13.0.0 || ^14.0.0 || ^15.0.0", "next@^14.0.0-0 || ^15.0.0-0", next@^15.1.7: +next@15.1.7, "next@>= 14.0.0", next@>=12, next@>=13.2.0, "next@^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", "next@^13.0.0 || ^14.0.0 || ^15.0.0", "next@^14.0.0-0 || ^15.0.0-0", next@^15.1.7: version "15.1.7" resolved "https://registry.npmjs.org/next/-/next-15.1.7.tgz" integrity sha512-GNeINPGS9c6OZKCvKypbL8GTsT5GhWPp4DM0fzkXJuXMilOO2EeFxuAY6JZbtk6XIl6Ws10ag3xRINDjSO5+wg== - optionalDependencies: - "@next/swc-darwin-arm64" "15.1.7" - "@next/swc-darwin-x64" "15.1.7" - "@next/swc-linux-arm64-gnu" "15.1.7" - "@next/swc-linux-arm64-musl" "15.1.7" - "@next/swc-linux-x64-gnu" "15.1.7" - "@next/swc-linux-x64-musl" "15.1.7" - "@next/swc-win32-arm64-msvc" "15.1.7" - "@next/swc-win32-x64-msvc" "15.1.7" - sharp "^0.33.5" dependencies: + busboy "1.6.0" + postcss "8.4.31" "@next/env" "15.1.7" + styled-jsx "5.1.6" "@swc/counter" "0.1.3" "@swc/helpers" "0.5.15" - busboy "1.6.0" caniuse-lite "^1.0.30001579" - postcss "8.4.31" - styled-jsx "5.1.6" + optionalDependencies: + sharp "^0.33.5" + "@next/swc-darwin-x64" "15.1.7" + "@next/swc-darwin-arm64" "15.1.7" + "@next/swc-linux-x64-gnu" "15.1.7" + "@next/swc-linux-x64-musl" "15.1.7" + "@next/swc-win32-x64-msvc" "15.1.7" + "@next/swc-linux-arm64-gnu" "15.1.7" + "@next/swc-linux-arm64-musl" "15.1.7" + "@next/swc-win32-arm64-msvc" "15.1.7" "next-auth@^5.0.0-beta.25": version "5.0.0-beta.25" @@ -9959,18 +9962,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" + use-intl "^3.26.4" negotiator "^1.0.0" - use-intl "^3.26.3" + "@formatjs/intl-localematcher" "^0.5.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" @@ -10013,18 +10016,18 @@ node-gyp@^3.0.3: resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz" integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== dependencies: - fstream "^1.0.0" + tar "^2.0.0" glob "^7.0.3" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" osenv "0" - request "^2.87.0" + which "1" + mkdirp "^0.5.0" + npmlog "0 || 1 || 2 || 3 || 4" rimraf "2" semver "~5.3.0" - tar "^2.0.0" - which "1" + fstream "^1.0.0" + request "^2.87.0" + graceful-fs "^4.1.2" node-gyp-build@^4.8.1: version "4.8.4" @@ -10087,10 +10090,10 @@ novel@^1.0.2: "@types/node" "^22.10.6" cmdk "^1.0.4" jotai "^2.11.0" - katex "^0.16.20" react-markdown "^9.0.3" react-moveable "^0.56.0" react-tweet "^3.2.1" + katex "^0.16.20" tippy.js "^6.3.7" tiptap-extension-global-drag-handle "^0.1.16" tunnel-rat "^0.1.2" @@ -10101,28 +10104,28 @@ novu@^2.6.5: integrity sha512-2aafZqW4z24Zp5y3xlhMBfNHW+4THFAsr6p47gSEPcmE5xeiaRDi/WSrNUPcY1jFlV0Bs+E0osHoJClzfkqYUQ== dependencies: "@novu/ntfr-client" "^0.0.4" - "@novu/shared" "2.6.5" "@segment/analytics-node" "^1.1.4" - "@types/cross-spawn" "6.0.0" - async-sema "3.0.1" axios "^1.6.8" chalk "4.1.2" commander "^9.0.0" configstore "^5.0.0" - cross-spawn "7.0.5" dotenv "^16.4.5" - fast-glob "3.3.1" get-port "^5.1.1" gradient-string "^2.0.0" inquirer "^8.2.0" jwt-decode "^3.1.2" open "^8.4.0" ora "^5.4.1" - picocolors "^1.0.0" - prompts "2.4.2" uuid "^9.0.0" - validate-npm-package-name "3.0.0" ws "^8.11.0" + picocolors "^1.0.0" + validate-npm-package-name "3.0.0" + prompts "2.4.2" + "@types/cross-spawn" "6.0.0" + cross-spawn "7.0.5" + fast-glob "3.3.1" + async-sema "3.0.1" + "@novu/shared" "2.6.5" npm-run-path@^5.1.0: version "5.3.0" @@ -10136,10 +10139,10 @@ npm-run-path@^5.1.0: resolved "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" gauge "~2.7.3" set-blocking "~2.0.0" + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" number-is-nan@^1.0.0: version "1.0.1" @@ -10147,9 +10150,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" @@ -10164,9 +10167,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" @@ -10259,13 +10262,13 @@ ora@5.4.1, ora@^5.4.1: dependencies: bl "^4.1.0" chalk "^4.1.0" + wcwidth "^1.0.1" cli-cursor "^3.1.0" + strip-ansi "^6.0.0" + log-symbols "^4.1.0" cli-spinners "^2.5.0" is-interactive "^1.0.0" is-unicode-supported "^0.1.0" - log-symbols "^4.1.0" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" orderedmap@^2.0.0: version "2.1.1" @@ -10287,8 +10290,8 @@ osenv@0: resolved "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== dependencies: - os-homedir "^1.0.0" os-tmpdir "^1.0.0" + os-homedir "^1.0.0" overlap-area@^1.1.0: version "1.1.0" @@ -10330,16 +10333,16 @@ p-queue@^6, p-queue@^6.6.1: resolved "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz" integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== dependencies: - eventemitter3 "^4.0.4" p-timeout "^3.2.0" + eventemitter3 "^4.0.4" p-retry@^4: version "4.6.2" resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== dependencies: - "@types/retry" "0.12.0" retry "^0.13.1" + "@types/retry" "0.12.0" p-timeout@^3.2.0: version "3.2.0" @@ -10354,9 +10357,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" @@ -10463,8 +10466,8 @@ path-scurry@^1.10.1, path-scurry@^1.11.1: resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz" integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== dependencies: - lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + lru-cache "^10.2.0" path-to-regexp@0.1.12: version "0.1.12" @@ -10534,7 +10537,7 @@ picocolors@^1.0.0, picocolors@^1.0.1, picocolors@^1.1.0, picocolors@^1.1.1: resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1, "picomatch@^3 || ^4": +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -10593,9 +10596,8 @@ plist@^3.1.0: version "workspace:apps/portal" resolved "workspace:apps/portal" devDependencies: - "@bubba/db" "workspace:*" - "@bubba/ui" "workspace:*" - devDependencies: + "@bubba/db" "packages/db" + "@bubba/ui" "packages/ui" "@types/node" "^22.13.2" "@types/react" "^19.0.8" "@types/react-dom" "^19.0.3" @@ -10623,7 +10625,7 @@ postcss@8.4.31: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@>=8.0.9, postcss@^8.0.0, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.4.21, postcss@^8.4.47, postcss@^8.4.48, postcss@^8.5.2: +postcss@^8.0.0, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.4.21, postcss@^8.4.47, postcss@^8.4.48, postcss@^8.5.2: version "8.5.2" resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz" integrity sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA== @@ -10653,8 +10655,8 @@ postcss-load-config@^4.0.2: resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz" integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== dependencies: - lilconfig "^3.0.0" yaml "^2.3.4" + lilconfig "^3.0.0" postcss-nested@^6.2.0: version "6.2.0" @@ -10712,9 +10714,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" @@ -10728,21 +10730,16 @@ posthog-node@^4.4.1, posthog-node@^4.5.2: dependencies: axios "^1.7.4" -preact@10.11.3, preact@>=10: +preact@10.11.3: version "10.11.3" 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" @@ -10783,14 +10780,16 @@ pretty-format@^3.8.0: resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz" 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== +prisma@^6.3.1: + version "6.4.0" + resolved "https://registry.npmjs.org/prisma/-/prisma-6.4.0.tgz" + integrity sha512-UxEaEo1ajnEvwT9UQRyRfq0zZ9pvOmlZ6kShY8Hgu4jxgkHo1mg85IEP8yBgFRiRBA2o2OIt1nxzcllt86D4Mw== + dependencies: + esbuild ">=0.12 <1" + esbuild-register "3.6.0" + "@prisma/engines" "6.4.0" optionalDependencies: fsevents "2.3.3" - dependencies: - "@prisma/engines" "6.3.1" prismjs@1.29.0: version "1.29.0" @@ -10871,8 +10870,8 @@ prosemirror-commands@^1.0.0, prosemirror-commands@^1.6.2: integrity sha512-0nDHH++qcf/BuPLYvmqZTUUsPJUCPBUXt0J1ErTcDIS369CTp773itzLGIgIXG4LJXOlwYCr44+Mh4ii6MP1QA== dependencies: prosemirror-model "^1.0.0" - prosemirror-state "^1.0.0" prosemirror-transform "^1.10.2" + prosemirror-state "^1.0.0" prosemirror-dropcursor@^1.8.1: version "1.8.1" @@ -10880,8 +10879,8 @@ prosemirror-dropcursor@^1.8.1: integrity sha512-M30WJdJZLyXHi3N8vxN6Zh5O8ZBbQCz0gURTfPmTIBNQ5pxrdU7A58QkNqfa98YEjSAL1HUyyU34f6Pm5xBSGw== dependencies: prosemirror-state "^1.0.0" - prosemirror-transform "^1.1.0" prosemirror-view "^1.1.0" + prosemirror-transform "^1.1.0" prosemirror-gapcursor@^1.3.2: version "1.3.2" @@ -10916,17 +10915,17 @@ prosemirror-keymap@^1.0.0, prosemirror-keymap@^1.2.2: resolved "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.2.tgz" integrity sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ== dependencies: - prosemirror-state "^1.0.0" w3c-keyname "^2.2.0" + prosemirror-state "^1.0.0" prosemirror-markdown@^1.13.1: version "1.13.1" resolved "https://registry.npmjs.org/prosemirror-markdown/-/prosemirror-markdown-1.13.1.tgz" integrity sha512-Sl+oMfMtAjWtlcZoj/5L/Q39MpEnVZ840Xo330WJWUvgyhNmLBLN7MsHn07s53nG/KImevWHSE6fEj4q/GihHw== dependencies: - "@types/markdown-it" "^14.0.0" markdown-it "^14.0.0" prosemirror-model "^1.20.0" + "@types/markdown-it" "^14.0.0" prosemirror-menu@^1.2.4: version "1.2.4" @@ -10934,9 +10933,9 @@ prosemirror-menu@^1.2.4: integrity sha512-S/bXlc0ODQup6aiBbWVsX/eM+xJgCTAfMq/nLqaO5ID/am4wS0tTCIkzwytmao7ypEtjj39i7YbJjAgO20mIqA== dependencies: crelt "^1.0.0" + prosemirror-state "^1.0.0" prosemirror-commands "^1.0.0" prosemirror-history "^1.0.0" - prosemirror-state "^1.0.0" prosemirror-model@^1.0.0, prosemirror-model@^1.19.0, prosemirror-model@^1.20.0, prosemirror-model@^1.21.0, prosemirror-model@^1.22.1, prosemirror-model@^1.23.0, prosemirror-model@^1.24.1: version "1.24.1" @@ -10958,8 +10957,8 @@ prosemirror-schema-list@^1.4.1: integrity sha512-gg1tAfH1sqpECdhIHOA/aLg2VH3ROKBWQ4m8Qp9mBKrOxQRW61zc+gMCI8nh22gnBzd1t2u1/NPLmO3nAa3ssg== dependencies: prosemirror-model "^1.0.0" - prosemirror-state "^1.0.0" prosemirror-transform "^1.7.3" + prosemirror-state "^1.0.0" prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.4.2, prosemirror-state@^1.4.3: version "1.4.3" @@ -11067,8 +11066,8 @@ pump@^3.0.0: resolved "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz" integrity sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw== dependencies: - end-of-stream "^1.1.0" once "^1.3.1" + end-of-stream "^1.1.0" punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.1: version "2.3.1" @@ -11086,8 +11085,8 @@ puppeteer-core@^24.2.0: integrity sha512-bCypUh3WXzETafv1TCFAjIUnI8BiQ/d+XvEfEXDLcIMm9CAvROqnBmbt79yBjwasoDZsgfXnUmIJU7Y27AalVQ== dependencies: "@puppeteer/browsers" "2.7.1" - chromium-bidi "1.3.0" debug "^4.4.0" + chromium-bidi "1.3.0" devtools-protocol "0.0.1402036" typed-query-selector "^2.12.0" ws "^8.18.0" @@ -11149,9 +11148,9 @@ raw-body@2.5.2, raw-body@^2.3.3: integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== dependencies: bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" unpipe "1.0.0" + iconv-lite "0.4.24" + http-errors "2.0.0" rc@1.2.8: version "1.2.8" @@ -11170,7 +11169,7 @@ react@18.2.0, react@18.x, "react@^16.8 || ^17.0 || ^18.0", react@^18.0.0, react@ dependencies: loose-envify "^1.1.0" -react@*, react@19.0.0, "react@>= 16.8 || 18.0.0", "react@>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0", "react@>= 18.0.0", "react@>= 18.2.0", react@>=16, react@>=16.6.0, react@>=16.8, "react@>=16.8.0 || ^17.0.0 || ^18", react@>=16.8.1, "react@>=16.8.6 || ^17.0.0 || ^18.0.0", react@>=17, react@>=18, "react@>=18.2.0 || ^19.0.0-0", "react@^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc", "react@^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", "react@^16.8.0 || ^17 || ^18 || ^19", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react@^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react@^16.x || ^17.x || ^18.x || ^19.0.0 || ^19.0.0-rc", "react@^17.0.0 || ^18.0.0 || ^19.0.0", "react@^17.0.2 || ^18.0.0 || ^19.0.0", "react@^18 || ^19", "react@^18 || ^19 || ^19.0.0-rc", "react@^18.0 || ^19.0", "react@^18.0 || ^19.0 || ^19.0.0-rc", "react@^18.0.0 || ^19.0.0", "react@^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react@^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0", "react@^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "react@^18.2.0 || ^19.0.0-0", react@^19.0.0: +react@*, react@19.0.0, "react@>= 16.8 || 18.0.0", "react@>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0", "react@>= 18.0.0", "react@>= 18.2.0", react@>=16, react@>=16.6.0, react@>=16.8, "react@>=16.8.0 || ^17.0.0 || ^18", react@>=16.8.1, "react@>=16.8.6 || ^17.0.0 || ^18.0.0", react@>=17, react@>=18, "react@>=18.2.0 || ^19.0.0-0", "react@^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc", "react@^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", "react@^16.8.0 || ^17 || ^18 || ^19", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react@^16.8.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react@^16.x || ^17.x || ^18.x || ^19.0.0 || ^19.0.0-rc", "react@^17.0.0 || ^18.0.0 || ^19.0.0", "react@^17.0.2 || ^18.0.0 || ^19.0.0", "react@^18 || ^19", "react@^18 || ^19 || ^19.0.0-rc", "react@^18.0 || ^19.0", "react@^18.0 || ^19.0 || ^19.0.0-rc", "react@^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0", "react@^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "react@^18.2.0 || ^19.0.0-0", react@^19.0.0: version "19.0.0" resolved "https://registry.npmjs.org/react/-/react-19.0.0.tgz" integrity sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ== @@ -11193,10 +11192,10 @@ react-dom@18.2.0, "react-dom@^16.8 || ^17.0 || ^18.0", react-dom@^18.0.0: resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== dependencies: - loose-envify "^1.1.0" scheduler "^0.23.0" + loose-envify "^1.1.0" -react-dom@19.0.0, "react-dom@>= 18.0.0", "react-dom@>= 18.2.0", react-dom@>=16, react-dom@>=16.6.0, react-dom@>=16.8, react-dom@>=16.8.1, "react-dom@>=16.8.6 || ^17.0.0 || ^18.0.0", react-dom@>=17, react-dom@>=18.0.0, "react-dom@^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react-dom@^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^18 || ^19 || ^19.0.0-rc", "react-dom@^18.0.0 || ^19.0.0", "react-dom@^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react-dom@^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0", "react-dom@^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", react-dom@^19.0.0: +react-dom@19.0.0, "react-dom@>= 18.0.0", "react-dom@>= 18.2.0", react-dom@>=16, react-dom@>=16.6.0, react-dom@>=16.8, react-dom@>=16.8.1, "react-dom@>=16.8.6 || ^17.0.0 || ^18.0.0", react-dom@>=18.0.0, "react-dom@^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react-dom@^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^18 || ^19 || ^19.0.0-rc", "react-dom@^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0", "react-dom@^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", react-dom@^19.0.0: version "19.0.0" resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz" integrity sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ== @@ -11208,29 +11207,29 @@ react-dropzone@^14.3.5: resolved "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.3.5.tgz" integrity sha512-9nDUaEEpqZLOz5v5SUcFA0CjM4vq8YbqO0WRls+EYT7+DvxUdzDPKNCPLqGfj3YL9MsniCLCD4RFA6M95V6KMQ== dependencies: + prop-types "^15.8.1" attr-accept "^2.2.4" file-selector "^2.1.0" - prop-types "^15.8.1" react-email@1.x, react-email@3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/react-email/-/react-email-3.0.4.tgz" integrity sha512-nXdo9P3V+qYSW6m5yN3XpFGhHb/bflX86m0EDQEqDIgayprj6InmBJoBnMSIyC5EP4tPtoAljlclJns4lJG/MQ== dependencies: - "@babel/core" "7.24.5" - "@babel/parser" "7.24.5" + ora "5.4.1" + glob "10.3.4" + next "15.0.4" chalk "4.1.2" + esbuild "0.19.11" chokidar "^4.0.1" - commander "11.1.0" debounce "2.0.0" - esbuild "0.19.11" - glob "10.3.4" - log-symbols "4.1.0" + commander "11.1.0" + socket.io "4.8.0" mime-types "2.1.35" - next "15.0.4" + "@babel/core" "7.24.5" + log-symbols "4.1.0" + "@babel/parser" "7.24.5" normalize-path "3.0.0" - ora "5.4.1" - socket.io "4.8.0" react-hook-form@^7.0.0, react-hook-form@^7.54.2: version "7.54.2" @@ -11324,11 +11323,11 @@ react-remove-scroll@2.5.4: resolved "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.4.tgz" integrity sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA== dependencies: - react-remove-scroll-bar "^2.3.3" - react-style-singleton "^2.2.1" tslib "^2.1.0" - use-callback-ref "^1.3.0" use-sidecar "^1.1.2" + use-callback-ref "^1.3.0" + react-style-singleton "^2.2.1" + react-remove-scroll-bar "^2.3.3" react-remove-scroll@^2.6.3: version "2.6.3" @@ -11375,8 +11374,8 @@ react-style-singleton@^2.2.1, react-style-singleton@^2.2.2, react-style-singleto resolved "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz" integrity sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ== dependencies: - get-nonce "^1.0.0" tslib "^2.0.0" + get-nonce "^1.0.0" react-textarea-autosize@^8.5.7: version "8.5.7" @@ -11428,13 +11427,13 @@ readable-stream@^2.0.6: resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" isarray "~1.0.0" - process-nextick-args "~2.0.0" + inherits "~2.0.3" safe-buffer "~5.1.1" + core-util-is "~1.0.0" string_decoder "~1.1.1" util-deprecate "~1.0.1" + process-nextick-args "~2.0.0" readable-stream@^3.4.0: version "3.6.2" @@ -11474,10 +11473,10 @@ recharts@^2.12.7: integrity sha512-v8PUTUlyiDe56qUj82w/EDVuzEFXwEHp9/xOowGAZwfLjB9uAy3GllQVIYMWF6nU+qibx85WF75zD7AjqoT54Q== dependencies: clsx "^2.0.0" - eventemitter3 "^4.0.1" lodash "^4.17.21" react-is "^18.3.1" react-smooth "^4.0.4" + eventemitter3 "^4.0.1" recharts-scale "^0.4.4" tiny-invariant "^1.3.1" victory-vendor "^36.6.8" @@ -11581,26 +11580,26 @@ request@^2.87.0: resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== dependencies: - aws-sign2 "~0.7.0" + qs "~6.5.2" aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" + uuid "^3.3.2" extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" + caseless "~0.12.0" isstream "~0.1.2" - json-stringify-safe "~5.0.1" + aws-sign2 "~0.7.0" + form-data "~2.3.2" mime-types "~2.1.19" oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" safe-buffer "^5.1.2" tough-cookie "~2.5.0" tunnel-agent "^0.6.0" - uuid "^3.3.2" + forever-agent "~0.6.1" + har-validator "~5.1.3" + is-typedarray "~1.0.0" + http-signature "~1.2.0" + combined-stream "~1.0.6" + performance-now "^2.1.0" + json-stringify-safe "~5.0.1" require-directory@^2.1.1: version "2.1.1" @@ -11848,19 +11847,19 @@ send@0.19.0: resolved "https://registry.npmjs.org/send/-/send-0.19.0.tgz" integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== dependencies: - debug "2.6.9" + ms "2.1.3" depd "2.0.0" + etag "~1.8.1" + mime "1.6.0" + debug "2.6.9" + fresh "0.5.2" destroy "1.2.0" + statuses "2.0.1" encodeurl "~1.0.2" escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" on-finished "2.4.1" range-parser "~1.2.1" - statuses "2.0.1" seroval@^1.0, seroval@^1.1.0: version "1.2.1" @@ -11932,30 +11931,30 @@ sharp@^0.33.5: version "0.33.5" resolved "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz" integrity sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw== + dependencies: + color "^4.2.3" + semver "^7.6.3" + detect-libc "^2.0.3" optionalDependencies: - "@img/sharp-darwin-arm64" "0.33.5" + "@img/sharp-wasm32" "0.33.5" + "@img/sharp-linux-arm" "0.33.5" + "@img/sharp-linux-x64" "0.33.5" + "@img/sharp-win32-x64" "0.33.5" "@img/sharp-darwin-x64" "0.33.5" - "@img/sharp-libvips-darwin-arm64" "1.0.4" - "@img/sharp-libvips-darwin-x64" "1.0.4" + "@img/sharp-win32-ia32" "0.33.5" + "@img/sharp-linux-arm64" "0.33.5" + "@img/sharp-linux-s390x" "0.33.5" + "@img/sharp-darwin-arm64" "0.33.5" + "@img/sharp-linuxmusl-x64" "0.33.5" + "@img/sharp-linuxmusl-arm64" "0.33.5" "@img/sharp-libvips-linux-arm" "1.0.5" + "@img/sharp-libvips-linux-x64" "1.0.4" + "@img/sharp-libvips-darwin-x64" "1.0.4" "@img/sharp-libvips-linux-arm64" "1.0.4" "@img/sharp-libvips-linux-s390x" "1.0.4" - "@img/sharp-libvips-linux-x64" "1.0.4" - "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" + "@img/sharp-libvips-darwin-arm64" "1.0.4" "@img/sharp-libvips-linuxmusl-x64" "1.0.4" - "@img/sharp-linux-arm" "0.33.5" - "@img/sharp-linux-arm64" "0.33.5" - "@img/sharp-linux-s390x" "0.33.5" - "@img/sharp-linux-x64" "0.33.5" - "@img/sharp-linuxmusl-arm64" "0.33.5" - "@img/sharp-linuxmusl-x64" "0.33.5" - "@img/sharp-wasm32" "0.33.5" - "@img/sharp-win32-ia32" "0.33.5" - "@img/sharp-win32-x64" "0.33.5" - dependencies: - color "^4.2.3" - detect-libc "^2.0.3" - semver "^7.6.3" + "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" shebang-command@^2.0.0: version "2.0.0" @@ -12029,9 +12028,9 @@ simple-git@^3.27.0: resolved "https://registry.npmjs.org/simple-git/-/simple-git-3.27.0.tgz" integrity sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA== dependencies: + debug "^4.3.5" "@kwsites/file-exists" "^1.1.1" "@kwsites/promise-deferred" "^1.1.1" - debug "^4.3.5" simple-swizzle@^0.2.2: version "0.2.2" @@ -12060,13 +12059,13 @@ socket.io@4.8.0: resolved "https://registry.npmjs.org/socket.io/-/socket.io-4.8.0.tgz" integrity sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA== dependencies: - accepts "~1.3.4" - base64id "~2.0.0" cors "~2.8.5" debug "~4.3.2" + accepts "~1.3.4" + base64id "~2.0.0" engine.io "~6.6.0" - socket.io-adapter "~2.5.2" socket.io-parser "~4.2.4" + socket.io-adapter "~2.5.2" socket.io-adapter@~2.5.2: version "2.5.5" @@ -12081,28 +12080,28 @@ socket.io-client@4.7.2: resolved "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.2.tgz" integrity sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w== dependencies: - "@socket.io/component-emitter" "~3.1.0" debug "~4.3.2" engine.io-client "~6.5.2" socket.io-parser "~4.2.4" + "@socket.io/component-emitter" "~3.1.0" socket.io-client@4.7.5: version "4.7.5" resolved "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz" integrity sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ== dependencies: - "@socket.io/component-emitter" "~3.1.0" debug "~4.3.2" engine.io-client "~6.5.2" socket.io-parser "~4.2.4" + "@socket.io/component-emitter" "~3.1.0" socket.io-parser@~4.2.4: version "4.2.4" resolved "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz" integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== dependencies: - "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" + "@socket.io/component-emitter" "~3.1.0" socks@^2.8.3: version "2.8.4" @@ -12126,7 +12125,7 @@ solid-floating-ui@^0.3.1: resolved "https://registry.npmjs.org/solid-floating-ui/-/solid-floating-ui-0.3.1.tgz" integrity sha512-o/QmGsWPS2Z3KidAxP0nDvN7alI7Kqy0kU+wd85Fz+au5SYcnYm7I6Fk3M60Za35azsPX0U+5fEtqfOuk6Ao0Q== -solid-js@^1.6.12, solid-js@^1.7.7, solid-js@^1.8, solid-js@^1.8.11: +solid-js@^1.6.12, solid-js@^1.8, solid-js@^1.8.11: version "1.9.4" resolved "https://registry.npmjs.org/solid-js/-/solid-js-1.9.4.tgz" integrity sha512-ipQl8FJ31bFUoBNScDQTG3BjN6+9Rg+Q+f10bUbnO6EOTTf5NGerJeHc7wyu5I4RMHEl/WwZwUmy/PTRgxxZ8g== @@ -12188,14 +12187,14 @@ sshpk@^1.7.0: integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== dependencies: asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" + jsbn "~0.1.0" + getpass "^0.1.1" dashdash "^1.12.0" ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" tweetnacl "~0.14.0" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + safer-buffer "^2.0.2" sswr@^2.1.0: version "2.1.0" @@ -12226,38 +12225,38 @@ streamx@^2.15.0, streamx@^2.21.0: version "2.22.0" resolved "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz" integrity sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw== - optionalDependencies: - bare-events "^2.2.0" dependencies: fast-fifo "^1.3.2" text-decoder "^1.1.0" + optionalDependencies: + bare-events "^2.2.0" string-width@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== dependencies: + strip-ansi "^3.0.0" code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3, "string-width@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: + strip-ansi "^6.0.1" emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" strip-ansi "^7.0.1" + emoji-regex "^9.2.2" + eastasianwidth "^0.2.0" string.prototype.trim@^1.2.10: version "1.2.10" @@ -12359,8 +12358,8 @@ stripe@^17.6.0: resolved "https://registry.npmjs.org/stripe/-/stripe-17.6.0.tgz" integrity sha512-+HB6+SManp0gSRB0dlPmXO+io18krlAe0uimXhhIkL/RG/VIRigkfoM3QDJPkqbuSW0XsA6uzsivNCJU1ELEDA== dependencies: - "@types/node" ">=8.1.0" qs "^6.11.0" + "@types/node" ">=8.1.0" strnum@^1.0.5: version "1.0.5" @@ -12426,10 +12425,10 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" 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== +"svelte@^4.0.0 || ^5.0.0-next.0": + 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" @@ -12487,33 +12486,33 @@ tailwind-merge@^2.4.0, tailwind-merge@^2.6.0: resolved "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.6.0.tgz" integrity sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA== -"tailwindcss@>=3.0.0 || insiders", "tailwindcss@>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1", "tailwindcss@^3.0.0 || ^4.0.0-beta.0", tailwindcss@^3.4.13, tailwindcss@^3.4.17: +"tailwindcss@>=3.0.0 || insiders", "tailwindcss@>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1", tailwindcss@^3.4.13, tailwindcss@^3.4.17: version "3.4.17" resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz" integrity sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og== dependencies: - "@alloc/quick-lru" "^5.2.0" arg "^5.0.2" - chokidar "^3.6.0" - didyoumean "^1.2.2" dlv "^1.1.3" - fast-glob "^3.3.2" - glob-parent "^6.0.2" - is-glob "^4.0.3" jiti "^1.21.6" + is-glob "^4.0.3" + postcss "^8.4.47" + resolve "^1.22.8" + sucrase "^3.35.0" + chokidar "^3.6.0" + fast-glob "^3.3.2" lilconfig "^3.1.3" + didyoumean "^1.2.2" micromatch "^4.0.8" - normalize-path "^3.0.0" - object-hash "^3.0.0" picocolors "^1.1.1" - postcss "^8.4.47" - postcss-import "^15.1.0" postcss-js "^4.0.1" - postcss-load-config "^4.0.2" + glob-parent "^6.0.2" + object-hash "^3.0.0" + normalize-path "^3.0.0" + postcss-import "^15.1.0" postcss-nested "^6.2.0" + "@alloc/quick-lru" "^5.2.0" + postcss-load-config "^4.0.2" postcss-selector-parser "^6.1.2" - resolve "^1.22.8" - sucrase "^3.35.0" tailwindcss-animate@^1.0.7: version "1.0.7" @@ -12525,20 +12524,20 @@ tar@^2.0.0: resolved "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz" integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== dependencies: - block-stream "*" fstream "^1.0.12" inherits "2" + block-stream "*" tar-fs@^3.0.8: version "3.0.8" resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.8.tgz" integrity sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg== - optionalDependencies: - bare-fs "^4.0.1" - bare-path "^3.0.0" dependencies: pump "^3.0.0" tar-stream "^3.1.5" + optionalDependencies: + bare-fs "^4.0.1" + bare-path "^3.0.0" tar-stream@^3.1.5: version "3.1.7" @@ -12609,11 +12608,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: @@ -12621,8 +12620,8 @@ tinygradient@^1.1.5: resolved "https://registry.npmjs.org/tinygradient/-/tinygradient-1.1.5.tgz" integrity sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw== dependencies: - "@types/tinycolor2" "^1.4.0" tinycolor2 "^1.0.0" + "@types/tinycolor2" "^1.4.0" tippy.js@^6.3.7: version "6.3.7" @@ -12753,11 +12752,11 @@ turbo@^2.4.2: resolved "https://registry.npmjs.org/turbo/-/turbo-2.4.2.tgz" integrity sha512-Qxi0ioQCxMRUCcHKHZkTnYH8e7XCpNfg9QiJcyfWIc+ZXeaCjzV5rCGlbQlTXMAtI8qgfP8fZADv3CFtPwqdPQ== optionalDependencies: - turbo-darwin-64 "2.4.2" - turbo-darwin-arm64 "2.4.2" turbo-linux-64 "2.4.2" - turbo-linux-arm64 "2.4.2" + turbo-darwin-64 "2.4.2" turbo-windows-64 "2.4.2" + turbo-linux-arm64 "2.4.2" + turbo-darwin-arm64 "2.4.2" turbo-windows-arm64 "2.4.2" turbo-darwin-64@2.4.2: @@ -12815,8 +12814,8 @@ type-is@~1.6.18: resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== dependencies: - media-typer "0.3.0" mime-types "~2.1.24" + media-typer "0.3.0" typed-array-buffer@^1.0.3: version "1.0.3" @@ -12875,7 +12874,7 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@*, typescript@5.7.3, typescript@>=5.0.0, typescript@>=5.1.0, typescript@>=5.7.2, typescript@^5.0.0, typescript@^5.5.4, typescript@^5.6.3, typescript@^5.7.2, typescript@^5.7.3: +typescript@5.7.3, typescript@>=5.7.2, typescript@^5.5.4, typescript@^5.6.3, typescript@^5.7.2, typescript@^5.7.3: version "5.7.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz" integrity sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw== @@ -13002,14 +13001,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: @@ -13036,13 +13035,13 @@ 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" + "@formatjs/fast-memoize" "^2.2.0" use-isomorphic-layout-effect@^1.1.1: version "1.2.0" @@ -13069,7 +13068,7 @@ use-sidecar@^1.1.2, use-sidecar@^1.1.3: detect-node-es "^1.1.0" tslib "^2.0.0" -use-sync-external-store@>=1.2.0, use-sync-external-store@^1, use-sync-external-store@^1.2.2, use-sync-external-store@^1.4.0: +use-sync-external-store@^1, use-sync-external-store@^1.2.2, use-sync-external-store@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz" integrity sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw== @@ -13128,9 +13127,9 @@ verror@1.10.0: resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== dependencies: + extsprintf "^1.2.0" assert-plus "^1.0.0" core-util-is "1.0.2" - extsprintf "^1.2.0" vfile@^6.0.0: version "6.0.3" @@ -13153,31 +13152,31 @@ victory-vendor@^36.6.8: resolved "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz" integrity sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ== dependencies: - "@types/d3-array" "^3.0.3" - "@types/d3-ease" "^3.0.0" - "@types/d3-interpolate" "^3.0.1" - "@types/d3-scale" "^4.0.2" - "@types/d3-shape" "^3.1.0" - "@types/d3-time" "^3.0.0" - "@types/d3-timer" "^3.0.0" - d3-array "^3.1.6" d3-ease "^3.0.1" - d3-interpolate "^3.0.1" + d3-time "^3.0.0" + d3-array "^3.1.6" d3-scale "^4.0.2" d3-shape "^3.1.0" - d3-time "^3.0.0" d3-timer "^3.0.1" + "@types/d3-ease" "^3.0.0" + "@types/d3-time" "^3.0.0" + d3-interpolate "^3.0.1" + "@types/d3-array" "^3.0.3" + "@types/d3-scale" "^4.0.2" + "@types/d3-shape" "^3.1.0" + "@types/d3-timer" "^3.0.0" + "@types/d3-interpolate" "^3.0.1" -vue@3.5.13, "vue@>=3.2.26 < 4", vue@^3.3.4: +vue@3.5.13, "vue@>=3.2.26 < 4": version "3.5.13" resolved "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz" integrity sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ== dependencies: + "@vue/shared" "3.5.13" + "@vue/runtime-dom" "3.5.13" "@vue/compiler-dom" "3.5.13" "@vue/compiler-sfc" "3.5.13" - "@vue/runtime-dom" "3.5.13" "@vue/server-renderer" "3.5.13" - "@vue/shared" "3.5.13" w3c-keyname@^2.2.0: version "2.2.8" @@ -13417,8 +13416,8 @@ write-file-atomic@^3.0.0: integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== dependencies: imurmurhash "^0.1.4" - is-typedarray "^1.0.0" signal-exit "^3.0.2" + is-typedarray "^1.0.0" typedarray-to-buffer "^3.1.5" ws@^7.5.3: @@ -13508,13 +13507,13 @@ yargs@^17.7.2: resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== dependencies: + y18n "^5.0.5" cliui "^8.0.1" escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" string-width "^4.2.3" - y18n "^5.0.5" yargs-parser "^21.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" yargs-parser@^21.1.1: version "21.1.1" @@ -13531,8 +13530,8 @@ yauzl@^2.10.0: resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== dependencies: - buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" + buffer-crc32 "~0.2.3" zimmerframe@^1.1.2: version "1.1.2"