diff --git a/.changeset/short-bees-cough.md b/.changeset/short-bees-cough.md new file mode 100644 index 0000000000000000000000000000000000000000..2c9f27677315d0ee5917daf1220a713b7ae9e35e --- /dev/null +++ b/.changeset/short-bees-cough.md @@ -0,0 +1,6 @@ +--- +"@llamaindex/core": patch +"llamaindex": patch +--- + +refactor: move `RetrieverQueryEngine` into core module diff --git a/apps/next/package.json b/apps/next/package.json index a23a04f037d2f5e81c8fdbe6cf696448e1ca50fb..51118f1db61ad0e49fae70991edbd9618d632b09 100644 --- a/apps/next/package.json +++ b/apps/next/package.json @@ -6,35 +6,49 @@ "build": "pnpm run build:docs && next build", "dev": "next dev", "start": "next start", - "postinstall": "fumadocs-mdx", + "postdev": "fumadocs-mdx", + "postbuild": "fumadocs-mdx", "build:docs": "node ./scripts/generate-docs.mjs" }, "dependencies": { "@icons-pack/react-simple-icons": "^10.1.0", + "@llamaindex/cloud": "workspace:*", + "@llamaindex/core": "workspace:*", + "@llamaindex/openai": "workspace:*", + "@mdx-js/mdx": "^3.1.0", + "@radix-ui/react-dialog": "^1.1.2", "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-slot": "^1.1.0", + "@radix-ui/react-tooltip": "^1.1.3", + "ai": "^3.3.21", "class-variance-authority": "^0.7.0", "clsx": "2.1.1", "foxact": "^0.2.39", "framer-motion": "^11.11.10", "fumadocs-core": "14.0.2", + "fumadocs-docgen": "^1.3.0", "fumadocs-mdx": "11.0.0", "fumadocs-openapi": "^5.5.3", + "fumadocs-twoslash": "^2.0.0", "fumadocs-ui": "14.0.2", "hast-util-to-jsx-runtime": "^2.3.2", "lucide-react": "^0.436.0", - "next": "15.0.0", + "next": "15.0.1", "next-themes": "^0.3.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-icons": "^5.3.0", "react-text-transition": "^3.1.0", "react-use-measure": "^2.1.1", + "rehype-katex": "^7.0.1", + "remark-math": "^6.0.0", "rimraf": "^6.0.1", "shiki": "^1.22.0", "shiki-magic-move": "^0.5.0", + "swr": "^2.2.5", "tailwind-merge": "^2.5.2", - "tailwindcss-animate": "^1.0.7" + "tailwindcss-animate": "^1.0.7", + "zod": "^3.23.8" }, "devDependencies": { "@types/mdx": "^2.0.13", diff --git a/apps/next/source.config.ts b/apps/next/source.config.ts index 0806c16959e6bce433fe8a13a36d9d864abb141c..346eb3c7aee3dc4aad154691ec1e4cb1ea83e029 100644 --- a/apps/next/source.config.ts +++ b/apps/next/source.config.ts @@ -1,7 +1,117 @@ +import { PipelinesService } from "@llamaindex/cloud/api"; +import { rehypeCodeDefaultOptions } from "fumadocs-core/mdx-plugins"; +import { fileGenerator, remarkDocGen, remarkInstall } from "fumadocs-docgen"; import { defineConfig, defineDocs } from "fumadocs-mdx/config"; +import { transformerTwoslash } from "fumadocs-twoslash"; +import { relative } from "node:path"; +import { fileURLToPath } from "node:url"; +import rehypeKatex from "rehype-katex"; +import remarkMath from "remark-math"; + +const baseDir = fileURLToPath(new URL("../src/content", import.meta.url)); export const { docs, meta } = defineDocs({ dir: "./src/content/docs", }); -export default defineConfig(); +export default defineConfig({ + lastModifiedTime: "git", + mdxOptions: { + rehypeCodeOptions: { + inline: "tailing-curly-colon", + themes: { + light: "catppuccin-latte", + dark: "catppuccin-mocha", + }, + transformers: [ + ...(rehypeCodeDefaultOptions.transformers ?? []), + transformerTwoslash(), + { + name: "transformers:remove-notation-escape", + code(hast) { + for (const line of hast.children) { + if (line.type !== "element") continue; + + const lastSpan = line.children.findLast( + (v) => v.type === "element", + ); + + const head = lastSpan?.children[0]; + if (head?.type !== "text") return; + + head.value = head.value.replace(/\[\\!code/g, "[!code"); + } + }, + }, + ], + }, + remarkPlugins: [ + remarkMath, + [remarkInstall, { persist: { id: "package-manager" } }], + [remarkDocGen, { generators: [fileGenerator()] }], + () => { + return (_, file, next) => { + const metadata = file.data.frontmatter as Record<string, unknown>; + const title = metadata.title as string; + const description = metadata.description as string; + let content: string; + if (file.value instanceof Uint8Array) { + content = file.value.toString(); + } else { + content = file.value; + } + if (file.path.includes("content/docs/cloud/api")) { + // skip cloud api docs + return next(); + } + // eslint-disable-next-line turbo/no-undeclared-env-vars + if (process.env.NODE_ENV === "development") { + // skip development + return next(); + } + if (!title || !description) { + throw new Error(`Missing title or description in ${file.path}`); + } + const id = relative(baseDir, file.path); + + if ( + // eslint-disable-next-line turbo/no-undeclared-env-vars + process.env.LLAMA_CLOUD_UPSERT_PIPELINE_DOCUMENTS === "true" && + // eslint-disable-next-line turbo/no-undeclared-env-vars + process.env.LLAMA_CLOUD_PIPELINE_ID !== undefined + ) { + PipelinesService.upsertBatchPipelineDocumentsApiV1PipelinesPipelineIdDocumentsPut( + { + baseUrl: "https://api.cloud.llamaindex.ai/", + body: [ + { + metadata: { + title, + description, + documentUrl: id, + }, + text: content, + id, + }, + ], + path: { + // eslint-disable-next-line turbo/no-undeclared-env-vars + pipeline_id: process.env.LLAMA_CLOUD_PIPELINE_ID, + }, + throwOnError: true, + headers: { + // eslint-disable-next-line turbo/no-undeclared-env-vars + Authorization: `Bearer ${process.env.LLAMA_CLOUD_API_KEY}`, + }, + }, + ).catch((error) => { + console.error(error); + }); + } + return next(); + }; + }, + ], + rehypePlugins: (v) => [rehypeKatex, ...v], + }, +}); diff --git a/apps/next/src/actions/index.tsx b/apps/next/src/actions/index.tsx new file mode 100644 index 0000000000000000000000000000000000000000..17f7d035ca978fe175dddb427fe23e837044080f --- /dev/null +++ b/apps/next/src/actions/index.tsx @@ -0,0 +1,107 @@ +import { ClientMDXContent } from "@/components/mdx"; +import { BotMessage } from "@/components/message"; +import { Skeleton } from "@/components/ui/skeleton"; +import { LlamaCloudRetriever } from "@/deps/cloud"; +import { Settings } from "@llamaindex/core/global"; +import { ChatMessage } from "@llamaindex/core/llms"; +import { RetrieverQueryEngine } from "@llamaindex/core/query-engine"; +import { OpenAI } from "@llamaindex/openai"; +import { createAI, createStreamableUI, getMutableAIState } from "ai/rsc"; +import { ReactNode } from "react"; + +Settings.llm = new OpenAI({ + model: "gpt-4o", +}); + +const retriever = new LlamaCloudRetriever({ + // eslint-disable-next-line turbo/no-undeclared-env-vars + apiKey: process.env.LLAMA_CLOUD_API_KEY!, + baseUrl: "https://api.cloud.llamaindex.ai/", + // eslint-disable-next-line turbo/no-undeclared-env-vars + pipelineId: process.env.LLAMA_CLOUD_PIPELINE_ID!, +}); + +const initialAIState = { + messages: [], +} as { + messages: ChatMessage[]; +}; + +type UIMessage = { + id: number; + display: ReactNode; +}; + +const initialUIState = { + messages: [], +} as { + messages: UIMessage[]; +}; + +const runAsyncFnWithoutBlocking = (fn: (...args: any) => Promise<any>) => { + fn().catch((error) => { + console.error(error); + }); +}; + +export const AIProvider = createAI({ + initialAIState, + initialUIState, + actions: { + query: async (message: string): Promise<UIMessage> => { + "use server"; + const queryEngine = new RetrieverQueryEngine(retriever); + + const id = Date.now(); + const aiState = getMutableAIState<typeof AIProvider>(); + aiState.update({ + ...aiState.get(), + messages: [ + ...aiState.get().messages, + { + role: "user", + content: message, + }, + ], + }); + + const ui = createStreamableUI( + <div className="space-y-2"> + <Skeleton className="h-4 w-full" /> + <Skeleton className="h-4 w-full" /> + </div>, + ); + + runAsyncFnWithoutBlocking(async () => { + const response = await queryEngine.query({ + query: message, + stream: true, + }); + let content = ""; + + for await (const { delta } of response) { + content += delta; + ui.update(<ClientMDXContent id={id} content={content} />); + } + + ui.done(); + + aiState.done({ + ...aiState.get(), + messages: [ + ...aiState.get().messages, + { + role: "assistant", + content, + }, + ], + }); + }); + + return { + id, + display: <BotMessage>{ui.value}</BotMessage>, + }; + }, + }, +}); diff --git a/apps/next/src/app/docs/layout.tsx b/apps/next/src/app/docs/layout.tsx index 0eb0f4e104256e0f105f848236e2c1254d3cc472..eb0fae89909ba89c8f7bc08a51350f3739293cb8 100644 --- a/apps/next/src/app/docs/layout.tsx +++ b/apps/next/src/app/docs/layout.tsx @@ -1,11 +1,36 @@ import { baseOptions } from "@/app/layout.config"; +import { AITrigger } from "@/components/ai-chat"; +import { buttonVariants } from "@/components/ui/button"; import { source } from "@/lib/source"; +import { cn } from "@/lib/utils"; import { DocsLayout } from "fumadocs-ui/layouts/docs"; +import { MessageCircle } from "lucide-react"; import type { ReactNode } from "react"; export default function Layout({ children }: { children: ReactNode }) { return ( - <DocsLayout tree={source.pageTree} {...baseOptions}> + <DocsLayout + tree={source.pageTree} + {...baseOptions} + nav={{ + ...baseOptions.nav, + children: ( + <AITrigger + className={cn( + buttonVariants({ + variant: "secondary", + size: "xs", + className: + "md:flex-1 px-2 ms-2 gap-1.5 text-fd-muted-foreground rounded-full", + }), + )} + > + <MessageCircle className="size-3" /> + Ask LlamaCloud + </AITrigger> + ), + }} + > {children} </DocsLayout> ); diff --git a/apps/next/src/app/layout.config.tsx b/apps/next/src/app/layout.config.tsx index 81bb3ca40cecc2fa700a48b72ad102faf91f4934..ee86c3bd323b61eb37ed69b0147aeab0d07e4df3 100644 --- a/apps/next/src/app/layout.config.tsx +++ b/apps/next/src/app/layout.config.tsx @@ -1,5 +1,16 @@ import { DOCUMENT_URL } from "@/lib/const"; import type { BaseLayoutProps } from "fumadocs-ui/layouts/shared"; +import Image from "next/image"; + +const logo = ( + <Image + src="/logo-large.png" + alt="Logo" + className="size-8" + width={147} + height={147} + /> +); /** * Shared layout configurations @@ -10,7 +21,8 @@ import type { BaseLayoutProps } from "fumadocs-ui/layouts/shared"; */ export const baseOptions: BaseLayoutProps = { nav: { - title: "LlamaIndex.TS", + title: logo, + transparentMode: "top", }, githubUrl: "https://github.com/run-llama/LlamaIndexTS", links: [ diff --git a/apps/next/src/app/layout.tsx b/apps/next/src/app/layout.tsx index 5ddddc58f3ffcf99aae77f1eb099e149715f7cda..4a975ed23f6f7980b2c253b0ce2f35a80c7091f5 100644 --- a/apps/next/src/app/layout.tsx +++ b/apps/next/src/app/layout.tsx @@ -1,3 +1,5 @@ +import { AIProvider } from "@/actions"; +import { TooltipProvider } from "@/components/ui/tooltip"; import { RootProvider } from "fumadocs-ui/provider"; import { Inter } from "next/font/google"; import type { ReactNode } from "react"; @@ -31,7 +33,11 @@ export default function Layout({ children }: { children: ReactNode }) { /> </head> <body className="flex flex-col min-h-screen"> - <RootProvider>{children}</RootProvider> + <TooltipProvider> + <AIProvider> + <RootProvider>{children}</RootProvider> + </AIProvider> + </TooltipProvider> </body> </html> ); diff --git a/apps/next/src/components/ai-chat.tsx b/apps/next/src/components/ai-chat.tsx new file mode 100644 index 0000000000000000000000000000000000000000..ff58ad6cb6c3d8093d77d490d5ee2a92b34f6796 --- /dev/null +++ b/apps/next/src/components/ai-chat.tsx @@ -0,0 +1,143 @@ +"use client"; +import type { AIProvider } from "@/actions"; +import { UserMessage } from "@/components/message"; +import { useActions, useUIState } from "ai/rsc"; +import { Info } from "lucide-react"; +import { ButtonHTMLAttributes, useState } from "react"; +import { Alert, AlertDescription, AlertTitle } from "./ui/alert"; +import { Button } from "./ui/button"; +import { + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogOverlay, + DialogPortal, + DialogTitle, + DialogTrigger, +} from "./ui/dialog"; +import { Textarea } from "./ui/textarea"; +import { Tooltip, TooltipContent, TooltipTrigger } from "./ui/tooltip"; + +type AITriggerProps = ButtonHTMLAttributes<HTMLButtonElement>; + +function ChatList({ messages }: { messages: any[] }) { + if (messages.length === 0) { + return null; + } + + return ( + <div className="relative mx-auto w-full px-4"> + {messages.map((message, index) => ( + <div key={index} className="pb-4"> + {message.display} + </div> + ))} + </div> + ); +} + +export const AITrigger = (props: AITriggerProps) => { + const [{ messages }, setUIState] = useUIState<typeof AIProvider>(); + const { query } = useActions<typeof AIProvider>(); + const [inputValue, setInputValue] = useState(""); + return ( + <Dialog> + <DialogTrigger {...props} /> + <DialogPortal> + <DialogOverlay className="fixed inset-0 z-50 bg-fd-background/50 backdrop-blur-sm data-[state=closed]:animate-fd-fade-out data-[state=open]:animate-fd-fade-in" /> + <DialogContent + onOpenAutoFocus={(e) => { + document.getElementById("nd-ai-input")?.focus(); + e.preventDefault(); + }} + className="fixed left-1/2 z-50 my-[5vh] flex max-h-[90dvh] w-[98vw] max-w-[860px] origin-left -translate-x-1/2 flex-col rounded-lg border bg-fd-popover text-fd-popover-foreground shadow-lg focus-visible:outline-none data-[state=closed]:animate-fd-dialog-out data-[state=open]:animate-fd-dialog-in" + > + <DialogHeader> + <DialogTitle className="sr-only">Search AI</DialogTitle> + <DialogDescription className="sr-only"> + Ask AI some questions. + </DialogDescription> + <Alert> + <Info className="size-4" /> + <AlertTitle>Heads up!</AlertTitle> + <AlertDescription> + Answers from LlamaCloud may be inaccurate, please use with + discretion. + </AlertDescription> + </Alert> + </DialogHeader> + <div className="overflow-scroll flex-grow mt-4"> + <ChatList messages={messages} /> + </div> + <form + className="px-4 py-2 space-y-4" + action={async () => { + const value = inputValue.trim(); + setInputValue(""); + if (!value) return; + + // Add user message UI + setUIState((state) => ({ + ...state, + messages: [ + ...state.messages, + { + id: Date.now(), + display: <UserMessage>{value}</UserMessage>, + }, + ], + })); + + try { + // Submit and get response message + const responseMessage = await query(value); + setUIState((state) => ({ + ...state, + messages: [...state.messages, responseMessage], + })); + } catch (error) { + // You may want to show a toast or trigger an error state. + console.error(error); + } + }} + > + <div className="flex flex-row w-full items-center gap-2"> + <Textarea + tabIndex={0} + placeholder="Ask AI about documentation." + className="w-full resize-none bg-transparent px-4 focus-within:outline-none sm:text-sm" + onKeyDown={(event) => { + if (event.key === "Enter" && !event.shiftKey) { + event.preventDefault(); + event.currentTarget.form?.requestSubmit(null); + } + }} + autoFocus + spellCheck={false} + autoComplete="off" + autoCorrect="off" + name="message" + rows={1} + value={inputValue} + onChange={(e) => setInputValue(e.target.value)} + /> + <Tooltip> + <TooltipTrigger asChild> + <Button + type="submit" + size="icon" + disabled={inputValue === ""} + > + <span className="sr-only">Send message</span> + </Button> + </TooltipTrigger> + <TooltipContent>Send message</TooltipContent> + </Tooltip> + </div> + </form> + </DialogContent> + </DialogPortal> + </Dialog> + ); +}; diff --git a/apps/next/src/components/mdx.tsx b/apps/next/src/components/mdx.tsx new file mode 100644 index 0000000000000000000000000000000000000000..71a938e823028a3279d96ea77a339c3c28bfa3c1 --- /dev/null +++ b/apps/next/src/components/mdx.tsx @@ -0,0 +1,41 @@ +"use client"; +import { createProcessor, run } from "@mdx-js/mdx"; +import defaultMdxComponents from "fumadocs-ui/mdx"; +import { ReactNode, useDeferredValue } from "react"; +import * as runtime from "react/jsx-runtime"; +import useSWR from "swr"; + +const processor = createProcessor({ + outputFormat: "function-body", +}); + +export function ClientMDXContent({ + content, + id, +}: { + content: string; + id: number; +}): ReactNode { + const deferredContent = useDeferredValue(content); + const { data: jsx } = useSWR(["mdx", id, deferredContent], { + fetcher: async () => { + const code = await processor + .process(deferredContent) + .then((vfile) => vfile.value); + const { default: Content } = await run(code, { + ...runtime, + baseUrl: import.meta.url, + }); + return ( + <Content + components={{ + ...defaultMdxComponents, + }} + /> + ); + }, + suspense: true, + }); + + return jsx; +} diff --git a/apps/next/src/components/message.tsx b/apps/next/src/components/message.tsx new file mode 100644 index 0000000000000000000000000000000000000000..7f71ba3bab36b71fa23ba440152725c77c37ae9c --- /dev/null +++ b/apps/next/src/components/message.tsx @@ -0,0 +1,78 @@ +"use client"; + +import { cn } from "@/lib/utils"; +import Image from "next/image"; +import { ReactNode } from "react"; +import { IconAI, IconUser } from "./ui/icons"; + +export function UserMessage({ children }: { children: ReactNode }) { + return ( + <div className="group relative flex items-start"> + <div className="flex h-8 w-8 shrink-0 select-none items-center justify-center rounded-md border shadow-sm bg-background"> + <IconUser /> + </div> + <div className="ml-4 flex-1 space-y-2 overflow-hidden px-1"> + {children} + </div> + </div> + ); +} + +export function BotMessage({ + children, + className, +}: { + children: ReactNode; + className?: string; +}) { + return ( + <div className={cn("group relative flex items-start", className)}> + <div className="flex h-8 w-8 shrink-0 select-none items-center justify-center rounded-md border shadow-sm"> + <Image + src="/logo-large.png" + alt="Logo" + className="size-4" + width={147} + height={147} + /> + </div> + <div className="ml-4 flex-1 space-y-2 overflow-hidden px-1"> + {children} + </div> + </div> + ); +} + +export function BotCard({ + children, + showAvatar = true, +}: { + children: ReactNode; + showAvatar?: boolean; +}) { + return ( + <div className="group relative flex items-start md:-ml-12"> + <div + className={cn( + "flex h-8 w-8 shrink-0 select-none items-center justify-center rounded-md border shadow-sm bg-primary text-primary-foreground", + !showAvatar && "invisible", + )} + > + <IconAI /> + </div> + <div className="ml-4 flex-1 px-1">{children}</div> + </div> + ); +} + +export function SystemMessage({ children }: { children: React.ReactNode }) { + return ( + <div + className={ + "mt-2 flex items-center justify-center gap-2 text-xs text-gray-500" + } + > + <div className={"max-w-[600px] flex-initial px-2 py-2"}>{children}</div> + </div> + ); +} diff --git a/apps/next/src/components/ui/alert.tsx b/apps/next/src/components/ui/alert.tsx new file mode 100644 index 0000000000000000000000000000000000000000..b7937b08e9fc121379633e064b00803d38bae951 --- /dev/null +++ b/apps/next/src/components/ui/alert.tsx @@ -0,0 +1,59 @@ +import { cva, type VariantProps } from "class-variance-authority"; +import * as React from "react"; + +import { cn } from "@/lib/utils"; + +const alertVariants = cva( + "relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7", + { + variants: { + variant: { + default: "bg-background text-foreground", + destructive: + "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive", + }, + }, + defaultVariants: { + variant: "default", + }, + }, +); + +const Alert = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants> +>(({ className, variant, ...props }, ref) => ( + <div + ref={ref} + role="alert" + className={cn(alertVariants({ variant }), className)} + {...props} + /> +)); +Alert.displayName = "Alert"; + +const AlertTitle = React.forwardRef< + HTMLParagraphElement, + React.HTMLAttributes<HTMLHeadingElement> +>(({ className, ...props }, ref) => ( + <h5 + ref={ref} + className={cn("mb-1 font-medium leading-none tracking-tight", className)} + {...props} + /> +)); +AlertTitle.displayName = "AlertTitle"; + +const AlertDescription = React.forwardRef< + HTMLParagraphElement, + React.HTMLAttributes<HTMLParagraphElement> +>(({ className, ...props }, ref) => ( + <div + ref={ref} + className={cn("text-sm [&_p]:leading-relaxed", className)} + {...props} + /> +)); +AlertDescription.displayName = "AlertDescription"; + +export { Alert, AlertDescription, AlertTitle }; diff --git a/apps/next/src/components/ui/button.tsx b/apps/next/src/components/ui/button.tsx index 961fe42a9e1727939b161b9c73911ba09cad8f37..9de3b9d2fc44620a2614c42b9ea3a038ba44a5d8 100644 --- a/apps/next/src/components/ui/button.tsx +++ b/apps/next/src/components/ui/button.tsx @@ -24,6 +24,7 @@ const buttonVariants = cva( default: "h-9 px-4 py-2", sm: "h-8 rounded-md px-3 text-xs", lg: "h-10 rounded-md px-8", + xs: "px-1.5 py-0.5 text-xs", icon: "h-9 w-9", }, }, diff --git a/apps/next/src/components/ui/dialog.tsx b/apps/next/src/components/ui/dialog.tsx new file mode 100644 index 0000000000000000000000000000000000000000..93542df32f48a6ad30da4917f11db7b4400d541f --- /dev/null +++ b/apps/next/src/components/ui/dialog.tsx @@ -0,0 +1,122 @@ +"use client"; + +import * as DialogPrimitive from "@radix-ui/react-dialog"; +import { Cross2Icon } from "@radix-ui/react-icons"; +import * as React from "react"; + +import { cn } from "@/lib/utils"; + +const Dialog = DialogPrimitive.Root; + +const DialogTrigger = DialogPrimitive.Trigger; + +const DialogPortal = DialogPrimitive.Portal; + +const DialogClose = DialogPrimitive.Close; + +const DialogOverlay = React.forwardRef< + React.ElementRef<typeof DialogPrimitive.Overlay>, + React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay> +>(({ className, ...props }, ref) => ( + <DialogPrimitive.Overlay + ref={ref} + className={cn( + "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", + className, + )} + {...props} + /> +)); +DialogOverlay.displayName = DialogPrimitive.Overlay.displayName; + +const DialogContent = React.forwardRef< + React.ElementRef<typeof DialogPrimitive.Content>, + React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> +>(({ className, children, ...props }, ref) => ( + <DialogPortal> + <DialogOverlay /> + <DialogPrimitive.Content + ref={ref} + className={cn( + "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg", + className, + )} + {...props} + > + {children} + <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"> + <Cross2Icon className="h-4 w-4" /> + <span className="sr-only">Close</span> + </DialogPrimitive.Close> + </DialogPrimitive.Content> + </DialogPortal> +)); +DialogContent.displayName = DialogPrimitive.Content.displayName; + +const DialogHeader = ({ + className, + ...props +}: React.HTMLAttributes<HTMLDivElement>) => ( + <div + className={cn( + "flex flex-col space-y-1.5 text-center sm:text-left", + className, + )} + {...props} + /> +); +DialogHeader.displayName = "DialogHeader"; + +const DialogFooter = ({ + className, + ...props +}: React.HTMLAttributes<HTMLDivElement>) => ( + <div + className={cn( + "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", + className, + )} + {...props} + /> +); +DialogFooter.displayName = "DialogFooter"; + +const DialogTitle = React.forwardRef< + React.ElementRef<typeof DialogPrimitive.Title>, + React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title> +>(({ className, ...props }, ref) => ( + <DialogPrimitive.Title + ref={ref} + className={cn( + "text-lg font-semibold leading-none tracking-tight", + className, + )} + {...props} + /> +)); +DialogTitle.displayName = DialogPrimitive.Title.displayName; + +const DialogDescription = React.forwardRef< + React.ElementRef<typeof DialogPrimitive.Description>, + React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description> +>(({ className, ...props }, ref) => ( + <DialogPrimitive.Description + ref={ref} + className={cn("text-sm text-muted-foreground", className)} + {...props} + /> +)); +DialogDescription.displayName = DialogPrimitive.Description.displayName; + +export { + Dialog, + DialogClose, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogOverlay, + DialogPortal, + DialogTitle, + DialogTrigger, +}; diff --git a/apps/next/src/components/ui/icons.tsx b/apps/next/src/components/ui/icons.tsx new file mode 100644 index 0000000000000000000000000000000000000000..ace5e965f275542e215c0fc33e55785df8048ed8 --- /dev/null +++ b/apps/next/src/components/ui/icons.tsx @@ -0,0 +1,30 @@ +import { cn } from "@/lib/utils"; + +export function IconAI({ className, ...props }: React.ComponentProps<"svg">) { + return ( + <svg + fill="currentColor" + viewBox="0 0 256 256" + role="img" + xmlns="http://www.w3.org/2000/svg" + className={cn("h-4 w-4", className)} + {...props} + > + <path d="M197.58,129.06l-51.61-19-19-51.65a15.92,15.92,0,0,0-29.88,0L78.07,110l-51.65,19a15.92,15.92,0,0,0,0,29.88L78,178l19,51.62a15.92,15.92,0,0,0,29.88,0l19-51.61,51.65-19a15.92,15.92,0,0,0,0-29.88ZM140.39,163a15.87,15.87,0,0,0-9.43,9.43l-19,51.46L93,172.39A15.87,15.87,0,0,0,83.61,163h0L32.15,144l51.46-19A15.87,15.87,0,0,0,93,115.61l19-51.46,19,51.46a15.87,15.87,0,0,0,9.43,9.43l51.46,19ZM144,40a8,8,0,0,1,8-8h16V16a8,8,0,0,1,16,0V32h16a8,8,0,0,1,0,16H184V64a8,8,0,0,1-16,0V48H152A8,8,0,0,1,144,40ZM248,88a8,8,0,0,1-8,8h-8v8a8,8,0,0,1-16,0V96h-8a8,8,0,0,1,0-16h8V72a8,8,0,0,1,16,0v8h8A8,8,0,0,1,248,88Z"></path> + </svg> + ); +} + +export function IconUser({ className, ...props }: React.ComponentProps<"svg">) { + return ( + <svg + xmlns="http://www.w3.org/2000/svg" + viewBox="0 0 256 256" + fill="currentColor" + className={cn("h-4 w-4", className)} + {...props} + > + <path d="M230.92 212c-15.23-26.33-38.7-45.21-66.09-54.16a72 72 0 1 0-73.66 0c-27.39 8.94-50.86 27.82-66.09 54.16a8 8 0 1 0 13.85 8c18.84-32.56 52.14-52 89.07-52s70.23 19.44 89.07 52a8 8 0 1 0 13.85-8ZM72 96a56 56 0 1 1 56 56 56.06 56.06 0 0 1-56-56Z" /> + </svg> + ); +} diff --git a/apps/next/src/components/ui/textarea.tsx b/apps/next/src/components/ui/textarea.tsx new file mode 100644 index 0000000000000000000000000000000000000000..0e546bbf348e10976ec45159d815b9d45f21f364 --- /dev/null +++ b/apps/next/src/components/ui/textarea.tsx @@ -0,0 +1,24 @@ +import * as React from "react"; + +import { cn } from "@/lib/utils"; + +export interface TextareaProps + extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {} + +const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>( + ({ className, ...props }, ref) => { + return ( + <textarea + className={cn( + "flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50", + className, + )} + ref={ref} + {...props} + /> + ); + }, +); +Textarea.displayName = "Textarea"; + +export { Textarea }; diff --git a/apps/next/src/components/ui/tooltip.tsx b/apps/next/src/components/ui/tooltip.tsx new file mode 100644 index 0000000000000000000000000000000000000000..0fb871c712be8653c53a79186f1b17a8f508b997 --- /dev/null +++ b/apps/next/src/components/ui/tooltip.tsx @@ -0,0 +1,32 @@ +"use client"; + +import * as TooltipPrimitive from "@radix-ui/react-tooltip"; +import * as React from "react"; + +import { cn } from "@/lib/utils"; + +const TooltipProvider = TooltipPrimitive.Provider; + +const Tooltip = TooltipPrimitive.Root; + +const TooltipTrigger = TooltipPrimitive.Trigger; + +const TooltipContent = React.forwardRef< + React.ElementRef<typeof TooltipPrimitive.Content>, + React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> +>(({ className, sideOffset = 4, ...props }, ref) => ( + <TooltipPrimitive.Portal> + <TooltipPrimitive.Content + ref={ref} + sideOffset={sideOffset} + className={cn( + "z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", + className, + )} + {...props} + /> + </TooltipPrimitive.Portal> +)); +TooltipContent.displayName = TooltipPrimitive.Content.displayName; + +export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }; diff --git a/apps/next/src/deps/cloud.ts b/apps/next/src/deps/cloud.ts new file mode 100644 index 0000000000000000000000000000000000000000..786529f48650ee1809c89c4cb6948d9200c7a3c0 --- /dev/null +++ b/apps/next/src/deps/cloud.ts @@ -0,0 +1,96 @@ +import { + type MetadataFilter, + type MetadataFilters, + PipelinesService, + type RetrievalParams, + type TextNodeWithScore, +} from "@llamaindex/cloud/api"; +import { QueryBundle } from "@llamaindex/core/query-engine"; +import { BaseRetriever } from "@llamaindex/core/retriever"; +import { jsonToNode, NodeWithScore, ObjectType } from "@llamaindex/core/schema"; +import { extractText } from "@llamaindex/core/utils"; + +export type CloudRetrieveParams = Omit< + RetrievalParams, + "query" | "search_filters" | "dense_similarity_top_k" +> & { similarityTopK?: number; filters?: MetadataFilters }; + +export type LlamaCloudRetrieverParams = { + apiKey: string; + baseUrl: string; + pipelineId: string; +} & CloudRetrieveParams; + +export class LlamaCloudRetriever extends BaseRetriever { + baseUrl: string; + apiKey: string; + + retrieveParams: CloudRetrieveParams; + organizationId?: string; + pipelineId: string; + + private resultNodesToNodeWithScore( + nodes: TextNodeWithScore[], + ): NodeWithScore[] { + return nodes.map((node: TextNodeWithScore) => { + const textNode = jsonToNode(node.node, ObjectType.TEXT); + textNode.metadata = { + ...textNode.metadata, + ...node.node.extra_info, + }; + return { + node: textNode, + score: node.score ?? undefined, + }; + }); + } + + private convertFilter(filters?: MetadataFilters): MetadataFilters | null { + if (!filters) return null; + + const processFilter = ( + filter: MetadataFilter | MetadataFilters, + ): MetadataFilter | MetadataFilters => { + if ("filters" in filter) { + // type MetadataFilters + return { ...filter, filters: filter.filters.map(processFilter) }; + } + return { ...filter, value: filter.value ?? null }; + }; + + return { ...filters, filters: filters.filters.map(processFilter) }; + } + + constructor(params: LlamaCloudRetrieverParams) { + super(); + this.baseUrl = params.baseUrl; + this.apiKey = params.apiKey; + this.retrieveParams = params; + this.pipelineId = params.pipelineId; + } + + override async _retrieve(query: QueryBundle): Promise<NodeWithScore[]> { + const filters = this.convertFilter(this.retrieveParams.filters); + const pipelineId = this.pipelineId; + + const { data: results } = + await PipelinesService.runSearchApiV1PipelinesPipelineIdRetrievePost({ + throwOnError: true, + path: { + pipeline_id: pipelineId, + }, + baseUrl: this.baseUrl, + body: { + ...this.retrieveParams, + query: extractText(query), + search_filters: filters, + dense_similarity_top_k: this.retrieveParams.similarityTopK!, + }, + headers: { + authorization: `Bearer ${this.apiKey}`, + }, + }); + + return this.resultNodesToNodeWithScore(results.retrieval_nodes); + } +} diff --git a/packages/core/package.json b/packages/core/package.json index 2f16dbc21ed95bcf6d41bf7d84c8b57ae90d1f7d..5fc35b41b7d8d2540ae79e2a5d38d8c442f0a0cb 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -297,6 +297,20 @@ "types": "./data-structs/dist/index.d.ts", "default": "./data-structs/dist/index.js" } + }, + "./postprocessor": { + "require": { + "types": "./postprocessor/dist/index.d.cts", + "default": "./postprocessor/dist/index.cjs" + }, + "import": { + "types": "./postprocessor/dist/index.d.ts", + "default": "./postprocessor/dist/index.js" + }, + "default": { + "types": "./postprocessor/dist/index.d.ts", + "default": "./postprocessor/dist/index.js" + } } }, "files": [ @@ -320,7 +334,8 @@ "./retriever", "./vector-store", "./tools", - "./data-structs" + "./data-structs", + "./postprocessor" ], "scripts": { "dev": "bunchee --watch", diff --git a/packages/core/src/postprocessor/index.ts b/packages/core/src/postprocessor/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..a495e6a5b68367775b3ef54ec48b0469e867f83e --- /dev/null +++ b/packages/core/src/postprocessor/index.ts @@ -0,0 +1 @@ +export type { BaseNodePostprocessor } from "./type"; diff --git a/packages/llamaindex/src/postprocessors/types.ts b/packages/core/src/postprocessor/type.ts similarity index 75% rename from packages/llamaindex/src/postprocessors/types.ts rename to packages/core/src/postprocessor/type.ts index 8fafb4cfe9a77fbc29f719575294952ac2ee73b8..14f21f5b9b9b0ab54bbdd2852d13034a961777a7 100644 --- a/packages/llamaindex/src/postprocessors/types.ts +++ b/packages/core/src/postprocessor/type.ts @@ -1,5 +1,5 @@ -import type { MessageContent } from "@llamaindex/core/llms"; -import type { NodeWithScore } from "@llamaindex/core/schema"; +import type { MessageContent } from "../llms"; +import type { NodeWithScore } from "../schema"; export interface BaseNodePostprocessor { /** diff --git a/packages/core/src/query-engine/base.ts b/packages/core/src/query-engine/base.ts index f0cbecf8a59b4111b365bc89fb46cee99a6c1d85..fc1136b13cb2d38e179a292629c92866bbe6e90f 100644 --- a/packages/core/src/query-engine/base.ts +++ b/packages/core/src/query-engine/base.ts @@ -36,9 +36,10 @@ export type QueryFn = ( ) => Promise<AsyncIterable<EngineResponse> | EngineResponse>; export abstract class BaseQueryEngine extends PromptMixin { - protected constructor(protected readonly _query: QueryFn) { - super(); - } + abstract _query( + strOrQueryBundle: QueryType, + stream?: boolean, + ): Promise<AsyncIterable<EngineResponse> | EngineResponse>; async retrieve(params: QueryType): Promise<NodeWithScore[]> { throw new Error( diff --git a/packages/core/src/query-engine/index.ts b/packages/core/src/query-engine/index.ts index c0a73e9bad9b4dec8baed84cc183598b9f762d00..d529aa110c8026f60237e58c3f6926ce03fdbb32 100644 --- a/packages/core/src/query-engine/index.ts +++ b/packages/core/src/query-engine/index.ts @@ -1,2 +1,3 @@ export { BaseQueryEngine, type QueryBundle, type QueryType } from "./base"; +export { RetrieverQueryEngine } from "./retriever"; export type { QueryEndEvent, QueryStartEvent } from "./type"; diff --git a/packages/core/src/query-engine/retriever.ts b/packages/core/src/query-engine/retriever.ts new file mode 100644 index 0000000000000000000000000000000000000000..8ca23a2fd6cabb0f77f4d2efb6db6eab56d5bd5a --- /dev/null +++ b/packages/core/src/query-engine/retriever.ts @@ -0,0 +1,91 @@ +import type { MessageContent } from "../llms"; +import type { BaseNodePostprocessor } from "../postprocessor"; +import { BaseQueryEngine, type QueryType } from "../query-engine"; +import { + type BaseSynthesizer, + getResponseSynthesizer, +} from "../response-synthesizers"; +import { BaseRetriever } from "../retriever"; +import type { NodeWithScore } from "../schema"; +import { extractText } from "../utils"; + +export class RetrieverQueryEngine extends BaseQueryEngine { + retriever: BaseRetriever; + responseSynthesizer: BaseSynthesizer; + nodePostprocessors: BaseNodePostprocessor[]; + + constructor( + retriever: BaseRetriever, + responseSynthesizer?: BaseSynthesizer, + nodePostprocessors?: BaseNodePostprocessor[], + ) { + super(); + + this.retriever = retriever; + this.responseSynthesizer = + responseSynthesizer || getResponseSynthesizer("compact"); + this.nodePostprocessors = nodePostprocessors || []; + } + + override async _query(strOrQueryBundle: QueryType, stream?: boolean) { + const nodesWithScore = await this.retrieve( + typeof strOrQueryBundle === "string" + ? strOrQueryBundle + : extractText(strOrQueryBundle), + ); + if (stream) { + return this.responseSynthesizer.synthesize( + { + query: + typeof strOrQueryBundle === "string" + ? { query: strOrQueryBundle } + : strOrQueryBundle, + nodes: nodesWithScore, + }, + true, + ); + } + return this.responseSynthesizer.synthesize({ + query: + typeof strOrQueryBundle === "string" + ? { query: strOrQueryBundle } + : strOrQueryBundle, + nodes: nodesWithScore, + }); + } + + protected _getPrompts() { + return {}; + } + + protected _updatePrompts() {} + + _getPromptModules() { + return { + responseSynthesizer: this.responseSynthesizer, + }; + } + + private async applyNodePostprocessors( + nodes: NodeWithScore[], + query: MessageContent, + ) { + let nodesWithScore = nodes; + + for (const postprocessor of this.nodePostprocessors) { + nodesWithScore = await postprocessor.postprocessNodes( + nodesWithScore, + query, + ); + } + + return nodesWithScore; + } + + override async retrieve(query: QueryType) { + const nodes = await this.retriever.retrieve(query); + + const messageContent = typeof query === "string" ? query : query.query; + return await this.applyNodePostprocessors(nodes, messageContent); + } +} diff --git a/packages/llamaindex/src/cloud/LlamaCloudIndex.ts b/packages/llamaindex/src/cloud/LlamaCloudIndex.ts index 97e199de4a6bd59eb722ca9191607d1c0f758e5a..2622be1b8224d8c09c600f6bfbaddfff17420a23 100644 --- a/packages/llamaindex/src/cloud/LlamaCloudIndex.ts +++ b/packages/llamaindex/src/cloud/LlamaCloudIndex.ts @@ -1,8 +1,8 @@ +import type { BaseNodePostprocessor } from "@llamaindex/core/postprocessor"; import type { BaseQueryEngine } from "@llamaindex/core/query-engine"; import type { BaseSynthesizer } from "@llamaindex/core/response-synthesizers"; import type { Document } from "@llamaindex/core/schema"; import { RetrieverQueryEngine } from "../engines/query/RetrieverQueryEngine.js"; -import type { BaseNodePostprocessor } from "../postprocessors/types.js"; import type { CloudRetrieveParams } from "./LlamaCloudRetriever.js"; import { LlamaCloudRetriever } from "./LlamaCloudRetriever.js"; import type { CloudConstructorParams } from "./type.js"; diff --git a/packages/llamaindex/src/engines/chat/ContextChatEngine.ts b/packages/llamaindex/src/engines/chat/ContextChatEngine.ts index c5f85fbdefeb0049ee28b57e8a5871cf135fe53e..e7b9a9ce26699e1552c694af63ad0d08b0b2a3ab 100644 --- a/packages/llamaindex/src/engines/chat/ContextChatEngine.ts +++ b/packages/llamaindex/src/engines/chat/ContextChatEngine.ts @@ -11,6 +11,7 @@ import type { MessageType, } from "@llamaindex/core/llms"; import { BaseMemory, ChatMemoryBuffer } from "@llamaindex/core/memory"; +import type { BaseNodePostprocessor } from "@llamaindex/core/postprocessor"; import { type ContextSystemPrompt, type ModuleRecord, @@ -25,7 +26,6 @@ import { streamReducer, } from "@llamaindex/core/utils"; import { Settings } from "../../Settings.js"; -import type { BaseNodePostprocessor } from "../../postprocessors/index.js"; import { DefaultContextGenerator } from "./DefaultContextGenerator.js"; import type { ContextGenerator } from "./types.js"; diff --git a/packages/llamaindex/src/engines/chat/DefaultContextGenerator.ts b/packages/llamaindex/src/engines/chat/DefaultContextGenerator.ts index c83cbb1a987687ad98a28a953dfa3d225639059a..55cd3403c8a150b92d318eb06b25c28f11917e0f 100644 --- a/packages/llamaindex/src/engines/chat/DefaultContextGenerator.ts +++ b/packages/llamaindex/src/engines/chat/DefaultContextGenerator.ts @@ -1,4 +1,5 @@ import type { MessageContent, MessageType } from "@llamaindex/core/llms"; +import type { BaseNodePostprocessor } from "@llamaindex/core/postprocessor"; import { type ContextSystemPrompt, defaultContextSystemPrompt, @@ -8,7 +9,6 @@ import { import { createMessageContent } from "@llamaindex/core/response-synthesizers"; import type { BaseRetriever } from "@llamaindex/core/retriever"; import { MetadataMode, type NodeWithScore } from "@llamaindex/core/schema"; -import type { BaseNodePostprocessor } from "../../postprocessors/index.js"; import type { Context, ContextGenerator } from "./types.js"; export class DefaultContextGenerator diff --git a/packages/llamaindex/src/engines/query/RetrieverQueryEngine.ts b/packages/llamaindex/src/engines/query/RetrieverQueryEngine.ts index 2a3d105f2a3472bbd508506a02cce507735e046b..bd5e44dc0b4774e1f2d9af442a650004a29e3ec2 100644 --- a/packages/llamaindex/src/engines/query/RetrieverQueryEngine.ts +++ b/packages/llamaindex/src/engines/query/RetrieverQueryEngine.ts @@ -1,90 +1,4 @@ -import type { MessageContent } from "@llamaindex/core/llms"; -import { BaseQueryEngine, type QueryType } from "@llamaindex/core/query-engine"; -import type { BaseSynthesizer } from "@llamaindex/core/response-synthesizers"; -import { getResponseSynthesizer } from "@llamaindex/core/response-synthesizers"; -import { BaseRetriever } from "@llamaindex/core/retriever"; -import { type NodeWithScore } from "@llamaindex/core/schema"; -import { extractText } from "@llamaindex/core/utils"; -import type { BaseNodePostprocessor } from "../../postprocessors/index.js"; - /** - * A query engine that uses a retriever to query an index and then synthesizes the response. + * todo: this file should be removed in the major release */ -export class RetrieverQueryEngine extends BaseQueryEngine { - retriever: BaseRetriever; - responseSynthesizer: BaseSynthesizer; - nodePostprocessors: BaseNodePostprocessor[]; - - constructor( - retriever: BaseRetriever, - responseSynthesizer?: BaseSynthesizer, - nodePostprocessors?: BaseNodePostprocessor[], - ) { - super(async (strOrQueryBundle, stream) => { - const nodesWithScore = await this.retrieve( - typeof strOrQueryBundle === "string" - ? strOrQueryBundle - : extractText(strOrQueryBundle), - ); - if (stream) { - return this.responseSynthesizer.synthesize( - { - query: - typeof strOrQueryBundle === "string" - ? { query: strOrQueryBundle } - : strOrQueryBundle, - nodes: nodesWithScore, - }, - true, - ); - } - return this.responseSynthesizer.synthesize({ - query: - typeof strOrQueryBundle === "string" - ? { query: strOrQueryBundle } - : strOrQueryBundle, - nodes: nodesWithScore, - }); - }); - - this.retriever = retriever; - this.responseSynthesizer = - responseSynthesizer || getResponseSynthesizer("compact"); - this.nodePostprocessors = nodePostprocessors || []; - } - - protected _getPrompts() { - return {}; - } - - protected _updatePrompts() {} - - _getPromptModules() { - return { - responseSynthesizer: this.responseSynthesizer, - }; - } - - private async applyNodePostprocessors( - nodes: NodeWithScore[], - query: MessageContent, - ) { - let nodesWithScore = nodes; - - for (const postprocessor of this.nodePostprocessors) { - nodesWithScore = await postprocessor.postprocessNodes( - nodesWithScore, - query, - ); - } - - return nodesWithScore; - } - - override async retrieve(query: QueryType) { - const nodes = await this.retriever.retrieve(query); - - const messageContent = typeof query === "string" ? query : query.query; - return await this.applyNodePostprocessors(nodes, messageContent); - } -} +export { RetrieverQueryEngine } from "@llamaindex/core/query-engine"; diff --git a/packages/llamaindex/src/engines/query/RouterQueryEngine.ts b/packages/llamaindex/src/engines/query/RouterQueryEngine.ts index 7f0a614f050a6c075a18ad952e9f9de8b7fce272..8dbd00c3f60973e4314064df5312fed5465b6970 100644 --- a/packages/llamaindex/src/engines/query/RouterQueryEngine.ts +++ b/packages/llamaindex/src/engines/query/RouterQueryEngine.ts @@ -1,6 +1,7 @@ import { BaseQueryEngine, type QueryBundle, + type QueryType, } from "@llamaindex/core/query-engine"; import { BaseSynthesizer, @@ -63,19 +64,7 @@ export class RouterQueryEngine extends BaseQueryEngine { summarizer?: BaseSynthesizer | undefined; verbose?: boolean | undefined; }) { - super(async (strOrQueryBundle, stream) => { - const response = await this.queryRoute( - typeof strOrQueryBundle === "string" - ? { query: strOrQueryBundle } - : strOrQueryBundle, - ); - - if (stream) { - throw new Error("Streaming is not supported yet."); - } - - return response; - }); + super(); this.selector = init.selector; this.queryEngines = init.queryEngineTools.map((tool) => tool.queryEngine); @@ -87,6 +76,20 @@ export class RouterQueryEngine extends BaseQueryEngine { this.verbose = init.verbose ?? false; } + override async _query(strOrQueryBundle: QueryType, stream?: boolean) { + const response = await this.queryRoute( + typeof strOrQueryBundle === "string" + ? { query: strOrQueryBundle } + : strOrQueryBundle, + ); + + if (stream) { + throw new Error("Streaming is not supported yet."); + } + + return response; + } + protected _getPrompts() { return {}; } diff --git a/packages/llamaindex/src/engines/query/SubQuestionQueryEngine.ts b/packages/llamaindex/src/engines/query/SubQuestionQueryEngine.ts index cad4e895f8f2790788247c4d9e091dc6dcbe1614..5a67948c38b0fd50437aa5975e3d1e3a4ca12d0b 100644 --- a/packages/llamaindex/src/engines/query/SubQuestionQueryEngine.ts +++ b/packages/llamaindex/src/engines/query/SubQuestionQueryEngine.ts @@ -9,6 +9,7 @@ import type { PromptsRecord } from "@llamaindex/core/prompts"; import { BaseQueryEngine, type QueryBundle, + type QueryType, } from "@llamaindex/core/query-engine"; import type { BaseQuestionGenerator, SubQuestion } from "./types.js"; @@ -26,50 +27,52 @@ export class SubQuestionQueryEngine extends BaseQueryEngine { responseSynthesizer: BaseSynthesizer; queryEngineTools: BaseTool[]; }) { - super(async (strOrQueryBundle, stream) => { - let query: QueryBundle; - if (typeof strOrQueryBundle === "string") { - query = { - query: strOrQueryBundle, - }; - } else { - query = strOrQueryBundle; - } - const subQuestions = await this.questionGen.generate( - this.metadatas, - strOrQueryBundle, - ); + super(); - const subQNodes = await Promise.all( - subQuestions.map((subQ) => this.querySubQ(subQ)), - ); + this.questionGen = init.questionGen; + this.responseSynthesizer = + init.responseSynthesizer ?? getResponseSynthesizer("compact"); + this.queryEngines = init.queryEngineTools; + this.metadatas = init.queryEngineTools.map((tool) => tool.metadata); + } - const nodesWithScore: NodeWithScore[] = subQNodes.filter( - (node) => node !== null, - ); - if (stream) { - return this.responseSynthesizer.synthesize( - { - query, - nodes: nodesWithScore, - }, - true, - ); - } + override async _query(strOrQueryBundle: QueryType, stream?: boolean) { + let query: QueryBundle; + if (typeof strOrQueryBundle === "string") { + query = { + query: strOrQueryBundle, + }; + } else { + query = strOrQueryBundle; + } + const subQuestions = await this.questionGen.generate( + this.metadatas, + strOrQueryBundle, + ); + + const subQNodes = await Promise.all( + subQuestions.map((subQ) => this.querySubQ(subQ)), + ); + + const nodesWithScore: NodeWithScore[] = subQNodes.filter( + (node) => node !== null, + ); + if (stream) { return this.responseSynthesizer.synthesize( { query, nodes: nodesWithScore, }, - false, + true, ); - }); - - this.questionGen = init.questionGen; - this.responseSynthesizer = - init.responseSynthesizer ?? getResponseSynthesizer("compact"); - this.queryEngines = init.queryEngineTools; - this.metadatas = init.queryEngineTools.map((tool) => tool.metadata); + } + return this.responseSynthesizer.synthesize( + { + query, + nodes: nodesWithScore, + }, + false, + ); } protected _getPrompts(): PromptsRecord { diff --git a/packages/llamaindex/src/indices/keyword/index.ts b/packages/llamaindex/src/indices/keyword/index.ts index 386f6d636c754f3f22395b899e1003703d771cc7..6f891fab4787245f7f2ba8628573acf0d1fdb844 100644 --- a/packages/llamaindex/src/indices/keyword/index.ts +++ b/packages/llamaindex/src/indices/keyword/index.ts @@ -8,7 +8,6 @@ import { MetadataMode } from "@llamaindex/core/schema"; import type { ServiceContext } from "../../ServiceContext.js"; import { serviceContextFromDefaults } from "../../ServiceContext.js"; import { RetrieverQueryEngine } from "../../engines/query/index.js"; -import type { BaseNodePostprocessor } from "../../postprocessors/index.js"; import type { StorageContext } from "../../storage/StorageContext.js"; import { storageContextFromDefaults } from "../../storage/StorageContext.js"; import type { BaseDocumentStore } from "../../storage/docStore/types.js"; @@ -23,6 +22,7 @@ import { import { KeywordTable } from "@llamaindex/core/data-structs"; import type { LLM } from "@llamaindex/core/llms"; +import type { BaseNodePostprocessor } from "@llamaindex/core/postprocessor"; import { defaultKeywordExtractPrompt, defaultQueryKeywordExtractPrompt, diff --git a/packages/llamaindex/src/indices/summary/index.ts b/packages/llamaindex/src/indices/summary/index.ts index a36b31978c068b9735de5c21c4180733385507d1..67aa78fc4a770a3b4a61aaf192be91f9fd955ccb 100644 --- a/packages/llamaindex/src/indices/summary/index.ts +++ b/packages/llamaindex/src/indices/summary/index.ts @@ -1,3 +1,4 @@ +import type { BaseNodePostprocessor } from "@llamaindex/core/postprocessor"; import { type ChoiceSelectPrompt, defaultChoiceSelectPrompt, @@ -19,7 +20,6 @@ import { nodeParserFromSettingsOrContext, } from "../../Settings.js"; import { RetrieverQueryEngine } from "../../engines/query/index.js"; -import type { BaseNodePostprocessor } from "../../postprocessors/index.js"; import type { StorageContext } from "../../storage/StorageContext.js"; import { storageContextFromDefaults } from "../../storage/StorageContext.js"; import type { diff --git a/packages/llamaindex/src/indices/vectorStore/index.ts b/packages/llamaindex/src/indices/vectorStore/index.ts index 0b89d0dc466e7f8c0d9ac95c0e39a6c813fd58b4..620a13b7732e1557a0ff868f3c264a4966fe81fa 100644 --- a/packages/llamaindex/src/indices/vectorStore/index.ts +++ b/packages/llamaindex/src/indices/vectorStore/index.ts @@ -3,6 +3,7 @@ import { type BaseEmbedding, } from "@llamaindex/core/embeddings"; import type { MessageContent } from "@llamaindex/core/llms"; +import type { BaseNodePostprocessor } from "@llamaindex/core/postprocessor"; import type { QueryBundle } from "@llamaindex/core/query-engine"; import type { BaseSynthesizer } from "@llamaindex/core/response-synthesizers"; import { BaseRetriever } from "@llamaindex/core/retriever"; @@ -26,7 +27,6 @@ import { DocStoreStrategy, createDocStoreStrategy, } from "../../ingestion/strategies/index.js"; -import type { BaseNodePostprocessor } from "../../postprocessors/types.js"; import type { StorageContext } from "../../storage/StorageContext.js"; import { storageContextFromDefaults } from "../../storage/StorageContext.js"; import type { BaseIndexStore } from "../../storage/indexStore/types.js"; diff --git a/packages/llamaindex/src/postprocessors/MetadataReplacementPostProcessor.ts b/packages/llamaindex/src/postprocessors/MetadataReplacementPostProcessor.ts index 62fae29951818fb3ef8248c6936860474f40d9b2..676bdf6de186816600c92f399b4f0288d01c7291 100644 --- a/packages/llamaindex/src/postprocessors/MetadataReplacementPostProcessor.ts +++ b/packages/llamaindex/src/postprocessors/MetadataReplacementPostProcessor.ts @@ -1,6 +1,6 @@ +import type { BaseNodePostprocessor } from "@llamaindex/core/postprocessor"; import type { NodeWithScore } from "@llamaindex/core/schema"; import { MetadataMode } from "@llamaindex/core/schema"; -import type { BaseNodePostprocessor } from "./types.js"; export class MetadataReplacementPostProcessor implements BaseNodePostprocessor { targetMetadataKey: string; diff --git a/packages/llamaindex/src/postprocessors/SimilarityPostprocessor.ts b/packages/llamaindex/src/postprocessors/SimilarityPostprocessor.ts index 705af5d154704baa85f7404d619f77a33d826ae9..04918da079833540a7d86d5a7adf9e2171a26e43 100644 --- a/packages/llamaindex/src/postprocessors/SimilarityPostprocessor.ts +++ b/packages/llamaindex/src/postprocessors/SimilarityPostprocessor.ts @@ -1,5 +1,5 @@ +import type { BaseNodePostprocessor } from "@llamaindex/core/postprocessor"; import type { NodeWithScore } from "@llamaindex/core/schema"; -import type { BaseNodePostprocessor } from "./types.js"; export class SimilarityPostprocessor implements BaseNodePostprocessor { similarityCutoff?: number | undefined; diff --git a/packages/llamaindex/src/postprocessors/index.ts b/packages/llamaindex/src/postprocessors/index.ts index d3f5471c3512be2689fffe086e23ca51b885647d..d2f7c7f9a4880f7ffc9a2aba170247c089965c85 100644 --- a/packages/llamaindex/src/postprocessors/index.ts +++ b/packages/llamaindex/src/postprocessors/index.ts @@ -1,4 +1,3 @@ export * from "./MetadataReplacementPostProcessor.js"; export * from "./rerankers/index.js"; export * from "./SimilarityPostprocessor.js"; -export * from "./types.js"; diff --git a/packages/llamaindex/src/postprocessors/rerankers/CohereRerank.ts b/packages/llamaindex/src/postprocessors/rerankers/CohereRerank.ts index d8213852bb1dbea97babdac5927a8a8adee1a069..c8310bad0fe76e4e09ef2241a5348dc034be3798 100644 --- a/packages/llamaindex/src/postprocessors/rerankers/CohereRerank.ts +++ b/packages/llamaindex/src/postprocessors/rerankers/CohereRerank.ts @@ -1,10 +1,10 @@ import { CohereClient } from "cohere-ai"; import type { MessageContent } from "@llamaindex/core/llms"; +import type { BaseNodePostprocessor } from "@llamaindex/core/postprocessor"; import type { NodeWithScore } from "@llamaindex/core/schema"; import { MetadataMode } from "@llamaindex/core/schema"; import { extractText } from "@llamaindex/core/utils"; -import type { BaseNodePostprocessor } from "../types.js"; type CohereRerankOptions = { topN?: number; diff --git a/packages/llamaindex/src/postprocessors/rerankers/JinaAIReranker.ts b/packages/llamaindex/src/postprocessors/rerankers/JinaAIReranker.ts index 324c36bf503a0313235b6e319d2242f36f429c94..6d8f1d4978779b8c54c639f9e6677ffa7c96f6c4 100644 --- a/packages/llamaindex/src/postprocessors/rerankers/JinaAIReranker.ts +++ b/packages/llamaindex/src/postprocessors/rerankers/JinaAIReranker.ts @@ -1,9 +1,9 @@ import type { MessageContent } from "@llamaindex/core/llms"; +import type { BaseNodePostprocessor } from "@llamaindex/core/postprocessor"; import type { NodeWithScore } from "@llamaindex/core/schema"; import { MetadataMode } from "@llamaindex/core/schema"; import { extractText } from "@llamaindex/core/utils"; import { getEnv } from "@llamaindex/env"; -import type { BaseNodePostprocessor } from "../types.js"; interface JinaAIRerankerResult { index: number; diff --git a/packages/llamaindex/src/postprocessors/rerankers/MixedbreadAIReranker.ts b/packages/llamaindex/src/postprocessors/rerankers/MixedbreadAIReranker.ts index fae0ca10a5e74013659c7fe0f0ab87551c04e1f4..007fbfada0f9a203d3ed684f290b6b7c595a2f19 100644 --- a/packages/llamaindex/src/postprocessors/rerankers/MixedbreadAIReranker.ts +++ b/packages/llamaindex/src/postprocessors/rerankers/MixedbreadAIReranker.ts @@ -5,8 +5,8 @@ import { MetadataMode } from "@llamaindex/core/schema"; import { extractText } from "@llamaindex/core/utils"; import type { MessageContent } from "@llamaindex/core/llms"; +import type { BaseNodePostprocessor } from "@llamaindex/core/postprocessor"; import type { BaseNode, NodeWithScore } from "@llamaindex/core/schema"; -import type { BaseNodePostprocessor } from "../types.js"; type RerankingRequestWithoutInput = Omit< MixedbreadAI.RerankingRequest, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a661cac4f937b220084d82560266d5e7bc3d6324..74154fac542c8014e60287a706fd605465891aeb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,7 +59,7 @@ importers: dependencies: '@docusaurus/core': specifier: 3.5.2 - version: 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + version: 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/remark-plugin-npm2yarn': specifier: 3.5.2 version: 3.5.2 @@ -83,7 +83,7 @@ importers: version: 2.4.0(react@18.3.1) raw-loader: specifier: 4.0.2 - version: 4.0.2(webpack@5.94.0) + version: 4.0.2(webpack@5.95.0) react: specifier: 18.3.1 version: 18.3.1 @@ -93,16 +93,16 @@ importers: devDependencies: '@docusaurus/module-type-aliases': specifier: 3.5.2 - version: 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/preset-classic': specifier: 3.5.2 - version: 3.5.2(@algolia/client-search@5.9.1)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.2) + version: 3.5.2(@algolia/client-search@5.9.1)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.2) '@docusaurus/theme-classic': specifier: 3.5.2 - version: 3.5.2(@types/react@18.3.12)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + version: 3.5.2(@types/react@18.3.12)(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/types': specifier: 3.5.2 - version: 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tsconfig/docusaurus': specifier: 2.0.3 version: 2.0.3 @@ -127,12 +127,33 @@ importers: '@icons-pack/react-simple-icons': specifier: ^10.1.0 version: 10.1.0(react@18.3.1) + '@llamaindex/cloud': + specifier: workspace:* + version: link:../../packages/cloud + '@llamaindex/core': + specifier: workspace:* + version: link:../../packages/core + '@llamaindex/openai': + specifier: workspace:* + version: link:../../packages/providers/openai + '@mdx-js/mdx': + specifier: ^3.1.0 + version: 3.1.0(acorn@8.13.0) + '@radix-ui/react-dialog': + specifier: ^1.1.2 + version: 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-icons': specifier: ^1.3.0 version: 1.3.0(react@18.3.1) '@radix-ui/react-slot': specifier: ^1.1.0 version: 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-tooltip': + specifier: ^1.1.3 + version: 1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + ai: + specifier: ^3.3.21 + version: 3.3.21(openai@4.68.1(zod@3.23.8))(react@18.3.1)(sswr@2.1.0)(vue@3.5.12(typescript@5.6.3))(zod@3.23.8) class-variance-authority: specifier: ^0.7.0 version: 0.7.0 @@ -148,15 +169,21 @@ importers: fumadocs-core: specifier: 14.0.2 version: 14.0.2(@opentelemetry/api@1.9.0)(@types/react@18.3.12) + fumadocs-docgen: + specifier: ^1.3.0 + version: 1.3.0(typescript@5.6.3) fumadocs-mdx: specifier: 11.0.0 - version: 11.0.0(acorn@8.13.0)(fumadocs-core@14.0.2(@opentelemetry/api@1.9.0)(@types/react@18.3.12))(next@15.0.0(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + version: 11.0.0(acorn@8.13.0)(fumadocs-core@14.0.2(@opentelemetry/api@1.9.0)(@types/react@18.3.12))(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) fumadocs-openapi: specifier: ^5.5.3 - version: 5.5.3(@opentelemetry/api@1.9.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.0.0(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 5.5.3(@opentelemetry/api@1.9.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + fumadocs-twoslash: + specifier: ^2.0.0 + version: 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(fumadocs-ui@14.0.2(@opentelemetry/api@1.9.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(shiki@1.22.0)(typescript@5.6.3) fumadocs-ui: specifier: 14.0.2 - version: 14.0.2(@opentelemetry/api@1.9.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.0.0(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.0.2(@opentelemetry/api@1.9.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) hast-util-to-jsx-runtime: specifier: ^2.3.2 version: 2.3.2 @@ -164,8 +191,8 @@ importers: specifier: ^0.436.0 version: 0.436.0(react@18.3.1) next: - specifier: 15.0.0 - version: 15.0.0(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 15.0.1 + version: 15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@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))(react@18.3.1) @@ -184,6 +211,12 @@ importers: react-use-measure: specifier: ^2.1.1 version: 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rehype-katex: + specifier: ^7.0.1 + version: 7.0.1 + remark-math: + specifier: ^6.0.0 + version: 6.0.0 rimraf: specifier: ^6.0.1 version: 6.0.1 @@ -193,12 +226,18 @@ importers: shiki-magic-move: specifier: ^0.5.0 version: 0.5.0(react@18.3.1)(shiki@1.22.0)(vue@3.5.12(typescript@5.6.3)) + swr: + specifier: ^2.2.5 + version: 2.2.5(react@18.3.1) tailwind-merge: specifier: ^2.5.2 version: 2.5.4 tailwindcss-animate: specifier: ^1.0.7 version: 1.0.7(tailwindcss@3.4.14) + zod: + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@types/mdx': specifier: ^2.0.13 @@ -3912,9 +3951,6 @@ packages: resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true - '@mdx-js/mdx@3.0.1': - resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==} - '@mdx-js/mdx@3.1.0': resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} @@ -3959,6 +3995,9 @@ packages: '@next/env@15.0.0': resolution: {integrity: sha512-Mcv8ZVmEgTO3bePiH/eJ7zHqQEs2gCqZ0UId2RxHmDDc7Pw6ngfSrOFlxG8XDpaex+n2G+TKPsQAf28MO+88Gw==} + '@next/env@15.0.1': + resolution: {integrity: sha512-lc4HeDUKO9gxxlM5G2knTRifqhsY6yYpwuHspBZdboZe0Gp+rZHBNNSIjmQKDJIdRXiXGyVnSD6gafrbQPvILQ==} + '@next/eslint-plugin-next@14.2.11': resolution: {integrity: sha512-7mw+xW7Y03Ph4NTCcAzYe+vu4BNjEHZUfZayyF3Y1D9RX6c5NIe25m1grHEAkyUuaqjRxOYhnCNeglOkIqLkBA==} @@ -3983,6 +4022,12 @@ packages: cpu: [arm64] os: [darwin] + '@next/swc-darwin-arm64@15.0.1': + resolution: {integrity: sha512-C9k/Xv4sxkQRTA37Z6MzNq3Yb1BJMmSqjmwowoWEpbXTkAdfOwnoKOpAb71ItSzoA26yUTIo6ZhN8rKGu4ExQw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + '@next/swc-darwin-x64@14.2.11': resolution: {integrity: sha512-lnB0zYCld4yE0IX3ANrVMmtAbziBb7MYekcmR6iE9bujmgERl6+FK+b0MBq0pl304lYe7zO4yxJus9H/Af8jbg==} engines: {node: '>= 10'} @@ -4001,6 +4046,12 @@ packages: cpu: [x64] os: [darwin] + '@next/swc-darwin-x64@15.0.1': + resolution: {integrity: sha512-uHl13HXOuq1G7ovWFxCACDJHTSDVbn/sbLv8V1p+7KIvTrYQ5HNoSmKBdYeEKRRCbEmd+OohOgg9YOp8Ux3MBg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + '@next/swc-linux-arm64-gnu@14.2.11': resolution: {integrity: sha512-Ulo9TZVocYmUAtzvZ7FfldtwUoQY0+9z3BiXZCLSUwU2bp7GqHA7/bqrfsArDlUb2xeGwn3ZuBbKtNK8TR0A8w==} engines: {node: '>= 10'} @@ -4019,6 +4070,12 @@ packages: cpu: [arm64] os: [linux] + '@next/swc-linux-arm64-gnu@15.0.1': + resolution: {integrity: sha512-LvyhvxHOihFTEIbb35KxOc3q8w8G4xAAAH/AQnsYDEnOvwawjL2eawsB59AX02ki6LJdgDaHoTEnC54Gw+82xw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + '@next/swc-linux-arm64-musl@14.2.11': resolution: {integrity: sha512-fH377DnKGyUnkWlmUpFF1T90m0dADBfK11dF8sOQkiELF9M+YwDRCGe8ZyDzvQcUd20Rr5U7vpZRrAxKwd3Rzg==} engines: {node: '>= 10'} @@ -4037,6 +4094,12 @@ packages: cpu: [arm64] os: [linux] + '@next/swc-linux-arm64-musl@15.0.1': + resolution: {integrity: sha512-vFmCGUFNyk/A5/BYcQNhAQqPIw01RJaK6dRO+ZEhz0DncoW+hJW1kZ8aH2UvTX27zPq3m85zN5waMSbZEmANcQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + '@next/swc-linux-x64-gnu@14.2.11': resolution: {integrity: sha512-a0TH4ZZp4NS0LgXP/488kgvWelNpwfgGTUCDXVhPGH6pInb7yIYNgM4kmNWOxBFt+TIuOH6Pi9NnGG4XWFUyXQ==} engines: {node: '>= 10'} @@ -4055,6 +4118,12 @@ packages: cpu: [x64] os: [linux] + '@next/swc-linux-x64-gnu@15.0.1': + resolution: {integrity: sha512-5by7IYq0NCF8rouz6Qg9T97jYU68kaClHPfGpQG2lCZpSYHtSPQF1kjnqBTd34RIqPKMbCa4DqCufirgr8HM5w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + '@next/swc-linux-x64-musl@14.2.11': resolution: {integrity: sha512-DYYZcO4Uir2gZxA4D2JcOAKVs8ZxbOFYPpXSVIgeoQbREbeEHxysVsg3nY4FrQy51e5opxt5mOHl/LzIyZBoKA==} engines: {node: '>= 10'} @@ -4073,6 +4142,12 @@ packages: cpu: [x64] os: [linux] + '@next/swc-linux-x64-musl@15.0.1': + resolution: {integrity: sha512-lmYr6H3JyDNBJLzklGXLfbehU3ay78a+b6UmBGlHls4xhDXBNZfgb0aI67sflrX+cGBnv1LgmWzFlYrAYxS1Qw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + '@next/swc-win32-arm64-msvc@14.2.11': resolution: {integrity: sha512-PwqHeKG3/kKfPpM6of1B9UJ+Er6ySUy59PeFu0Un0LBzJTRKKAg2V6J60Yqzp99m55mLa+YTbU6xj61ImTv9mg==} engines: {node: '>= 10'} @@ -4091,6 +4166,12 @@ packages: cpu: [arm64] os: [win32] + '@next/swc-win32-arm64-msvc@15.0.1': + resolution: {integrity: sha512-DS8wQtl6diAj0eZTdH0sefykm4iXMbHT4MOvLwqZiIkeezKpkgPFcEdFlz3vKvXa2R/2UEgMh48z1nEpNhjeOQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + '@next/swc-win32-ia32-msvc@14.2.11': resolution: {integrity: sha512-0U7PWMnOYIvM74GY6rbH6w7v+vNPDVH1gUhlwHpfInJnNe5LkmUZqhp7FNWeNa5wbVgRcRi1F1cyxp4dmeLLvA==} engines: {node: '>= 10'} @@ -4121,6 +4202,12 @@ packages: cpu: [x64] os: [win32] + '@next/swc-win32-x64-msvc@15.0.1': + resolution: {integrity: sha512-4Ho2ggvDdMKlZ/0e9HNdZ9ngeaBwtc+2VS5oCeqrbXqOgutX6I4U2X/42VBw0o+M5evn4/7v3zKgGHo+9v/VjA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -4645,6 +4732,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-tooltip@1.1.3': + resolution: {integrity: sha512-Z4w1FIS0BqVFI2c1jZvb/uDVJijJjJ2ZMuPV81oVgTZ7g3BZxobplnMVvXtFWgtozdvYJ+MFWtwkM5S2HnAong==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-use-callback-ref@1.0.1': resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} peerDependencies: @@ -5047,21 +5147,36 @@ packages: '@shikijs/core@1.22.0': resolution: {integrity: sha512-S8sMe4q71TJAW+qG93s5VaiihujRK6rqDFqBnxqvga/3LvqHEnxqBIOPkt//IdXVtHkQWKu4nOQNk0uBGicU7Q==} + '@shikijs/core@1.22.1': + resolution: {integrity: sha512-bqAhT/Ri5ixV4oYsvJNH8UJjpjbINWlWyXY6tBTsP4OmD6XnFv43nRJ+lTdxd2rmG5pgam/x+zGR6kLRXrpEKA==} + '@shikijs/engine-javascript@1.22.0': resolution: {integrity: sha512-AeEtF4Gcck2dwBqCFUKYfsCq0s+eEbCEbkUuFou53NZ0sTGnJnJ/05KHQFZxpii5HMXbocV9URYVowOP2wH5kw==} + '@shikijs/engine-javascript@1.22.1': + resolution: {integrity: sha512-540pyoy0LWe4jj2BVbgELwOFu1uFvRI7lg4hdsExrSXA9x7gqfzZ/Nnh4RfX86aDAgJ647gx4TCmRwACbnQSvw==} + '@shikijs/engine-oniguruma@1.22.0': resolution: {integrity: sha512-5iBVjhu/DYs1HB0BKsRRFipRrD7rqjxlWTj4F2Pf+nQSPqc3kcyqFFeZXnBMzDf0HdqaFVvhDRAGiYNvyLP+Mw==} + '@shikijs/engine-oniguruma@1.22.1': + resolution: {integrity: sha512-L+1Vmd+a2kk8HtogUFymQS6BjUfJnzcWoUp1BUgxoDiklbKSMvrsMuLZGevTOP1m0rEjgnC5MsDmsr8lX1lC+Q==} + '@shikijs/rehype@1.22.0': resolution: {integrity: sha512-lgbERrnR5CZFDryZNn/JEBA5h54hpRxMT7lXrXceDS7fiLl6ZBWLGk1nTypk9LT80M2lNZVeeh9UGS+wLoFtWQ==} '@shikijs/transformers@1.22.0': resolution: {integrity: sha512-k7iMOYuGQA62KwAuJOQBgH2IQb5vP8uiB3lMvAMGUgAMMurePOx3Z7oNqJdcpxqZP6I9cc7nc4DNqSKduCxmdg==} + '@shikijs/twoslash@1.22.1': + resolution: {integrity: sha512-Gs3eRsq0P3wOWJkLRQEsf6fjBcCOVcBSt+xPPhgIWqrBkpUf/L65VaGHR8LRWX3L9yhoyvX9PE/vtMVRwe8sNg==} + '@shikijs/types@1.22.0': resolution: {integrity: sha512-Fw/Nr7FGFhlQqHfxzZY8Cwtwk5E9nKDUgeLjZgt3UuhcM3yJR9xj3ZGNravZZok8XmEZMiYkSMTPlPkULB8nww==} + '@shikijs/types@1.22.1': + resolution: {integrity: sha512-+45f8mu/Hxqs6Kyhfm98Nld5n7Q7lwhjU8UtdQwrOPs7BnM4VAb929O3IQ2ce+4D7SlNFlZGd8CnKRSnwbQreQ==} + '@shikijs/vscode-textmate@9.3.0': resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==} @@ -5855,6 +5970,9 @@ packages: resolution: {integrity: sha512-EZ+XlSwjdLtscoBOnA/Ba6QBrmoxAR73tJFjnWxaJQsZxWBQv6bLUrDgZUdXkXRAOSkRHn0uXY6Wq/3SsV2WtQ==} engines: {node: '>=18'} + '@ts-morph/common@0.25.0': + resolution: {integrity: sha512-kMnZz+vGGHi4GoHnLmMhGNjm44kGtKUXGnOvrKmMwAuvNjM/PgKVGfUnL7IDvK7Jb2QQ82jq3Zmp04Gy+r3Dkg==} + '@tsconfig/docusaurus@2.0.3': resolution: {integrity: sha512-3l1L5PzWVa7l0691TjnsZ0yOIEwG9DziSqu5IPZPlI5Dowi7z42cEym8Y35GHbgHvPcBfNxfrbxm7Cncn4nByQ==} @@ -5954,6 +6072,9 @@ packages: '@types/jsonpath@0.2.4': resolution: {integrity: sha512-K3hxB8Blw0qgW6ExKgMbXQv2UPZBoE2GqLpVY+yr7nMD2Pq86lsuIzyAaiQ7eMqFL5B6di6pxSkogLJEyEHoGA==} + '@types/katex@0.16.7': + resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} + '@types/keyv@3.1.4': resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} @@ -5996,6 +6117,9 @@ packages: '@types/node@22.5.4': resolution: {integrity: sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==} + '@types/node@22.7.7': + resolution: {integrity: sha512-SRxCrrg9CL/y54aiMCG3edPKdprgMVGDXjA3gB8UmmBW5TcXzRUYAh8EWzTnSJFAd1rgImPELza+A3bJ+qxz8Q==} + '@types/node@22.7.8': resolution: {integrity: sha512-a922jJy31vqR5sk+kAdIENJjHblqcZ4RmERviFsER4WJcEONqxKcjNOlk0q7OUfrF5sddT+vng070cdfMlrPLg==} @@ -6269,6 +6393,11 @@ packages: resolution: {integrity: sha512-RmZwrTbQ9QveF15m/Cl28n0LXD6ea2CjkhH5rQ55ewz3H24w+AMCJHPVYaZ8/0HoG8Z3cLLFFycRXxeO2tz9FA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript/vfs@1.6.0': + resolution: {integrity: sha512-hvJUjNVeBMp77qPINuUvYXj4FyWeeMMKZkxEATEU3hqBAQ7qdTBCUFT7Sp0Zu0faeEtFf+ldXxMEDr/bk73ISg==} + peerDependencies: + typescript: '*' + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -7195,6 +7324,9 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 + code-block-writer@13.0.3: + resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} + codsen-utils@1.6.4: resolution: {integrity: sha512-PDyvQ5f2PValmqZZIJATimcokDt4JjIev8cKbZgEOoZm+U1IJDYuLeTcxZPQdep99R/X0RIlQ6ReQgPOVnPbNw==} engines: {node: '>=14.18.0'} @@ -8568,6 +8700,9 @@ packages: fumadocs-core@14.0.2: resolution: {integrity: sha512-GG+uVIBthFJJAHAqFWwBvTsTeZmsHg5YYwHsTIDnpy77+ER4aogkJkeUqoBN4TrmxzG8tbLzaxCwSMtk4X5OoA==} + fumadocs-docgen@1.3.0: + resolution: {integrity: sha512-AbUw+qPq7wPw21NiNrAhSN9Ylv613Dicn2qpj7OFdzuhqb4ChMytMQBFCEUpdzkZg51ODXzT2q1KGQVbqMNItg==} + fumadocs-mdx@11.0.0: resolution: {integrity: sha512-HF8arG+SN+Qnit4wo00YYYPlfKYpXuYcIpqnKf7E/N7TRdpuf9vq3NVNW29oTiF6x//JELgWzkcrvG9EqEv65A==} hasBin: true @@ -8582,6 +8717,18 @@ packages: react: '>= 18' react-dom: '>= 18' + fumadocs-twoslash@2.0.0: + resolution: {integrity: sha512-QU8Tg89Al9EF6EB5vHfdqPjiwlapZT+VUf+cHi2vTr8bx1XIPslKjshljWmkxkHe6xrMg/pLRMiNIQA98q1toQ==} + peerDependencies: + fumadocs-ui: ^13.0.0 || ^14.0.0 + react: '>= 18' + shiki: 1.x.x + + fumadocs-typescript@3.0.0: + resolution: {integrity: sha512-8CCYhxiv7dOt5cCExLZCzm3U0vuHTXEQfLZVOFLkqXqhNbOlaM6Wtn6j1lkJ0relHfR+K8CoPesKEujH/8ablA==} + peerDependencies: + typescript: '*' + fumadocs-ui@14.0.2: resolution: {integrity: sha512-LZM7X98iTa0xsS4KYr1pn6JcnAGalRqdzSDuCH1ZbgR5Vk5ZzsLMvPhBnhrL1mWdmjzkvse2J7i4pyrvxEQj3w==} peerDependencies: @@ -8861,9 +9008,21 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + hast-util-from-dom@5.0.0: + resolution: {integrity: sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg==} + + hast-util-from-html-isomorphic@2.0.0: + resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==} + + hast-util-from-html@2.0.3: + resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} + hast-util-from-parse5@8.0.1: resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + hast-util-parse-selector@2.2.5: resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==} @@ -8891,6 +9050,9 @@ packages: hast-util-to-string@3.0.1: resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} + hast-util-to-text@4.0.2: + resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} + hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} @@ -9594,6 +9756,10 @@ packages: resolution: {integrity: sha512-C3iHfuGUXK2u8/ipq9LfjFfXFxAZMQJJq7vLS45r3D9Y2xQ/m4S8zaR4zMLFWh9AsNPXmcFfUDhTEO8UIC/V6Q==} engines: {node: '>=12.0.0'} + katex@0.16.11: + resolution: {integrity: sha512-RQrI8rlHY92OLf3rho/Ts8i/XvjgguEjOkO1BEXcU3N8BqPpSzBNwV/G0Ukr+P/l3ivvJUE/Fa/CwbS6HesGNQ==} + hasBin: true + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -9892,6 +10058,9 @@ packages: mdast-util-gfm@3.0.0: resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + mdast-util-math@3.0.0: + resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==} + mdast-util-mdx-expression@2.0.0: resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} @@ -9984,6 +10153,9 @@ packages: micromark-extension-gfm@3.0.0: resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + micromark-extension-math@3.1.0: + resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==} + micromark-extension-mdx-expression@3.0.0: resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} @@ -10427,6 +10599,27 @@ packages: sass: optional: true + next@15.0.1: + resolution: {integrity: sha512-PSkFkr/w7UnFWm+EP8y/QpHrJXMqpZzAXpergB/EqLPOh4SGPJXv1wj4mslr2hUZBAS9pX7/9YLIdxTv6fwytw==} + engines: {node: '>=18.18.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 + babel-plugin-react-compiler: '*' + react: ^18.2.0 || 19.0.0-rc-69d4b800-20241021 + react-dom: ^18.2.0 || 19.0.0-rc-69d4b800-20241021 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + babel-plugin-react-compiler: + optional: true + sass: + optional: true + nice-grpc-client-middleware-deadline@2.0.12: resolution: {integrity: sha512-drKxQJzTbh+Qkd6v+BcRhTmY2mw9zR8Qigu/jk0vIkDi90K6NOOJGgvBdbTxKXtv6QY1g07T1LvwaqW3Mlwdvw==} @@ -10528,6 +10721,10 @@ packages: resolution: {integrity: sha512-O/j/ROyX0KGLG7O6Ieut/seQ0oiTpHF2tXAcFbpdTLQFiaNtkyTXXocM1fwpaa60dg1qpWj0nHlbNhx6qwuENQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + npm-to-yarn@3.0.0: + resolution: {integrity: sha512-76YnmsbfrYp0tMsWxM0RNX0Vs+x8JxpJGu6B/jDn4lW8+laiTcKmKi9MeMh4UikO4RkJ1oqURoDy9bXJmMXS6A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} deprecated: This package is no longer supported. @@ -10806,6 +11003,9 @@ packages: pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} @@ -10878,9 +11078,6 @@ packages: perfect-debounce@1.0.0: resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - periscopic@3.1.0: - resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} - pg-cloudflare@1.1.1: resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} @@ -11794,6 +11991,9 @@ packages: resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true + rehype-katex@7.0.1: + resolution: {integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==} + rehype-raw@7.0.0: resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} @@ -11817,6 +12017,9 @@ packages: remark-gfm@4.0.0: resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + remark-math@6.0.0: + resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==} + remark-mdx@3.0.1: resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} @@ -12710,6 +12913,10 @@ packages: tinyexec@0.3.0: resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==} + tinyglobby@0.2.10: + resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} + engines: {node: '>=12.0.0'} + tinypool@1.0.1: resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -12794,6 +13001,9 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + ts-morph@24.0.0: + resolution: {integrity: sha512-2OAOg/Ob5yx9Et7ZX4CvTCc0UFoZHwLEJ+dpDPSUi5TgwwlTlX47w+iFRrEwzUZwYACjq83cgjS/Da50Ga37uw==} + tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -12852,6 +13062,14 @@ packages: resolution: {integrity: sha512-Jb0rbU4iHEVQ18An/YfakdIv9rKnd3zUfSE117EngrfWXFHo3RndVH96US3GsT8VHpwTncPePDBT2t06PaFLrw==} hasBin: true + twoslash-protocol@0.2.12: + resolution: {integrity: sha512-5qZLXVYfZ9ABdjqbvPc4RWMr7PrpPaaDSeaYY55vl/w1j6H6kzsWK/urAEIXlzYlyrFmyz1UbwIt+AA0ck+wbg==} + + twoslash@0.2.12: + resolution: {integrity: sha512-tEHPASMqi7kqwfJbkk7hc/4EhlrKCSLcur+TcvYki3vhIfaRMXnXjaYFgXpoZRbT6GdprD4tGuVBEmTpUgLBsw==} + peerDependencies: + typescript: '*' + type-check@0.3.2: resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} engines: {node: '>= 0.8.0'} @@ -12997,6 +13215,9 @@ packages: resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} engines: {node: '>=12'} + unist-util-find-after@5.0.0: + resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} + unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} @@ -13006,6 +13227,9 @@ packages: unist-util-position@5.0.0: resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} @@ -13647,6 +13871,16 @@ snapshots: transitivePeerDependencies: - zod + '@ai-sdk/vue@0.0.45(vue@3.5.12(typescript@5.6.3))(zod@3.23.8)': + dependencies: + '@ai-sdk/provider-utils': 1.0.17(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.40(zod@3.23.8) + swrv: 1.0.4(vue@3.5.12(typescript@5.6.3)) + optionalDependencies: + vue: 3.5.12(typescript@5.6.3) + transitivePeerDependencies: + - zod + '@algolia/autocomplete-core@1.9.3(@algolia/client-search@5.9.1)(algoliasearch@4.24.0)(search-insights@2.17.2)': dependencies: '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@5.9.1)(algoliasearch@4.24.0)(search-insights@2.17.2) @@ -16179,7 +16413,7 @@ snapshots: dependencies: '@babel/compat-data': 7.25.4 '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.3 + browserslist: 4.24.0 lru-cache: 5.1.1 semver: 6.3.1 @@ -17303,7 +17537,7 @@ snapshots: transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/core@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + '@docusaurus/core@3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: '@babel/core': 7.25.2 '@babel/generator': 7.25.6 @@ -17317,13 +17551,13 @@ snapshots: '@babel/traverse': 7.25.6 '@docusaurus/cssnano-preset': 3.5.2 '@docusaurus/logger': 3.5.2 - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) '@mdx-js/react': 3.0.1(@types/react@18.3.12)(react@18.3.1) autoprefixer: 10.4.20(postcss@8.4.41) - babel-loader: 9.1.3(@babel/core@7.25.2)(webpack@5.94.0) + babel-loader: 9.1.3(@babel/core@7.25.2)(webpack@5.95.0) babel-plugin-dynamic-import-node: 2.3.3 boxen: 6.2.1 chalk: 4.1.2 @@ -17332,34 +17566,34 @@ snapshots: cli-table3: 0.6.5 combine-promises: 1.2.0 commander: 5.1.0 - copy-webpack-plugin: 11.0.0(webpack@5.94.0) + copy-webpack-plugin: 11.0.0(webpack@5.95.0) core-js: 3.38.1 - css-loader: 6.11.0(webpack@5.94.0) - css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.94.0) + css-loader: 6.11.0(webpack@5.95.0) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.95.0) cssnano: 6.1.2(postcss@8.4.41) del: 6.1.1 detect-port: 1.6.1 escape-html: 1.0.3 eta: 2.2.0 eval: 0.1.8 - file-loader: 6.2.0(webpack@5.94.0) + file-loader: 6.2.0(webpack@5.95.0) fs-extra: 11.2.0 html-minifier-terser: 7.2.0 html-tags: 3.3.1 - html-webpack-plugin: 5.6.0(webpack@5.94.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) leven: 3.1.0 lodash: 4.17.21 - mini-css-extract-plugin: 2.9.1(webpack@5.94.0) + mini-css-extract-plugin: 2.9.1(webpack@5.95.0) p-map: 4.0.0 postcss: 8.4.41 - postcss-loader: 7.3.4(postcss@8.4.41)(typescript@5.6.2)(webpack@5.94.0) + postcss-loader: 7.3.4(postcss@8.4.41)(typescript@5.6.2)(webpack@5.95.0) prompts: 2.4.2 react: 18.3.1 - react-dev-utils: 12.0.1(eslint@9.13.0)(typescript@5.6.2)(webpack@5.94.0) + react-dev-utils: 12.0.1(eslint@9.13.0)(typescript@5.6.2)(webpack@5.95.0) react-dom: 18.3.1(react@18.3.1) react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.94.0) + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.95.0) react-router: 5.3.4(react@18.3.1) react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1) react-router-dom: 5.3.4(react@18.3.1) @@ -17367,21 +17601,22 @@ snapshots: semver: 7.6.3 serve-handler: 6.1.5 shelljs: 0.8.5 - terser-webpack-plugin: 5.3.10(webpack@5.94.0) + terser-webpack-plugin: 5.3.10(webpack@5.95.0) tslib: 2.7.0 update-notifier: 6.0.2 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.94.0))(webpack@5.94.0) - webpack: 5.94.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) + webpack: 5.95.0 webpack-bundle-analyzer: 4.10.2(bufferutil@4.0.8) - webpack-dev-server: 4.15.2(bufferutil@4.0.8)(webpack@5.94.0) + webpack-dev-server: 4.15.2(bufferutil@4.0.8)(webpack@5.95.0) webpack-merge: 5.10.0 - webpackbar: 5.0.2(webpack@5.94.0) + webpackbar: 5.0.2(webpack@5.95.0) transitivePeerDependencies: - '@docusaurus/types' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - acorn - bufferutil - csso - debug @@ -17407,16 +17642,16 @@ snapshots: chalk: 4.1.2 tslib: 2.8.0 - '@docusaurus/mdx-loader@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + '@docusaurus/mdx-loader@3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: '@docusaurus/logger': 3.5.2 - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) - '@mdx-js/mdx': 3.0.1 + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@mdx-js/mdx': 3.1.0(acorn@8.13.0) '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 estree-util-value-to-estree: 3.1.2 - file-loader: 6.2.0(webpack@5.94.0) + file-loader: 6.2.0(webpack@5.95.0) fs-extra: 11.2.0 image-size: 1.1.1 mdast-util-mdx: 3.0.0 @@ -17432,21 +17667,22 @@ snapshots: tslib: 2.8.0 unified: 11.0.5 unist-util-visit: 5.0.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.94.0))(webpack@5.94.0) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) vfile: 6.0.3 - webpack: 5.94.0 + webpack: 5.95.0 transitivePeerDependencies: - '@docusaurus/types' - '@swc/core' + - acorn - esbuild - supports-color - typescript - uglify-js - webpack-cli - '@docusaurus/module-type-aliases@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docusaurus/module-type-aliases@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/history': 4.7.11 '@types/react': 18.3.5 '@types/react-router-config': 5.0.11 @@ -17457,22 +17693,23 @@ snapshots: react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' transitivePeerDependencies: - '@swc/core' + - acorn - esbuild - supports-color - uglify-js - webpack-cli - '@docusaurus/plugin-content-blog@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + '@docusaurus/plugin-content-blog@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/logger': 3.5.2 - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/types': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) cheerio: 1.0.0-rc.12 feed: 4.2.2 fs-extra: 11.2.0 @@ -17484,13 +17721,14 @@ snapshots: tslib: 2.8.0 unist-util-visit: 5.0.0 utility-types: 3.11.0 - webpack: 5.94.0 + webpack: 5.95.0 transitivePeerDependencies: - '@mdx-js/react' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - acorn - bufferutil - csso - debug @@ -17504,17 +17742,17 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + '@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/logger': 3.5.2 - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/module-type-aliases': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/types': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) '@types/react-router-config': 5.0.11 combine-promises: 1.2.0 fs-extra: 11.2.0 @@ -17524,13 +17762,14 @@ snapshots: react-dom: 18.3.1(react@18.3.1) tslib: 2.8.0 utility-types: 3.11.0 - webpack: 5.94.0 + webpack: 5.95.0 transitivePeerDependencies: - '@mdx-js/react' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - acorn - bufferutil - csso - debug @@ -17544,24 +17783,25 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-pages@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + '@docusaurus/plugin-content-pages@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/types': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.8.0 - webpack: 5.94.0 + webpack: 5.95.0 transitivePeerDependencies: - '@mdx-js/react' - '@parcel/css' - '@rspack/core' - '@swc/core' - '@swc/css' + - acorn - bufferutil - csso - debug @@ -17575,11 +17815,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-debug@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + '@docusaurus/plugin-debug@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/types': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -17591,6 +17831,7 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' + - acorn - bufferutil - csso - debug @@ -17604,11 +17845,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-analytics@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + '@docusaurus/plugin-google-analytics@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/types': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.8.0 @@ -17618,6 +17859,7 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' + - acorn - bufferutil - csso - debug @@ -17631,11 +17873,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-gtag@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + '@docusaurus/plugin-google-gtag@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/types': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) '@types/gtag.js': 0.0.12 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -17646,6 +17888,7 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' + - acorn - bufferutil - csso - debug @@ -17659,11 +17902,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-tag-manager@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + '@docusaurus/plugin-google-tag-manager@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/types': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.8.0 @@ -17673,6 +17916,7 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' + - acorn - bufferutil - csso - debug @@ -17686,14 +17930,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-sitemap@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + '@docusaurus/plugin-sitemap@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/logger': 3.5.2 - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/types': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -17705,6 +17949,7 @@ snapshots: - '@rspack/core' - '@swc/core' - '@swc/css' + - acorn - bufferutil - csso - debug @@ -17718,21 +17963,21 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.5.2(@algolia/client-search@5.9.1)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.2)': - dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/plugin-debug': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/plugin-google-analytics': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/plugin-google-gtag': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/plugin-google-tag-manager': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/plugin-sitemap': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/theme-classic': 3.5.2(@types/react@18.3.12)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/theme-search-algolia': 3.5.2(@algolia/client-search@5.9.1)(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.2) - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/preset-classic@3.5.2(@algolia/client-search@5.9.1)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.2)': + dependencies: + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-debug': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-google-analytics': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-google-gtag': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-google-tag-manager': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-sitemap': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/theme-classic': 3.5.2(@types/react@18.3.12)(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/theme-search-algolia': 3.5.2(@algolia/client-search@5.9.1)(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.2) + '@docusaurus/types': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: @@ -17743,6 +17988,7 @@ snapshots: - '@swc/core' - '@swc/css' - '@types/react' + - acorn - bufferutil - csso - debug @@ -17772,20 +18018,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@docusaurus/theme-classic@3.5.2(@types/react@18.3.12)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + '@docusaurus/theme-classic@3.5.2(@types/react@18.3.12)(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/module-type-aliases': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/theme-translations': 3.5.2 - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/types': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) '@mdx-js/react': 3.0.1(@types/react@18.3.12)(react@18.3.1) clsx: 2.1.1 copy-text-to-clipboard: 3.2.0 @@ -17807,6 +18053,7 @@ snapshots: - '@swc/core' - '@swc/css' - '@types/react' + - acorn - bufferutil - csso - debug @@ -17820,13 +18067,13 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + '@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/module-type-aliases': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@types/history': 4.7.11 '@types/react': 18.3.12 '@types/react-router-config': 5.0.11 @@ -17840,22 +18087,23 @@ snapshots: transitivePeerDependencies: - '@docusaurus/types' - '@swc/core' + - acorn - esbuild - supports-color - typescript - uglify-js - webpack-cli - '@docusaurus/theme-search-algolia@3.5.2(@algolia/client-search@5.9.1)(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.2)': + '@docusaurus/theme-search-algolia@3.5.2(@algolia/client-search@5.9.1)(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.2)': dependencies: '@docsearch/react': 3.6.1(@algolia/client-search@5.9.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2) - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/logger': 3.5.2 - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(acorn@8.13.0)(bufferutil@4.0.8)(eslint@9.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/theme-translations': 3.5.2 - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) algoliasearch: 4.24.0 algoliasearch-helper: 3.22.4(algoliasearch@4.24.0) clsx: 2.1.1 @@ -17875,6 +18123,7 @@ snapshots: - '@swc/core' - '@swc/css' - '@types/react' + - acorn - bufferutil - csso - debug @@ -17894,9 +18143,9 @@ snapshots: fs-extra: 11.2.0 tslib: 2.8.0 - '@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@mdx-js/mdx': 3.0.1 + '@mdx-js/mdx': 3.1.0(acorn@8.13.0) '@types/history': 4.7.11 '@types/react': 18.3.5 commander: 5.1.0 @@ -17905,26 +18154,27 @@ snapshots: react-dom: 18.3.1(react@18.3.1) react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) utility-types: 3.11.0 - webpack: 5.94.0 + webpack: 5.95.0 webpack-merge: 5.10.0 transitivePeerDependencies: - '@swc/core' + - acorn - esbuild - supports-color - uglify-js - webpack-cli - '@docusaurus/utils-common@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@docusaurus/utils-common@3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: tslib: 2.8.0 optionalDependencies: - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2)': + '@docusaurus/utils-validation@3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2)': dependencies: '@docusaurus/logger': 3.5.2 - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) fs-extra: 11.2.0 joi: 17.13.3 js-yaml: 4.1.0 @@ -17939,13 +18189,13 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2)': + '@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2)': dependencies: '@docusaurus/logger': 3.5.2 - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@svgr/webpack': 8.1.0(typescript@5.6.2) escape-string-regexp: 4.0.0 - file-loader: 6.2.0(webpack@5.94.0) + file-loader: 6.2.0(webpack@5.95.0) fs-extra: 11.2.0 github-slugger: 1.5.0 globby: 11.1.0 @@ -17958,11 +18208,11 @@ snapshots: resolve-pathname: 3.0.0 shelljs: 0.8.5 tslib: 2.8.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.94.0))(webpack@5.94.0) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) utility-types: 3.11.0 - webpack: 5.94.0 + webpack: 5.95.0 optionalDependencies: - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.5.2(acorn@8.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: - '@swc/core' - esbuild @@ -18655,34 +18905,6 @@ snapshots: - supports-color optional: true - '@mdx-js/mdx@3.0.1': - dependencies: - '@types/estree': 1.0.6 - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdx': 2.0.13 - collapse-white-space: 2.1.0 - devlop: 1.1.0 - estree-util-build-jsx: 3.0.1 - estree-util-is-identifier-name: 3.0.0 - estree-util-to-js: 2.0.0 - estree-walker: 3.0.3 - hast-util-to-estree: 3.1.0 - hast-util-to-jsx-runtime: 2.3.2 - markdown-extensions: 2.0.0 - periscopic: 3.1.0 - remark-mdx: 3.0.1 - remark-parse: 11.0.0 - remark-rehype: 11.1.0 - source-map: 0.7.4 - unified: 11.0.5 - unist-util-position-from-estree: 2.0.0 - unist-util-stringify-position: 4.0.0 - unist-util-visit: 5.0.0 - vfile: 6.0.3 - transitivePeerDependencies: - - supports-color - '@mdx-js/mdx@3.1.0(acorn@8.13.0)': dependencies: '@types/estree': 1.0.6 @@ -18702,7 +18924,7 @@ snapshots: rehype-recma: 1.0.0 remark-mdx: 3.0.1 remark-parse: 11.0.0 - remark-rehype: 11.1.0 + remark-rehype: 11.1.1 source-map: 0.7.4 unified: 11.0.5 unist-util-position-from-estree: 2.0.0 @@ -18776,7 +18998,10 @@ snapshots: '@next/env@14.3.0-canary.51': {} - '@next/env@15.0.0': {} + '@next/env@15.0.0': + optional: true + + '@next/env@15.0.1': {} '@next/eslint-plugin-next@14.2.11': dependencies: @@ -18795,6 +19020,9 @@ snapshots: '@next/swc-darwin-arm64@15.0.0': optional: true + '@next/swc-darwin-arm64@15.0.1': + optional: true + '@next/swc-darwin-x64@14.2.11': optional: true @@ -18804,6 +19032,9 @@ snapshots: '@next/swc-darwin-x64@15.0.0': optional: true + '@next/swc-darwin-x64@15.0.1': + optional: true + '@next/swc-linux-arm64-gnu@14.2.11': optional: true @@ -18813,6 +19044,9 @@ snapshots: '@next/swc-linux-arm64-gnu@15.0.0': optional: true + '@next/swc-linux-arm64-gnu@15.0.1': + optional: true + '@next/swc-linux-arm64-musl@14.2.11': optional: true @@ -18822,6 +19056,9 @@ snapshots: '@next/swc-linux-arm64-musl@15.0.0': optional: true + '@next/swc-linux-arm64-musl@15.0.1': + optional: true + '@next/swc-linux-x64-gnu@14.2.11': optional: true @@ -18831,6 +19068,9 @@ snapshots: '@next/swc-linux-x64-gnu@15.0.0': optional: true + '@next/swc-linux-x64-gnu@15.0.1': + optional: true + '@next/swc-linux-x64-musl@14.2.11': optional: true @@ -18840,6 +19080,9 @@ snapshots: '@next/swc-linux-x64-musl@15.0.0': optional: true + '@next/swc-linux-x64-musl@15.0.1': + optional: true + '@next/swc-win32-arm64-msvc@14.2.11': optional: true @@ -18849,6 +19092,9 @@ snapshots: '@next/swc-win32-arm64-msvc@15.0.0': optional: true + '@next/swc-win32-arm64-msvc@15.0.1': + optional: true + '@next/swc-win32-ia32-msvc@14.2.11': optional: true @@ -18864,6 +19110,9 @@ snapshots: '@next/swc-win32-x64-msvc@15.0.0': optional: true + '@next/swc-win32-x64-msvc@15.0.1': + optional: true + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -19397,6 +19646,26 @@ snapshots: '@types/react': 18.3.12 '@types/react-dom': 18.3.1 + '@radix-ui/react-tooltip@1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.12 + '@types/react-dom': 18.3.1 + '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.12)(react@18.3.1)': dependencies: '@babel/runtime': 7.25.6 @@ -19704,17 +19973,37 @@ snapshots: '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 + '@shikijs/core@1.22.1': + dependencies: + '@shikijs/engine-javascript': 1.22.1 + '@shikijs/engine-oniguruma': 1.22.1 + '@shikijs/types': 1.22.1 + '@shikijs/vscode-textmate': 9.3.0 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.3 + '@shikijs/engine-javascript@1.22.0': dependencies: '@shikijs/types': 1.22.0 '@shikijs/vscode-textmate': 9.3.0 oniguruma-to-js: 0.4.3 + '@shikijs/engine-javascript@1.22.1': + dependencies: + '@shikijs/types': 1.22.1 + '@shikijs/vscode-textmate': 9.3.0 + oniguruma-to-js: 0.4.3 + '@shikijs/engine-oniguruma@1.22.0': dependencies: '@shikijs/types': 1.22.0 '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/engine-oniguruma@1.22.1': + dependencies: + '@shikijs/types': 1.22.1 + '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/rehype@1.22.0': dependencies: '@shikijs/types': 1.22.0 @@ -19728,11 +20017,25 @@ snapshots: dependencies: shiki: 1.22.0 + '@shikijs/twoslash@1.22.1(typescript@5.6.3)': + dependencies: + '@shikijs/core': 1.22.1 + '@shikijs/types': 1.22.1 + twoslash: 0.2.12(typescript@5.6.3) + transitivePeerDependencies: + - supports-color + - typescript + '@shikijs/types@1.22.0': dependencies: '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 + '@shikijs/types@1.22.1': + dependencies: + '@shikijs/vscode-textmate': 9.3.0 + '@types/hast': 3.0.4 + '@shikijs/vscode-textmate@9.3.0': {} '@sideway/address@4.1.5': @@ -20842,6 +21145,12 @@ snapshots: '@ts-graphviz/ast': 2.0.3 '@ts-graphviz/common': 2.1.2 + '@ts-morph/common@0.25.0': + dependencies: + minimatch: 9.0.5 + path-browserify: 1.0.1 + tinyglobby: 0.2.10 + '@tsconfig/docusaurus@2.0.3': {} '@types/acorn@4.0.6': @@ -20962,6 +21271,8 @@ snapshots: '@types/jsonpath@0.2.4': {} + '@types/katex@0.16.7': {} + '@types/keyv@3.1.4': dependencies: '@types/node': 22.7.8 @@ -21007,6 +21318,10 @@ snapshots: dependencies: undici-types: 6.19.8 + '@types/node@22.7.7': + dependencies: + undici-types: 6.19.8 + '@types/node@22.7.8': dependencies: undici-types: 6.19.8 @@ -21364,6 +21679,13 @@ snapshots: '@typescript-eslint/types': 8.3.0 eslint-visitor-keys: 3.4.3 + '@typescript/vfs@1.6.0(typescript@5.6.3)': + dependencies: + debug: 4.3.7 + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + '@ungap/structured-clone@1.2.0': {} '@upstash/vector@1.1.5': {} @@ -21544,7 +21866,6 @@ snapshots: '@vue/compiler-ssr': 3.5.12 '@vue/shared': 3.5.12 vue: 3.5.12(typescript@5.6.3) - optional: true '@vue/shared@3.5.12': {} @@ -21747,6 +22068,31 @@ snapshots: - solid-js - vue + ai@3.3.21(openai@4.68.1(zod@3.23.8))(react@18.3.1)(sswr@2.1.0)(vue@3.5.12(typescript@5.6.3))(zod@3.23.8): + dependencies: + '@ai-sdk/provider': 0.0.22 + '@ai-sdk/provider-utils': 1.0.17(zod@3.23.8) + '@ai-sdk/react': 0.0.53(react@18.3.1)(zod@3.23.8) + '@ai-sdk/solid': 0.0.43(zod@3.23.8) + '@ai-sdk/svelte': 0.0.45(svelte@5.0.2)(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.40(zod@3.23.8) + '@ai-sdk/vue': 0.0.45(vue@3.5.12(typescript@5.6.3))(zod@3.23.8) + '@opentelemetry/api': 1.9.0 + eventsource-parser: 1.1.2 + json-schema: 0.4.0 + jsondiffpatch: 0.6.0 + nanoid: 3.3.6 + secure-json-parse: 2.7.0 + zod-to-json-schema: 3.23.2(zod@3.23.8) + optionalDependencies: + openai: 4.68.1(zod@3.23.8) + react: 18.3.1 + sswr: 2.1.0(svelte@5.0.2) + zod: 3.23.8 + transitivePeerDependencies: + - solid-js + - vue + ajv-formats@2.1.1(ajv@8.17.1): optionalDependencies: ajv: 8.17.1 @@ -22016,12 +22362,12 @@ snapshots: b4a@1.6.6: {} - babel-loader@9.1.3(@babel/core@7.25.2)(webpack@5.94.0): + babel-loader@9.1.3(@babel/core@7.25.2)(webpack@5.95.0): dependencies: '@babel/core': 7.25.2 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.94.0 + webpack: 5.95.0 babel-plugin-dynamic-import-node@2.3.3: dependencies: @@ -22343,7 +22689,7 @@ snapshots: caniuse-api@3.0.0: dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-lite: 1.0.30001669 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 @@ -22561,6 +22907,8 @@ snapshots: - '@types/react' - '@types/react-dom' + code-block-writer@13.0.3: {} + codsen-utils@1.6.4: dependencies: rfdc: 1.4.1 @@ -22747,7 +23095,7 @@ snapshots: copy-text-to-clipboard@3.2.0: {} - copy-webpack-plugin@11.0.0(webpack@5.94.0): + copy-webpack-plugin@11.0.0(webpack@5.95.0): dependencies: fast-glob: 3.3.2 glob-parent: 6.0.2 @@ -22755,11 +23103,11 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.94.0 + webpack: 5.95.0 core-js-compat@3.38.1: dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 core-js-pure@3.38.1: {} @@ -22820,7 +23168,7 @@ snapshots: dependencies: postcss: 8.4.47 - css-loader@6.11.0(webpack@5.94.0): + css-loader@6.11.0(webpack@5.95.0): dependencies: icss-utils: 5.1.0(postcss@8.4.47) postcss: 8.4.47 @@ -22831,9 +23179,9 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.6.3 optionalDependencies: - webpack: 5.94.0 + webpack: 5.95.0 - css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.94.0): + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.95.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 cssnano: 6.1.2(postcss@8.4.47) @@ -22841,7 +23189,7 @@ snapshots: postcss: 8.4.47 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.94.0 + webpack: 5.95.0 optionalDependencies: clean-css: 5.3.3 @@ -22878,7 +23226,7 @@ snapshots: cssnano-preset-advanced@6.1.2(postcss@8.4.47): dependencies: autoprefixer: 10.4.20(postcss@8.4.47) - browserslist: 4.23.3 + browserslist: 4.24.0 cssnano-preset-default: 6.1.2(postcss@8.4.47) postcss: 8.4.47 postcss-discard-unused: 6.0.5(postcss@8.4.47) @@ -22888,7 +23236,7 @@ snapshots: cssnano-preset-default@6.1.2(postcss@8.4.41): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 css-declaration-sorter: 7.2.0(postcss@8.4.41) cssnano-utils: 4.0.2(postcss@8.4.41) postcss: 8.4.41 @@ -22922,7 +23270,7 @@ snapshots: cssnano-preset-default@6.1.2(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 css-declaration-sorter: 7.2.0(postcss@8.4.47) cssnano-utils: 4.0.2(postcss@8.4.47) postcss: 8.4.47 @@ -24177,11 +24525,11 @@ snapshots: flat-cache: 4.0.1 optional: true - file-loader@6.2.0(webpack@5.94.0): + file-loader@6.2.0(webpack@5.95.0): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.94.0 + webpack: 5.95.0 file-type@17.1.6: dependencies: @@ -24295,7 +24643,7 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@6.5.3(eslint@9.13.0)(typescript@5.6.2)(webpack@5.94.0): + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.13.0)(typescript@5.6.2)(webpack@5.95.0): dependencies: '@babel/code-frame': 7.24.7 '@types/json-schema': 7.0.15 @@ -24311,7 +24659,7 @@ snapshots: semver: 7.6.3 tapable: 1.1.3 typescript: 5.6.2 - webpack: 5.94.0 + webpack: 5.95.0 optionalDependencies: eslint: 9.13.0 @@ -24444,7 +24792,20 @@ snapshots: - sass - supports-color - fumadocs-mdx@11.0.0(acorn@8.13.0)(fumadocs-core@14.0.2(@opentelemetry/api@1.9.0)(@types/react@18.3.12))(next@15.0.0(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + fumadocs-docgen@1.3.0(typescript@5.6.3): + dependencies: + estree-util-value-to-estree: 3.1.2 + fumadocs-typescript: 3.0.0(typescript@5.6.3) + hast-util-to-estree: 3.1.0 + npm-to-yarn: 3.0.0 + ts-morph: 24.0.0 + unist-util-visit: 5.0.0 + zod: 3.23.8 + transitivePeerDependencies: + - supports-color + - typescript + + fumadocs-mdx@11.0.0(acorn@8.13.0)(fumadocs-core@14.0.2(@opentelemetry/api@1.9.0)(@types/react@18.3.12))(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): dependencies: '@mdx-js/mdx': 3.1.0(acorn@8.13.0) chokidar: 4.0.1 @@ -24455,13 +24816,13 @@ snapshots: fumadocs-core: 14.0.2(@opentelemetry/api@1.9.0)(@types/react@18.3.12) gray-matter: 4.0.3 micromatch: 4.0.8 - next: 15.0.0(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: 15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) zod: 3.23.8 transitivePeerDependencies: - acorn - supports-color - fumadocs-openapi@5.5.3(@opentelemetry/api@1.9.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.0.0(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + fumadocs-openapi@5.5.3(@opentelemetry/api@1.9.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@apidevtools/json-schema-ref-parser': 11.7.2 '@fumari/json-schema-to-typescript': 1.1.1 @@ -24470,11 +24831,11 @@ snapshots: class-variance-authority: 0.7.0 fast-glob: 3.3.2 fumadocs-core: 14.0.2(@opentelemetry/api@1.9.0)(@types/react@18.3.12) - fumadocs-ui: 14.0.2(@opentelemetry/api@1.9.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.0.0(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + fumadocs-ui: 14.0.2(@opentelemetry/api@1.9.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) github-slugger: 2.0.0 hast-util-to-jsx-runtime: 2.3.2 js-yaml: 4.1.0 - next: 15.0.0(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: 15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) openapi-sampler: 1.5.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -24494,7 +24855,39 @@ snapshots: - supports-color - ts-node - fumadocs-ui@14.0.2(@opentelemetry/api@1.9.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.0.0(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + fumadocs-twoslash@2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(fumadocs-ui@14.0.2(@opentelemetry/api@1.9.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(shiki@1.22.0)(typescript@5.6.3): + dependencies: + '@radix-ui/react-popover': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@shikijs/twoslash': 1.22.1(typescript@5.6.3) + fumadocs-ui: 14.0.2(@opentelemetry/api@1.9.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + mdast-util-from-markdown: 2.0.1 + mdast-util-gfm: 3.0.0 + mdast-util-to-hast: 13.2.0 + react: 18.3.1 + shiki: 1.22.0 + tailwind-merge: 2.5.4 + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + - react-dom + - supports-color + - typescript + + fumadocs-typescript@3.0.0(typescript@5.6.3): + dependencies: + '@types/node': 22.7.7 + fast-glob: 3.3.2 + hast-util-to-jsx-runtime: 2.3.2 + mdast-util-from-markdown: 2.0.1 + mdast-util-gfm: 3.0.0 + mdast-util-to-hast: 13.2.0 + shiki: 1.22.0 + ts-morph: 24.0.0 + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + + fumadocs-ui@14.0.2(@opentelemetry/api@1.9.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@radix-ui/react-accordion': 1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-collapsible': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -24509,7 +24902,7 @@ snapshots: class-variance-authority: 0.7.0 cmdk: 1.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) fumadocs-core: 14.0.2(@opentelemetry/api@1.9.0)(@types/react@18.3.12) - next: 15.0.0(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: 15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) next-themes: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -24880,6 +25273,28 @@ snapshots: dependencies: function-bind: 1.1.2 + hast-util-from-dom@5.0.0: + dependencies: + '@types/hast': 3.0.4 + hastscript: 8.0.0 + web-namespaces: 2.0.1 + + hast-util-from-html-isomorphic@2.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-from-dom: 5.0.0 + hast-util-from-html: 2.0.3 + unist-util-remove-position: 5.0.0 + + hast-util-from-html@2.0.3: + dependencies: + '@types/hast': 3.0.4 + devlop: 1.1.0 + hast-util-from-parse5: 8.0.1 + parse5: 7.1.2 + vfile: 6.0.3 + vfile-message: 4.0.2 + hast-util-from-parse5@8.0.1: dependencies: '@types/hast': 3.0.4 @@ -24891,6 +25306,10 @@ snapshots: vfile-location: 5.0.3 web-namespaces: 2.0.1 + hast-util-is-element@3.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-parse-selector@2.2.5: {} hast-util-parse-selector@4.0.0: @@ -25002,6 +25421,13 @@ snapshots: dependencies: '@types/hast': 3.0.4 + hast-util-to-text@4.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + hast-util-is-element: 3.0.0 + unist-util-find-after: 5.0.0 + hast-util-whitespace@3.0.0: dependencies: '@types/hast': 3.0.4 @@ -25066,7 +25492,7 @@ snapshots: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.32.0 + terser: 5.36.0 html-minifier-terser@7.2.0: dependencies: @@ -25084,7 +25510,7 @@ snapshots: html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.0(webpack@5.94.0): + html-webpack-plugin@5.6.0(webpack@5.95.0): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -25092,7 +25518,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.94.0 + webpack: 5.95.0 htmlparser2@6.1.0: dependencies: @@ -25712,6 +26138,10 @@ snapshots: kareem@2.6.3: {} + katex@0.16.11: + dependencies: + commander: 8.3.0 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -26107,6 +26537,18 @@ snapshots: transitivePeerDependencies: - supports-color + mdast-util-math@3.0.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + longest-streak: 3.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + unist-util-remove-position: 5.0.0 + transitivePeerDependencies: + - supports-color + mdast-util-mdx-expression@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 @@ -26306,6 +26748,16 @@ snapshots: micromark-util-combine-extensions: 2.0.0 micromark-util-types: 2.0.0 + micromark-extension-math@3.1.0: + dependencies: + '@types/katex': 0.16.7 + devlop: 1.1.0 + katex: 0.16.11 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + micromark-extension-mdx-expression@3.0.0: dependencies: '@types/estree': 1.0.6 @@ -26545,11 +26997,11 @@ snapshots: mimic-response@4.0.0: {} - mini-css-extract-plugin@2.9.1(webpack@5.94.0): + mini-css-extract-plugin@2.9.1(webpack@5.95.0): dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.94.0 + webpack: 5.95.0 miniflare@3.20240909.5(bufferutil@4.0.8): dependencies: @@ -26932,6 +27384,33 @@ snapshots: transitivePeerDependencies: - '@babel/core' - babel-plugin-macros + optional: true + + next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@next/env': 15.0.1 + '@swc/counter': 0.1.3 + '@swc/helpers': 0.5.13 + busboy: 1.6.0 + caniuse-lite: 1.0.30001669 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.6(react@18.3.1) + optionalDependencies: + '@next/swc-darwin-arm64': 15.0.1 + '@next/swc-darwin-x64': 15.0.1 + '@next/swc-linux-arm64-gnu': 15.0.1 + '@next/swc-linux-arm64-musl': 15.0.1 + '@next/swc-linux-x64-gnu': 15.0.1 + '@next/swc-linux-x64-musl': 15.0.1 + '@next/swc-win32-arm64-msvc': 15.0.1 + '@next/swc-win32-x64-msvc': 15.0.1 + '@opentelemetry/api': 1.9.0 + sharp: 0.33.5 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros nice-grpc-client-middleware-deadline@2.0.12: dependencies: @@ -27028,6 +27507,8 @@ snapshots: npm-to-yarn@2.2.1: {} + npm-to-yarn@3.0.0: {} + npmlog@5.0.1: dependencies: are-we-there-yet: 2.0.0 @@ -27386,6 +27867,8 @@ snapshots: no-case: 3.0.4 tslib: 2.8.0 + path-browserify@1.0.1: {} + path-exists@3.0.0: {} path-exists@4.0.0: {} @@ -27434,12 +27917,6 @@ snapshots: perfect-debounce@1.0.0: {} - periscopic@3.1.0: - dependencies: - '@types/estree': 1.0.6 - estree-walker: 3.0.3 - is-reference: 3.0.2 - pg-cloudflare@1.1.1: optional: true @@ -27559,7 +28036,7 @@ snapshots: postcss-colormin@6.1.0(postcss@8.4.41): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.41 @@ -27567,7 +28044,7 @@ snapshots: postcss-colormin@6.1.0(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.47 @@ -27575,13 +28052,13 @@ snapshots: postcss-convert-values@6.1.0(postcss@8.4.41): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 postcss: 8.4.41 postcss-value-parser: 4.2.0 postcss-convert-values@6.1.0(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 postcss: 8.4.47 postcss-value-parser: 4.2.0 @@ -27641,13 +28118,13 @@ snapshots: optionalDependencies: postcss: 8.4.47 - postcss-loader@7.3.4(postcss@8.4.41)(typescript@5.6.2)(webpack@5.94.0): + postcss-loader@7.3.4(postcss@8.4.41)(typescript@5.6.2)(webpack@5.95.0): dependencies: cosmiconfig: 8.3.6(typescript@5.6.2) jiti: 1.21.6 postcss: 8.4.41 semver: 7.6.3 - webpack: 5.94.0 + webpack: 5.95.0 transitivePeerDependencies: - typescript @@ -27671,7 +28148,7 @@ snapshots: postcss-merge-rules@6.1.1(postcss@8.4.41): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-api: 3.0.0 cssnano-utils: 4.0.2(postcss@8.4.41) postcss: 8.4.41 @@ -27679,7 +28156,7 @@ snapshots: postcss-merge-rules@6.1.1(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-api: 3.0.0 cssnano-utils: 4.0.2(postcss@8.4.47) postcss: 8.4.47 @@ -27711,14 +28188,14 @@ snapshots: postcss-minify-params@6.1.0(postcss@8.4.41): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 cssnano-utils: 4.0.2(postcss@8.4.41) postcss: 8.4.41 postcss-value-parser: 4.2.0 postcss-minify-params@6.1.0(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 cssnano-utils: 4.0.2(postcss@8.4.47) postcss: 8.4.47 postcss-value-parser: 4.2.0 @@ -27819,13 +28296,13 @@ snapshots: postcss-normalize-unicode@6.1.0(postcss@8.4.41): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 postcss: 8.4.41 postcss-value-parser: 4.2.0 postcss-normalize-unicode@6.1.0(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 postcss: 8.4.47 postcss-value-parser: 4.2.0 @@ -27868,13 +28345,13 @@ snapshots: postcss-reduce-initial@6.1.0(postcss@8.4.41): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-api: 3.0.0 postcss: 8.4.41 postcss-reduce-initial@6.1.0(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-api: 3.0.0 postcss: 8.4.47 @@ -28189,11 +28666,11 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 - raw-loader@4.0.2(webpack@5.94.0): + raw-loader@4.0.2(webpack@5.95.0): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.94.0 + webpack: 5.95.0 rc9@2.1.2: dependencies: @@ -28207,18 +28684,18 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-dev-utils@12.0.1(eslint@9.13.0)(typescript@5.6.2)(webpack@5.94.0): + react-dev-utils@12.0.1(eslint@9.13.0)(typescript@5.6.2)(webpack@5.95.0): dependencies: '@babel/code-frame': 7.24.7 address: 1.2.2 - browserslist: 4.23.3 + browserslist: 4.24.0 chalk: 4.1.2 cross-spawn: 7.0.3 detect-port-alt: 1.1.6 escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.13.0)(typescript@5.6.2)(webpack@5.94.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.13.0)(typescript@5.6.2)(webpack@5.95.0) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -28233,7 +28710,7 @@ snapshots: shell-quote: 1.8.1 strip-ansi: 6.0.1 text-table: 0.2.0 - webpack: 5.94.0 + webpack: 5.95.0 optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: @@ -28287,11 +28764,11 @@ snapshots: dependencies: react: 18.3.1 - react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.94.0): + react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.95.0): dependencies: '@babel/runtime': 7.25.6 react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' - webpack: 5.94.0 + webpack: 5.95.0 react-markdown@9.0.1(@types/react@18.3.12)(react@18.3.1): dependencies: @@ -28575,6 +29052,16 @@ snapshots: dependencies: jsesc: 0.5.0 + rehype-katex@7.0.1: + dependencies: + '@types/hast': 3.0.4 + '@types/katex': 0.16.7 + hast-util-from-html-isomorphic: 2.0.0 + hast-util-to-text: 4.0.2 + katex: 0.16.11 + unist-util-visit-parents: 6.0.1 + vfile: 6.0.3 + rehype-raw@7.0.0: dependencies: '@types/hast': 3.0.4 @@ -28628,6 +29115,15 @@ snapshots: transitivePeerDependencies: - supports-color + remark-math@6.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-math: 3.0.0 + micromark-extension-math: 3.1.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + remark-mdx@3.0.1: dependencies: mdast-util-mdx: 3.0.0 @@ -29484,13 +29980,13 @@ snapshots: stylehacks@6.1.1(postcss@8.4.41): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 postcss: 8.4.41 postcss-selector-parser: 6.1.2 stylehacks@6.1.1(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 postcss: 8.4.47 postcss-selector-parser: 6.1.2 @@ -29562,6 +30058,10 @@ snapshots: dependencies: vue: 3.5.12(typescript@5.6.2) + swrv@1.0.4(vue@3.5.12(typescript@5.6.3)): + dependencies: + vue: 3.5.12(typescript@5.6.3) + sylvester@0.0.12: {} tailwind-merge@2.5.2: {} @@ -29676,27 +30176,18 @@ snapshots: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.32.0 + terser: 5.36.0 webpack: 5.94.0(@swc/core@1.7.22(@swc/helpers@0.5.13)) optionalDependencies: '@swc/core': 1.7.22(@swc/helpers@0.5.13) - terser-webpack-plugin@5.3.10(webpack@5.94.0): - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - jest-worker: 27.5.1 - schema-utils: 3.3.0 - serialize-javascript: 6.0.2 - terser: 5.32.0 - webpack: 5.94.0 - terser-webpack-plugin@5.3.10(webpack@5.95.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.32.0 + terser: 5.36.0 webpack: 5.95.0 terser@5.32.0: @@ -29712,7 +30203,6 @@ snapshots: acorn: 8.13.0 commander: 2.20.3 source-map-support: 0.5.21 - optional: true text-decoder@1.1.1: dependencies: @@ -29744,6 +30234,11 @@ snapshots: tinyexec@0.3.0: {} + tinyglobby@0.2.10: + dependencies: + fdir: 6.4.2(picomatch@4.0.2) + picomatch: 4.0.2 + tinypool@1.0.1: {} tinyrainbow@1.2.0: {} @@ -29815,6 +30310,11 @@ snapshots: ts-interface-checker@0.1.13: {} + ts-morph@24.0.0: + dependencies: + '@ts-morph/common': 0.25.0 + code-block-writer: 13.0.3 + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -29872,6 +30372,16 @@ snapshots: turbo-windows-64: 2.1.2 turbo-windows-arm64: 2.1.2 + twoslash-protocol@0.2.12: {} + + twoslash@0.2.12(typescript@5.6.3): + dependencies: + '@typescript/vfs': 1.6.0(typescript@5.6.3) + twoslash-protocol: 0.2.12 + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + type-check@0.3.2: dependencies: prelude-ls: 1.1.2 @@ -30018,6 +30528,11 @@ snapshots: dependencies: crypto-random-string: 4.0.0 + unist-util-find-after@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.3 @@ -30030,6 +30545,11 @@ snapshots: dependencies: '@types/unist': 3.0.3 + unist-util-remove-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-visit: 5.0.0 + unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.3 @@ -30102,14 +30622,14 @@ snapshots: url-join@4.0.1: {} - url-loader@4.1.1(file-loader@6.2.0(webpack@5.94.0))(webpack@5.94.0): + url-loader@4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0): dependencies: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.94.0 + webpack: 5.95.0 optionalDependencies: - file-loader: 6.2.0(webpack@5.94.0) + file-loader: 6.2.0(webpack@5.95.0) url-parse@1.5.10: dependencies: @@ -30399,7 +30919,6 @@ snapshots: '@vue/shared': 3.5.12 optionalDependencies: typescript: 5.6.3 - optional: true waku@0.21.4(@swc/helpers@0.5.13)(@types/node@22.7.8)(react-dom@19.0.0-rc-bf7e210c-20241017(react@19.0.0-rc-bf7e210c-20241017))(react-server-dom-webpack@19.0.0-rc-bf7e210c-20241017(react-dom@19.0.0-rc-bf7e210c-20241017(react@19.0.0-rc-bf7e210c-20241017))(react@19.0.0-rc-bf7e210c-20241017)(webpack@5.95.0))(react@19.0.0-rc-bf7e210c-20241017)(terser@5.36.0): dependencies: @@ -30477,16 +30996,16 @@ snapshots: - bufferutil - utf-8-validate - webpack-dev-middleware@5.3.4(webpack@5.94.0): + webpack-dev-middleware@5.3.4(webpack@5.95.0): dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.94.0 + webpack: 5.95.0 - webpack-dev-server@4.15.2(bufferutil@4.0.8)(webpack@5.94.0): + webpack-dev-server@4.15.2(bufferutil@4.0.8)(webpack@5.95.0): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -30516,10 +31035,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 5.3.4(webpack@5.94.0) + webpack-dev-middleware: 5.3.4(webpack@5.95.0) ws: 8.18.0(bufferutil@4.0.8) optionalDependencies: - webpack: 5.94.0 + webpack: 5.95.0 transitivePeerDependencies: - bufferutil - debug @@ -30536,36 +31055,6 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.94.0: - dependencies: - '@types/estree': 1.0.5 - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/wasm-edit': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.12.1 - acorn-import-attributes: 1.9.5(acorn@8.12.1) - browserslist: 4.23.3 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.17.1 - es-module-lexer: 1.5.4 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.3.0 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.94.0) - watchpack: 2.4.2 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - webpack@5.94.0(@swc/core@1.7.22(@swc/helpers@0.5.13)): dependencies: '@types/estree': 1.0.5 @@ -30626,13 +31115,13 @@ snapshots: - esbuild - uglify-js - webpackbar@5.0.2(webpack@5.94.0): + webpackbar@5.0.2(webpack@5.95.0): dependencies: chalk: 4.1.2 consola: 2.15.3 pretty-time: 1.1.0 std-env: 3.7.0 - webpack: 5.94.0 + webpack: 5.95.0 websocket-driver@0.7.4: dependencies: