diff --git a/frontend/package.json b/frontend/package.json index 4aaea961..85845aa0 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -23,18 +23,18 @@ "@langchain/core": "^0.3.3", "@nestjs/common": "^10.4.6", "@radix-ui/react-avatar": "^1.1.0", - "@radix-ui/react-dialog": "^1.1.1", + "@radix-ui/react-dialog": "^1.1.4", "@radix-ui/react-dropdown-menu": "^2.1.1", "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-label": "^2.1.0", "@radix-ui/react-popover": "^1.1.1", "@radix-ui/react-scroll-area": "^1.2.0", "@radix-ui/react-select": "^2.1.1", - "@radix-ui/react-separator": "^1.1.0", - "@radix-ui/react-slot": "^1.1.0", - "@radix-ui/react-tooltip": "^1.1.2", + "@radix-ui/react-separator": "^1.1.1", + "@radix-ui/react-slot": "^1.1.1", + "@radix-ui/react-tooltip": "^1.1.6", "@types/dom-speech-recognition": "^0.0.4", - "class-variance-authority": "^0.7.0", + "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "emoji-mart": "^5.6.0", "framer-motion": "^11.5.6", diff --git a/frontend/src/app/(main)/MainLayout.tsx b/frontend/src/app/(main)/MainLayout.tsx index 63a69798..c69fefff 100644 --- a/frontend/src/app/(main)/MainLayout.tsx +++ b/frontend/src/app/(main)/MainLayout.tsx @@ -1,15 +1,12 @@ 'use client'; import React, { useEffect, useState } from 'react'; -import { - ResizableHandle, - ResizablePanel, - ResizablePanelGroup, -} from '@/components/ui/resizable'; import { cn } from '@/lib/utils'; import { usePathname } from 'next/navigation'; -import Sidebar from '@/components/sidebar'; import { useChatList } from '../hooks/useChatList'; +import { ResizablePanel, ResizablePanelGroup } from '@/components/ui/resizable'; +import CustomSidebar from '@/components/sidebar'; +import { SidebarProvider, SidebarTrigger } from '@/components/ui/sidebar'; export default function MainLayout({ children, @@ -20,10 +17,6 @@ export default function MainLayout({ const [isMobile, setIsMobile] = useState(false); const defaultLayout = [30, 160]; const navCollapsedSize = 10; - - const pathname = usePathname(); - const currentChatId = pathname.split('/')[1] || ''; - const { chats, loading, @@ -33,6 +26,10 @@ export default function MainLayout({ refetchChats, } = useChatList(); + useEffect(() => { + document.cookie = `react-resizable-panels:collapsed=${JSON.stringify(isCollapsed)}; path=/; max-age=604800`; + }, [isCollapsed]); + useEffect(() => { const checkScreenWidth = () => { setIsMobile(window.innerWidth <= 1023); @@ -44,54 +41,66 @@ export default function MainLayout({ }; }, []); + console.log(`${isCollapsed}, ${isMobile}`); + return (
{ - document.cookie = `react-resizable-panels:layout=${JSON.stringify(sizes)}`; + document.cookie = `react-resizable-panels:layout=${JSON.stringify( + sizes + )}; path=/; max-age=604800`; }} className="h-screen items-stretch" > - { - setIsCollapsed(true); - document.cookie = `react-resizable-panels:collapsed=${JSON.stringify(true)}`; - }} - onExpand={() => { - setIsCollapsed(false); - document.cookie = `react-resizable-panels:collapsed=${JSON.stringify(false)}`; - }} - className={cn( - isCollapsed - ? 'min-w-[50px] md:min-w-[70px] transition-all duration-300 ease-in-out' - : 'hidden md:block' - )} - > - - - - - {children} - + + { + console.log(`setting collapse to T`); + setIsCollapsed(true); + }} + onExpand={() => { + console.log(`setting collapse to F`); + setIsCollapsed(false); + }} + className={cn( + 'transition-all duration-300 ease-in-out', + isCollapsed ? 'min-w-[50px] md:min-w-[70px]' : 'md:min-w-[200px]' + )} + > + {loading ? ( +
Loading...
+ ) : error ? ( +
+ Error: {error.message} +
+ ) : ( + + )} +
+ + + {children} + +
); diff --git a/frontend/src/app/(main)/layout.tsx b/frontend/src/app/(main)/layout.tsx index 8e9ec238..179c2625 100644 --- a/frontend/src/app/(main)/layout.tsx +++ b/frontend/src/app/(main)/layout.tsx @@ -1,6 +1,7 @@ import type { Metadata, Viewport } from 'next'; import { Inter } from 'next/font/google'; import MainLayout from './MainLayout'; +import { SidebarProvider } from '@/components/ui/sidebar'; const inter = Inter({ subsets: ['latin'] }); diff --git a/frontend/src/app/globals.css b/frontend/src/app/globals.css index 9b38f36f..4f880d5c 100644 --- a/frontend/src/app/globals.css +++ b/frontend/src/app/globals.css @@ -24,6 +24,14 @@ --input: 240 5.9% 90%; --ring: 8 100% 60%; --radius: 1rem; + --sidebar-background: 0 0% 98%; + --sidebar-foreground: 240 5.3% 26.1%; + --sidebar-primary: 240 5.9% 10%; + --sidebar-primary-foreground: 0 0% 98%; + --sidebar-accent: 240 4.8% 95.9%; + --sidebar-accent-foreground: 240 5.9% 10%; + --sidebar-border: 220 13% 91%; + --sidebar-ring: 217.2 91.2% 59.8%; } .dark { @@ -46,6 +54,14 @@ --border: 240 3.7% 15.9%; --input: 240 3.7% 15.9%; --ring: 8 90% 55%; + --sidebar-background: 240 5.9% 10%; + --sidebar-foreground: 240 4.8% 95.9%; + --sidebar-primary: 224.3 76.3% 48%; + --sidebar-primary-foreground: 0 0% 100%; + --sidebar-accent: 240 3.7% 15.9%; + --sidebar-accent-foreground: 240 4.8% 95.9%; + --sidebar-border: 240 3.7% 15.9%; + --sidebar-ring: 217.2 91.2% 59.8%; } } diff --git a/frontend/src/components/detail-settings.tsx b/frontend/src/components/detail-settings.tsx new file mode 100644 index 00000000..3814aeda --- /dev/null +++ b/frontend/src/components/detail-settings.tsx @@ -0,0 +1,41 @@ +import React, { useEffect } from 'react'; +import { Button } from './ui/button'; +import { + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, + DialogTrigger, +} from './ui/dialog'; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from '@/components/ui/select'; + +import { DownloadIcon, GearIcon } from '@radix-ui/react-icons'; +import PullModelForm from './pull-model-form'; +import EditUsernameForm from './edit-username-form'; + +export default function DetailSettings() { + const [isOpen, setIsOpen] = React.useState(false); + return ( + + +
+ + Settings +
+
+ + + Settings + + + +
+ ); +} diff --git a/frontend/src/components/pull-model-form.tsx b/frontend/src/components/pull-model-form.tsx index 30d9d14a..b114b913 100644 --- a/frontend/src/components/pull-model-form.tsx +++ b/frontend/src/components/pull-model-form.tsx @@ -135,6 +135,7 @@ export default function PullModelForm() { setName(e.currentTarget.value); }; + console.log('enter model'); return (
diff --git a/frontend/src/components/pull-model.tsx b/frontend/src/components/pull-model.tsx index fc41c914..e6a3b72b 100644 --- a/frontend/src/components/pull-model.tsx +++ b/frontend/src/components/pull-model.tsx @@ -20,15 +20,20 @@ import { DownloadIcon } from '@radix-ui/react-icons'; import PullModelForm from './pull-model-form'; export default function PullModel() { + const [isOpen, setIsOpen] = React.useState(false); return ( - - + +

Pull model

+ + + Specify the model you want to pull and download to your device. + Pull Model diff --git a/frontend/src/components/sidebar-item.tsx b/frontend/src/components/sidebar-item.tsx index 543068e9..5fc6d825 100644 --- a/frontend/src/components/sidebar-item.tsx +++ b/frontend/src/components/sidebar-item.tsx @@ -20,38 +20,54 @@ import { useMutation } from '@apollo/client'; import { MoreHorizontal, Trash2 } from 'lucide-react'; import Link from 'next/link'; import { useRouter } from 'next/navigation'; -import { useState } from 'react'; +import { useEffect, useState } from 'react'; import { toast } from 'sonner'; import { EventEnum } from './enum'; interface SideBarItemProps { id: string; + currentChatId: string; title: string; - isSelected: boolean; onSelect: (id: string) => void; refetchChats: () => void; } export function SideBarItem({ id, + currentChatId, title, - isSelected, onSelect, refetchChats, }: SideBarItemProps) { - const router = useRouter(); const [isDropdownOpen, setIsDropdownOpen] = useState(false); const [isDialogOpen, setIsDialogOpen] = useState(false); + const [isSelected, setIsSelected] = useState(false); + const [variant, setVariant] = useState< + 'ghost' | 'link' | 'secondary' | 'default' | 'destructive' | 'outline' + >('ghost'); + + useEffect(() => { + const selected = currentChatId === id; + setIsSelected(selected); + if (selected) { + setVariant('secondary'); // 类型安全 + } else { + setVariant('ghost'); // 类型安全 + } + refetchChats(); + console.log(`update sidebar ${currentChatId}`); + }, [currentChatId]); const [deleteChat] = useMutation(DELETE_CHAT, { onCompleted: () => { toast.success('Chat deleted successfully'); - refetchChats(); + console.log(`${id} ${isSelected}`); if (isSelected) { - window.history.pushState({}, '', '/'); + window.history.replaceState({}, '', '/'); const event = new Event(EventEnum.NEW_CHAT); window.dispatchEvent(event); } + refetchChats(); }, onError: (error) => { console.error('Error deleting chat:', error); @@ -83,14 +99,14 @@ export function SideBarItem({
@@ -103,7 +119,7 @@ export function SideBarItem({ -
-

Your chats

- {chats.length > 0 && ( -
- {chats.map((chat) => ( - - window.history.replaceState({}, '', `/?id=${chat.id}`) - } - refetchChats={onRefetch} + AI + {!isSimple && ( +
+ New chat + {(!isCollapsed || isMobile) && ( + - ))} + )}
)} -
-
-
- -
+ + + + + {loading + ? 'Loading...' + : !isSimple && + chats.map((chat) => ( + { + window.history.replaceState({}, '', `/?id=${chat.id}`); + setCurrentChatid(chat.id); + }} + refetchChats={onRefetch} + /> + ))} + + + + + + + + +
); } -export default memo(Sidebar, (prevProps, nextProps) => { +export default memo(CustomSidebar, (prevProps, nextProps) => { return ( prevProps.isCollapsed === nextProps.isCollapsed && prevProps.isMobile === nextProps.isMobile && - prevProps.currentChatId === nextProps.currentChatId && prevProps.chatListUpdated === nextProps.chatListUpdated && prevProps.loading === nextProps.loading && prevProps.error === nextProps.error && diff --git a/frontend/src/components/ui/button.tsx b/frontend/src/components/ui/button.tsx index f1fef4de..34bd2f08 100644 --- a/frontend/src/components/ui/button.tsx +++ b/frontend/src/components/ui/button.tsx @@ -5,7 +5,7 @@ import { cva, type VariantProps } from 'class-variance-authority'; import { cn } from '@/lib/utils'; const buttonVariants = cva( - 'inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50', + 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0', { variants: { variant: { @@ -16,18 +16,15 @@ const buttonVariants = cva( outline: 'border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground', secondary: - 'dark:bg-card/60 bg-accent/20 text-secondary-foreground shadow-sm hover:bg-secondary/60 hover:dark:bg-card/40', + 'bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80', ghost: 'hover:bg-accent hover:text-accent-foreground', link: 'text-primary underline-offset-4 hover:underline', - secondaryLink: - 'bg-accent/90 dark:bg-secondary/80 text-secondary-foreground shadow-sm dark:hover:bg-secondary hover:bg-accent', }, size: { - default: 'h-9 px-4 py-2', + default: 'h-9', sm: 'h-8 rounded-md px-3 text-xs', lg: 'h-10 rounded-md px-8', - icon: 'h-10 w-10', - iconSm: 'h-8 w-8', + icon: 'h-9 w-9', }, }, defaultVariants: { diff --git a/frontend/src/components/ui/input.tsx b/frontend/src/components/ui/input.tsx index 7c4a6915..6be02070 100644 --- a/frontend/src/components/ui/input.tsx +++ b/frontend/src/components/ui/input.tsx @@ -2,16 +2,13 @@ import * as React from 'react'; import { cn } from '@/lib/utils'; -export interface InputProps - extends React.InputHTMLAttributes {} - -const Input = React.forwardRef( +const Input = React.forwardRef>( ({ className, type, ...props }, ref) => { return ( - {children} Close + {children} )); diff --git a/frontend/src/components/ui/sidebar.tsx b/frontend/src/components/ui/sidebar.tsx new file mode 100644 index 00000000..202c4361 --- /dev/null +++ b/frontend/src/components/ui/sidebar.tsx @@ -0,0 +1,769 @@ +'use client'; + +import * as React from 'react'; +import { Slot } from '@radix-ui/react-slot'; +import { VariantProps, cva } from 'class-variance-authority'; +import { useIsMobile } from '@/hooks/use-mobile'; +import { cn } from '@/lib/utils'; +import { Button } from '@/components/ui/button'; +import { Input } from '@/components/ui/input'; +import { Separator } from '@/components/ui/separator'; +import { Sheet, SheetContent } from '@/components/ui/sheet'; +import { Skeleton } from '@/components/ui/skeleton'; +import { + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, +} from '@/components/ui/tooltip'; +import { ViewVerticalIcon } from '@radix-ui/react-icons'; + +const SIDEBAR_COOKIE_NAME = 'sidebar:state'; +const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7; +const SIDEBAR_WIDTH = '16rem'; +const SIDEBAR_WIDTH_MOBILE = '18rem'; +const SIDEBAR_WIDTH_ICON = '3.5rem'; +const SIDEBAR_KEYBOARD_SHORTCUT = 'b'; + +type SidebarContext = { + state: 'expanded' | 'collapsed'; + open: boolean; + setOpen: (open: boolean) => void; + openMobile: boolean; + setOpenMobile: (open: boolean) => void; + isMobile: boolean; + toggleSidebar: () => void; +}; + +const SidebarContext = React.createContext(null); + +function useSidebar() { + const context = React.useContext(SidebarContext); + if (!context) { + throw new Error('useSidebar must be used within a SidebarProvider.'); + } + + return context; +} + +const SidebarProvider = React.forwardRef< + HTMLDivElement, + React.ComponentProps<'div'> & { + defaultOpen?: boolean; + open?: boolean; + onOpenChange?: (open: boolean) => void; + } +>( + ( + { + defaultOpen = true, + open: openProp, + onOpenChange: setOpenProp, + className, + style, + children, + ...props + }, + ref + ) => { + const isMobile = useIsMobile(); + const [openMobile, setOpenMobile] = React.useState(false); + + // This is the internal state of the sidebar. + // We use openProp and setOpenProp for control from outside the component. + const [_open, _setOpen] = React.useState(defaultOpen); + const open = openProp ?? _open; + const setOpen = React.useCallback( + (value: boolean | ((value: boolean) => boolean)) => { + const openState = typeof value === 'function' ? value(open) : value; + if (setOpenProp) { + setOpenProp(openState); + } else { + _setOpen(openState); + } + + // This sets the cookie to keep the sidebar state. + document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`; + }, + [setOpenProp, open] + ); + + // Helper to toggle the sidebar. + const toggleSidebar = React.useCallback(() => { + return isMobile + ? setOpenMobile((open) => !open) + : setOpen((open) => !open); + }, [isMobile, setOpen, setOpenMobile]); + + // Adds a keyboard shortcut to toggle the sidebar. + React.useEffect(() => { + const handleKeyDown = (event: KeyboardEvent) => { + if ( + event.key === SIDEBAR_KEYBOARD_SHORTCUT && + (event.metaKey || event.ctrlKey) + ) { + event.preventDefault(); + toggleSidebar(); + } + }; + + window.addEventListener('keydown', handleKeyDown); + return () => window.removeEventListener('keydown', handleKeyDown); + }, [toggleSidebar]); + + // We add a state so that we can do data-state="expanded" or "collapsed". + // This makes it easier to style the sidebar with Tailwind classes. + const state = open ? 'expanded' : 'collapsed'; + + const contextValue = React.useMemo( + () => ({ + state, + open, + setOpen, + isMobile, + openMobile, + setOpenMobile, + toggleSidebar, + }), + [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar] + ); + + return ( + + +
+ {children} +
+
+
+ ); + } +); +SidebarProvider.displayName = 'SidebarProvider'; + +const Sidebar = React.forwardRef< + HTMLDivElement, + React.ComponentProps<'div'> & { + side?: 'left' | 'right'; + variant?: 'sidebar' | 'floating' | 'inset'; + collapsible?: 'offcanvas' | 'icon' | 'none'; + } +>( + ( + { + side = 'left', + variant = 'sidebar', + collapsible = 'offcanvas', + className, + children, + ...props + }, + ref + ) => { + const { isMobile, state, openMobile, setOpenMobile } = useSidebar(); + + if (collapsible === 'none') { + return ( +
+ {children} +
+ ); + } + + if (isMobile) { + return ( + + +
{children}
+
+
+ ); + } + + return ( +
+ {/* This is what handles the sidebar gap on desktop */} +
+ +
+ ); + } +); +Sidebar.displayName = 'Sidebar'; + +const SidebarTrigger = React.forwardRef< + React.ElementRef, + React.ComponentProps +>(({ className, onClick, ...props }, ref) => { + const { toggleSidebar } = useSidebar(); + + return ( + + ); +}); +SidebarTrigger.displayName = 'SidebarTrigger'; + +const SidebarRail = React.forwardRef< + HTMLButtonElement, + React.ComponentProps<'button'> & { + setIsSimple: React.Dispatch>; + isSimple: boolean; + } +>(({ className, setIsSimple, isSimple, ...props }, ref) => { + const { toggleSidebar } = useSidebar(); + const handleClick = (event: React.MouseEvent) => { + toggleSidebar(); // 保留原有的逻辑 + setIsSimple(!isSimple); // 更新 isSimple 状态 + }; + + return ( + - ), - [avatarFallback, displayUsername, isLoading] - ); + ); + }, [avatarFallback, displayUsername, isSimple]); return ( {avatarButton} - + e.preventDefault()}> - - - e.preventDefault()}> -
- - Settings -
-
-
- - - Settings - - - -
+ e.preventDefault()}> + + + Logout @@ -102,4 +88,5 @@ export const UserSettings = () => {
); }; + export default memo(UserSettings); diff --git a/frontend/src/hooks/use-mobile.tsx b/frontend/src/hooks/use-mobile.tsx new file mode 100644 index 00000000..6be5f6c1 --- /dev/null +++ b/frontend/src/hooks/use-mobile.tsx @@ -0,0 +1,21 @@ +import * as React from 'react'; + +const MOBILE_BREAKPOINT = 768; + +export function useIsMobile() { + const [isMobile, setIsMobile] = React.useState( + undefined + ); + + React.useEffect(() => { + const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`); + const onChange = () => { + setIsMobile(window.innerWidth < MOBILE_BREAKPOINT); + }; + mql.addEventListener('change', onChange); + setIsMobile(window.innerWidth < MOBILE_BREAKPOINT); + return () => mql.removeEventListener('change', onChange); + }, []); + + return !!isMobile; +} diff --git a/frontend/tailwind.config.ts b/frontend/tailwind.config.ts index 1b0a0aec..5e61b754 100644 --- a/frontend/tailwind.config.ts +++ b/frontend/tailwind.config.ts @@ -26,17 +26,17 @@ const config = { background: 'hsl(var(--background))', foreground: 'hsl(var(--foreground))', primary: { + '50': '#FFF5F2', + '100': '#FFE6E0', + '200': '#FFC7BA', + '300': '#FFA494', + '400': '#FF7A63', + '500': '#FF5533', + '600': '#EA3E1D', + '700': '#C52E10', + '800': '#9C230B', + '900': '#7A1C09', DEFAULT: 'hsl(var(--primary))', - 50: '#FFF5F2', - 100: '#FFE6E0', - 200: '#FFC7BA', - 300: '#FFA494', - 400: '#FF7A63', - 500: '#FF5533', - 600: '#EA3E1D', - 700: '#C52E10', - 800: '#9C230B', - 900: '#7A1C09', foreground: 'hsl(var(--primary-foreground))', }, secondary: { @@ -63,6 +63,16 @@ const config = { DEFAULT: 'hsl(var(--card))', foreground: 'hsl(var(--card-foreground))', }, + sidebar: { + DEFAULT: 'hsl(var(--sidebar-background))', + foreground: 'hsl(var(--sidebar-foreground))', + primary: 'hsl(var(--sidebar-primary))', + 'primary-foreground': 'hsl(var(--sidebar-primary-foreground))', + accent: 'hsl(var(--sidebar-accent))', + 'accent-foreground': 'hsl(var(--sidebar-accent-foreground))', + border: 'hsl(var(--sidebar-border))', + ring: 'hsl(var(--sidebar-ring))', + }, }, borderRadius: { lg: 'var(--radius)', @@ -71,12 +81,20 @@ const config = { }, keyframes: { 'accordion-down': { - from: { height: '0' }, - to: { height: 'var(--radix-accordion-content-height)' }, + from: { + height: '0', + }, + to: { + height: 'var(--radix-accordion-content-height)', + }, }, 'accordion-up': { - from: { height: 'var(--radix-accordion-content-height)' }, - to: { height: '0' }, + from: { + height: 'var(--radix-accordion-content-height)', + }, + to: { + height: '0', + }, }, }, animation: { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a3c460fd..71b5d688 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,7 +29,7 @@ importers: version: 3.4.2 turbo: specifier: ^2.2.3 - version: 2.3.3 + version: 2.3.4 backend: dependencies: @@ -41,7 +41,7 @@ importers: version: 1.0.0 '@huggingface/transformers': specifier: latest - version: 3.3.1 + version: 3.3.2 '@nestjs/apollo': specifier: ^12.2.0 version: 12.2.2(@apollo/server@4.11.3)(@nestjs/common@10.4.15)(@nestjs/core@10.4.15)(@nestjs/graphql@12.2.2)(graphql@16.10.0) @@ -125,7 +125,7 @@ importers: version: 3.0.0 openai: specifier: ^4.77.0 - version: 4.79.4(ws@8.18.0)(zod@3.24.1) + version: 4.80.0(ws@8.18.0)(zod@3.24.1) p-queue-es5: specifier: ^6.0.2 version: 6.0.2 @@ -171,7 +171,7 @@ importers: version: 29.5.14 '@types/node': specifier: ^20.16.12 - version: 20.17.14 + version: 20.17.16 '@types/supertest': specifier: ^6.0.0 version: 6.0.2 @@ -195,7 +195,7 @@ importers: version: 5.2.3(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.4.2) jest: specifier: ^29.5.0 - version: 29.7.0(@types/node@20.17.14)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.17.16)(ts-node@10.9.2) os: {specifier: ^0.1.2, version: 0.1.2} prettier: specifier: ^3.0.0 @@ -214,7 +214,7 @@ importers: version: 9.5.2(typescript@5.6.3)(webpack@5.97.1) ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.17.14)(typescript@5.6.3) + version: 10.9.2(@types/node@20.17.16)(typescript@5.6.3) ts-prune: specifier: ^0.10.3 version: 0.10.3 @@ -229,7 +229,7 @@ importers: dependencies: openai: specifier: ^4.0.0 - version: 4.79.4(ws@8.18.0)(zod@3.24.1) + version: 4.80.0(ws@8.18.0)(zod@3.24.1) devDependencies: '@nestjs/common': specifier: 10.4.15 @@ -245,7 +245,7 @@ importers: version: 4.17.14 '@types/node': specifier: ^20.0.0 - version: 20.17.14 + version: 20.17.16 '@typescript-eslint/eslint-plugin': specifier: ^6.0.0 version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.1)(typescript@5.6.3) @@ -260,7 +260,7 @@ importers: version: 11.3.0 jest: specifier: ^29.0.0 - version: 29.7.0(@types/node@20.17.14) + version: 29.7.0(@types/node@20.17.16) lodash: specifier: 4.17.21 version: 4.17.21 @@ -281,7 +281,7 @@ importers: version: 3.6.3(@mdx-js/react@3.1.0)(acorn@8.14.0)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.6.3) '@docusaurus/preset-classic': specifier: 3.6.3 - version: 3.6.3(@algolia/client-search@5.19.0)(@mdx-js/react@3.1.0)(@types/react@18.3.18)(acorn@8.14.0)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3) + version: 3.6.3(@algolia/client-search@5.20.0)(@mdx-js/react@3.1.0)(@types/react@18.3.18)(acorn@8.14.0)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3) '@mdx-js/react': specifier: ^3.0.0 version: 3.1.0(@types/react@18.3.18)(react@18.3.1) @@ -327,10 +327,10 @@ importers: version: 3.10.0(react-hook-form@7.54.2) '@langchain/community': specifier: ^0.3.1 - version: 0.3.26(@browserbasehq/stagehand@1.10.1)(@ibm-cloud/watsonx-ai@1.3.2)(@langchain/core@0.3.33)(axios@1.7.4)(ibm-cloud-sdk-core@5.1.1)(openai@4.79.4)(ws@8.18.0) + version: 0.3.26(@browserbasehq/stagehand@1.10.1)(@ibm-cloud/watsonx-ai@1.3.2)(@langchain/core@0.3.33)(axios@1.7.4)(ibm-cloud-sdk-core@5.1.1)(openai@4.80.0)(ws@8.18.0) '@langchain/core': specifier: ^0.3.3 - version: 0.3.33(openai@4.79.4) + version: 0.3.33(openai@4.80.0) '@nestjs/common': specifier: ^10.4.6 version: 10.4.15(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -338,11 +338,11 @@ importers: specifier: ^1.1.0 version: 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-dialog': - specifier: ^1.1.1 - version: 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + specifier: ^1.1.4 + version: 1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-dropdown-menu': specifier: ^2.1.1 - version: 2.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + version: 2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-icons': specifier: ^1.3.0 version: 1.3.2(react@18.3.1) @@ -351,27 +351,27 @@ importers: version: 2.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-popover': specifier: ^1.1.1 - version: 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + version: 1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-scroll-area': specifier: ^1.2.0 version: 1.2.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-select': specifier: ^2.1.1 - version: 2.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + version: 2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-separator': - specifier: ^1.1.0 + specifier: ^1.1.1 version: 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-slot': - specifier: ^1.1.0 + specifier: ^1.1.1 version: 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-tooltip': - specifier: ^1.1.2 - version: 1.1.6(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + specifier: ^1.1.6 + version: 1.1.7(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@types/dom-speech-recognition': specifier: ^0.0.4 version: 0.0.4 class-variance-authority: - specifier: ^0.7.0 + specifier: ^0.7.1 version: 0.7.1 clsx: specifier: ^2.1.1 @@ -393,7 +393,7 @@ importers: version: 0.445.0(react@18.3.1) next: specifier: ^14.2.13 - version: 14.2.23(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@18.3.1)(react@18.3.1) + version: 14.2.23(@babel/core@7.26.0)(@playwright/test@1.50.0)(react-dom@18.3.1)(react@18.3.1) next-themes: specifier: ^0.3.0 version: 0.3.0(react-dom@18.3.1)(react@18.3.1) @@ -454,7 +454,7 @@ importers: version: 1.12.16(graphql@16.10.0)(typescript@5.6.3) '@graphql-codegen/cli': specifier: ^5.0.3 - version: 5.0.3(@babel/core@7.26.0)(@parcel/watcher@2.5.0)(@types/node@22.10.7)(graphql@16.10.0)(typescript@5.6.3) + version: 5.0.3(@babel/core@7.26.0)(@parcel/watcher@2.5.0)(@types/node@22.10.10)(graphql@16.10.0)(typescript@5.6.3) '@graphql-codegen/typescript': specifier: ^4.1.0 version: 4.1.2(@babel/core@7.26.0)(graphql@16.10.0) @@ -484,7 +484,7 @@ importers: version: 29.5.14 '@types/node': specifier: ^22.5.5 - version: 22.10.7 + version: 22.10.10 '@types/react': specifier: ^18.3.8 version: 18.3.18 @@ -505,7 +505,7 @@ importers: version: 14.2.13(eslint@8.57.1)(typescript@5.6.3) jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2) + version: 29.7.0(@types/node@22.10.10)(ts-node@10.9.2) jest-environment-jsdom: specifier: ^29.7.0 version: 29.7.0 @@ -520,7 +520,7 @@ importers: version: 29.2.5(@babel/core@7.26.0)(jest@29.7.0)(typescript@5.6.3) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@22.10.7)(typescript@5.6.3) + version: 10.9.2(@types/node@22.10.10)(typescript@5.6.3) typescript: specifier: ^5.6.2 version: 5.6.3 @@ -529,7 +529,7 @@ importers: dependencies: '@huggingface/transformers': specifier: ^3.2.4 - version: 3.3.1 + version: 3.3.2 '@nestjs/common': specifier: ^10.4.5 version: 10.4.15(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -562,13 +562,13 @@ importers: version: 3.3.2 node-llama-cpp: specifier: ^3.1.1 - version: 3.4.0(typescript@5.6.3) + version: 3.4.1(typescript@5.6.3) nodemon: specifier: ^3.1.7 version: 3.1.9 p-queue: specifier: ^8.0.1 - version: 8.0.1 + version: 8.1.0 strip-json-comments: specifier: ^5.0.1 version: 5.0.1 @@ -587,7 +587,7 @@ importers: version: 29.5.14 '@types/node': specifier: ^16.11.12 - version: 16.18.124 + version: 16.18.125 '@typescript-eslint/eslint-plugin': specifier: ^8.0.0 version: 8.21.0(@typescript-eslint/parser@8.21.0)(eslint@8.57.1)(typescript@5.6.3) @@ -605,13 +605,13 @@ importers: version: 5.2.3(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.4.2) jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@16.18.124) + version: 29.7.0(@types/node@16.18.125) jest-mock: specifier: ^29.7.0 version: 29.7.0 openai: specifier: ^4.78.1 - version: 4.79.4(ws@8.18.0)(zod@3.24.1) + version: 4.80.0(ws@8.18.0)(zod@3.24.1) prettier: specifier: ^3.0.0 version: 3.4.2 @@ -662,48 +662,48 @@ packages: resolution: {integrity: sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==} dev: true - /@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3): + /@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3): resolution: {integrity: sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==} dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.20.0)(algoliasearch@5.20.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights dev: false - /@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3): + /@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3): resolution: {integrity: sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==} peerDependencies: search-insights: '>= 1 < 3' dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.20.0)(algoliasearch@5.20.0) search-insights: 2.17.3 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch dev: false - /@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0): + /@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.20.0)(algoliasearch@5.20.0): resolution: {integrity: sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) - '@algolia/client-search': 5.19.0 - algoliasearch: 5.19.0 + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.20.0)(algoliasearch@5.20.0) + '@algolia/client-search': 5.20.0 + algoliasearch: 5.20.0 dev: false - /@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0): + /@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.20.0)(algoliasearch@5.20.0): resolution: {integrity: sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/client-search': 5.19.0 - algoliasearch: 5.19.0 + '@algolia/client-search': 5.20.0 + algoliasearch: 5.20.0 dev: false /@algolia/cache-browser-local-storage@4.24.0: @@ -722,14 +722,14 @@ packages: '@algolia/cache-common': 4.24.0 dev: false - /@algolia/client-abtesting@5.19.0: - resolution: {integrity: sha512-dMHwy2+nBL0SnIsC1iHvkBao64h4z+roGelOz11cxrDBrAdASxLxmfVMop8gmodQ2yZSacX0Rzevtxa+9SqxCw==} + /@algolia/client-abtesting@5.20.0: + resolution: {integrity: sha512-YaEoNc1Xf2Yk6oCfXXkZ4+dIPLulCx8Ivqj0OsdkHWnsI3aOJChY5qsfyHhDBNSOhqn2ilgHWxSfyZrjxBcAww==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 dev: false /@algolia/client-account@4.24.0: @@ -749,14 +749,14 @@ packages: '@algolia/transporter': 4.24.0 dev: false - /@algolia/client-analytics@5.19.0: - resolution: {integrity: sha512-CDW4RwnCHzU10upPJqS6N6YwDpDHno7w6/qXT9KPbPbt8szIIzCHrva4O9KIfx1OhdsHzfGSI5hMAiOOYl4DEQ==} + /@algolia/client-analytics@5.20.0: + resolution: {integrity: sha512-CIT9ni0+5sYwqehw+t5cesjho3ugKQjPVy/iPiJvtJX4g8Cdb6je6SPt2uX72cf2ISiXCAX9U3cY0nN0efnRDw==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 dev: false /@algolia/client-common@4.24.0: @@ -766,19 +766,19 @@ packages: '@algolia/transporter': 4.24.0 dev: false - /@algolia/client-common@5.19.0: - resolution: {integrity: sha512-2ERRbICHXvtj5kfFpY5r8qu9pJII/NAHsdgUXnUitQFwPdPL7wXiupcvZJC7DSntOnE8AE0lM7oDsPhrJfj5nQ==} + /@algolia/client-common@5.20.0: + resolution: {integrity: sha512-iSTFT3IU8KNpbAHcBUJw2HUrPnMXeXLyGajmCL7gIzWOsYM4GabZDHXOFx93WGiXMti1dymz8k8R+bfHv1YZmA==} engines: {node: '>= 14.0.0'} dev: false - /@algolia/client-insights@5.19.0: - resolution: {integrity: sha512-xPOiGjo6I9mfjdJO7Y+p035aWePcbsItizIp+qVyfkfZiGgD+TbNxM12g7QhFAHIkx/mlYaocxPY/TmwPzTe+A==} + /@algolia/client-insights@5.20.0: + resolution: {integrity: sha512-w9RIojD45z1csvW1vZmAko82fqE/Dm+Ovsy2ElTsjFDB0HMAiLh2FO86hMHbEXDPz6GhHKgGNmBRiRP8dDPgJg==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 dev: false /@algolia/client-personalization@4.24.0: @@ -789,24 +789,24 @@ packages: '@algolia/transporter': 4.24.0 dev: false - /@algolia/client-personalization@5.19.0: - resolution: {integrity: sha512-B9eoce/fk8NLboGje+pMr72pw+PV7c5Z01On477heTZ7jkxoZ4X92dobeGuEQop61cJ93Gaevd1of4mBr4hu2A==} + /@algolia/client-personalization@5.20.0: + resolution: {integrity: sha512-p/hftHhrbiHaEcxubYOzqVV4gUqYWLpTwK+nl2xN3eTrSW9SNuFlAvUBFqPXSVBqc6J5XL9dNKn3y8OA1KElSQ==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 dev: false - /@algolia/client-query-suggestions@5.19.0: - resolution: {integrity: sha512-6fcP8d4S8XRDtVogrDvmSM6g5g6DndLc0pEm1GCKe9/ZkAzCmM3ZmW1wFYYPxdjMeifWy1vVEDMJK7sbE4W7MA==} + /@algolia/client-query-suggestions@5.20.0: + resolution: {integrity: sha512-m4aAuis5vZi7P4gTfiEs6YPrk/9hNTESj3gEmGFgfJw3hO2ubdS4jSId1URd6dGdt0ax2QuapXufcrN58hPUcw==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 dev: false /@algolia/client-search@4.24.0: @@ -817,28 +817,28 @@ packages: '@algolia/transporter': 4.24.0 dev: false - /@algolia/client-search@5.19.0: - resolution: {integrity: sha512-Ctg3xXD/1VtcwmkulR5+cKGOMj4r0wC49Y/KZdGQcqpydKn+e86F6l3tb3utLJQVq4lpEJud6kdRykFgcNsp8Q==} + /@algolia/client-search@5.20.0: + resolution: {integrity: sha512-KL1zWTzrlN4MSiaK1ea560iCA/UewMbS4ZsLQRPoDTWyrbDKVbztkPwwv764LAqgXk0fvkNZvJ3IelcK7DqhjQ==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 dev: false /@algolia/events@4.0.1: resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} dev: false - /@algolia/ingestion@1.19.0: - resolution: {integrity: sha512-LO7w1MDV+ZLESwfPmXkp+KLeYeFrYEgtbCZG6buWjddhYraPQ9MuQWLhLLiaMlKxZ/sZvFTcZYuyI6Jx4WBhcg==} + /@algolia/ingestion@1.20.0: + resolution: {integrity: sha512-shj2lTdzl9un4XJblrgqg54DoK6JeKFO8K8qInMu4XhE2JuB8De6PUuXAQwiRigZupbI0xq8aM0LKdc9+qiLQA==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 dev: false /@algolia/logger-common@4.24.0: @@ -851,14 +851,14 @@ packages: '@algolia/logger-common': 4.24.0 dev: false - /@algolia/monitoring@1.19.0: - resolution: {integrity: sha512-Mg4uoS0aIKeTpu6iv6O0Hj81s8UHagi5TLm9k2mLIib4vmMtX7WgIAHAcFIaqIZp5D6s5EVy1BaDOoZ7buuJHA==} + /@algolia/monitoring@1.20.0: + resolution: {integrity: sha512-aF9blPwOhKtWvkjyyXh9P5peqmhCA1XxLBRgItT+K6pbT0q4hBDQrCid+pQZJYy4HFUKjB/NDDwyzFhj/rwKhw==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 dev: false /@algolia/recommend@4.24.0: @@ -877,14 +877,14 @@ packages: '@algolia/transporter': 4.24.0 dev: false - /@algolia/recommend@5.19.0: - resolution: {integrity: sha512-PbgrMTbUPlmwfJsxjFhal4XqZO2kpBNRjemLVTkUiti4w/+kzcYO4Hg5zaBgVqPwvFDNQ8JS4SS3TBBem88u+g==} + /@algolia/recommend@5.20.0: + resolution: {integrity: sha512-T6B/WPdZR3b89/F9Vvk6QCbt/wrLAtrGoL8z4qPXDFApQ8MuTFWbleN/4rHn6APWO3ps+BUePIEbue2rY5MlRw==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-common': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 dev: false /@algolia/requester-browser-xhr@4.24.0: @@ -893,22 +893,22 @@ packages: '@algolia/requester-common': 4.24.0 dev: false - /@algolia/requester-browser-xhr@5.19.0: - resolution: {integrity: sha512-GfnhnQBT23mW/VMNs7m1qyEyZzhZz093aY2x8p0era96MMyNv8+FxGek5pjVX0b57tmSCZPf4EqNCpkGcGsmbw==} + /@algolia/requester-browser-xhr@5.20.0: + resolution: {integrity: sha512-t6//lXsq8E85JMenHrI6mhViipUT5riNhEfCcvtRsTV+KIBpC6Od18eK864dmBhoc5MubM0f+sGpKOqJIlBSCg==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-common': 5.19.0 + '@algolia/client-common': 5.20.0 dev: false /@algolia/requester-common@4.24.0: resolution: {integrity: sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==} dev: false - /@algolia/requester-fetch@5.19.0: - resolution: {integrity: sha512-oyTt8ZJ4T4fYvW5avAnuEc6Laedcme9fAFryMD9ndUTIUe/P0kn3BuGcCLFjN3FDmdrETHSFkgPPf1hGy3sLCw==} + /@algolia/requester-fetch@5.20.0: + resolution: {integrity: sha512-FHxYGqRY+6bgjKsK4aUsTAg6xMs2S21elPe4Y50GB0Y041ihvw41Vlwy2QS6K9ldoftX4JvXodbKTcmuQxywdQ==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-common': 5.19.0 + '@algolia/client-common': 5.20.0 dev: false /@algolia/requester-node-http@4.24.0: @@ -917,11 +917,11 @@ packages: '@algolia/requester-common': 4.24.0 dev: false - /@algolia/requester-node-http@5.19.0: - resolution: {integrity: sha512-p6t8ue0XZNjcRiqNkb5QAM0qQRAKsCiebZ6n9JjWA+p8fWf8BvnhO55y2fO28g3GW0Imj7PrAuyBuxq8aDVQwQ==} + /@algolia/requester-node-http@5.20.0: + resolution: {integrity: sha512-kmtQClq/w3vtPteDSPvaW9SPZL/xrIgMrxZyAgsFwrJk0vJxqyC5/hwHmrCraDnStnGSADnLpBf4SpZnwnkwWw==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-common': 5.19.0 + '@algolia/client-common': 5.20.0 dev: false /@algolia/transporter@4.24.0: @@ -992,7 +992,7 @@ packages: /@anthropic-ai/sdk@0.27.3: resolution: {integrity: sha512-IjLt0gd3L4jlOfilxVXTifn42FnVffMgDC04RJK1KDZpmkBWLv0XC92MVVmkxrFZNS/7l3xWgP/I3nqtX1sQHw==} dependencies: - '@types/node': 18.19.71 + '@types/node': 18.19.74 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 agentkeepalive: 4.6.0 @@ -1077,7 +1077,7 @@ packages: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) rehackt: 0.1.0(@types/react@18.3.18)(react@18.3.1) - response-iterator: 0.2.16 + response-iterator: 0.2.19 subscriptions-transport-ws: 0.11.0(graphql@16.10.0) symbol-observable: 4.0.0 ts-invariant: 0.10.3 @@ -2666,7 +2666,7 @@ packages: /@browserbasehq/sdk@2.0.0: resolution: {integrity: sha512-BdPlZyn0dpXlL70gNK4acpqWIRB+edo2z0/GalQdWghRq8iQjySd9fVIF3evKH1p2wCYekZJRK6tm29YfXB67g==} dependencies: - '@types/node': 18.19.71 + '@types/node': 18.19.74 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 agentkeepalive: 4.6.0 @@ -2677,7 +2677,7 @@ packages: - encoding dev: false - /@browserbasehq/stagehand@1.10.1(@playwright/test@1.49.1)(deepmerge@4.3.1)(dotenv@16.4.7)(openai@4.79.4)(zod@3.24.1): + /@browserbasehq/stagehand@1.10.1(@playwright/test@1.50.0)(deepmerge@4.3.1)(dotenv@16.4.7)(openai@4.80.0)(zod@3.24.1): resolution: {integrity: sha512-A222TCseFvKNvBwav7ZrZmug0JnYvy1vFI1ReNOtcymjhrZQLfklq1gm/luUjr8aRTbTzsUV8iclt5r0kyaXbA==} peerDependencies: '@playwright/test': ^1.42.1 @@ -2688,10 +2688,10 @@ packages: dependencies: '@anthropic-ai/sdk': 0.27.3 '@browserbasehq/sdk': 2.0.0 - '@playwright/test': 1.49.1 + '@playwright/test': 1.50.0 deepmerge: 4.3.1 dotenv: 16.4.7 - openai: 4.79.4(ws@8.18.0)(zod@3.24.1) + openai: 4.80.0(ws@8.18.0)(zod@3.24.1) sharp: 0.33.5 ws: 8.18.0 zod: 3.24.1 @@ -3188,7 +3188,7 @@ packages: resolution: {integrity: sha512-1nELpMV40JDLJ6rpVVFX48R1jsBFIQ6RnEQDsLFGmzOjPWTOMlZqUcXcvRx8VmYV/TqnS1l784Ofz+ZEb+wEOQ==} dev: false - /@docsearch/react@3.8.3(@algolia/client-search@5.19.0)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)(search-insights@2.17.3): + /@docsearch/react@3.8.3(@algolia/client-search@5.20.0)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)(search-insights@2.17.3): resolution: {integrity: sha512-6UNrg88K7lJWmuS6zFPL/xgL+n326qXqZ7Ybyy4E8P/6Rcblk3GE8RXxeol4Pd5pFpKMhOhBhzABKKwHtbJCIg==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' @@ -3205,11 +3205,11 @@ packages: search-insights: optional: true dependencies: - '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3) - '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) + '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.20.0)(algoliasearch@5.20.0)(search-insights@2.17.3) + '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.20.0)(algoliasearch@5.20.0) '@docsearch/css': 3.8.3 '@types/react': 18.3.18 - algoliasearch: 5.19.0 + algoliasearch: 5.20.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) search-insights: 2.17.3 @@ -3417,7 +3417,7 @@ packages: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) rehype-raw: 7.0.0 - remark-directive: 3.0.0 + remark-directive: 3.0.1 remark-emoji: 4.0.1 remark-frontmatter: 5.0.0 remark-gfm: 4.0.0 @@ -3782,7 +3782,7 @@ packages: - webpack-cli dev: false - /@docusaurus/preset-classic@3.6.3(@algolia/client-search@5.19.0)(@mdx-js/react@3.1.0)(@types/react@18.3.18)(acorn@8.14.0)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3): + /@docusaurus/preset-classic@3.6.3(@algolia/client-search@5.20.0)(@mdx-js/react@3.1.0)(@types/react@18.3.18)(acorn@8.14.0)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3): resolution: {integrity: sha512-VHSYWROT3flvNNI1SrnMOtW1EsjeHNK9dhU6s9eY5hryZe79lUqnZJyze/ymDe2LXAqzyj6y5oYvyBoZZk6ErA==} engines: {node: '>=18.0'} peerDependencies: @@ -3800,7 +3800,7 @@ packages: '@docusaurus/plugin-sitemap': 3.6.3(@mdx-js/react@3.1.0)(acorn@8.14.0)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.6.3) '@docusaurus/theme-classic': 3.6.3(@types/react@18.3.18)(acorn@8.14.0)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.6.3) '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3)(acorn@8.14.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.6.3) - '@docusaurus/theme-search-algolia': 3.6.3(@algolia/client-search@5.19.0)(@mdx-js/react@3.1.0)(@types/react@18.3.18)(acorn@8.14.0)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3) + '@docusaurus/theme-search-algolia': 3.6.3(@algolia/client-search@5.20.0)(@mdx-js/react@3.1.0)(@types/react@18.3.18)(acorn@8.14.0)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3) '@docusaurus/types': 3.6.3(acorn@8.14.0)(react-dom@18.3.1)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -3927,14 +3927,14 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-search-algolia@3.6.3(@algolia/client-search@5.19.0)(@mdx-js/react@3.1.0)(@types/react@18.3.18)(acorn@8.14.0)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3): + /@docusaurus/theme-search-algolia@3.6.3(@algolia/client-search@5.20.0)(@mdx-js/react@3.1.0)(@types/react@18.3.18)(acorn@8.14.0)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3): resolution: {integrity: sha512-rt+MGCCpYgPyWCGXtbxlwFbTSobu15jWBTPI2LHsHNa5B0zSmOISX6FWYAPt5X1rNDOqMGM0FATnh7TBHRohVA==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docsearch/react': 3.8.3(@algolia/client-search@5.19.0)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)(search-insights@2.17.3) + '@docsearch/react': 3.8.3(@algolia/client-search@5.20.0)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)(search-insights@2.17.3) '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0)(acorn@8.14.0)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.6.3) '@docusaurus/logger': 3.6.3 '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0)(acorn@8.14.0)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.6.3) @@ -4464,7 +4464,7 @@ packages: tslib: 2.6.3 dev: true - /@graphql-codegen/cli@5.0.3(@babel/core@7.26.0)(@parcel/watcher@2.5.0)(@types/node@22.10.7)(graphql@16.10.0)(typescript@5.6.3): + /@graphql-codegen/cli@5.0.3(@babel/core@7.26.0)(@parcel/watcher@2.5.0)(@types/node@22.10.10)(graphql@16.10.0)(typescript@5.6.3): resolution: {integrity: sha512-ULpF6Sbu2d7vNEOgBtE9avQp2oMgcPY/QBYcCqk0Xru5fz+ISjcovQX29V7CS7y5wWBRzNLoXwJQGeEyWbl05g==} engines: {node: '>=16'} hasBin: true @@ -4484,12 +4484,12 @@ packages: '@graphql-tools/apollo-engine-loader': 8.0.13(graphql@16.10.0) '@graphql-tools/code-file-loader': 8.1.13(graphql@16.10.0) '@graphql-tools/git-loader': 8.0.17(graphql@16.10.0) - '@graphql-tools/github-loader': 8.0.13(@types/node@22.10.7)(graphql@16.10.0) + '@graphql-tools/github-loader': 8.0.13(@types/node@22.10.10)(graphql@16.10.0) '@graphql-tools/graphql-file-loader': 8.0.12(graphql@16.10.0) '@graphql-tools/json-file-loader': 8.0.11(graphql@16.10.0) '@graphql-tools/load': 8.0.12(graphql@16.10.0) - '@graphql-tools/prisma-loader': 8.0.17(@types/node@22.10.7)(graphql@16.10.0) - '@graphql-tools/url-loader': 8.0.24(@types/node@22.10.7)(graphql@16.10.0) + '@graphql-tools/prisma-loader': 8.0.17(@types/node@22.10.10)(graphql@16.10.0) + '@graphql-tools/url-loader': 8.0.24(@types/node@22.10.10)(graphql@16.10.0) '@graphql-tools/utils': 10.7.2(graphql@16.10.0) '@parcel/watcher': 2.5.0 '@whatwg-node/fetch': 0.9.23 @@ -4498,7 +4498,7 @@ packages: debounce: 1.2.1 detect-indent: 6.1.0 graphql: 16.10.0 - graphql-config: 5.1.3(@types/node@22.10.7)(graphql@16.10.0)(typescript@5.6.3) + graphql-config: 5.1.3(@types/node@22.10.10)(graphql@16.10.0)(typescript@5.6.3) inquirer: 8.2.6 is-glob: 4.0.3 jiti: 1.21.7 @@ -4878,7 +4878,7 @@ packages: - utf-8-validate dev: true - /@graphql-tools/executor-http@1.2.5(@types/node@22.10.7)(graphql@16.10.0): + /@graphql-tools/executor-http@1.2.5(@types/node@22.10.10)(graphql@16.10.0): resolution: {integrity: sha512-pG5YXsF2EhKS4JMhwFwI+0S5RGhPuJ3j3Dg1vWItzeBFiTzr2+VO8yyyahHIncLx7OzSYP/6pBDFp76FC55e+g==} engines: {node: '>=18.0.0'} peerDependencies: @@ -4892,7 +4892,7 @@ packages: '@whatwg-node/fetch': 0.10.3 extract-files: 11.0.0 graphql: 16.10.0 - meros: 1.3.0(@types/node@22.10.7) + meros: 1.3.0(@types/node@22.10.10) tslib: 2.8.1 value-or-promise: 1.0.12 transitivePeerDependencies: @@ -4906,7 +4906,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/utils': 10.7.2(graphql@16.10.0) - '@types/ws': 8.5.13 + '@types/ws': 8.5.14 graphql: 16.10.0 isomorphic-ws: 5.0.0(ws@8.18.0) tslib: 2.8.1 @@ -4948,13 +4948,13 @@ packages: - supports-color dev: true - /@graphql-tools/github-loader@8.0.13(@types/node@22.10.7)(graphql@16.10.0): + /@graphql-tools/github-loader@8.0.13(@types/node@22.10.10)(graphql@16.10.0): resolution: {integrity: sha512-1eaRdfLFniIhs+MAHGDwy5Q6KraPRd48XHUV+HDuD63LHi10JtxVBPTWSUgNUkPkW0XoReyISjx9NFgTPK423A==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/executor-http': 1.2.5(@types/node@22.10.7)(graphql@16.10.0) + '@graphql-tools/executor-http': 1.2.5(@types/node@22.10.10)(graphql@16.10.0) '@graphql-tools/graphql-tag-pluck': 8.3.12(graphql@16.10.0) '@graphql-tools/utils': 10.7.2(graphql@16.10.0) '@whatwg-node/fetch': 0.10.3 @@ -5088,13 +5088,13 @@ packages: tslib: 2.6.3 dev: true - /@graphql-tools/prisma-loader@8.0.17(@types/node@22.10.7)(graphql@16.10.0): + /@graphql-tools/prisma-loader@8.0.17(@types/node@22.10.10)(graphql@16.10.0): resolution: {integrity: sha512-fnuTLeQhqRbA156pAyzJYN0KxCjKYRU5bz1q/SKOwElSnAU4k7/G1kyVsWLh7fneY78LoMNH5n+KlFV8iQlnyg==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/url-loader': 8.0.24(@types/node@22.10.7)(graphql@16.10.0) + '@graphql-tools/url-loader': 8.0.24(@types/node@22.10.10)(graphql@16.10.0) '@graphql-tools/utils': 10.7.2(graphql@16.10.0) '@types/js-yaml': 4.0.9 '@whatwg-node/fetch': 0.10.3 @@ -5187,18 +5187,18 @@ packages: value-or-promise: 1.0.12 dev: false - /@graphql-tools/url-loader@8.0.24(@types/node@22.10.7)(graphql@16.10.0): + /@graphql-tools/url-loader@8.0.24(@types/node@22.10.10)(graphql@16.10.0): resolution: {integrity: sha512-f+Yt6sswiEPrcWsInMbmf+3HNENV2IZK1z3IiGMHuyqb+QsMbJLxzDPHnxMtF2QGJOiRjBQy2sF2en7DPG+jSw==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/executor-graphql-ws': 1.3.7(graphql@16.10.0) - '@graphql-tools/executor-http': 1.2.5(@types/node@22.10.7)(graphql@16.10.0) + '@graphql-tools/executor-http': 1.2.5(@types/node@22.10.10)(graphql@16.10.0) '@graphql-tools/executor-legacy-ws': 1.1.10(graphql@16.10.0) '@graphql-tools/utils': 10.7.2(graphql@16.10.0) '@graphql-tools/wrap': 10.0.28(graphql@16.10.0) - '@types/ws': 8.5.13 + '@types/ws': 8.5.14 '@whatwg-node/fetch': 0.10.3 graphql: 16.10.0 isomorphic-ws: 5.0.0(ws@8.18.0) @@ -5296,7 +5296,7 @@ packages: resolution: {integrity: sha512-IZ3fJ4WJ4iOghZkHWaKJY+XZJK9xAbaSIziY+OQcYtxnlcXo01/ibe2y2JjdsIhfzmYpxvov7F1qHoj2ek7tWQ==} engines: {node: '>=18'} dependencies: - '@huggingface/tasks': 0.13.16 + '@huggingface/tasks': 0.13.17 dev: false /@huggingface/jinja@0.3.2: @@ -5304,12 +5304,12 @@ packages: engines: {node: '>=18'} dev: false - /@huggingface/tasks@0.13.16: - resolution: {integrity: sha512-2kniw63zvyBOPzMWGMbLvTLJkUHhr+nRcvh/qC5g3AfHdqCjs22+6CsUgSKFn2wnEAoJV3W6GiOUAPud4kMxFA==} + /@huggingface/tasks@0.13.17: + resolution: {integrity: sha512-nytJPvVMlMpaeDOhjp0vJJKSWyHEKziPEQ5WbzeU2Av0W1y/xkvIE9XHdWcOXXOSOFieoJmSCUf2HI23umlzZw==} dev: false - /@huggingface/transformers@3.3.1: - resolution: {integrity: sha512-ypduhicsjFQAIcYPBicojDGz9jpvU+abCuoRFYj/V9glTmMVLlGxCwssAGSGmoC+T+FV9JFI5U8i2H+zpOxVbg==} + /@huggingface/transformers@3.3.2: + resolution: {integrity: sha512-KewnlOEeB3LcgvS416rTsLiah98V7sP1STmE584wA2qlymHLjp0QXihAKNA37XQ8y19thK7VjUqHYWSAUg9isg==} dependencies: '@huggingface/jinja': 0.3.2 onnxruntime-node: 1.20.1 @@ -5341,7 +5341,7 @@ packages: engines: {node: '>=18.0.0'} dependencies: '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.33) - '@types/node': 18.19.71 + '@types/node': 18.19.74 extend: 3.0.2 ibm-cloud-sdk-core: 5.1.1 transitivePeerDependencies: @@ -5568,7 +5568,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.14 + '@types/node': 20.17.16 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -5589,14 +5589,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.14 + '@types/node': 20.17.16 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.17.14)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.17.16)(ts-node@10.9.2) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -5624,7 +5624,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.10.7 + '@types/node': 22.10.10 jest-mock: 29.7.0 dev: true @@ -5651,7 +5651,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.10.7 + '@types/node': 22.10.10 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -5684,7 +5684,7 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 20.17.14 + '@types/node': 20.17.16 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -5771,7 +5771,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.17.14 + '@types/node': 20.17.16 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -5828,7 +5828,7 @@ packages: resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} dev: false - /@langchain/community@0.3.26(@browserbasehq/stagehand@1.10.1)(@ibm-cloud/watsonx-ai@1.3.2)(@langchain/core@0.3.33)(axios@1.7.4)(ibm-cloud-sdk-core@5.1.1)(openai@4.79.4)(ws@8.18.0): + /@langchain/community@0.3.26(@browserbasehq/stagehand@1.10.1)(@ibm-cloud/watsonx-ai@1.3.2)(@langchain/core@0.3.33)(axios@1.7.4)(ibm-cloud-sdk-core@5.1.1)(openai@4.80.0)(ws@8.18.0): resolution: {integrity: sha512-aZjB2lMuHAeEEkM38GFYxUpTBA319GtGsO6t8+KxjsXzkxhwL/nJvEjCoTmoYkAEMI9u6NYksr8D0Urw+Oq27g==} engines: {node: '>=18'} peerDependencies: @@ -6202,18 +6202,18 @@ packages: youtubei.js: optional: true dependencies: - '@browserbasehq/stagehand': 1.10.1(@playwright/test@1.49.1)(deepmerge@4.3.1)(dotenv@16.4.7)(openai@4.79.4)(zod@3.24.1) + '@browserbasehq/stagehand': 1.10.1(@playwright/test@1.50.0)(deepmerge@4.3.1)(dotenv@16.4.7)(openai@4.80.0)(zod@3.24.1) '@ibm-cloud/watsonx-ai': 1.3.2(@langchain/core@0.3.33) - '@langchain/core': 0.3.33(openai@4.79.4) + '@langchain/core': 0.3.33(openai@4.80.0) '@langchain/openai': 0.3.17(@langchain/core@0.3.33)(ws@8.18.0) binary-extensions: 2.3.0 expr-eval: 2.0.2 flat: 5.0.2 ibm-cloud-sdk-core: 5.1.1 js-yaml: 4.1.0 - langchain: 0.3.12(@langchain/core@0.3.33)(axios@1.7.4)(openai@4.79.4)(ws@8.18.0) - langsmith: 0.3.2(openai@4.79.4) - openai: 4.79.4(ws@8.18.0)(zod@3.24.1) + langchain: 0.3.12(@langchain/core@0.3.33)(axios@1.7.4)(openai@4.80.0)(ws@8.18.0) + langsmith: 0.3.3(openai@4.80.0) + openai: 4.80.0(ws@8.18.0)(zod@3.24.1) uuid: 10.0.0 ws: 8.18.0 zod: 3.24.1 @@ -6235,7 +6235,7 @@ packages: - peggy dev: false - /@langchain/core@0.3.33(openai@4.79.4): + /@langchain/core@0.3.33(openai@4.80.0): resolution: {integrity: sha512-gIszaRKWmP1HEgOhJLJaMiTMH8U3W9hG6raWihwpCTb0Ns7owjrmaqmgMa9h3W4/0xriaKfrfFBd6tepKsfxZA==} engines: {node: '>=18'} dependencies: @@ -6244,7 +6244,7 @@ packages: camelcase: 6.3.0 decamelize: 1.2.0 js-tiktoken: 1.0.16 - langsmith: 0.3.2(openai@4.79.4) + langsmith: 0.3.3(openai@4.80.0) mustache: 4.2.0 p-queue: 6.6.2 p-retry: 4.6.2 @@ -6261,9 +6261,9 @@ packages: peerDependencies: '@langchain/core': '>=0.3.29 <0.4.0' dependencies: - '@langchain/core': 0.3.33(openai@4.79.4) + '@langchain/core': 0.3.33(openai@4.80.0) js-tiktoken: 1.0.16 - openai: 4.79.4(ws@8.18.0)(zod@3.24.1) + openai: 4.80.0(ws@8.18.0)(zod@3.24.1) zod: 3.24.1 zod-to-json-schema: 3.24.1(zod@3.24.1) transitivePeerDependencies: @@ -6277,7 +6277,7 @@ packages: peerDependencies: '@langchain/core': '>=0.2.21 <0.4.0' dependencies: - '@langchain/core': 0.3.33(openai@4.79.4) + '@langchain/core': 0.3.33(openai@4.80.0) js-tiktoken: 1.0.16 dev: false @@ -6746,8 +6746,8 @@ packages: dev: false optional: true - /@node-llama-cpp/linux-arm64@3.4.0: - resolution: {integrity: sha512-8D3oDVtaVqpwCI8PwshhMY9vrVmXVhw7mTNzf6UiK9QLFL37dD4pET4dkXcqtvfaWbCv1+1zTtlxZksGtn2Cyw==} + /@node-llama-cpp/linux-arm64@3.4.1: + resolution: {integrity: sha512-SpY5QZygqiaCcMnrPpdWMDkYRDfiXY6O71U2YNsAmsqH7g+XWChmUo8CQizpxtIJ1BnasTlx2eYGTtnyCkyxtg==} engines: {node: '>=18.0.0'} cpu: [arm64, x64] os: [linux] @@ -6755,8 +6755,8 @@ packages: dev: false optional: true - /@node-llama-cpp/linux-armv7l@3.4.0: - resolution: {integrity: sha512-ikC85RgZzDfqVh0+Cwh/aAFxF5ywMLPMLyI7waAwRZgqTtBVUjrb3+JI++a1gG+3pyFOoQFfgXNB62GSTzuE8A==} + /@node-llama-cpp/linux-armv7l@3.4.1: + resolution: {integrity: sha512-0t3skX5PlzC4RtTFEHYt4UVWzfO22KG9Z0aRpLlrCZ90bdi0Z0f2INeEZQF9vFG1gKjYDZBm42lSwYAaATGPTA==} engines: {node: '>=18.0.0'} cpu: [arm, x64] os: [linux] @@ -6764,8 +6764,8 @@ packages: dev: false optional: true - /@node-llama-cpp/linux-x64-cuda@3.4.0: - resolution: {integrity: sha512-zZqZKQ6xUm8m8A6KAeJDAvnwQyieovEnnhc564E2zmzgjZlTBji3LHUAfMrT/6t/BRpZsV8YKfLDOqkyuBBa7Q==} + /@node-llama-cpp/linux-x64-cuda@3.4.1: + resolution: {integrity: sha512-DmWa/2BlsS8HyRMitiUsKQ41XAIPUmP04Rvov+6LTipybo/ylDpdd5bVbTsr8lsMZFvSZMLNpoxUELfm1u9iqw==} engines: {node: '>=18.0.0'} cpu: [x64] os: [linux] @@ -6773,8 +6773,8 @@ packages: dev: false optional: true - /@node-llama-cpp/linux-x64-vulkan@3.4.0: - resolution: {integrity: sha512-3Uh/NlDDtpzrRDJSdfQkRBG+VSJLT5thXkHTVvc6ssSh3yxUxNjkFniCKb0GypaXTMKie2hCA58CdVQUx1+5DQ==} + /@node-llama-cpp/linux-x64-vulkan@3.4.1: + resolution: {integrity: sha512-/Hp3QF/oBI8/aOJMEILqjwWQXjLIL6/cQx7wKPyFmIT8uF5X8hDBSAH6vVBr0NYReODC1JkoLB4mGTj9rMfeeQ==} engines: {node: '>=18.0.0'} cpu: [x64] os: [linux] @@ -6782,8 +6782,8 @@ packages: dev: false optional: true - /@node-llama-cpp/linux-x64@3.4.0: - resolution: {integrity: sha512-Xdvz481PxQX767NYJz3axC6Ysm0ktIVSe8rt0r2EHm7/tbWEHBQyvN3PX/piw44yldif//G1DVU4eEbeV2fnxw==} + /@node-llama-cpp/linux-x64@3.4.1: + resolution: {integrity: sha512-PfA72+0e+txAmoPU+HPiKvOpQNssr6lDdfTXFMdRcwjQWhm+Q8tD5IX9Oq3CLSbnll9xggwczXoMDIxpVIjWrA==} engines: {node: '>=18.0.0'} cpu: [x64] os: [linux] @@ -6791,8 +6791,8 @@ packages: dev: false optional: true - /@node-llama-cpp/mac-arm64-metal@3.4.0: - resolution: {integrity: sha512-rRclEHF3d3Ou+OI76UrDI+katjoeJQ860ioMCsrlSlpCfI9+cdqGH0PmSZOTEPfiPinglqNUvy3q5QMKP447Yg==} + /@node-llama-cpp/mac-arm64-metal@3.4.1: + resolution: {integrity: sha512-QWSPe14HBwSgV/DgVpdynFaxeeKiEca9Z2GLBxfPMt4ssO8GI5Xh2bA/LMulhS3y9KBkkAmvKut7SWHLPRuJ/g==} engines: {node: '>=18.0.0'} cpu: [arm64, x64] os: [darwin] @@ -6800,8 +6800,8 @@ packages: dev: false optional: true - /@node-llama-cpp/mac-x64@3.4.0: - resolution: {integrity: sha512-zqdn/pDLdww9qhQcnRiRLirrwAGx+Thz/IlwYzFOB34WjJhbvH6O8gZMtMtkur3L98qxPYrn4spXbI9mn3lCjA==} + /@node-llama-cpp/mac-x64@3.4.1: + resolution: {integrity: sha512-XT/BwVzMafZOP83lGhFYGWyrZ6xDJuKTD5BGEGtYrR7+N40OgSXUOgxun5OouqDYGsw/iI875DMZCee2TRtoTg==} engines: {node: '>=18.0.0'} cpu: [x64] os: [darwin] @@ -6809,8 +6809,8 @@ packages: dev: false optional: true - /@node-llama-cpp/win-arm64@3.4.0: - resolution: {integrity: sha512-j3ABgnxhX/hv1/+ReLa7Iv3yEciqnfBQFU20skb7JQ3absqZdIOrC2Hltf4Zitdttwo5N0D7LRHc3KmWyT0V1Q==} + /@node-llama-cpp/win-arm64@3.4.1: + resolution: {integrity: sha512-305B1JBnwof6v4J+OlDtG173RXGdd/xxlRHUKcBB1hu3h6+krzYHsycFQH94/kFUXxRvR5IwOiHK4uySZHLpMA==} engines: {node: '>=18.0.0'} cpu: [arm64, x64] os: [win32] @@ -6818,8 +6818,8 @@ packages: dev: false optional: true - /@node-llama-cpp/win-x64-cuda@3.4.0: - resolution: {integrity: sha512-MZM3dEfYmXfp+1QFaFY6yhxZaxF2b0dpgtg3SCTsROXSgYYD0XWE/biNe0XolKJXd9a5DqMShOgvkTWyUn4WIA==} + /@node-llama-cpp/win-x64-cuda@3.4.1: + resolution: {integrity: sha512-b2HSweGwIDqfTECO80x2BdE43kDlljoSu25UseARYuu3jYAk+Gob5i6z8Hs5WlaifHoIJRvFXCqBm8vD1nH0uQ==} engines: {node: '>=18.0.0'} cpu: [x64] os: [win32] @@ -6827,8 +6827,8 @@ packages: dev: false optional: true - /@node-llama-cpp/win-x64-vulkan@3.4.0: - resolution: {integrity: sha512-5KttYxOfTjdMJf9JI3Fs5Gz2S4S9BWav4f35JmnKEBNKHHU3SeMmL7J6Yz9cnqiiZ0Tzk6t3Vx1SDffsEN5lBg==} + /@node-llama-cpp/win-x64-vulkan@3.4.1: + resolution: {integrity: sha512-vwhl0mIZLSOimqdb8W171JBIBVGQiO5OYVhPJr/F9wD4GDAFobczZMkITfzghDoX/ChiD18XJm8UcsUp+u0IkA==} engines: {node: '>=18.0.0'} cpu: [x64] os: [win32] @@ -6836,8 +6836,8 @@ packages: dev: false optional: true - /@node-llama-cpp/win-x64@3.4.0: - resolution: {integrity: sha512-vFLhphHvbhndwWurH99ZN0W4TIqJ2LEwl7zuzJeeiAA3DeQNFhitxeQ7BPO+xbHSa6FGA69bNKS14obrKFBjWw==} + /@node-llama-cpp/win-x64@3.4.1: + resolution: {integrity: sha512-l17C7Tlv5zXwSGBNxhoSFGD7Z69+4j+nTDzmP/tovkg0IZ2YZLTluoA2R4lwPk2fnqvbW2K1WahWTQjRwHq/7w==} engines: {node: '>=18.0.0'} cpu: [x64] os: [win32] @@ -7281,12 +7281,12 @@ packages: engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} dev: true - /@playwright/test@1.49.1: - resolution: {integrity: sha512-Ky+BVzPz8pL6PQxHqNRW1k3mIyv933LML7HktS8uik0bUXNCdPhoS/kLihiO1tMf/egaJb4IutXd7UywvXEW+g==} + /@playwright/test@1.50.0: + resolution: {integrity: sha512-ZGNXbt+d65EGjBORQHuYKj+XhCewlwpnSd/EDuLPZGSiEWmgOJB5RmMCCYGy5aMfTs9wx61RivfDKi8H/hcMvw==} engines: {node: '>=18'} hasBin: true dependencies: - playwright: 1.49.1 + playwright: 1.50.0 dev: false /@pnpm/config.env-replace@1.1.0: @@ -7457,8 +7457,8 @@ packages: react: 18.3.1 dev: false - /@radix-ui/react-dialog@1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-Ur7EV1IwQGCyaAuyDRiOLA5JIUZxELJljF+MbM/2NC0BYwfuRrbpS30BiQBJrVruscgUkieKkqXYDOoByaxIoA==} + /@radix-ui/react-dialog@1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-LaO3e5h/NOEL4OfXjxD43k9Dx+vn+8n+PCFt6uhX/BADFflllyv3WJG6rgvvSVBxpTch938Qq/LGc2MMxipXPw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -7473,7 +7473,7 @@ packages: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) @@ -7487,7 +7487,7 @@ packages: aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.2(@types/react@18.3.18)(react@18.3.1) + react-remove-scroll: 2.6.3(@types/react@18.3.18)(react@18.3.1) dev: false /@radix-ui/react-direction@1.1.0(@types/react@18.3.18)(react@18.3.1): @@ -7503,8 +7503,8 @@ packages: react: 18.3.1 dev: false - /@radix-ui/react-dismissable-layer@1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg==} + /@radix-ui/react-dismissable-layer@1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-XDUI0IVYVSwjMXxM6P4Dfti7AH+Y4oS/TB+sglZ/EXc7cqLwGAmp1NlMrcUjj7ks6R5WTZuWKv44FBbLpwU3sA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -7527,8 +7527,8 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-dropdown-menu@2.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-iXU1Ab5ecM+yEepGAWK8ZhMyKX4ubFdCNtol4sT9D0OVErG9PNElfx3TQhjw7n7BC5nFVz68/5//clWy+8TXzA==} + /@radix-ui/react-dropdown-menu@2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-50ZmEFL1kOuLalPKHrLWvPFMons2fGx9TqQCWlPwDVpbAnaUJ1g4XNcKqFNMQymYU0kKWR4MDDi+9vUQBGFgcQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -7544,7 +7544,7 @@ packages: '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-menu': 2.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-menu': 2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@types/react': 18.3.18 @@ -7630,8 +7630,8 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-menu@2.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-BnOgVoL6YYdHAG6DtXONaR29Eq4nvbi8rutrV/xlr3RQCMMb3yqP85Qiw/3NReozrSW+4dfLkK+rc1hb4wPU/A==} + /@radix-ui/react-menu@2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-uH+3w5heoMJtqVCgYOtYVMECk1TOrkUn0OG0p5MqXC0W2ppcuVeESbou8PTHoqAjbdTEK19AGXBWcEtR5WpEQg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -7648,7 +7648,7 @@ packages: '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) @@ -7664,11 +7664,11 @@ packages: aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.2(@types/react@18.3.18)(react@18.3.1) + react-remove-scroll: 2.6.3(@types/react@18.3.18)(react@18.3.1) dev: false - /@radix-ui/react-popover@1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-aUACAkXx8LaFymDma+HQVji7WhvEhpFJ7+qPz17Nf4lLZqtreGOFRiNQWQmhzp7kEWg9cOyyQJpdIMUMPc/CPw==} + /@radix-ui/react-popover@1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-YXkTAftOIW2Bt3qKH8vYr6n9gCkVrvyvfiTObVjoHVTHnNj26rmvO87IKa3VgtgCjb8FAQ6qOjNViwl+9iIzlg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -7683,7 +7683,7 @@ packages: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) @@ -7698,7 +7698,7 @@ packages: aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.2(@types/react@18.3.18)(react@18.3.1) + react-remove-scroll: 2.6.3(@types/react@18.3.18)(react@18.3.1) dev: false /@radix-ui/react-popper@1.2.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): @@ -7848,8 +7848,8 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@radix-ui/react-select@2.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-pOkb2u8KgO47j/h7AylCj7dJsm69BXcjkrvTqMptFqsE2i0p8lHkfgneXKjAgPzBMivnoMyt8o4KiV4wYzDdyQ==} + /@radix-ui/react-select@2.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-eVV7N8jBXAXnyrc+PsOF89O9AfVgGnbLxUtBb0clJ8y8ENMWLARGMI/1/SBRLz7u4HqxLgN71BJ17eono3wcjA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -7867,7 +7867,7 @@ packages: '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) @@ -7885,7 +7885,7 @@ packages: aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.2(@types/react@18.3.18)(react@18.3.1) + react-remove-scroll: 2.6.3(@types/react@18.3.18)(react@18.3.1) dev: false /@radix-ui/react-separator@1.1.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): @@ -7922,8 +7922,8 @@ packages: react: 18.3.1 dev: false - /@radix-ui/react-tooltip@1.1.6(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-TLB5D8QLExS1uDn7+wH/bjEmRurNMTzNrtq7IjaS4kjion9NtzsTGkvR5+i7yc9q01Pi2KMM2cN3f8UG4IvvXA==} + /@radix-ui/react-tooltip@1.1.7(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-ss0s80BC0+g0+Zc53MvilcnTYSOi4mSuFWBPYPuTOFGjx+pUU+ZrmamMNwS56t8MTFlniA5ocjd4jYm/CdhbOg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -7938,7 +7938,7 @@ packages: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) @@ -8546,32 +8546,32 @@ packages: /@types/bcrypt@5.0.2: resolution: {integrity: sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ==} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 dev: false /@types/body-parser@1.19.5: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.17.14 + '@types/node': 20.17.16 /@types/bonjour@3.5.13: resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 dev: false /@types/connect-history-api-fallback@1.5.4: resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: '@types/express-serve-static-core': 5.0.5 - '@types/node': 20.17.14 + '@types/node': 20.17.16 dev: false /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 /@types/cookiejar@2.1.5: resolution: {integrity: sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==} @@ -8609,7 +8609,7 @@ packages: /@types/express-serve-static-core@4.19.6: resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 '@types/qs': 6.9.18 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -8617,7 +8617,7 @@ packages: /@types/express-serve-static-core@5.0.5: resolution: {integrity: sha512-GLZPrd9ckqEBFMcVM/qRFAP0Hg3qiVEojgEFsx/N/zKXsBzbGF6z5FBDpZ0+Xhp1xr+qRZYjfGr1cWHB9oFHSA==} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 '@types/qs': 6.9.18 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -8643,12 +8643,12 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 20.17.14 + '@types/node': 20.17.16 /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 dev: true /@types/gtag.js@0.0.12: @@ -8683,7 +8683,7 @@ packages: /@types/http-proxy@1.17.15: resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 dev: false /@types/istanbul-lib-coverage@2.0.6: @@ -8713,7 +8713,7 @@ packages: /@types/jsdom@20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: - '@types/node': 22.10.7 + '@types/node': 22.10.10 '@types/tough-cookie': 4.0.5 parse5: 7.2.1 dev: true @@ -8728,12 +8728,12 @@ packages: /@types/jsonfile@6.1.4: resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 /@types/jsonwebtoken@9.0.5: resolution: {integrity: sha512-VRLSGzik+Unrup6BsouBeHsf4d1hOEgYWTm/7Nmw1sXoN1+tRly/Gy/po3yeahnP4jfnQWWAhQAqcNfH7ngOkA==} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 dev: false /@types/lodash@4.17.14: @@ -8765,39 +8765,39 @@ packages: /@types/node-fetch@2.6.12: resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 form-data: 4.0.1 /@types/node-forge@1.3.11: resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 dev: false /@types/node@10.14.22: resolution: {integrity: sha512-9taxKC944BqoTVjE+UT3pQH0nHZlTvITwfsOZqyc+R3sfJuxaTtxWjfn1K2UlxyPcKHf0rnaXcVFrS9F9vf0bw==} dev: false - /@types/node@16.18.124: - resolution: {integrity: sha512-8ADCm5WzM/IpWxjs1Jhtwo6j+Fb8z4yr/CobP5beUUPdyCI0mg87/bqQYxNcqnhZ24Dc9RME8SQWu5eI/FmSGA==} + /@types/node@16.18.125: + resolution: {integrity: sha512-w7U5ojboSPfZP4zD98d+/cjcN2BDW6lKH2M0ubipt8L8vUC7qUAC6ENKGSJL4tEktH2Saw2K4y1uwSjyRGKMhw==} dev: true /@types/node@17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: false - /@types/node@18.19.71: - resolution: {integrity: sha512-evXpcgtZm8FY4jqBSN8+DmOTcVkkvTmAayeo4Wf3m1xAruyVGzGuDh/Fb/WWX2yLItUiho42ozyJjB0dw//Tkw==} + /@types/node@18.19.74: + resolution: {integrity: sha512-HMwEkkifei3L605gFdV+/UwtpxP6JSzM+xFk2Ia6DNFSwSVBRh9qp5Tgf4lNFOMfPVuU0WnkcWpXZpgn5ufO4A==} dependencies: undici-types: 5.26.5 - /@types/node@20.17.14: - resolution: {integrity: sha512-w6qdYetNL5KRBiSClK/KWai+2IMEJuAj+EujKCumalFOwXtvOXaEan9AuwcRID2IcOIAWSIfR495hBtgKlx2zg==} + /@types/node@20.17.16: + resolution: {integrity: sha512-vOTpLduLkZXePLxHiHsBLp98mHGnl8RptV4YAO3HfKO5UHjDvySGbxKtpYfy8Sx5+WKcgc45qNreJJRVM3L6mw==} dependencies: undici-types: 6.19.8 - /@types/node@22.10.7: - resolution: {integrity: sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==} + /@types/node@22.10.10: + resolution: {integrity: sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==} dependencies: undici-types: 6.20.0 @@ -8861,7 +8861,7 @@ packages: /@types/sax@1.2.7: resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 dev: false /@types/semver@7.5.8: @@ -8872,7 +8872,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.17.14 + '@types/node': 20.17.16 /@types/serve-index@1.9.4: resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} @@ -8884,13 +8884,13 @@ packages: resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.17.14 + '@types/node': 20.17.16 '@types/send': 0.17.4 /@types/sockjs@0.3.36: resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 dev: false /@types/stack-utils@2.0.3: @@ -8906,7 +8906,7 @@ packages: dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 20.17.14 + '@types/node': 20.17.16 form-data: 4.0.1 dev: true @@ -8936,10 +8936,10 @@ packages: /@types/validator@13.12.2: resolution: {integrity: sha512-6SlHBzUW8Jhf3liqrGGXyTJSIFe4nqlJ5A5KaMZ2l/vbM3Wh3KSybots/wfWVzNLK4D1NZluDlSQIbIEPx6oyA==} - /@types/ws@8.5.13: - resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} + /@types/ws@8.5.14: + resolution: {integrity: sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw==} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 /@types/yargs-parser@21.0.3: resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -9284,8 +9284,8 @@ packages: '@typescript-eslint/types': 8.21.0 eslint-visitor-keys: 4.2.0 - /@ungap/structured-clone@1.2.1: - resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} + /@ungap/structured-clone@1.3.0: + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} /@webassemblyjs/ast@1.14.1: resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -9656,23 +9656,23 @@ packages: '@algolia/transporter': 4.24.0 dev: false - /algoliasearch@5.19.0: - resolution: {integrity: sha512-zrLtGhC63z3sVLDDKGW+SlCRN9eJHFTgdEmoAOpsVh6wgGL1GgTTDou7tpCBjevzgIvi3AIyDAQO3Xjbg5eqZg==} + /algoliasearch@5.20.0: + resolution: {integrity: sha512-groO71Fvi5SWpxjI9Ia+chy0QBwT61mg6yxJV27f5YFf+Mw+STT75K6SHySpP8Co5LsCrtsbCH5dJZSRtkSKaQ==} engines: {node: '>= 14.0.0'} dependencies: - '@algolia/client-abtesting': 5.19.0 - '@algolia/client-analytics': 5.19.0 - '@algolia/client-common': 5.19.0 - '@algolia/client-insights': 5.19.0 - '@algolia/client-personalization': 5.19.0 - '@algolia/client-query-suggestions': 5.19.0 - '@algolia/client-search': 5.19.0 - '@algolia/ingestion': 1.19.0 - '@algolia/monitoring': 1.19.0 - '@algolia/recommend': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 + '@algolia/client-abtesting': 5.20.0 + '@algolia/client-analytics': 5.20.0 + '@algolia/client-common': 5.20.0 + '@algolia/client-insights': 5.20.0 + '@algolia/client-personalization': 5.20.0 + '@algolia/client-query-suggestions': 5.20.0 + '@algolia/client-search': 5.20.0 + '@algolia/ingestion': 1.20.0 + '@algolia/monitoring': 1.20.0 + '@algolia/recommend': 5.20.0 + '@algolia/requester-browser-xhr': 5.20.0 + '@algolia/requester-fetch': 5.20.0 + '@algolia/requester-node-http': 5.20.0 dev: false /ansi-align@3.0.1: @@ -9913,6 +9913,11 @@ packages: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true + /async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + dev: true + /async-retry@1.3.3: resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} dependencies: @@ -10303,7 +10308,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001695 - electron-to-chromium: 1.5.84 + electron-to-chromium: 1.5.87 node-releases: 2.0.19 update-browserslist-db: 1.1.2(browserslist@4.24.4) @@ -11146,7 +11151,7 @@ packages: typescript: 5.7.2 dev: true - /create-jest@29.7.0(@types/node@16.18.124): + /create-jest@29.7.0(@types/node@16.18.125): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -11155,7 +11160,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@16.18.124) + jest-config: 29.7.0(@types/node@16.18.125) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -11165,7 +11170,7 @@ packages: - ts-node dev: true - /create-jest@29.7.0(@types/node@20.17.14)(ts-node@10.9.2): + /create-jest@29.7.0(@types/node@20.17.16)(ts-node@10.9.2): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -11174,7 +11179,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.17.14)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.17.16)(ts-node@10.9.2) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -11184,7 +11189,7 @@ packages: - ts-node dev: true - /create-jest@29.7.0(@types/node@22.10.7)(ts-node@10.9.2): + /create-jest@29.7.0(@types/node@22.10.10)(ts-node@10.9.2): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -11193,7 +11198,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@22.10.10)(ts-node@10.9.2) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -11604,8 +11609,8 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} - /decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + /decimal.js@10.5.0: + resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} dev: true /decode-named-character-reference@1.0.2: @@ -11963,8 +11968,8 @@ packages: jake: 10.9.2 dev: true - /electron-to-chromium@1.5.84: - resolution: {integrity: sha512-I+DQ8xgafao9Ha6y0qjHHvpZ9OfyA1qKlkHkjywxzniORU2awxyz7f/iVJcULmrF2yrM3nHQf+iDjJtbbexd/g==} + /electron-to-chromium@1.5.87: + resolution: {integrity: sha512-mPFwmEWmRivw2F8x3w3l2m6htAUN97Gy0kwpO++2m9iT1Gt8RCFVUfv9U/sIbHJ6rY4P6/ooqFL/eL7ock+pPg==} /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -12543,7 +12548,7 @@ packages: '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.1 + '@ungap/structured-clone': 1.3.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 @@ -12682,7 +12687,7 @@ packages: resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} engines: {node: '>= 0.8'} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 require-like: 0.1.2 dev: false @@ -13578,7 +13583,7 @@ packages: /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - /graphql-config@5.1.3(@types/node@22.10.7)(graphql@16.10.0)(typescript@5.6.3): + /graphql-config@5.1.3(@types/node@22.10.10)(graphql@16.10.0)(typescript@5.6.3): resolution: {integrity: sha512-RBhejsPjrNSuwtckRlilWzLVt2j8itl74W9Gke1KejDTz7oaA5kVd6wRn9zK9TS5mcmIYGxf7zN7a1ORMdxp1Q==} engines: {node: '>= 16.0.0'} peerDependencies: @@ -13592,7 +13597,7 @@ packages: '@graphql-tools/json-file-loader': 8.0.11(graphql@16.10.0) '@graphql-tools/load': 8.0.12(graphql@16.10.0) '@graphql-tools/merge': 9.0.17(graphql@16.10.0) - '@graphql-tools/url-loader': 8.0.24(@types/node@22.10.7)(graphql@16.10.0) + '@graphql-tools/url-loader': 8.0.24(@types/node@22.10.10)(graphql@16.10.0) '@graphql-tools/utils': 10.7.2(graphql@16.10.0) cosmiconfig: 8.3.6(typescript@5.6.3) graphql: 16.10.0 @@ -13767,7 +13772,7 @@ packages: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.3 - '@ungap/structured-clone': 1.2.1 + '@ungap/structured-clone': 1.3.0 hast-util-from-parse5: 8.0.2 hast-util-to-parse5: 8.0.0 html-void-elements: 3.0.0 @@ -14439,10 +14444,11 @@ packages: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} dev: false - /is-async-function@2.1.0: - resolution: {integrity: sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==} + /is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} engines: {node: '>= 0.4'} dependencies: + async-function: 1.0.0 call-bound: 1.0.3 get-proto: 1.0.1 has-tostringtag: 1.0.2 @@ -14963,7 +14969,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.14 + '@types/node': 20.17.16 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -14984,7 +14990,7 @@ packages: - supports-color dev: true - /jest-cli@29.7.0(@types/node@16.18.124): + /jest-cli@29.7.0(@types/node@16.18.125): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -14998,10 +15004,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@16.18.124) + create-jest: 29.7.0(@types/node@16.18.125) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@16.18.124) + jest-config: 29.7.0(@types/node@16.18.125) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -15012,7 +15018,7 @@ packages: - ts-node dev: true - /jest-cli@29.7.0(@types/node@20.17.14): + /jest-cli@29.7.0(@types/node@20.17.16): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -15026,10 +15032,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.17.14)(ts-node@10.9.2) + create-jest: 29.7.0(@types/node@20.17.16)(ts-node@10.9.2) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@20.17.14)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.17.16)(ts-node@10.9.2) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -15040,7 +15046,7 @@ packages: - ts-node dev: true - /jest-cli@29.7.0(@types/node@20.17.14)(ts-node@10.9.2): + /jest-cli@29.7.0(@types/node@20.17.16)(ts-node@10.9.2): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -15054,10 +15060,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.17.14)(ts-node@10.9.2) + create-jest: 29.7.0(@types/node@20.17.16)(ts-node@10.9.2) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@20.17.14)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.17.16)(ts-node@10.9.2) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -15068,7 +15074,7 @@ packages: - ts-node dev: true - /jest-cli@29.7.0(@types/node@22.10.7)(ts-node@10.9.2): + /jest-cli@29.7.0(@types/node@22.10.10)(ts-node@10.9.2): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -15082,10 +15088,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2) + create-jest: 29.7.0(@types/node@22.10.10)(ts-node@10.9.2) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@22.10.10)(ts-node@10.9.2) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -15096,7 +15102,7 @@ packages: - ts-node dev: true - /jest-config@29.7.0(@types/node@16.18.124): + /jest-config@29.7.0(@types/node@16.18.125): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -15111,7 +15117,7 @@ packages: '@babel/core': 7.26.0 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 16.18.124 + '@types/node': 16.18.125 babel-jest: 29.7.0(@babel/core@7.26.0) chalk: 4.1.2 ci-info: 3.9.0 @@ -15136,7 +15142,7 @@ packages: - supports-color dev: true - /jest-config@29.7.0(@types/node@20.17.14)(ts-node@10.9.2): + /jest-config@29.7.0(@types/node@20.17.16)(ts-node@10.9.2): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -15151,7 +15157,7 @@ packages: '@babel/core': 7.26.0 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.14 + '@types/node': 20.17.16 babel-jest: 29.7.0(@babel/core@7.26.0) chalk: 4.1.2 ci-info: 3.9.0 @@ -15171,13 +15177,13 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.2(@types/node@20.17.14)(typescript@5.6.3) + ts-node: 10.9.2(@types/node@20.17.16)(typescript@5.6.3) transitivePeerDependencies: - babel-plugin-macros - supports-color dev: true - /jest-config@29.7.0(@types/node@22.10.7)(ts-node@10.9.2): + /jest-config@29.7.0(@types/node@22.10.10)(ts-node@10.9.2): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -15192,7 +15198,7 @@ packages: '@babel/core': 7.26.0 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.10.7 + '@types/node': 22.10.10 babel-jest: 29.7.0(@babel/core@7.26.0) chalk: 4.1.2 ci-info: 3.9.0 @@ -15212,7 +15218,7 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.2(@types/node@22.10.7)(typescript@5.6.3) + ts-node: 10.9.2(@types/node@22.10.10)(typescript@5.6.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -15259,7 +15265,7 @@ packages: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/jsdom': 20.0.1 - '@types/node': 22.10.7 + '@types/node': 22.10.10 jest-mock: 29.7.0 jest-util: 29.7.0 jsdom: 20.0.3 @@ -15276,7 +15282,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.14 + '@types/node': 20.17.16 jest-mock: 29.7.0 jest-util: 29.7.0 dev: true @@ -15292,7 +15298,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.17.14 + '@types/node': 20.17.16 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -15343,7 +15349,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.14 + '@types/node': 20.17.16 jest-util: 29.7.0 dev: true @@ -15398,7 +15404,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.10.7 + '@types/node': 22.10.10 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -15429,7 +15435,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.14 + '@types/node': 20.17.16 chalk: 4.1.2 cjs-module-lexer: 1.4.1 collect-v8-coverage: 1.0.2 @@ -15481,7 +15487,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.14 + '@types/node': 20.17.16 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -15505,7 +15511,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.14 + '@types/node': 20.17.16 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -15517,7 +15523,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.17.14 + '@types/node': 20.17.16 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -15525,12 +15531,12 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 22.10.7 + '@types/node': 22.10.10 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - /jest@29.7.0(@types/node@16.18.124): + /jest@29.7.0(@types/node@16.18.125): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -15543,7 +15549,7 @@ packages: '@jest/core': 29.7.0(ts-node@10.9.2) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@16.18.124) + jest-cli: 29.7.0(@types/node@16.18.125) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -15551,7 +15557,7 @@ packages: - ts-node dev: true - /jest@29.7.0(@types/node@20.17.14): + /jest@29.7.0(@types/node@20.17.16): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -15564,7 +15570,7 @@ packages: '@jest/core': 29.7.0(ts-node@10.9.2) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@20.17.14) + jest-cli: 29.7.0(@types/node@20.17.16) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -15572,7 +15578,7 @@ packages: - ts-node dev: true - /jest@29.7.0(@types/node@20.17.14)(ts-node@10.9.2): + /jest@29.7.0(@types/node@20.17.16)(ts-node@10.9.2): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -15585,7 +15591,7 @@ packages: '@jest/core': 29.7.0(ts-node@10.9.2) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@20.17.14)(ts-node@10.9.2) + jest-cli: 29.7.0(@types/node@20.17.16)(ts-node@10.9.2) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -15593,7 +15599,7 @@ packages: - ts-node dev: true - /jest@29.7.0(@types/node@22.10.7)(ts-node@10.9.2): + /jest@29.7.0(@types/node@22.10.10)(ts-node@10.9.2): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -15606,7 +15612,7 @@ packages: '@jest/core': 29.7.0(ts-node@10.9.2) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2) + jest-cli: 29.7.0(@types/node@22.10.10)(ts-node@10.9.2) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -15679,7 +15685,7 @@ packages: cssom: 0.5.0 cssstyle: 2.3.0 data-urls: 3.0.2 - decimal.js: 10.4.3 + decimal.js: 10.5.0 domexception: 4.0.0 escodegen: 2.1.0 form-data: 4.0.1 @@ -15825,7 +15831,7 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} - /langchain@0.3.12(@langchain/core@0.3.33)(axios@1.7.4)(openai@4.79.4)(ws@8.18.0): + /langchain@0.3.12(@langchain/core@0.3.33)(axios@1.7.4)(openai@4.80.0)(ws@8.18.0): resolution: {integrity: sha512-BjdQ/f/66W05L8nRgX74bf5QvJIphpg+K5ZTmQwGE8Gk3umtzHp8T4YIRFYjvTxU4XQrGXOgWk1Y9rk5uBbjKA==} engines: {node: '>=18'} peerDependencies: @@ -15877,14 +15883,14 @@ packages: typeorm: optional: true dependencies: - '@langchain/core': 0.3.33(openai@4.79.4) + '@langchain/core': 0.3.33(openai@4.80.0) '@langchain/openai': 0.3.17(@langchain/core@0.3.33)(ws@8.18.0) '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.33) axios: 1.7.4(debug@4.4.0) js-tiktoken: 1.0.16 js-yaml: 4.1.0 jsonpointer: 5.0.1 - langsmith: 0.3.2(openai@4.79.4) + langsmith: 0.3.3(openai@4.80.0) openapi-types: 12.1.3 p-retry: 4.6.2 uuid: 10.0.0 @@ -15897,8 +15903,8 @@ packages: - ws dev: false - /langsmith@0.3.2(openai@4.79.4): - resolution: {integrity: sha512-QUaO6KdinTpts/vBsyPro/R0/Iop+TwTyEYYX8aSIvzwj5EVZY2/VxOefll51t1/E6sISEnra1EwdSCS74Y5NA==} + /langsmith@0.3.3(openai@4.80.0): + resolution: {integrity: sha512-B9B0ThaPYwNdTg9ck6bWF2Mjd1TJvVKLfLedufIudmO8aPDslcc2uVlyPEtskZFEdmfjfVHEqDnhnuAhyifrZQ==} peerDependencies: openai: '*' peerDependenciesMeta: @@ -15908,7 +15914,7 @@ packages: '@types/uuid': 10.0.0 chalk: 4.1.2 console-table-printer: 2.12.1 - openai: 4.79.4(ws@8.18.0)(zod@3.24.1) + openai: 4.80.0(ws@8.18.0)(zod@3.24.1) p-queue: 6.6.2 p-retry: 4.6.2 semver: 7.6.3 @@ -16073,6 +16079,7 @@ packages: /lodash.omit@4.5.0: resolution: {integrity: sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==} + deprecated: This package is deprecated. Use destructuring assignment syntax instead. dev: false /lodash.once@4.1.1: @@ -16308,11 +16315,12 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - /mdast-util-directive@3.0.0: - resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==} + /mdast-util-directive@3.1.0: + resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==} dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 + ccount: 2.0.1 devlop: 1.1.0 mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 @@ -16496,7 +16504,7 @@ packages: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.2.1 + '@ungap/structured-clone': 1.3.0 devlop: 1.1.0 micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 @@ -16556,7 +16564,7 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - /meros@1.3.0(@types/node@22.10.7): + /meros@1.3.0(@types/node@22.10.10): resolution: {integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==} engines: {node: '>=13'} peerDependencies: @@ -16565,7 +16573,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 22.10.7 + '@types/node': 22.10.10 dev: true /methods@1.1.2: @@ -16588,7 +16596,7 @@ packages: micromark-util-html-tag-name: 2.0.1 micromark-util-normalize-identifier: 2.0.1 micromark-util-resolve-all: 2.0.1 - micromark-util-subtokenize: 2.0.3 + micromark-util-subtokenize: 2.0.4 micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.1 @@ -16878,8 +16886,8 @@ packages: micromark-util-encode: 2.0.1 micromark-util-symbol: 2.0.1 - /micromark-util-subtokenize@2.0.3: - resolution: {integrity: sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==} + /micromark-util-subtokenize@2.0.4: + resolution: {integrity: sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==} dependencies: devlop: 1.1.0 micromark-util-chunked: 2.0.1 @@ -16917,7 +16925,7 @@ packages: micromark-util-normalize-identifier: 2.0.1 micromark-util-resolve-all: 2.0.1 micromark-util-sanitize-uri: 2.0.1 - micromark-util-subtokenize: 2.0.3 + micromark-util-subtokenize: 2.0.4 micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.1 transitivePeerDependencies: @@ -17245,7 +17253,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /next@14.2.23(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@18.3.1)(react@18.3.1): + /next@14.2.23(@babel/core@7.26.0)(@playwright/test@1.50.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-mjN3fE6u/tynneLiEg56XnthzuYw+kD7mCujgVqioxyPqbmiotUCGJpIZGS/VaPg3ZDT1tvWxiVyRzeqJFm/kw==} engines: {node: '>=18.17.0'} hasBin: true @@ -17264,7 +17272,7 @@ packages: optional: true dependencies: '@next/env': 14.2.23 - '@playwright/test': 1.49.1 + '@playwright/test': 1.50.0 '@swc/helpers': 0.5.5 busboy: 1.6.0 caniuse-lite: 1.0.30001695 @@ -17390,8 +17398,8 @@ packages: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true - /node-llama-cpp@3.4.0(typescript@5.6.3): - resolution: {integrity: sha512-Do8oQe9dyx9YKOUMv0Px0CN2WQTvchdhC/JaLLUdBucrubDey8ta24guEbKWhD000oRmqxHlTOjutblFu74FQQ==} + /node-llama-cpp@3.4.1(typescript@5.6.3): + resolution: {integrity: sha512-AS3ajS4mhXlk61TWWA/71No/EYBNJvFr+cTZpIu0IU5VDwf/aqhZ62YokQYeKSnz/HAOFMWhdIMKdiX/hWvKbg==} engines: {node: '>=18.0.0'} hasBin: true requiresBuild: true @@ -17433,17 +17441,17 @@ packages: which: 5.0.0 yargs: 17.7.2 optionalDependencies: - '@node-llama-cpp/linux-arm64': 3.4.0 - '@node-llama-cpp/linux-armv7l': 3.4.0 - '@node-llama-cpp/linux-x64': 3.4.0 - '@node-llama-cpp/linux-x64-cuda': 3.4.0 - '@node-llama-cpp/linux-x64-vulkan': 3.4.0 - '@node-llama-cpp/mac-arm64-metal': 3.4.0 - '@node-llama-cpp/mac-x64': 3.4.0 - '@node-llama-cpp/win-arm64': 3.4.0 - '@node-llama-cpp/win-x64': 3.4.0 - '@node-llama-cpp/win-x64-cuda': 3.4.0 - '@node-llama-cpp/win-x64-vulkan': 3.4.0 + '@node-llama-cpp/linux-arm64': 3.4.1 + '@node-llama-cpp/linux-armv7l': 3.4.1 + '@node-llama-cpp/linux-x64': 3.4.1 + '@node-llama-cpp/linux-x64-cuda': 3.4.1 + '@node-llama-cpp/linux-x64-vulkan': 3.4.1 + '@node-llama-cpp/mac-arm64-metal': 3.4.1 + '@node-llama-cpp/mac-x64': 3.4.1 + '@node-llama-cpp/win-arm64': 3.4.1 + '@node-llama-cpp/win-x64': 3.4.1 + '@node-llama-cpp/win-x64-cuda': 3.4.1 + '@node-llama-cpp/win-x64-vulkan': 3.4.1 transitivePeerDependencies: - supports-color dev: false @@ -17714,8 +17722,8 @@ packages: is-wsl: 2.2.0 dev: false - /openai@4.79.4(ws@8.18.0)(zod@3.24.1): - resolution: {integrity: sha512-c3rCDLDK4N6TpE4yQ1sl8eIkYET3tRjFcvm4lGga0qlBxaNL9RqUXg9DuhU+/UpzS3XA9dnRlc1H0vyQTRy65Q==} + /openai@4.80.0(ws@8.18.0)(zod@3.24.1): + resolution: {integrity: sha512-5TqdNQgjOMxo3CkCvtjzuSwuznO/o3q5aak0MTy6IjRvPtvVA1wAFGJU3eZT1JHzhs2wFb/xtDG0o6Y/2KGCfw==} hasBin: true peerDependencies: ws: ^8.18.0 @@ -17726,7 +17734,7 @@ packages: zod: optional: true dependencies: - '@types/node': 18.19.71 + '@types/node': 18.19.74 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 agentkeepalive: 4.6.0 @@ -17892,8 +17900,8 @@ packages: p-timeout: 3.2.0 dev: false - /p-queue@8.0.1: - resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} + /p-queue@8.1.0: + resolution: {integrity: sha512-mxLDbbGIBEXTJL0zEx8JIylaj3xQ7Z/7eEVjcF9fJX4DBiH9oqe+oahYnlKKxm0Ci9TlWTyhSHgygxMxjIB2jw==} engines: {node: '>=18'} dependencies: eventemitter3: 5.0.1 @@ -18163,18 +18171,18 @@ packages: resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==} dev: false - /playwright-core@1.49.1: - resolution: {integrity: sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==} + /playwright-core@1.50.0: + resolution: {integrity: sha512-CXkSSlr4JaZs2tZHI40DsZUN/NIwgaUPsyLuOAaIZp2CyF2sN5MM5NJsyB188lFSSozFxQ5fPT4qM+f0tH/6wQ==} engines: {node: '>=18'} hasBin: true dev: false - /playwright@1.49.1: - resolution: {integrity: sha512-VYL8zLoNTBxVOrJBbDuRgDWa3i+mfQgDTrL8Ah9QXZ7ax4Dsj0MSq5bYgytRnDVVe+njoKnfsYkH3HzqVj5UZA==} + /playwright@1.50.0: + resolution: {integrity: sha512-+GinGfGTrd2IfX1TA4N2gNmeIksSb+IAe589ZH+FlmpV3MYTx6+buChGIuDLQwrGNCw2lWibqV50fU510N7S+w==} engines: {node: '>=18'} hasBin: true dependencies: - playwright-core: 1.49.1 + playwright-core: 1.50.0 optionalDependencies: fsevents: 2.3.2 dev: false @@ -18484,7 +18492,7 @@ packages: dependencies: lilconfig: 3.1.3 postcss: 8.5.1 - ts-node: 10.9.2(@types/node@22.10.7)(typescript@5.6.3) + ts-node: 10.9.2(@types/node@22.10.10)(typescript@5.6.3) yaml: 2.7.0 /postcss-loader@7.3.4(postcss@8.5.1)(typescript@5.6.3)(webpack@5.97.1): @@ -19197,7 +19205,7 @@ packages: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 20.17.14 + '@types/node': 20.17.16 long: 5.2.4 dev: false @@ -19494,8 +19502,8 @@ packages: tslib: 2.8.1 dev: false - /react-remove-scroll@2.6.2(@types/react@18.3.18)(react@18.3.1): - resolution: {integrity: sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==} + /react-remove-scroll@2.6.3(@types/react@18.3.18)(react@18.3.1): + resolution: {integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==} engines: {node: '>=10'} peerDependencies: '@types/react': '*' @@ -19865,11 +19873,11 @@ packages: - encoding dev: true - /remark-directive@3.0.0: - resolution: {integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==} + /remark-directive@3.0.1: + resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==} dependencies: '@types/mdast': 4.0.4 - mdast-util-directive: 3.0.0 + mdast-util-directive: 3.1.0 micromark-extension-directive: 3.0.2 unified: 11.0.5 transitivePeerDependencies: @@ -20040,8 +20048,8 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true - /response-iterator@0.2.16: - resolution: {integrity: sha512-QmLnoE4cJXjCoYjEtYu5zmBMs/1ytHU1RhbBm9/DUKTR641k46qCinzPiOzJJk9r71rxYbuMwM+dExPxlFTrzA==} + /response-iterator@0.2.19: + resolution: {integrity: sha512-9SNSciJRoDouZg4ClSfjGVw+nLNs0VD/XNxEUdQIMfNHrgIf2aBYwQicbroY4eg6KQiu2WMclH3kOBnxU3Thzw==} engines: {node: '>=0.8'} dependencies: readable-stream: 2.3.8 @@ -21523,7 +21531,7 @@ packages: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.17.14)(ts-node@10.9.2) + jest: 29.7.0(@types/node@20.17.16)(ts-node@10.9.2) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -21560,7 +21568,7 @@ packages: code-block-writer: 11.0.3 dev: true - /ts-node@10.9.2(@types/node@20.17.14)(typescript@5.6.3): + /ts-node@10.9.2(@types/node@20.17.16)(typescript@5.6.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -21579,7 +21587,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.17.14 + '@types/node': 20.17.16 acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -21590,7 +21598,7 @@ packages: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - /ts-node@10.9.2(@types/node@22.10.7)(typescript@5.6.3): + /ts-node@10.9.2(@types/node@22.10.10)(typescript@5.6.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -21609,7 +21617,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.10.7 + '@types/node': 22.10.10 acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -21691,64 +21699,64 @@ packages: safe-buffer: 5.2.1 dev: false - /turbo-darwin-64@2.3.3: - resolution: {integrity: sha512-bxX82xe6du/3rPmm4aCC5RdEilIN99VUld4HkFQuw+mvFg6darNBuQxyWSHZTtc25XgYjQrjsV05888w1grpaA==} + /turbo-darwin-64@2.3.4: + resolution: {integrity: sha512-uOi/cUIGQI7uakZygH+cZQ5D4w+aMLlVCN2KTGot+cmefatps2ZmRRufuHrEM0Rl63opdKD8/JIu+54s25qkfg==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64@2.3.3: - resolution: {integrity: sha512-DYbQwa3NsAuWkCUYVzfOUBbSUBVQzH5HWUFy2Kgi3fGjIWVZOFk86ss+xsWu//rlEAfYwEmopigsPYSmW4X15A==} + /turbo-darwin-arm64@2.3.4: + resolution: {integrity: sha512-IIM1Lq5R+EGMtM1YFGl4x8Xkr0MWb4HvyU8N4LNoQ1Be5aycrOE+VVfH+cDg/Q4csn+8bxCOxhRp5KmUflrVTQ==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-linux-64@2.3.3: - resolution: {integrity: sha512-eHj9OIB0dFaP6BxB88jSuaCLsOQSYWBgmhy2ErCu6D2GG6xW3b6e2UWHl/1Ho9FsTg4uVgo4DB9wGsKa5erjUA==} + /turbo-linux-64@2.3.4: + resolution: {integrity: sha512-1aD2EfR7NfjFXNH3mYU5gybLJEFi2IGOoKwoPLchAFRQ6OEJQj201/oNo9CDL75IIrQo64/NpEgVyZtoPlfhfA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64@2.3.3: - resolution: {integrity: sha512-NmDE/NjZoDj1UWBhMtOPmqFLEBKhzGS61KObfrDEbXvU3lekwHeoPvAMfcovzswzch+kN2DrtbNIlz+/rp8OCg==} + /turbo-linux-arm64@2.3.4: + resolution: {integrity: sha512-MxTpdKwxCaA5IlybPxgGLu54fT2svdqTIxRd0TQmpRJIjM0s4kbM+7YiLk0mOh6dGqlWPUsxz/A0Mkn8Xr5o7Q==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-64@2.3.3: - resolution: {integrity: sha512-O2+BS4QqjK3dOERscXqv7N2GXNcqHr9hXumkMxDj/oGx9oCatIwnnwx34UmzodloSnJpgSqjl8iRWiY65SmYoQ==} + /turbo-windows-64@2.3.4: + resolution: {integrity: sha512-yyCrWqcRGu1AOOlrYzRnizEtdkqi+qKP0MW9dbk9OsMDXaOI5jlWtTY/AtWMkLw/czVJ7yS9Ex1vi9DB6YsFvw==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64@2.3.3: - resolution: {integrity: sha512-dW4ZK1r6XLPNYLIKjC4o87HxYidtRRcBeo/hZ9Wng2XM/MqqYkAyzJXJGgRMsc0MMEN9z4+ZIfnSNBrA0b08ag==} + /turbo-windows-arm64@2.3.4: + resolution: {integrity: sha512-PggC3qH+njPfn1PDVwKrQvvQby8X09ufbqZ2Ha4uSu+5TvPorHHkAbZVHKYj2Y+tvVzxRzi4Sv6NdHXBS9Be5w==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo@2.3.3: - resolution: {integrity: sha512-DUHWQAcC8BTiUZDRzAYGvpSpGLiaOQPfYXlCieQbwUvmml/LRGIe3raKdrOPOoiX0DYlzxs2nH6BoWJoZrj8hA==} + /turbo@2.3.4: + resolution: {integrity: sha512-1kiLO5C0Okh5ay1DbHsxkPsw9Sjsbjzm6cF85CpWjR0BIyBFNDbKqtUyqGADRS1dbbZoQanJZVj4MS5kk8J42Q==} hasBin: true optionalDependencies: - turbo-darwin-64: 2.3.3 - turbo-darwin-arm64: 2.3.3 - turbo-linux-64: 2.3.3 - turbo-linux-arm64: 2.3.3 - turbo-windows-64: 2.3.3 - turbo-windows-arm64: 2.3.3 + turbo-darwin-64: 2.3.4 + turbo-darwin-arm64: 2.3.4 + turbo-linux-64: 2.3.4 + turbo-linux-arm64: 2.3.4 + turbo-windows-64: 2.3.4 + turbo-windows-arm64: 2.3.4 dev: true /type-check@0.4.0: @@ -21912,7 +21920,7 @@ packages: reflect-metadata: 0.2.2 sha.js: 2.4.11 sqlite3: 5.1.7 - ts-node: 10.9.2(@types/node@20.17.14)(typescript@5.6.3) + ts-node: 10.9.2(@types/node@20.17.16)(typescript@5.6.3) tslib: 2.8.1 uuid: 9.0.1 yargs: 17.7.2 @@ -22472,7 +22480,7 @@ packages: '@types/serve-index': 1.9.4 '@types/serve-static': 1.15.7 '@types/sockjs': 0.3.36 - '@types/ws': 8.5.13 + '@types/ws': 8.5.14 ansi-html-community: 0.0.8 bonjour-service: 1.3.0 chokidar: 3.6.0 @@ -22648,7 +22656,7 @@ packages: call-bound: 1.0.3 function.prototype.name: 1.1.8 has-tostringtag: 1.0.2 - is-async-function: 2.1.0 + is-async-function: 2.1.1 is-date-object: 1.1.0 is-finalizationregistry: 1.1.1 is-generator-function: 1.1.0