From d212240d642e83e84b724e088a2d2e6658040dd2 Mon Sep 17 00:00:00 2001
From: Alex Yang <himself65@outlook.com>
Date: Fri, 7 Mar 2025 23:30:54 -0800
Subject: [PATCH] feat: use fumadoc 15 + tailwind 4 (#1690)

Co-authored-by: thucpn <thucsh2@gmail.com>
---
 apps/next/package.json                        |   39 +-
 apps/next/postcss.config.js                   |    6 -
 apps/next/postcss.config.mjs                  |    5 +
 .../{generate-docs.mjs => generate-docs.mts}  |   40 +-
 apps/next/scripts/update-llamacloud.mts       |   11 +-
 apps/next/src/app/global.css                  |   50 +-
 apps/next/src/components/code-block.tsx       |    9 +-
 .../src/components/demo/chat/api/demo.tsx     |    9 +-
 .../components/demo/chat/rsc/chat-section.tsx |    6 +-
 .../guide/agents/2_create_agent.mdx           |   23 +-
 .../guide/agents/5_rag_and_tools.mdx          |   48 +-
 .../docs/llamaindex/guide/chat/chat.mdx       |    2 -
 .../docs/llamaindex/guide/chat/install.mdx    |   22 +
 .../docs/llamaindex/guide/chat/meta.json      |    4 +-
 .../docs/llamaindex/guide/chat/rsc.mdx        |    2 -
 .../modules/llms/available_llms/bedrock.mdx   |   45 +-
 .../docs/llamaindex/modules/tool/index.mdx    |   15 +-
 ...tailwind.config.js => tailwind.config.mjs} |    8 -
 e2e/examples/cloudflare-hono/package.json     |    2 +-
 .../cloudflare-worker-agent/package.json      |    2 +-
 e2e/examples/llama-parse-browser/package.json |    2 +-
 e2e/examples/nextjs-agent/package.json        |   10 +-
 e2e/examples/nextjs-agent/postcss.config.mjs  |    8 -
 e2e/examples/nextjs-agent/src/app/globals.css |    3 -
 e2e/examples/nextjs-agent/src/app/layout.tsx  |    1 -
 e2e/examples/nextjs-agent/tailwind.config.ts  |   20 -
 e2e/examples/nextjs-edge-runtime/package.json |   12 +-
 e2e/examples/nextjs-node-runtime/package.json |   12 +-
 .../nextjs-node-runtime/postcss.config.mjs    |    8 -
 .../nextjs-node-runtime/src/app/globals.css   |    3 -
 .../nextjs-node-runtime/src/app/layout.tsx    |    1 -
 .../nextjs-node-runtime/tailwind.config.ts    |   20 -
 .../vite-import-llamaindex/package.json       |    2 +-
 e2e/examples/waku-query-engine/package.json   |    8 +-
 .../waku-query-engine/postcss.config.js       |    7 -
 .../waku-query-engine/postcss.config.mjs      |    5 +
 e2e/examples/waku-query-engine/src/styles.css |    4 +-
 e2e/node/fixtures/tools.ts                    |   60 +-
 e2e/package.json                              |    9 +-
 examples/agent/large_toolcall.ts              |   48 +-
 examples/agent/large_toolcall_with_gpt4o.ts   |   16 +-
 examples/agent/openai.ts                      |   52 +-
 examples/agent/retriever_openai_agent.ts      |   14 +-
 examples/agent/stream_openai_agent.ts         |   42 +-
 examples/agent/utils/tools.ts                 |   27 +-
 examples/agent/wiki.ts                        |   24 +-
 examples/anthropic/agent.ts                   |   16 +-
 examples/gemini/agent.ts                      |   55 +-
 examples/package.json                         |    4 +-
 examples/readers/package.json                 |    4 +-
 package.json                                  |    6 +-
 .../autotool/examples/01_node/package.json    |    2 +-
 .../autotool/examples/02_nextjs/.env.example  |    3 -
 .../autotool/examples/02_nextjs/.gitignore    |   35 -
 .../autotool/examples/02_nextjs/CHANGELOG.md  | 1135 -----
 .../autotool/examples/02_nextjs/README.md     |   30 -
 .../autotool/examples/02_nextjs/actions.ts    |   38 -
 .../examples/02_nextjs/app/favicon.ico        |  Bin 15406 -> 0 bytes
 .../examples/02_nextjs/app/globals.css        |   91 -
 .../examples/02_nextjs/app/layout.tsx         |   26 -
 .../autotool/examples/02_nextjs/app/page.tsx  |   11 -
 .../02_nextjs/components/chat-section.tsx     |   35 -
 .../02_nextjs/components/location-card.tsx    |    9 -
 .../examples/02_nextjs/components/spinner.tsx |   23 -
 .../examples/02_nextjs/context/index.ts       |   14 -
 .../examples/02_nextjs/next.config.mjs        |    7 -
 .../autotool/examples/02_nextjs/package.json  |   37 -
 .../examples/02_nextjs/postcss.config.js      |    6 -
 .../examples/02_nextjs/public/llama.png       |  Bin 36985 -> 0 bytes
 .../examples/02_nextjs/tailwind.config.ts     |   78 -
 .../examples/02_nextjs/tool/index.tsx         |   27 -
 .../autotool/examples/02_nextjs/tsconfig.json |   28 -
 packages/autotool/package.json                |    6 +-
 packages/core/tests/tools.test.ts             |   12 +-
 packages/llamaindex/package.json              |    3 +-
 packages/wasm-tools/package.json              |    2 +-
 pnpm-lock.yaml                                | 3797 ++++++++---------
 unit/package.json                             |    8 +-
 78 files changed, 2120 insertions(+), 4194 deletions(-)
 delete mode 100644 apps/next/postcss.config.js
 create mode 100644 apps/next/postcss.config.mjs
 rename apps/next/scripts/{generate-docs.mjs => generate-docs.mts} (64%)
 create mode 100644 apps/next/src/content/docs/llamaindex/guide/chat/install.mdx
 rename apps/next/{tailwind.config.js => tailwind.config.mjs} (83%)
 delete mode 100644 e2e/examples/nextjs-agent/postcss.config.mjs
 delete mode 100644 e2e/examples/nextjs-agent/src/app/globals.css
 delete mode 100644 e2e/examples/nextjs-agent/tailwind.config.ts
 delete mode 100644 e2e/examples/nextjs-node-runtime/postcss.config.mjs
 delete mode 100644 e2e/examples/nextjs-node-runtime/src/app/globals.css
 delete mode 100644 e2e/examples/nextjs-node-runtime/tailwind.config.ts
 delete mode 100644 e2e/examples/waku-query-engine/postcss.config.js
 create mode 100644 e2e/examples/waku-query-engine/postcss.config.mjs
 delete mode 100644 packages/autotool/examples/02_nextjs/.env.example
 delete mode 100644 packages/autotool/examples/02_nextjs/.gitignore
 delete mode 100644 packages/autotool/examples/02_nextjs/CHANGELOG.md
 delete mode 100644 packages/autotool/examples/02_nextjs/README.md
 delete mode 100644 packages/autotool/examples/02_nextjs/actions.ts
 delete mode 100644 packages/autotool/examples/02_nextjs/app/favicon.ico
 delete mode 100644 packages/autotool/examples/02_nextjs/app/globals.css
 delete mode 100644 packages/autotool/examples/02_nextjs/app/layout.tsx
 delete mode 100644 packages/autotool/examples/02_nextjs/app/page.tsx
 delete mode 100644 packages/autotool/examples/02_nextjs/components/chat-section.tsx
 delete mode 100644 packages/autotool/examples/02_nextjs/components/location-card.tsx
 delete mode 100644 packages/autotool/examples/02_nextjs/components/spinner.tsx
 delete mode 100644 packages/autotool/examples/02_nextjs/context/index.ts
 delete mode 100644 packages/autotool/examples/02_nextjs/next.config.mjs
 delete mode 100644 packages/autotool/examples/02_nextjs/package.json
 delete mode 100644 packages/autotool/examples/02_nextjs/postcss.config.js
 delete mode 100644 packages/autotool/examples/02_nextjs/public/llama.png
 delete mode 100644 packages/autotool/examples/02_nextjs/tailwind.config.ts
 delete mode 100644 packages/autotool/examples/02_nextjs/tool/index.tsx
 delete mode 100644 packages/autotool/examples/02_nextjs/tsconfig.json

diff --git a/apps/next/package.json b/apps/next/package.json
index cc56beb59..99feec80e 100644
--- a/apps/next/package.json
+++ b/apps/next/package.json
@@ -8,11 +8,11 @@
     "start": "next start",
     "postdev": "fumadocs-mdx",
     "postbuild": "fumadocs-mdx && tsx scripts/post-build.mts",
-    "build:docs": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" typedoc && node ./scripts/generate-docs.mjs"
+    "build:docs": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" typedoc && tsx scripts/generate-docs.mts"
   },
   "dependencies": {
     "@icons-pack/react-simple-icons": "^10.1.0",
-    "@llamaindex/chat-ui": "0.0.9",
+    "@llamaindex/chat-ui": "0.2.0",
     "@llamaindex/cloud": "workspace:*",
     "@llamaindex/core": "workspace:*",
     "@llamaindex/node-parser": "workspace:*",
@@ -27,24 +27,24 @@
     "@radix-ui/react-slider": "^1.2.1",
     "@radix-ui/react-slot": "^1.1.0",
     "@radix-ui/react-tooltip": "^1.1.4",
-    "@vercel/functions": "^1.5.0",
     "@scalar/api-client-react": "^1.1.25",
+    "@vercel/functions": "^1.5.0",
     "ai": "^3.4.33",
     "class-variance-authority": "^0.7.0",
     "clsx": "2.1.1",
     "foxact": "^0.2.41",
     "framer-motion": "^11.11.17",
-    "fumadocs-core": "^14.7.7",
-    "fumadocs-docgen": "^1.3.7",
-    "fumadocs-mdx": "^11.5.3",
-    "fumadocs-openapi": "^5.12.0",
-    "fumadocs-twoslash": "^2.0.3",
-    "fumadocs-typescript": "^3.0.3",
-    "fumadocs-ui": "^14.7.7",
+    "fumadocs-core": "^15.0.15",
+    "fumadocs-docgen": "^2.0.0",
+    "fumadocs-mdx": "^11.5.6",
+    "fumadocs-openapi": "^6.3.0",
+    "fumadocs-twoslash": "^3.1.0",
+    "fumadocs-typescript": "^3.1.0",
+    "fumadocs-ui": "^15.0.15",
     "hast-util-to-jsx-runtime": "^2.3.2",
     "llamaindex": "workspace:*",
     "lucide-react": "^0.460.0",
-    "next": "15.1.7",
+    "next": "15.2.0",
     "next-themes": "^0.4.3",
     "react": "^19.0.0",
     "react-dom": "^19.0.0",
@@ -55,8 +55,8 @@
     "rehype-katex": "^7.0.1",
     "remark-math": "^6.0.0",
     "rimraf": "^6.0.1",
-    "shiki": "^2.3.2",
-    "shiki-magic-move": "^1.0.0",
+    "shiki": "^3.1.0",
+    "shiki-magic-move": "^1.0.1",
     "swr": "^2.2.5",
     "tailwind-merge": "^2.5.2",
     "tailwindcss-animate": "^1.0.7",
@@ -68,26 +68,27 @@
   },
   "devDependencies": {
     "@next/env": "^15.0.3",
+    "@tailwindcss/postcss": "^4.0.9",
     "@types/mdx": "^2.0.13",
     "@types/node": "22.9.0",
-    "@types/react": "^18.3.12",
-    "@types/react-dom": "^18.3.1",
+    "@types/react": "^19.0.10",
+    "@types/react-dom": "^19.0.4",
     "autoprefixer": "^10.4.20",
     "cross-env": "^7.0.3",
     "fast-glob": "^3.3.2",
     "gray-matter": "^4.0.3",
     "monaco-editor-webpack-plugin": "^7.1.0",
-    "postcss": "^8.4.49",
+    "postcss": "^8.5.3",
     "raw-loader": "^4.0.2",
     "remark": "^15.0.1",
     "remark-gfm": "^4.0.0",
     "remark-mdx": "^3.1.0",
     "remark-stringify": "^11.0.0",
-    "tailwindcss": "^3.4.15",
-    "tsx": "^4.19.2",
+    "tailwindcss": "^4.0.9",
+    "tsx": "^4.19.3",
     "typedoc": "0.27.4",
     "typedoc-plugin-markdown": "^4.3.1",
     "typedoc-plugin-merge-modules": "^6.1.0",
-    "typescript": "^5.7.2"
+    "typescript": "^5.7.3"
   }
 }
diff --git a/apps/next/postcss.config.js b/apps/next/postcss.config.js
deleted file mode 100644
index 12a703d90..000000000
--- a/apps/next/postcss.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
-  plugins: {
-    tailwindcss: {},
-    autoprefixer: {},
-  },
-};
diff --git a/apps/next/postcss.config.mjs b/apps/next/postcss.config.mjs
new file mode 100644
index 000000000..c2ddf7482
--- /dev/null
+++ b/apps/next/postcss.config.mjs
@@ -0,0 +1,5 @@
+export default {
+  plugins: {
+    "@tailwindcss/postcss": {},
+  },
+};
diff --git a/apps/next/scripts/generate-docs.mjs b/apps/next/scripts/generate-docs.mts
similarity index 64%
rename from apps/next/scripts/generate-docs.mjs
rename to apps/next/scripts/generate-docs.mts
index 70d94a9c1..6eafa2e5b 100644
--- a/apps/next/scripts/generate-docs.mjs
+++ b/apps/next/scripts/generate-docs.mts
@@ -1,8 +1,6 @@
-import * as OpenAPI from "fumadocs-openapi";
 import { generateFiles } from "fumadocs-typescript";
 import fs from "node:fs";
 import * as path from "node:path";
-import { fileURLToPath } from "node:url";
 import { rimrafSync } from "rimraf";
 
 const out = "./src/content/docs/cloud/api";
@@ -15,28 +13,17 @@ rimrafSync(out, {
   },
 });
 
-void OpenAPI.generateFiles({
-  input: [
-    fileURLToPath(
-      new URL("../../../packages/cloud/openapi.json", import.meta.url),
-    ),
-  ],
-  output: out,
-  groupBy: "tag",
-});
-
 void generateFiles({
   input: ["./src/content/docs/api/**/*.mdx"],
   output: (file) => path.resolve(path.dirname(file), path.basename(file)),
   transformOutput,
 });
 
-function transformOutput(filePath, content) {
+function transformOutput(filePath: string, content: string) {
   const fileName = path.basename(filePath);
   let title = fileName.split(".")[0];
-  let pageContent = content;
   if (title === "index") title = "LlamaIndex API Reference";
-  return `---\ntitle: ${title}\n---\n\n${transformAbsoluteUrl(pageContent, filePath)}`;
+  return `---\ntitle: ${title}\n---\n\n${transformAbsoluteUrl(content, filePath)}`;
 }
 
 /**
@@ -46,20 +33,17 @@ function transformOutput(filePath, content) {
  * [text](BaseVectorStore.mdx#constructors) -> [text](/docs/api/classes/BaseVectorStore#constructors)
  * [text](TaskStep.mdx) -> [text](/docs/api/type-aliases/TaskStep)
  */
-function transformAbsoluteUrl(content, filePath) {
+function transformAbsoluteUrl(content: string, filePath: string) {
   const group = path.dirname(filePath).split(path.sep).pop();
-  return content.replace(
-    /\]\(([^)]+)\.mdx([^)]*)\)/g,
-    (match, slug, anchor) => {
-      const slugParts = slug.split("/");
-      const fileName = slugParts[slugParts.length - 1];
-      const fileGroup = slugParts[slugParts.length - 2] ?? group;
-      const result = ["/docs/api", fileGroup, fileName, anchor]
-        .filter(Boolean)
-        .join("/");
-      return `](${result})`;
-    },
-  );
+  return content.replace(/\]\(([^)]+)\.mdx([^)]*)\)/g, (_, slug, anchor) => {
+    const slugParts = slug.split("/");
+    const fileName = slugParts[slugParts.length - 1];
+    const fileGroup = slugParts[slugParts.length - 2] ?? group;
+    const result = ["/docs/api", fileGroup, fileName, anchor]
+      .filter(Boolean)
+      .join("/");
+    return `](${result})`;
+  });
 }
 
 // append meta.json for API page
diff --git a/apps/next/scripts/update-llamacloud.mts b/apps/next/scripts/update-llamacloud.mts
index 85509d968..380c34b48 100644
--- a/apps/next/scripts/update-llamacloud.mts
+++ b/apps/next/scripts/update-llamacloud.mts
@@ -1,11 +1,7 @@
 import { upsertBatchPipelineDocumentsApiV1PipelinesPipelineIdDocumentsPut } from "@llamaindex/cloud/api";
 import fg from "fast-glob";
-import {
-  fileGenerator,
-  remarkDocGen,
-  remarkInstall,
-  typescriptGenerator,
-} from "fumadocs-docgen";
+import { fileGenerator, remarkDocGen, remarkInstall } from "fumadocs-docgen";
+import { remarkAutoTypeTable } from "fumadocs-typescript";
 import matter from "gray-matter";
 import * as fs from "node:fs/promises";
 import path, { relative } from "node:path";
@@ -21,7 +17,8 @@ async function processContent(content: string): Promise<string> {
   const file = await remark()
     .use(remarkMdx)
     .use(remarkGfm)
-    .use(remarkDocGen, { generators: [typescriptGenerator(), fileGenerator()] })
+    .use(remarkAutoTypeTable)
+    .use(remarkDocGen, { generators: [fileGenerator()] })
     .use(remarkInstall, { persist: { id: "package-manager" } })
     .use(remarkStringify)
     .process(content);
diff --git a/apps/next/src/app/global.css b/apps/next/src/app/global.css
index d3195bda0..a674ad2cb 100644
--- a/apps/next/src/app/global.css
+++ b/apps/next/src/app/global.css
@@ -1,6 +1,12 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
+@import "tailwindcss";
+@import "fumadocs-ui/css/neutral.css";
+@import "fumadocs-ui/css/preset.css";
+@plugin "tailwindcss-animate";
+@source '../../node_modules/fumadocs-ui/dist/**/*.js';
+@source "../../node_modules/fumadocs-openapi/dist/**/*.js",
+@source '../../node_modules/@llamaindex/chat-ui/dist/**/*.js';
+@config "../../tailwind.config.mjs";
+
 @layer base {
   :root {
     --page-max-width: 1840px;
@@ -46,6 +52,7 @@
     --chart-5: 27 87% 67%;
     --radius: 0.5rem;
   }
+
   .dark {
     --color-neutral-000: #0e0c15;
     --color-neutral-100: #252134;
@@ -87,40 +94,3 @@
     --chart-5: 340 75% 55%;
   }
 }
-@layer base {
-  * {
-    @apply border-border;
-  }
-  body {
-    @apply bg-background text-foreground;
-  }
-
-  /*
-  * Override default styles for Markdown
-  */
-  .prose
-    :where(blockquote):not(
-      :where([class~="not-prose"], [class~="not-prose"] *)
-    ) {
-    font-style: normal !important;
-  }
-
-  .prose
-    :where(blockquote p:first-of-type):not(
-      :where([class~="not-prose"], [class~="not-prose"] *)
-    ):before {
-    content: none !important;
-  }
-
-  .prose
-    :where(blockquote p:first-of-type):not(
-      :where([class~="not-prose"], [class~="not-prose"] *)
-    ):after {
-    content: none !important;
-  }
-
-  .prose
-    :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
-    @apply text-blue-600 !important;
-  }
-}
diff --git a/apps/next/src/components/code-block.tsx b/apps/next/src/components/code-block.tsx
index 3521c3221..de951d388 100644
--- a/apps/next/src/components/code-block.tsx
+++ b/apps/next/src/components/code-block.tsx
@@ -1,5 +1,5 @@
 import * as Base from "fumadocs-ui/components/codeblock";
-import { toJsxRuntime, type Jsx } from "hast-util-to-jsx-runtime";
+import { toJsxRuntime } from "hast-util-to-jsx-runtime";
 import { Fragment } from "react";
 import { jsx, jsxs } from "react/jsx-runtime";
 import { codeToHast } from "shiki";
@@ -39,12 +39,11 @@ export async function CodeBlock({
   });
 
   const rendered = toJsxRuntime(hast, {
-    jsx: jsx as Jsx,
-    jsxs: jsxs as Jsx,
+    jsx: jsx,
+    jsxs: jsxs,
     Fragment,
-    development: false,
+    development: process.env.NODE_ENV === "development",
     components: {
-      // @ts-expect-error -- JSX component
       pre: Base.Pre,
     },
   });
diff --git a/apps/next/src/components/demo/chat/api/demo.tsx b/apps/next/src/components/demo/chat/api/demo.tsx
index 85bb750e1..d890ed175 100644
--- a/apps/next/src/components/demo/chat/api/demo.tsx
+++ b/apps/next/src/components/demo/chat/api/demo.tsx
@@ -1,11 +1,16 @@
 "use client";
-import { ChatInput, ChatMessages, ChatSection } from "@llamaindex/chat-ui";
+import {
+  ChatHandler,
+  ChatInput,
+  ChatMessages,
+  ChatSection,
+} from "@llamaindex/chat-ui";
 import { useChat } from "ai/react";
 
 export const ChatDemo = () => {
   const handler = useChat();
   return (
-    <ChatSection handler={handler}>
+    <ChatSection handler={handler as ChatHandler}>
       <ChatMessages>
         <ChatMessages.List className="h-auto max-h-[400px]" />
         <ChatMessages.Actions />
diff --git a/apps/next/src/components/demo/chat/rsc/chat-section.tsx b/apps/next/src/components/demo/chat/rsc/chat-section.tsx
index 384cdae3b..7c3dc7cce 100644
--- a/apps/next/src/components/demo/chat/rsc/chat-section.tsx
+++ b/apps/next/src/components/demo/chat/rsc/chat-section.tsx
@@ -1,23 +1,25 @@
 "use client";
 
 import {
+  ChatHandler,
   ChatInput,
   ChatMessage,
   ChatMessages,
   ChatSection as ChatSectionUI,
+  Message,
 } from "@llamaindex/chat-ui";
 import { useChatRSC } from "./use-chat-rsc";
 
 export const ChatSectionRSC = () => {
   const handler = useChatRSC();
   return (
-    <ChatSectionUI handler={handler}>
+    <ChatSectionUI handler={handler as ChatHandler}>
       <ChatMessages>
         <ChatMessages.List className="h-auto max-h-[400px]">
           {handler.messages.map((message, index) => (
             <ChatMessage
               key={index}
-              message={message}
+              message={message as Message}
               isLast={index === handler.messages.length - 1}
             >
               <ChatMessage.Avatar />
diff --git a/apps/next/src/content/docs/llamaindex/guide/agents/2_create_agent.mdx b/apps/next/src/content/docs/llamaindex/guide/agents/2_create_agent.mdx
index 37fc24b20..c421b47c5 100644
--- a/apps/next/src/content/docs/llamaindex/guide/agents/2_create_agent.mdx
+++ b/apps/next/src/content/docs/llamaindex/guide/agents/2_create_agent.mdx
@@ -34,6 +34,7 @@ First we'll need to pull in our dependencies. These are:
 import { FunctionTool, Settings } from "llamaindex";
 import { OpenAI, OpenAIAgent } from "@llamaindex/openai";
 import "dotenv/config";
+import { z } from "zod";
 ```
 
 ### Initialize your LLM
@@ -86,20 +87,14 @@ This is the most complicated part of creating an agent. We need to define a `Fun
 const tool = FunctionTool.from(sumNumbers, {
   name: "sumNumbers",
   description: "Use this function to sum two numbers",
-  parameters: {
-    type: "object",
-    properties: {
-      a: {
-        type: "number",
-        description: "First number to sum",
-      },
-      b: {
-        type: "number",
-        description: "Second number to sum",
-      },
-    },
-    required: ["a", "b"],
-  },
+  parameters: z.object({
+    a: z.number({
+      description: "First number to sum",
+    }),
+    b: z.number({
+      description: "Second number to sum",
+    }),
+  }),
 });
 ```
 
diff --git a/apps/next/src/content/docs/llamaindex/guide/agents/5_rag_and_tools.mdx b/apps/next/src/content/docs/llamaindex/guide/agents/5_rag_and_tools.mdx
index b68a939a3..c904de58e 100644
--- a/apps/next/src/content/docs/llamaindex/guide/agents/5_rag_and_tools.mdx
+++ b/apps/next/src/content/docs/llamaindex/guide/agents/5_rag_and_tools.mdx
@@ -2,7 +2,7 @@
 title: A RAG agent that does math
 ---
 
-In [our third iteration of the agent](https://github.com/run-llama/ts-agents/blob/main/3_rag_and_tools/agent.ts) we've combined the two previous agents, so we've defined both `sumNumbers` and a `QueryEngineTool` and created an array of two tools:
+In [our third iteration of the agent](https://github.com/run-llama/ts-agents/blob/main/3_rag_and_tools/agent.ts) we've combined the two previous agents, so we've defined both `sumNumbers` and a `QueryEngineTool` and created an array of two tools. The tools support both Zod and JSON Schema for parameter definition:
 
 ```javascript
 // define the query engine as a tool
@@ -17,24 +17,42 @@ const tools = [
   FunctionTool.from(sumNumbers, {
     name: "sumNumbers",
     description: "Use this function to sum two numbers",
-    parameters: {
-      type: "object",
-      properties: {
-        a: {
-          type: "number",
-          description: "First number to sum",
-        },
-        b: {
-          type: "number",
-          description: "Second number to sum",
-        },
-      },
-      required: ["a", "b"],
-    },
+    parameters: z.object({
+      a: z.number({
+        description: "First number to sum",
+      }),
+      b: z.number({
+        description: "Second number to sum",
+      }),
+    }),
   }),
 ];
 ```
 
+You can also use JSON Schema to define the tool parameters as an alternative to Zod.
+
+```javascript
+FunctionTool.from(sumNumbers, {
+  name: "sumNumbers",
+  description: "Use this function to sum two numbers",
+  parameters: {
+    type: "object",
+    properties: {
+      a: {
+        type: "number",
+        description: "First number to sum",
+      },
+      b: {
+        type: "number",
+        description: "Second number to sum",
+      },
+    },
+    required: ["a", "b"],
+  },
+}),
+```
+
+
 These tool descriptions are identical to the ones we previously defined. Now let's ask it 3 questions in a row:
 
 ```javascript
diff --git a/apps/next/src/content/docs/llamaindex/guide/chat/chat.mdx b/apps/next/src/content/docs/llamaindex/guide/chat/chat.mdx
index 4cbaea157..9410961c6 100644
--- a/apps/next/src/content/docs/llamaindex/guide/chat/chat.mdx
+++ b/apps/next/src/content/docs/llamaindex/guide/chat/chat.mdx
@@ -3,8 +3,6 @@ title: Using API Route
 description: Chat interface for your LlamaIndexTS application using API Route
 ---
 import { ChatDemo } from '../../../../../components/demo/chat/api/demo';
-import "@llamaindex/chat-ui/styles/code.css";
-import "@llamaindex/chat-ui/styles/katex.css";
 
 Using [chat-ui](https://github.com/run-llama/chat-ui), it's easy to add a chat interface to your LlamaIndexTS application.
 You just need to create an API route that provides an `api/chat` endpoint and a chat component to consume the API.
diff --git a/apps/next/src/content/docs/llamaindex/guide/chat/install.mdx b/apps/next/src/content/docs/llamaindex/guide/chat/install.mdx
new file mode 100644
index 000000000..082a836af
--- /dev/null
+++ b/apps/next/src/content/docs/llamaindex/guide/chat/install.mdx
@@ -0,0 +1,22 @@
+---
+title: Install @llamaindex/chat
+description: Chat interface for your LlamaIndexTS application
+---
+
+## Quick Start
+
+You can quickly add a chatbot to your project by using Shadcn CLI command:
+
+```sh
+npx shadcn@latest add https://ui.llamaindex.ai/r/chat.json
+```
+
+## Manual Installation
+
+To install the package, run the following command in your project directory:
+
+```sh
+npm install @llamaindex/chat-ui
+```
+
+For more information, check out the [github.comrun-llama/chat-ui](https://github.com/run-llama/chat-ui)
diff --git a/apps/next/src/content/docs/llamaindex/guide/chat/meta.json b/apps/next/src/content/docs/llamaindex/guide/chat/meta.json
index 7550c3cc9..9763537f8 100644
--- a/apps/next/src/content/docs/llamaindex/guide/chat/meta.json
+++ b/apps/next/src/content/docs/llamaindex/guide/chat/meta.json
@@ -1,6 +1,6 @@
 {
-  "title": "Chat-UI",
+  "title": "Chat UI",
   "description": "Use chat-ui to add a chat interface to your LlamaIndexTS application.",
   "defaultOpen": false,
-  "pages": ["chat", "rsc"]
+  "pages": ["install", "chat", "rsc"]
 }
diff --git a/apps/next/src/content/docs/llamaindex/guide/chat/rsc.mdx b/apps/next/src/content/docs/llamaindex/guide/chat/rsc.mdx
index d0a8ebc26..2bb7ed099 100644
--- a/apps/next/src/content/docs/llamaindex/guide/chat/rsc.mdx
+++ b/apps/next/src/content/docs/llamaindex/guide/chat/rsc.mdx
@@ -3,8 +3,6 @@ title: Using Next.js RSC
 description: Chat interface for your LlamaIndexTS application using Next.js RSC
 ---
 import { ChatDemoRSC } from '../../../../../components/demo/chat/rsc/demo';
-import "@llamaindex/chat-ui/styles/code.css";
-import "@llamaindex/chat-ui/styles/katex.css";
 
 Using [chat-ui](https://github.com/run-llama/chat-ui), it's easy to add a chat interface to your LlamaIndexTS application using [Next.js RSC](https://nextjs.org/docs/app/building-your-application/rendering/server-components) and [Vercel AI RSC](https://sdk.vercel.ai/docs/ai-sdk-rsc/overview).
 
diff --git a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/bedrock.mdx b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/bedrock.mdx
index 5c926550d..13f81bb55 100644
--- a/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/bedrock.mdx
+++ b/apps/next/src/content/docs/llamaindex/modules/llms/available_llms/bedrock.mdx
@@ -127,26 +127,21 @@ async function main() {
 ```ts
 import { BEDROCK_MODELS, Bedrock } from "@llamaindex/community";
 import { FunctionTool, LLMAgent } from "llamaindex";
+import { z } from "zod";
 
 const sumNumbers = FunctionTool.from(
   ({ a, b }: { a: number; b: number }) => `${a + b}`,
   {
     name: "sumNumbers",
     description: "Use this function to sum two numbers",
-    parameters: {
-      type: "object",
-      properties: {
-        a: {
-          type: "number",
-          description: "The first number",
-        },
-        b: {
-          type: "number",
-          description: "The second number",
-        },
-      },
-      required: ["a", "b"],
-    },
+    parameters: z.object({
+      a: z.number({
+        description: "The first number",
+      }),
+      b: z.number({
+        description: "The second number",
+      }),
+    }),
   },
 );
 
@@ -155,20 +150,14 @@ const divideNumbers = FunctionTool.from(
   {
     name: "divideNumbers",
     description: "Use this function to divide two numbers",
-    parameters: {
-      type: "object",
-      properties: {
-        a: {
-          type: "number",
-          description: "The dividend a to divide",
-        },
-        b: {
-          type: "number",
-          description: "The divisor b to divide by",
-        },
-      },
-      required: ["a", "b"],
-    },
+    parameters: z.object({
+      a: z.number({
+        description: "The dividend a to divide",
+      }),
+      b: z.number({
+        description: "The divisor b to divide by",
+      }),
+    }),
   },
 );
 
diff --git a/apps/next/src/content/docs/llamaindex/modules/tool/index.mdx b/apps/next/src/content/docs/llamaindex/modules/tool/index.mdx
index 9c754f208..eba9b7a4e 100644
--- a/apps/next/src/content/docs/llamaindex/modules/tool/index.mdx
+++ b/apps/next/src/content/docs/llamaindex/modules/tool/index.mdx
@@ -39,16 +39,11 @@ const queryKnowledgeBase = async ({ question }, { userToken }) => {
 const kbTool = FunctionTool.from(queryKnowledgeBase, {
   name: 'queryKnowledgeBase',
   description: 'Query knowledge base',
-  parameters: {
-    type: 'object',
-    properties: {
-      question: {
-        type: 'string',
-        description: 'The user question',
-      },
-    },
-    required: ['question'],
-  },
+  parameters: z.object({
+    question: z.string({
+      description: 'The user question',
+    }),
+  }),
 });
 
 // create an agent
diff --git a/apps/next/tailwind.config.js b/apps/next/tailwind.config.mjs
similarity index 83%
rename from apps/next/tailwind.config.js
rename to apps/next/tailwind.config.mjs
index 300cbb4b0..c483c4d70 100644
--- a/apps/next/tailwind.config.js
+++ b/apps/next/tailwind.config.mjs
@@ -1,5 +1,3 @@
-import { createPreset } from "fumadocs-ui/tailwind-plugin";
-
 /** @type {import('tailwindcss').Config} */
 export default {
   darkMode: ["class"],
@@ -8,13 +6,7 @@ export default {
     "./src/app/**/*.{ts,tsx}",
     "./src/content/**/*.{md,mdx}",
     "./src/mdx-components.{ts,tsx}",
-    "./node_modules/fumadocs-ui/dist/**/*.js",
-    "./node_modules/fumadocs-openapi/dist/**/*.js",
-    "./node_modules/@llamaindex/chat-ui/**/*.{ts,tsx}",
   ],
-  presets: [createPreset()],
-  // eslint-disable-next-line @typescript-eslint/no-require-imports
-  plugins: [require("tailwindcss-animate")],
   theme: {
     extend: {
       borderRadius: {
diff --git a/e2e/examples/cloudflare-hono/package.json b/e2e/examples/cloudflare-hono/package.json
index ed7f222c5..b8c83ff4c 100644
--- a/e2e/examples/cloudflare-hono/package.json
+++ b/e2e/examples/cloudflare-hono/package.json
@@ -11,7 +11,7 @@
   },
   "devDependencies": {
     "@cloudflare/workers-types": "^4.20241112.0",
-    "typescript": "^5.7.2",
+    "typescript": "^5.7.3",
     "wrangler": "^3.89.0"
   },
   "dependencies": {
diff --git a/e2e/examples/cloudflare-worker-agent/package.json b/e2e/examples/cloudflare-worker-agent/package.json
index 54c575d1c..78012f9df 100644
--- a/e2e/examples/cloudflare-worker-agent/package.json
+++ b/e2e/examples/cloudflare-worker-agent/package.json
@@ -16,7 +16,7 @@
     "@cloudflare/workers-types": "^4.20241112.0",
     "@vitest/runner": "2.1.5",
     "@vitest/snapshot": "2.1.5",
-    "typescript": "^5.7.2",
+    "typescript": "^5.7.3",
     "vitest": "2.1.5",
     "wrangler": "^3.87.0"
   },
diff --git a/e2e/examples/llama-parse-browser/package.json b/e2e/examples/llama-parse-browser/package.json
index b4e895a1a..0dd6007c4 100644
--- a/e2e/examples/llama-parse-browser/package.json
+++ b/e2e/examples/llama-parse-browser/package.json
@@ -9,7 +9,7 @@
     "preview": "vite preview"
   },
   "devDependencies": {
-    "typescript": "^5.7.2",
+    "typescript": "^5.7.3",
     "vite": "^5.4.12",
     "vite-plugin-wasm": "^3.3.0"
   },
diff --git a/e2e/examples/nextjs-agent/package.json b/e2e/examples/nextjs-agent/package.json
index 84c68debe..27c4572c8 100644
--- a/e2e/examples/nextjs-agent/package.json
+++ b/e2e/examples/nextjs-agent/package.json
@@ -10,18 +10,16 @@
   "dependencies": {
     "ai": "^4.0.0",
     "llamaindex": "workspace:*",
-    "next": "15.1.7",
+    "next": "15.2.0",
     "react": "19.0.0",
     "react-dom": "19.0.0"
   },
   "devDependencies": {
     "@types/node": "^22.9.0",
-    "@types/react": "^18.3.12",
-    "@types/react-dom": "^18.3.1",
+    "@types/react": "^19.0.10",
+    "@types/react-dom": "^19.0.4",
     "eslint": "9.16.0",
     "eslint-config-next": "15.1.0",
-    "postcss": "^8.4.49",
-    "tailwindcss": "^3.4.15",
-    "typescript": "^5.7.2"
+    "typescript": "^5.7.3"
   }
 }
diff --git a/e2e/examples/nextjs-agent/postcss.config.mjs b/e2e/examples/nextjs-agent/postcss.config.mjs
deleted file mode 100644
index 1a69fd2a4..000000000
--- a/e2e/examples/nextjs-agent/postcss.config.mjs
+++ /dev/null
@@ -1,8 +0,0 @@
-/** @type {import('postcss-load-config').Config} */
-const config = {
-  plugins: {
-    tailwindcss: {},
-  },
-};
-
-export default config;
diff --git a/e2e/examples/nextjs-agent/src/app/globals.css b/e2e/examples/nextjs-agent/src/app/globals.css
deleted file mode 100644
index b5c61c956..000000000
--- a/e2e/examples/nextjs-agent/src/app/globals.css
+++ /dev/null
@@ -1,3 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
diff --git a/e2e/examples/nextjs-agent/src/app/layout.tsx b/e2e/examples/nextjs-agent/src/app/layout.tsx
index 3314e4780..3bd59cb66 100644
--- a/e2e/examples/nextjs-agent/src/app/layout.tsx
+++ b/e2e/examples/nextjs-agent/src/app/layout.tsx
@@ -1,6 +1,5 @@
 import type { Metadata } from "next";
 import { Inter } from "next/font/google";
-import "./globals.css";
 
 const inter = Inter({ subsets: ["latin"] });
 
diff --git a/e2e/examples/nextjs-agent/tailwind.config.ts b/e2e/examples/nextjs-agent/tailwind.config.ts
deleted file mode 100644
index e9a0944e7..000000000
--- a/e2e/examples/nextjs-agent/tailwind.config.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import type { Config } from "tailwindcss";
-
-const config: Config = {
-  content: [
-    "./src/pages/**/*.{js,ts,jsx,tsx,mdx}",
-    "./src/components/**/*.{js,ts,jsx,tsx,mdx}",
-    "./src/app/**/*.{js,ts,jsx,tsx,mdx}",
-  ],
-  theme: {
-    extend: {
-      backgroundImage: {
-        "gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
-        "gradient-conic":
-          "conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))",
-      },
-    },
-  },
-  plugins: [],
-};
-export default config;
diff --git a/e2e/examples/nextjs-edge-runtime/package.json b/e2e/examples/nextjs-edge-runtime/package.json
index 5cb716555..e3325bbde 100644
--- a/e2e/examples/nextjs-edge-runtime/package.json
+++ b/e2e/examples/nextjs-edge-runtime/package.json
@@ -9,14 +9,14 @@
   },
   "dependencies": {
     "llamaindex": "workspace:*",
-    "next": "15.1.7",
-    "react": "^18.3.1",
-    "react-dom": "^18.3.1"
+    "next": "15.2.0",
+    "react": "^19.0.0",
+    "react-dom": "^19.0.0"
   },
   "devDependencies": {
     "@types/node": "^22.9.0",
-    "@types/react": "^18.3.12",
-    "@types/react-dom": "^18.3.1",
-    "typescript": "^5.7.2"
+    "@types/react": "^19.0.10",
+    "@types/react-dom": "^19.0.4",
+    "typescript": "^5.7.3"
   }
 }
diff --git a/e2e/examples/nextjs-node-runtime/package.json b/e2e/examples/nextjs-node-runtime/package.json
index 652b934e9..f4ea9d57b 100644
--- a/e2e/examples/nextjs-node-runtime/package.json
+++ b/e2e/examples/nextjs-node-runtime/package.json
@@ -8,21 +8,19 @@
     "start": "next start"
   },
   "dependencies": {
-    "llamaindex": "workspace:*",
     "@llamaindex/huggingface": "workspace:*",
     "@llamaindex/readers": "workspace:*",
-    "next": "15.1.7",
+    "llamaindex": "workspace:*",
+    "next": "15.2.0",
     "react": "19.0.0",
     "react-dom": "19.0.0"
   },
   "devDependencies": {
     "@types/node": "^22.9.0",
-    "@types/react": "^18.3.12",
-    "@types/react-dom": "^18.3.1",
+    "@types/react": "^19.0.10",
+    "@types/react-dom": "^19.0.4",
     "eslint": "9.16.0",
     "eslint-config-next": "15.1.0",
-    "postcss": "^8.4.49",
-    "tailwindcss": "^3.4.15",
-    "typescript": "^5.7.2"
+    "typescript": "^5.7.3"
   }
 }
diff --git a/e2e/examples/nextjs-node-runtime/postcss.config.mjs b/e2e/examples/nextjs-node-runtime/postcss.config.mjs
deleted file mode 100644
index 1a69fd2a4..000000000
--- a/e2e/examples/nextjs-node-runtime/postcss.config.mjs
+++ /dev/null
@@ -1,8 +0,0 @@
-/** @type {import('postcss-load-config').Config} */
-const config = {
-  plugins: {
-    tailwindcss: {},
-  },
-};
-
-export default config;
diff --git a/e2e/examples/nextjs-node-runtime/src/app/globals.css b/e2e/examples/nextjs-node-runtime/src/app/globals.css
deleted file mode 100644
index b5c61c956..000000000
--- a/e2e/examples/nextjs-node-runtime/src/app/globals.css
+++ /dev/null
@@ -1,3 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
diff --git a/e2e/examples/nextjs-node-runtime/src/app/layout.tsx b/e2e/examples/nextjs-node-runtime/src/app/layout.tsx
index 3314e4780..3bd59cb66 100644
--- a/e2e/examples/nextjs-node-runtime/src/app/layout.tsx
+++ b/e2e/examples/nextjs-node-runtime/src/app/layout.tsx
@@ -1,6 +1,5 @@
 import type { Metadata } from "next";
 import { Inter } from "next/font/google";
-import "./globals.css";
 
 const inter = Inter({ subsets: ["latin"] });
 
diff --git a/e2e/examples/nextjs-node-runtime/tailwind.config.ts b/e2e/examples/nextjs-node-runtime/tailwind.config.ts
deleted file mode 100644
index e9a0944e7..000000000
--- a/e2e/examples/nextjs-node-runtime/tailwind.config.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import type { Config } from "tailwindcss";
-
-const config: Config = {
-  content: [
-    "./src/pages/**/*.{js,ts,jsx,tsx,mdx}",
-    "./src/components/**/*.{js,ts,jsx,tsx,mdx}",
-    "./src/app/**/*.{js,ts,jsx,tsx,mdx}",
-  ],
-  theme: {
-    extend: {
-      backgroundImage: {
-        "gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
-        "gradient-conic":
-          "conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))",
-      },
-    },
-  },
-  plugins: [],
-};
-export default config;
diff --git a/e2e/examples/vite-import-llamaindex/package.json b/e2e/examples/vite-import-llamaindex/package.json
index 3b761065f..e39424663 100644
--- a/e2e/examples/vite-import-llamaindex/package.json
+++ b/e2e/examples/vite-import-llamaindex/package.json
@@ -15,7 +15,7 @@
   "devDependencies": {
     "@size-limit/preset-big-lib": "^11.1.6",
     "size-limit": "^11.1.6",
-    "typescript": "^5.7.2",
+    "typescript": "^5.7.3",
     "vite": "^6.1.0"
   },
   "dependencies": {
diff --git a/e2e/examples/waku-query-engine/package.json b/e2e/examples/waku-query-engine/package.json
index 03f7ae1ab..ccfba4ca6 100644
--- a/e2e/examples/waku-query-engine/package.json
+++ b/e2e/examples/waku-query-engine/package.json
@@ -17,10 +17,10 @@
     "waku": "0.21.20"
   },
   "devDependencies": {
-    "@types/react": "18.3.12",
-    "@types/react-dom": "18.3.1",
+    "@types/react": "19.0.10",
+    "@types/react-dom": "19.0.4",
     "autoprefixer": "^10.4.20",
-    "tailwindcss": "^3.4.15",
-    "typescript": "5.7.2"
+    "tailwindcss": "^4.0.9",
+    "typescript": "5.7.3"
   }
 }
diff --git a/e2e/examples/waku-query-engine/postcss.config.js b/e2e/examples/waku-query-engine/postcss.config.js
deleted file mode 100644
index 709af5d83..000000000
--- a/e2e/examples/waku-query-engine/postcss.config.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/** @type {import('postcss-load-config').Config} */
-export default {
-  plugins: {
-    tailwindcss: {},
-    autoprefixer: {},
-  },
-};
diff --git a/e2e/examples/waku-query-engine/postcss.config.mjs b/e2e/examples/waku-query-engine/postcss.config.mjs
new file mode 100644
index 000000000..c2ddf7482
--- /dev/null
+++ b/e2e/examples/waku-query-engine/postcss.config.mjs
@@ -0,0 +1,5 @@
+export default {
+  plugins: {
+    "@tailwindcss/postcss": {},
+  },
+};
diff --git a/e2e/examples/waku-query-engine/src/styles.css b/e2e/examples/waku-query-engine/src/styles.css
index 38fb70562..ee8481067 100644
--- a/e2e/examples/waku-query-engine/src/styles.css
+++ b/e2e/examples/waku-query-engine/src/styles.css
@@ -1,4 +1,2 @@
 @import url("https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,400;0,700;1,400;1,700&display=swap");
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
+@import "tailwindcss";
diff --git a/e2e/node/fixtures/tools.ts b/e2e/node/fixtures/tools.ts
index 0060415c9..82b7bf824 100644
--- a/e2e/node/fixtures/tools.ts
+++ b/e2e/node/fixtures/tools.ts
@@ -1,4 +1,5 @@
 import { FunctionTool } from "llamaindex";
+import { z } from "zod";
 
 function sumNumbers({ a, b }: { a: number; b: number }) {
   return `${a + b}`;
@@ -11,39 +12,27 @@ function divideNumbers({ a, b }: { a: number; b: number }) {
 export const sumNumbersTool = FunctionTool.from(sumNumbers, {
   name: "sumNumbers",
   description: "Use this function to sum two numbers",
-  parameters: {
-    type: "object",
-    properties: {
-      a: {
-        type: "number",
-        description: "The first number",
-      },
-      b: {
-        type: "number",
-        description: "The second number",
-      },
-    },
-    required: ["a", "b"],
-  },
+  parameters: z.object({
+    a: z.number({
+      description: "The first number",
+    }),
+    b: z.number({
+      description: "The second number",
+    }),
+  }),
 });
 
 export const divideNumbersTool = FunctionTool.from(divideNumbers, {
   name: "divideNumbers",
   description: "Use this function to divide two numbers",
-  parameters: {
-    type: "object",
-    properties: {
-      a: {
-        type: "number",
-        description: "The first number",
-      },
-      b: {
-        type: "number",
-        description: "The second number",
-      },
-    },
-    required: ["a", "b"],
-  },
+  parameters: z.object({
+    a: z.number({
+      description: "The first number",
+    }),
+    b: z.number({
+      description: "The second number",
+    }),
+  }),
 });
 
 // should always return the 72 degrees
@@ -54,15 +43,10 @@ export const getWeatherTool = FunctionTool.from(
   {
     name: "getWeather",
     description: "Get the weather for a city",
-    parameters: {
-      type: "object",
-      properties: {
-        city: {
-          type: "string",
-          description: "The city to get the weather for",
-        },
-      },
-      required: ["city"],
-    },
+    parameters: z.object({
+      city: z.string({
+        description: "The city to get the weather for",
+      }),
+    }),
   },
 );
diff --git a/e2e/package.json b/e2e/package.json
index 6f45ea55d..307dfbffd 100644
--- a/e2e/package.json
+++ b/e2e/package.json
@@ -10,22 +10,23 @@
   },
   "devDependencies": {
     "@faker-js/faker": "^9.2.0",
+    "@huggingface/transformers": "^3.0.2",
+    "@llamaindex/anthropic": "workspace:*",
+    "@llamaindex/clip": "workspace:*",
     "@llamaindex/core": "workspace:*",
     "@llamaindex/env": "workspace:*",
     "@llamaindex/ollama": "workspace:*",
     "@llamaindex/openai": "workspace:*",
     "@llamaindex/pinecone": "workspace:*",
     "@llamaindex/postgres": "workspace:*",
-    "@llamaindex/clip": "workspace:*",
-    "@llamaindex/anthropic": "workspace:*",
     "@types/node": "^22.9.0",
     "@types/pg": "^8.11.8",
-    "@huggingface/transformers": "^3.0.2",
     "consola": "^3.2.3",
     "dotenv": "^16.4.5",
     "llamaindex": "workspace:*",
     "pg": "^8.12.0",
     "pgvector": "0.2.0",
-    "tsx": "^4.19.0"
+    "tsx": "^4.19.3",
+    "zod": "^3.24.2"
   }
 }
diff --git a/examples/agent/large_toolcall.ts b/examples/agent/large_toolcall.ts
index 3cb677465..a31c731e0 100644
--- a/examples/agent/large_toolcall.ts
+++ b/examples/agent/large_toolcall.ts
@@ -1,5 +1,6 @@
-import { OpenAI, OpenAIAgent } from "@llamaindex/openai";
-import { FunctionTool } from "llamaindex";
+import { OpenAI } from "@llamaindex/openai";
+import { AgentWorkflow, FunctionTool } from "llamaindex";
+import { z } from "zod";
 
 const csvData =
   "TITLE,RELEASE_YEAR,SCORE,NUMBER_OF_VOTES,DURATION,MAIN_GENRE,MAIN_PRODUCTION\nDavid Attenborough: A Life on Our Planet,2020,9,31180,83,documentary,GB\nInception,2010,8.8,2268288,148,scifi,GB\nForrest Gump,1994,8.8,1994599,142,drama,US\nAnbe Sivam,2003,8.7,20595,160,comedy,IN\nBo Burnham: Inside,2021,8.7,44074,87,comedy,US\nSaving Private Ryan,1998,8.6,1346020,169,drama,US\nDjango Unchained,2012,8.4,1472668,165,western,US\nDangal,2016,8.4,180247,161,action,IN\nBo Burnham: Make Happy,2016,8.4,14356,60,comedy,US\nLouis C.K.: Hilarious,2010,8.4,11973,84,comedy,US\nDave Chappelle: Sticks & Stones,2019,8.4,25687,65,comedy,US\n3 Idiots,2009,8.4,385782,170,comedy,IN\nBlack Friday,2004,8.4,20611,143,crime,IN\nSuper Deluxe,2019,8.4,13680,176,thriller,IN\nWinter on Fire: Ukraine's Fight for Freedom,2015,8.3,17710,98,documentary,UA\nOnce Upon a Time in America,1984,8.3,342335,229,drama,US\nTaxi Driver,1976,8.3,795222,113,crime,US\nLike Stars on Earth,2007,8.3,188234,165,drama,IN\nBo Burnham: What.,2013,8.3,11488,60,comedy,US\nFull Metal Jacket,1987,8.3,723306,116,drama,GB\nWarrior,2011,8.2,463276,140,drama,US\nDrishyam,2015,8.2,79075,163,thriller,IN\nQueen,2014,8.2,64805,146,drama,IN\nPaan Singh Tomar,2012,8.2,35888,135,drama,IN";
@@ -8,13 +9,9 @@ const userQuestion = "which are the best comedies after 2010?";
 
 (async () => {
   // The agent will succeed if we increase `maxTokens` to 1024
-  const llm = new OpenAI({ model: "gpt-4-turbo", maxTokens: 256 });
+  const llm = new OpenAI({ model: "gpt-4-turbo", maxTokens: 1024 });
 
-  type Input = {
-    code: string;
-  };
-  // initiate fake code interpreter
-  const interpreterTool = FunctionTool.from<Input>(
+  const interpreterTool = FunctionTool.from(
     ({ code }) => {
       console.log(
         `To answer the user's question, call the following code:\n${code}`,
@@ -25,41 +22,34 @@ const userQuestion = "which are the best comedies after 2010?";
       name: "interpreter",
       description:
         "Execute python code in a Jupyter notebook cell and return any result, stdout, stderr, display_data, and error.",
-      parameters: {
-        type: "object",
-        properties: {
-          code: {
-            type: "string",
-            description: "The python code to execute in a single cell.",
-          },
-        },
-        required: ["code"],
-      },
+      parameters: z.object({
+        code: z.string({
+          description: "The python code to execute in a single cell.",
+        }),
+      }),
     },
   );
 
   const systemPrompt =
     "You are a Python interpreter.\n        - You are given tasks to complete and you run python code to solve them.\n        - The python code runs in a Jupyter notebook. Every time you call $(interpreter) tool, the python code is executed in a separate cell. It's okay to make multiple calls to $(interpreter).\n        - Display visualizations using matplotlib or any other visualization library directly in the notebook. Shouldn't save the visualizations to a file, just return the base64 encoded data.\n        - You can install any pip package (if it exists) if you need to but the usual packages for data analysis are already preinstalled.\n        - You can run any python code you want in a secure environment.";
 
-  const agent = new OpenAIAgent({
-    llm,
+  const workflow = AgentWorkflow.fromTools({
     tools: [interpreterTool],
+    llm,
+    verbose: false,
     systemPrompt,
-    verbose: true,
   });
 
   console.log(`User question: ${userQuestion}\n`);
 
-  await agent.chat({
-    message: [
+  const result = await workflow.run(userQuestion, {
+    chatHistory: [
       {
-        type: "text",
-        text: userQuestion,
-      },
-      {
-        type: "text",
-        text: `Use data from following CSV raw contents:\n${csvData}`,
+        role: "user",
+        content: `Use data from following CSV raw contents:\n${csvData}`,
       },
     ],
   });
+
+  console.log(result);
 })();
diff --git a/examples/agent/large_toolcall_with_gpt4o.ts b/examples/agent/large_toolcall_with_gpt4o.ts
index bce2d12f9..37937a988 100644
--- a/examples/agent/large_toolcall_with_gpt4o.ts
+++ b/examples/agent/large_toolcall_with_gpt4o.ts
@@ -1,5 +1,6 @@
 import { OpenAI } from "@llamaindex/openai";
 import { FunctionTool, ToolCallOptions } from "llamaindex";
+import { z } from "zod";
 
 (async () => {
   // The tool call will generate a partial JSON for `gpt-4-turbo`
@@ -27,16 +28,11 @@ async function callLLM(init: { model: string }) {
       name: "interpreter",
       description:
         "Execute python code in a Jupyter notebook cell and return any result, stdout, stderr, display_data, and error.",
-      parameters: {
-        type: "object",
-        properties: {
-          code: {
-            type: "string",
-            description: "The python code to execute in a single cell.",
-          },
-        },
-        required: ["code"],
-      },
+      parameters: z.object({
+        code: z.string({
+          description: "The python code to execute in a single cell.",
+        }),
+      }),
     },
   );
 
diff --git a/examples/agent/openai.ts b/examples/agent/openai.ts
index cd44ac5ee..a1da4ac8d 100644
--- a/examples/agent/openai.ts
+++ b/examples/agent/openai.ts
@@ -1,25 +1,16 @@
-import { OpenAIAgent } from "@llamaindex/openai";
-import { FunctionTool } from "llamaindex";
+import { OpenAI } from "@llamaindex/openai";
+import { AgentWorkflow, FunctionTool } from "llamaindex";
+import { z } from "zod";
 
 const sumNumbers = FunctionTool.from(
   ({ a, b }: { a: number; b: number }) => `${a + b}`,
   {
     name: "sumNumbers",
     description: "Use this function to sum two numbers",
-    parameters: {
-      type: "object",
-      properties: {
-        a: {
-          type: "number",
-          description: "The first number",
-        },
-        b: {
-          type: "number",
-          description: "The second number",
-        },
-      },
-      required: ["a", "b"],
-    },
+    parameters: z.object({
+      a: z.number().describe("The first number"),
+      b: z.number().describe("The second number"),
+    }),
   },
 );
 
@@ -28,33 +19,22 @@ const divideNumbers = FunctionTool.from(
   {
     name: "divideNumbers",
     description: "Use this function to divide two numbers",
-    parameters: {
-      type: "object",
-      properties: {
-        a: {
-          type: "number",
-          description: "The dividend a to divide",
-        },
-        b: {
-          type: "number",
-          description: "The divisor b to divide by",
-        },
-      },
-      required: ["a", "b"],
-    },
+    parameters: z.object({
+      a: z.number().describe("The dividend a to divide"),
+      b: z.number().describe("The divisor b to divide by"),
+    }),
   },
 );
 
 async function main() {
-  const agent = new OpenAIAgent({
+  const workflow = AgentWorkflow.fromTools({
     tools: [sumNumbers, divideNumbers],
+    llm: new OpenAI({ model: "gpt-4o-mini" }),
+    verbose: false,
   });
 
-  const response = await agent.chat({
-    message: "How much is 5 + 5? then divide by 2",
-  });
-
-  console.log(response.message);
+  const response = await workflow.run("How much is 5 + 5? then divide by 2");
+  console.log(response.data);
 }
 
 void main().then(() => {
diff --git a/examples/agent/retriever_openai_agent.ts b/examples/agent/retriever_openai_agent.ts
index ffa67310c..6d3379a97 100644
--- a/examples/agent/retriever_openai_agent.ts
+++ b/examples/agent/retriever_openai_agent.ts
@@ -6,6 +6,7 @@ import {
   NodeWithScore,
   VectorStoreIndex,
 } from "llamaindex";
+import { z } from "zod";
 
 async function main() {
   // Load the documents
@@ -32,16 +33,9 @@ async function main() {
     {
       name: "get_abramov_info",
       description: "Get information about the Abramov documents",
-      parameters: {
-        type: "object",
-        properties: {
-          query: {
-            type: "string",
-            description: "The query about Abramov",
-          },
-        },
-        required: ["query"],
-      },
+      parameters: z.object({
+        query: z.string().describe("The query about Abramov"),
+      }),
     },
   );
 
diff --git a/examples/agent/stream_openai_agent.ts b/examples/agent/stream_openai_agent.ts
index 7deea96ad..391579d47 100644
--- a/examples/agent/stream_openai_agent.ts
+++ b/examples/agent/stream_openai_agent.ts
@@ -1,5 +1,6 @@
 import { OpenAIAgent } from "@llamaindex/openai";
 import { FunctionTool } from "llamaindex";
+import { z } from "zod";
 
 // Define a function to sum two numbers
 function sumNumbers({ a, b }: { a: number; b: number }) {
@@ -11,50 +12,29 @@ function divideNumbers({ a, b }: { a: number; b: number }) {
   return `${a / b}`;
 }
 
-// Define the parameters of the sum function as a JSON schema
-const sumJSON = {
-  type: "object",
-  properties: {
-    a: {
-      type: "number",
-      description: "The first number",
-    },
-    b: {
-      type: "number",
-      description: "The second number",
-    },
-  },
-  required: ["a", "b"],
-} as const;
+const sumSchema = z.object({
+  a: z.number().describe("The first number"),
+  b: z.number().describe("The second number"),
+});
 
-const divideJSON = {
-  type: "object",
-  properties: {
-    a: {
-      type: "number",
-      description: "The dividend",
-    },
-    b: {
-      type: "number",
-      description: "The divisor",
-    },
-  },
-  required: ["a", "b"],
-} as const;
+const divideSchema = z.object({
+  a: z.number().describe("The dividend"),
+  b: z.number().describe("The divisor"),
+});
 
 async function main() {
   // Create a function tool from the sum function
   const functionTool = FunctionTool.from(sumNumbers, {
     name: "sumNumbers",
     description: "Use this function to sum two numbers",
-    parameters: sumJSON,
+    parameters: sumSchema,
   });
 
   // Create a function tool from the divide function
   const functionTool2 = FunctionTool.from(divideNumbers, {
     name: "divideNumbers",
     description: "Use this function to divide two numbers",
-    parameters: divideJSON,
+    parameters: divideSchema,
   });
 
   // Create an OpenAIAgent with the function tools
diff --git a/examples/agent/utils/tools.ts b/examples/agent/utils/tools.ts
index 8400ec9ed..a4762d5b8 100644
--- a/examples/agent/utils/tools.ts
+++ b/examples/agent/utils/tools.ts
@@ -1,4 +1,5 @@
 import { FunctionTool } from "llamaindex";
+import { z } from "zod";
 
 export const getCurrentIDTool = FunctionTool.from(
   () => {
@@ -19,16 +20,9 @@ export const getUserInfoTool = FunctionTool.from(
   {
     name: "get_user_info",
     description: "Get user info",
-    parameters: {
-      type: "object",
-      properties: {
-        userId: {
-          type: "string",
-          description: "The user id",
-        },
-      },
-      required: ["userId"],
-    },
+    parameters: z.object({
+      userId: z.string().describe("The user id"),
+    }),
   },
 );
 
@@ -40,15 +34,8 @@ export const getWeatherTool = FunctionTool.from(
   {
     name: "get_weather",
     description: "Get the current weather for a location",
-    parameters: {
-      type: "object",
-      properties: {
-        address: {
-          type: "string",
-          description: "The address",
-        },
-      },
-      required: ["address"],
-    },
+    parameters: z.object({
+      address: z.string().describe("The address"),
+    }),
   },
 );
diff --git a/examples/agent/wiki.ts b/examples/agent/wiki.ts
index d09e8149e..4e3c29a23 100644
--- a/examples/agent/wiki.ts
+++ b/examples/agent/wiki.ts
@@ -1,24 +1,28 @@
-import { OpenAI, OpenAIAgent } from "@llamaindex/openai";
+import { OpenAI } from "@llamaindex/openai";
+import { AgentStream, AgentWorkflow } from "llamaindex";
 import { WikipediaTool } from "../wiki";
 
 async function main() {
   const llm = new OpenAI({ model: "gpt-4-turbo" });
   const wikiTool = new WikipediaTool();
 
-  // Create an OpenAIAgent with the Wikipedia tool
-  const agent = new OpenAIAgent({
-    llm,
+  const workflow = AgentWorkflow.fromTools({
     tools: [wikiTool],
+    llm,
+    verbose: false,
   });
 
   // Chat with the agent
-  const response = await agent.chat({
-    message: "Who was Goethe?",
-    stream: true,
-  });
+  const context = workflow.run("Who was Goethe?");
 
-  for await (const { delta } of response) {
-    process.stdout.write(delta);
+  for await (const event of context) {
+    if (event instanceof AgentStream) {
+      for (const chunk of event.data.delta) {
+        process.stdout.write(chunk);
+      }
+    } else {
+      console.log(event);
+    }
   }
 }
 
diff --git a/examples/anthropic/agent.ts b/examples/anthropic/agent.ts
index 8391b44ca..c01da3edd 100644
--- a/examples/anthropic/agent.ts
+++ b/examples/anthropic/agent.ts
@@ -1,5 +1,6 @@
 import { Anthropic, AnthropicAgent } from "@llamaindex/anthropic";
 import { FunctionTool, Settings } from "llamaindex";
+import { z } from "zod";
 import { WikipediaTool } from "../wiki";
 
 Settings.callbackManager.on("llm-tool-call", (event) => {
@@ -14,23 +15,16 @@ const anthropic = new Anthropic({
 const agent = new AnthropicAgent({
   llm: anthropic,
   tools: [
-    FunctionTool.from<{ location: string }>(
+    FunctionTool.from(
       (query) => {
         return `The weather in ${query.location} is sunny`;
       },
       {
         name: "weather",
         description: "Get the weather",
-        parameters: {
-          type: "object",
-          properties: {
-            location: {
-              type: "string",
-              description: "The location to get the weather for",
-            },
-          },
-          required: ["location"],
-        },
+        parameters: z.object({
+          location: z.string().describe("The location to get the weather for"),
+        }),
       },
     ),
     new WikipediaTool(),
diff --git a/examples/gemini/agent.ts b/examples/gemini/agent.ts
index fb4a292d7..92ce01cca 100644
--- a/examples/gemini/agent.ts
+++ b/examples/gemini/agent.ts
@@ -1,5 +1,6 @@
 import { Gemini, GEMINI_MODEL } from "@llamaindex/google";
 import { FunctionTool, LLMAgent, Settings } from "llamaindex";
+import { z } from "zod";
 
 Settings.callbackManager.on("llm-tool-call", (event) => {
   console.log(event.detail);
@@ -14,20 +15,10 @@ const sumNumbers = FunctionTool.from(
   {
     name: "sumNumbers",
     description: "Use this function to sum two numbers",
-    parameters: {
-      type: "object",
-      properties: {
-        a: {
-          type: "number",
-          description: "The first number",
-        },
-        b: {
-          type: "number",
-          description: "The second number",
-        },
-      },
-      required: ["a", "b"],
-    },
+    parameters: z.object({
+      a: z.number().describe("The first number"),
+      b: z.number().describe("The second number"),
+    }),
   },
 );
 
@@ -36,20 +27,10 @@ const divideNumbers = FunctionTool.from(
   {
     name: "divideNumbers",
     description: "Use this function to divide two numbers",
-    parameters: {
-      type: "object",
-      properties: {
-        a: {
-          type: "number",
-          description: "The dividend a to divide",
-        },
-        b: {
-          type: "number",
-          description: "The divisor b to divide by",
-        },
-      },
-      required: ["a", "b"],
-    },
+    parameters: z.object({
+      a: z.number().describe("The dividend a to divide"),
+      b: z.number().describe("The divisor b to divide by"),
+    }),
   },
 );
 
@@ -58,20 +39,10 @@ const subtractNumbers = FunctionTool.from(
   {
     name: "subtractNumbers",
     description: "Use this function to subtract two numbers",
-    parameters: {
-      type: "object",
-      properties: {
-        a: {
-          type: "number",
-          description: "The number to subtract from",
-        },
-        b: {
-          type: "number",
-          description: "The number to subtract",
-        },
-      },
-      required: ["a", "b"],
-    },
+    parameters: z.object({
+      a: z.number().describe("The number to subtract from"),
+      b: z.number().describe("The number to subtract"),
+    }),
   },
 );
 
diff --git a/examples/package.json b/examples/package.json
index c049c6d35..8f995eaf2 100644
--- a/examples/package.json
+++ b/examples/package.json
@@ -64,8 +64,8 @@
   },
   "devDependencies": {
     "@types/node": "^22.9.0",
-    "tsx": "^4.19.0",
-    "typescript": "^5.7.2"
+    "tsx": "^4.19.3",
+    "typescript": "^5.7.3"
   },
   "stackblitz": {
     "startCommand": "npm start"
diff --git a/examples/readers/package.json b/examples/readers/package.json
index 0882d955e..65269db2d 100644
--- a/examples/readers/package.json
+++ b/examples/readers/package.json
@@ -25,7 +25,7 @@
   },
   "devDependencies": {
     "@types/node": "^22.9.0",
-    "tsx": "^4.19.0",
-    "typescript": "^5.7.2"
+    "tsx": "^4.19.3",
+    "typescript": "^5.7.3"
   }
 }
diff --git a/package.json b/package.json
index b6eedeccc..7b49022d0 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
   },
   "devDependencies": {
     "@changesets/cli": "^2.27.5",
-    "eslint": "9.16.0",
+    "eslint": "9.22.0",
     "eslint-config-next": "^15.1.0",
     "eslint-config-prettier": "^9.1.0",
     "eslint-config-turbo": "^2.3.3",
@@ -32,8 +32,8 @@
     "madge": "^8.0.0",
     "prettier": "^3.4.2",
     "prettier-plugin-organize-imports": "^4.1.0",
-    "turbo": "^2.3.3",
-    "typescript": "^5.7.2",
+    "turbo": "^2.4.4",
+    "typescript": "^5.7.3",
     "typescript-eslint": "^8.18.0"
   },
   "packageManager": "pnpm@9.12.3",
diff --git a/packages/autotool/examples/01_node/package.json b/packages/autotool/examples/01_node/package.json
index 493ef73e5..dd12f5bc8 100644
--- a/packages/autotool/examples/01_node/package.json
+++ b/packages/autotool/examples/01_node/package.json
@@ -8,7 +8,7 @@
     "openai": "^4.73.1"
   },
   "devDependencies": {
-    "tsx": "^4.19.0"
+    "tsx": "^4.19.3"
   },
   "scripts": {
     "start": "node --import tsx --import @llamaindex/autotool/node ./src/index.ts"
diff --git a/packages/autotool/examples/02_nextjs/.env.example b/packages/autotool/examples/02_nextjs/.env.example
deleted file mode 100644
index 7ac0a0155..000000000
--- a/packages/autotool/examples/02_nextjs/.env.example
+++ /dev/null
@@ -1,3 +0,0 @@
-# Rename this file to `.env.local` to use environment variables locally with `next dev`
-# https://nextjs.org/docs/pages/building-your-application/configuring/environment-variables
-MY_HOST="example.com"
diff --git a/packages/autotool/examples/02_nextjs/.gitignore b/packages/autotool/examples/02_nextjs/.gitignore
deleted file mode 100644
index 8f322f0d8..000000000
--- a/packages/autotool/examples/02_nextjs/.gitignore
+++ /dev/null
@@ -1,35 +0,0 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-# dependencies
-/node_modules
-/.pnp
-.pnp.js
-
-# testing
-/coverage
-
-# next.js
-/.next/
-/out/
-
-# production
-/build
-
-# misc
-.DS_Store
-*.pem
-
-# debug
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-
-# local env files
-.env*.local
-
-# vercel
-.vercel
-
-# typescript
-*.tsbuildinfo
-next-env.d.ts
diff --git a/packages/autotool/examples/02_nextjs/CHANGELOG.md b/packages/autotool/examples/02_nextjs/CHANGELOG.md
deleted file mode 100644
index 443e30a18..000000000
--- a/packages/autotool/examples/02_nextjs/CHANGELOG.md
+++ /dev/null
@@ -1,1135 +0,0 @@
-# @llamaindex/autotool-02-next-example
-
-## 0.1.134
-
-### Patch Changes
-
-- llamaindex@0.9.9
-- @llamaindex/autotool@6.0.9
-
-## 0.1.133
-
-### Patch Changes
-
-- Updated dependencies [bbc8c87]
-  - llamaindex@0.9.8
-  - @llamaindex/autotool@6.0.8
-
-## 0.1.132
-
-### Patch Changes
-
-- Updated dependencies [beb922b]
-  - llamaindex@0.9.7
-  - @llamaindex/autotool@6.0.7
-
-## 0.1.131
-
-### Patch Changes
-
-- llamaindex@0.9.6
-- @llamaindex/autotool@6.0.6
-
-## 0.1.130
-
-### Patch Changes
-
-- llamaindex@0.9.5
-- @llamaindex/autotool@6.0.5
-
-## 0.1.129
-
-### Patch Changes
-
-- Updated dependencies [cb021e7]
-  - llamaindex@0.9.4
-  - @llamaindex/autotool@6.0.4
-
-## 0.1.128
-
-### Patch Changes
-
-- llamaindex@0.9.3
-- @llamaindex/autotool@6.0.3
-
-## 0.1.127
-
-### Patch Changes
-
-- Updated dependencies [88d776f]
-  - llamaindex@0.9.2
-  - @llamaindex/autotool@6.0.2
-
-## 0.1.126
-
-### Patch Changes
-
-- Updated dependencies [6d37d44]
-  - llamaindex@0.9.1
-  - @llamaindex/autotool@6.0.1
-
-## 0.1.125
-
-### Patch Changes
-
-- Updated dependencies [6a4a737]
-- Updated dependencies [d924c63]
-- Updated dependencies [b490376]
-- Updated dependencies [f4588bc]
-  - llamaindex@0.9.0
-  - @llamaindex/autotool@6.0.0
-
-## 0.1.124
-
-### Patch Changes
-
-- Updated dependencies [1c908fd]
-  - @llamaindex/autotool@5.0.37
-  - llamaindex@0.8.37
-
-## 0.1.123
-
-### Patch Changes
-
-- Updated dependencies [cb608b5]
-  - @llamaindex/autotool@5.0.36
-  - llamaindex@0.8.36
-
-## 0.1.122
-
-### Patch Changes
-
-- llamaindex@0.8.35
-- @llamaindex/autotool@5.0.35
-
-## 0.1.121
-
-### Patch Changes
-
-- Updated dependencies [9f8ad37]
-  - llamaindex@0.8.34
-  - @llamaindex/autotool@5.0.34
-
-## 0.1.120
-
-### Patch Changes
-
-- llamaindex@0.8.33
-- @llamaindex/autotool@5.0.33
-
-## 0.1.119
-
-### Patch Changes
-
-- Updated dependencies [34faf48]
-- Updated dependencies [4df1fe6]
-- Updated dependencies [9456616]
-- Updated dependencies [1931bbc]
-  - llamaindex@0.8.32
-  - @llamaindex/autotool@5.0.32
-
-## 0.1.118
-
-### Patch Changes
-
-- Updated dependencies [d211b7a]
-- Updated dependencies [0ebbfc1]
-  - llamaindex@0.8.31
-  - @llamaindex/autotool@5.0.31
-
-## 0.1.117
-
-### Patch Changes
-
-- llamaindex@0.8.30
-- @llamaindex/autotool@5.0.30
-
-## 0.1.116
-
-### Patch Changes
-
-- Updated dependencies [dd596a0]
-  - llamaindex@0.8.29
-  - @llamaindex/autotool@5.0.29
-
-## 0.1.115
-
-### Patch Changes
-
-- llamaindex@0.8.28
-- @llamaindex/autotool@5.0.28
-
-## 0.1.114
-
-### Patch Changes
-
-- Updated dependencies [b504303]
-- Updated dependencies [a0e6f57]
-  - llamaindex@0.8.27
-  - @llamaindex/autotool@5.0.27
-
-## 0.1.113
-
-### Patch Changes
-
-- Updated dependencies [3d1808b]
-  - @llamaindex/autotool@5.0.26
-  - llamaindex@0.8.26
-
-## 0.1.112
-
-### Patch Changes
-
-- Updated dependencies [8be4589]
-  - @llamaindex/autotool@5.0.25
-  - llamaindex@0.8.25
-
-## 0.1.111
-
-### Patch Changes
-
-- Updated dependencies [515f2c1]
-  - llamaindex@0.8.24
-  - @llamaindex/autotool@5.0.24
-
-## 0.1.110
-
-### Patch Changes
-
-- llamaindex@0.8.23
-- @llamaindex/autotool@5.0.23
-
-## 0.1.109
-
-### Patch Changes
-
-- Updated dependencies [819af45]
-  - llamaindex@0.8.22
-  - @llamaindex/autotool@5.0.22
-
-## 0.1.108
-
-### Patch Changes
-
-- Updated dependencies [83c3897]
-- Updated dependencies [efa2211]
-  - llamaindex@0.8.21
-  - @llamaindex/autotool@5.0.21
-
-## 0.1.107
-
-### Patch Changes
-
-- Updated dependencies [02b22da]
-  - llamaindex@0.8.20
-  - @llamaindex/autotool@5.0.20
-
-## 0.1.106
-
-### Patch Changes
-
-- Updated dependencies [90d265c]
-  - @llamaindex/autotool@5.0.19
-  - llamaindex@0.8.19
-
-## 0.1.105
-
-### Patch Changes
-
-- Updated dependencies [d17450f]
-  - llamaindex@0.8.18
-  - @llamaindex/autotool@5.0.18
-
-## 0.1.104
-
-### Patch Changes
-
-- llamaindex@0.8.17
-- @llamaindex/autotool@5.0.17
-
-## 0.1.103
-
-### Patch Changes
-
-- llamaindex@0.8.16
-- @llamaindex/autotool@5.0.16
-
-## 0.1.102
-
-### Patch Changes
-
-- Updated dependencies [3d503cb]
-- Updated dependencies [5dae534]
-  - llamaindex@0.8.15
-  - @llamaindex/autotool@5.0.15
-
-## 0.1.101
-
-### Patch Changes
-
-- Updated dependencies [630b425]
-  - llamaindex@0.8.14
-  - @llamaindex/autotool@5.0.14
-
-## 0.1.100
-
-### Patch Changes
-
-- llamaindex@0.8.13
-- @llamaindex/autotool@5.0.13
-
-## 0.1.99
-
-### Patch Changes
-
-- llamaindex@0.8.12
-- @llamaindex/autotool@5.0.12
-
-## 0.1.98
-
-### Patch Changes
-
-- llamaindex@0.8.11
-- @llamaindex/autotool@5.0.11
-
-## 0.1.97
-
-### Patch Changes
-
-- Updated dependencies [f066e50]
-  - llamaindex@0.8.10
-  - @llamaindex/autotool@5.0.10
-
-## 0.1.96
-
-### Patch Changes
-
-- Updated dependencies [4fc001c]
-- Updated dependencies [4d4cd8a]
-  - llamaindex@0.8.9
-  - @llamaindex/autotool@5.0.9
-
-## 0.1.95
-
-### Patch Changes
-
-- Updated dependencies [ad85bd0]
-  - llamaindex@0.8.8
-  - @llamaindex/autotool@5.0.8
-
-## 0.1.94
-
-### Patch Changes
-
-- llamaindex@0.8.7
-- @llamaindex/autotool@5.0.7
-
-## 0.1.93
-
-### Patch Changes
-
-- Updated dependencies [95a5cc6]
-  - llamaindex@0.8.6
-  - @llamaindex/autotool@5.0.6
-
-## 0.1.92
-
-### Patch Changes
-
-- Updated dependencies [14cc9eb]
-- Updated dependencies [a6db5dd]
-- Updated dependencies [396b1e1]
-  - llamaindex@0.8.5
-  - @llamaindex/autotool@5.0.5
-
-## 0.1.91
-
-### Patch Changes
-
-- Updated dependencies [35430d3]
-  - llamaindex@0.8.4
-  - @llamaindex/autotool@5.0.4
-
-## 0.1.90
-
-### Patch Changes
-
-- llamaindex@0.8.3
-- @llamaindex/autotool@5.0.3
-
-## 0.1.89
-
-### Patch Changes
-
-- Updated dependencies [c7a918c]
-  - llamaindex@0.8.2
-  - @llamaindex/autotool@5.0.2
-
-## 0.1.88
-
-### Patch Changes
-
-- llamaindex@0.8.1
-- @llamaindex/autotool@5.0.1
-
-## 0.1.87
-
-### Patch Changes
-
-- Updated dependencies [359fd33]
-- Updated dependencies [efb7e1b]
-- Updated dependencies [98ba1e7]
-- Updated dependencies [620c63c]
-  - llamaindex@0.8.0
-  - @llamaindex/autotool@5.0.0
-
-## 0.1.86
-
-### Patch Changes
-
-- Updated dependencies [9df9a8f]
-  - llamaindex@0.7.10
-  - @llamaindex/autotool@4.0.10
-
-## 0.1.85
-
-### Patch Changes
-
-- Updated dependencies [691c5bc]
-  - llamaindex@0.7.9
-  - @llamaindex/autotool@4.0.9
-
-## 0.1.84
-
-### Patch Changes
-
-- llamaindex@0.7.8
-- @llamaindex/autotool@4.0.8
-
-## 0.1.83
-
-### Patch Changes
-
-- llamaindex@0.7.7
-- @llamaindex/autotool@4.0.7
-
-## 0.1.82
-
-### Patch Changes
-
-- Updated dependencies [534d550]
-  - llamaindex@0.7.6
-  - @llamaindex/autotool@4.0.6
-
-## 0.1.81
-
-### Patch Changes
-
-- Updated dependencies [e9a111d]
-- Updated dependencies [9f22aae]
-  - llamaindex@0.7.5
-  - @llamaindex/autotool@4.0.5
-
-## 0.1.80
-
-### Patch Changes
-
-- llamaindex@0.7.4
-- @llamaindex/autotool@4.0.4
-
-## 0.1.79
-
-### Patch Changes
-
-- llamaindex@0.7.3
-- @llamaindex/autotool@4.0.3
-
-## 0.1.78
-
-### Patch Changes
-
-- llamaindex@0.7.2
-- @llamaindex/autotool@4.0.2
-
-## 0.1.77
-
-### Patch Changes
-
-- Updated dependencies [ae49ff4]
-- Updated dependencies [4c38c1b]
-- Updated dependencies [a75af83]
-- Updated dependencies [a75af83]
-  - llamaindex@0.7.1
-  - @llamaindex/autotool@4.0.1
-
-## 0.1.76
-
-### Patch Changes
-
-- Updated dependencies [1364e8e]
-- Updated dependencies [3b7736f]
-- Updated dependencies [96fc69c]
-  - llamaindex@0.7.0
-  - @llamaindex/autotool@4.0.0
-
-## 0.1.75
-
-### Patch Changes
-
-- Updated dependencies [5729bd9]
-  - llamaindex@0.6.22
-  - @llamaindex/autotool@3.0.22
-
-## 0.1.74
-
-### Patch Changes
-
-- Updated dependencies [6f75306]
-- Updated dependencies [94cb4ad]
-  - llamaindex@0.6.21
-  - @llamaindex/autotool@3.0.21
-
-## 0.1.73
-
-### Patch Changes
-
-- Updated dependencies [6a9a7b1]
-  - llamaindex@0.6.20
-  - @llamaindex/autotool@3.0.20
-
-## 0.1.72
-
-### Patch Changes
-
-- Updated dependencies [62cba52]
-- Updated dependencies [d265e96]
-- Updated dependencies [d30bbf7]
-- Updated dependencies [53fd00a]
-  - llamaindex@0.6.19
-  - @llamaindex/autotool@3.0.19
-
-## 0.1.71
-
-### Patch Changes
-
-- Updated dependencies [5f67820]
-- Updated dependencies [fe08d04]
-  - llamaindex@0.6.18
-  - @llamaindex/autotool@3.0.18
-
-## 0.1.70
-
-### Patch Changes
-
-- Updated dependencies [ee697fb]
-  - llamaindex@0.6.17
-  - @llamaindex/autotool@3.0.17
-
-## 0.1.69
-
-### Patch Changes
-
-- Updated dependencies [63e9846]
-- Updated dependencies [6f3a31c]
-  - llamaindex@0.6.16
-  - @llamaindex/autotool@3.0.16
-
-## 0.1.68
-
-### Patch Changes
-
-- Updated dependencies [2a82413]
-  - llamaindex@0.6.15
-  - @llamaindex/autotool@3.0.15
-
-## 0.1.67
-
-### Patch Changes
-
-- llamaindex@0.6.14
-- @llamaindex/autotool@3.0.14
-
-## 0.1.66
-
-### Patch Changes
-
-- llamaindex@0.6.13
-- @llamaindex/autotool@3.0.13
-
-## 0.1.65
-
-### Patch Changes
-
-- Updated dependencies [f7b4e94]
-- Updated dependencies [78037a6]
-- Updated dependencies [1d9e3b1]
-  - llamaindex@0.6.12
-  - @llamaindex/autotool@3.0.12
-
-## 0.1.64
-
-### Patch Changes
-
-- Updated dependencies [df441e2]
-  - @llamaindex/autotool@3.0.11
-  - llamaindex@0.6.11
-
-## 0.1.63
-
-### Patch Changes
-
-- Updated dependencies [ebc5105]
-- Updated dependencies [6cce3b1]
-  - llamaindex@0.6.10
-  - @llamaindex/autotool@3.0.10
-
-## 0.1.62
-
-### Patch Changes
-
-- llamaindex@0.6.9
-- @llamaindex/autotool@3.0.9
-
-## 0.1.61
-
-### Patch Changes
-
-- Updated dependencies [8b7fdba]
-  - llamaindex@0.6.8
-  - @llamaindex/autotool@3.0.8
-
-## 0.1.60
-
-### Patch Changes
-
-- Updated dependencies [23bcc37]
-  - llamaindex@0.6.7
-  - @llamaindex/autotool@3.0.7
-
-## 0.1.59
-
-### Patch Changes
-
-- Updated dependencies [d902cc3]
-- Updated dependencies [025ffe6]
-- Updated dependencies [a659574]
-  - llamaindex@0.6.6
-  - @llamaindex/autotool@3.0.6
-
-## 0.1.58
-
-### Patch Changes
-
-- Updated dependencies [e9714db]
-  - llamaindex@0.6.5
-  - @llamaindex/autotool@3.0.5
-
-## 0.1.57
-
-### Patch Changes
-
-- Updated dependencies [b48bcc3]
-  - llamaindex@0.6.4
-  - @llamaindex/autotool@3.0.4
-
-## 0.1.56
-
-### Patch Changes
-
-- Updated dependencies [2cd1383]
-- Updated dependencies [5c4badb]
-  - llamaindex@0.6.3
-  - @llamaindex/autotool@3.0.3
-
-## 0.1.55
-
-### Patch Changes
-
-- Updated dependencies [749b43a]
-  - llamaindex@0.6.2
-  - @llamaindex/autotool@3.0.2
-
-## 0.1.54
-
-### Patch Changes
-
-- Updated dependencies [fbd5e01]
-- Updated dependencies [6b70c54]
-- Updated dependencies [1a6137b]
-- Updated dependencies [85c2e19]
-  - llamaindex@0.6.1
-  - @llamaindex/autotool@3.0.1
-
-## 0.1.53
-
-### Patch Changes
-
-- Updated dependencies [11feef8]
-  - llamaindex@0.6.0
-  - @llamaindex/autotool@3.0.0
-
-## 0.1.52
-
-### Patch Changes
-
-- Updated dependencies [7edeb1c]
-  - llamaindex@0.5.27
-  - @llamaindex/autotool@2.0.1
-
-## 0.1.51
-
-### Patch Changes
-
-- Updated dependencies [ffe0cd1]
-- Updated dependencies [ffe0cd1]
-  - llamaindex@0.5.26
-  - @llamaindex/autotool@2.0.1
-
-## 0.1.50
-
-### Patch Changes
-
-- Updated dependencies [4810364]
-- Updated dependencies [d3bc663]
-  - llamaindex@0.5.25
-  - @llamaindex/autotool@2.0.1
-
-## 0.1.49
-
-### Patch Changes
-
-- llamaindex@0.5.24
-- @llamaindex/autotool@2.0.1
-
-## 0.1.48
-
-### Patch Changes
-
-- llamaindex@0.5.23
-- @llamaindex/autotool@2.0.1
-
-## 0.1.47
-
-### Patch Changes
-
-- Updated dependencies [4648da6]
-  - llamaindex@0.5.22
-  - @llamaindex/autotool@2.0.1
-
-## 0.1.46
-
-### Patch Changes
-
-- Updated dependencies [ae1149f]
-- Updated dependencies [2411c9f]
-- Updated dependencies [e8f229c]
-- Updated dependencies [11b3856]
-- Updated dependencies [83d7f41]
-- Updated dependencies [0148354]
-- Updated dependencies [1711f6d]
-  - llamaindex@0.5.21
-  - @llamaindex/autotool@2.0.1
-
-## 0.1.45
-
-### Patch Changes
-
-- Updated dependencies [d9d6c56]
-- Updated dependencies [22ff486]
-- Updated dependencies [eed0b04]
-  - llamaindex@0.5.20
-  - @llamaindex/autotool@2.0.1
-
-## 0.1.44
-
-### Patch Changes
-
-- Updated dependencies [fcbf183]
-  - llamaindex@0.5.19
-  - @llamaindex/autotool@2.0.1
-
-## 0.1.43
-
-### Patch Changes
-
-- Updated dependencies [8b66cf4]
-  - llamaindex@0.5.18
-  - @llamaindex/autotool@2.0.1
-
-## 0.1.42
-
-### Patch Changes
-
-- Updated dependencies [c654398]
-  - llamaindex@0.5.17
-  - @llamaindex/autotool@2.0.1
-
-## 0.1.41
-
-### Patch Changes
-
-- Updated dependencies [58abc57]
-  - @llamaindex/autotool@2.0.1
-  - llamaindex@0.5.16
-
-## 0.1.40
-
-### Patch Changes
-
-- Updated dependencies [01c184c]
-- Updated dependencies [07a275f]
-  - llamaindex@0.5.15
-  - @llamaindex/autotool@2.0.0
-
-## 0.1.39
-
-### Patch Changes
-
-- Updated dependencies [c825a2f]
-  - llamaindex@0.5.14
-  - @llamaindex/autotool@2.0.0
-
-## 0.1.38
-
-### Patch Changes
-
-- llamaindex@0.5.13
-- @llamaindex/autotool@2.0.0
-
-## 0.1.37
-
-### Patch Changes
-
-- Updated dependencies [345300f]
-- Updated dependencies [da5cfc4]
-- Updated dependencies [da5cfc4]
-  - llamaindex@0.5.12
-  - @llamaindex/autotool@2.0.0
-
-## 0.1.36
-
-### Patch Changes
-
-- llamaindex@0.5.11
-- @llamaindex/autotool@2.0.0
-
-## 0.1.35
-
-### Patch Changes
-
-- Updated dependencies [086b940]
-- Updated dependencies [5d5716b]
-- Updated dependencies [91d02a4]
-- Updated dependencies [fb6db45]
-  - llamaindex@0.5.10
-  - @llamaindex/autotool@2.0.0
-
-## 0.1.34
-
-### Patch Changes
-
-- Updated dependencies [15962b3]
-  - llamaindex@0.5.9
-  - @llamaindex/autotool@2.0.0
-
-## 0.1.33
-
-### Patch Changes
-
-- Updated dependencies [3d5ba08]
-- Updated dependencies [d917cdc]
-  - llamaindex@0.5.8
-  - @llamaindex/autotool@2.0.0
-
-## 0.1.32
-
-### Patch Changes
-
-- Updated dependencies [ec59acd]
-  - llamaindex@0.5.7
-  - @llamaindex/autotool@2.0.0
-
-## 0.1.31
-
-### Patch Changes
-
-- Updated dependencies [2562244]
-- Updated dependencies [325aa51]
-- Updated dependencies [ab700ea]
-- Updated dependencies [92f0782]
-- Updated dependencies [6cf6ae6]
-- Updated dependencies [b7cfe5b]
-  - llamaindex@0.5.6
-  - @llamaindex/autotool@2.0.0
-
-## 0.1.30
-
-### Patch Changes
-
-- Updated dependencies [b974eea]
-  - llamaindex@0.5.5
-  - @llamaindex/autotool@2.0.0
-
-## 0.1.29
-
-### Patch Changes
-
-- Updated dependencies [1a65ead]
-  - llamaindex@0.5.4
-  - @llamaindex/autotool@2.0.0
-
-## 0.1.28
-
-### Patch Changes
-
-- Updated dependencies [9bbbc67]
-- Updated dependencies [b3681bf]
-  - llamaindex@0.5.3
-  - @llamaindex/autotool@2.0.0
-
-## 0.1.27
-
-### Patch Changes
-
-- llamaindex@0.5.2
-- @llamaindex/autotool@2.0.0
-
-## 0.1.26
-
-### Patch Changes
-
-- Updated dependencies [2774681]
-- Updated dependencies [a0f424e]
-  - llamaindex@0.5.1
-  - @llamaindex/autotool@2.0.0
-
-## 0.1.25
-
-### Patch Changes
-
-- Updated dependencies [16ef5dd]
-- Updated dependencies [16ef5dd]
-- Updated dependencies [36ddec4]
-  - llamaindex@0.5.0
-  - @llamaindex/autotool@2.0.0
-
-## 0.1.24
-
-### Patch Changes
-
-- llamaindex@0.4.14
-- @llamaindex/autotool@1.0.0
-
-## 0.1.23
-
-### Patch Changes
-
-- Updated dependencies [e8f8bea]
-- Updated dependencies [304484b]
-  - llamaindex@0.4.13
-  - @llamaindex/autotool@1.0.0
-
-## 0.1.22
-
-### Patch Changes
-
-- Updated dependencies [f326ab8]
-  - llamaindex@0.4.12
-  - @llamaindex/autotool@1.0.0
-
-## 0.1.21
-
-### Patch Changes
-
-- Updated dependencies [8bf5b4a]
-  - llamaindex@0.4.11
-  - @llamaindex/autotool@1.0.0
-
-## 0.1.20
-
-### Patch Changes
-
-- Updated dependencies [7dce3d2]
-  - llamaindex@0.4.10
-  - @llamaindex/autotool@1.0.0
-
-## 0.1.19
-
-### Patch Changes
-
-- Updated dependencies [3a96a48]
-  - llamaindex@0.4.9
-  - @llamaindex/autotool@1.0.0
-
-## 0.1.18
-
-### Patch Changes
-
-- Updated dependencies [83ebdfb]
-  - llamaindex@0.4.8
-  - @llamaindex/autotool@1.0.0
-
-## 0.1.17
-
-### Patch Changes
-
-- Updated dependencies [41fe871]
-- Updated dependencies [321c39d]
-- Updated dependencies [f7f1af0]
-  - llamaindex@0.4.7
-  - @llamaindex/autotool@1.0.0
-
-## 0.1.16
-
-### Patch Changes
-
-- Updated dependencies [1feb23b]
-- Updated dependencies [08c55ec]
-  - llamaindex@0.4.6
-  - @llamaindex/autotool@1.0.0
-
-## 0.1.15
-
-### Patch Changes
-
-- Updated dependencies [6c3e5d0]
-  - llamaindex@0.4.5
-  - @llamaindex/autotool@1.0.0
-
-## 0.1.14
-
-### Patch Changes
-
-- Updated dependencies [42eb73a]
-  - llamaindex@0.4.4
-  - @llamaindex/autotool@1.0.0
-
-## 0.1.13
-
-### Patch Changes
-
-- Updated dependencies [2ef62a9]
-  - llamaindex@0.4.3
-  - @llamaindex/autotool@1.0.0
-
-## 0.1.12
-
-### Patch Changes
-
-- Updated dependencies [a87a4d1]
-- Updated dependencies [0730140]
-  - llamaindex@0.4.2
-  - @llamaindex/autotool@1.0.0
-
-## 0.1.11
-
-### Patch Changes
-
-- Updated dependencies [3c47910]
-- Updated dependencies [ed467a9]
-- Updated dependencies [cba5406]
-  - llamaindex@0.4.1
-  - @llamaindex/autotool@1.0.0
-
-## 0.1.10
-
-### Patch Changes
-
-- Updated dependencies [436bc41]
-- Updated dependencies [a44e54f]
-- Updated dependencies [a51ed8d]
-- Updated dependencies [d3b635b]
-  - llamaindex@0.4.0
-  - @llamaindex/autotool@1.0.0
-
-## 0.1.9
-
-### Patch Changes
-
-- Updated dependencies [6bc5bdd]
-- Updated dependencies [bf25ff6]
-- Updated dependencies [e6d6576]
-  - llamaindex@0.3.17
-  - @llamaindex/autotool@0.0.1
-
-## 0.1.8
-
-### Patch Changes
-
-- Updated dependencies [11ae926]
-- Updated dependencies [631f000]
-- Updated dependencies [1378ec4]
-- Updated dependencies [6b1ded4]
-- Updated dependencies [4d4bd85]
-- Updated dependencies [24a9d1e]
-- Updated dependencies [45952de]
-- Updated dependencies [54230f0]
-- Updated dependencies [a29d835]
-- Updated dependencies [73819bf]
-  - llamaindex@0.3.16
-  - @llamaindex/autotool@0.0.1
-
-## 0.1.7
-
-### Patch Changes
-
-- Updated dependencies [6e156ed]
-- Updated dependencies [265976d]
-- Updated dependencies [8e26f75]
-  - llamaindex@0.3.15
-  - @llamaindex/autotool@0.0.1
-
-## 0.1.6
-
-### Patch Changes
-
-- Updated dependencies [6ff7576]
-- Updated dependencies [94543de]
-  - llamaindex@0.3.14
-  - @llamaindex/autotool@0.0.1
-
-## 0.1.5
-
-### Patch Changes
-
-- Updated dependencies [1b1081b]
-- Updated dependencies [37525df]
-- Updated dependencies [660a2b3]
-- Updated dependencies [a1f2475]
-  - llamaindex@0.3.13
-  - @llamaindex/autotool@0.0.1
-
-## 0.1.4
-
-### Patch Changes
-
-- Updated dependencies [34fb1d8]
-  - llamaindex@0.3.12
-  - @llamaindex/autotool@0.0.1
-
-## 0.1.3
-
-### Patch Changes
-
-- Updated dependencies [e072c45]
-- Updated dependencies [9e133ac]
-- Updated dependencies [447105a]
-- Updated dependencies [320be3f]
-  - llamaindex@0.3.11
-  - @llamaindex/autotool@0.0.1
-
-## 0.1.2
-
-### Patch Changes
-
-- Updated dependencies [4aba02e]
-  - llamaindex@0.3.10
-  - @llamaindex/autotool@0.0.1
-
-## 0.1.1
-
-### Patch Changes
-
-- Updated dependencies [c3747d0]
-  - llamaindex@0.3.9
-  - @llamaindex/autotool@0.0.1
diff --git a/packages/autotool/examples/02_nextjs/README.md b/packages/autotool/examples/02_nextjs/README.md
deleted file mode 100644
index 1509ded7c..000000000
--- a/packages/autotool/examples/02_nextjs/README.md
+++ /dev/null
@@ -1,30 +0,0 @@
-This is a [LlamaIndex](https://www.llamaindex.ai/) project using [Next.js](https://nextjs.org/) bootstrapped with [`create-llama`](https://github.com/run-llama/LlamaIndexTS/tree/main/packages/create-llama).
-
-## Getting Started
-
-First, install the dependencies:
-
-```
-npm install
-```
-
-Second, run the development server:
-
-```
-npm run dev
-```
-
-Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
-
-You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
-
-This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
-
-## Learn More
-
-To learn more about LlamaIndex, take a look at the following resources:
-
-- [LlamaIndex Documentation](https://docs.llamaindex.ai) - learn about LlamaIndex (Python features).
-- [LlamaIndexTS Documentation](https://ts.llamaindex.ai) - learn about LlamaIndex (Typescript features).
-
-You can check out [the LlamaIndexTS GitHub repository](https://github.com/run-llama/LlamaIndexTS) - your feedback and contributions are welcome!
diff --git a/packages/autotool/examples/02_nextjs/actions.ts b/packages/autotool/examples/02_nextjs/actions.ts
deleted file mode 100644
index 3c5d12a48..000000000
--- a/packages/autotool/examples/02_nextjs/actions.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-"use server";
-import { OpenAIAgent } from "llamaindex";
-// import your tools on top, that's it
-import { runWithStreamableUI } from "@/context";
-import "@/tool";
-import { convertTools } from "@llamaindex/autotool";
-import { createStreamableUI } from "ai/rsc";
-import type { ReactNode } from "react";
-
-export async function chatWithAI(message: string): Promise<ReactNode> {
-  const agent = new OpenAIAgent({
-    tools: convertTools("llamaindex"),
-  });
-  const uiStream = createStreamableUI();
-  runWithStreamableUI(uiStream, () =>
-    agent
-      .chat({
-        stream: true,
-        message,
-      })
-      .then(async (responseStream) => {
-        return responseStream.pipeTo(
-          new WritableStream({
-            start: () => {
-              uiStream.append("\n");
-            },
-            write: async (message) => {
-              uiStream.append(message.response);
-            },
-            close: () => {
-              uiStream.done();
-            },
-          }),
-        );
-      }),
-  ).catch(uiStream.error);
-  return uiStream.value;
-}
diff --git a/packages/autotool/examples/02_nextjs/app/favicon.ico b/packages/autotool/examples/02_nextjs/app/favicon.ico
deleted file mode 100644
index a1eaef62f2dfa895f1bbffc6595bb53d9604963e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 15406
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

diff --git a/packages/autotool/examples/02_nextjs/app/globals.css b/packages/autotool/examples/02_nextjs/app/globals.css
deleted file mode 100644
index 26e61d41b..000000000
--- a/packages/autotool/examples/02_nextjs/app/globals.css
+++ /dev/null
@@ -1,91 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-@layer base {
-  :root {
-    --background: 0 0% 100%;
-    --foreground: 222.2 47.4% 11.2%;
-
-    --muted: 210 40% 96.1%;
-    --muted-foreground: 215.4 16.3% 46.9%;
-
-    --popover: 0 0% 100%;
-    --popover-foreground: 222.2 47.4% 11.2%;
-
-    --border: 214.3 31.8% 91.4%;
-    --input: 214.3 31.8% 91.4%;
-
-    --card: 0 0% 100%;
-    --card-foreground: 222.2 47.4% 11.2%;
-
-    --primary: 222.2 47.4% 11.2%;
-    --primary-foreground: 210 40% 98%;
-
-    --secondary: 210 40% 96.1%;
-    --secondary-foreground: 222.2 47.4% 11.2%;
-
-    --accent: 210 40% 96.1%;
-    --accent-foreground: 222.2 47.4% 11.2%;
-
-    --destructive: 0 100% 50%;
-    --destructive-foreground: 210 40% 98%;
-
-    --ring: 215 20.2% 65.1%;
-
-    --radius: 0.5rem;
-  }
-
-  .dark {
-    --background: 224 71% 4%;
-    --foreground: 213 31% 91%;
-
-    --muted: 223 47% 11%;
-    --muted-foreground: 215.4 16.3% 56.9%;
-
-    --accent: 216 34% 17%;
-    --accent-foreground: 210 40% 98%;
-
-    --popover: 224 71% 4%;
-    --popover-foreground: 215 20.2% 65.1%;
-
-    --border: 216 34% 17%;
-    --input: 216 34% 17%;
-
-    --card: 224 71% 4%;
-    --card-foreground: 213 31% 91%;
-
-    --primary: 210 40% 98%;
-    --primary-foreground: 222.2 47.4% 1.2%;
-
-    --secondary: 222.2 47.4% 11.2%;
-    --secondary-foreground: 210 40% 98%;
-
-    --destructive: 0 63% 31%;
-    --destructive-foreground: 210 40% 98%;
-
-    --ring: 216 34% 17%;
-
-    --radius: 0.5rem;
-  }
-}
-
-@layer base {
-  * {
-    @apply border-border;
-  }
-  body {
-    @apply bg-background text-foreground;
-    font-feature-settings:
-      "rlig" 1,
-      "calt" 1;
-  }
-  .background-gradient {
-    background-color: #fff;
-    background-image:
-      radial-gradient(at 21% 11%, rgba(186, 186, 233, 0.53) 0, transparent 50%),
-      radial-gradient(at 85% 0, hsla(46, 57%, 78%, 0.52) 0, transparent 50%),
-      radial-gradient(at 91% 36%, rgba(194, 213, 255, 0.68) 0, transparent 50%),
-      radial-gradient(at 8% 40%, rgba(251, 218, 239, 0.46) 0, transparent 50%);
-  }
-}
diff --git a/packages/autotool/examples/02_nextjs/app/layout.tsx b/packages/autotool/examples/02_nextjs/app/layout.tsx
deleted file mode 100644
index ced5247c4..000000000
--- a/packages/autotool/examples/02_nextjs/app/layout.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import type { Metadata } from "next";
-import { Inter } from "next/font/google";
-import { Toaster } from "sonner";
-import "./globals.css";
-
-const inter = Inter({ subsets: ["latin"] });
-
-export const metadata: Metadata = {
-  title: "Create Llama App",
-  description: "Generated by create-llama",
-};
-
-export default function RootLayout({
-  children,
-}: {
-  children: React.ReactNode;
-}) {
-  return (
-    <html lang="en">
-      <body className={inter.className}>
-        <Toaster />
-        {children}
-      </body>
-    </html>
-  );
-}
diff --git a/packages/autotool/examples/02_nextjs/app/page.tsx b/packages/autotool/examples/02_nextjs/app/page.tsx
deleted file mode 100644
index eb3abfd82..000000000
--- a/packages/autotool/examples/02_nextjs/app/page.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-import { ChatSection } from "@/components/chat-section";
-
-export const runtime = "edge";
-
-export default function Home() {
-  return (
-    <main className="flex min-h-screen flex-col items-center gap-10 p-24 background-gradient">
-      <ChatSection />
-    </main>
-  );
-}
diff --git a/packages/autotool/examples/02_nextjs/components/chat-section.tsx b/packages/autotool/examples/02_nextjs/components/chat-section.tsx
deleted file mode 100644
index dd83ce3c4..000000000
--- a/packages/autotool/examples/02_nextjs/components/chat-section.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-"use client";
-import { chatWithAI } from "@/actions";
-import { ReactNode, useActionState } from "react";
-import { toast } from "sonner";
-
-export function ChatSection() {
-  const [state, formAction] = useActionState<ReactNode | null, FormData>(
-    async (state, payload) => {
-      const input = payload.get("input") as string | null;
-      if (!input) {
-        toast.error("Please type a message");
-        return null;
-      }
-      return chatWithAI(input);
-    },
-    null,
-  );
-  return (
-    <form>
-      <div className="border border-gray-400 p-2 max-w-md">{state}</div>
-      <input
-        className="border border-gray-400 p-2"
-        type="text"
-        name="input"
-        placeholder="Type your message here"
-      />
-      <button
-        className="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded"
-        formAction={formAction}
-      >
-        Chat
-      </button>
-    </form>
-  );
-}
diff --git a/packages/autotool/examples/02_nextjs/components/location-card.tsx b/packages/autotool/examples/02_nextjs/components/location-card.tsx
deleted file mode 100644
index cb7a4b880..000000000
--- a/packages/autotool/examples/02_nextjs/components/location-card.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-export function LocationCard() {
-  return (
-    <div className="border border-gray-400 p-2 max-w-md">
-      <h1>Weather</h1>
-      <p>San Francisco, CA</p>
-      <p>Sunny</p>
-    </div>
-  );
-}
diff --git a/packages/autotool/examples/02_nextjs/components/spinner.tsx b/packages/autotool/examples/02_nextjs/components/spinner.tsx
deleted file mode 100644
index 0408035ae..000000000
--- a/packages/autotool/examples/02_nextjs/components/spinner.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-export function Spinner() {
-  return (
-    <div role="status">
-      <svg
-        aria-hidden="true"
-        className="w-8 h-8 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600"
-        viewBox="0 0 100 101"
-        fill="none"
-        xmlns="http://www.w3.org/2000/svg"
-      >
-        <path
-          d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z"
-          fill="currentColor"
-        />
-        <path
-          d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z"
-          fill="currentFill"
-        />
-      </svg>
-      <span className="sr-only">Loading...</span>
-    </div>
-  );
-}
diff --git a/packages/autotool/examples/02_nextjs/context/index.ts b/packages/autotool/examples/02_nextjs/context/index.ts
deleted file mode 100644
index 63afe9e50..000000000
--- a/packages/autotool/examples/02_nextjs/context/index.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import type { createStreamableUI } from "ai/rsc";
-import { AsyncLocalStorage } from "node:async_hooks";
-
-type StreamableUI = ReturnType<typeof createStreamableUI>;
-
-const streamUIAsyncLocalStorage = new AsyncLocalStorage<StreamableUI>();
-
-export function getCurrentStreamableUI() {
-  return streamUIAsyncLocalStorage.getStore();
-}
-
-export function runWithStreamableUI<T>(streamUI: StreamableUI, fn: () => T): T {
-  return streamUIAsyncLocalStorage.run(streamUI, fn);
-}
diff --git a/packages/autotool/examples/02_nextjs/next.config.mjs b/packages/autotool/examples/02_nextjs/next.config.mjs
deleted file mode 100644
index 550bd5eed..000000000
--- a/packages/autotool/examples/02_nextjs/next.config.mjs
+++ /dev/null
@@ -1,7 +0,0 @@
-import { withNext } from "@llamaindex/autotool/next";
-import withLlamaIndex from "llamaindex/next";
-
-/** @type {import('next').NextConfig} */
-const nextConfig = {};
-
-export default withLlamaIndex(withNext(nextConfig));
diff --git a/packages/autotool/examples/02_nextjs/package.json b/packages/autotool/examples/02_nextjs/package.json
deleted file mode 100644
index d646e3646..000000000
--- a/packages/autotool/examples/02_nextjs/package.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
-  "name": "@llamaindex/autotool-02-next-example",
-  "private": true,
-  "version": "0.1.134",
-  "scripts": {
-    "dev": "next dev",
-    "build": "next build",
-    "start": "next start"
-  },
-  "dependencies": {
-    "@llamaindex/autotool": "workspace:*",
-    "@radix-ui/react-slot": "^1.1.0",
-    "ai": "^4.0.0",
-    "class-variance-authority": "^0.7.0",
-    "dotenv": "^16.3.1",
-    "llamaindex": "workspace:*",
-    "lucide-react": "^0.460.0",
-    "next": "15.1.7",
-    "react": "^18.3.1",
-    "react-dom": "^18.3.1",
-    "react-markdown": "^9.0.1",
-    "react-syntax-highlighter": "^15.5.0",
-    "sonner": "^1.7.0",
-    "tailwind-merge": "^2.5.2"
-  },
-  "devDependencies": {
-    "@types/node": "^22.9.0",
-    "@types/react": "^18.3.12",
-    "@types/react-dom": "^18.3.1",
-    "@types/react-syntax-highlighter": "^15.5.11",
-    "autoprefixer": "^10.4.20",
-    "cross-env": "^7.0.3",
-    "postcss": "^8.4.49",
-    "tailwindcss": "^3.4.15",
-    "typescript": "^5.7.2"
-  }
-}
diff --git a/packages/autotool/examples/02_nextjs/postcss.config.js b/packages/autotool/examples/02_nextjs/postcss.config.js
deleted file mode 100644
index 12a703d90..000000000
--- a/packages/autotool/examples/02_nextjs/postcss.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
-  plugins: {
-    tailwindcss: {},
-    autoprefixer: {},
-  },
-};
diff --git a/packages/autotool/examples/02_nextjs/public/llama.png b/packages/autotool/examples/02_nextjs/public/llama.png
deleted file mode 100644
index d4efba3b816bf765439c6d01b322b02684e946c3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 36985
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
Z1<z_U4-`xNVPIfj@O1TaS?83{1OS^n$>{(9

diff --git a/packages/autotool/examples/02_nextjs/tailwind.config.ts b/packages/autotool/examples/02_nextjs/tailwind.config.ts
deleted file mode 100644
index aa5580aff..000000000
--- a/packages/autotool/examples/02_nextjs/tailwind.config.ts
+++ /dev/null
@@ -1,78 +0,0 @@
-import type { Config } from "tailwindcss";
-import { fontFamily } from "tailwindcss/defaultTheme";
-
-const config: Config = {
-  darkMode: ["class"],
-  content: ["app/**/*.{ts,tsx}", "components/**/*.{ts,tsx}"],
-  theme: {
-    container: {
-      center: true,
-      padding: "2rem",
-      screens: {
-        "2xl": "1400px",
-      },
-    },
-    extend: {
-      colors: {
-        border: "hsl(var(--border))",
-        input: "hsl(var(--input))",
-        ring: "hsl(var(--ring))",
-        background: "hsl(var(--background))",
-        foreground: "hsl(var(--foreground))",
-        primary: {
-          DEFAULT: "hsl(var(--primary))",
-          foreground: "hsl(var(--primary-foreground))",
-        },
-        secondary: {
-          DEFAULT: "hsl(var(--secondary))",
-          foreground: "hsl(var(--secondary-foreground))",
-        },
-        destructive: {
-          DEFAULT: "hsl(var(--destructive) / <alpha-value>)",
-          foreground: "hsl(var(--destructive-foreground) / <alpha-value>)",
-        },
-        muted: {
-          DEFAULT: "hsl(var(--muted))",
-          foreground: "hsl(var(--muted-foreground))",
-        },
-        accent: {
-          DEFAULT: "hsl(var(--accent))",
-          foreground: "hsl(var(--accent-foreground))",
-        },
-        popover: {
-          DEFAULT: "hsl(var(--popover))",
-          foreground: "hsl(var(--popover-foreground))",
-        },
-        card: {
-          DEFAULT: "hsl(var(--card))",
-          foreground: "hsl(var(--card-foreground))",
-        },
-      },
-      borderRadius: {
-        xl: `calc(var(--radius) + 4px)`,
-        lg: `var(--radius)`,
-        md: `calc(var(--radius) - 2px)`,
-        sm: "calc(var(--radius) - 4px)",
-      },
-      fontFamily: {
-        sans: ["var(--font-sans)", ...fontFamily.sans],
-      },
-      keyframes: {
-        "accordion-down": {
-          from: { height: "0" },
-          to: { height: "var(--radix-accordion-content-height)" },
-        },
-        "accordion-up": {
-          from: { height: "var(--radix-accordion-content-height)" },
-          to: { height: "0" },
-        },
-      },
-      animation: {
-        "accordion-down": "accordion-down 0.2s ease-out",
-        "accordion-up": "accordion-up 0.2s ease-out",
-      },
-    },
-  },
-  plugins: [],
-};
-export default config;
diff --git a/packages/autotool/examples/02_nextjs/tool/index.tsx b/packages/autotool/examples/02_nextjs/tool/index.tsx
deleted file mode 100644
index 8ebfe4e34..000000000
--- a/packages/autotool/examples/02_nextjs/tool/index.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-"use tool";
-import { getCurrentStreamableUI } from "@/context";
-
-export async function getMyUserID() {
-  const ui = getCurrentStreamableUI()!;
-  ui.update("Getting user ID...");
-  await new Promise((resolve) => setTimeout(resolve, 2000));
-  return "12345";
-}
-
-export async function showUserInfo(userId: string) {
-  const ui = getCurrentStreamableUI()!;
-  ui.update("Getting user info...");
-  await new Promise((resolve) => setTimeout(resolve, 2000));
-  ui.update(
-    <div>
-      User ID: {userId}
-      <br />
-      Name: John Doe
-    </div>,
-  );
-  return `User ID: ${userId}\nName: John Doe\nEmail: alex@gmail.com\nPhone: 123-456-7890\nAddress: 123 Main St\nCity: San Francisco\nState: CA\nZip: 94105\nCountry: USA\n`;
-}
-
-export function getWeather(address: string) {
-  return `The weather in ${address} is sunny!`;
-}
diff --git a/packages/autotool/examples/02_nextjs/tsconfig.json b/packages/autotool/examples/02_nextjs/tsconfig.json
deleted file mode 100644
index 40c136b82..000000000
--- a/packages/autotool/examples/02_nextjs/tsconfig.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-  "compilerOptions": {
-    "target": "es5",
-    "lib": ["dom", "dom.iterable", "esnext"],
-    "allowJs": true,
-    "skipLibCheck": true,
-    "strict": true,
-    "noEmit": true,
-    "esModuleInterop": true,
-    "module": "esnext",
-    "moduleResolution": "bundler",
-    "resolveJsonModule": true,
-    "isolatedModules": true,
-    "jsx": "preserve",
-    "incremental": true,
-    "plugins": [
-      {
-        "name": "next"
-      }
-    ],
-    "paths": {
-      "@/*": ["./*"]
-    },
-    "forceConsistentCasingInFileNames": true
-  },
-  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
-  "exclude": ["node_modules"]
-}
diff --git a/packages/autotool/package.json b/packages/autotool/package.json
index ac68dd2dd..b2c0052c9 100644
--- a/packages/autotool/package.json
+++ b/packages/autotool/package.json
@@ -77,10 +77,10 @@
     "@types/node": "^22.9.0",
     "bunchee": "6.3.4",
     "llamaindex": "workspace:*",
-    "next": "15.1.7",
+    "next": "15.2.0",
     "rollup": "^4.28.1",
-    "tsx": "^4.19.0",
-    "typescript": "^5.7.2",
+    "tsx": "^4.19.3",
+    "typescript": "^5.7.3",
     "vitest": "^2.1.5",
     "webpack": "^5.97.1"
   }
diff --git a/packages/core/tests/tools.test.ts b/packages/core/tests/tools.test.ts
index 1c7fee89b..3219069d3 100644
--- a/packages/core/tests/tools.test.ts
+++ b/packages/core/tests/tools.test.ts
@@ -11,15 +11,9 @@ describe("FunctionTool", () => {
     FunctionTool.from(({ input }: { input: string }) => input, {
       name: "test",
       description: "test",
-      parameters: {
-        type: "object",
-        properties: {
-          input: {
-            type: "string",
-          },
-        },
-        required: ["input"],
-      },
+      parameters: z.object({
+        input: z.string(),
+      }),
     });
     const inputSchema = z
       .object({
diff --git a/packages/llamaindex/package.json b/packages/llamaindex/package.json
index 433a628cb..a3e146741 100644
--- a/packages/llamaindex/package.json
+++ b/packages/llamaindex/package.json
@@ -29,6 +29,7 @@
     "@types/lodash": "^4.17.7",
     "@types/node": "^22.9.0",
     "ajv": "^8.17.1",
+    "gpt-tokenizer": "^2.6.2",
     "lodash": "^4.17.21",
     "magic-bytes.js": "^1.10.0"
   },
@@ -37,7 +38,7 @@
     "@swc/core": "^1.9.2",
     "concurrently": "^9.1.0",
     "glob": "^11.0.0",
-    "typescript": "^5.7.2"
+    "typescript": "^5.7.3"
   },
   "engines": {
     "node": ">=18.0.0"
diff --git a/packages/wasm-tools/package.json b/packages/wasm-tools/package.json
index 6be4d595c..94f1e0779 100644
--- a/packages/wasm-tools/package.json
+++ b/packages/wasm-tools/package.json
@@ -11,7 +11,7 @@
     "@swc/cli": "^0.5.0",
     "@swc/core": "^1.9.2",
     "assemblyscript": "^0.27.31",
-    "typescript": "^5.7.2"
+    "typescript": "^5.7.3"
   },
   "engines": {
     "node": ">=20.0.0"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 826ddef74..21037071d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -17,20 +17,20 @@ importers:
         specifier: ^2.27.5
         version: 2.27.12
       eslint:
-        specifier: 9.16.0
-        version: 9.16.0(jiti@2.4.2)
+        specifier: 9.22.0
+        version: 9.22.0(jiti@2.4.2)
       eslint-config-next:
         specifier: ^15.1.0
-        version: 15.1.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)
+        version: 15.1.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)
       eslint-config-prettier:
         specifier: ^9.1.0
-        version: 9.1.0(eslint@9.16.0(jiti@2.4.2))
+        version: 9.1.0(eslint@9.22.0(jiti@2.4.2))
       eslint-config-turbo:
         specifier: ^2.3.3
-        version: 2.4.1(eslint@9.16.0(jiti@2.4.2))(turbo@2.4.1)
+        version: 2.4.1(eslint@9.22.0(jiti@2.4.2))(turbo@2.4.4)
       eslint-plugin-react:
         specifier: 7.37.2
-        version: 7.37.2(eslint@9.16.0(jiti@2.4.2))
+        version: 7.37.2(eslint@9.22.0(jiti@2.4.2))
       globals:
         specifier: ^15.12.0
         version: 15.14.0
@@ -42,22 +42,22 @@ importers:
         version: 15.4.3
       madge:
         specifier: ^8.0.0
-        version: 8.0.0(typescript@5.7.2)
+        version: 8.0.0(typescript@5.7.3)
       prettier:
         specifier: ^3.4.2
         version: 3.5.0
       prettier-plugin-organize-imports:
         specifier: ^4.1.0
-        version: 4.1.0(prettier@3.5.0)(typescript@5.7.2)
+        version: 4.1.0(prettier@3.5.0)(typescript@5.7.3)
       turbo:
-        specifier: ^2.3.3
-        version: 2.4.1
+        specifier: ^2.4.4
+        version: 2.4.4
       typescript:
-        specifier: ^5.7.2
-        version: 5.7.2
+        specifier: ^5.7.3
+        version: 5.7.3
       typescript-eslint:
         specifier: ^8.18.0
-        version: 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)
+        version: 8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)
 
   apps/next:
     dependencies:
@@ -65,8 +65,8 @@ importers:
         specifier: ^10.1.0
         version: 10.2.0(react@19.0.0)
       '@llamaindex/chat-ui':
-        specifier: 0.0.9
-        version: 0.0.9(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+        specifier: 0.2.0
+        version: 0.2.0(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       '@llamaindex/cloud':
         specifier: workspace:*
         version: link:../../packages/cloud
@@ -93,31 +93,31 @@ importers:
         version: 0.3.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       '@radix-ui/react-dialog':
         specifier: ^1.1.2
-        version: 1.1.6(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+        version: 1.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       '@radix-ui/react-icons':
         specifier: ^1.3.2
         version: 1.3.2(react@19.0.0)
       '@radix-ui/react-label':
         specifier: ^2.1.0
-        version: 2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+        version: 2.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       '@radix-ui/react-slider':
         specifier: ^1.2.1
-        version: 1.2.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+        version: 1.2.3(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       '@radix-ui/react-slot':
         specifier: ^1.1.0
-        version: 1.1.2(@types/react@18.3.12)(react@19.0.0)
+        version: 1.1.2(@types/react@19.0.10)(react@19.0.0)
       '@radix-ui/react-tooltip':
         specifier: ^1.1.4
-        version: 1.1.8(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+        version: 1.1.8(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       '@scalar/api-client-react':
         specifier: ^1.1.25
-        version: 1.1.25(@hyperjump/browser@1.2.0)(axios@1.7.9)(react@19.0.0)(tailwindcss@3.4.17)(typescript@5.7.2)
+        version: 1.1.25(@hyperjump/browser@1.2.0)(axios@1.7.9)(react@19.0.0)(tailwindcss@4.0.9)(typescript@5.7.3)
       '@vercel/functions':
         specifier: ^1.5.0
         version: 1.6.0(@aws-sdk/credential-provider-web-identity@3.744.0)
       ai:
         specifier: ^3.4.33
-        version: 3.4.33(openai@4.86.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2))(react@19.0.0)(sswr@2.1.0(svelte@5.19.10))(svelte@5.19.10)(vue@3.5.13(typescript@5.7.2))(zod@3.24.2)
+        version: 3.4.33(openai@4.86.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2))(react@19.0.0)(sswr@2.1.0(svelte@5.19.10))(svelte@5.19.10)(vue@3.5.13(typescript@5.7.3))(zod@3.24.2)
       class-variance-authority:
         specifier: ^0.7.0
         version: 0.7.1
@@ -131,26 +131,26 @@ importers:
         specifier: ^11.11.17
         version: 11.18.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       fumadocs-core:
-        specifier: ^14.7.7
-        version: 14.7.7(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+        specifier: ^15.0.15
+        version: 15.0.15(@types/react@19.0.10)(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       fumadocs-docgen:
-        specifier: ^1.3.7
-        version: 1.3.7(typescript@5.7.2)
+        specifier: ^2.0.0
+        version: 2.0.0
       fumadocs-mdx:
-        specifier: ^11.5.3
-        version: 11.5.3(acorn@8.14.0)(fumadocs-core@14.7.7(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))
+        specifier: ^11.5.6
+        version: 11.5.6(acorn@8.14.0)(fumadocs-core@15.0.15(@types/react@19.0.10)(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))
       fumadocs-openapi:
-        specifier: ^5.12.0
-        version: 5.12.0(@scalar/api-client-react@1.1.25(@hyperjump/browser@1.2.0)(axios@1.7.9)(react@19.0.0)(tailwindcss@3.4.17)(typescript@5.7.2))(@types/react-dom@18.3.1)(@types/react@18.3.12)(ajv@8.17.1)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.17)
+        specifier: ^6.3.0
+        version: 6.3.0(@scalar/api-client-react@1.1.25(@hyperjump/browser@1.2.0)(axios@1.7.9)(react@19.0.0)(tailwindcss@4.0.9)(typescript@5.7.3))(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(ajv@8.17.1)(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.9)
       fumadocs-twoslash:
-        specifier: ^2.0.3
-        version: 2.0.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(fumadocs-ui@14.7.7(@types/react-dom@18.3.1)(@types/react@18.3.12)(fumadocs-core@14.7.7(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.17))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(shiki@2.3.2)(typescript@5.7.2)
+        specifier: ^3.1.0
+        version: 3.1.0(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(fumadocs-ui@15.0.15(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(fumadocs-core@15.0.15(@types/react@19.0.10)(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.9))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(shiki@3.1.0)(typescript@5.7.3)
       fumadocs-typescript:
-        specifier: ^3.0.3
-        version: 3.0.3(typescript@5.7.2)
+        specifier: ^3.1.0
+        version: 3.1.0(typescript@5.7.3)
       fumadocs-ui:
-        specifier: ^14.7.7
-        version: 14.7.7(@types/react-dom@18.3.1)(@types/react@18.3.12)(fumadocs-core@14.7.7(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.17)
+        specifier: ^15.0.15
+        version: 15.0.15(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(fumadocs-core@15.0.15(@types/react@19.0.10)(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.9)
       hast-util-to-jsx-runtime:
         specifier: ^2.3.2
         version: 2.3.2
@@ -161,8 +161,8 @@ importers:
         specifier: ^0.460.0
         version: 0.460.0(react@19.0.0)
       next:
-        specifier: 15.1.7
-        version: 15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+        specifier: 15.2.0
+        version: 15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       next-themes:
         specifier: ^0.4.3
         version: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
@@ -177,7 +177,7 @@ importers:
         version: 5.4.0(react@19.0.0)
       react-monaco-editor:
         specifier: ^0.56.2
-        version: 0.56.2(@types/react@18.3.12)(monaco-editor@0.52.2)(react@19.0.0)
+        version: 0.56.2(@types/react@19.0.10)(monaco-editor@0.52.2)(react@19.0.0)
       react-text-transition:
         specifier: ^3.1.0
         version: 3.1.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
@@ -194,11 +194,11 @@ importers:
         specifier: ^6.0.1
         version: 6.0.1
       shiki:
-        specifier: ^2.3.2
-        version: 2.3.2
+        specifier: ^3.1.0
+        version: 3.1.0
       shiki-magic-move:
-        specifier: ^1.0.0
-        version: 1.0.0(react@19.0.0)(shiki@2.3.2)(svelte@5.19.10)(vue@3.5.13(typescript@5.7.2))
+        specifier: ^1.0.1
+        version: 1.0.1(react@19.0.0)(shiki@3.1.0)(svelte@5.19.10)(vue@3.5.13(typescript@5.7.3))
       swr:
         specifier: ^2.2.5
         version: 2.3.2(react@19.0.0)
@@ -207,7 +207,7 @@ importers:
         version: 2.6.0
       tailwindcss-animate:
         specifier: ^1.0.7
-        version: 1.0.7(tailwindcss@3.4.17)
+        version: 1.0.7(tailwindcss@4.0.9)
       tree-sitter:
         specifier: ^0.22.1
         version: 0.22.4
@@ -227,6 +227,9 @@ importers:
       '@next/env':
         specifier: ^15.0.3
         version: 15.1.7
+      '@tailwindcss/postcss':
+        specifier: ^4.0.9
+        version: 4.0.9
       '@types/mdx':
         specifier: ^2.0.13
         version: 2.0.13
@@ -234,14 +237,14 @@ importers:
         specifier: 22.9.0
         version: 22.9.0
       '@types/react':
-        specifier: ^18.3.12
-        version: 18.3.12
+        specifier: ^19.0.10
+        version: 19.0.10
       '@types/react-dom':
-        specifier: ^18.3.1
-        version: 18.3.1
+        specifier: ^19.0.4
+        version: 19.0.4(@types/react@19.0.10)
       autoprefixer:
         specifier: ^10.4.20
-        version: 10.4.20(postcss@8.5.2)
+        version: 10.4.20(postcss@8.5.3)
       cross-env:
         specifier: ^7.0.3
         version: 7.0.3
@@ -255,8 +258,8 @@ importers:
         specifier: ^7.1.0
         version: 7.1.0(monaco-editor@0.52.2)(webpack@5.97.1)
       postcss:
-        specifier: ^8.4.49
-        version: 8.5.2
+        specifier: ^8.5.3
+        version: 8.5.3
       raw-loader:
         specifier: ^4.0.2
         version: 4.0.2(webpack@5.97.1)
@@ -273,23 +276,23 @@ importers:
         specifier: ^11.0.0
         version: 11.0.0
       tailwindcss:
-        specifier: ^3.4.15
-        version: 3.4.17
+        specifier: ^4.0.9
+        version: 4.0.9
       tsx:
-        specifier: ^4.19.2
-        version: 4.19.2
+        specifier: ^4.19.3
+        version: 4.19.3
       typedoc:
         specifier: 0.27.4
-        version: 0.27.4(typescript@5.7.2)
+        version: 0.27.4(typescript@5.7.3)
       typedoc-plugin-markdown:
         specifier: ^4.3.1
-        version: 4.4.2(typedoc@0.27.4(typescript@5.7.2))
+        version: 4.4.2(typedoc@0.27.4(typescript@5.7.3))
       typedoc-plugin-merge-modules:
         specifier: ^6.1.0
-        version: 6.1.0(typedoc@0.27.4(typescript@5.7.2))
+        version: 6.1.0(typedoc@0.27.4(typescript@5.7.3))
       typescript:
-        specifier: ^5.7.2
-        version: 5.7.2
+        specifier: ^5.7.3
+        version: 5.7.3
 
   e2e:
     devDependencies:
@@ -345,8 +348,11 @@ importers:
         specifier: 0.2.0
         version: 0.2.0
       tsx:
-        specifier: ^4.19.0
-        version: 4.19.2
+        specifier: ^4.19.3
+        version: 4.19.3
+      zod:
+        specifier: ^3.24.2
+        version: 3.24.2
 
   e2e/examples/cloudflare-hono:
     dependencies:
@@ -358,8 +364,8 @@ importers:
         specifier: ^4.20241112.0
         version: 4.20250204.0
       typescript:
-        specifier: ^5.7.2
-        version: 5.7.2
+        specifier: ^5.7.3
+        version: 5.7.3
       wrangler:
         specifier: ^3.89.0
         version: 3.108.1(@cloudflare/workers-types@4.20250204.0)(bufferutil@4.0.9)
@@ -372,7 +378,7 @@ importers:
     devDependencies:
       '@cloudflare/vitest-pool-workers':
         specifier: ^0.5.28
-        version: 0.5.41(@cloudflare/workers-types@4.20250204.0)(@vitest/runner@2.1.5)(@vitest/snapshot@2.1.5)(bufferutil@4.0.9)(vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(terser@5.38.2))
+        version: 0.5.41(@cloudflare/workers-types@4.20250204.0)(@vitest/runner@2.1.5)(@vitest/snapshot@2.1.5)(bufferutil@4.0.9)(vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2))
       '@cloudflare/workers-types':
         specifier: ^4.20241112.0
         version: 4.20250204.0
@@ -383,11 +389,11 @@ importers:
         specifier: 2.1.5
         version: 2.1.5
       typescript:
-        specifier: ^5.7.2
-        version: 5.7.2
+        specifier: ^5.7.3
+        version: 5.7.3
       vitest:
         specifier: 2.1.5
-        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(terser@5.38.2)
+        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2)
       wrangler:
         specifier: ^3.87.0
         version: 3.108.1(@cloudflare/workers-types@4.20250204.0)(bufferutil@4.0.9)
@@ -399,14 +405,14 @@ importers:
         version: link:../../../packages/cloud
     devDependencies:
       typescript:
-        specifier: ^5.7.2
-        version: 5.7.2
+        specifier: ^5.7.3
+        version: 5.7.3
       vite:
         specifier: ^5.4.12
-        version: 5.4.14(@types/node@22.13.5)(terser@5.38.2)
+        version: 5.4.14(@types/node@22.13.5)(lightningcss@1.29.1)(terser@5.38.2)
       vite-plugin-wasm:
         specifier: ^3.3.0
-        version: 3.4.1(vite@5.4.14(@types/node@22.13.5)(terser@5.38.2))
+        version: 3.4.1(vite@5.4.14(@types/node@22.13.5)(lightningcss@1.29.1)(terser@5.38.2))
 
   e2e/examples/nextjs-agent:
     dependencies:
@@ -417,8 +423,8 @@ importers:
         specifier: workspace:*
         version: link:../../../packages/llamaindex
       next:
-        specifier: 15.1.7
-        version: 15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+        specifier: 15.2.0
+        version: 15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       react:
         specifier: 19.0.0
         version: 19.0.0
@@ -430,26 +436,20 @@ importers:
         specifier: ^22.9.0
         version: 22.9.0
       '@types/react':
-        specifier: ^18.3.12
-        version: 18.3.12
+        specifier: ^19.0.10
+        version: 19.0.10
       '@types/react-dom':
-        specifier: ^18.3.1
-        version: 18.3.1
+        specifier: ^19.0.4
+        version: 19.0.4(@types/react@19.0.10)
       eslint:
         specifier: 9.16.0
         version: 9.16.0(jiti@2.4.2)
       eslint-config-next:
         specifier: 15.1.0
-        version: 15.1.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)
-      postcss:
-        specifier: ^8.4.49
-        version: 8.5.2
-      tailwindcss:
-        specifier: ^3.4.15
-        version: 3.4.17
+        version: 15.1.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3)
       typescript:
-        specifier: ^5.7.2
-        version: 5.7.2
+        specifier: ^5.7.3
+        version: 5.7.3
 
   e2e/examples/nextjs-edge-runtime:
     dependencies:
@@ -457,27 +457,27 @@ importers:
         specifier: workspace:*
         version: link:../../../packages/llamaindex
       next:
-        specifier: 15.1.7
-        version: 15.1.7(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+        specifier: 15.2.0
+        version: 15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       react:
-        specifier: ^18.3.1
-        version: 18.3.1
+        specifier: ^19.0.0
+        version: 19.0.0
       react-dom:
-        specifier: ^18.3.1
-        version: 18.3.1(react@18.3.1)
+        specifier: ^19.0.0
+        version: 19.0.0(react@19.0.0)
     devDependencies:
       '@types/node':
         specifier: ^22.9.0
         version: 22.9.0
       '@types/react':
-        specifier: ^18.3.12
-        version: 18.3.12
+        specifier: ^19.0.10
+        version: 19.0.10
       '@types/react-dom':
-        specifier: ^18.3.1
-        version: 18.3.1
+        specifier: ^19.0.4
+        version: 19.0.4(@types/react@19.0.10)
       typescript:
-        specifier: ^5.7.2
-        version: 5.7.2
+        specifier: ^5.7.3
+        version: 5.7.3
 
   e2e/examples/nextjs-node-runtime:
     dependencies:
@@ -491,8 +491,8 @@ importers:
         specifier: workspace:*
         version: link:../../../packages/llamaindex
       next:
-        specifier: 15.1.7
-        version: 15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+        specifier: 15.2.0
+        version: 15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       react:
         specifier: 19.0.0
         version: 19.0.0
@@ -504,26 +504,20 @@ importers:
         specifier: ^22.9.0
         version: 22.9.0
       '@types/react':
-        specifier: ^18.3.12
-        version: 18.3.12
+        specifier: ^19.0.10
+        version: 19.0.10
       '@types/react-dom':
-        specifier: ^18.3.1
-        version: 18.3.1
+        specifier: ^19.0.4
+        version: 19.0.4(@types/react@19.0.10)
       eslint:
         specifier: 9.16.0
         version: 9.16.0(jiti@2.4.2)
       eslint-config-next:
         specifier: 15.1.0
-        version: 15.1.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)
-      postcss:
-        specifier: ^8.4.49
-        version: 8.5.2
-      tailwindcss:
-        specifier: ^3.4.15
-        version: 3.4.17
+        version: 15.1.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3)
       typescript:
-        specifier: ^5.7.2
-        version: 5.7.2
+        specifier: ^5.7.3
+        version: 5.7.3
 
   e2e/examples/vite-import-llamaindex:
     dependencies:
@@ -538,11 +532,11 @@ importers:
         specifier: ^11.1.6
         version: 11.1.6
       typescript:
-        specifier: ^5.7.2
-        version: 5.7.2
+        specifier: ^5.7.3
+        version: 5.7.3
       vite:
         specifier: ^6.1.0
-        version: 6.1.0(@types/node@22.13.5)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0)
+        version: 6.1.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.38.2)(tsx@4.19.3)(yaml@2.7.0)
 
   e2e/examples/waku-query-engine:
     dependencies:
@@ -563,23 +557,23 @@ importers:
         version: 19.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(webpack@5.97.1)
       waku:
         specifier: 0.21.20
-        version: 0.21.20(@swc/helpers@0.5.15)(@types/node@22.13.5)(jiti@2.4.2)(react-dom@19.0.0(react@19.0.0))(react-server-dom-webpack@19.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(webpack@5.97.1))(react@19.0.0)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0)
+        version: 0.21.20(@swc/helpers@0.5.15)(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.1)(react-dom@19.0.0(react@19.0.0))(react-server-dom-webpack@19.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(webpack@5.97.1))(react@19.0.0)(terser@5.38.2)(tsx@4.19.3)(yaml@2.7.0)
     devDependencies:
       '@types/react':
-        specifier: 18.3.12
-        version: 18.3.12
+        specifier: 19.0.10
+        version: 19.0.10
       '@types/react-dom':
-        specifier: 18.3.1
-        version: 18.3.1
+        specifier: 19.0.4
+        version: 19.0.4(@types/react@19.0.10)
       autoprefixer:
         specifier: ^10.4.20
-        version: 10.4.20(postcss@8.5.2)
+        version: 10.4.20(postcss@8.5.3)
       tailwindcss:
-        specifier: ^3.4.15
-        version: 3.4.17
+        specifier: ^4.0.9
+        version: 4.0.9
       typescript:
-        specifier: 5.7.2
-        version: 5.7.2
+        specifier: 5.7.3
+        version: 5.7.3
 
   examples:
     dependencies:
@@ -750,11 +744,11 @@ importers:
         specifier: ^22.9.0
         version: 22.9.0
       tsx:
-        specifier: ^4.19.0
-        version: 4.19.2
+        specifier: ^4.19.3
+        version: 4.19.3
       typescript:
-        specifier: ^5.7.2
-        version: 5.7.2
+        specifier: ^5.7.3
+        version: 5.7.3
 
   examples/readers:
     dependencies:
@@ -772,11 +766,11 @@ importers:
         specifier: ^22.9.0
         version: 22.9.0
       tsx:
-        specifier: ^4.19.0
-        version: 4.19.2
+        specifier: ^4.19.3
+        version: 4.19.3
       typescript:
-        specifier: ^5.7.2
-        version: 5.7.2
+        specifier: ^5.7.3
+        version: 5.7.3
 
   examples/vector-store/azure: {}
 
@@ -789,13 +783,13 @@ importers:
         version: 1.10.15(@swc/helpers@0.5.15)
       jotai:
         specifier: 2.10.2
-        version: 2.10.2(@types/react@18.3.12)(react@19.0.0)
+        version: 2.10.2(@types/react@19.0.10)(react@19.0.0)
       openai:
         specifier: ^4
         version: 4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2)
       typedoc:
         specifier: ^0.26.11
-        version: 0.26.11(typescript@5.7.2)
+        version: 0.26.11(typescript@5.7.3)
       unplugin:
         specifier: ^1.16.0
         version: 1.16.1
@@ -811,25 +805,25 @@ importers:
         version: 22.9.0
       bunchee:
         specifier: 6.3.4
-        version: 6.3.4(patch_hash=pavboztthlgni7m5gzw7643oru)(typescript@5.7.2)
+        version: 6.3.4(patch_hash=pavboztthlgni7m5gzw7643oru)(typescript@5.7.3)
       llamaindex:
         specifier: workspace:*
         version: link:../llamaindex
       next:
-        specifier: 15.1.7
-        version: 15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+        specifier: 15.2.0
+        version: 15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       rollup:
         specifier: ^4.28.1
         version: 4.34.6
       tsx:
-        specifier: ^4.19.0
-        version: 4.19.2
+        specifier: ^4.19.3
+        version: 4.19.3
       typescript:
-        specifier: ^5.7.2
-        version: 5.7.2
+        specifier: ^5.7.3
+        version: 5.7.3
       vitest:
         specifier: ^2.1.5
-        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.2))(terser@5.38.2)
+        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(terser@5.38.2)
       webpack:
         specifier: ^5.97.1
         version: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))
@@ -847,81 +841,8 @@ importers:
         version: 4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2)
     devDependencies:
       tsx:
-        specifier: ^4.19.0
-        version: 4.19.2
-
-  packages/autotool/examples/02_nextjs:
-    dependencies:
-      '@llamaindex/autotool':
-        specifier: workspace:*
-        version: link:../..
-      '@radix-ui/react-slot':
-        specifier: ^1.1.0
-        version: 1.1.2(@types/react@18.3.12)(react@18.3.1)
-      ai:
-        specifier: ^4.0.0
-        version: 4.1.34(react@18.3.1)(zod@3.24.2)
-      class-variance-authority:
-        specifier: ^0.7.0
-        version: 0.7.1
-      dotenv:
-        specifier: ^16.3.1
-        version: 16.4.7
-      llamaindex:
-        specifier: workspace:*
-        version: link:../../../llamaindex
-      lucide-react:
-        specifier: ^0.460.0
-        version: 0.460.0(react@18.3.1)
-      next:
-        specifier: 15.1.7
-        version: 15.1.7(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
-      react:
-        specifier: ^18.3.1
-        version: 18.3.1
-      react-dom:
-        specifier: ^18.3.1
-        version: 18.3.1(react@18.3.1)
-      react-markdown:
-        specifier: ^9.0.1
-        version: 9.0.3(@types/react@18.3.12)(react@18.3.1)
-      react-syntax-highlighter:
-        specifier: ^15.5.0
-        version: 15.6.1(react@18.3.1)
-      sonner:
-        specifier: ^1.7.0
-        version: 1.7.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
-      tailwind-merge:
-        specifier: ^2.5.2
-        version: 2.6.0
-    devDependencies:
-      '@types/node':
-        specifier: ^22.9.0
-        version: 22.9.0
-      '@types/react':
-        specifier: ^18.3.12
-        version: 18.3.12
-      '@types/react-dom':
-        specifier: ^18.3.1
-        version: 18.3.1
-      '@types/react-syntax-highlighter':
-        specifier: ^15.5.11
-        version: 15.5.13
-      autoprefixer:
-        specifier: ^10.4.20
-        version: 10.4.20(postcss@8.5.2)
-      cross-env:
-        specifier: ^7.0.3
-        version: 7.0.3
-      postcss:
-        specifier: ^8.4.49
-        version: 8.5.2
-      tailwindcss:
-        specifier: ^3.4.15
-        version: 3.4.17
-      typescript:
-        specifier: ^5.7.2
-        version: 5.7.2
+        specifier: ^4.19.3
+        version: 4.19.3
 
   packages/cloud:
     devDependencies:
@@ -1004,7 +925,7 @@ importers:
         version: link:..
       vitest:
         specifier: ^2.1.5
-        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2)
+        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2)
 
   packages/env:
     dependencies:
@@ -1035,7 +956,7 @@ importers:
         version: 6.3.4(patch_hash=pavboztthlgni7m5gzw7643oru)(typescript@5.7.3)
       vitest:
         specifier: ^2.1.5
-        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(terser@5.38.2)
+        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(terser@5.38.2)
 
   packages/experimental:
     dependencies:
@@ -1097,6 +1018,9 @@ importers:
       ajv:
         specifier: ^8.17.1
         version: 8.17.1
+      gpt-tokenizer:
+        specifier: ^2.6.2
+        version: 2.8.1
       lodash:
         specifier: ^4.17.21
         version: 4.17.21
@@ -1117,8 +1041,8 @@ importers:
         specifier: ^11.0.0
         version: 11.0.1
       typescript:
-        specifier: ^5.7.2
-        version: 5.7.2
+        specifier: ^5.7.3
+        version: 5.7.3
 
   packages/llamaindex/tests:
     devDependencies:
@@ -1127,7 +1051,7 @@ importers:
         version: link:..
       vitest:
         specifier: ^2.1.5
-        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2)
+        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2)
 
   packages/node-parser:
     dependencies:
@@ -1177,7 +1101,7 @@ importers:
         version: 6.3.4(patch_hash=pavboztthlgni7m5gzw7643oru)(typescript@5.7.3)
       vitest:
         specifier: ^2.1.5
-        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2)
+        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2)
 
   packages/providers/clip:
     dependencies:
@@ -1482,7 +1406,7 @@ importers:
         version: 16.4.7
       vitest:
         specifier: ^2.1.5
-        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(terser@5.38.2)
+        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(terser@5.38.2)
 
   packages/providers/storage/chroma:
     dependencies:
@@ -1542,7 +1466,7 @@ importers:
         version: 6.3.4(patch_hash=pavboztthlgni7m5gzw7643oru)(typescript@5.7.3)
       vitest:
         specifier: ^2.1.5
-        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2)
+        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2)
 
   packages/providers/storage/mongodb:
     dependencies:
@@ -1627,7 +1551,7 @@ importers:
         version: 6.3.4(patch_hash=pavboztthlgni7m5gzw7643oru)(typescript@5.7.3)
       vitest:
         specifier: ^2.1.5
-        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2)
+        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2)
 
   packages/providers/storage/upstash:
     dependencies:
@@ -1790,8 +1714,8 @@ importers:
         specifier: ^0.27.31
         version: 0.27.34
       typescript:
-        specifier: ^5.7.2
-        version: 5.7.2
+        specifier: ^5.7.3
+        version: 5.7.3
 
   packages/workflow:
     dependencies:
@@ -1836,11 +1760,11 @@ importers:
         specifier: workspace:*
         version: link:../packages/llamaindex
       react:
-        specifier: ^18.3.1
-        version: 18.3.1
+        specifier: ^19.0.0
+        version: 19.0.0
       react-dom:
-        specifier: ^18.3.1
-        version: 18.3.1(react@18.3.1)
+        specifier: ^19.0.0
+        version: 19.0.0(react@19.0.0)
       tree-sitter:
         specifier: ^0.22.1
         version: 0.22.4
@@ -1861,17 +1785,17 @@ importers:
         specifier: ^9.2.0
         version: 9.4.0
       '@types/react':
-        specifier: ^18.3.12
-        version: 18.3.12
+        specifier: ^19.0.10
+        version: 19.0.10
       '@types/react-dom':
-        specifier: ^18.3.1
-        version: 18.3.1
+        specifier: ^19.0.4
+        version: 19.0.4(@types/react@19.0.10)
       msw:
         specifier: ^2.6.5
         version: 2.7.0(@types/node@22.13.5)(typescript@5.7.3)
       vitest:
         specifier: ^2.1.5
-        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2)
+        version: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2)
 
 packages:
 
@@ -1987,8 +1911,8 @@ packages:
   '@anthropic-ai/sdk@0.37.0':
     resolution: {integrity: sha512-tHjX2YbkUBwEgg0JZU3EFSSAQPoK4qQR/NFYa8Vtzd5UAyXzZksCw2In69Rml4R/TyHPBfRYaLK35XiOe33pjw==}
 
-  '@apidevtools/json-schema-ref-parser@11.9.1':
-    resolution: {integrity: sha512-OvyhwtYaWSTfo8NfibmFlgl+pIMaBOmN0OwZ3CPaGscEK3B8FCVDuQ7zgxY8seU/1kfSvNWnyB0DtKJyNLxX7g==}
+  '@apidevtools/json-schema-ref-parser@11.9.3':
+    resolution: {integrity: sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==}
     engines: {node: '>= 16'}
 
   '@assemblyscript/loader@0.27.34':
@@ -2277,6 +2201,10 @@ packages:
     resolution: {integrity: sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==}
     engines: {node: '>=6.9.0'}
 
+  '@babel/runtime@7.26.9':
+    resolution: {integrity: sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==}
+    engines: {node: '>=6.9.0'}
+
   '@babel/template@7.26.8':
     resolution: {integrity: sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==}
     engines: {node: '>=6.9.0'}
@@ -2528,14 +2456,14 @@ packages:
     cpu: [ppc64]
     os: [aix]
 
-  '@esbuild/aix-ppc64@0.23.1':
-    resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==}
+  '@esbuild/aix-ppc64@0.24.2':
+    resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==}
     engines: {node: '>=18'}
     cpu: [ppc64]
     os: [aix]
 
-  '@esbuild/aix-ppc64@0.24.2':
-    resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==}
+  '@esbuild/aix-ppc64@0.25.0':
+    resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==}
     engines: {node: '>=18'}
     cpu: [ppc64]
     os: [aix]
@@ -2552,14 +2480,14 @@ packages:
     cpu: [arm64]
     os: [android]
 
-  '@esbuild/android-arm64@0.23.1':
-    resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==}
+  '@esbuild/android-arm64@0.24.2':
+    resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [android]
 
-  '@esbuild/android-arm64@0.24.2':
-    resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==}
+  '@esbuild/android-arm64@0.25.0':
+    resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [android]
@@ -2576,14 +2504,14 @@ packages:
     cpu: [arm]
     os: [android]
 
-  '@esbuild/android-arm@0.23.1':
-    resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==}
+  '@esbuild/android-arm@0.24.2':
+    resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==}
     engines: {node: '>=18'}
     cpu: [arm]
     os: [android]
 
-  '@esbuild/android-arm@0.24.2':
-    resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==}
+  '@esbuild/android-arm@0.25.0':
+    resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==}
     engines: {node: '>=18'}
     cpu: [arm]
     os: [android]
@@ -2600,14 +2528,14 @@ packages:
     cpu: [x64]
     os: [android]
 
-  '@esbuild/android-x64@0.23.1':
-    resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==}
+  '@esbuild/android-x64@0.24.2':
+    resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [android]
 
-  '@esbuild/android-x64@0.24.2':
-    resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==}
+  '@esbuild/android-x64@0.25.0':
+    resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [android]
@@ -2624,14 +2552,14 @@ packages:
     cpu: [arm64]
     os: [darwin]
 
-  '@esbuild/darwin-arm64@0.23.1':
-    resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==}
+  '@esbuild/darwin-arm64@0.24.2':
+    resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [darwin]
 
-  '@esbuild/darwin-arm64@0.24.2':
-    resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==}
+  '@esbuild/darwin-arm64@0.25.0':
+    resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [darwin]
@@ -2648,14 +2576,14 @@ packages:
     cpu: [x64]
     os: [darwin]
 
-  '@esbuild/darwin-x64@0.23.1':
-    resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==}
+  '@esbuild/darwin-x64@0.24.2':
+    resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [darwin]
 
-  '@esbuild/darwin-x64@0.24.2':
-    resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==}
+  '@esbuild/darwin-x64@0.25.0':
+    resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [darwin]
@@ -2672,14 +2600,14 @@ packages:
     cpu: [arm64]
     os: [freebsd]
 
-  '@esbuild/freebsd-arm64@0.23.1':
-    resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==}
+  '@esbuild/freebsd-arm64@0.24.2':
+    resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [freebsd]
 
-  '@esbuild/freebsd-arm64@0.24.2':
-    resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==}
+  '@esbuild/freebsd-arm64@0.25.0':
+    resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [freebsd]
@@ -2696,14 +2624,14 @@ packages:
     cpu: [x64]
     os: [freebsd]
 
-  '@esbuild/freebsd-x64@0.23.1':
-    resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==}
+  '@esbuild/freebsd-x64@0.24.2':
+    resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [freebsd]
 
-  '@esbuild/freebsd-x64@0.24.2':
-    resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==}
+  '@esbuild/freebsd-x64@0.25.0':
+    resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [freebsd]
@@ -2720,14 +2648,14 @@ packages:
     cpu: [arm64]
     os: [linux]
 
-  '@esbuild/linux-arm64@0.23.1':
-    resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==}
+  '@esbuild/linux-arm64@0.24.2':
+    resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [linux]
 
-  '@esbuild/linux-arm64@0.24.2':
-    resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==}
+  '@esbuild/linux-arm64@0.25.0':
+    resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [linux]
@@ -2744,14 +2672,14 @@ packages:
     cpu: [arm]
     os: [linux]
 
-  '@esbuild/linux-arm@0.23.1':
-    resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==}
+  '@esbuild/linux-arm@0.24.2':
+    resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==}
     engines: {node: '>=18'}
     cpu: [arm]
     os: [linux]
 
-  '@esbuild/linux-arm@0.24.2':
-    resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==}
+  '@esbuild/linux-arm@0.25.0':
+    resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==}
     engines: {node: '>=18'}
     cpu: [arm]
     os: [linux]
@@ -2768,14 +2696,14 @@ packages:
     cpu: [ia32]
     os: [linux]
 
-  '@esbuild/linux-ia32@0.23.1':
-    resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==}
+  '@esbuild/linux-ia32@0.24.2':
+    resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==}
     engines: {node: '>=18'}
     cpu: [ia32]
     os: [linux]
 
-  '@esbuild/linux-ia32@0.24.2':
-    resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==}
+  '@esbuild/linux-ia32@0.25.0':
+    resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==}
     engines: {node: '>=18'}
     cpu: [ia32]
     os: [linux]
@@ -2792,14 +2720,14 @@ packages:
     cpu: [loong64]
     os: [linux]
 
-  '@esbuild/linux-loong64@0.23.1':
-    resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==}
+  '@esbuild/linux-loong64@0.24.2':
+    resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==}
     engines: {node: '>=18'}
     cpu: [loong64]
     os: [linux]
 
-  '@esbuild/linux-loong64@0.24.2':
-    resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==}
+  '@esbuild/linux-loong64@0.25.0':
+    resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==}
     engines: {node: '>=18'}
     cpu: [loong64]
     os: [linux]
@@ -2816,14 +2744,14 @@ packages:
     cpu: [mips64el]
     os: [linux]
 
-  '@esbuild/linux-mips64el@0.23.1':
-    resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==}
+  '@esbuild/linux-mips64el@0.24.2':
+    resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==}
     engines: {node: '>=18'}
     cpu: [mips64el]
     os: [linux]
 
-  '@esbuild/linux-mips64el@0.24.2':
-    resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==}
+  '@esbuild/linux-mips64el@0.25.0':
+    resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==}
     engines: {node: '>=18'}
     cpu: [mips64el]
     os: [linux]
@@ -2840,14 +2768,14 @@ packages:
     cpu: [ppc64]
     os: [linux]
 
-  '@esbuild/linux-ppc64@0.23.1':
-    resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==}
+  '@esbuild/linux-ppc64@0.24.2':
+    resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==}
     engines: {node: '>=18'}
     cpu: [ppc64]
     os: [linux]
 
-  '@esbuild/linux-ppc64@0.24.2':
-    resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==}
+  '@esbuild/linux-ppc64@0.25.0':
+    resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==}
     engines: {node: '>=18'}
     cpu: [ppc64]
     os: [linux]
@@ -2864,14 +2792,14 @@ packages:
     cpu: [riscv64]
     os: [linux]
 
-  '@esbuild/linux-riscv64@0.23.1':
-    resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==}
+  '@esbuild/linux-riscv64@0.24.2':
+    resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==}
     engines: {node: '>=18'}
     cpu: [riscv64]
     os: [linux]
 
-  '@esbuild/linux-riscv64@0.24.2':
-    resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==}
+  '@esbuild/linux-riscv64@0.25.0':
+    resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==}
     engines: {node: '>=18'}
     cpu: [riscv64]
     os: [linux]
@@ -2888,14 +2816,14 @@ packages:
     cpu: [s390x]
     os: [linux]
 
-  '@esbuild/linux-s390x@0.23.1':
-    resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==}
+  '@esbuild/linux-s390x@0.24.2':
+    resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==}
     engines: {node: '>=18'}
     cpu: [s390x]
     os: [linux]
 
-  '@esbuild/linux-s390x@0.24.2':
-    resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==}
+  '@esbuild/linux-s390x@0.25.0':
+    resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==}
     engines: {node: '>=18'}
     cpu: [s390x]
     os: [linux]
@@ -2912,14 +2840,14 @@ packages:
     cpu: [x64]
     os: [linux]
 
-  '@esbuild/linux-x64@0.23.1':
-    resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==}
+  '@esbuild/linux-x64@0.24.2':
+    resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [linux]
 
-  '@esbuild/linux-x64@0.24.2':
-    resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==}
+  '@esbuild/linux-x64@0.25.0':
+    resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [linux]
@@ -2930,6 +2858,12 @@ packages:
     cpu: [arm64]
     os: [netbsd]
 
+  '@esbuild/netbsd-arm64@0.25.0':
+    resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==}
+    engines: {node: '>=18'}
+    cpu: [arm64]
+    os: [netbsd]
+
   '@esbuild/netbsd-x64@0.17.19':
     resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==}
     engines: {node: '>=12'}
@@ -2942,26 +2876,26 @@ packages:
     cpu: [x64]
     os: [netbsd]
 
-  '@esbuild/netbsd-x64@0.23.1':
-    resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==}
+  '@esbuild/netbsd-x64@0.24.2':
+    resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [netbsd]
 
-  '@esbuild/netbsd-x64@0.24.2':
-    resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==}
+  '@esbuild/netbsd-x64@0.25.0':
+    resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [netbsd]
 
-  '@esbuild/openbsd-arm64@0.23.1':
-    resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==}
+  '@esbuild/openbsd-arm64@0.24.2':
+    resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [openbsd]
 
-  '@esbuild/openbsd-arm64@0.24.2':
-    resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==}
+  '@esbuild/openbsd-arm64@0.25.0':
+    resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [openbsd]
@@ -2978,14 +2912,14 @@ packages:
     cpu: [x64]
     os: [openbsd]
 
-  '@esbuild/openbsd-x64@0.23.1':
-    resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==}
+  '@esbuild/openbsd-x64@0.24.2':
+    resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [openbsd]
 
-  '@esbuild/openbsd-x64@0.24.2':
-    resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==}
+  '@esbuild/openbsd-x64@0.25.0':
+    resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [openbsd]
@@ -3002,14 +2936,14 @@ packages:
     cpu: [x64]
     os: [sunos]
 
-  '@esbuild/sunos-x64@0.23.1':
-    resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==}
+  '@esbuild/sunos-x64@0.24.2':
+    resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [sunos]
 
-  '@esbuild/sunos-x64@0.24.2':
-    resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==}
+  '@esbuild/sunos-x64@0.25.0':
+    resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [sunos]
@@ -3026,14 +2960,14 @@ packages:
     cpu: [arm64]
     os: [win32]
 
-  '@esbuild/win32-arm64@0.23.1':
-    resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==}
+  '@esbuild/win32-arm64@0.24.2':
+    resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [win32]
 
-  '@esbuild/win32-arm64@0.24.2':
-    resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==}
+  '@esbuild/win32-arm64@0.25.0':
+    resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [win32]
@@ -3050,14 +2984,14 @@ packages:
     cpu: [ia32]
     os: [win32]
 
-  '@esbuild/win32-ia32@0.23.1':
-    resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==}
+  '@esbuild/win32-ia32@0.24.2':
+    resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==}
     engines: {node: '>=18'}
     cpu: [ia32]
     os: [win32]
 
-  '@esbuild/win32-ia32@0.24.2':
-    resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==}
+  '@esbuild/win32-ia32@0.25.0':
+    resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==}
     engines: {node: '>=18'}
     cpu: [ia32]
     os: [win32]
@@ -3074,14 +3008,14 @@ packages:
     cpu: [x64]
     os: [win32]
 
-  '@esbuild/win32-x64@0.23.1':
-    resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==}
+  '@esbuild/win32-x64@0.24.2':
+    resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [win32]
 
-  '@esbuild/win32-x64@0.24.2':
-    resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==}
+  '@esbuild/win32-x64@0.25.0':
+    resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [win32]
@@ -3100,10 +3034,18 @@ packages:
     resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
+  '@eslint/config-helpers@0.1.0':
+    resolution: {integrity: sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
   '@eslint/core@0.10.0':
     resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
+  '@eslint/core@0.12.0':
+    resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
   '@eslint/core@0.9.1':
     resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -3112,10 +3054,18 @@ packages:
     resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
+  '@eslint/eslintrc@3.3.0':
+    resolution: {integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
   '@eslint/js@9.16.0':
     resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
+  '@eslint/js@9.22.0':
+    resolution: {integrity: sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
   '@eslint/object-schema@2.1.6':
     resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -3124,6 +3074,10 @@ packages:
     resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
+  '@eslint/plugin-kit@0.2.7':
+    resolution: {integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
   '@faker-js/faker@9.4.0':
     resolution: {integrity: sha512-85+k0AxaZSTowL0gXp8zYWDIrWclTbRPg/pm/V0dSFZ6W6D4lhcG3uuZl4zLsEKfEvs69xDbLN2cHQudwp95JA==}
     engines: {node: '>=18.0.0', npm: '>=9.0.0'}
@@ -3153,8 +3107,8 @@ packages:
   '@floating-ui/vue@1.1.6':
     resolution: {integrity: sha512-XFlUzGHGv12zbgHNk5FN2mUB7ROul3oG2ENdTpWdE+qMFxyNxWSRmsoyhiEnpmabNm6WnUvR1OvJfUfN4ojC1A==}
 
-  '@formatjs/intl-localematcher@0.5.10':
-    resolution: {integrity: sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==}
+  '@formatjs/intl-localematcher@0.6.0':
+    resolution: {integrity: sha512-4rB4g+3hESy1bHSBG3tDFaMY2CH67iT7yne1e+0CLTsGLDcmoEWWpJjjpWVaYgYfYuohIRuo0E+N536gd2ZHZA==}
 
   '@fumari/json-schema-to-typescript@1.1.2':
     resolution: {integrity: sha512-OTWBpcRHnMcev652Dcl6xh2SFdTgiZzI9p4iI+pQI06LPOJKHBCVXQEBdOYlczPDQfOxwcNd3QGYeIAnOA0j2g==}
@@ -3259,6 +3213,10 @@ packages:
     resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==}
     engines: {node: '>=18.18'}
 
+  '@humanwhocodes/retry@0.4.2':
+    resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==}
+    engines: {node: '>=18.18'}
+
   '@hyperjump/browser@1.2.0':
     resolution: {integrity: sha512-xv7u4Ddbhnd9a4yi8V0bNYQrimL0SuBW2T+l4eSEKedxhIBVqxuZ6Vulm6+rPtcvg79LyhWxH4fB/J056qaSMQ==}
     engines: {node: '>=18.0.0'}
@@ -3489,13 +3447,13 @@ packages:
   '@lezer/yaml@1.0.3':
     resolution: {integrity: sha512-GuBLekbw9jDBDhGur82nuwkxKQ+a3W5H0GfaAthDXcAu+XdpS43VlnxA9E9hllkpSP5ellRDKjLLj7Lu9Wr6xA==}
 
-  '@llamaindex/chat-ui@0.0.9':
-    resolution: {integrity: sha512-jVpawi03LSjOv+aiUmbxO8cZeQPSV4hkM7dEyFUsls+ggDvXG/MpZ4T0u6Fvu2wXe8SCd3qW5DiLgIrX3h9NkA==}
+  '@llamaindex/chat-ui@0.2.0':
+    resolution: {integrity: sha512-9U5+9l2UVBaOG8fSuMjnere5R2QSNxCEcixMwBgt4L4b0evo8jU4ZzlSxLPunWfpn1PWFVMUwKLlSSwa1qTTyA==}
     peerDependencies:
       react: ^18.2.0 || ^19.0.0 || ^19.0.0-rc
 
-  '@llamaindex/pdf-viewer@1.2.0':
-    resolution: {integrity: sha512-GBn944h8UfuHLlNl2+C4GENY5Q5bMLRDnAyfCotkSoN3DBO0j9Ih1rnahRxC/m8qooN2SkPLnIJL69PxjZWr1Q==}
+  '@llamaindex/pdf-viewer@1.3.0':
+    resolution: {integrity: sha512-HJtjzmxn+erb3Vq89W5atPq0q6uyZMMCgzOnmstxudzaHW/Yj1dp1ojCuBh/wlP1tUnIRoe9RmvC0ahmqSwRUA==}
     peerDependencies:
       '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
       react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -3641,53 +3599,56 @@ packages:
   '@next/env@15.1.7':
     resolution: {integrity: sha512-d9jnRrkuOH7Mhi+LHav2XW91HOgTAWHxjMPkXMGBc9B2b7614P7kjt8tAplRvJpbSt4nbO1lugcT/kAaWzjlLQ==}
 
+  '@next/env@15.2.0':
+    resolution: {integrity: sha512-eMgJu1RBXxxqqnuRJQh5RozhskoNUDHBFybvi+Z+yK9qzKeG7dadhv/Vp1YooSZmCnegf7JxWuapV77necLZNA==}
+
   '@next/eslint-plugin-next@15.1.0':
     resolution: {integrity: sha512-+jPT0h+nelBT6HC9ZCHGc7DgGVy04cv4shYdAe6tKlEbjQUtwU3LzQhzbDHQyY2m6g39m6B0kOFVuLGBrxxbGg==}
 
-  '@next/swc-darwin-arm64@15.1.7':
-    resolution: {integrity: sha512-hPFwzPJDpA8FGj7IKV3Yf1web3oz2YsR8du4amKw8d+jAOHfYHYFpMkoF6vgSY4W6vB29RtZEklK9ayinGiCmQ==}
+  '@next/swc-darwin-arm64@15.2.0':
+    resolution: {integrity: sha512-rlp22GZwNJjFCyL7h5wz9vtpBVuCt3ZYjFWpEPBGzG712/uL1bbSkS675rVAUCRZ4hjoTJ26Q7IKhr5DfJrHDA==}
     engines: {node: '>= 10'}
     cpu: [arm64]
     os: [darwin]
 
-  '@next/swc-darwin-x64@15.1.7':
-    resolution: {integrity: sha512-2qoas+fO3OQKkU0PBUfwTiw/EYpN+kdAx62cePRyY1LqKtP09Vp5UcUntfZYajop5fDFTjSxCHfZVRxzi+9FYQ==}
+  '@next/swc-darwin-x64@15.2.0':
+    resolution: {integrity: sha512-DiU85EqSHogCz80+sgsx90/ecygfCSGl5P3b4XDRVZpgujBm5lp4ts7YaHru7eVTyZMjHInzKr+w0/7+qDrvMA==}
     engines: {node: '>= 10'}
     cpu: [x64]
     os: [darwin]
 
-  '@next/swc-linux-arm64-gnu@15.1.7':
-    resolution: {integrity: sha512-sKLLwDX709mPdzxMnRIXLIT9zaX2w0GUlkLYQnKGoXeWUhcvpCrK+yevcwCJPdTdxZEUA0mOXGLdPsGkudGdnA==}
+  '@next/swc-linux-arm64-gnu@15.2.0':
+    resolution: {integrity: sha512-VnpoMaGukiNWVxeqKHwi8MN47yKGyki5q+7ql/7p/3ifuU2341i/gDwGK1rivk0pVYbdv5D8z63uu9yMw0QhpQ==}
     engines: {node: '>= 10'}
     cpu: [arm64]
     os: [linux]
 
-  '@next/swc-linux-arm64-musl@15.1.7':
-    resolution: {integrity: sha512-zblK1OQbQWdC8fxdX4fpsHDw+VSpBPGEUX4PhSE9hkaWPrWoeIJn+baX53vbsbDRaDKd7bBNcXRovY1hEhFd7w==}
+  '@next/swc-linux-arm64-musl@15.2.0':
+    resolution: {integrity: sha512-ka97/ssYE5nPH4Qs+8bd8RlYeNeUVBhcnsNUmFM6VWEob4jfN9FTr0NBhXVi1XEJpj3cMfgSRW+LdE3SUZbPrw==}
     engines: {node: '>= 10'}
     cpu: [arm64]
     os: [linux]
 
-  '@next/swc-linux-x64-gnu@15.1.7':
-    resolution: {integrity: sha512-GOzXutxuLvLHFDAPsMP2zDBMl1vfUHHpdNpFGhxu90jEzH6nNIgmtw/s1MDwpTOiM+MT5V8+I1hmVFeAUhkbgQ==}
+  '@next/swc-linux-x64-gnu@15.2.0':
+    resolution: {integrity: sha512-zY1JduE4B3q0k2ZCE+DAF/1efjTXUsKP+VXRtrt/rJCTgDlUyyryx7aOgYXNc1d8gobys/Lof9P9ze8IyRDn7Q==}
     engines: {node: '>= 10'}
     cpu: [x64]
     os: [linux]
 
-  '@next/swc-linux-x64-musl@15.1.7':
-    resolution: {integrity: sha512-WrZ7jBhR7ATW1z5iEQ0ZJfE2twCNSXbpCSaAunF3BKcVeHFADSI/AW1y5Xt3DzTqPF1FzQlwQTewqetAABhZRQ==}
+  '@next/swc-linux-x64-musl@15.2.0':
+    resolution: {integrity: sha512-QqvLZpurBD46RhaVaVBepkVQzh8xtlUN00RlG4Iq1sBheNugamUNPuZEH1r9X1YGQo1KqAe1iiShF0acva3jHQ==}
     engines: {node: '>= 10'}
     cpu: [x64]
     os: [linux]
 
-  '@next/swc-win32-arm64-msvc@15.1.7':
-    resolution: {integrity: sha512-LDnj1f3OVbou1BqvvXVqouJZKcwq++mV2F+oFHptToZtScIEnhNRJAhJzqAtTE2dB31qDYL45xJwrc+bLeKM2Q==}
+  '@next/swc-win32-arm64-msvc@15.2.0':
+    resolution: {integrity: sha512-ODZ0r9WMyylTHAN6pLtvUtQlGXBL9voljv6ujSlcsjOxhtXPI1Ag6AhZK0SE8hEpR1374WZZ5w33ChpJd5fsjw==}
     engines: {node: '>= 10'}
     cpu: [arm64]
     os: [win32]
 
-  '@next/swc-win32-x64-msvc@15.1.7':
-    resolution: {integrity: sha512-dC01f1quuf97viOfW05/K8XYv2iuBgAxJZl7mbCKEjMgdQl5JjAKJ0D2qMKZCgPWDeFbFT0Q0nYWwytEW0DWTQ==}
+  '@next/swc-win32-x64-msvc@15.2.0':
+    resolution: {integrity: sha512-8+4Z3Z7xa13NdUuUAcpVNA6o76lNPniBd9Xbo02bwXQXnZgFvEopwY2at5+z7yHl47X9qbZpvwatZ2BRo3EdZw==}
     engines: {node: '>= 10'}
     cpu: [x64]
     os: [win32]
@@ -3731,47 +3692,47 @@ packages:
     resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==}
     engines: {node: '>=8.0.0'}
 
-  '@orama/orama@2.1.1':
-    resolution: {integrity: sha512-euTV/2kya290SNkl5m8e/H1na8iDygk74nNtl4E0YZNyYIrEMwE1JwamoroMKGZw2Uz+in/8gH3m1+2YfP0j1w==}
+  '@orama/orama@3.1.1':
+    resolution: {integrity: sha512-w60E72VyWk4QeGy5j0Nm6z4BYVu2MMgtXi8dE/kVluxvz1JVtU9fPXKUW6E0bfrpN+LQM/2w5Jq5v6stl+V0dQ==}
     engines: {node: '>= 16.0.0'}
 
-  '@oxc-transform/binding-darwin-arm64@0.48.2':
-    resolution: {integrity: sha512-JzctV+H6IDl+vwTlY/7+2JMqb+94HUHfgHii+hMUM76XNaLAOyKxn3Be26t/FgrscoIR+bO6kMYL/T0sDkP7fA==}
+  '@oxc-transform/binding-darwin-arm64@0.53.0':
+    resolution: {integrity: sha512-QG1djnqQ+EywamRwFMRYogmbF4aL+Fmw/tDKuZ4cpWpOBPaxgTNryfYS1WwCARlZLmLzDEZr0YkYSQ7Rmjyf1Q==}
     cpu: [arm64]
     os: [darwin]
 
-  '@oxc-transform/binding-darwin-x64@0.48.2':
-    resolution: {integrity: sha512-4yen3cHv/AUMb/mmDkrZXTxsFthqdzWbBb39hQgUNK81/AkFS3t+yrg7BBz1zdXunT6iJh/WQDp2ULWEV7Caiw==}
+  '@oxc-transform/binding-darwin-x64@0.53.0':
+    resolution: {integrity: sha512-rc6wBTnmeK/ZiENI7QvZBmrgFArAkO8cBpiKrYuov3+DqSbOLotoaYqXxxdjoiJ/EhPl9MBd9146uM99OKQYIA==}
     cpu: [x64]
     os: [darwin]
 
-  '@oxc-transform/binding-linux-arm64-gnu@0.48.2':
-    resolution: {integrity: sha512-LH5+AVb16tNDfkFbG9+aXjfGJTKmPjhIwl5ENHVAN5XlAz2w4rTp9873oo909G6uZWsdOtjxGpG3qzneXg6Aaw==}
+  '@oxc-transform/binding-linux-arm64-gnu@0.53.0':
+    resolution: {integrity: sha512-BgY+h7bQsGP6lsQe4s7stz6SpbfijhiZGx/lPoTYn9wkLonqBVk2bGkPkyZvzd3Sr8aw2taOE6ycb146scyniQ==}
     cpu: [arm64]
     os: [linux]
 
-  '@oxc-transform/binding-linux-arm64-musl@0.48.2':
-    resolution: {integrity: sha512-jAP77atjtsfPfRtPhCcsDY3nLXy4oEVIsiuioBDWKuerAGwDPL6Q5GBhFXNH+yN2Yi5lZMgATM/4OGn9dVGM8A==}
+  '@oxc-transform/binding-linux-arm64-musl@0.53.0':
+    resolution: {integrity: sha512-4AnomoFIEqS442s9KJbZRqo+dR9sM0es9YY9eFh+53btN9aKHW+u08Yvesb4k9nmwB5qDZbfqP8H+SsHyixFlg==}
     cpu: [arm64]
     os: [linux]
 
-  '@oxc-transform/binding-linux-x64-gnu@0.48.2':
-    resolution: {integrity: sha512-qx+xL9FZzSSdYZRzZbvQtqWPaQkDmaHU/EScAiVrELwuDp7Dinn8YmMmYV52iaZvVs2+blMLCOG8xaqIjJIfBA==}
+  '@oxc-transform/binding-linux-x64-gnu@0.53.0':
+    resolution: {integrity: sha512-iWFm/ZNEYF5IKN3/gcYaMJUI1yc5iJ2vQ9fVxYAFT6GglnBqXXxqwazlL5QkiAwDOzVwDUctAIZWgxse1vTm2A==}
     cpu: [x64]
     os: [linux]
 
-  '@oxc-transform/binding-linux-x64-musl@0.48.2':
-    resolution: {integrity: sha512-auPVLE2WXWNwjVsQBbN8pX1HDJtUeD4BNkI2byI9LSGpu7kmY9+GGxU5/3INmXNnaMuWTlBiuEKDIUVr9Znt7A==}
+  '@oxc-transform/binding-linux-x64-musl@0.53.0':
+    resolution: {integrity: sha512-fM9tdlBPY55T1s+qdg6NwDLaygXkvxKLfIqojw/pM+pErfnTJXa3MYWIDWEXHv3RcEypjaEMMo3BIe7E2jBDdg==}
     cpu: [x64]
     os: [linux]
 
-  '@oxc-transform/binding-win32-arm64-msvc@0.48.2':
-    resolution: {integrity: sha512-X/hpuxXEhzliwqkSvecxGBrvVpFggH3gnWKNhq4MaMRbPyBpFzRf0ygThzLQdOgUIu806jRXRAL2UY0XDBB7Ng==}
+  '@oxc-transform/binding-win32-arm64-msvc@0.53.0':
+    resolution: {integrity: sha512-Afh37KNowRgdDtV6EL4IxWBv/l5/XLctXADOCAvYNUsiUwQ2vNKiNwx+k8QzMZW59G5JEIN8yroMd/qnQSpdJw==}
     cpu: [arm64]
     os: [win32]
 
-  '@oxc-transform/binding-win32-x64-msvc@0.48.2':
-    resolution: {integrity: sha512-CLa3NMLpKiWg3OTu09XVNPWlYci9go/vijoj658zlbccMwT5yioHjPTk+pomycBMNEG5ei6Ak8fWjCKpXXRJRA==}
+  '@oxc-transform/binding-win32-x64-msvc@0.53.0':
+    resolution: {integrity: sha512-aYUx/uFCIdQJVOqEpV3AjOSBlZKLSFtws4B/iJpyJ6pKiLBQsH/sR4Y4oKm2rkaqAky+0ekP6gbjIgrJkCZR0Q==}
     cpu: [x64]
     os: [win32]
 
@@ -4542,14 +4503,14 @@ packages:
     resolution: {integrity: sha512-RMC4kKkFVpFKHL8QbJJpRGY4cAtc/6w4Gaf5zaZj6qtc0OZZRJyF+G9JfcqmYd98FW4DfmzN4Pr0nhYQJraZ0A==}
     engines: {node: '>=18'}
 
-  '@scalar/openapi-parser@0.10.4':
-    resolution: {integrity: sha512-t0+PQcLWCRYtvkfhZf74uRsN/5FmwjxWjMEuj32aM1iseUmEHMirYFyyZMIkQpfO0DblEgHQZcmzj+v8O4aOjw==}
-    engines: {node: '>=18'}
-
   '@scalar/openapi-parser@0.10.5':
     resolution: {integrity: sha512-xLVzvrk5MgZrtydGdLiT8G6qOhTM8yUYs55eO6Wrb366mTF3PjwDlw5epnYfQPBavROAT/vrPEHo7yE/IWR2cA==}
     engines: {node: '>=18'}
 
+  '@scalar/openapi-parser@0.10.9':
+    resolution: {integrity: sha512-wsKZtL4B3Fmbv24B1zzeWdsEr6F60fLmToOFLA1b9QGQ6TAtIvLgKQWQ65eh5Vfx93nQb/iekamfErqHRHtEhA==}
+    engines: {node: '>=18'}
+
   '@scalar/openapi-types@0.1.7':
     resolution: {integrity: sha512-oOTG3JQifg55U3DhKB7WdNIxFnJzbPJe7rqdyWdio977l8IkxQTVmObftJhdNIMvhV2K+1f/bDoMQGu6yTaD0A==}
     engines: {node: '>=18'}
@@ -4594,14 +4555,14 @@ packages:
   '@shikijs/core@1.23.1':
     resolution: {integrity: sha512-NuOVgwcHgVC6jBVH5V7iblziw6iQbWWHrj5IlZI3Fqu2yx9awH7OIQkXIcsHsUmY19ckwSgUMgrqExEyP5A0TA==}
 
-  '@shikijs/core@2.3.2':
-    resolution: {integrity: sha512-s7vyL3LzUKm3Qwf36zRWlavX9BQMZTIq9B1almM63M5xBuSldnsTHCmsXzoF/Kyw4k7Xgas7yAyJz9VR/vcP1A==}
+  '@shikijs/core@3.1.0':
+    resolution: {integrity: sha512-1ppAOyg3F18N8Ge9DmJjGqRVswihN33rOgPovR6gUHW17Hw1L4RlRhnmVQcsacSHh0A8IO1FIgNbtTxUFwodmg==}
 
   '@shikijs/engine-javascript@1.23.1':
     resolution: {integrity: sha512-i/LdEwT5k3FVu07SiApRFwRcSJs5QM9+tod5vYCPig1Ywi8GR30zcujbxGQFJHwYD7A5BUqagi8o5KS+LEVgBg==}
 
-  '@shikijs/engine-javascript@2.3.2':
-    resolution: {integrity: sha512-w3IEMu5HfL/OaJTsMbIfZ1HRPnWVYRANeDtmsdIIEgUOcLjzFJFQwlnkckGjKHekEzNqlMLbgB/twnfZ/EEAGg==}
+  '@shikijs/engine-javascript@3.1.0':
+    resolution: {integrity: sha512-/LwkhW17jYi7uPcdaaSQQDNW+xgrHXarkrxYPoC6WPzH2xW5mFMw12doHXJBqxmYvtcTbaatcv2MkH9+3PU1FA==}
 
   '@shikijs/engine-oniguruma@1.23.1':
     resolution: {integrity: sha512-KQ+lgeJJ5m2ISbUZudLR1qHeH3MnSs2mjFg7bnencgs5jDVPeJ2NVDJ3N5ZHbcTsOIh0qIueyAJnwg7lg7kwXQ==}
@@ -4609,23 +4570,25 @@ packages:
   '@shikijs/engine-oniguruma@1.29.2':
     resolution: {integrity: sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==}
 
-  '@shikijs/engine-oniguruma@2.3.2':
-    resolution: {integrity: sha512-vikMY1TroyZXUHIXbMnvY/mjtOxMn+tavcfAeQPgWS9FHcgFSUoEtywF5B5sOLb9NXb8P2vb7odkh3nj15/00A==}
+  '@shikijs/engine-oniguruma@3.1.0':
+    resolution: {integrity: sha512-reRgy8VzDPdiDocuGDD60Rk/jLxgcgy+6H4n6jYLeN2Yw5ikasRjQQx8ERXtDM35yg2v/d6KolDBcK8hYYhcmw==}
 
-  '@shikijs/langs@2.3.2':
-    resolution: {integrity: sha512-UqI6bSxFzhexIJficZLKeB1L2Sc3xoNiAV0yHpfbg5meck93du+EKQtsGbBv66Ki53XZPhnR/kYkOr85elIuFw==}
+  '@shikijs/langs@3.1.0':
+    resolution: {integrity: sha512-hAM//sExPXAXG3ZDWjrmV6Vlw4zlWFOcT1ZXNhFRBwPP27scZu/ZIdZ+TdTgy06zSvyF4KIjnF8j6+ScKGu6ww==}
 
-  '@shikijs/rehype@2.3.2':
-    resolution: {integrity: sha512-ikzqbG46CXQLo+Ew86Fc7wOSoBRgoRKT+520e4hwI6gsJsJHSc/pTgzBZhs1xTw+pq6iGMhNunBVdDzxfhagYw==}
+  '@shikijs/rehype@3.1.0':
+    resolution: {integrity: sha512-snfifm4fwSmkCbUUHrpgHP2F8oPWP6WUQOJrh+k0aQazqv2a0jYLLXs2mK1Y1w/JfQ/NnKNbRUmZQqS9zxTXGw==}
 
-  '@shikijs/themes@2.3.2':
-    resolution: {integrity: sha512-QAh7D/hhfYKHibkG2tti8vxNt3ekAH5EqkXJeJbTh7FGvTCWEI7BHqNCtMdjFvZ0vav5nvUgdvA7/HI7pfsB4w==}
+  '@shikijs/themes@3.1.0':
+    resolution: {integrity: sha512-A4MJmy9+ydLNbNCtkmdTp8a+ON+MMXoUe1KTkELkyu0+pHGOcbouhNuobhZoK59cL4cOST6CCz1x+kUdkp9UZA==}
 
-  '@shikijs/transformers@2.3.2':
-    resolution: {integrity: sha512-2HDnJumw8A/9GecRpTgvfqSbPjEbJ4DPWq5J++OVP1gNMLvbV0MqFsP4canqRNM1LqB7VmWY45Stipb0ZIJ+0A==}
+  '@shikijs/transformers@3.1.0':
+    resolution: {integrity: sha512-Et+agcilvJOmWh/goUczrdM6R35JrEr8B8xZxJVv6rCIpUo2rICtWZF4YBUIILx5mV78455EcYyFPCrk3lJ+nw==}
 
-  '@shikijs/twoslash@2.3.2':
-    resolution: {integrity: sha512-eYLSPNKH7qWpoStesZlDix+Mdppb/VUBc7LFZyOwTvTzZ6H+DS3OMUDH0wndc6ZWYUR27cyDMtFZoBjyzxRL0A==}
+  '@shikijs/twoslash@3.1.0':
+    resolution: {integrity: sha512-cEaS6Nw1IhcJRc0RxJWIaZLXq0A5d9aJ9LoRfO4+y1L1wqC/+YCqrMEZqxkdjep3usCbZRae13fcXMd4pz8fHQ==}
+    peerDependencies:
+      typescript: '>=5.5.0'
 
   '@shikijs/types@1.23.1':
     resolution: {integrity: sha512-98A5hGyEhzzAgQh2dAeHKrWW4HfCMeoFER2z16p5eJ+vmPeF6lZ/elEne6/UCU551F/WqkopqRsr1l2Yu6+A0g==}
@@ -4633,12 +4596,15 @@ packages:
   '@shikijs/types@1.29.2':
     resolution: {integrity: sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==}
 
-  '@shikijs/types@2.3.2':
-    resolution: {integrity: sha512-CBaMY+a3pepyC4SETi7+bSzO0f6hxEQJUUuS4uD7zppzjmrN4ZRtBqxaT+wOan26CR9eeJ5iBhc4qvWEwn7Eeg==}
+  '@shikijs/types@3.1.0':
+    resolution: {integrity: sha512-F8e7Fy4ihtcNpJG572BZZC1ErYrBrzJ5Cbc9Zi3REgWry43gIvjJ9lFAoUnuy7Bvy4IFz7grUSxL5edfrrjFEA==}
 
   '@shikijs/vscode-textmate@10.0.1':
     resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==}
 
+  '@shikijs/vscode-textmate@10.0.2':
+    resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
+
   '@shikijs/vscode-textmate@9.3.1':
     resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==}
 
@@ -5069,6 +5035,82 @@ packages:
     resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
     engines: {node: '>=14.16'}
 
+  '@tailwindcss/node@4.0.9':
+    resolution: {integrity: sha512-tOJvdI7XfJbARYhxX+0RArAhmuDcczTC46DGCEziqxzzbIaPnfYaIyRT31n4u8lROrsO7Q6u/K9bmQHL2uL1bQ==}
+
+  '@tailwindcss/oxide-android-arm64@4.0.9':
+    resolution: {integrity: sha512-YBgy6+2flE/8dbtrdotVInhMVIxnHJPbAwa7U1gX4l2ThUIaPUp18LjB9wEH8wAGMBZUb//SzLtdXXNBHPUl6Q==}
+    engines: {node: '>= 10'}
+    cpu: [arm64]
+    os: [android]
+
+  '@tailwindcss/oxide-darwin-arm64@4.0.9':
+    resolution: {integrity: sha512-pWdl4J2dIHXALgy2jVkwKBmtEb73kqIfMpYmcgESr7oPQ+lbcQ4+tlPeVXaSAmang+vglAfFpXQCOvs/aGSqlw==}
+    engines: {node: '>= 10'}
+    cpu: [arm64]
+    os: [darwin]
+
+  '@tailwindcss/oxide-darwin-x64@4.0.9':
+    resolution: {integrity: sha512-4Dq3lKp0/C7vrRSkNPtBGVebEyWt9QPPlQctxJ0H3MDyiQYvzVYf8jKow7h5QkWNe8hbatEqljMj/Y0M+ERYJg==}
+    engines: {node: '>= 10'}
+    cpu: [x64]
+    os: [darwin]
+
+  '@tailwindcss/oxide-freebsd-x64@4.0.9':
+    resolution: {integrity: sha512-k7U1RwRODta8x0uealtVt3RoWAWqA+D5FAOsvVGpYoI6ObgmnzqWW6pnVwz70tL8UZ/QXjeMyiICXyjzB6OGtQ==}
+    engines: {node: '>= 10'}
+    cpu: [x64]
+    os: [freebsd]
+
+  '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.9':
+    resolution: {integrity: sha512-NDDjVweHz2zo4j+oS8y3KwKL5wGCZoXGA9ruJM982uVJLdsF8/1AeKvUwKRlMBpxHt1EdWJSAh8a0Mfhl28GlQ==}
+    engines: {node: '>= 10'}
+    cpu: [arm]
+    os: [linux]
+
+  '@tailwindcss/oxide-linux-arm64-gnu@4.0.9':
+    resolution: {integrity: sha512-jk90UZ0jzJl3Dy1BhuFfRZ2KP9wVKMXPjmCtY4U6fF2LvrjP5gWFJj5VHzfzHonJexjrGe1lMzgtjriuZkxagg==}
+    engines: {node: '>= 10'}
+    cpu: [arm64]
+    os: [linux]
+
+  '@tailwindcss/oxide-linux-arm64-musl@4.0.9':
+    resolution: {integrity: sha512-3eMjyTC6HBxh9nRgOHzrc96PYh1/jWOwHZ3Kk0JN0Kl25BJ80Lj9HEvvwVDNTgPg154LdICwuFLuhfgH9DULmg==}
+    engines: {node: '>= 10'}
+    cpu: [arm64]
+    os: [linux]
+
+  '@tailwindcss/oxide-linux-x64-gnu@4.0.9':
+    resolution: {integrity: sha512-v0D8WqI/c3WpWH1kq/HP0J899ATLdGZmENa2/emmNjubT0sWtEke9W9+wXeEoACuGAhF9i3PO5MeyditpDCiWQ==}
+    engines: {node: '>= 10'}
+    cpu: [x64]
+    os: [linux]
+
+  '@tailwindcss/oxide-linux-x64-musl@4.0.9':
+    resolution: {integrity: sha512-Kvp0TCkfeXyeehqLJr7otsc4hd/BUPfcIGrQiwsTVCfaMfjQZCG7DjI+9/QqPZha8YapLA9UoIcUILRYO7NE1Q==}
+    engines: {node: '>= 10'}
+    cpu: [x64]
+    os: [linux]
+
+  '@tailwindcss/oxide-win32-arm64-msvc@4.0.9':
+    resolution: {integrity: sha512-m3+60T/7YvWekajNq/eexjhV8z10rswcz4BC9bioJ7YaN+7K8W2AmLmG0B79H14m6UHE571qB0XsPus4n0QVgQ==}
+    engines: {node: '>= 10'}
+    cpu: [arm64]
+    os: [win32]
+
+  '@tailwindcss/oxide-win32-x64-msvc@4.0.9':
+    resolution: {integrity: sha512-dpc05mSlqkwVNOUjGu/ZXd5U1XNch1kHFJ4/cHkZFvaW1RzbHmRt24gvM8/HC6IirMxNarzVw4IXVtvrOoZtxA==}
+    engines: {node: '>= 10'}
+    cpu: [x64]
+    os: [win32]
+
+  '@tailwindcss/oxide@4.0.9':
+    resolution: {integrity: sha512-eLizHmXFqHswJONwfqi/WZjtmWZpIalpvMlNhTM99/bkHtUs6IqgI1XQ0/W5eO2HiRQcIlXUogI2ycvKhVLNcA==}
+    engines: {node: '>= 10'}
+
+  '@tailwindcss/postcss@4.0.9':
+    resolution: {integrity: sha512-BT/E+pdMqulavEAVM5NCpxmGEwHiLDPpkmg/c/X25ZBW+izTe+aZ+v1gf/HXTrihRoCxrUp5U4YyHsBTzspQKQ==}
+
   '@tanstack/virtual-core@3.13.0':
     resolution: {integrity: sha512-NBKJP3OIdmZY3COJdWkSonr50FMVIi+aj5ZJ7hI/DTpEKg2RMfo/KvP8A3B/zOSpMgIe52B5E2yn7rryULzA6g==}
 
@@ -5223,14 +5265,13 @@ packages:
   '@types/prop-types@15.7.14':
     resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
 
-  '@types/react-dom@18.3.1':
-    resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==}
-
-  '@types/react-syntax-highlighter@15.5.13':
-    resolution: {integrity: sha512-uLGJ87j6Sz8UaBAooU0T6lWJ0dBmjZgN1PZTrj05TNql2/XpC6+4HhMT5syIdFUUt+FASfCeLLv4kBygNU+8qA==}
+  '@types/react-dom@19.0.4':
+    resolution: {integrity: sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==}
+    peerDependencies:
+      '@types/react': ^19.0.0
 
-  '@types/react@18.3.12':
-    resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==}
+  '@types/react@19.0.10':
+    resolution: {integrity: sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==}
 
   '@types/readable-stream@4.0.18':
     resolution: {integrity: sha512-21jK/1j+Wg+7jVw1xnSwy/2Q1VgVjWuFssbYGTREPUBeZ+rqVFl2udq0IkxzPC0ZhOzVceUbyIACFZKLqKEBlA==}
@@ -5765,9 +5806,6 @@ packages:
     engines: {node: '>=10'}
     deprecated: This package is no longer supported.
 
-  arg@5.0.2:
-    resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
-
   argparse@1.0.10:
     resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
 
@@ -6089,10 +6127,6 @@ packages:
     resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
     engines: {node: '>=6'}
 
-  camelcase-css@2.0.1:
-    resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
-    engines: {node: '>= 6'}
-
   camelcase@4.1.0:
     resolution: {integrity: sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==}
     engines: {node: '>=4'}
@@ -6100,6 +6134,9 @@ packages:
   caniuse-lite@1.0.30001699:
     resolution: {integrity: sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==}
 
+  caniuse-lite@1.0.30001701:
+    resolution: {integrity: sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw==}
+
   canvas@2.11.2:
     resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==}
     engines: {node: '>=6'}
@@ -6129,21 +6166,12 @@ packages:
   character-entities-html4@2.1.0:
     resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
 
-  character-entities-legacy@1.1.4:
-    resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
-
   character-entities-legacy@3.0.0:
     resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
 
-  character-entities@1.2.4:
-    resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==}
-
   character-entities@2.0.2:
     resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
 
-  character-reference-invalid@1.1.4:
-    resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
-
   character-reference-invalid@2.0.1:
     resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
 
@@ -6312,9 +6340,6 @@ packages:
     resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
     engines: {node: '>= 0.8'}
 
-  comma-separated-tokens@1.0.8:
-    resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==}
-
   comma-separated-tokens@2.0.3:
     resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
 
@@ -6333,10 +6358,6 @@ packages:
   commander@2.20.3:
     resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
 
-  commander@4.1.1:
-    resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
-    engines: {node: '>= 6'}
-
   commander@6.2.1:
     resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==}
     engines: {node: '>= 6'}
@@ -6566,6 +6587,11 @@ packages:
     resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
     engines: {node: '>=8'}
 
+  detect-libc@1.0.3:
+    resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
+    engines: {node: '>=0.10'}
+    hasBin: true
+
   detect-libc@2.0.3:
     resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
     engines: {node: '>=8'}
@@ -6625,9 +6651,6 @@ packages:
   devtools-protocol@0.0.1262051:
     resolution: {integrity: sha512-YJe4CT5SA8on3Spa+UDtNhEqtuV6Epwz3OZ4HQVLhlRccpZ9/PAYk0/cy/oKxFKRrZPBUPyxympQci4yWNWZ9g==}
 
-  didyoumean@1.2.2:
-    resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
-
   diff-match-patch-es@1.0.1:
     resolution: {integrity: sha512-KhSofrZDERg/NE6Nd+TK53knp2qz0o2Ix8rhkXd3Chfm7Wlo58Eq/juNmkyS6bS+3xS26L3Pstz3BdY/q+e9UQ==}
 
@@ -6648,9 +6671,6 @@ packages:
   discord-api-types@0.37.119:
     resolution: {integrity: sha512-WasbGFXEB+VQWXlo6IpW3oUv73Yuau1Ig4AZF/m13tXcTKnMpc/mHjpztIlz4+BM9FG9BHQkEXiPto3bKduQUg==}
 
-  dlv@1.1.3:
-    resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
-
   doctrine@2.1.0:
     resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
     engines: {node: '>=0.10.0'}
@@ -6784,13 +6804,13 @@ packages:
     engines: {node: '>=12'}
     hasBin: true
 
-  esbuild@0.23.1:
-    resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==}
+  esbuild@0.24.2:
+    resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==}
     engines: {node: '>=18'}
     hasBin: true
 
-  esbuild@0.24.2:
-    resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==}
+  esbuild@0.25.0:
+    resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==}
     engines: {node: '>=18'}
     hasBin: true
 
@@ -6916,6 +6936,10 @@ packages:
     resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
+  eslint-scope@8.3.0:
+    resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
   eslint-visitor-keys@3.4.3:
     resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -6934,6 +6958,16 @@ packages:
       jiti:
         optional: true
 
+  eslint@9.22.0:
+    resolution: {integrity: sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    hasBin: true
+    peerDependencies:
+      jiti: '*'
+    peerDependenciesMeta:
+      jiti:
+        optional: true
+
   esm-env@1.2.2:
     resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==}
 
@@ -7105,16 +7139,13 @@ packages:
     resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==}
     hasBin: true
 
-  fast-xml-parser@4.5.1:
-    resolution: {integrity: sha512-y655CeyUQ+jj7KBbYMc4FG01V8ZQqjN+gDYGJ50RtfsUB8iG9AmwmwoAgeKLJdmueKKMrH1RJ7yXHTSoczdv5w==}
+  fast-xml-parser@4.5.3:
+    resolution: {integrity: sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==}
     hasBin: true
 
   fastq@1.19.0:
     resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==}
 
-  fault@1.0.4:
-    resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==}
-
   fd-slicer@1.1.0:
     resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
 
@@ -7240,10 +7271,6 @@ packages:
     resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==}
     engines: {node: '>= 6'}
 
-  format@0.2.2:
-    resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
-    engines: {node: '>=0.4.x'}
-
   formdata-node@4.4.1:
     resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
     engines: {node: '>= 12.20'}
@@ -7300,41 +7327,15 @@ packages:
     engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
     os: [darwin]
 
-  fumadocs-core@14.7.7:
-    resolution: {integrity: sha512-ZP2sFZki291se9R6/K959a6CDNqM+oQKejEygViSTQnkCQ8UWApRQHUZQS670sub8ysBFE8aGlgsnAs+n9HlyA==}
-    peerDependencies:
-      '@orama/tokenizers': 2.x.x
-      '@oramacloud/client': 1.x.x || 2.x.x
-      algoliasearch: 4.24.0
-      next: 14.x.x || 15.x.x
-      react: 18.x.x || 19.x.x
-      react-dom: 18.x.x || 19.x.x
-    peerDependenciesMeta:
-      '@orama/tokenizers':
-        optional: true
-      '@oramacloud/client':
-        optional: true
-      algoliasearch:
-        optional: true
-      next:
-        optional: true
-      react:
-        optional: true
-      react-dom:
-        optional: true
-
-  fumadocs-core@15.0.0:
-    resolution: {integrity: sha512-U0b8KS71b5fE7VCpkeZIU1dch+m2hiwerbc2VTVHM3B/NJxIB+xHGDw4KQPQLjq13mtO8LsBJKIJDqs9AxW+Ag==}
+  fumadocs-core@15.0.15:
+    resolution: {integrity: sha512-roWAf6voyhpLpbdWalCBW4x4h2LVEJZ/J1sGG+3cR27QLn/5Vv/AEjPB0mFRcoH/fkEVU1wilxvgfDOpRXWDcA==}
     peerDependencies:
-      '@orama/tokenizers': 2.x.x
       '@oramacloud/client': 1.x.x || 2.x.x
       algoliasearch: 4.24.0
       next: 14.x.x || 15.x.x
       react: 18.x.x || 19.x.x
       react-dom: 18.x.x || 19.x.x
     peerDependenciesMeta:
-      '@orama/tokenizers':
-        optional: true
       '@oramacloud/client':
         optional: true
       algoliasearch:
@@ -7346,11 +7347,11 @@ packages:
       react-dom:
         optional: true
 
-  fumadocs-docgen@1.3.7:
-    resolution: {integrity: sha512-GzlxZoEsY2WQVPMMoaSqzrSmxNtUpGvCutcd2he+jfrV+Hu+Xc8LVymI6meH99vv3HkftUsCHUsfkaQrV7Aa2A==}
+  fumadocs-docgen@2.0.0:
+    resolution: {integrity: sha512-jaM/rsCFEvC8rO6Nf0sYXDHp1xOWPAaz0zJHyFyt/CWFSj/nnBaeVIjN/bFX3ZUb93Nnx0I3s42NzAHYKsZI0w==}
 
-  fumadocs-mdx@11.5.3:
-    resolution: {integrity: sha512-aPRKPo48tfpCdzXEKcaNfMJo33WvrwiTgLTeHUJpLFV1LYnb+Wloa7wBchqyL6lA/5hm1L43HduCK8BCWdK0BA==}
+  fumadocs-mdx@11.5.6:
+    resolution: {integrity: sha512-XhzfR7WsI4qO9EdmRZQc/mRxMkSY2HQ7Fg2fv7ia4R3LN0Km7X8KSEry9lU2c0XmSHcospniW5o1FFgsAq4+mQ==}
     hasBin: true
     peerDependencies:
       '@fumadocs/mdx-remote': ^1.2.0
@@ -7360,8 +7361,8 @@ packages:
       '@fumadocs/mdx-remote':
         optional: true
 
-  fumadocs-openapi@5.12.0:
-    resolution: {integrity: sha512-VzMO9cQY5+NFU4IOkGceoNY7dLrujAdRvMw/rL8JWY1w2fhPNjToozz+i0zMNM1jd0bSg2nJuxRc4H3D1g6Frg==}
+  fumadocs-openapi@6.3.0:
+    resolution: {integrity: sha512-PEE8txaKkBDjacedRCRD4ekkmfOYx5mWjIc+g+Ys84/zkm5ALaRxAernTMsbAck8GjOOZmA/5MFG/nL/hRvchA==}
     peerDependencies:
       '@scalar/api-client-react': '*'
       next: 14.x.x || 15.x.x
@@ -7371,34 +7372,22 @@ packages:
       '@scalar/api-client-react':
         optional: true
 
-  fumadocs-twoslash@2.0.3:
-    resolution: {integrity: sha512-7nxbWExJdULi2Ykg20yuGSkf3Ye1UFmhFmX9eFnmvmFW4ZAO85sslwUwmMyoxBLg9EzWK/1nHgOyZTy7pcF6AA==}
+  fumadocs-twoslash@3.1.0:
+    resolution: {integrity: sha512-5O+lFOv4cTQqBevS/yxCrjKZjBhZNggZQis14QzGXzyL75pe+Uv7UjcMsxo4Jmt8jJOLt0pGVLhJwFf11u/9BA==}
     peerDependencies:
-      fumadocs-ui: ^13.0.0 || ^14.0.0
+      fumadocs-ui: ^15.0.0
       react: 18.x.x || 19.x.x
-      shiki: 1.x.x
+      shiki: 1.x.x || 2.x.x || 3.x.x
 
-  fumadocs-typescript@3.0.3:
-    resolution: {integrity: sha512-TpVem2Sy+fo5e8wJibisn1XZoRdwNyY8+MuxQWBC2k8Q4oaxA6qVVsy2paCVEa716UnXbES0sVP1HqX3HCEhBg==}
+  fumadocs-typescript@3.1.0:
+    resolution: {integrity: sha512-H8zEMUrQfM8dqUBGhMepAjXi5hRbSKSK5565ObXXzQI7kFHnLH5Jc1MFBa6LXyaatZIv7B7ozWdVm7XaUHDtiA==}
     peerDependencies:
       typescript: '*'
 
-  fumadocs-ui@14.7.7:
-    resolution: {integrity: sha512-DLx5CT1CQljMzZVJZ5wZ4R8/s1QhMIbKJHaqFpy3mnylilclFqncoyA2BI5YbuqH6g4zywgPKdgZKNTZ0KnS6A==}
-    peerDependencies:
-      fumadocs-core: 14.7.7
-      next: 14.x.x || 15.x.x
-      react: 18.x.x || 19.x.x
-      react-dom: 18.x.x || 19.x.x
-      tailwindcss: ^3.4.14
-    peerDependenciesMeta:
-      tailwindcss:
-        optional: true
-
-  fumadocs-ui@15.0.0:
-    resolution: {integrity: sha512-o6mri3ehebFWpBwy11bkN9mWGs0JICWeAbuFpkM7igIVVgjI80eQ4Uz5P4smF+nTMx9Gd1GbQvDCt7CI+zRVvQ==}
+  fumadocs-ui@15.0.15:
+    resolution: {integrity: sha512-D9x+GJlTgFe+te6h22Xp3OHDYGzEp/iWm86HiQkJQLhT5jwZ5/2htF/ehzBwOm+bizGvH6WIe3ZYfJ3dfer0/A==}
     peerDependencies:
-      fumadocs-core: 15.0.0
+      fumadocs-core: 15.0.15
       next: 14.x.x || 15.x.x
       react: 18.x.x || 19.x.x
       react-dom: 18.x.x || 19.x.x
@@ -7686,9 +7675,6 @@ packages:
   hast-util-minify-whitespace@1.0.1:
     resolution: {integrity: sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==}
 
-  hast-util-parse-selector@2.2.5:
-    resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==}
-
   hast-util-parse-selector@4.0.0:
     resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
 
@@ -7704,12 +7690,18 @@ packages:
   hast-util-to-estree@3.1.1:
     resolution: {integrity: sha512-IWtwwmPskfSmma9RpzCappDUitC8t5jhAynHhc1m2+5trOgsrp7txscUSavc5Ic8PATyAjfrCK1wgtxh2cICVQ==}
 
-  hast-util-to-html@9.0.4:
-    resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==}
+  hast-util-to-estree@3.1.2:
+    resolution: {integrity: sha512-94SDoKOfop5gP8RHyw4vV1aj+oChuD42g08BONGAaWFbbO6iaWUqxk7SWfGybgcVzhK16KifZr3zD2dqQgx3jQ==}
+
+  hast-util-to-html@9.0.5:
+    resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
 
   hast-util-to-jsx-runtime@2.3.2:
     resolution: {integrity: sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==}
 
+  hast-util-to-jsx-runtime@2.3.5:
+    resolution: {integrity: sha512-gHD+HoFxOMmmXLuq9f2dZDMQHVcplCVpMfBNRpJsF03yyLZvJGzsFORe8orVuYDX9k2w0VH0uF8oryFd1whqKQ==}
+
   hast-util-to-parse5@8.0.0:
     resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==}
 
@@ -7725,9 +7717,6 @@ packages:
   hast-util-whitespace@3.0.0:
     resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
 
-  hastscript@6.0.0:
-    resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==}
-
   hastscript@9.0.0:
     resolution: {integrity: sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==}
 
@@ -7738,9 +7727,6 @@ packages:
   headers-polyfill@4.0.3:
     resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==}
 
-  highlight.js@10.7.3:
-    resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==}
-
   highlight.js@11.11.1:
     resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==}
     engines: {node: '>=12.0.0'}
@@ -7773,9 +7759,6 @@ packages:
     resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==}
     engines: {node: '>=14'}
 
-  html-url-attributes@3.0.1:
-    resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==}
-
   html-void-elements@3.0.0:
     resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
 
@@ -7851,8 +7834,8 @@ packages:
     resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
     engines: {node: '>= 4'}
 
-  image-size@1.2.0:
-    resolution: {integrity: sha512-4S8fwbO6w3GeCVN6OPtA9I5IGKkcDMPcKndtUlpJuCwu7JLjtj7JZpwqLuyY2nrmQT3AWsCJLSKPsc2mPBSl3w==}
+  image-size@2.0.0:
+    resolution: {integrity: sha512-HP07n1SpdIXGUL4VotUIOQz66MQOq8g7VN+Yj02YTVowqZScQ5i/JYU0+lkNr2pwt5j4hOpk94/UBV1ZCbS2fA==}
     engines: {node: '>=16.x'}
     hasBin: true
 
@@ -7901,15 +7884,9 @@ packages:
     resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==}
     engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
 
-  is-alphabetical@1.0.4:
-    resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
-
   is-alphabetical@2.0.1:
     resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
 
-  is-alphanumerical@1.0.4:
-    resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==}
-
   is-alphanumerical@2.0.1:
     resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
 
@@ -7959,9 +7936,6 @@ packages:
     resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
     engines: {node: '>= 0.4'}
 
-  is-decimal@1.0.4:
-    resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
-
   is-decimal@2.0.1:
     resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
 
@@ -8002,9 +7976,6 @@ packages:
     resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
     engines: {node: '>=0.10.0'}
 
-  is-hexadecimal@1.0.4:
-    resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
-
   is-hexadecimal@2.0.1:
     resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
 
@@ -8165,10 +8136,6 @@ packages:
     resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
     engines: {node: '>= 10.13.0'}
 
-  jiti@1.21.7:
-    resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
-    hasBin: true
-
   jiti@2.4.2:
     resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
     hasBin: true
@@ -8341,13 +8308,74 @@ packages:
   lie@3.3.0:
     resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
 
+  lightningcss-darwin-arm64@1.29.1:
+    resolution: {integrity: sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==}
+    engines: {node: '>= 12.0.0'}
+    cpu: [arm64]
+    os: [darwin]
+
+  lightningcss-darwin-x64@1.29.1:
+    resolution: {integrity: sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==}
+    engines: {node: '>= 12.0.0'}
+    cpu: [x64]
+    os: [darwin]
+
+  lightningcss-freebsd-x64@1.29.1:
+    resolution: {integrity: sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==}
+    engines: {node: '>= 12.0.0'}
+    cpu: [x64]
+    os: [freebsd]
+
+  lightningcss-linux-arm-gnueabihf@1.29.1:
+    resolution: {integrity: sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==}
+    engines: {node: '>= 12.0.0'}
+    cpu: [arm]
+    os: [linux]
+
+  lightningcss-linux-arm64-gnu@1.29.1:
+    resolution: {integrity: sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==}
+    engines: {node: '>= 12.0.0'}
+    cpu: [arm64]
+    os: [linux]
+
+  lightningcss-linux-arm64-musl@1.29.1:
+    resolution: {integrity: sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==}
+    engines: {node: '>= 12.0.0'}
+    cpu: [arm64]
+    os: [linux]
+
+  lightningcss-linux-x64-gnu@1.29.1:
+    resolution: {integrity: sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==}
+    engines: {node: '>= 12.0.0'}
+    cpu: [x64]
+    os: [linux]
+
+  lightningcss-linux-x64-musl@1.29.1:
+    resolution: {integrity: sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==}
+    engines: {node: '>= 12.0.0'}
+    cpu: [x64]
+    os: [linux]
+
+  lightningcss-win32-arm64-msvc@1.29.1:
+    resolution: {integrity: sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==}
+    engines: {node: '>= 12.0.0'}
+    cpu: [arm64]
+    os: [win32]
+
+  lightningcss-win32-x64-msvc@1.29.1:
+    resolution: {integrity: sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==}
+    engines: {node: '>= 12.0.0'}
+    cpu: [x64]
+    os: [win32]
+
+  lightningcss@1.29.1:
+    resolution: {integrity: sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==}
+    engines: {node: '>= 12.0.0'}
+
   lilconfig@3.1.3:
     resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
     engines: {node: '>=14'}
 
-  lines-and-columns@1.2.4:
-    resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
-
   linkify-it@5.0.0:
     resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
 
@@ -8457,9 +8485,6 @@ packages:
     resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==}
     engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
 
-  lowlight@1.20.0:
-    resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==}
-
   lowlight@3.3.0:
     resolution: {integrity: sha512-0JNhgFoPvP6U6lE/UdVsSq99tn6DhjjpAj5MxG49ewd2mOBVtwWYIT8ClyABhq198aXXODMU6Ox8DrGy/CpTZQ==}
 
@@ -8495,8 +8520,8 @@ packages:
     peerDependencies:
       react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc
 
-  lucide-react@0.473.0:
-    resolution: {integrity: sha512-KW6u5AKeIjkvrxXZ6WuCu9zHE/gEYSXCay+Gre2ZoInD0Je/e3RBtP4OHpJVJ40nDklSvjVKjgH7VU8/e2dzRw==}
+  lucide-react@0.477.0:
+    resolution: {integrity: sha512-yCf7aYxerFZAbd8jHJxjwe1j7jEMPptjnaOqdYeirFnEy85cNR3/L+o0I875CYFYya+eEVzZSbNuRk8BZPDpVw==}
     peerDependencies:
       react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
 
@@ -9125,9 +9150,6 @@ packages:
     resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==}
     engines: {node: ^18.17.0 || >=20.5.0}
 
-  mz@2.7.0:
-    resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
-
   nan@2.22.0:
     resolution: {integrity: sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==}
 
@@ -9176,8 +9198,8 @@ packages:
       react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
       react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
 
-  next@15.1.7:
-    resolution: {integrity: sha512-GNeINPGS9c6OZKCvKypbL8GTsT5GhWPp4DM0fzkXJuXMilOO2EeFxuAY6JZbtk6XIl6Ws10ag3xRINDjSO5+wg==}
+  next@15.2.0:
+    resolution: {integrity: sha512-VaiM7sZYX8KIAHBrRGSFytKknkrexNfGb8GlG6e93JqueCspuGte8i4ybn8z4ww1x3f2uzY4YpTaBEW4/hvsoQ==}
     engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
     hasBin: true
     peerDependencies:
@@ -9361,8 +9383,8 @@ packages:
   oniguruma-to-es@0.4.1:
     resolution: {integrity: sha512-rNcEohFz095QKGRovP/yqPIKc+nP+Sjs4YTHMv33nMePGKrq/r2eu9Yh4646M5XluGJsUnmwoXuiXE69KDs+fQ==}
 
-  oniguruma-to-es@3.1.0:
-    resolution: {integrity: sha512-BJ3Jy22YlgejHSO7Fvmz1kKazlaPmRSUH+4adTDUS/dKQ4wLxI+gALZ8updbaux7/m7fIlpgOZ5fp/Inq5jUAw==}
+  oniguruma-to-es@3.1.1:
+    resolution: {integrity: sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==}
 
   onnx-proto@4.0.4:
     resolution: {integrity: sha512-aldMOB3HRoo6q/phyB6QRQxSt895HNNw82BNyZ2CMh4bjeKv7g/c+VpAFtJuEMVfYLMbRx61hbuqnKceLeDcDA==}
@@ -9458,8 +9480,8 @@ packages:
     resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
     engines: {node: '>= 0.4'}
 
-  oxc-transform@0.48.2:
-    resolution: {integrity: sha512-SGXm/JNOo8aWUboNvF3KOJHAOI7rBRDiMqKyGQpAY2ffR+VfunCEi2tqYynKzG8gz0L6imgqFgyuASOuvJI8NA==}
+  oxc-transform@0.53.0:
+    resolution: {integrity: sha512-ovYJDZfHNLyXlkJBT0HTNHDPHp4JlyG+NePCLrGRT4c1xXOPZ1TWy8xu2shOuLo6n6fiMbpqZha3Ne7C8H7OJA==}
 
   p-cancelable@3.0.0:
     resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==}
@@ -9521,9 +9543,6 @@ packages:
     resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
     engines: {node: '>=6'}
 
-  parse-entities@2.0.0:
-    resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
-
   parse-entities@4.0.2:
     resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
 
@@ -9700,18 +9719,10 @@ packages:
     engines: {node: '>=0.10'}
     hasBin: true
 
-  pify@2.3.0:
-    resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
-    engines: {node: '>=0.10.0'}
-
   pify@4.0.1:
     resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
     engines: {node: '>=6'}
 
-  pirates@4.0.6:
-    resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
-    engines: {node: '>= 6'}
-
   piscina@4.8.0:
     resolution: {integrity: sha512-EZJb+ZxDrQf3dihsUL7p42pjNyrNIFJCrRHPMgxu/svsj+P3xS3fuEWp7k2+rfsavfl1N0G29b1HGs7J0m8rZA==}
 
@@ -9736,40 +9747,6 @@ packages:
     resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
     engines: {node: '>= 0.4'}
 
-  postcss-import@15.1.0:
-    resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
-    engines: {node: '>=14.0.0'}
-    peerDependencies:
-      postcss: ^8.0.0
-
-  postcss-js@4.0.1:
-    resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
-    engines: {node: ^12 || ^14 || >= 16}
-    peerDependencies:
-      postcss: ^8.4.21
-
-  postcss-load-config@4.0.2:
-    resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
-    engines: {node: '>= 14'}
-    peerDependencies:
-      postcss: '>=8.0.9'
-      ts-node: '>=9.0.0'
-    peerDependenciesMeta:
-      postcss:
-        optional: true
-      ts-node:
-        optional: true
-
-  postcss-nested@6.2.0:
-    resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
-    engines: {node: '>=12.0'}
-    peerDependencies:
-      postcss: ^8.2.14
-
-  postcss-selector-parser@6.1.2:
-    resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
-    engines: {node: '>=4'}
-
   postcss-selector-parser@7.1.0:
     resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==}
     engines: {node: '>=4'}
@@ -9787,8 +9764,8 @@ packages:
     resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
     engines: {node: ^10 || ^12 || >=14}
 
-  postcss@8.5.2:
-    resolution: {integrity: sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==}
+  postcss@8.5.3:
+    resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
     engines: {node: ^10 || ^12 || >=14}
 
   postgres-array@2.0.0:
@@ -9868,6 +9845,11 @@ packages:
     engines: {node: '>=14'}
     hasBin: true
 
+  prettier@3.5.2:
+    resolution: {integrity: sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==}
+    engines: {node: '>=14'}
+    hasBin: true
+
   pretty-bytes@5.6.0:
     resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
     engines: {node: '>=6'}
@@ -9890,14 +9872,6 @@ packages:
   priorityqueuejs@2.0.0:
     resolution: {integrity: sha512-19BMarhgpq3x4ccvVi8k2QpJZcymo/iFUcrhPd4V96kYGovOdTsWwy7fxChYi4QY+m2EnGBWSX9Buakz+tWNQQ==}
 
-  prismjs@1.27.0:
-    resolution: {integrity: sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==}
-    engines: {node: '>=6'}
-
-  prismjs@1.29.0:
-    resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
-    engines: {node: '>=6'}
-
   process-nextick-args@2.0.1:
     resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
 
@@ -9912,12 +9886,12 @@ packages:
   prop-types@15.8.1:
     resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
 
-  property-information@5.6.0:
-    resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==}
-
   property-information@6.5.0:
     resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
 
+  property-information@7.0.0:
+    resolution: {integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==}
+
   proto3-json-serializer@2.0.2:
     resolution: {integrity: sha512-SAzp/O4Yh02jGdRc+uIrGoe87dkN/XtwxfZ4ZyafJHymd79ozp5VG5nyZ7ygqPM5+cpLDjjGnYFUkngonyDPOQ==}
     engines: {node: '>=14.0.0'}
@@ -9973,9 +9947,6 @@ packages:
   queue-microtask@1.2.3:
     resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
 
-  queue@6.0.2:
-    resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
-
   quick-lru@5.1.1:
     resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
     engines: {node: '>=10'}
@@ -10020,11 +9991,6 @@ packages:
     resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
     hasBin: true
 
-  react-dom@18.3.1:
-    resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
-    peerDependencies:
-      react: ^18.3.1
-
   react-dom@19.0.0:
     resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==}
     peerDependencies:
@@ -10058,14 +10024,8 @@ packages:
       '@types/react': '>=16'
       react: '>=16'
 
-  react-markdown@9.0.3:
-    resolution: {integrity: sha512-Yk7Z94dbgYTOrdk41Z74GoKA7rThnsbbqBTRYuxoe08qvfQ9tJVhmAKw6BJS/ZORG7kTy/s1QvYzSuaoBA1qfw==}
-    peerDependencies:
-      '@types/react': '>=18'
-      react: '>=18'
-
-  react-medium-image-zoom@5.2.13:
-    resolution: {integrity: sha512-KcBL4OsoUQJgIFh6vQgt/6sRGqDy6bQBcsbhGD2tsy4B5Pw3dWrboocVOyIm76RRALEZ6Qwp3EDvIvfEv0m5sg==}
+  react-medium-image-zoom@5.2.14:
+    resolution: {integrity: sha512-nfTVYcAUnBzXQpPDcZL+cG/e6UceYUIG+zDcnemL7jtAqbJjVVkA85RgneGtJeni12dTyiRPZVM6Szkmwd/o8w==}
     peerDependencies:
       react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
       react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -10129,11 +10089,6 @@ packages:
       '@types/react':
         optional: true
 
-  react-syntax-highlighter@15.6.1:
-    resolution: {integrity: sha512-OqJ2/vL7lEeV5zTJyG7kmARppUjiB9h9udl4qHQjjgEos66z00Ia0OckwYfRxCSFrW8RJIBnsBwQsHZbVPspqg==}
-    peerDependencies:
-      react: '>= 0.14.0'
-
   react-text-transition@3.1.0:
     resolution: {integrity: sha512-NtXEVAXvSh78+8JAnrVjpbftzD4kPowacv4GB2Nyq9C/8ko6fSm6M/XvKWQLCaZi68i9F28b++Sp8uVThlzLyg==}
     peerDependencies:
@@ -10155,17 +10110,10 @@ packages:
       react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
       react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
 
-  react@18.3.1:
-    resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
-    engines: {node: '>=0.10.0'}
-
   react@19.0.0:
     resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==}
     engines: {node: '>=0.10.0'}
 
-  read-cache@1.0.0:
-    resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
-
   read-yaml-file@1.1.0:
     resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==}
     engines: {node: '>=6'}
@@ -10208,9 +10156,6 @@ packages:
     resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
     engines: {node: '>= 0.4'}
 
-  refractor@3.6.0:
-    resolution: {integrity: sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==}
-
   regenerator-runtime@0.14.1:
     resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
 
@@ -10471,9 +10416,6 @@ packages:
   sax@1.4.1:
     resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
 
-  scheduler@0.23.2:
-    resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
-
   scheduler@0.25.0:
     resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==}
 
@@ -10579,11 +10521,11 @@ packages:
     resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==}
     engines: {node: '>= 0.4'}
 
-  shiki-magic-move@1.0.0:
-    resolution: {integrity: sha512-CU1mSLc9H3AV9SuVon3AAhesdi5WZh4GC3SR+Q0I4ilg71q0/OKnOWu0bT8Kgt5w6cJKYkEcQKNEHKCaqSLTIQ==}
+  shiki-magic-move@1.0.1:
+    resolution: {integrity: sha512-mrSTGTq2jcr9vbu/S0Lpt/gSnni2iQvAlSFiTyM8ePumPX4zrValkfUNYgyESkhqt8RqecQZXERzcY8VglSbEA==}
     peerDependencies:
       react: ^18.2.0 || ^19.0.0
-      shiki: ^2.0.0
+      shiki: ^1.0.0 || ^2.0.0 || ^3.0.0
       solid-js: ^1.9.1
       svelte: ^5.0.0-0
       vue: ^3.4.0
@@ -10602,8 +10544,8 @@ packages:
   shiki@1.23.1:
     resolution: {integrity: sha512-8kxV9TH4pXgdKGxNOkrSMydn1Xf6It8lsle0fiqxf7a1149K1WGtdOu3Zb91T5r1JpvRPxqxU3C2XdZZXQnrig==}
 
-  shiki@2.3.2:
-    resolution: {integrity: sha512-UZhz/gsUz7DHFbQBOJP7eXqvKyYvMGramxQiSDc83M/7OkWm6OdVHAReEc3vMLh6L6TRhgL9dvhXz9XDkCDaaw==}
+  shiki@3.1.0:
+    resolution: {integrity: sha512-LdTNyWQlC5zdCaHdcp1zPA1OVA2ivb+KjGOOnGcy02tGaF5ja+dGibWFH7Ar8YlngUgK/scDqworK18Ys9cbYA==}
 
   side-channel-list@1.0.0:
     resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
@@ -10675,12 +10617,6 @@ packages:
     resolution: {integrity: sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==}
     engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
 
-  sonner@1.7.4:
-    resolution: {integrity: sha512-DIS8z4PfJRbIyfVFDVnK9rO3eYDtse4Omcm6bt0oEr5/jtLgysmjuBl1frJ9E/EQZrFmKx2A8m/s5s9CRXIzhw==}
-    peerDependencies:
-      react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
-      react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
-
   sort-keys-length@1.0.1:
     resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==}
     engines: {node: '>=0.10.0'}
@@ -10708,9 +10644,6 @@ packages:
     resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
     deprecated: Please use @jridgewell/sourcemap-codec instead
 
-  space-separated-tokens@1.1.5:
-    resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==}
-
   space-separated-tokens@2.0.2:
     resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
 
@@ -10902,6 +10835,9 @@ packages:
   strnum@1.0.5:
     resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==}
 
+  strnum@1.1.2:
+    resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==}
+
   strtok3@9.1.1:
     resolution: {integrity: sha512-FhwotcEqjr241ZbjFzjlIYg6c5/L/s4yBGWSMvJ9UoExiSqL+FnFA/CaeZx17WGaZMS/4SOZp8wH18jSS4R4lw==}
     engines: {node: '>=16'}
@@ -10936,11 +10872,6 @@ packages:
     engines: {node: '>=18'}
     hasBin: true
 
-  sucrase@3.35.0:
-    resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
-    engines: {node: '>=16 || 14 >=14.17'}
-    hasBin: true
-
   supports-color@7.2.0:
     resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
     engines: {node: '>=8'}
@@ -10980,15 +10911,16 @@ packages:
   tailwind-merge@2.6.0:
     resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==}
 
+  tailwind-merge@3.0.2:
+    resolution: {integrity: sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==}
+
   tailwindcss-animate@1.0.7:
     resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
     peerDependencies:
       tailwindcss: '>=3.0.0 || insiders'
 
-  tailwindcss@3.4.17:
-    resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
-    engines: {node: '>=14.0.0'}
-    hasBin: true
+  tailwindcss@4.0.9:
+    resolution: {integrity: sha512-12laZu+fv1ONDRoNR9ipTOpUD7RN9essRVkX36sjxuRUInpN7hIiHN4lBd/SIFjbISvnXzp8h/hXzmU8SQQYhw==}
 
   tapable@2.2.1:
     resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
@@ -11053,13 +10985,6 @@ packages:
   text-hex@1.0.0:
     resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==}
 
-  thenify-all@1.6.0:
-    resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
-    engines: {node: '>=0.8'}
-
-  thenify@3.3.1:
-    resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
-
   throttleit@2.1.0:
     resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==}
     engines: {node: '>=18'}
@@ -11180,9 +11105,6 @@ packages:
     resolution: {integrity: sha512-XyLVuhBVvdJTJr2FJJV2L1pc4MwSjMhcunRVgDE9k4wbb2ee7ORYnPewxMWUav12vxyfUM686MSGsqnVRIInuw==}
     engines: {node: '>=18'}
 
-  ts-interface-checker@0.1.13:
-    resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
-
   ts-morph@25.0.1:
     resolution: {integrity: sha512-QJEiTdnz1YjrB3JFhd626gX4rKHDLSjSVMvGGG4v7ONc3RBwa0Eei98G9AT9uNFDMtV54JyuXsFeC+OH0n6bXQ==}
 
@@ -11199,55 +11121,55 @@ packages:
   tslib@2.8.1:
     resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
 
-  tsx@4.19.2:
-    resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==}
+  tsx@4.19.3:
+    resolution: {integrity: sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==}
     engines: {node: '>=18.0.0'}
     hasBin: true
 
   tunnel-agent@0.6.0:
     resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
 
-  turbo-darwin-64@2.4.1:
-    resolution: {integrity: sha512-oos3Gz5N6ol2/7+ys0wPENhl7ZzeVKIumn2BR7X2oE5dEPxNPDMOpKBwreU9ToCxM94e+uFTzKgjcUJpBqpTHA==}
+  turbo-darwin-64@2.4.4:
+    resolution: {integrity: sha512-5kPvRkLAfmWI0MH96D+/THnDMGXlFNmjeqNRj5grLKiry+M9pKj3pRuScddAXPdlxjO5Ptz06UNaOQrrYGTx1g==}
     cpu: [x64]
     os: [darwin]
 
-  turbo-darwin-arm64@2.4.1:
-    resolution: {integrity: sha512-NoIQsSSvCJDTShgX+v+doSP/g0kAhHhq5p2fpsEAlougs2wcQvwv/LndeqojzkHbxB39lOQmqBYHJcki46Q3oQ==}
+  turbo-darwin-arm64@2.4.4:
+    resolution: {integrity: sha512-/gtHPqbGQXDFhrmy+Q/MFW2HUTUlThJ97WLLSe4bxkDrKHecDYhAjbZ4rN3MM93RV9STQb3Tqy4pZBtsd4DfCw==}
     cpu: [arm64]
     os: [darwin]
 
-  turbo-linux-64@2.4.1:
-    resolution: {integrity: sha512-iXIeG8YhluaJF/5KQEudRf8ECBWND8X0yxXDrFIq2wmLLCg4A7gSSzVcBq30rYYeyyU4xMj/sm3HbsAaao3jjg==}
+  turbo-linux-64@2.4.4:
+    resolution: {integrity: sha512-SR0gri4k0bda56hw5u9VgDXLKb1Q+jrw4lM7WAhnNdXvVoep4d6LmnzgMHQQR12Wxl3KyWPbkz9d1whL6NTm2Q==}
     cpu: [x64]
     os: [linux]
 
-  turbo-linux-arm64@2.4.1:
-    resolution: {integrity: sha512-jd5apBV7lBGn3CnkQN/hEMbwazNgZcrwLt6DIkWy/TSi5xfSQEqcR3k9HxviQ7hKMcr1Q1hN6FHWm8Vw90Ej4A==}
+  turbo-linux-arm64@2.4.4:
+    resolution: {integrity: sha512-COXXwzRd3vslQIfJhXUklgEqlwq35uFUZ7hnN+AUyXx7hUOLIiD5NblL+ETrHnhY4TzWszrbwUMfe2BYWtaPQg==}
     cpu: [arm64]
     os: [linux]
 
-  turbo-windows-64@2.4.1:
-    resolution: {integrity: sha512-4RYRAijohyQ7uetZY4SSikSgGccq+7tmnljdm/XezpK9t0+3gldKA2vHF0++yLZeZr+CFgqmBeGSFi7B+vhc2g==}
+  turbo-windows-64@2.4.4:
+    resolution: {integrity: sha512-PV9rYNouGz4Ff3fd6sIfQy5L7HT9a4fcZoEv8PKRavU9O75G7PoDtm8scpHU10QnK0QQNLbE9qNxOAeRvF0fJg==}
     cpu: [x64]
     os: [win32]
 
-  turbo-windows-arm64@2.4.1:
-    resolution: {integrity: sha512-4lZB0+AxWB01Adx5xHZhO746FgaHR0T3qzEDF2nf/nx8LAUtN3iwaZQgAsTsblaAKjiM7lxWDI0s/Q3fektsPg==}
+  turbo-windows-arm64@2.4.4:
+    resolution: {integrity: sha512-403sqp9t5sx6YGEC32IfZTVWkRAixOQomGYB8kEc6ZD+//LirSxzeCHCnM8EmSXw7l57U1G+Fb0kxgTcKPU/Lg==}
     cpu: [arm64]
     os: [win32]
 
-  turbo@2.4.1:
-    resolution: {integrity: sha512-XIIHXAhvD3sv34WLaN/969WTHCHYmm3zf0XQ+CrEP1A7ffIQG50cwNcp7Gh96CaGyjEXMh9odoHyggoZQ3Prvw==}
+  turbo@2.4.4:
+    resolution: {integrity: sha512-N9FDOVaY3yz0YCOhYIgOGYad7+m2ptvinXygw27WPLQvcZDl3+0Sa77KGVlLSiuPDChOUEnTKE9VJwLSi9BPGQ==}
     hasBin: true
 
-  twoslash-protocol@0.2.12:
-    resolution: {integrity: sha512-5qZLXVYfZ9ABdjqbvPc4RWMr7PrpPaaDSeaYY55vl/w1j6H6kzsWK/urAEIXlzYlyrFmyz1UbwIt+AA0ck+wbg==}
+  twoslash-protocol@0.3.1:
+    resolution: {integrity: sha512-BMePTL9OkuNISSyyMclBBhV2s9++DiOCyhhCoV5Kaht6eaWLwVjCCUJHY33eZJPsyKeZYS8Wzz0h+XI01VohVw==}
 
-  twoslash@0.2.12:
-    resolution: {integrity: sha512-tEHPASMqi7kqwfJbkk7hc/4EhlrKCSLcur+TcvYki3vhIfaRMXnXjaYFgXpoZRbT6GdprD4tGuVBEmTpUgLBsw==}
+  twoslash@0.3.1:
+    resolution: {integrity: sha512-OGqMTGvqXTcb92YQdwGfEdK0nZJA64Aj/ChLOelbl3TfYch2IoBST0Yx4C0LQ7Lzyqm9RpgcpgDxeXQIz4p2Kg==}
     peerDependencies:
-      typescript: '*'
+      typescript: ^5.5.0
 
   type-check@0.3.2:
     resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==}
@@ -11320,11 +11242,6 @@ packages:
       eslint: ^8.57.0 || ^9.0.0
       typescript: '>=4.8.4 <5.8.0'
 
-  typescript@5.7.2:
-    resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==}
-    engines: {node: '>=14.17'}
-    hasBin: true
-
   typescript@5.7.3:
     resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
     engines: {node: '>=14.17'}
@@ -12028,16 +11945,6 @@ snapshots:
       react: 19.0.0
       zod: 3.24.2
 
-  '@ai-sdk/react@1.1.11(react@18.3.1)(zod@3.24.2)':
-    dependencies:
-      '@ai-sdk/provider-utils': 2.1.6(zod@3.24.2)
-      '@ai-sdk/ui-utils': 1.1.11(zod@3.24.2)
-      swr: 2.3.2(react@18.3.1)
-      throttleit: 2.1.0
-    optionalDependencies:
-      react: 18.3.1
-      zod: 3.24.2
-
   '@ai-sdk/react@1.1.11(react@19.0.0)(zod@3.24.2)':
     dependencies:
       '@ai-sdk/provider-utils': 2.1.6(zod@3.24.2)
@@ -12083,13 +11990,13 @@ snapshots:
     optionalDependencies:
       zod: 3.24.2
 
-  '@ai-sdk/vue@0.0.59(vue@3.5.13(typescript@5.7.2))(zod@3.24.2)':
+  '@ai-sdk/vue@0.0.59(vue@3.5.13(typescript@5.7.3))(zod@3.24.2)':
     dependencies:
       '@ai-sdk/provider-utils': 1.0.22(zod@3.24.2)
       '@ai-sdk/ui-utils': 0.0.50(zod@3.24.2)
-      swrv: 1.1.0(vue@3.5.13(typescript@5.7.2))
+      swrv: 1.1.0(vue@3.5.13(typescript@5.7.3))
     optionalDependencies:
-      vue: 3.5.13(typescript@5.7.2)
+      vue: 3.5.13(typescript@5.7.3)
     transitivePeerDependencies:
       - zod
 
@@ -12112,7 +12019,7 @@ snapshots:
     transitivePeerDependencies:
       - encoding
 
-  '@apidevtools/json-schema-ref-parser@11.9.1':
+  '@apidevtools/json-schema-ref-parser@11.9.3':
     dependencies:
       '@jsdevtools/ono': 7.1.3
       '@types/json-schema': 7.0.15
@@ -12883,6 +12790,10 @@ snapshots:
     dependencies:
       regenerator-runtime: 0.14.1
 
+  '@babel/runtime@7.26.9':
+    dependencies:
+      regenerator-runtime: 0.14.1
+
   '@babel/template@7.26.8':
     dependencies:
       '@babel/code-frame': 7.26.2
@@ -13065,7 +12976,7 @@ snapshots:
     dependencies:
       mime: 3.0.0
 
-  '@cloudflare/vitest-pool-workers@0.5.41(@cloudflare/workers-types@4.20250204.0)(@vitest/runner@2.1.5)(@vitest/snapshot@2.1.5)(bufferutil@4.0.9)(vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(terser@5.38.2))':
+  '@cloudflare/vitest-pool-workers@0.5.41(@cloudflare/workers-types@4.20250204.0)(@vitest/runner@2.1.5)(@vitest/snapshot@2.1.5)(bufferutil@4.0.9)(vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2))':
     dependencies:
       '@vitest/runner': 2.1.5
       '@vitest/snapshot': 2.1.5
@@ -13075,7 +12986,7 @@ snapshots:
       esbuild: 0.17.19
       miniflare: 3.20241230.0(bufferutil@4.0.9)
       semver: 7.7.1
-      vitest: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(terser@5.38.2)
+      vitest: 2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2)
       wrangler: 3.100.0(@cloudflare/workers-types@4.20250204.0)(bufferutil@4.0.9)
       zod: 3.24.2
     transitivePeerDependencies:
@@ -13281,10 +13192,10 @@ snapshots:
   '@esbuild/aix-ppc64@0.21.5':
     optional: true
 
-  '@esbuild/aix-ppc64@0.23.1':
+  '@esbuild/aix-ppc64@0.24.2':
     optional: true
 
-  '@esbuild/aix-ppc64@0.24.2':
+  '@esbuild/aix-ppc64@0.25.0':
     optional: true
 
   '@esbuild/android-arm64@0.17.19':
@@ -13293,10 +13204,10 @@ snapshots:
   '@esbuild/android-arm64@0.21.5':
     optional: true
 
-  '@esbuild/android-arm64@0.23.1':
+  '@esbuild/android-arm64@0.24.2':
     optional: true
 
-  '@esbuild/android-arm64@0.24.2':
+  '@esbuild/android-arm64@0.25.0':
     optional: true
 
   '@esbuild/android-arm@0.17.19':
@@ -13305,10 +13216,10 @@ snapshots:
   '@esbuild/android-arm@0.21.5':
     optional: true
 
-  '@esbuild/android-arm@0.23.1':
+  '@esbuild/android-arm@0.24.2':
     optional: true
 
-  '@esbuild/android-arm@0.24.2':
+  '@esbuild/android-arm@0.25.0':
     optional: true
 
   '@esbuild/android-x64@0.17.19':
@@ -13317,10 +13228,10 @@ snapshots:
   '@esbuild/android-x64@0.21.5':
     optional: true
 
-  '@esbuild/android-x64@0.23.1':
+  '@esbuild/android-x64@0.24.2':
     optional: true
 
-  '@esbuild/android-x64@0.24.2':
+  '@esbuild/android-x64@0.25.0':
     optional: true
 
   '@esbuild/darwin-arm64@0.17.19':
@@ -13329,10 +13240,10 @@ snapshots:
   '@esbuild/darwin-arm64@0.21.5':
     optional: true
 
-  '@esbuild/darwin-arm64@0.23.1':
+  '@esbuild/darwin-arm64@0.24.2':
     optional: true
 
-  '@esbuild/darwin-arm64@0.24.2':
+  '@esbuild/darwin-arm64@0.25.0':
     optional: true
 
   '@esbuild/darwin-x64@0.17.19':
@@ -13341,10 +13252,10 @@ snapshots:
   '@esbuild/darwin-x64@0.21.5':
     optional: true
 
-  '@esbuild/darwin-x64@0.23.1':
+  '@esbuild/darwin-x64@0.24.2':
     optional: true
 
-  '@esbuild/darwin-x64@0.24.2':
+  '@esbuild/darwin-x64@0.25.0':
     optional: true
 
   '@esbuild/freebsd-arm64@0.17.19':
@@ -13353,10 +13264,10 @@ snapshots:
   '@esbuild/freebsd-arm64@0.21.5':
     optional: true
 
-  '@esbuild/freebsd-arm64@0.23.1':
+  '@esbuild/freebsd-arm64@0.24.2':
     optional: true
 
-  '@esbuild/freebsd-arm64@0.24.2':
+  '@esbuild/freebsd-arm64@0.25.0':
     optional: true
 
   '@esbuild/freebsd-x64@0.17.19':
@@ -13365,10 +13276,10 @@ snapshots:
   '@esbuild/freebsd-x64@0.21.5':
     optional: true
 
-  '@esbuild/freebsd-x64@0.23.1':
+  '@esbuild/freebsd-x64@0.24.2':
     optional: true
 
-  '@esbuild/freebsd-x64@0.24.2':
+  '@esbuild/freebsd-x64@0.25.0':
     optional: true
 
   '@esbuild/linux-arm64@0.17.19':
@@ -13377,10 +13288,10 @@ snapshots:
   '@esbuild/linux-arm64@0.21.5':
     optional: true
 
-  '@esbuild/linux-arm64@0.23.1':
+  '@esbuild/linux-arm64@0.24.2':
     optional: true
 
-  '@esbuild/linux-arm64@0.24.2':
+  '@esbuild/linux-arm64@0.25.0':
     optional: true
 
   '@esbuild/linux-arm@0.17.19':
@@ -13389,10 +13300,10 @@ snapshots:
   '@esbuild/linux-arm@0.21.5':
     optional: true
 
-  '@esbuild/linux-arm@0.23.1':
+  '@esbuild/linux-arm@0.24.2':
     optional: true
 
-  '@esbuild/linux-arm@0.24.2':
+  '@esbuild/linux-arm@0.25.0':
     optional: true
 
   '@esbuild/linux-ia32@0.17.19':
@@ -13401,10 +13312,10 @@ snapshots:
   '@esbuild/linux-ia32@0.21.5':
     optional: true
 
-  '@esbuild/linux-ia32@0.23.1':
+  '@esbuild/linux-ia32@0.24.2':
     optional: true
 
-  '@esbuild/linux-ia32@0.24.2':
+  '@esbuild/linux-ia32@0.25.0':
     optional: true
 
   '@esbuild/linux-loong64@0.17.19':
@@ -13413,10 +13324,10 @@ snapshots:
   '@esbuild/linux-loong64@0.21.5':
     optional: true
 
-  '@esbuild/linux-loong64@0.23.1':
+  '@esbuild/linux-loong64@0.24.2':
     optional: true
 
-  '@esbuild/linux-loong64@0.24.2':
+  '@esbuild/linux-loong64@0.25.0':
     optional: true
 
   '@esbuild/linux-mips64el@0.17.19':
@@ -13425,10 +13336,10 @@ snapshots:
   '@esbuild/linux-mips64el@0.21.5':
     optional: true
 
-  '@esbuild/linux-mips64el@0.23.1':
+  '@esbuild/linux-mips64el@0.24.2':
     optional: true
 
-  '@esbuild/linux-mips64el@0.24.2':
+  '@esbuild/linux-mips64el@0.25.0':
     optional: true
 
   '@esbuild/linux-ppc64@0.17.19':
@@ -13437,10 +13348,10 @@ snapshots:
   '@esbuild/linux-ppc64@0.21.5':
     optional: true
 
-  '@esbuild/linux-ppc64@0.23.1':
+  '@esbuild/linux-ppc64@0.24.2':
     optional: true
 
-  '@esbuild/linux-ppc64@0.24.2':
+  '@esbuild/linux-ppc64@0.25.0':
     optional: true
 
   '@esbuild/linux-riscv64@0.17.19':
@@ -13449,10 +13360,10 @@ snapshots:
   '@esbuild/linux-riscv64@0.21.5':
     optional: true
 
-  '@esbuild/linux-riscv64@0.23.1':
+  '@esbuild/linux-riscv64@0.24.2':
     optional: true
 
-  '@esbuild/linux-riscv64@0.24.2':
+  '@esbuild/linux-riscv64@0.25.0':
     optional: true
 
   '@esbuild/linux-s390x@0.17.19':
@@ -13461,10 +13372,10 @@ snapshots:
   '@esbuild/linux-s390x@0.21.5':
     optional: true
 
-  '@esbuild/linux-s390x@0.23.1':
+  '@esbuild/linux-s390x@0.24.2':
     optional: true
 
-  '@esbuild/linux-s390x@0.24.2':
+  '@esbuild/linux-s390x@0.25.0':
     optional: true
 
   '@esbuild/linux-x64@0.17.19':
@@ -13473,43 +13384,46 @@ snapshots:
   '@esbuild/linux-x64@0.21.5':
     optional: true
 
-  '@esbuild/linux-x64@0.23.1':
+  '@esbuild/linux-x64@0.24.2':
     optional: true
 
-  '@esbuild/linux-x64@0.24.2':
+  '@esbuild/linux-x64@0.25.0':
     optional: true
 
   '@esbuild/netbsd-arm64@0.24.2':
     optional: true
 
-  '@esbuild/netbsd-x64@0.17.19':
+  '@esbuild/netbsd-arm64@0.25.0':
     optional: true
 
-  '@esbuild/netbsd-x64@0.21.5':
+  '@esbuild/netbsd-x64@0.17.19':
     optional: true
 
-  '@esbuild/netbsd-x64@0.23.1':
+  '@esbuild/netbsd-x64@0.21.5':
     optional: true
 
   '@esbuild/netbsd-x64@0.24.2':
     optional: true
 
-  '@esbuild/openbsd-arm64@0.23.1':
+  '@esbuild/netbsd-x64@0.25.0':
     optional: true
 
   '@esbuild/openbsd-arm64@0.24.2':
     optional: true
 
+  '@esbuild/openbsd-arm64@0.25.0':
+    optional: true
+
   '@esbuild/openbsd-x64@0.17.19':
     optional: true
 
   '@esbuild/openbsd-x64@0.21.5':
     optional: true
 
-  '@esbuild/openbsd-x64@0.23.1':
+  '@esbuild/openbsd-x64@0.24.2':
     optional: true
 
-  '@esbuild/openbsd-x64@0.24.2':
+  '@esbuild/openbsd-x64@0.25.0':
     optional: true
 
   '@esbuild/sunos-x64@0.17.19':
@@ -13518,10 +13432,10 @@ snapshots:
   '@esbuild/sunos-x64@0.21.5':
     optional: true
 
-  '@esbuild/sunos-x64@0.23.1':
+  '@esbuild/sunos-x64@0.24.2':
     optional: true
 
-  '@esbuild/sunos-x64@0.24.2':
+  '@esbuild/sunos-x64@0.25.0':
     optional: true
 
   '@esbuild/win32-arm64@0.17.19':
@@ -13530,10 +13444,10 @@ snapshots:
   '@esbuild/win32-arm64@0.21.5':
     optional: true
 
-  '@esbuild/win32-arm64@0.23.1':
+  '@esbuild/win32-arm64@0.24.2':
     optional: true
 
-  '@esbuild/win32-arm64@0.24.2':
+  '@esbuild/win32-arm64@0.25.0':
     optional: true
 
   '@esbuild/win32-ia32@0.17.19':
@@ -13542,10 +13456,10 @@ snapshots:
   '@esbuild/win32-ia32@0.21.5':
     optional: true
 
-  '@esbuild/win32-ia32@0.23.1':
+  '@esbuild/win32-ia32@0.24.2':
     optional: true
 
-  '@esbuild/win32-ia32@0.24.2':
+  '@esbuild/win32-ia32@0.25.0':
     optional: true
 
   '@esbuild/win32-x64@0.17.19':
@@ -13554,10 +13468,10 @@ snapshots:
   '@esbuild/win32-x64@0.21.5':
     optional: true
 
-  '@esbuild/win32-x64@0.23.1':
+  '@esbuild/win32-x64@0.24.2':
     optional: true
 
-  '@esbuild/win32-x64@0.24.2':
+  '@esbuild/win32-x64@0.25.0':
     optional: true
 
   '@eslint-community/eslint-utils@4.4.1(eslint@9.16.0(jiti@2.4.2))':
@@ -13565,6 +13479,11 @@ snapshots:
       eslint: 9.16.0(jiti@2.4.2)
       eslint-visitor-keys: 3.4.3
 
+  '@eslint-community/eslint-utils@4.4.1(eslint@9.22.0(jiti@2.4.2))':
+    dependencies:
+      eslint: 9.22.0(jiti@2.4.2)
+      eslint-visitor-keys: 3.4.3
+
   '@eslint-community/regexpp@4.12.1': {}
 
   '@eslint/config-array@0.19.2':
@@ -13575,10 +13494,16 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  '@eslint/config-helpers@0.1.0': {}
+
   '@eslint/core@0.10.0':
     dependencies:
       '@types/json-schema': 7.0.15
 
+  '@eslint/core@0.12.0':
+    dependencies:
+      '@types/json-schema': 7.0.15
+
   '@eslint/core@0.9.1':
     dependencies:
       '@types/json-schema': 7.0.15
@@ -13597,8 +13522,24 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  '@eslint/eslintrc@3.3.0':
+    dependencies:
+      ajv: 6.12.6
+      debug: 4.4.0
+      espree: 10.3.0
+      globals: 14.0.0
+      ignore: 5.3.2
+      import-fresh: 3.3.1
+      js-yaml: 4.1.0
+      minimatch: 3.1.2
+      strip-json-comments: 3.1.1
+    transitivePeerDependencies:
+      - supports-color
+
   '@eslint/js@9.16.0': {}
 
+  '@eslint/js@9.22.0': {}
+
   '@eslint/object-schema@2.1.6': {}
 
   '@eslint/plugin-kit@0.2.5':
@@ -13606,6 +13547,11 @@ snapshots:
       '@eslint/core': 0.10.0
       levn: 0.4.1
 
+  '@eslint/plugin-kit@0.2.7':
+    dependencies:
+      '@eslint/core': 0.12.0
+      levn: 0.4.1
+
   '@faker-js/faker@9.4.0': {}
 
   '@fastify/busboy@2.1.1': {}
@@ -13629,24 +13575,24 @@ snapshots:
 
   '@floating-ui/utils@0.2.9': {}
 
-  '@floating-ui/vue@1.1.6(vue@3.5.13(typescript@5.7.2))':
+  '@floating-ui/vue@1.1.6(vue@3.5.13(typescript@5.7.3))':
     dependencies:
       '@floating-ui/dom': 1.6.13
       '@floating-ui/utils': 0.2.9
-      vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.2))
+      vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.3))
     transitivePeerDependencies:
       - '@vue/composition-api'
       - vue
 
-  '@formatjs/intl-localematcher@0.5.10':
+  '@formatjs/intl-localematcher@0.6.0':
     dependencies:
       tslib: 2.8.1
 
   '@fumari/json-schema-to-typescript@1.1.2':
     dependencies:
-      '@apidevtools/json-schema-ref-parser': 11.9.1
+      '@apidevtools/json-schema-ref-parser': 11.9.3
       js-yaml: 4.1.0
-      prettier: 3.5.0
+      prettier: 3.5.2
 
   '@gerrit0/mini-shiki@1.27.2':
     dependencies:
@@ -13690,14 +13636,14 @@ snapshots:
       protobufjs: 7.4.0
       yargs: 17.7.2
 
-  '@headlessui/tailwindcss@0.2.2(tailwindcss@3.4.17)':
+  '@headlessui/tailwindcss@0.2.2(tailwindcss@4.0.9)':
     dependencies:
-      tailwindcss: 3.4.17
+      tailwindcss: 4.0.9
 
-  '@headlessui/vue@1.7.23(vue@3.5.13(typescript@5.7.2))':
+  '@headlessui/vue@1.7.23(vue@3.5.13(typescript@5.7.3))':
     dependencies:
-      '@tanstack/vue-virtual': 3.13.0(vue@3.5.13(typescript@5.7.2))
-      vue: 3.5.13(typescript@5.7.2)
+      '@tanstack/vue-virtual': 3.13.0(vue@3.5.13(typescript@5.7.3))
+      vue: 3.5.13(typescript@5.7.3)
 
   '@hey-api/client-fetch@0.6.0': {}
 
@@ -13751,6 +13697,8 @@ snapshots:
 
   '@humanwhocodes/retry@0.4.1': {}
 
+  '@humanwhocodes/retry@0.4.2': {}
+
   '@hyperjump/browser@1.2.0':
     dependencies:
       '@hyperjump/json-pointer': 1.1.0
@@ -14008,36 +13956,37 @@ snapshots:
       '@lezer/highlight': 1.2.1
       '@lezer/lr': 1.4.2
 
-  '@llamaindex/chat-ui@0.0.9(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@llamaindex/chat-ui@0.2.0(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
-      '@llamaindex/pdf-viewer': 1.2.0(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-collapsible': 1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-hover-card': 1.1.6(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@llamaindex/pdf-viewer': 1.3.0(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-collapsible': 1.1.3(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-hover-card': 1.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       '@radix-ui/react-icons': 1.3.2(react@19.0.0)
-      '@radix-ui/react-progress': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-select': 2.1.6(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-tabs': 1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-progress': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-select': 2.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-slot': 1.1.2(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-tabs': 1.1.3(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       class-variance-authority: 0.7.1
       clsx: 2.1.1
       highlight.js: 11.11.1
+      katex: 0.16.21
       lucide-react: 0.453.0(react@19.0.0)
       react: 19.0.0
-      react-markdown: 8.0.7(@types/react@18.3.12)(react@19.0.0)
+      react-markdown: 8.0.7(@types/react@19.0.10)(react@19.0.0)
       rehype-katex: 7.0.1
       remark: 14.0.3
       remark-code-import: 1.2.0
       remark-gfm: 3.0.1
       remark-math: 5.1.1
       tailwind-merge: 2.6.0
-      vaul: 0.9.9(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      vaul: 0.9.9(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
     transitivePeerDependencies:
       - '@types/react'
       - '@types/react-dom'
       - react-dom
       - supports-color
 
-  '@llamaindex/pdf-viewer@1.2.0(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@llamaindex/pdf-viewer@1.3.0(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
       '@wojtekmaj/react-hooks': 1.17.2(react@19.0.0)
       clsx: 2.1.1
@@ -14047,10 +13996,10 @@ snapshots:
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
       react-intersection-observer: 9.5.1(react@19.0.0)
-      react-pdf: 9.2.1(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      react-pdf: 9.2.1(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       react-window: 1.8.9(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
   '@manypkg/find-root@1.1.0':
     dependencies:
@@ -14219,32 +14168,34 @@ snapshots:
 
   '@next/env@15.1.7': {}
 
+  '@next/env@15.2.0': {}
+
   '@next/eslint-plugin-next@15.1.0':
     dependencies:
       fast-glob: 3.3.1
 
-  '@next/swc-darwin-arm64@15.1.7':
+  '@next/swc-darwin-arm64@15.2.0':
     optional: true
 
-  '@next/swc-darwin-x64@15.1.7':
+  '@next/swc-darwin-x64@15.2.0':
     optional: true
 
-  '@next/swc-linux-arm64-gnu@15.1.7':
+  '@next/swc-linux-arm64-gnu@15.2.0':
     optional: true
 
-  '@next/swc-linux-arm64-musl@15.1.7':
+  '@next/swc-linux-arm64-musl@15.2.0':
     optional: true
 
-  '@next/swc-linux-x64-gnu@15.1.7':
+  '@next/swc-linux-x64-gnu@15.2.0':
     optional: true
 
-  '@next/swc-linux-x64-musl@15.1.7':
+  '@next/swc-linux-x64-musl@15.2.0':
     optional: true
 
-  '@next/swc-win32-arm64-msvc@15.1.7':
+  '@next/swc-win32-arm64-msvc@15.2.0':
     optional: true
 
-  '@next/swc-win32-x64-msvc@15.1.7':
+  '@next/swc-win32-x64-msvc@15.2.0':
     optional: true
 
   '@nodelib/fs.scandir@2.1.5':
@@ -14286,30 +14237,30 @@ snapshots:
 
   '@opentelemetry/api@1.9.0': {}
 
-  '@orama/orama@2.1.1': {}
+  '@orama/orama@3.1.1': {}
 
-  '@oxc-transform/binding-darwin-arm64@0.48.2':
+  '@oxc-transform/binding-darwin-arm64@0.53.0':
     optional: true
 
-  '@oxc-transform/binding-darwin-x64@0.48.2':
+  '@oxc-transform/binding-darwin-x64@0.53.0':
     optional: true
 
-  '@oxc-transform/binding-linux-arm64-gnu@0.48.2':
+  '@oxc-transform/binding-linux-arm64-gnu@0.53.0':
     optional: true
 
-  '@oxc-transform/binding-linux-arm64-musl@0.48.2':
+  '@oxc-transform/binding-linux-arm64-musl@0.53.0':
     optional: true
 
-  '@oxc-transform/binding-linux-x64-gnu@0.48.2':
+  '@oxc-transform/binding-linux-x64-gnu@0.53.0':
     optional: true
 
-  '@oxc-transform/binding-linux-x64-musl@0.48.2':
+  '@oxc-transform/binding-linux-x64-musl@0.53.0':
     optional: true
 
-  '@oxc-transform/binding-win32-arm64-msvc@0.48.2':
+  '@oxc-transform/binding-win32-arm64-msvc@0.53.0':
     optional: true
 
-  '@oxc-transform/binding-win32-x64-msvc@0.48.2':
+  '@oxc-transform/binding-win32-x64-msvc@0.53.0':
     optional: true
 
   '@petamoriken/float16@3.9.1': {}
@@ -14384,461 +14335,448 @@ snapshots:
 
   '@radix-ui/primitive@1.1.1': {}
 
-  '@radix-ui/react-accordion@1.2.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-accordion@1.2.3(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
       '@radix-ui/primitive': 1.1.1
-      '@radix-ui/react-collapsible': 1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-collapsible': 1.1.3(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-collection': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-direction': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-id': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-arrow@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-arrow@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-collapsible@1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-collapsible@1.1.3(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
       '@radix-ui/primitive': 1.1.1
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-id': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-collection@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-collection@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-slot': 1.1.2(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
-
-  '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.12)(react@18.3.1)':
-    dependencies:
-      react: 18.3.1
-    optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.12)(react@19.0.0)':
+  '@radix-ui/react-compose-refs@1.1.1(@types/react@19.0.10)(react@19.0.0)':
     dependencies:
       react: 19.0.0
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  '@radix-ui/react-context@1.1.1(@types/react@18.3.12)(react@19.0.0)':
+  '@radix-ui/react-context@1.1.1(@types/react@19.0.10)(react@19.0.0)':
     dependencies:
       react: 19.0.0
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  '@radix-ui/react-dialog@1.1.6(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-dialog@1.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
       '@radix-ui/primitive': 1.1.1
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-id': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-slot': 1.1.2(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       aria-hidden: 1.2.4
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
-      react-remove-scroll: 2.6.3(@types/react@18.3.12)(react@19.0.0)
+      react-remove-scroll: 2.6.3(@types/react@19.0.10)(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-direction@1.1.0(@types/react@18.3.12)(react@19.0.0)':
+  '@radix-ui/react-direction@1.1.0(@types/react@19.0.10)(react@19.0.0)':
     dependencies:
       react: 19.0.0
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
       '@radix-ui/primitive': 1.1.1
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.12)(react@19.0.0)':
+  '@radix-ui/react-focus-guards@1.1.1(@types/react@19.0.10)(react@19.0.0)':
     dependencies:
       react: 19.0.0
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-hover-card@1.1.6(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-hover-card@1.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
       '@radix-ui/primitive': 1.1.1
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-popper': 1.2.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
   '@radix-ui/react-icons@1.3.2(react@19.0.0)':
     dependencies:
       react: 19.0.0
 
-  '@radix-ui/react-id@1.1.0(@types/react@18.3.12)(react@19.0.0)':
+  '@radix-ui/react-id@1.1.0(@types/react@19.0.10)(react@19.0.0)':
     dependencies:
-      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  '@radix-ui/react-label@2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-label@2.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-navigation-menu@1.2.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-navigation-menu@1.2.5(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
       '@radix-ui/primitive': 1.1.1
-      '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-collection': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-direction': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-id': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-popover@1.1.6(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-popover@1.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
       '@radix-ui/primitive': 1.1.1
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-id': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-popper': 1.2.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-slot': 1.1.2(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       aria-hidden: 1.2.4
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
-      react-remove-scroll: 2.6.3(@types/react@18.3.12)(react@19.0.0)
+      react-remove-scroll: 2.6.3(@types/react@19.0.10)(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-popper@1.2.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-popper@1.2.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
       '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-arrow': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-arrow': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-rect': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       '@radix-ui/rect': 1.1.0
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-portal@1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-portal@1.1.4(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-presence@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-presence@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-primitive@2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-primitive@2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
-      '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-slot': 1.1.2(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-progress@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-progress@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-roving-focus@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-roving-focus@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
       '@radix-ui/primitive': 1.1.1
-      '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-collection': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-direction': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-id': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-scroll-area@1.2.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-scroll-area@1.2.3(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
       '@radix-ui/number': 1.1.0
       '@radix-ui/primitive': 1.1.1
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-direction': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-select@2.1.6(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-select@2.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
       '@radix-ui/number': 1.1.0
       '@radix-ui/primitive': 1.1.1
-      '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-collection': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-direction': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-id': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-popper': 1.2.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-slot': 1.1.2(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       aria-hidden: 1.2.4
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
-      react-remove-scroll: 2.6.3(@types/react@18.3.12)(react@19.0.0)
+      react-remove-scroll: 2.6.3(@types/react@19.0.10)(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-slider@1.2.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-slider@1.2.3(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
       '@radix-ui/number': 1.1.0
       '@radix-ui/primitive': 1.1.1
-      '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-collection': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-direction': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
-
-  '@radix-ui/react-slot@1.1.2(@types/react@18.3.12)(react@18.3.1)':
-    dependencies:
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
-      react: 18.3.1
-    optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-slot@1.1.2(@types/react@18.3.12)(react@19.0.0)':
+  '@radix-ui/react-slot@1.1.2(@types/react@19.0.10)(react@19.0.0)':
     dependencies:
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  '@radix-ui/react-tabs@1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-tabs@1.1.3(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
       '@radix-ui/primitive': 1.1.1
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-roving-focus': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-direction': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-id': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-roving-focus': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-tooltip@1.1.8(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-tooltip@1.1.8(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
       '@radix-ui/primitive': 1.1.1
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-id': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-popper': 1.2.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-slot': 1.1.2(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
-  '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.12)(react@19.0.0)':
+  '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.0.10)(react@19.0.0)':
     dependencies:
       react: 19.0.0
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.12)(react@19.0.0)':
+  '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.0.10)(react@19.0.0)':
     dependencies:
-      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.12)(react@19.0.0)':
+  '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.0.10)(react@19.0.0)':
     dependencies:
-      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.12)(react@19.0.0)':
+  '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.0.10)(react@19.0.0)':
     dependencies:
       react: 19.0.0
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.12)(react@19.0.0)':
+  '@radix-ui/react-use-previous@1.1.0(@types/react@19.0.10)(react@19.0.0)':
     dependencies:
       react: 19.0.0
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.12)(react@19.0.0)':
+  '@radix-ui/react-use-rect@1.1.0(@types/react@19.0.10)(react@19.0.0)':
     dependencies:
       '@radix-ui/rect': 1.1.0
       react: 19.0.0
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  '@radix-ui/react-use-size@1.1.0(@types/react@18.3.12)(react@19.0.0)':
+  '@radix-ui/react-use-size@1.1.0(@types/react@19.0.10)(react@19.0.0)':
     dependencies:
-      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@19.0.0)
+      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0)
       react: 19.0.0
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  '@radix-ui/react-visually-hidden@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+  '@radix-ui/react-visually-hidden@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
     dependencies:
-      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
-      '@types/react-dom': 18.3.1
+      '@types/react': 19.0.10
+      '@types/react-dom': 19.0.4(@types/react@19.0.10)
 
   '@radix-ui/rect@1.1.0': {}
 
@@ -15030,11 +14968,11 @@ snapshots:
 
   '@sapphire/snowflake@3.5.5': {}
 
-  '@scalar/api-client-react@1.1.25(@hyperjump/browser@1.2.0)(axios@1.7.9)(react@19.0.0)(tailwindcss@3.4.17)(typescript@5.7.2)':
+  '@scalar/api-client-react@1.1.25(@hyperjump/browser@1.2.0)(axios@1.7.9)(react@19.0.0)(tailwindcss@4.0.9)(typescript@5.7.3)':
     dependencies:
-      '@scalar/api-client': 2.2.45(@hyperjump/browser@1.2.0)(axios@1.7.9)(tailwindcss@3.4.17)(typescript@5.7.2)
+      '@scalar/api-client': 2.2.45(@hyperjump/browser@1.2.0)(axios@1.7.9)(tailwindcss@4.0.9)(typescript@5.7.3)
       react: 19.0.0
-      vue: 3.5.13(typescript@5.7.2)
+      vue: 3.5.13(typescript@5.7.3)
     transitivePeerDependencies:
       - '@hyperjump/browser'
       - '@vue/composition-api'
@@ -15052,13 +14990,13 @@ snapshots:
       - typescript
       - universal-cookie
 
-  '@scalar/api-client@2.2.45(@hyperjump/browser@1.2.0)(axios@1.7.9)(tailwindcss@3.4.17)(typescript@5.7.2)':
+  '@scalar/api-client@2.2.45(@hyperjump/browser@1.2.0)(axios@1.7.9)(tailwindcss@4.0.9)(typescript@5.7.3)':
     dependencies:
-      '@headlessui/tailwindcss': 0.2.2(tailwindcss@3.4.17)
-      '@headlessui/vue': 1.7.23(vue@3.5.13(typescript@5.7.2))
-      '@scalar/components': 0.13.21(typescript@5.7.2)
-      '@scalar/draggable': 0.1.8(typescript@5.7.2)
-      '@scalar/icons': 0.1.2(typescript@5.7.2)
+      '@headlessui/tailwindcss': 0.2.2(tailwindcss@4.0.9)
+      '@headlessui/vue': 1.7.23(vue@3.5.13(typescript@5.7.3))
+      '@scalar/components': 0.13.21(typescript@5.7.3)
+      '@scalar/draggable': 0.1.8(typescript@5.7.3)
+      '@scalar/icons': 0.1.2(typescript@5.7.3)
       '@scalar/import': 0.2.23(@hyperjump/browser@1.2.0)
       '@scalar/oas-utils': 0.2.103(@hyperjump/browser@1.2.0)
       '@scalar/object-utils': 1.1.12
@@ -15067,12 +15005,12 @@ snapshots:
       '@scalar/postman-to-openapi': 0.1.26(@hyperjump/browser@1.2.0)
       '@scalar/themes': 0.9.65
       '@scalar/types': 0.0.31
-      '@scalar/use-codemirror': 0.11.66(typescript@5.7.2)
-      '@scalar/use-hooks': 0.1.19(typescript@5.7.2)
-      '@scalar/use-toasts': 0.7.8(typescript@5.7.2)
-      '@scalar/use-tooltip': 1.0.5(typescript@5.7.2)
-      '@vueuse/core': 10.11.1(vue@3.5.13(typescript@5.7.2))
-      '@vueuse/integrations': 11.3.0(axios@1.7.9)(focus-trap@7.6.4)(fuse.js@7.1.0)(vue@3.5.13(typescript@5.7.2))
+      '@scalar/use-codemirror': 0.11.66(typescript@5.7.3)
+      '@scalar/use-hooks': 0.1.19(typescript@5.7.3)
+      '@scalar/use-toasts': 0.7.8(typescript@5.7.3)
+      '@scalar/use-tooltip': 1.0.5(typescript@5.7.3)
+      '@vueuse/core': 10.11.1(vue@3.5.13(typescript@5.7.3))
+      '@vueuse/integrations': 11.3.0(axios@1.7.9)(focus-trap@7.6.4)(fuse.js@7.1.0)(vue@3.5.13(typescript@5.7.3))
       focus-trap: 7.6.4
       fuse.js: 7.1.0
       microdiff: 1.5.0
@@ -15080,8 +15018,8 @@ snapshots:
       pretty-bytes: 6.1.1
       pretty-ms: 8.0.0
       shell-quote: 1.8.2
-      vue: 3.5.13(typescript@5.7.2)
-      vue-router: 4.5.0(vue@3.5.13(typescript@5.7.2))
+      vue: 3.5.13(typescript@5.7.3)
+      vue-router: 4.5.0(vue@3.5.13(typescript@5.7.3))
       whatwg-mimetype: 4.0.0
       yaml: 2.7.0
       zod: 3.24.2
@@ -15124,35 +15062,35 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@scalar/components@0.13.21(typescript@5.7.2)':
+  '@scalar/components@0.13.21(typescript@5.7.3)':
     dependencies:
       '@floating-ui/utils': 0.2.9
-      '@floating-ui/vue': 1.1.6(vue@3.5.13(typescript@5.7.2))
-      '@headlessui/vue': 1.7.23(vue@3.5.13(typescript@5.7.2))
+      '@floating-ui/vue': 1.1.6(vue@3.5.13(typescript@5.7.3))
+      '@headlessui/vue': 1.7.23(vue@3.5.13(typescript@5.7.3))
       '@scalar/code-highlight': 0.0.20
       '@scalar/themes': 0.9.65
-      '@scalar/use-hooks': 0.1.19(typescript@5.7.2)
-      '@scalar/use-toasts': 0.7.8(typescript@5.7.2)
-      '@vueuse/core': 10.11.1(vue@3.5.13(typescript@5.7.2))
-      cva: 1.0.0-beta.2(typescript@5.7.2)
+      '@scalar/use-hooks': 0.1.19(typescript@5.7.3)
+      '@scalar/use-toasts': 0.7.8(typescript@5.7.3)
+      '@vueuse/core': 10.11.1(vue@3.5.13(typescript@5.7.3))
+      cva: 1.0.0-beta.2(typescript@5.7.3)
       nanoid: 5.0.9
-      radix-vue: 1.9.14(vue@3.5.13(typescript@5.7.2))
+      radix-vue: 1.9.14(vue@3.5.13(typescript@5.7.3))
       tailwind-merge: 2.6.0
-      vue: 3.5.13(typescript@5.7.2)
+      vue: 3.5.13(typescript@5.7.3)
     transitivePeerDependencies:
       - '@vue/composition-api'
       - supports-color
       - typescript
 
-  '@scalar/draggable@0.1.8(typescript@5.7.2)':
+  '@scalar/draggable@0.1.8(typescript@5.7.3)':
     dependencies:
-      vue: 3.5.13(typescript@5.7.2)
+      vue: 3.5.13(typescript@5.7.3)
     transitivePeerDependencies:
       - typescript
 
-  '@scalar/icons@0.1.2(typescript@5.7.2)':
+  '@scalar/icons@0.1.2(typescript@5.7.3)':
     dependencies:
-      vue: 3.5.13(typescript@5.7.2)
+      vue: 3.5.13(typescript@5.7.3)
     transitivePeerDependencies:
       - typescript
 
@@ -15185,7 +15123,7 @@ snapshots:
       just-clone: 6.2.0
       ts-deepmerge: 7.0.2
 
-  '@scalar/openapi-parser@0.10.4':
+  '@scalar/openapi-parser@0.10.5':
     dependencies:
       ajv: 8.17.1
       ajv-draft-04: 1.0.0(ajv@8.17.1)
@@ -15194,7 +15132,7 @@ snapshots:
       leven: 4.0.0
       yaml: 2.7.0
 
-  '@scalar/openapi-parser@0.10.5':
+  '@scalar/openapi-parser@0.10.9':
     dependencies:
       ajv: 8.17.1
       ajv-draft-04: 1.0.0(ajv@8.17.1)
@@ -15221,7 +15159,7 @@ snapshots:
       '@scalar/openapi-types': 0.1.7
       '@unhead/schema': 1.11.18
 
-  '@scalar/use-codemirror@0.11.66(typescript@5.7.2)':
+  '@scalar/use-codemirror@0.11.66(typescript@5.7.3)':
     dependencies:
       '@codemirror/autocomplete': 6.18.6
       '@codemirror/commands': 6.8.0
@@ -15238,38 +15176,38 @@ snapshots:
       '@lezer/highlight': 1.2.1
       '@lezer/lr': 1.4.2
       '@replit/codemirror-css-color-picker': 6.3.0(@codemirror/language@6.10.8)(@codemirror/state@6.5.2)(@codemirror/view@6.36.2)
-      '@scalar/components': 0.13.21(typescript@5.7.2)
+      '@scalar/components': 0.13.21(typescript@5.7.3)
       codemirror: 6.0.1
       style-mod: 4.1.2
-      vue: 3.5.13(typescript@5.7.2)
+      vue: 3.5.13(typescript@5.7.3)
     transitivePeerDependencies:
       - '@vue/composition-api'
       - supports-color
       - typescript
 
-  '@scalar/use-hooks@0.1.19(typescript@5.7.2)':
+  '@scalar/use-hooks@0.1.19(typescript@5.7.3)':
     dependencies:
       '@scalar/themes': 0.9.65
-      '@scalar/use-toasts': 0.7.8(typescript@5.7.2)
-      '@vueuse/core': 10.11.1(vue@3.5.13(typescript@5.7.2))
-      vue: 3.5.13(typescript@5.7.2)
+      '@scalar/use-toasts': 0.7.8(typescript@5.7.3)
+      '@vueuse/core': 10.11.1(vue@3.5.13(typescript@5.7.3))
+      vue: 3.5.13(typescript@5.7.3)
       zod: 3.24.2
     transitivePeerDependencies:
       - '@vue/composition-api'
       - typescript
 
-  '@scalar/use-toasts@0.7.8(typescript@5.7.2)':
+  '@scalar/use-toasts@0.7.8(typescript@5.7.3)':
     dependencies:
       nanoid: 5.0.9
-      vue: 3.5.13(typescript@5.7.2)
+      vue: 3.5.13(typescript@5.7.3)
       vue-sonner: 1.3.0
     transitivePeerDependencies:
       - typescript
 
-  '@scalar/use-tooltip@1.0.5(typescript@5.7.2)':
+  '@scalar/use-tooltip@1.0.5(typescript@5.7.3)':
     dependencies:
       tippy.js: 6.3.7
-      vue: 3.5.13(typescript@5.7.2)
+      vue: 3.5.13(typescript@5.7.3)
     transitivePeerDependencies:
       - typescript
 
@@ -15289,16 +15227,14 @@ snapshots:
       '@shikijs/types': 1.23.1
       '@shikijs/vscode-textmate': 9.3.1
       '@types/hast': 3.0.4
-      hast-util-to-html: 9.0.4
+      hast-util-to-html: 9.0.5
 
-  '@shikijs/core@2.3.2':
+  '@shikijs/core@3.1.0':
     dependencies:
-      '@shikijs/engine-javascript': 2.3.2
-      '@shikijs/engine-oniguruma': 2.3.2
-      '@shikijs/types': 2.3.2
-      '@shikijs/vscode-textmate': 10.0.1
+      '@shikijs/types': 3.1.0
+      '@shikijs/vscode-textmate': 10.0.2
       '@types/hast': 3.0.4
-      hast-util-to-html: 9.0.4
+      hast-util-to-html: 9.0.5
 
   '@shikijs/engine-javascript@1.23.1':
     dependencies:
@@ -15306,11 +15242,11 @@ snapshots:
       '@shikijs/vscode-textmate': 9.3.1
       oniguruma-to-es: 0.4.1
 
-  '@shikijs/engine-javascript@2.3.2':
+  '@shikijs/engine-javascript@3.1.0':
     dependencies:
-      '@shikijs/types': 2.3.2
-      '@shikijs/vscode-textmate': 10.0.1
-      oniguruma-to-es: 3.1.0
+      '@shikijs/types': 3.1.0
+      '@shikijs/vscode-textmate': 10.0.2
+      oniguruma-to-es: 3.1.1
 
   '@shikijs/engine-oniguruma@1.23.1':
     dependencies:
@@ -15320,43 +15256,43 @@ snapshots:
   '@shikijs/engine-oniguruma@1.29.2':
     dependencies:
       '@shikijs/types': 1.29.2
-      '@shikijs/vscode-textmate': 10.0.1
+      '@shikijs/vscode-textmate': 10.0.2
 
-  '@shikijs/engine-oniguruma@2.3.2':
+  '@shikijs/engine-oniguruma@3.1.0':
     dependencies:
-      '@shikijs/types': 2.3.2
-      '@shikijs/vscode-textmate': 10.0.1
+      '@shikijs/types': 3.1.0
+      '@shikijs/vscode-textmate': 10.0.2
 
-  '@shikijs/langs@2.3.2':
+  '@shikijs/langs@3.1.0':
     dependencies:
-      '@shikijs/types': 2.3.2
+      '@shikijs/types': 3.1.0
 
-  '@shikijs/rehype@2.3.2':
+  '@shikijs/rehype@3.1.0':
     dependencies:
-      '@shikijs/types': 2.3.2
+      '@shikijs/types': 3.1.0
       '@types/hast': 3.0.4
       hast-util-to-string: 3.0.1
-      shiki: 2.3.2
+      shiki: 3.1.0
       unified: 11.0.5
       unist-util-visit: 5.0.0
 
-  '@shikijs/themes@2.3.2':
+  '@shikijs/themes@3.1.0':
     dependencies:
-      '@shikijs/types': 2.3.2
+      '@shikijs/types': 3.1.0
 
-  '@shikijs/transformers@2.3.2':
+  '@shikijs/transformers@3.1.0':
     dependencies:
-      '@shikijs/core': 2.3.2
-      '@shikijs/types': 2.3.2
+      '@shikijs/core': 3.1.0
+      '@shikijs/types': 3.1.0
 
-  '@shikijs/twoslash@2.3.2(typescript@5.7.2)':
+  '@shikijs/twoslash@3.1.0(typescript@5.7.3)':
     dependencies:
-      '@shikijs/core': 2.3.2
-      '@shikijs/types': 2.3.2
-      twoslash: 0.2.12(typescript@5.7.2)
+      '@shikijs/core': 3.1.0
+      '@shikijs/types': 3.1.0
+      twoslash: 0.3.1(typescript@5.7.3)
+      typescript: 5.7.3
     transitivePeerDependencies:
       - supports-color
-      - typescript
 
   '@shikijs/types@1.23.1':
     dependencies:
@@ -15365,16 +15301,18 @@ snapshots:
 
   '@shikijs/types@1.29.2':
     dependencies:
-      '@shikijs/vscode-textmate': 10.0.1
+      '@shikijs/vscode-textmate': 10.0.2
       '@types/hast': 3.0.4
 
-  '@shikijs/types@2.3.2':
+  '@shikijs/types@3.1.0':
     dependencies:
-      '@shikijs/vscode-textmate': 10.0.1
+      '@shikijs/vscode-textmate': 10.0.2
       '@types/hast': 3.0.4
 
   '@shikijs/vscode-textmate@10.0.1': {}
 
+  '@shikijs/vscode-textmate@10.0.2': {}
+
   '@shikijs/vscode-textmate@9.3.1': {}
 
   '@sindresorhus/is@5.6.0': {}
@@ -15907,12 +15845,74 @@ snapshots:
     dependencies:
       defer-to-connect: 2.0.1
 
+  '@tailwindcss/node@4.0.9':
+    dependencies:
+      enhanced-resolve: 5.18.1
+      jiti: 2.4.2
+      tailwindcss: 4.0.9
+
+  '@tailwindcss/oxide-android-arm64@4.0.9':
+    optional: true
+
+  '@tailwindcss/oxide-darwin-arm64@4.0.9':
+    optional: true
+
+  '@tailwindcss/oxide-darwin-x64@4.0.9':
+    optional: true
+
+  '@tailwindcss/oxide-freebsd-x64@4.0.9':
+    optional: true
+
+  '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.9':
+    optional: true
+
+  '@tailwindcss/oxide-linux-arm64-gnu@4.0.9':
+    optional: true
+
+  '@tailwindcss/oxide-linux-arm64-musl@4.0.9':
+    optional: true
+
+  '@tailwindcss/oxide-linux-x64-gnu@4.0.9':
+    optional: true
+
+  '@tailwindcss/oxide-linux-x64-musl@4.0.9':
+    optional: true
+
+  '@tailwindcss/oxide-win32-arm64-msvc@4.0.9':
+    optional: true
+
+  '@tailwindcss/oxide-win32-x64-msvc@4.0.9':
+    optional: true
+
+  '@tailwindcss/oxide@4.0.9':
+    optionalDependencies:
+      '@tailwindcss/oxide-android-arm64': 4.0.9
+      '@tailwindcss/oxide-darwin-arm64': 4.0.9
+      '@tailwindcss/oxide-darwin-x64': 4.0.9
+      '@tailwindcss/oxide-freebsd-x64': 4.0.9
+      '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.9
+      '@tailwindcss/oxide-linux-arm64-gnu': 4.0.9
+      '@tailwindcss/oxide-linux-arm64-musl': 4.0.9
+      '@tailwindcss/oxide-linux-x64-gnu': 4.0.9
+      '@tailwindcss/oxide-linux-x64-musl': 4.0.9
+      '@tailwindcss/oxide-win32-arm64-msvc': 4.0.9
+      '@tailwindcss/oxide-win32-x64-msvc': 4.0.9
+
+  '@tailwindcss/postcss@4.0.9':
+    dependencies:
+      '@alloc/quick-lru': 5.2.0
+      '@tailwindcss/node': 4.0.9
+      '@tailwindcss/oxide': 4.0.9
+      lightningcss: 1.29.1
+      postcss: 8.5.3
+      tailwindcss: 4.0.9
+
   '@tanstack/virtual-core@3.13.0': {}
 
-  '@tanstack/vue-virtual@3.13.0(vue@3.5.13(typescript@5.7.2))':
+  '@tanstack/vue-virtual@3.13.0(vue@3.5.13(typescript@5.7.3))':
     dependencies:
       '@tanstack/virtual-core': 3.13.0
-      vue: 3.5.13(typescript@5.7.2)
+      vue: 3.5.13(typescript@5.7.3)
 
   '@tokenizer/token@0.3.0': {}
 
@@ -16076,17 +16076,12 @@ snapshots:
 
   '@types/prop-types@15.7.14': {}
 
-  '@types/react-dom@18.3.1':
-    dependencies:
-      '@types/react': 18.3.12
-
-  '@types/react-syntax-highlighter@15.5.13':
+  '@types/react-dom@19.0.4(@types/react@19.0.10)':
     dependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  '@types/react@18.3.12':
+  '@types/react@19.0.10':
     dependencies:
-      '@types/prop-types': 15.7.14
       csstype: 3.1.3
 
   '@types/readable-stream@4.0.18':
@@ -16128,32 +16123,61 @@ snapshots:
       '@types/node': 22.9.0
     optional: true
 
-  '@typescript-eslint/eslint-plugin@8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)':
+  '@typescript-eslint/eslint-plugin@8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3)':
     dependencies:
       '@eslint-community/regexpp': 4.12.1
-      '@typescript-eslint/parser': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)
+      '@typescript-eslint/parser': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3)
       '@typescript-eslint/scope-manager': 8.24.0
-      '@typescript-eslint/type-utils': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)
-      '@typescript-eslint/utils': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)
+      '@typescript-eslint/type-utils': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3)
+      '@typescript-eslint/utils': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3)
       '@typescript-eslint/visitor-keys': 8.24.0
       eslint: 9.16.0(jiti@2.4.2)
       graphemer: 1.4.0
       ignore: 5.3.2
       natural-compare: 1.4.0
-      ts-api-utils: 2.0.1(typescript@5.7.2)
-      typescript: 5.7.2
+      ts-api-utils: 2.0.1(typescript@5.7.3)
+      typescript: 5.7.3
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)':
+  '@typescript-eslint/eslint-plugin@8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)':
+    dependencies:
+      '@eslint-community/regexpp': 4.12.1
+      '@typescript-eslint/parser': 8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)
+      '@typescript-eslint/scope-manager': 8.24.0
+      '@typescript-eslint/type-utils': 8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)
+      '@typescript-eslint/utils': 8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)
+      '@typescript-eslint/visitor-keys': 8.24.0
+      eslint: 9.22.0(jiti@2.4.2)
+      graphemer: 1.4.0
+      ignore: 5.3.2
+      natural-compare: 1.4.0
+      ts-api-utils: 2.0.1(typescript@5.7.3)
+      typescript: 5.7.3
+    transitivePeerDependencies:
+      - supports-color
+
+  '@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3)':
     dependencies:
       '@typescript-eslint/scope-manager': 8.24.0
       '@typescript-eslint/types': 8.24.0
-      '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.2)
+      '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3)
       '@typescript-eslint/visitor-keys': 8.24.0
       debug: 4.4.0
       eslint: 9.16.0(jiti@2.4.2)
-      typescript: 5.7.2
+      typescript: 5.7.3
+    transitivePeerDependencies:
+      - supports-color
+
+  '@typescript-eslint/parser@8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)':
+    dependencies:
+      '@typescript-eslint/scope-manager': 8.24.0
+      '@typescript-eslint/types': 8.24.0
+      '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3)
+      '@typescript-eslint/visitor-keys': 8.24.0
+      debug: 4.4.0
+      eslint: 9.22.0(jiti@2.4.2)
+      typescript: 5.7.3
     transitivePeerDependencies:
       - supports-color
 
@@ -16162,33 +16186,30 @@ snapshots:
       '@typescript-eslint/types': 8.24.0
       '@typescript-eslint/visitor-keys': 8.24.0
 
-  '@typescript-eslint/type-utils@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)':
+  '@typescript-eslint/type-utils@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3)':
     dependencies:
-      '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.2)
-      '@typescript-eslint/utils': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)
+      '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3)
+      '@typescript-eslint/utils': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3)
       debug: 4.4.0
       eslint: 9.16.0(jiti@2.4.2)
-      ts-api-utils: 2.0.1(typescript@5.7.2)
-      typescript: 5.7.2
+      ts-api-utils: 2.0.1(typescript@5.7.3)
+      typescript: 5.7.3
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/types@8.24.0': {}
-
-  '@typescript-eslint/typescript-estree@8.24.0(typescript@5.7.2)':
+  '@typescript-eslint/type-utils@8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)':
     dependencies:
-      '@typescript-eslint/types': 8.24.0
-      '@typescript-eslint/visitor-keys': 8.24.0
+      '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3)
+      '@typescript-eslint/utils': 8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)
       debug: 4.4.0
-      fast-glob: 3.3.3
-      is-glob: 4.0.3
-      minimatch: 9.0.5
-      semver: 7.7.1
-      ts-api-utils: 2.0.1(typescript@5.7.2)
-      typescript: 5.7.2
+      eslint: 9.22.0(jiti@2.4.2)
+      ts-api-utils: 2.0.1(typescript@5.7.3)
+      typescript: 5.7.3
     transitivePeerDependencies:
       - supports-color
 
+  '@typescript-eslint/types@8.24.0': {}
+
   '@typescript-eslint/typescript-estree@8.24.0(typescript@5.7.3)':
     dependencies:
       '@typescript-eslint/types': 8.24.0
@@ -16203,14 +16224,25 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/utils@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)':
+  '@typescript-eslint/utils@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3)':
     dependencies:
       '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.2))
       '@typescript-eslint/scope-manager': 8.24.0
       '@typescript-eslint/types': 8.24.0
-      '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.2)
+      '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3)
       eslint: 9.16.0(jiti@2.4.2)
-      typescript: 5.7.2
+      typescript: 5.7.3
+    transitivePeerDependencies:
+      - supports-color
+
+  '@typescript-eslint/utils@8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)':
+    dependencies:
+      '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.4.2))
+      '@typescript-eslint/scope-manager': 8.24.0
+      '@typescript-eslint/types': 8.24.0
+      '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3)
+      eslint: 9.22.0(jiti@2.4.2)
+      typescript: 5.7.3
     transitivePeerDependencies:
       - supports-color
 
@@ -16219,10 +16251,10 @@ snapshots:
       '@typescript-eslint/types': 8.24.0
       eslint-visitor-keys: 4.2.0
 
-  '@typescript/vfs@1.6.1(typescript@5.7.2)':
+  '@typescript/vfs@1.6.1(typescript@5.7.3)':
     dependencies:
       debug: 4.4.0
-      typescript: 5.7.2
+      typescript: 5.7.3
     transitivePeerDependencies:
       - supports-color
 
@@ -16247,14 +16279,14 @@ snapshots:
     transitivePeerDependencies:
       - utf-8-validate
 
-  '@vitejs/plugin-react@4.3.4(vite@6.1.0(@types/node@22.13.5)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0))':
+  '@vitejs/plugin-react@4.3.4(vite@6.1.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.38.2)(tsx@4.19.3)(yaml@2.7.0))':
     dependencies:
       '@babel/core': 7.26.8
       '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.8)
       '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.8)
       '@types/babel__core': 7.20.5
       react-refresh: 0.14.2
-      vite: 6.1.0(@types/node@22.13.5)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0)
+      vite: 6.1.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.38.2)(tsx@4.19.3)(yaml@2.7.0)
     transitivePeerDependencies:
       - supports-color
 
@@ -16265,41 +16297,23 @@ snapshots:
       chai: 5.1.2
       tinyrainbow: 1.2.0
 
-  '@vitest/mocker@2.1.5(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(vite@5.4.14(@types/node@22.13.5)(terser@5.38.2))':
-    dependencies:
-      '@vitest/spy': 2.1.5
-      estree-walker: 3.0.3
-      magic-string: 0.30.17
-    optionalDependencies:
-      msw: 2.7.0(@types/node@22.13.5)(typescript@5.7.2)
-      vite: 5.4.14(@types/node@22.13.5)(terser@5.38.2)
-
-  '@vitest/mocker@2.1.5(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(vite@5.4.14(@types/node@22.13.5)(terser@5.38.2))':
+  '@vitest/mocker@2.1.5(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(vite@5.4.14(@types/node@22.13.5)(lightningcss@1.29.1)(terser@5.38.2))':
     dependencies:
       '@vitest/spy': 2.1.5
       estree-walker: 3.0.3
       magic-string: 0.30.17
     optionalDependencies:
       msw: 2.7.0(@types/node@22.13.5)(typescript@5.7.3)
-      vite: 5.4.14(@types/node@22.13.5)(terser@5.38.2)
-
-  '@vitest/mocker@2.1.5(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.2))(vite@5.4.14(@types/node@22.9.0)(terser@5.38.2))':
-    dependencies:
-      '@vitest/spy': 2.1.5
-      estree-walker: 3.0.3
-      magic-string: 0.30.17
-    optionalDependencies:
-      msw: 2.7.0(@types/node@22.9.0)(typescript@5.7.2)
-      vite: 5.4.14(@types/node@22.9.0)(terser@5.38.2)
+      vite: 5.4.14(@types/node@22.13.5)(lightningcss@1.29.1)(terser@5.38.2)
 
-  '@vitest/mocker@2.1.5(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(vite@5.4.14(@types/node@22.9.0)(terser@5.38.2))':
+  '@vitest/mocker@2.1.5(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(vite@5.4.14(@types/node@22.9.0)(lightningcss@1.29.1)(terser@5.38.2))':
     dependencies:
       '@vitest/spy': 2.1.5
       estree-walker: 3.0.3
       magic-string: 0.30.17
     optionalDependencies:
       msw: 2.7.0(@types/node@22.9.0)(typescript@5.7.3)
-      vite: 5.4.14(@types/node@22.9.0)(terser@5.38.2)
+      vite: 5.4.14(@types/node@22.9.0)(lightningcss@1.29.1)(terser@5.38.2)
 
   '@vitest/pretty-format@2.1.5':
     dependencies:
@@ -16354,7 +16368,7 @@ snapshots:
       '@vue/shared': 3.5.13
       estree-walker: 2.0.2
       magic-string: 0.30.17
-      postcss: 8.5.2
+      postcss: 8.5.3
       source-map-js: 1.2.1
 
   '@vue/compiler-ssr@3.5.13':
@@ -16380,39 +16394,39 @@ snapshots:
       '@vue/shared': 3.5.13
       csstype: 3.1.3
 
-  '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.7.2))':
+  '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.7.3))':
     dependencies:
       '@vue/compiler-ssr': 3.5.13
       '@vue/shared': 3.5.13
-      vue: 3.5.13(typescript@5.7.2)
+      vue: 3.5.13(typescript@5.7.3)
 
   '@vue/shared@3.5.13': {}
 
-  '@vueuse/core@10.11.1(vue@3.5.13(typescript@5.7.2))':
+  '@vueuse/core@10.11.1(vue@3.5.13(typescript@5.7.3))':
     dependencies:
       '@types/web-bluetooth': 0.0.20
       '@vueuse/metadata': 10.11.1
-      '@vueuse/shared': 10.11.1(vue@3.5.13(typescript@5.7.2))
-      vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.2))
+      '@vueuse/shared': 10.11.1(vue@3.5.13(typescript@5.7.3))
+      vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.3))
     transitivePeerDependencies:
       - '@vue/composition-api'
       - vue
 
-  '@vueuse/core@11.3.0(vue@3.5.13(typescript@5.7.2))':
+  '@vueuse/core@11.3.0(vue@3.5.13(typescript@5.7.3))':
     dependencies:
       '@types/web-bluetooth': 0.0.20
       '@vueuse/metadata': 11.3.0
-      '@vueuse/shared': 11.3.0(vue@3.5.13(typescript@5.7.2))
-      vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.2))
+      '@vueuse/shared': 11.3.0(vue@3.5.13(typescript@5.7.3))
+      vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.3))
     transitivePeerDependencies:
       - '@vue/composition-api'
       - vue
 
-  '@vueuse/integrations@11.3.0(axios@1.7.9)(focus-trap@7.6.4)(fuse.js@7.1.0)(vue@3.5.13(typescript@5.7.2))':
+  '@vueuse/integrations@11.3.0(axios@1.7.9)(focus-trap@7.6.4)(fuse.js@7.1.0)(vue@3.5.13(typescript@5.7.3))':
     dependencies:
-      '@vueuse/core': 11.3.0(vue@3.5.13(typescript@5.7.2))
-      '@vueuse/shared': 11.3.0(vue@3.5.13(typescript@5.7.2))
-      vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.2))
+      '@vueuse/core': 11.3.0(vue@3.5.13(typescript@5.7.3))
+      '@vueuse/shared': 11.3.0(vue@3.5.13(typescript@5.7.3))
+      vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.3))
     optionalDependencies:
       axios: 1.7.9
       focus-trap: 7.6.4
@@ -16425,16 +16439,16 @@ snapshots:
 
   '@vueuse/metadata@11.3.0': {}
 
-  '@vueuse/shared@10.11.1(vue@3.5.13(typescript@5.7.2))':
+  '@vueuse/shared@10.11.1(vue@3.5.13(typescript@5.7.3))':
     dependencies:
-      vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.2))
+      vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.3))
     transitivePeerDependencies:
       - '@vue/composition-api'
       - vue
 
-  '@vueuse/shared@11.3.0(vue@3.5.13(typescript@5.7.2))':
+  '@vueuse/shared@11.3.0(vue@3.5.13(typescript@5.7.3))':
     dependencies:
-      vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.2))
+      vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.3))
     transitivePeerDependencies:
       - '@vue/composition-api'
       - vue
@@ -16517,7 +16531,7 @@ snapshots:
 
   '@wojtekmaj/react-hooks@1.17.2(react@19.0.0)':
     dependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
       react: 19.0.0
 
   '@xhmikosr/archive-type@7.0.0':
@@ -16651,7 +16665,7 @@ snapshots:
     dependencies:
       humanize-ms: 1.2.1
 
-  ai@3.4.33(openai@4.86.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2))(react@19.0.0)(sswr@2.1.0(svelte@5.19.10))(svelte@5.19.10)(vue@3.5.13(typescript@5.7.2))(zod@3.24.2):
+  ai@3.4.33(openai@4.86.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2))(react@19.0.0)(sswr@2.1.0(svelte@5.19.10))(svelte@5.19.10)(vue@3.5.13(typescript@5.7.3))(zod@3.24.2):
     dependencies:
       '@ai-sdk/provider': 0.0.26
       '@ai-sdk/provider-utils': 1.0.22(zod@3.24.2)
@@ -16659,7 +16673,7 @@ snapshots:
       '@ai-sdk/solid': 0.0.54(zod@3.24.2)
       '@ai-sdk/svelte': 0.0.57(svelte@5.19.10)(zod@3.24.2)
       '@ai-sdk/ui-utils': 0.0.50(zod@3.24.2)
-      '@ai-sdk/vue': 0.0.59(vue@3.5.13(typescript@5.7.2))(zod@3.24.2)
+      '@ai-sdk/vue': 0.0.59(vue@3.5.13(typescript@5.7.3))(zod@3.24.2)
       '@opentelemetry/api': 1.9.0
       eventsource-parser: 1.1.2
       json-schema: 0.4.0
@@ -16676,18 +16690,6 @@ snapshots:
       - solid-js
       - vue
 
-  ai@4.1.34(react@18.3.1)(zod@3.24.2):
-    dependencies:
-      '@ai-sdk/provider': 1.0.7
-      '@ai-sdk/provider-utils': 2.1.6(zod@3.24.2)
-      '@ai-sdk/react': 1.1.11(react@18.3.1)(zod@3.24.2)
-      '@ai-sdk/ui-utils': 1.1.11(zod@3.24.2)
-      '@opentelemetry/api': 1.9.0
-      jsondiffpatch: 0.6.0
-    optionalDependencies:
-      react: 18.3.1
-      zod: 3.24.2
-
   ai@4.1.34(react@19.0.0)(zod@3.24.2):
     dependencies:
       '@ai-sdk/provider': 1.0.7
@@ -16763,6 +16765,7 @@ snapshots:
     dependencies:
       normalize-path: 3.0.0
       picomatch: 2.3.1
+    optional: true
 
   app-module-path@2.2.0: {}
 
@@ -16781,8 +16784,6 @@ snapshots:
       readable-stream: 3.6.2
     optional: true
 
-  arg@5.0.2: {}
-
   argparse@1.0.10:
     dependencies:
       sprintf-js: 1.0.3
@@ -16901,14 +16902,14 @@ snapshots:
 
   asynckit@0.4.0: {}
 
-  autoprefixer@10.4.20(postcss@8.5.2):
+  autoprefixer@10.4.20(postcss@8.5.3):
     dependencies:
       browserslist: 4.24.4
       caniuse-lite: 1.0.30001699
       fraction.js: 4.3.7
       normalize-range: 0.1.2
       picocolors: 1.1.1
-      postcss: 8.5.2
+      postcss: 8.5.3
       postcss-value-parser: 4.2.0
 
   available-typed-arrays@1.0.7:
@@ -17004,7 +17005,8 @@ snapshots:
       execa: 5.1.1
       find-versions: 5.1.0
 
-  binary-extensions@2.3.0: {}
+  binary-extensions@2.3.0:
+    optional: true
 
   binaryen@116.0.0-nightly.20240114: {}
 
@@ -17089,31 +17091,6 @@ snapshots:
     optionalDependencies:
       typescript: 5.7.3
 
-  bunchee@6.3.4(patch_hash=pavboztthlgni7m5gzw7643oru)(typescript@5.7.2):
-    dependencies:
-      '@rollup/plugin-commonjs': 28.0.2(rollup@4.34.6)
-      '@rollup/plugin-json': 6.1.0(rollup@4.34.6)
-      '@rollup/plugin-node-resolve': 16.0.0(rollup@4.34.6)
-      '@rollup/plugin-replace': 6.0.2(rollup@4.34.6)
-      '@rollup/plugin-wasm': 6.2.2(rollup@4.34.6)
-      '@rollup/pluginutils': 5.1.4(rollup@4.34.6)
-      '@swc/core': 1.10.15(@swc/helpers@0.5.15)
-      '@swc/helpers': 0.5.15
-      clean-css: 5.3.3
-      fast-glob: 3.3.3
-      magic-string: 0.30.17
-      ora: 8.2.0
-      picomatch: 4.0.2
-      pretty-bytes: 5.6.0
-      rollup: 4.34.6
-      rollup-plugin-dts: 6.1.1(rollup@4.34.6)(typescript@5.7.2)
-      rollup-plugin-swc3: 0.11.2(@swc/core@1.10.15(@swc/helpers@0.5.15))(rollup@4.34.6)
-      rollup-preserve-directives: 1.1.3(rollup@4.34.6)
-      tslib: 2.8.1
-      yargs: 17.7.2
-    optionalDependencies:
-      typescript: 5.7.2
-
   bunchee@6.3.4(patch_hash=pavboztthlgni7m5gzw7643oru)(typescript@5.7.3):
     dependencies:
       '@rollup/plugin-commonjs': 28.0.2(rollup@4.34.6)
@@ -17195,12 +17172,12 @@ snapshots:
 
   callsites@3.1.0: {}
 
-  camelcase-css@2.0.1: {}
-
   camelcase@4.1.0: {}
 
   caniuse-lite@1.0.30001699: {}
 
+  caniuse-lite@1.0.30001701: {}
+
   canvas@2.11.2:
     dependencies:
       '@mapbox/node-pre-gyp': 1.0.11
@@ -17243,16 +17220,10 @@ snapshots:
 
   character-entities-html4@2.1.0: {}
 
-  character-entities-legacy@1.1.4: {}
-
   character-entities-legacy@3.0.0: {}
 
-  character-entities@1.2.4: {}
-
   character-entities@2.0.2: {}
 
-  character-reference-invalid@1.1.4: {}
-
   character-reference-invalid@2.0.1: {}
 
   chardet@0.7.0: {}
@@ -17270,6 +17241,7 @@ snapshots:
       readdirp: 3.6.0
     optionalDependencies:
       fsevents: 2.3.3
+    optional: true
 
   chokidar@4.0.3:
     dependencies:
@@ -17435,8 +17407,6 @@ snapshots:
     dependencies:
       delayed-stream: 1.0.0
 
-  comma-separated-tokens@1.0.8: {}
-
   comma-separated-tokens@2.0.3: {}
 
   commander@12.1.0: {}
@@ -17447,8 +17417,6 @@ snapshots:
 
   commander@2.20.3: {}
 
-  commander@4.1.1: {}
-
   commander@6.2.1: {}
 
   commander@7.2.0: {}
@@ -17518,11 +17486,11 @@ snapshots:
 
   csv-parse@5.6.0: {}
 
-  cva@1.0.0-beta.2(typescript@5.7.2):
+  cva@1.0.0-beta.2(typescript@5.7.3):
     dependencies:
       clsx: 2.1.1
     optionalDependencies:
-      typescript: 5.7.2
+      typescript: 5.7.3
 
   damerau-levenshtein@1.0.8: {}
 
@@ -17635,6 +17603,8 @@ snapshots:
 
   detect-indent@6.1.0: {}
 
+  detect-libc@1.0.3: {}
+
   detect-libc@2.0.3: {}
 
   detect-node-es@1.1.0: {}
@@ -17655,11 +17625,11 @@ snapshots:
     dependencies:
       node-source-walk: 7.0.1
 
-  detective-postcss@7.0.1(postcss@8.5.2):
+  detective-postcss@7.0.1(postcss@8.5.3):
     dependencies:
       is-url: 1.2.4
-      postcss: 8.5.2
-      postcss-values-parser: 6.0.2(postcss@8.5.2)
+      postcss: 8.5.3
+      postcss-values-parser: 6.0.2(postcss@8.5.3)
 
   detective-sass@6.0.1:
     dependencies:
@@ -17703,8 +17673,6 @@ snapshots:
 
   devtools-protocol@0.0.1262051: {}
 
-  didyoumean@1.2.2: {}
-
   diff-match-patch-es@1.0.1: {}
 
   diff-match-patch@1.0.5: {}
@@ -17719,8 +17687,6 @@ snapshots:
 
   discord-api-types@0.37.119: {}
 
-  dlv@1.1.3: {}
-
   doctrine@2.1.0:
     dependencies:
       esutils: 2.0.3
@@ -17967,33 +17933,6 @@ snapshots:
       '@esbuild/win32-ia32': 0.21.5
       '@esbuild/win32-x64': 0.21.5
 
-  esbuild@0.23.1:
-    optionalDependencies:
-      '@esbuild/aix-ppc64': 0.23.1
-      '@esbuild/android-arm': 0.23.1
-      '@esbuild/android-arm64': 0.23.1
-      '@esbuild/android-x64': 0.23.1
-      '@esbuild/darwin-arm64': 0.23.1
-      '@esbuild/darwin-x64': 0.23.1
-      '@esbuild/freebsd-arm64': 0.23.1
-      '@esbuild/freebsd-x64': 0.23.1
-      '@esbuild/linux-arm': 0.23.1
-      '@esbuild/linux-arm64': 0.23.1
-      '@esbuild/linux-ia32': 0.23.1
-      '@esbuild/linux-loong64': 0.23.1
-      '@esbuild/linux-mips64el': 0.23.1
-      '@esbuild/linux-ppc64': 0.23.1
-      '@esbuild/linux-riscv64': 0.23.1
-      '@esbuild/linux-s390x': 0.23.1
-      '@esbuild/linux-x64': 0.23.1
-      '@esbuild/netbsd-x64': 0.23.1
-      '@esbuild/openbsd-arm64': 0.23.1
-      '@esbuild/openbsd-x64': 0.23.1
-      '@esbuild/sunos-x64': 0.23.1
-      '@esbuild/win32-arm64': 0.23.1
-      '@esbuild/win32-ia32': 0.23.1
-      '@esbuild/win32-x64': 0.23.1
-
   esbuild@0.24.2:
     optionalDependencies:
       '@esbuild/aix-ppc64': 0.24.2
@@ -18022,6 +17961,34 @@ snapshots:
       '@esbuild/win32-ia32': 0.24.2
       '@esbuild/win32-x64': 0.24.2
 
+  esbuild@0.25.0:
+    optionalDependencies:
+      '@esbuild/aix-ppc64': 0.25.0
+      '@esbuild/android-arm': 0.25.0
+      '@esbuild/android-arm64': 0.25.0
+      '@esbuild/android-x64': 0.25.0
+      '@esbuild/darwin-arm64': 0.25.0
+      '@esbuild/darwin-x64': 0.25.0
+      '@esbuild/freebsd-arm64': 0.25.0
+      '@esbuild/freebsd-x64': 0.25.0
+      '@esbuild/linux-arm': 0.25.0
+      '@esbuild/linux-arm64': 0.25.0
+      '@esbuild/linux-ia32': 0.25.0
+      '@esbuild/linux-loong64': 0.25.0
+      '@esbuild/linux-mips64el': 0.25.0
+      '@esbuild/linux-ppc64': 0.25.0
+      '@esbuild/linux-riscv64': 0.25.0
+      '@esbuild/linux-s390x': 0.25.0
+      '@esbuild/linux-x64': 0.25.0
+      '@esbuild/netbsd-arm64': 0.25.0
+      '@esbuild/netbsd-x64': 0.25.0
+      '@esbuild/openbsd-arm64': 0.25.0
+      '@esbuild/openbsd-x64': 0.25.0
+      '@esbuild/sunos-x64': 0.25.0
+      '@esbuild/win32-arm64': 0.25.0
+      '@esbuild/win32-ia32': 0.25.0
+      '@esbuild/win32-x64': 0.25.0
+
   escalade@3.2.0: {}
 
   escape-string-regexp@4.0.0: {}
@@ -18045,35 +18012,55 @@ snapshots:
     optionalDependencies:
       source-map: 0.6.1
 
-  eslint-config-next@15.1.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2):
+  eslint-config-next@15.1.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3):
     dependencies:
       '@next/eslint-plugin-next': 15.1.0
       '@rushstack/eslint-patch': 1.10.5
-      '@typescript-eslint/eslint-plugin': 8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)
-      '@typescript-eslint/parser': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)
+      '@typescript-eslint/eslint-plugin': 8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3)
+      '@typescript-eslint/parser': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3)
       eslint: 9.16.0(jiti@2.4.2)
       eslint-import-resolver-node: 0.3.9
       eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@2.4.2))
-      eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.4.2))
+      eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.16.0(jiti@2.4.2))
       eslint-plugin-jsx-a11y: 6.10.2(eslint@9.16.0(jiti@2.4.2))
       eslint-plugin-react: 7.37.2(eslint@9.16.0(jiti@2.4.2))
       eslint-plugin-react-hooks: 5.1.0(eslint@9.16.0(jiti@2.4.2))
     optionalDependencies:
-      typescript: 5.7.2
+      typescript: 5.7.3
     transitivePeerDependencies:
       - eslint-import-resolver-webpack
       - eslint-plugin-import-x
       - supports-color
 
-  eslint-config-prettier@9.1.0(eslint@9.16.0(jiti@2.4.2)):
+  eslint-config-next@15.1.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3):
     dependencies:
-      eslint: 9.16.0(jiti@2.4.2)
+      '@next/eslint-plugin-next': 15.1.0
+      '@rushstack/eslint-patch': 1.10.5
+      '@typescript-eslint/eslint-plugin': 8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)
+      '@typescript-eslint/parser': 8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)
+      eslint: 9.22.0(jiti@2.4.2)
+      eslint-import-resolver-node: 0.3.9
+      eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.22.0(jiti@2.4.2))
+      eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.22.0(jiti@2.4.2))
+      eslint-plugin-jsx-a11y: 6.10.2(eslint@9.22.0(jiti@2.4.2))
+      eslint-plugin-react: 7.37.2(eslint@9.22.0(jiti@2.4.2))
+      eslint-plugin-react-hooks: 5.1.0(eslint@9.22.0(jiti@2.4.2))
+    optionalDependencies:
+      typescript: 5.7.3
+    transitivePeerDependencies:
+      - eslint-import-resolver-webpack
+      - eslint-plugin-import-x
+      - supports-color
 
-  eslint-config-turbo@2.4.1(eslint@9.16.0(jiti@2.4.2))(turbo@2.4.1):
+  eslint-config-prettier@9.1.0(eslint@9.22.0(jiti@2.4.2)):
     dependencies:
-      eslint: 9.16.0(jiti@2.4.2)
-      eslint-plugin-turbo: 2.4.1(eslint@9.16.0(jiti@2.4.2))(turbo@2.4.1)
-      turbo: 2.4.1
+      eslint: 9.22.0(jiti@2.4.2)
+
+  eslint-config-turbo@2.4.1(eslint@9.22.0(jiti@2.4.2))(turbo@2.4.4):
+    dependencies:
+      eslint: 9.22.0(jiti@2.4.2)
+      eslint-plugin-turbo: 2.4.1(eslint@9.22.0(jiti@2.4.2))(turbo@2.4.4)
+      turbo: 2.4.4
 
   eslint-import-resolver-node@0.3.9:
     dependencies:
@@ -18095,22 +18082,49 @@ snapshots:
       is-glob: 4.0.3
       stable-hash: 0.0.4
     optionalDependencies:
-      eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.4.2))
+      eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.16.0(jiti@2.4.2))
+    transitivePeerDependencies:
+      - supports-color
+
+  eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@9.22.0(jiti@2.4.2)):
+    dependencies:
+      '@nolyfill/is-core-module': 1.0.39
+      debug: 4.4.0
+      enhanced-resolve: 5.18.1
+      eslint: 9.22.0(jiti@2.4.2)
+      fast-glob: 3.3.3
+      get-tsconfig: 4.10.0
+      is-bun-module: 1.3.0
+      is-glob: 4.0.3
+      stable-hash: 0.0.4
+    optionalDependencies:
+      eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.22.0(jiti@2.4.2))
     transitivePeerDependencies:
       - supports-color
 
-  eslint-module-utils@2.12.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.4.2)):
+  eslint-module-utils@2.12.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.4.2)):
     dependencies:
       debug: 3.2.7
     optionalDependencies:
-      '@typescript-eslint/parser': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)
+      '@typescript-eslint/parser': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3)
       eslint: 9.16.0(jiti@2.4.2)
       eslint-import-resolver-node: 0.3.9
       eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@2.4.2))
     transitivePeerDependencies:
       - supports-color
 
-  eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.4.2)):
+  eslint-module-utils@2.12.0(@typescript-eslint/parser@8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.22.0(jiti@2.4.2)):
+    dependencies:
+      debug: 3.2.7
+    optionalDependencies:
+      '@typescript-eslint/parser': 8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)
+      eslint: 9.22.0(jiti@2.4.2)
+      eslint-import-resolver-node: 0.3.9
+      eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.22.0(jiti@2.4.2))
+    transitivePeerDependencies:
+      - supports-color
+
+  eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.16.0(jiti@2.4.2)):
     dependencies:
       '@rtsao/scc': 1.1.0
       array-includes: 3.1.8
@@ -18121,7 +18135,7 @@ snapshots:
       doctrine: 2.1.0
       eslint: 9.16.0(jiti@2.4.2)
       eslint-import-resolver-node: 0.3.9
-      eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.4.2))
+      eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.4.2))
       hasown: 2.0.2
       is-core-module: 2.16.1
       is-glob: 4.0.3
@@ -18133,7 +18147,36 @@ snapshots:
       string.prototype.trimend: 1.0.9
       tsconfig-paths: 3.15.0
     optionalDependencies:
-      '@typescript-eslint/parser': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)
+      '@typescript-eslint/parser': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.3)
+    transitivePeerDependencies:
+      - eslint-import-resolver-typescript
+      - eslint-import-resolver-webpack
+      - supports-color
+
+  eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.22.0(jiti@2.4.2)):
+    dependencies:
+      '@rtsao/scc': 1.1.0
+      array-includes: 3.1.8
+      array.prototype.findlastindex: 1.2.5
+      array.prototype.flat: 1.3.3
+      array.prototype.flatmap: 1.3.3
+      debug: 3.2.7
+      doctrine: 2.1.0
+      eslint: 9.22.0(jiti@2.4.2)
+      eslint-import-resolver-node: 0.3.9
+      eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.22.0(jiti@2.4.2))
+      hasown: 2.0.2
+      is-core-module: 2.16.1
+      is-glob: 4.0.3
+      minimatch: 3.1.2
+      object.fromentries: 2.0.8
+      object.groupby: 1.0.3
+      object.values: 1.2.1
+      semver: 6.3.1
+      string.prototype.trimend: 1.0.9
+      tsconfig-paths: 3.15.0
+    optionalDependencies:
+      '@typescript-eslint/parser': 8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)
     transitivePeerDependencies:
       - eslint-import-resolver-typescript
       - eslint-import-resolver-webpack
@@ -18158,10 +18201,33 @@ snapshots:
       safe-regex-test: 1.1.0
       string.prototype.includes: 2.0.1
 
+  eslint-plugin-jsx-a11y@6.10.2(eslint@9.22.0(jiti@2.4.2)):
+    dependencies:
+      aria-query: 5.3.2
+      array-includes: 3.1.8
+      array.prototype.flatmap: 1.3.3
+      ast-types-flow: 0.0.8
+      axe-core: 4.10.2
+      axobject-query: 4.1.0
+      damerau-levenshtein: 1.0.8
+      emoji-regex: 9.2.2
+      eslint: 9.22.0(jiti@2.4.2)
+      hasown: 2.0.2
+      jsx-ast-utils: 3.3.5
+      language-tags: 1.0.9
+      minimatch: 3.1.2
+      object.fromentries: 2.0.8
+      safe-regex-test: 1.1.0
+      string.prototype.includes: 2.0.1
+
   eslint-plugin-react-hooks@5.1.0(eslint@9.16.0(jiti@2.4.2)):
     dependencies:
       eslint: 9.16.0(jiti@2.4.2)
 
+  eslint-plugin-react-hooks@5.1.0(eslint@9.22.0(jiti@2.4.2)):
+    dependencies:
+      eslint: 9.22.0(jiti@2.4.2)
+
   eslint-plugin-react@7.37.2(eslint@9.16.0(jiti@2.4.2)):
     dependencies:
       array-includes: 3.1.8
@@ -18184,11 +18250,33 @@ snapshots:
       string.prototype.matchall: 4.0.12
       string.prototype.repeat: 1.0.0
 
-  eslint-plugin-turbo@2.4.1(eslint@9.16.0(jiti@2.4.2))(turbo@2.4.1):
+  eslint-plugin-react@7.37.2(eslint@9.22.0(jiti@2.4.2)):
+    dependencies:
+      array-includes: 3.1.8
+      array.prototype.findlast: 1.2.5
+      array.prototype.flatmap: 1.3.3
+      array.prototype.tosorted: 1.1.4
+      doctrine: 2.1.0
+      es-iterator-helpers: 1.2.1
+      eslint: 9.22.0(jiti@2.4.2)
+      estraverse: 5.3.0
+      hasown: 2.0.2
+      jsx-ast-utils: 3.3.5
+      minimatch: 3.1.2
+      object.entries: 1.1.8
+      object.fromentries: 2.0.8
+      object.values: 1.2.1
+      prop-types: 15.8.1
+      resolve: 2.0.0-next.5
+      semver: 6.3.1
+      string.prototype.matchall: 4.0.12
+      string.prototype.repeat: 1.0.0
+
+  eslint-plugin-turbo@2.4.1(eslint@9.22.0(jiti@2.4.2))(turbo@2.4.4):
     dependencies:
       dotenv: 16.0.3
-      eslint: 9.16.0(jiti@2.4.2)
-      turbo: 2.4.1
+      eslint: 9.22.0(jiti@2.4.2)
+      turbo: 2.4.4
 
   eslint-scope@5.1.1:
     dependencies:
@@ -18200,6 +18288,11 @@ snapshots:
       esrecurse: 4.3.0
       estraverse: 5.3.0
 
+  eslint-scope@8.3.0:
+    dependencies:
+      esrecurse: 4.3.0
+      estraverse: 5.3.0
+
   eslint-visitor-keys@3.4.3: {}
 
   eslint-visitor-keys@4.2.0: {}
@@ -18245,6 +18338,48 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  eslint@9.22.0(jiti@2.4.2):
+    dependencies:
+      '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.4.2))
+      '@eslint-community/regexpp': 4.12.1
+      '@eslint/config-array': 0.19.2
+      '@eslint/config-helpers': 0.1.0
+      '@eslint/core': 0.12.0
+      '@eslint/eslintrc': 3.3.0
+      '@eslint/js': 9.22.0
+      '@eslint/plugin-kit': 0.2.7
+      '@humanfs/node': 0.16.6
+      '@humanwhocodes/module-importer': 1.0.1
+      '@humanwhocodes/retry': 0.4.2
+      '@types/estree': 1.0.6
+      '@types/json-schema': 7.0.15
+      ajv: 6.12.6
+      chalk: 4.1.2
+      cross-spawn: 7.0.6
+      debug: 4.4.0
+      escape-string-regexp: 4.0.0
+      eslint-scope: 8.3.0
+      eslint-visitor-keys: 4.2.0
+      espree: 10.3.0
+      esquery: 1.6.0
+      esutils: 2.0.3
+      fast-deep-equal: 3.1.3
+      file-entry-cache: 8.0.0
+      find-up: 5.0.0
+      glob-parent: 6.0.2
+      ignore: 5.3.2
+      imurmurhash: 0.1.4
+      is-glob: 4.0.3
+      json-stable-stringify-without-jsonify: 1.0.1
+      lodash.merge: 4.6.2
+      minimatch: 3.1.2
+      natural-compare: 1.4.0
+      optionator: 0.9.4
+    optionalDependencies:
+      jiti: 2.4.2
+    transitivePeerDependencies:
+      - supports-color
+
   esm-env@1.2.2: {}
 
   espree@10.3.0:
@@ -18434,18 +18569,14 @@ snapshots:
     dependencies:
       strnum: 1.0.5
 
-  fast-xml-parser@4.5.1:
+  fast-xml-parser@4.5.3:
     dependencies:
-      strnum: 1.0.5
+      strnum: 1.1.2
 
   fastq@1.19.0:
     dependencies:
       reusify: 1.0.4
 
-  fault@1.0.4:
-    dependencies:
-      format: 0.2.2
-
   fd-slicer@1.1.0:
     dependencies:
       pend: 1.2.0
@@ -18584,8 +18715,6 @@ snapshots:
       es-set-tostringtag: 2.1.0
       mime-types: 2.1.35
 
-  format@0.2.2: {}
-
   formdata-node@4.4.1:
     dependencies:
       node-domexception: 1.0.0
@@ -18634,103 +18763,75 @@ snapshots:
   fsevents@2.3.3:
     optional: true
 
-  fumadocs-core@14.7.7(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
-    dependencies:
-      '@formatjs/intl-localematcher': 0.5.10
-      '@orama/orama': 2.1.1
-      '@shikijs/rehype': 2.3.2
-      '@shikijs/transformers': 2.3.2
-      github-slugger: 2.0.0
-      hast-util-to-estree: 3.1.1
-      hast-util-to-jsx-runtime: 2.3.2
-      image-size: 1.2.0
-      negotiator: 1.0.0
-      react-remove-scroll: 2.6.3(@types/react@18.3.12)(react@19.0.0)
-      remark: 15.0.1
-      remark-gfm: 4.0.1
-      scroll-into-view-if-needed: 3.1.0
-      shiki: 2.3.2
-      unist-util-visit: 5.0.0
-    optionalDependencies:
-      next: 15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      react: 19.0.0
-      react-dom: 19.0.0(react@19.0.0)
-    transitivePeerDependencies:
-      - '@types/react'
-      - supports-color
-
-  fumadocs-core@15.0.0(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+  fumadocs-core@15.0.15(@types/react@19.0.10)(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
     dependencies:
-      '@formatjs/intl-localematcher': 0.5.10
-      '@orama/orama': 2.1.1
-      '@shikijs/rehype': 2.3.2
-      '@shikijs/transformers': 2.3.2
+      '@formatjs/intl-localematcher': 0.6.0
+      '@orama/orama': 3.1.1
+      '@shikijs/rehype': 3.1.0
+      '@shikijs/transformers': 3.1.0
       github-slugger: 2.0.0
-      hast-util-to-estree: 3.1.1
-      hast-util-to-jsx-runtime: 2.3.2
-      image-size: 1.2.0
+      hast-util-to-estree: 3.1.2
+      hast-util-to-jsx-runtime: 2.3.5
+      image-size: 2.0.0
       negotiator: 1.0.0
-      react-remove-scroll: 2.6.3(@types/react@18.3.12)(react@19.0.0)
+      react-remove-scroll: 2.6.3(@types/react@19.0.10)(react@19.0.0)
       remark: 15.0.1
       remark-gfm: 4.0.1
       scroll-into-view-if-needed: 3.1.0
-      shiki: 2.3.2
+      shiki: 3.1.0
       unist-util-visit: 5.0.0
     optionalDependencies:
-      next: 15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      next: 15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     transitivePeerDependencies:
       - '@types/react'
       - supports-color
 
-  fumadocs-docgen@1.3.7(typescript@5.7.2):
+  fumadocs-docgen@2.0.0:
     dependencies:
       estree-util-to-js: 2.0.0
       estree-util-value-to-estree: 3.3.2
-      fumadocs-typescript: 3.0.3(typescript@5.7.2)
-      hast-util-to-estree: 3.1.1
       npm-to-yarn: 3.0.1
-      oxc-transform: 0.48.2
+      oxc-transform: 0.53.0
       unist-util-visit: 5.0.0
       zod: 3.24.2
-    transitivePeerDependencies:
-      - supports-color
-      - typescript
 
-  fumadocs-mdx@11.5.3(acorn@8.14.0)(fumadocs-core@14.7.7(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)):
+  fumadocs-mdx@11.5.6(acorn@8.14.0)(fumadocs-core@15.0.15(@types/react@19.0.10)(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)):
     dependencies:
       '@mdx-js/mdx': 3.1.0(acorn@8.14.0)
       '@standard-schema/spec': 1.0.0
       chokidar: 4.0.3
       cross-spawn: 7.0.6
-      esbuild: 0.24.2
+      esbuild: 0.25.0
       estree-util-value-to-estree: 3.3.2
       fast-glob: 3.3.3
-      fumadocs-core: 14.7.7(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      fumadocs-core: 15.0.15(@types/react@19.0.10)(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       gray-matter: 4.0.3
-      next: 15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      next: 15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       unist-util-visit: 5.0.0
       zod: 3.24.2
     transitivePeerDependencies:
       - acorn
       - supports-color
 
-  fumadocs-openapi@5.12.0(@scalar/api-client-react@1.1.25(@hyperjump/browser@1.2.0)(axios@1.7.9)(react@19.0.0)(tailwindcss@3.4.17)(typescript@5.7.2))(@types/react-dom@18.3.1)(@types/react@18.3.12)(ajv@8.17.1)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.17):
+  fumadocs-openapi@6.3.0(@scalar/api-client-react@1.1.25(@hyperjump/browser@1.2.0)(axios@1.7.9)(react@19.0.0)(tailwindcss@4.0.9)(typescript@5.7.3))(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(ajv@8.17.1)(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.9):
     dependencies:
       '@fumari/json-schema-to-typescript': 1.1.2
-      '@radix-ui/react-select': 2.1.6(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@19.0.0)
-      '@scalar/openapi-parser': 0.10.4
+      '@radix-ui/react-dialog': 1.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-select': 2.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-slot': 1.1.2(@types/react@19.0.10)(react@19.0.0)
+      '@scalar/openapi-parser': 0.10.9
       ajv-draft-04: 1.0.0(ajv@8.17.1)
       class-variance-authority: 0.7.1
       fast-glob: 3.3.3
-      fumadocs-core: 15.0.0(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      fumadocs-ui: 15.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(fumadocs-core@15.0.0(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.17)
+      fumadocs-core: 15.0.15(@types/react@19.0.10)(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      fumadocs-ui: 15.0.15(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(fumadocs-core@15.0.15(@types/react@19.0.10)(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.9)
       github-slugger: 2.0.0
-      hast-util-to-jsx-runtime: 2.3.2
+      hast-util-to-jsx-runtime: 2.3.5
       js-yaml: 4.1.0
-      next: 15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      lucide-react: 0.477.0(react@19.0.0)
+      next: 15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       next-themes: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       openapi-sampler: 1.6.1
       react: 19.0.0
@@ -18738,12 +18839,11 @@ snapshots:
       react-hook-form: 7.54.2(react@19.0.0)
       remark: 15.0.1
       remark-rehype: 11.1.1
-      shiki: 2.3.2
+      shiki: 3.1.0
       xml-js: 1.6.11
     optionalDependencies:
-      '@scalar/api-client-react': 1.1.25(@hyperjump/browser@1.2.0)(axios@1.7.9)(react@19.0.0)(tailwindcss@3.4.17)(typescript@5.7.2)
+      '@scalar/api-client-react': 1.1.25(@hyperjump/browser@1.2.0)(axios@1.7.9)(react@19.0.0)(tailwindcss@4.0.9)(typescript@5.7.3)
     transitivePeerDependencies:
-      - '@orama/tokenizers'
       - '@oramacloud/client'
       - '@types/react'
       - '@types/react-dom'
@@ -18752,17 +18852,18 @@ snapshots:
       - supports-color
       - tailwindcss
 
-  fumadocs-twoslash@2.0.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(fumadocs-ui@14.7.7(@types/react-dom@18.3.1)(@types/react@18.3.12)(fumadocs-core@14.7.7(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.17))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(shiki@2.3.2)(typescript@5.7.2):
+  fumadocs-twoslash@3.1.0(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(fumadocs-ui@15.0.15(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(fumadocs-core@15.0.15(@types/react@19.0.10)(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.9))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(shiki@3.1.0)(typescript@5.7.3):
     dependencies:
-      '@radix-ui/react-popover': 1.1.6(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@shikijs/twoslash': 2.3.2(typescript@5.7.2)
-      fumadocs-ui: 14.7.7(@types/react-dom@18.3.1)(@types/react@18.3.12)(fumadocs-core@14.7.7(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.17)
+      '@radix-ui/react-popover': 1.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@shikijs/twoslash': 3.1.0(typescript@5.7.3)
+      fumadocs-ui: 15.0.15(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(fumadocs-core@15.0.15(@types/react@19.0.10)(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.9)
       mdast-util-from-markdown: 2.0.2
       mdast-util-gfm: 3.1.0
       mdast-util-to-hast: 13.2.0
       react: 19.0.0
-      shiki: 2.3.2
-      tailwind-merge: 2.6.0
+      shiki: 3.1.0
+      tailwind-merge: 3.0.2
+      twoslash: 0.3.1(typescript@5.7.3)
     transitivePeerDependencies:
       - '@types/react'
       - '@types/react-dom'
@@ -18770,71 +18871,45 @@ snapshots:
       - supports-color
       - typescript
 
-  fumadocs-typescript@3.0.3(typescript@5.7.2):
+  fumadocs-typescript@3.1.0(typescript@5.7.3):
     dependencies:
+      estree-util-value-to-estree: 3.3.2
       fast-glob: 3.3.3
-      hast-util-to-jsx-runtime: 2.3.2
-      mdast-util-from-markdown: 2.0.2
-      mdast-util-gfm: 3.1.0
-      mdast-util-to-hast: 13.2.0
-      shiki: 2.3.2
+      hast-util-to-estree: 3.1.2
+      hast-util-to-jsx-runtime: 2.3.5
+      remark: 15.0.1
+      remark-rehype: 11.1.1
+      shiki: 3.1.0
       ts-morph: 25.0.1
-      typescript: 5.7.2
+      typescript: 5.7.3
+      unist-util-visit: 5.0.0
     transitivePeerDependencies:
       - supports-color
 
-  fumadocs-ui@14.7.7(@types/react-dom@18.3.1)(@types/react@18.3.12)(fumadocs-core@14.7.7(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.17):
-    dependencies:
-      '@radix-ui/react-accordion': 1.2.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-collapsible': 1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-dialog': 1.1.6(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-navigation-menu': 1.2.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-popover': 1.1.6(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-scroll-area': 1.2.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-tabs': 1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      class-variance-authority: 0.7.1
-      fumadocs-core: 14.7.7(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      lodash.merge: 4.6.2
-      lucide-react: 0.473.0(react@19.0.0)
-      next: 15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      next-themes: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      postcss-selector-parser: 7.1.0
-      react: 19.0.0
-      react-dom: 19.0.0(react@19.0.0)
-      react-medium-image-zoom: 5.2.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      tailwind-merge: 2.6.0
-    optionalDependencies:
-      tailwindcss: 3.4.17
-    transitivePeerDependencies:
-      - '@types/react'
-      - '@types/react-dom'
-
-  fumadocs-ui@15.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(fumadocs-core@15.0.0(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.17):
-    dependencies:
-      '@radix-ui/react-accordion': 1.2.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-collapsible': 1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-dialog': 1.1.6(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-navigation-menu': 1.2.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-popover': 1.1.6(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-scroll-area': 1.2.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@19.0.0)
-      '@radix-ui/react-tabs': 1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+  fumadocs-ui@15.0.15(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(fumadocs-core@15.0.15(@types/react@19.0.10)(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.9):
+    dependencies:
+      '@radix-ui/react-accordion': 1.2.3(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-collapsible': 1.1.3(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-dialog': 1.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-direction': 1.1.0(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-navigation-menu': 1.2.5(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-popover': 1.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-scroll-area': 1.2.3(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-slot': 1.1.2(@types/react@19.0.10)(react@19.0.0)
+      '@radix-ui/react-tabs': 1.1.3(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       class-variance-authority: 0.7.1
-      fumadocs-core: 15.0.0(@types/react@18.3.12)(next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      fumadocs-core: 15.0.15(@types/react@19.0.10)(next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       lodash.merge: 4.6.2
-      lucide-react: 0.473.0(react@19.0.0)
-      next: 15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      lucide-react: 0.477.0(react@19.0.0)
+      next: 15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       next-themes: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       postcss-selector-parser: 7.1.0
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
-      react-medium-image-zoom: 5.2.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
-      tailwind-merge: 2.6.0
+      react-medium-image-zoom: 5.2.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      tailwind-merge: 3.0.2
     optionalDependencies:
-      tailwindcss: 3.4.17
+      tailwindcss: 4.0.9
     transitivePeerDependencies:
       - '@types/react'
       - '@types/react-dom'
@@ -19239,8 +19314,6 @@ snapshots:
       hast-util-whitespace: 3.0.0
       unist-util-is: 6.0.0
 
-  hast-util-parse-selector@2.2.5: {}
-
   hast-util-parse-selector@4.0.0:
     dependencies:
       '@types/hast': 3.0.4
@@ -19296,7 +19369,28 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  hast-util-to-html@9.0.4:
+  hast-util-to-estree@3.1.2:
+    dependencies:
+      '@types/estree': 1.0.6
+      '@types/estree-jsx': 1.0.5
+      '@types/hast': 3.0.4
+      comma-separated-tokens: 2.0.3
+      devlop: 1.1.0
+      estree-util-attach-comments: 3.0.0
+      estree-util-is-identifier-name: 3.0.0
+      hast-util-whitespace: 3.0.0
+      mdast-util-mdx-expression: 2.0.1
+      mdast-util-mdx-jsx: 3.2.0
+      mdast-util-mdxjs-esm: 2.0.1
+      property-information: 7.0.0
+      space-separated-tokens: 2.0.2
+      style-to-object: 1.0.8
+      unist-util-position: 5.0.0
+      zwitch: 2.0.4
+    transitivePeerDependencies:
+      - supports-color
+
+  hast-util-to-html@9.0.5:
     dependencies:
       '@types/hast': 3.0.4
       '@types/unist': 3.0.3
@@ -19305,7 +19399,7 @@ snapshots:
       hast-util-whitespace: 3.0.0
       html-void-elements: 3.0.0
       mdast-util-to-hast: 13.2.0
-      property-information: 6.5.0
+      property-information: 7.0.0
       space-separated-tokens: 2.0.2
       stringify-entities: 4.0.4
       zwitch: 2.0.4
@@ -19330,6 +19424,26 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  hast-util-to-jsx-runtime@2.3.5:
+    dependencies:
+      '@types/estree': 1.0.6
+      '@types/hast': 3.0.4
+      '@types/unist': 3.0.3
+      comma-separated-tokens: 2.0.3
+      devlop: 1.1.0
+      estree-util-is-identifier-name: 3.0.0
+      hast-util-whitespace: 3.0.0
+      mdast-util-mdx-expression: 2.0.1
+      mdast-util-mdx-jsx: 3.2.0
+      mdast-util-mdxjs-esm: 2.0.1
+      property-information: 7.0.0
+      space-separated-tokens: 2.0.2
+      style-to-object: 1.0.8
+      unist-util-position: 5.0.0
+      vfile-message: 4.0.2
+    transitivePeerDependencies:
+      - supports-color
+
   hast-util-to-parse5@8.0.0:
     dependencies:
       '@types/hast': 3.0.4
@@ -19357,14 +19471,6 @@ snapshots:
     dependencies:
       '@types/hast': 3.0.4
 
-  hastscript@6.0.0:
-    dependencies:
-      '@types/hast': 2.3.10
-      comma-separated-tokens: 1.0.8
-      hast-util-parse-selector: 2.2.5
-      property-information: 5.6.0
-      space-separated-tokens: 1.1.5
-
   hastscript@9.0.0:
     dependencies:
       '@types/hast': 3.0.4
@@ -19377,8 +19483,6 @@ snapshots:
 
   headers-polyfill@4.0.3: {}
 
-  highlight.js@10.7.3: {}
-
   highlight.js@11.11.1: {}
 
   highlightjs-curl@1.3.0: {}
@@ -19405,8 +19509,6 @@ snapshots:
       htmlparser2: 8.0.2
       selderee: 0.11.0
 
-  html-url-attributes@3.0.1: {}
-
   html-void-elements@3.0.0: {}
 
   html-whitespace-sensitive-tag-names@3.0.1: {}
@@ -19505,9 +19607,7 @@ snapshots:
 
   ignore@5.3.2: {}
 
-  image-size@1.2.0:
-    dependencies:
-      queue: 6.0.2
+  image-size@2.0.0: {}
 
   immediate@3.0.6: {}
 
@@ -19552,15 +19652,8 @@ snapshots:
 
   is-absolute-url@4.0.1: {}
 
-  is-alphabetical@1.0.4: {}
-
   is-alphabetical@2.0.1: {}
 
-  is-alphanumerical@1.0.4:
-    dependencies:
-      is-alphabetical: 1.0.4
-      is-decimal: 1.0.4
-
   is-alphanumerical@2.0.1:
     dependencies:
       is-alphabetical: 2.0.1
@@ -19589,6 +19682,7 @@ snapshots:
   is-binary-path@2.1.0:
     dependencies:
       binary-extensions: 2.3.0
+    optional: true
 
   is-boolean-object@1.2.2:
     dependencies:
@@ -19618,8 +19712,6 @@ snapshots:
       call-bound: 1.0.3
       has-tostringtag: 1.0.2
 
-  is-decimal@1.0.4: {}
-
   is-decimal@2.0.1: {}
 
   is-docker@2.2.1: {}
@@ -19651,8 +19743,6 @@ snapshots:
     dependencies:
       is-extglob: 2.1.1
 
-  is-hexadecimal@1.0.4: {}
-
   is-hexadecimal@2.0.1: {}
 
   is-interactive@1.0.0: {}
@@ -19793,13 +19883,11 @@ snapshots:
       merge-stream: 2.0.0
       supports-color: 8.1.1
 
-  jiti@1.21.7: {}
-
   jiti@2.4.2: {}
 
-  jotai@2.10.2(@types/react@18.3.12)(react@19.0.0):
+  jotai@2.10.2(@types/react@19.0.10)(react@19.0.0):
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
       react: 19.0.0
 
   js-base64@3.7.2: {}
@@ -19964,10 +20052,53 @@ snapshots:
     dependencies:
       immediate: 3.0.6
 
+  lightningcss-darwin-arm64@1.29.1:
+    optional: true
+
+  lightningcss-darwin-x64@1.29.1:
+    optional: true
+
+  lightningcss-freebsd-x64@1.29.1:
+    optional: true
+
+  lightningcss-linux-arm-gnueabihf@1.29.1:
+    optional: true
+
+  lightningcss-linux-arm64-gnu@1.29.1:
+    optional: true
+
+  lightningcss-linux-arm64-musl@1.29.1:
+    optional: true
+
+  lightningcss-linux-x64-gnu@1.29.1:
+    optional: true
+
+  lightningcss-linux-x64-musl@1.29.1:
+    optional: true
+
+  lightningcss-win32-arm64-msvc@1.29.1:
+    optional: true
+
+  lightningcss-win32-x64-msvc@1.29.1:
+    optional: true
+
+  lightningcss@1.29.1:
+    dependencies:
+      detect-libc: 1.0.3
+    optionalDependencies:
+      lightningcss-darwin-arm64: 1.29.1
+      lightningcss-darwin-x64: 1.29.1
+      lightningcss-freebsd-x64: 1.29.1
+      lightningcss-linux-arm-gnueabihf: 1.29.1
+      lightningcss-linux-arm64-gnu: 1.29.1
+      lightningcss-linux-arm64-musl: 1.29.1
+      lightningcss-linux-x64-gnu: 1.29.1
+      lightningcss-linux-x64-musl: 1.29.1
+      lightningcss-win32-arm64-msvc: 1.29.1
+      lightningcss-win32-x64-msvc: 1.29.1
+
   lilconfig@3.1.3: {}
 
-  lines-and-columns@1.2.4: {}
-
   linkify-it@5.0.0:
     dependencies:
       uc.micro: 2.1.0
@@ -20087,11 +20218,6 @@ snapshots:
 
   lowercase-keys@3.0.0: {}
 
-  lowlight@1.20.0:
-    dependencies:
-      fault: 1.0.4
-      highlight.js: 10.7.3
-
   lowlight@3.3.0:
     dependencies:
       '@types/hast': 3.0.4
@@ -20118,21 +20244,17 @@ snapshots:
     dependencies:
       react: 19.0.0
 
-  lucide-react@0.460.0(react@18.3.1):
-    dependencies:
-      react: 18.3.1
-
   lucide-react@0.460.0(react@19.0.0):
     dependencies:
       react: 19.0.0
 
-  lucide-react@0.473.0(react@19.0.0):
+  lucide-react@0.477.0(react@19.0.0):
     dependencies:
       react: 19.0.0
 
   lunr@2.3.9: {}
 
-  madge@8.0.0(typescript@5.7.2):
+  madge@8.0.0(typescript@5.7.3):
     dependencies:
       chalk: 4.1.2
       commander: 7.2.0
@@ -20147,7 +20269,7 @@ snapshots:
       ts-graphviz: 2.1.6
       walkdir: 0.4.1
     optionalDependencies:
-      typescript: 5.7.2
+      typescript: 5.7.3
     transitivePeerDependencies:
       - supports-color
 
@@ -20500,9 +20622,9 @@ snapshots:
 
   memory-pager@1.5.0: {}
 
-  merge-refs@1.3.0(@types/react@18.3.12):
+  merge-refs@1.3.0(@types/react@19.0.10):
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
   merge-stream@2.0.0: {}
 
@@ -21188,32 +21310,6 @@ snapshots:
 
   ms@2.1.3: {}
 
-  msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2):
-    dependencies:
-      '@bundled-es-modules/cookie': 2.0.1
-      '@bundled-es-modules/statuses': 1.0.1
-      '@bundled-es-modules/tough-cookie': 0.1.6
-      '@inquirer/confirm': 5.1.5(@types/node@22.13.5)
-      '@mswjs/interceptors': 0.37.6
-      '@open-draft/deferred-promise': 2.2.0
-      '@open-draft/until': 2.1.0
-      '@types/cookie': 0.6.0
-      '@types/statuses': 2.0.5
-      graphql: 16.10.0
-      headers-polyfill: 4.0.3
-      is-node-process: 1.2.0
-      outvariant: 1.4.3
-      path-to-regexp: 6.3.0
-      picocolors: 1.1.1
-      strict-event-emitter: 0.5.1
-      type-fest: 4.34.1
-      yargs: 17.7.2
-    optionalDependencies:
-      typescript: 5.7.2
-    transitivePeerDependencies:
-      - '@types/node'
-    optional: true
-
   msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3):
     dependencies:
       '@bundled-es-modules/cookie': 2.0.1
@@ -21239,32 +21335,6 @@ snapshots:
     transitivePeerDependencies:
       - '@types/node'
 
-  msw@2.7.0(@types/node@22.9.0)(typescript@5.7.2):
-    dependencies:
-      '@bundled-es-modules/cookie': 2.0.1
-      '@bundled-es-modules/statuses': 1.0.1
-      '@bundled-es-modules/tough-cookie': 0.1.6
-      '@inquirer/confirm': 5.1.5(@types/node@22.9.0)
-      '@mswjs/interceptors': 0.37.6
-      '@open-draft/deferred-promise': 2.2.0
-      '@open-draft/until': 2.1.0
-      '@types/cookie': 0.6.0
-      '@types/statuses': 2.0.5
-      graphql: 16.10.0
-      headers-polyfill: 4.0.3
-      is-node-process: 1.2.0
-      outvariant: 1.4.3
-      path-to-regexp: 6.3.0
-      picocolors: 1.1.1
-      strict-event-emitter: 0.5.1
-      type-fest: 4.34.1
-      yargs: 17.7.2
-    optionalDependencies:
-      typescript: 5.7.2
-    transitivePeerDependencies:
-      - '@types/node'
-    optional: true
-
   msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3):
     dependencies:
       '@bundled-es-modules/cookie': 2.0.1
@@ -21295,12 +21365,6 @@ snapshots:
 
   mute-stream@2.0.0: {}
 
-  mz@2.7.0:
-    dependencies:
-      any-promise: 1.3.0
-      object-assign: 4.1.1
-      thenify-all: 1.6.0
-
   nan@2.22.0:
     optional: true
 
@@ -21358,52 +21422,26 @@ snapshots:
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
 
-  next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
-    dependencies:
-      '@next/env': 15.1.7
-      '@swc/counter': 0.1.3
-      '@swc/helpers': 0.5.15
-      busboy: 1.6.0
-      caniuse-lite: 1.0.30001699
-      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.1.7
-      '@next/swc-darwin-x64': 15.1.7
-      '@next/swc-linux-arm64-gnu': 15.1.7
-      '@next/swc-linux-arm64-musl': 15.1.7
-      '@next/swc-linux-x64-gnu': 15.1.7
-      '@next/swc-linux-x64-musl': 15.1.7
-      '@next/swc-win32-arm64-msvc': 15.1.7
-      '@next/swc-win32-x64-msvc': 15.1.7
-      '@opentelemetry/api': 1.9.0
-      sharp: 0.33.5
-    transitivePeerDependencies:
-      - '@babel/core'
-      - babel-plugin-macros
-
-  next@15.1.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+  next@15.2.0(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
     dependencies:
-      '@next/env': 15.1.7
+      '@next/env': 15.2.0
       '@swc/counter': 0.1.3
       '@swc/helpers': 0.5.15
       busboy: 1.6.0
-      caniuse-lite: 1.0.30001699
+      caniuse-lite: 1.0.30001701
       postcss: 8.4.31
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
       styled-jsx: 5.1.6(react@19.0.0)
     optionalDependencies:
-      '@next/swc-darwin-arm64': 15.1.7
-      '@next/swc-darwin-x64': 15.1.7
-      '@next/swc-linux-arm64-gnu': 15.1.7
-      '@next/swc-linux-arm64-musl': 15.1.7
-      '@next/swc-linux-x64-gnu': 15.1.7
-      '@next/swc-linux-x64-musl': 15.1.7
-      '@next/swc-win32-arm64-msvc': 15.1.7
-      '@next/swc-win32-x64-msvc': 15.1.7
+      '@next/swc-darwin-arm64': 15.2.0
+      '@next/swc-darwin-x64': 15.2.0
+      '@next/swc-linux-arm64-gnu': 15.2.0
+      '@next/swc-linux-arm64-musl': 15.2.0
+      '@next/swc-linux-x64-gnu': 15.2.0
+      '@next/swc-linux-x64-musl': 15.2.0
+      '@next/swc-win32-arm64-msvc': 15.2.0
+      '@next/swc-win32-x64-msvc': 15.2.0
       '@opentelemetry/api': 1.9.0
       sharp: 0.33.5
     transitivePeerDependencies:
@@ -21459,7 +21497,8 @@ snapshots:
       abbrev: 1.1.1
     optional: true
 
-  normalize-path@3.0.0: {}
+  normalize-path@3.0.0:
+    optional: true
 
   normalize-range@0.1.2: {}
 
@@ -21580,7 +21619,7 @@ snapshots:
       regex: 5.1.1
       regex-recursion: 4.3.0
 
-  oniguruma-to-es@3.1.0:
+  oniguruma-to-es@3.1.1:
     dependencies:
       emoji-regex-xs: 1.0.0
       regex: 6.0.1
@@ -21663,7 +21702,7 @@ snapshots:
   openapi-sampler@1.6.1:
     dependencies:
       '@types/json-schema': 7.0.15
-      fast-xml-parser: 4.5.1
+      fast-xml-parser: 4.5.3
       json-pointer: 0.6.2
 
   opener@1.5.2: {}
@@ -21724,16 +21763,16 @@ snapshots:
       object-keys: 1.1.1
       safe-push-apply: 1.0.0
 
-  oxc-transform@0.48.2:
+  oxc-transform@0.53.0:
     optionalDependencies:
-      '@oxc-transform/binding-darwin-arm64': 0.48.2
-      '@oxc-transform/binding-darwin-x64': 0.48.2
-      '@oxc-transform/binding-linux-arm64-gnu': 0.48.2
-      '@oxc-transform/binding-linux-arm64-musl': 0.48.2
-      '@oxc-transform/binding-linux-x64-gnu': 0.48.2
-      '@oxc-transform/binding-linux-x64-musl': 0.48.2
-      '@oxc-transform/binding-win32-arm64-msvc': 0.48.2
-      '@oxc-transform/binding-win32-x64-msvc': 0.48.2
+      '@oxc-transform/binding-darwin-arm64': 0.53.0
+      '@oxc-transform/binding-darwin-x64': 0.53.0
+      '@oxc-transform/binding-linux-arm64-gnu': 0.53.0
+      '@oxc-transform/binding-linux-arm64-musl': 0.53.0
+      '@oxc-transform/binding-linux-x64-gnu': 0.53.0
+      '@oxc-transform/binding-linux-x64-musl': 0.53.0
+      '@oxc-transform/binding-win32-arm64-msvc': 0.53.0
+      '@oxc-transform/binding-win32-x64-msvc': 0.53.0
 
   p-cancelable@3.0.0: {}
 
@@ -21795,15 +21834,6 @@ snapshots:
     dependencies:
       callsites: 3.1.0
 
-  parse-entities@2.0.0:
-    dependencies:
-      character-entities: 1.2.4
-      character-entities-legacy: 1.1.4
-      character-reference-invalid: 1.1.4
-      is-alphanumerical: 1.0.4
-      is-decimal: 1.0.4
-      is-hexadecimal: 1.0.4
-
   parse-entities@4.0.2:
     dependencies:
       '@types/unist': 2.0.11
@@ -21967,12 +21997,8 @@ snapshots:
 
   pidtree@0.6.0: {}
 
-  pify@2.3.0: {}
-
   pify@4.0.1: {}
 
-  pirates@4.0.6: {}
-
   piscina@4.8.0:
     optionalDependencies:
       '@napi-rs/nice': 1.0.1
@@ -22001,35 +22027,6 @@ snapshots:
 
   possible-typed-array-names@1.1.0: {}
 
-  postcss-import@15.1.0(postcss@8.5.2):
-    dependencies:
-      postcss: 8.5.2
-      postcss-value-parser: 4.2.0
-      read-cache: 1.0.0
-      resolve: 1.22.10
-
-  postcss-js@4.0.1(postcss@8.5.2):
-    dependencies:
-      camelcase-css: 2.0.1
-      postcss: 8.5.2
-
-  postcss-load-config@4.0.2(postcss@8.5.2):
-    dependencies:
-      lilconfig: 3.1.3
-      yaml: 2.7.0
-    optionalDependencies:
-      postcss: 8.5.2
-
-  postcss-nested@6.2.0(postcss@8.5.2):
-    dependencies:
-      postcss: 8.5.2
-      postcss-selector-parser: 6.1.2
-
-  postcss-selector-parser@6.1.2:
-    dependencies:
-      cssesc: 3.0.0
-      util-deprecate: 1.0.2
-
   postcss-selector-parser@7.1.0:
     dependencies:
       cssesc: 3.0.0
@@ -22037,11 +22034,11 @@ snapshots:
 
   postcss-value-parser@4.2.0: {}
 
-  postcss-values-parser@6.0.2(postcss@8.5.2):
+  postcss-values-parser@6.0.2(postcss@8.5.3):
     dependencies:
       color-name: 1.1.4
       is-url-superb: 4.0.0
-      postcss: 8.5.2
+      postcss: 8.5.3
       quote-unquote: 1.0.0
 
   postcss@8.4.31:
@@ -22050,7 +22047,7 @@ snapshots:
       picocolors: 1.1.1
       source-map-js: 1.2.1
 
-  postcss@8.5.2:
+  postcss@8.5.3:
     dependencies:
       nanoid: 3.3.8
       picocolors: 1.1.1
@@ -22102,7 +22099,7 @@ snapshots:
       detective-amd: 6.0.1
       detective-cjs: 6.0.1
       detective-es6: 5.0.1
-      detective-postcss: 7.0.1(postcss@8.5.2)
+      detective-postcss: 7.0.1(postcss@8.5.3)
       detective-sass: 6.0.1
       detective-scss: 5.0.1
       detective-stylus: 5.0.1
@@ -22110,7 +22107,7 @@ snapshots:
       detective-vue2: 2.2.0(typescript@5.7.3)
       module-definition: 6.0.1
       node-source-walk: 7.0.1
-      postcss: 8.5.2
+      postcss: 8.5.3
       typescript: 5.7.3
     transitivePeerDependencies:
       - supports-color
@@ -22119,15 +22116,17 @@ snapshots:
 
   prelude-ls@1.2.1: {}
 
-  prettier-plugin-organize-imports@4.1.0(prettier@3.5.0)(typescript@5.7.2):
+  prettier-plugin-organize-imports@4.1.0(prettier@3.5.0)(typescript@5.7.3):
     dependencies:
       prettier: 3.5.0
-      typescript: 5.7.2
+      typescript: 5.7.3
 
   prettier@2.8.8: {}
 
   prettier@3.5.0: {}
 
+  prettier@3.5.2: {}
+
   pretty-bytes@5.6.0: {}
 
   pretty-bytes@6.1.1: {}
@@ -22144,10 +22143,6 @@ snapshots:
 
   priorityqueuejs@2.0.0: {}
 
-  prismjs@1.27.0: {}
-
-  prismjs@1.29.0: {}
-
   process-nextick-args@2.0.1: {}
 
   process@0.11.10: {}
@@ -22160,12 +22155,10 @@ snapshots:
       object-assign: 4.1.1
       react-is: 16.13.1
 
-  property-information@5.6.0:
-    dependencies:
-      xtend: 4.0.2
-
   property-information@6.5.0: {}
 
+  property-information@7.0.0: {}
+
   proto3-json-serializer@2.0.2:
     dependencies:
       protobufjs: 7.4.0
@@ -22267,28 +22260,24 @@ snapshots:
 
   queue-microtask@1.2.3: {}
 
-  queue@6.0.2:
-    dependencies:
-      inherits: 2.0.4
-
   quick-lru@5.1.1: {}
 
   quote-unquote@1.0.0: {}
 
-  radix-vue@1.9.14(vue@3.5.13(typescript@5.7.2)):
+  radix-vue@1.9.14(vue@3.5.13(typescript@5.7.3)):
     dependencies:
       '@floating-ui/dom': 1.6.13
-      '@floating-ui/vue': 1.1.6(vue@3.5.13(typescript@5.7.2))
+      '@floating-ui/vue': 1.1.6(vue@3.5.13(typescript@5.7.3))
       '@internationalized/date': 3.7.0
       '@internationalized/number': 3.6.0
-      '@tanstack/vue-virtual': 3.13.0(vue@3.5.13(typescript@5.7.2))
-      '@vueuse/core': 10.11.1(vue@3.5.13(typescript@5.7.2))
-      '@vueuse/shared': 10.11.1(vue@3.5.13(typescript@5.7.2))
+      '@tanstack/vue-virtual': 3.13.0(vue@3.5.13(typescript@5.7.3))
+      '@vueuse/core': 10.11.1(vue@3.5.13(typescript@5.7.3))
+      '@vueuse/shared': 10.11.1(vue@3.5.13(typescript@5.7.3))
       aria-hidden: 1.2.4
       defu: 6.1.4
       fast-deep-equal: 3.1.3
       nanoid: 5.0.9
-      vue: 3.5.13(typescript@5.7.2)
+      vue: 3.5.13(typescript@5.7.3)
     transitivePeerDependencies:
       - '@vue/composition-api'
 
@@ -22333,12 +22322,6 @@ snapshots:
       minimist: 1.2.8
       strip-json-comments: 2.0.1
 
-  react-dom@18.3.1(react@18.3.1):
-    dependencies:
-      loose-envify: 1.4.0
-      react: 18.3.1
-      scheduler: 0.23.2
-
   react-dom@19.0.0(react@19.0.0):
     dependencies:
       react: 19.0.0
@@ -22360,11 +22343,11 @@ snapshots:
 
   react-is@18.3.1: {}
 
-  react-markdown@8.0.7(@types/react@18.3.12)(react@19.0.0):
+  react-markdown@8.0.7(@types/react@19.0.10)(react@19.0.0):
     dependencies:
       '@types/hast': 2.3.10
       '@types/prop-types': 15.7.14
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
       '@types/unist': 2.0.11
       comma-separated-tokens: 2.0.3
       hast-util-whitespace: 2.0.1
@@ -22382,70 +22365,53 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  react-markdown@9.0.3(@types/react@18.3.12)(react@18.3.1):
-    dependencies:
-      '@types/hast': 3.0.4
-      '@types/react': 18.3.12
-      devlop: 1.1.0
-      hast-util-to-jsx-runtime: 2.3.2
-      html-url-attributes: 3.0.1
-      mdast-util-to-hast: 13.2.0
-      react: 18.3.1
-      remark-parse: 11.0.0
-      remark-rehype: 11.1.1
-      unified: 11.0.5
-      unist-util-visit: 5.0.0
-      vfile: 6.0.3
-    transitivePeerDependencies:
-      - supports-color
-
-  react-medium-image-zoom@5.2.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+  react-medium-image-zoom@5.2.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
     dependencies:
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
 
-  react-monaco-editor@0.56.2(@types/react@18.3.12)(monaco-editor@0.52.2)(react@19.0.0):
+  react-monaco-editor@0.56.2(@types/react@19.0.10)(monaco-editor@0.52.2)(react@19.0.0):
     dependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
       monaco-editor: 0.52.2
       prop-types: 15.8.1
       react: 19.0.0
 
-  react-pdf@9.2.1(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+  react-pdf@9.2.1(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
     dependencies:
       clsx: 2.1.1
       dequal: 2.0.3
       make-cancellable-promise: 1.3.2
       make-event-props: 1.6.2
-      merge-refs: 1.3.0(@types/react@18.3.12)
+      merge-refs: 1.3.0(@types/react@19.0.10)
       pdfjs-dist: 4.8.69
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
       tiny-invariant: 1.3.3
       warning: 4.0.3
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
   react-refresh@0.14.2: {}
 
-  react-remove-scroll-bar@2.3.8(@types/react@18.3.12)(react@19.0.0):
+  react-remove-scroll-bar@2.3.8(@types/react@19.0.10)(react@19.0.0):
     dependencies:
       react: 19.0.0
-      react-style-singleton: 2.2.3(@types/react@18.3.12)(react@19.0.0)
+      react-style-singleton: 2.2.3(@types/react@19.0.10)(react@19.0.0)
       tslib: 2.8.1
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  react-remove-scroll@2.6.3(@types/react@18.3.12)(react@19.0.0):
+  react-remove-scroll@2.6.3(@types/react@19.0.10)(react@19.0.0):
     dependencies:
       react: 19.0.0
-      react-remove-scroll-bar: 2.3.8(@types/react@18.3.12)(react@19.0.0)
-      react-style-singleton: 2.2.3(@types/react@18.3.12)(react@19.0.0)
+      react-remove-scroll-bar: 2.3.8(@types/react@19.0.10)(react@19.0.0)
+      react-style-singleton: 2.2.3(@types/react@19.0.10)(react@19.0.0)
       tslib: 2.8.1
-      use-callback-ref: 1.3.3(@types/react@18.3.12)(react@19.0.0)
-      use-sidecar: 1.1.3(@types/react@18.3.12)(react@19.0.0)
+      use-callback-ref: 1.3.3(@types/react@19.0.10)(react@19.0.0)
+      use-sidecar: 1.1.3(@types/react@19.0.10)(react@19.0.0)
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
   react-server-dom-webpack@19.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(webpack@5.97.1):
     dependencies:
@@ -22456,23 +22422,13 @@ snapshots:
       webpack: 5.97.1
       webpack-sources: 3.2.3
 
-  react-style-singleton@2.2.3(@types/react@18.3.12)(react@19.0.0):
+  react-style-singleton@2.2.3(@types/react@19.0.10)(react@19.0.0):
     dependencies:
       get-nonce: 1.0.1
       react: 19.0.0
       tslib: 2.8.1
     optionalDependencies:
-      '@types/react': 18.3.12
-
-  react-syntax-highlighter@15.6.1(react@18.3.1):
-    dependencies:
-      '@babel/runtime': 7.26.7
-      highlight.js: 10.7.3
-      highlightjs-vue: 1.0.0
-      lowlight: 1.20.0
-      prismjs: 1.29.0
-      react: 18.3.1
-      refractor: 3.6.0
+      '@types/react': 19.0.10
 
   react-text-transition@3.1.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
     dependencies:
@@ -22489,21 +22445,13 @@ snapshots:
 
   react-window@1.8.9(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
     dependencies:
-      '@babel/runtime': 7.26.7
+      '@babel/runtime': 7.26.9
       memoize-one: 5.2.1
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
 
-  react@18.3.1:
-    dependencies:
-      loose-envify: 1.4.0
-
   react@19.0.0: {}
 
-  read-cache@1.0.0:
-    dependencies:
-      pify: 2.3.0
-
   read-yaml-file@1.1.0:
     dependencies:
       graceful-fs: 4.2.11
@@ -22538,6 +22486,7 @@ snapshots:
   readdirp@3.6.0:
     dependencies:
       picomatch: 2.3.1
+    optional: true
 
   readdirp@4.1.1: {}
 
@@ -22591,12 +22540,6 @@ snapshots:
       get-proto: 1.0.1
       which-builtin-type: 1.2.1
 
-  refractor@3.6.0:
-    dependencies:
-      hastscript: 6.0.0
-      parse-entities: 2.0.0
-      prismjs: 1.27.0
-
   regenerator-runtime@0.14.1: {}
 
   regex-recursion@4.3.0:
@@ -22678,7 +22621,7 @@ snapshots:
   rehype-stringify@10.0.1:
     dependencies:
       '@types/hast': 3.0.4
-      hast-util-to-html: 9.0.4
+      hast-util-to-html: 9.0.5
       unified: 11.0.5
 
   remark-code-import@1.2.0:
@@ -22876,14 +22819,6 @@ snapshots:
       glob: 11.0.1
       package-json-from-dist: 1.0.1
 
-  rollup-plugin-dts@6.1.1(rollup@4.34.6)(typescript@5.7.2):
-    dependencies:
-      magic-string: 0.30.17
-      rollup: 4.34.6
-      typescript: 5.7.2
-    optionalDependencies:
-      '@babel/code-frame': 7.26.2
-
   rollup-plugin-dts@6.1.1(rollup@4.34.6)(typescript@5.7.3):
     dependencies:
       magic-string: 0.30.17
@@ -23002,10 +22937,6 @@ snapshots:
 
   sax@1.4.1: {}
 
-  scheduler@0.23.2:
-    dependencies:
-      loose-envify: 1.4.0
-
   scheduler@0.25.0: {}
 
   schema-utils@3.3.0:
@@ -23143,15 +23074,15 @@ snapshots:
 
   shell-quote@1.8.2: {}
 
-  shiki-magic-move@1.0.0(react@19.0.0)(shiki@2.3.2)(svelte@5.19.10)(vue@3.5.13(typescript@5.7.2)):
+  shiki-magic-move@1.0.1(react@19.0.0)(shiki@3.1.0)(svelte@5.19.10)(vue@3.5.13(typescript@5.7.3)):
     dependencies:
       diff-match-patch-es: 1.0.1
       ohash: 1.1.4
     optionalDependencies:
       react: 19.0.0
-      shiki: 2.3.2
+      shiki: 3.1.0
       svelte: 5.19.10
-      vue: 3.5.13(typescript@5.7.2)
+      vue: 3.5.13(typescript@5.7.3)
 
   shiki@1.23.1:
     dependencies:
@@ -23162,15 +23093,15 @@ snapshots:
       '@shikijs/vscode-textmate': 9.3.1
       '@types/hast': 3.0.4
 
-  shiki@2.3.2:
+  shiki@3.1.0:
     dependencies:
-      '@shikijs/core': 2.3.2
-      '@shikijs/engine-javascript': 2.3.2
-      '@shikijs/engine-oniguruma': 2.3.2
-      '@shikijs/langs': 2.3.2
-      '@shikijs/themes': 2.3.2
-      '@shikijs/types': 2.3.2
-      '@shikijs/vscode-textmate': 10.0.1
+      '@shikijs/core': 3.1.0
+      '@shikijs/engine-javascript': 3.1.0
+      '@shikijs/engine-oniguruma': 3.1.0
+      '@shikijs/langs': 3.1.0
+      '@shikijs/themes': 3.1.0
+      '@shikijs/types': 3.1.0
+      '@shikijs/vscode-textmate': 10.0.2
       '@types/hast': 3.0.4
 
   side-channel-list@1.0.0:
@@ -23265,11 +23196,6 @@ snapshots:
       ip-address: 9.0.5
       smart-buffer: 4.2.0
 
-  sonner@1.7.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
-    dependencies:
-      react: 18.3.1
-      react-dom: 18.3.1(react@18.3.1)
-
   sort-keys-length@1.0.1:
     dependencies:
       sort-keys: 1.1.2
@@ -23291,8 +23217,6 @@ snapshots:
 
   sourcemap-codec@1.4.8: {}
 
-  space-separated-tokens@1.1.5: {}
-
   space-separated-tokens@2.0.2: {}
 
   sparse-bitfield@3.0.3:
@@ -23502,6 +23426,8 @@ snapshots:
 
   strnum@1.0.5: {}
 
+  strnum@1.1.2: {}
+
   strtok3@9.1.1:
     dependencies:
       '@tokenizer/token': 0.3.0
@@ -23519,11 +23445,6 @@ snapshots:
     dependencies:
       inline-style-parser: 0.2.4
 
-  styled-jsx@5.1.6(react@18.3.1):
-    dependencies:
-      client-only: 0.0.1
-      react: 18.3.1
-
   styled-jsx@5.1.6(react@19.0.0):
     dependencies:
       client-only: 0.0.1
@@ -23533,16 +23454,6 @@ snapshots:
     dependencies:
       commander: 12.1.0
 
-  sucrase@3.35.0:
-    dependencies:
-      '@jridgewell/gen-mapping': 0.3.8
-      commander: 4.1.1
-      glob: 10.4.5
-      lines-and-columns: 1.2.4
-      mz: 2.7.0
-      pirates: 4.0.6
-      ts-interface-checker: 0.1.13
-
   supports-color@7.2.0:
     dependencies:
       has-flag: 4.0.0
@@ -23570,12 +23481,6 @@ snapshots:
       magic-string: 0.30.17
       zimmerframe: 1.1.2
 
-  swr@2.3.2(react@18.3.1):
-    dependencies:
-      dequal: 2.0.3
-      react: 18.3.1
-      use-sync-external-store: 1.4.0(react@18.3.1)
-
   swr@2.3.2(react@19.0.0):
     dependencies:
       dequal: 2.0.3
@@ -23584,9 +23489,9 @@ snapshots:
 
   swrev@4.0.0: {}
 
-  swrv@1.1.0(vue@3.5.13(typescript@5.7.2)):
+  swrv@1.1.0(vue@3.5.13(typescript@5.7.3)):
     dependencies:
-      vue: 3.5.13(typescript@5.7.2)
+      vue: 3.5.13(typescript@5.7.3)
 
   sylvester@0.0.12: {}
 
@@ -23594,36 +23499,13 @@ snapshots:
 
   tailwind-merge@2.6.0: {}
 
-  tailwindcss-animate@1.0.7(tailwindcss@3.4.17):
-    dependencies:
-      tailwindcss: 3.4.17
+  tailwind-merge@3.0.2: {}
 
-  tailwindcss@3.4.17:
+  tailwindcss-animate@1.0.7(tailwindcss@4.0.9):
     dependencies:
-      '@alloc/quick-lru': 5.2.0
-      arg: 5.0.2
-      chokidar: 3.6.0
-      didyoumean: 1.2.2
-      dlv: 1.1.3
-      fast-glob: 3.3.3
-      glob-parent: 6.0.2
-      is-glob: 4.0.3
-      jiti: 1.21.7
-      lilconfig: 3.1.3
-      micromatch: 4.0.8
-      normalize-path: 3.0.0
-      object-hash: 3.0.0
-      picocolors: 1.1.1
-      postcss: 8.5.2
-      postcss-import: 15.1.0(postcss@8.5.2)
-      postcss-js: 4.0.1(postcss@8.5.2)
-      postcss-load-config: 4.0.2(postcss@8.5.2)
-      postcss-nested: 6.2.0(postcss@8.5.2)
-      postcss-selector-parser: 6.1.2
-      resolve: 1.22.10
-      sucrase: 3.35.0
-    transitivePeerDependencies:
-      - ts-node
+      tailwindcss: 4.0.9
+
+  tailwindcss@4.0.9: {}
 
   tapable@2.2.1: {}
 
@@ -23732,14 +23614,6 @@ snapshots:
 
   text-hex@1.0.0: {}
 
-  thenify-all@1.6.0:
-    dependencies:
-      thenify: 3.3.1
-
-  thenify@3.3.1:
-    dependencies:
-      any-promise: 1.3.0
-
   throttleit@2.1.0: {}
 
   through2@4.0.2:
@@ -23834,10 +23708,6 @@ snapshots:
 
   trough@2.2.0: {}
 
-  ts-api-utils@2.0.1(typescript@5.7.2):
-    dependencies:
-      typescript: 5.7.2
-
   ts-api-utils@2.0.1(typescript@5.7.3):
     dependencies:
       typescript: 5.7.3
@@ -23853,8 +23723,6 @@ snapshots:
       '@ts-graphviz/common': 2.1.5
       '@ts-graphviz/core': 2.0.7
 
-  ts-interface-checker@0.1.13: {}
-
   ts-morph@25.0.1:
     dependencies:
       '@ts-morph/common': 0.26.1
@@ -23877,9 +23745,9 @@ snapshots:
 
   tslib@2.8.1: {}
 
-  tsx@4.19.2:
+  tsx@4.19.3:
     dependencies:
-      esbuild: 0.23.1
+      esbuild: 0.25.0
       get-tsconfig: 4.10.0
     optionalDependencies:
       fsevents: 2.3.3
@@ -23888,40 +23756,40 @@ snapshots:
     dependencies:
       safe-buffer: 5.2.1
 
-  turbo-darwin-64@2.4.1:
+  turbo-darwin-64@2.4.4:
     optional: true
 
-  turbo-darwin-arm64@2.4.1:
+  turbo-darwin-arm64@2.4.4:
     optional: true
 
-  turbo-linux-64@2.4.1:
+  turbo-linux-64@2.4.4:
     optional: true
 
-  turbo-linux-arm64@2.4.1:
+  turbo-linux-arm64@2.4.4:
     optional: true
 
-  turbo-windows-64@2.4.1:
+  turbo-windows-64@2.4.4:
     optional: true
 
-  turbo-windows-arm64@2.4.1:
+  turbo-windows-arm64@2.4.4:
     optional: true
 
-  turbo@2.4.1:
+  turbo@2.4.4:
     optionalDependencies:
-      turbo-darwin-64: 2.4.1
-      turbo-darwin-arm64: 2.4.1
-      turbo-linux-64: 2.4.1
-      turbo-linux-arm64: 2.4.1
-      turbo-windows-64: 2.4.1
-      turbo-windows-arm64: 2.4.1
+      turbo-darwin-64: 2.4.4
+      turbo-darwin-arm64: 2.4.4
+      turbo-linux-64: 2.4.4
+      turbo-linux-arm64: 2.4.4
+      turbo-windows-64: 2.4.4
+      turbo-windows-arm64: 2.4.4
 
-  twoslash-protocol@0.2.12: {}
+  twoslash-protocol@0.3.1: {}
 
-  twoslash@0.2.12(typescript@5.7.2):
+  twoslash@0.3.1(typescript@5.7.3):
     dependencies:
-      '@typescript/vfs': 1.6.1(typescript@5.7.2)
-      twoslash-protocol: 0.2.12
-      typescript: 5.7.2
+      '@typescript/vfs': 1.6.1(typescript@5.7.3)
+      twoslash-protocol: 0.3.1
+      typescript: 5.7.3
     transitivePeerDependencies:
       - supports-color
 
@@ -23979,44 +23847,42 @@ snapshots:
     optionalDependencies:
       rxjs: 7.8.1
 
-  typedoc-plugin-markdown@4.4.2(typedoc@0.27.4(typescript@5.7.2)):
+  typedoc-plugin-markdown@4.4.2(typedoc@0.27.4(typescript@5.7.3)):
     dependencies:
-      typedoc: 0.27.4(typescript@5.7.2)
+      typedoc: 0.27.4(typescript@5.7.3)
 
-  typedoc-plugin-merge-modules@6.1.0(typedoc@0.27.4(typescript@5.7.2)):
+  typedoc-plugin-merge-modules@6.1.0(typedoc@0.27.4(typescript@5.7.3)):
     dependencies:
-      typedoc: 0.27.4(typescript@5.7.2)
+      typedoc: 0.27.4(typescript@5.7.3)
 
-  typedoc@0.26.11(typescript@5.7.2):
+  typedoc@0.26.11(typescript@5.7.3):
     dependencies:
       lunr: 2.3.9
       markdown-it: 14.1.0
       minimatch: 9.0.5
       shiki: 1.23.1
-      typescript: 5.7.2
+      typescript: 5.7.3
       yaml: 2.7.0
 
-  typedoc@0.27.4(typescript@5.7.2):
+  typedoc@0.27.4(typescript@5.7.3):
     dependencies:
       '@gerrit0/mini-shiki': 1.27.2
       lunr: 2.3.9
       markdown-it: 14.1.0
       minimatch: 9.0.5
-      typescript: 5.7.2
+      typescript: 5.7.3
       yaml: 2.7.0
 
-  typescript-eslint@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2):
+  typescript-eslint@8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3):
     dependencies:
-      '@typescript-eslint/eslint-plugin': 8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)
-      '@typescript-eslint/parser': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)
-      '@typescript-eslint/utils': 8.24.0(eslint@9.16.0(jiti@2.4.2))(typescript@5.7.2)
-      eslint: 9.16.0(jiti@2.4.2)
-      typescript: 5.7.2
+      '@typescript-eslint/eslint-plugin': 8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)
+      '@typescript-eslint/parser': 8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)
+      '@typescript-eslint/utils': 8.24.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.7.3)
+      eslint: 9.22.0(jiti@2.4.2)
+      typescript: 5.7.3
     transitivePeerDependencies:
       - supports-color
 
-  typescript@5.7.2: {}
-
   typescript@5.7.3: {}
 
   uc.micro@2.1.0: {}
@@ -24198,29 +24064,25 @@ snapshots:
 
   urlpattern-polyfill@10.0.0: {}
 
-  use-callback-ref@1.3.3(@types/react@18.3.12)(react@19.0.0):
+  use-callback-ref@1.3.3(@types/react@19.0.10)(react@19.0.0):
     dependencies:
       react: 19.0.0
       tslib: 2.8.1
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
-  use-sidecar@1.1.3(@types/react@18.3.12)(react@19.0.0):
+  use-sidecar@1.1.3(@types/react@19.0.10)(react@19.0.0):
     dependencies:
       detect-node-es: 1.1.0
       react: 19.0.0
       tslib: 2.8.1
     optionalDependencies:
-      '@types/react': 18.3.12
+      '@types/react': 19.0.10
 
   use-stick-to-bottom@1.0.46(react@19.0.0):
     dependencies:
       react: 19.0.0
 
-  use-sync-external-store@1.4.0(react@18.3.1):
-    dependencies:
-      react: 18.3.1
-
   use-sync-external-store@1.4.0(react@19.0.0):
     dependencies:
       react: 19.0.0
@@ -24240,9 +24102,9 @@ snapshots:
       kleur: 4.1.5
       sade: 1.8.1
 
-  vaul@0.9.9(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+  vaul@0.9.9(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
     dependencies:
-      '@radix-ui/react-dialog': 1.1.6(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+      '@radix-ui/react-dialog': 1.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
     transitivePeerDependencies:
@@ -24288,13 +24150,13 @@ snapshots:
       '@types/unist': 3.0.3
       vfile-message: 4.0.2
 
-  vite-node@2.1.5(@types/node@22.13.5)(terser@5.38.2):
+  vite-node@2.1.5(@types/node@22.13.5)(lightningcss@1.29.1)(terser@5.38.2):
     dependencies:
       cac: 6.7.14
       debug: 4.4.0
       es-module-lexer: 1.6.0
       pathe: 1.1.2
-      vite: 5.4.14(@types/node@22.13.5)(terser@5.38.2)
+      vite: 5.4.14(@types/node@22.13.5)(lightningcss@1.29.1)(terser@5.38.2)
     transitivePeerDependencies:
       - '@types/node'
       - less
@@ -24306,13 +24168,13 @@ snapshots:
       - supports-color
       - terser
 
-  vite-node@2.1.5(@types/node@22.9.0)(terser@5.38.2):
+  vite-node@2.1.5(@types/node@22.9.0)(lightningcss@1.29.1)(terser@5.38.2):
     dependencies:
       cac: 6.7.14
       debug: 4.4.0
       es-module-lexer: 1.6.0
       pathe: 1.1.2
-      vite: 5.4.14(@types/node@22.9.0)(terser@5.38.2)
+      vite: 5.4.14(@types/node@22.9.0)(lightningcss@1.29.1)(terser@5.38.2)
     transitivePeerDependencies:
       - '@types/node'
       - less
@@ -24324,84 +24186,50 @@ snapshots:
       - supports-color
       - terser
 
-  vite-plugin-wasm@3.4.1(vite@5.4.14(@types/node@22.13.5)(terser@5.38.2)):
+  vite-plugin-wasm@3.4.1(vite@5.4.14(@types/node@22.13.5)(lightningcss@1.29.1)(terser@5.38.2)):
     dependencies:
-      vite: 5.4.14(@types/node@22.13.5)(terser@5.38.2)
+      vite: 5.4.14(@types/node@22.13.5)(lightningcss@1.29.1)(terser@5.38.2)
 
-  vite@5.4.14(@types/node@22.13.5)(terser@5.38.2):
+  vite@5.4.14(@types/node@22.13.5)(lightningcss@1.29.1)(terser@5.38.2):
     dependencies:
       esbuild: 0.21.5
-      postcss: 8.5.2
+      postcss: 8.5.3
       rollup: 4.34.6
     optionalDependencies:
       '@types/node': 22.13.5
       fsevents: 2.3.3
+      lightningcss: 1.29.1
       terser: 5.38.2
 
-  vite@5.4.14(@types/node@22.9.0)(terser@5.38.2):
+  vite@5.4.14(@types/node@22.9.0)(lightningcss@1.29.1)(terser@5.38.2):
     dependencies:
       esbuild: 0.21.5
-      postcss: 8.5.2
+      postcss: 8.5.3
       rollup: 4.34.6
     optionalDependencies:
       '@types/node': 22.9.0
       fsevents: 2.3.3
+      lightningcss: 1.29.1
       terser: 5.38.2
 
-  vite@6.1.0(@types/node@22.13.5)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0):
+  vite@6.1.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.38.2)(tsx@4.19.3)(yaml@2.7.0):
     dependencies:
       esbuild: 0.24.2
-      postcss: 8.5.2
+      postcss: 8.5.3
       rollup: 4.34.6
     optionalDependencies:
       '@types/node': 22.13.5
       fsevents: 2.3.3
       jiti: 2.4.2
+      lightningcss: 1.29.1
       terser: 5.38.2
-      tsx: 4.19.2
+      tsx: 4.19.3
       yaml: 2.7.0
 
-  vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(terser@5.38.2):
-    dependencies:
-      '@vitest/expect': 2.1.5
-      '@vitest/mocker': 2.1.5(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.2))(vite@5.4.14(@types/node@22.13.5)(terser@5.38.2))
-      '@vitest/pretty-format': 2.1.9
-      '@vitest/runner': 2.1.5
-      '@vitest/snapshot': 2.1.5
-      '@vitest/spy': 2.1.5
-      '@vitest/utils': 2.1.5
-      chai: 5.1.2
-      debug: 4.4.0
-      expect-type: 1.1.0
-      magic-string: 0.30.17
-      pathe: 1.1.2
-      std-env: 3.8.0
-      tinybench: 2.9.0
-      tinyexec: 0.3.2
-      tinypool: 1.0.2
-      tinyrainbow: 1.2.0
-      vite: 5.4.14(@types/node@22.13.5)(terser@5.38.2)
-      vite-node: 2.1.5(@types/node@22.13.5)(terser@5.38.2)
-      why-is-node-running: 2.3.0
-    optionalDependencies:
-      '@edge-runtime/vm': 4.0.4
-      '@types/node': 22.13.5
-      happy-dom: 15.11.7
-    transitivePeerDependencies:
-      - less
-      - lightningcss
-      - msw
-      - sass
-      - sass-embedded
-      - stylus
-      - sugarss
-      - supports-color
-      - terser
-
-  vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2):
+  vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.13.5)(happy-dom@15.11.7)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(terser@5.38.2):
     dependencies:
       '@vitest/expect': 2.1.5
-      '@vitest/mocker': 2.1.5(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(vite@5.4.14(@types/node@22.13.5)(terser@5.38.2))
+      '@vitest/mocker': 2.1.5(msw@2.7.0(@types/node@22.13.5)(typescript@5.7.3))(vite@5.4.14(@types/node@22.13.5)(lightningcss@1.29.1)(terser@5.38.2))
       '@vitest/pretty-format': 2.1.9
       '@vitest/runner': 2.1.5
       '@vitest/snapshot': 2.1.5
@@ -24417,8 +24245,8 @@ snapshots:
       tinyexec: 0.3.2
       tinypool: 1.0.2
       tinyrainbow: 1.2.0
-      vite: 5.4.14(@types/node@22.13.5)(terser@5.38.2)
-      vite-node: 2.1.5(@types/node@22.13.5)(terser@5.38.2)
+      vite: 5.4.14(@types/node@22.13.5)(lightningcss@1.29.1)(terser@5.38.2)
+      vite-node: 2.1.5(@types/node@22.13.5)(lightningcss@1.29.1)(terser@5.38.2)
       why-is-node-running: 2.3.0
     optionalDependencies:
       '@edge-runtime/vm': 4.0.4
@@ -24435,47 +24263,10 @@ snapshots:
       - supports-color
       - terser
 
-  vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.2))(terser@5.38.2):
-    dependencies:
-      '@vitest/expect': 2.1.5
-      '@vitest/mocker': 2.1.5(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.2))(vite@5.4.14(@types/node@22.9.0)(terser@5.38.2))
-      '@vitest/pretty-format': 2.1.9
-      '@vitest/runner': 2.1.5
-      '@vitest/snapshot': 2.1.5
-      '@vitest/spy': 2.1.5
-      '@vitest/utils': 2.1.5
-      chai: 5.1.2
-      debug: 4.4.0
-      expect-type: 1.1.0
-      magic-string: 0.30.17
-      pathe: 1.1.2
-      std-env: 3.8.0
-      tinybench: 2.9.0
-      tinyexec: 0.3.2
-      tinypool: 1.0.2
-      tinyrainbow: 1.2.0
-      vite: 5.4.14(@types/node@22.9.0)(terser@5.38.2)
-      vite-node: 2.1.5(@types/node@22.9.0)(terser@5.38.2)
-      why-is-node-running: 2.3.0
-    optionalDependencies:
-      '@edge-runtime/vm': 4.0.4
-      '@types/node': 22.9.0
-      happy-dom: 15.11.7
-    transitivePeerDependencies:
-      - less
-      - lightningcss
-      - msw
-      - sass
-      - sass-embedded
-      - stylus
-      - sugarss
-      - supports-color
-      - terser
-
-  vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(terser@5.38.2):
+  vitest@2.1.5(@edge-runtime/vm@4.0.4)(@types/node@22.9.0)(happy-dom@15.11.7)(lightningcss@1.29.1)(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(terser@5.38.2):
     dependencies:
       '@vitest/expect': 2.1.5
-      '@vitest/mocker': 2.1.5(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(vite@5.4.14(@types/node@22.9.0)(terser@5.38.2))
+      '@vitest/mocker': 2.1.5(msw@2.7.0(@types/node@22.9.0)(typescript@5.7.3))(vite@5.4.14(@types/node@22.9.0)(lightningcss@1.29.1)(terser@5.38.2))
       '@vitest/pretty-format': 2.1.9
       '@vitest/runner': 2.1.5
       '@vitest/snapshot': 2.1.5
@@ -24491,8 +24282,8 @@ snapshots:
       tinyexec: 0.3.2
       tinypool: 1.0.2
       tinyrainbow: 1.2.0
-      vite: 5.4.14(@types/node@22.9.0)(terser@5.38.2)
-      vite-node: 2.1.5(@types/node@22.9.0)(terser@5.38.2)
+      vite: 5.4.14(@types/node@22.9.0)(lightningcss@1.29.1)(terser@5.38.2)
+      vite-node: 2.1.5(@types/node@22.9.0)(lightningcss@1.29.1)(terser@5.38.2)
       why-is-node-running: 2.3.0
     optionalDependencies:
       '@edge-runtime/vm': 4.0.4
@@ -24521,41 +24312,41 @@ snapshots:
     transitivePeerDependencies:
       - encoding
 
-  vue-demi@0.14.10(vue@3.5.13(typescript@5.7.2)):
+  vue-demi@0.14.10(vue@3.5.13(typescript@5.7.3)):
     dependencies:
-      vue: 3.5.13(typescript@5.7.2)
+      vue: 3.5.13(typescript@5.7.3)
 
-  vue-router@4.5.0(vue@3.5.13(typescript@5.7.2)):
+  vue-router@4.5.0(vue@3.5.13(typescript@5.7.3)):
     dependencies:
       '@vue/devtools-api': 6.6.4
-      vue: 3.5.13(typescript@5.7.2)
+      vue: 3.5.13(typescript@5.7.3)
 
   vue-sonner@1.3.0: {}
 
-  vue@3.5.13(typescript@5.7.2):
+  vue@3.5.13(typescript@5.7.3):
     dependencies:
       '@vue/compiler-dom': 3.5.13
       '@vue/compiler-sfc': 3.5.13
       '@vue/runtime-dom': 3.5.13
-      '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.7.2))
+      '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.7.3))
       '@vue/shared': 3.5.13
     optionalDependencies:
-      typescript: 5.7.2
+      typescript: 5.7.3
 
   w3c-keyname@2.2.8: {}
 
-  waku@0.21.20(@swc/helpers@0.5.15)(@types/node@22.13.5)(jiti@2.4.2)(react-dom@19.0.0(react@19.0.0))(react-server-dom-webpack@19.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(webpack@5.97.1))(react@19.0.0)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0):
+  waku@0.21.20(@swc/helpers@0.5.15)(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.1)(react-dom@19.0.0(react@19.0.0))(react-server-dom-webpack@19.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(webpack@5.97.1))(react@19.0.0)(terser@5.38.2)(tsx@4.19.3)(yaml@2.7.0):
     dependencies:
       '@hono/node-server': 1.13.8(hono@4.7.1)
       '@swc/core': 1.10.16(@swc/helpers@0.5.15)
-      '@vitejs/plugin-react': 4.3.4(vite@6.1.0(@types/node@22.13.5)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0))
+      '@vitejs/plugin-react': 4.3.4(vite@6.1.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.38.2)(tsx@4.19.3)(yaml@2.7.0))
       dotenv: 16.4.7
       hono: 4.7.1
       react: 19.0.0
       react-dom: 19.0.0(react@19.0.0)
       react-server-dom-webpack: 19.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(webpack@5.97.1)
       rsc-html-stream: 0.0.4
-      vite: 6.1.0(@types/node@22.13.5)(jiti@2.4.2)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0)
+      vite: 6.1.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.38.2)(tsx@4.19.3)(yaml@2.7.0)
     transitivePeerDependencies:
       - '@swc/helpers'
       - '@types/node'
diff --git a/unit/package.json b/unit/package.json
index d16c2c962..6917a421a 100644
--- a/unit/package.json
+++ b/unit/package.json
@@ -9,8 +9,8 @@
   "devDependencies": {
     "@azure/cosmos": "^4.1.1",
     "@faker-js/faker": "^9.2.0",
-    "@types/react": "^18.3.12",
-    "@types/react-dom": "^18.3.1",
+    "@types/react": "^19.0.10",
+    "@types/react-dom": "^19.0.4",
     "msw": "^2.6.5",
     "vitest": "^2.1.5"
   },
@@ -22,8 +22,8 @@
     "@llamaindex/readers": "workspace:*",
     "@llamaindex/workflow": "workspace:*",
     "llamaindex": "workspace:*",
-    "react": "^18.3.1",
-    "react-dom": "^18.3.1",
+    "react": "^19.0.0",
+    "react-dom": "^19.0.0",
     "tree-sitter": "^0.22.1",
     "tree-sitter-javascript": "^0.23.1",
     "tree-sitter-typescript": "^0.23.2",
-- 
GitLab