From b99ab056d10a1425dc9e0c501a06a17312119d62 Mon Sep 17 00:00:00 2001 From: Alex Yang Date: Wed, 8 May 2024 02:56:42 -0500 Subject: [PATCH] feat: init `@llamaindex/autotool` (#819) --- .github/workflows/test.yml | 6 +- package.json | 2 +- packages/autotool/README.md | 83 + .../autotool/examples/01_node/package.json | 12 + .../examples/01_node/src/index.tool.ts | 11 + .../autotool/examples/01_node/src/index.ts | 23 + .../autotool/examples/01_node/src/utils.ts | 8 + .../autotool/examples/01_node/tsconfig.json | 9 + .../autotool/examples/02_nextjs/.env.example | 3 + .../autotool/examples/02_nextjs/.gitignore | 35 + .../autotool/examples/02_nextjs/README.md | 30 + .../autotool/examples/02_nextjs/actions.ts | 38 + .../examples/02_nextjs/app/favicon.ico | Bin 0 -> 15406 bytes .../examples/02_nextjs/app/globals.css | 94 + .../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 | 6 + .../autotool/examples/02_nextjs/package.json | 36 + .../examples/02_nextjs/postcss.config.js | 6 + .../examples/02_nextjs/public/llama.png | Bin 0 -> 36985 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 | 78 + packages/autotool/src/compiler.ts | 103 + packages/autotool/src/index.ts | 82 + packages/autotool/src/internal/index.ts | 26 + packages/autotool/src/loader.ts | 38 + packages/autotool/src/next.ts | 13 + packages/autotool/src/node.ts | 16 + packages/autotool/src/plugin.ts | 35 + packages/autotool/src/vite.ts | 6 + packages/autotool/src/webpack.ts | 6 + packages/autotool/tsconfig.json | 19 + .../examples/nextjs-edge-runtime/package.json | 2 +- packages/edge/.gitignore | 4 - packages/edge/package.json | 97 - packages/edge/scripts/update-deps.js | 26 - packages/env/package.json | 2 +- packages/experimental/package.json | 2 +- packages/wasm-tools/package.json | 2 +- pnpm-lock.yaml | 2294 ++++++++++++++--- pnpm-workspace.yaml | 1 + tsconfig.json | 6 + turbo.json | 10 +- 49 files changed, 2957 insertions(+), 564 deletions(-) create mode 100644 packages/autotool/README.md create mode 100644 packages/autotool/examples/01_node/package.json create mode 100644 packages/autotool/examples/01_node/src/index.tool.ts create mode 100644 packages/autotool/examples/01_node/src/index.ts create mode 100644 packages/autotool/examples/01_node/src/utils.ts create mode 100644 packages/autotool/examples/01_node/tsconfig.json create mode 100644 packages/autotool/examples/02_nextjs/.env.example create mode 100644 packages/autotool/examples/02_nextjs/.gitignore create mode 100644 packages/autotool/examples/02_nextjs/README.md create mode 100644 packages/autotool/examples/02_nextjs/actions.ts create mode 100644 packages/autotool/examples/02_nextjs/app/favicon.ico create mode 100644 packages/autotool/examples/02_nextjs/app/globals.css create mode 100644 packages/autotool/examples/02_nextjs/app/layout.tsx create mode 100644 packages/autotool/examples/02_nextjs/app/page.tsx create mode 100644 packages/autotool/examples/02_nextjs/components/chat-section.tsx create mode 100644 packages/autotool/examples/02_nextjs/components/location-card.tsx create mode 100644 packages/autotool/examples/02_nextjs/components/spinner.tsx create mode 100644 packages/autotool/examples/02_nextjs/context/index.ts create mode 100644 packages/autotool/examples/02_nextjs/next.config.mjs create mode 100644 packages/autotool/examples/02_nextjs/package.json create mode 100644 packages/autotool/examples/02_nextjs/postcss.config.js create mode 100644 packages/autotool/examples/02_nextjs/public/llama.png create mode 100644 packages/autotool/examples/02_nextjs/tailwind.config.ts create mode 100644 packages/autotool/examples/02_nextjs/tool/index.tsx create mode 100644 packages/autotool/examples/02_nextjs/tsconfig.json create mode 100644 packages/autotool/package.json create mode 100644 packages/autotool/src/compiler.ts create mode 100644 packages/autotool/src/index.ts create mode 100644 packages/autotool/src/internal/index.ts create mode 100644 packages/autotool/src/loader.ts create mode 100644 packages/autotool/src/next.ts create mode 100644 packages/autotool/src/node.ts create mode 100644 packages/autotool/src/plugin.ts create mode 100644 packages/autotool/src/vite.ts create mode 100644 packages/autotool/src/webpack.ts create mode 100644 packages/autotool/tsconfig.json delete mode 100644 packages/edge/.gitignore delete mode 100644 packages/edge/package.json delete mode 100644 packages/edge/scripts/update-deps.js diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index edbdab20d9..e75558cc19 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -69,7 +69,7 @@ jobs: - name: Install dependencies run: pnpm install - name: Build - run: pnpm run build --filter llamaindex + run: pnpm run build - name: Use Build For Examples run: pnpm link ../packages/core/ working-directory: ./examples @@ -105,7 +105,7 @@ jobs: - name: Install dependencies run: pnpm install - name: Build llamaindex - run: pnpm run build --filter llamaindex + run: pnpm run build - name: Build ${{ matrix.packages }} run: pnpm run build working-directory: packages/core/e2e/examples/${{ matrix.packages }} @@ -124,7 +124,7 @@ jobs: - name: Install dependencies run: pnpm install - name: Build - run: pnpm run build --filter llamaindex + run: pnpm run build - name: Copy examples run: rsync -rv --exclude=node_modules ./examples ${{ runner.temp }} - name: Pack @llamaindex/env diff --git a/package.json b/package.json index 0309e73245..43eb028b41 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@llamaindex/monorepo", "private": true, "scripts": { - "build": "turbo run build", + "build": "turbo run build --filter=\"!docs\" --filter=\"!*-test\"", "build:release": "turbo run build lint test --filter=\"!docs\" --filter=\"!*-test\"", "dev": "turbo run dev", "format": "prettier --ignore-unknown --cache --check .", diff --git a/packages/autotool/README.md b/packages/autotool/README.md new file mode 100644 index 0000000000..04e9308917 --- /dev/null +++ b/packages/autotool/README.md @@ -0,0 +1,83 @@ +# @llamaindex/autotool + +> Auto transpile your JS function to LLM Agent compatible + +## Usage + +First, Install the package + +```shell +npm install @llamaindex/autotool +pnpm add @llamaindex/autotool +yarn add @llamaindex/autotool +``` + +Second, Add the plugin/loader to your configuration: + +### Next.js + +```javascript +import { withNext } from "@llamaindex/autotool/next"; + +/** @type {import('next').NextConfig} */ +const nextConfig = {}; + +export default withNext(nextConfig); +``` + +### Node.js + +```shell +node --import @llamaindex/autotool/node ./path/to/your/script.js +``` + +Third, add `"use tool"` on top of your tool file or change to `.tool.ts`. + +```typescript +"use tool"; + +export function getWeather(city: string) { + // ... +} +// ... +``` + +Finally, export a chat handler function to the frontend using `llamaindex` Agent + +```typescript +"use server"; + +// imports ... + +export async function chatWithAI(message: string): Promise { + const agent = new OpenAIAgent({ + tools: convertTools("llamaindex"), + }); + const uiStream = createStreamableUI(); + agent + .chat({ + stream: true, + message, + }) + .then(async (responseStream) => { + return responseStream.pipeTo( + new WritableStream({ + start: () => { + uiStream.append("\n"); + }, + write: async (message) => { + uiStream.append(message.response.delta); + }, + close: () => { + uiStream.done(); + }, + }), + ); + }); + return uiStream.value; +} +``` + +## License + +MIT diff --git a/packages/autotool/examples/01_node/package.json b/packages/autotool/examples/01_node/package.json new file mode 100644 index 0000000000..08fc33a90c --- /dev/null +++ b/packages/autotool/examples/01_node/package.json @@ -0,0 +1,12 @@ +{ + "name": "@llamaindex/autotool-01-node-example", + "type": "module", + "dependencies": { + "@llamaindex/autotool": "workspace:*", + "llamaindex": "workspace:*", + "openai": "^4.33.0" + }, + "scripts": { + "start": "node --import tsx --import @llamaindex/autotool/node ./src/index.ts" + } +} diff --git a/packages/autotool/examples/01_node/src/index.tool.ts b/packages/autotool/examples/01_node/src/index.tool.ts new file mode 100644 index 0000000000..2a2feec622 --- /dev/null +++ b/packages/autotool/examples/01_node/src/index.tool.ts @@ -0,0 +1,11 @@ +import { getWeather } from "./utils.js"; + +/** + * Get current location + */ +export function getCurrentLocation() { + console.log("Getting current location"); + return "London"; +} + +export { getWeather }; diff --git a/packages/autotool/examples/01_node/src/index.ts b/packages/autotool/examples/01_node/src/index.ts new file mode 100644 index 0000000000..04a310b275 --- /dev/null +++ b/packages/autotool/examples/01_node/src/index.ts @@ -0,0 +1,23 @@ +import { convertTools } from "@llamaindex/autotool"; +import { OpenAI } from "openai"; +import "./index.tool.js"; + +const openai = new OpenAI(); +{ + const response = await openai.chat.completions.create({ + model: "gpt-3.5-turbo", + messages: [ + { + role: "user", + content: "What's my current weather?", + }, + ], + tools: convertTools("openai"), + stream: false, + }); + + const toolCalls = response.choices[0].message.tool_calls ?? []; + for (const toolCall of toolCalls) { + toolCall.function.name; + } +} diff --git a/packages/autotool/examples/01_node/src/utils.ts b/packages/autotool/examples/01_node/src/utils.ts new file mode 100644 index 0000000000..3d61412c54 --- /dev/null +++ b/packages/autotool/examples/01_node/src/utils.ts @@ -0,0 +1,8 @@ +/** + * Get the weather for a city + * @param city The city to get the weather for + * @returns The weather for the city, e.g. "Sunny", "Rainy", etc. + */ +export function getWeather(city: string) { + return `The weather in ${city} is sunny!`; +} diff --git a/packages/autotool/examples/01_node/tsconfig.json b/packages/autotool/examples/01_node/tsconfig.json new file mode 100644 index 0000000000..924bba251a --- /dev/null +++ b/packages/autotool/examples/01_node/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./lib", + "module": "node16", + "moduleResolution": "node16" + }, + "include": ["./src"] +} diff --git a/packages/autotool/examples/02_nextjs/.env.example b/packages/autotool/examples/02_nextjs/.env.example new file mode 100644 index 0000000000..7ac0a01551 --- /dev/null +++ b/packages/autotool/examples/02_nextjs/.env.example @@ -0,0 +1,3 @@ +# 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 new file mode 100644 index 0000000000..8f322f0d8f --- /dev/null +++ b/packages/autotool/examples/02_nextjs/.gitignore @@ -0,0 +1,35 @@ +# 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/README.md b/packages/autotool/examples/02_nextjs/README.md new file mode 100644 index 0000000000..1509ded7c3 --- /dev/null +++ b/packages/autotool/examples/02_nextjs/README.md @@ -0,0 +1,30 @@ +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 new file mode 100644 index 0000000000..a99a81d807 --- /dev/null +++ b/packages/autotool/examples/02_nextjs/actions.ts @@ -0,0 +1,38 @@ +"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 { JSX } from "react"; + +export async function chatWithAI(message: string): Promise { + 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.delta); + }, + 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 new file mode 100644 index 0000000000000000000000000000000000000000..a1eaef62f2dfa895f1bbffc6595bb53d9604963e GIT binary patch literal 15406 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 KfA0a-1OEqKLE94m literal 0 HcmV?d00001 diff --git a/packages/autotool/examples/02_nextjs/app/globals.css b/packages/autotool/examples/02_nextjs/app/globals.css new file mode 100644 index 0000000000..09b85ed2c9 --- /dev/null +++ b/packages/autotool/examples/02_nextjs/app/globals.css @@ -0,0 +1,94 @@ +@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 new file mode 100644 index 0000000000..ced5247c4e --- /dev/null +++ b/packages/autotool/examples/02_nextjs/app/layout.tsx @@ -0,0 +1,26 @@ +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 ( + + + + {children} + + + ); +} diff --git a/packages/autotool/examples/02_nextjs/app/page.tsx b/packages/autotool/examples/02_nextjs/app/page.tsx new file mode 100644 index 0000000000..eb3abfd82b --- /dev/null +++ b/packages/autotool/examples/02_nextjs/app/page.tsx @@ -0,0 +1,11 @@ +import { ChatSection } from "@/components/chat-section"; + +export const runtime = "edge"; + +export default function Home() { + return ( +
+ +
+ ); +} diff --git a/packages/autotool/examples/02_nextjs/components/chat-section.tsx b/packages/autotool/examples/02_nextjs/components/chat-section.tsx new file mode 100644 index 0000000000..dd83ce3c48 --- /dev/null +++ b/packages/autotool/examples/02_nextjs/components/chat-section.tsx @@ -0,0 +1,35 @@ +"use client"; +import { chatWithAI } from "@/actions"; +import { ReactNode, useActionState } from "react"; +import { toast } from "sonner"; + +export function ChatSection() { + const [state, formAction] = useActionState( + 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 ( +
+
{state}
+ + +
+ ); +} diff --git a/packages/autotool/examples/02_nextjs/components/location-card.tsx b/packages/autotool/examples/02_nextjs/components/location-card.tsx new file mode 100644 index 0000000000..cb7a4b8808 --- /dev/null +++ b/packages/autotool/examples/02_nextjs/components/location-card.tsx @@ -0,0 +1,9 @@ +export function LocationCard() { + return ( +
+

Weather

+

San Francisco, CA

+

Sunny

+
+ ); +} diff --git a/packages/autotool/examples/02_nextjs/components/spinner.tsx b/packages/autotool/examples/02_nextjs/components/spinner.tsx new file mode 100644 index 0000000000..0408035ae5 --- /dev/null +++ b/packages/autotool/examples/02_nextjs/components/spinner.tsx @@ -0,0 +1,23 @@ +export function Spinner() { + return ( +
+ + Loading... +
+ ); +} diff --git a/packages/autotool/examples/02_nextjs/context/index.ts b/packages/autotool/examples/02_nextjs/context/index.ts new file mode 100644 index 0000000000..63afe9e50d --- /dev/null +++ b/packages/autotool/examples/02_nextjs/context/index.ts @@ -0,0 +1,14 @@ +import type { createStreamableUI } from "ai/rsc"; +import { AsyncLocalStorage } from "node:async_hooks"; + +type StreamableUI = ReturnType; + +const streamUIAsyncLocalStorage = new AsyncLocalStorage(); + +export function getCurrentStreamableUI() { + return streamUIAsyncLocalStorage.getStore(); +} + +export function runWithStreamableUI(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 new file mode 100644 index 0000000000..02a508a866 --- /dev/null +++ b/packages/autotool/examples/02_nextjs/next.config.mjs @@ -0,0 +1,6 @@ +import { withNext } from "@llamaindex/autotool/next"; + +/** @type {import('next').NextConfig} */ +const nextConfig = {}; + +export default withNext(nextConfig); diff --git a/packages/autotool/examples/02_nextjs/package.json b/packages/autotool/examples/02_nextjs/package.json new file mode 100644 index 0000000000..249595c116 --- /dev/null +++ b/packages/autotool/examples/02_nextjs/package.json @@ -0,0 +1,36 @@ +{ + "name": "@llamaindex/autotool-02-next-example", + "version": "0.1.0", + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start" + }, + "dependencies": { + "@llamaindex/autotool": "workspace:*", + "@radix-ui/react-slot": "^1.0.2", + "ai": "^3.1.1", + "class-variance-authority": "^0.7.0", + "dotenv": "^16.3.1", + "llamaindex": "workspace:*", + "lucide-react": "^0.378.0", + "next": "^14.3.0-canary.45", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-markdown": "^8.0.7", + "react-syntax-highlighter": "^15.5.0", + "sonner": "^1.4.41", + "tailwind-merge": "^2.1.0" + }, + "devDependencies": { + "@types/node": "^20.10.3", + "@types/react": "^18.3.1", + "@types/react-dom": "^18.3.0", + "@types/react-syntax-highlighter": "^15.5.11", + "autoprefixer": "^10.4.16", + "cross-env": "^7.0.3", + "postcss": "^8.4.32", + "tailwindcss": "^3.3.6", + "typescript": "^5.4.5" + } +} diff --git a/packages/autotool/examples/02_nextjs/postcss.config.js b/packages/autotool/examples/02_nextjs/postcss.config.js new file mode 100644 index 0000000000..12a703d900 --- /dev/null +++ b/packages/autotool/examples/02_nextjs/postcss.config.js @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..d4efba3b816bf765439c6d01b322b02684e946c3 GIT binary patch literal 36985 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 vJhQ^1K}l_EDGGCB?_Esg99ufZln>@+s literal 0 HcmV?d00001 diff --git a/packages/autotool/examples/02_nextjs/tailwind.config.ts b/packages/autotool/examples/02_nextjs/tailwind.config.ts new file mode 100644 index 0000000000..aa5580affa --- /dev/null +++ b/packages/autotool/examples/02_nextjs/tailwind.config.ts @@ -0,0 +1,78 @@ +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) / )", + foreground: "hsl(var(--destructive-foreground) / )", + }, + 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 new file mode 100644 index 0000000000..8ebfe4e34b --- /dev/null +++ b/packages/autotool/examples/02_nextjs/tool/index.tsx @@ -0,0 +1,27 @@ +"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( +
+ User ID: {userId} +
+ Name: John Doe +
, + ); + 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 new file mode 100644 index 0000000000..40c136b825 --- /dev/null +++ b/packages/autotool/examples/02_nextjs/tsconfig.json @@ -0,0 +1,28 @@ +{ + "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 new file mode 100644 index 0000000000..06f7469c77 --- /dev/null +++ b/packages/autotool/package.json @@ -0,0 +1,78 @@ +{ + "name": "@llamaindex/autotool", + "type": "module", + "version": "0.0.1", + "description": "", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "require": "./dist/index.cjs", + "default": "./dist/index.js" + }, + "./next": { + "types": "./dist/next.d.ts", + "import": "./dist/next.js", + "require": "./dist/next.cjs", + "default": "./dist/next.js" + }, + "./webpack": { + "types": "./dist/webpack.d.ts", + "import": "./dist/webpack.js", + "require": "./dist/webpack.cjs", + "default": "./dist/webpack.js" + }, + "./vite": { + "types": "./dist/vite.d.ts", + "import": "./dist/vite.js", + "require": "./dist/vite.cjs", + "default": "./dist/vite.js" + }, + "./loader": { + "types": "./dist/loader.d.ts", + "import": "./dist/loader.js", + "require": "./dist/loader.cjs", + "default": "./dist/loader.js" + }, + "./node": "./dist/node.js" + }, + "scripts": { + "build": "bunchee", + "dev": "bunchee --watch" + }, + "dependencies": { + "@swc/core": "^1.4.16", + "jotai": "^2.8.0", + "typedoc": "^0.25.13", + "unplugin": "^1.10.1" + }, + "peerDependencies": { + "llamaindex": "^0.3.0", + "openai": "^4", + "typescript": "^4" + }, + "peerDependenciesMeta": { + "openai": { + "optional": true + }, + "llamaindex": { + "optional": true + }, + "typescript": { + "optional": true + } + }, + "devDependencies": { + "@swc/types": "^0.1.6", + "@types/json-schema": "^7.0.15", + "@types/node": "^20.12.10", + "bunchee": "^5.1.5", + "llamaindex": "workspace:*", + "next": "14.2.3", + "rollup": "^4.17.2", + "tsx": "^4.7.2", + "typescript": "^5.4.5", + "vitest": "^1.5.0", + "webpack": "^5.91.0" + } +} diff --git a/packages/autotool/src/compiler.ts b/packages/autotool/src/compiler.ts new file mode 100644 index 0000000000..701d5f05bf --- /dev/null +++ b/packages/autotool/src/compiler.ts @@ -0,0 +1,103 @@ +import type { + JSONSchema7, + JSONSchema7Definition, + JSONSchema7TypeName, +} from "json-schema"; +import type { ToolMetadata } from "llamaindex"; +import type { SourceMapInput } from "rollup"; +import td from "typedoc"; +import type { SourceMapCompact } from "unplugin"; +import type { InfoString } from "./internal"; + +export const isToolFile = (url: string) => /tool\.[jt]sx?$/.test(url); +export const isJSorTS = (url: string) => /\.m?[jt]sx?$/.test(url); + +async function parseRoot(entryPoint: string) { + const app = await td.Application.bootstrapWithPlugins( + { + entryPoints: [entryPoint], + }, + [ + new td.TypeDocReader(), + new td.PackageJsonReader(), + new td.TSConfigReader(), + ], + ); + const project = await app.convert(); + + if (project) { + return app.serializer.projectToObject(project, process.cwd()); + } + throw new Error("Failed to parse root"); +} + +export async function transformAutoTool( + code: string, + url: string, +): Promise<{ + code: string; + map?: SourceMapInput | SourceMapCompact | null; +}> { + const json = await parseRoot(url); + const children = json.children; + if (Array.isArray(children)) { + const schema = { + type: "object", + properties: {} as { + [key: string]: JSONSchema7Definition; + }, + additionalItems: false, + required: [] as string[], + } satisfies JSONSchema7; + const info: InfoString = { + originalFunction: undefined, + parameterMapping: {}, + }; + children.forEach((child) => { + // replace starting and ending quotes, to make it a function in the runtime + info.originalFunction = child.name; + const metadata: ToolMetadata = { + name: child.name, + description: "", + parameters: schema, + }; + child.signatures?.forEach((signature) => { + const description = signature.comment?.summary + .map((x) => x.text) + .join("\n"); + if (description) { + metadata.description += description; + } + signature.parameters?.map((parameter, idx) => { + if (parameter.type?.type === "intrinsic") { + // parameter.type.name + schema.properties[parameter.name as string] = { + type: parameter.type.name as JSONSchema7TypeName, + description: parameter.comment?.summary + .map((x) => x.text) + .join("\n"), + } as JSONSchema7Definition; + schema.required.push(parameter.name as string); + info.parameterMapping[parameter.name as string] = idx; + } + }); + }); + const infoJSON = JSON.stringify(info) + // remove quotes from `originalFunction` value + .replace(/"originalFunction":"(.*?)"/g, '"originalFunction":$1'); + code = + code + `\ninjectMetadata(${JSON.stringify(metadata)}, ${infoJSON});`; + }); + } + if ( + !/^import\s+{\sinjectMetadata\s}\s+from\s+['"]@llamaindex\/tool['"]/.test( + code, + ) + ) { + code = `import {injectMetadata} from '@llamaindex/autotool';\n${code}`; + } + return { + code, + map: null, + }; +} diff --git a/packages/autotool/src/index.ts b/packages/autotool/src/index.ts new file mode 100644 index 0000000000..19f546bb62 --- /dev/null +++ b/packages/autotool/src/index.ts @@ -0,0 +1,82 @@ +import { atom } from "jotai/vanilla"; +import type { BaseToolWithCall, ToolMetadata } from "llamaindex"; +import type { ChatCompletionTool } from "openai/resources/chat/completions"; +import { store, toolMetadataAtom, toolsAtom, type Info } from "./internal"; + +export type { Info }; + +/** + * @internal This function is used by the compiler to inject metadata into the source code. + */ +export function injectMetadata(metadata: ToolMetadata, info: Info) { + store.get(toolMetadataAtom).push([metadata, info]); +} + +const openaiToolsAtom = atom((get) => { + const metadata = get(toolMetadataAtom); + return metadata.map(([metadata]) => ({ + type: "function", + function: { + parameters: metadata.parameters, + name: metadata.name, + description: metadata.description, + }, + })); +}); + +const llamaindexToolsAtom = atom((get) => { + const metadata = get(toolMetadataAtom); + const fns = get(toolsAtom); + return metadata.map(([metadata, info]) => ({ + call: (input: Record) => { + const args = Object.entries(info.parameterMapping).reduce( + (arr, [name, idx]) => { + arr[idx] = input[name]; + return arr; + }, + [] as unknown[], + ); + const fn = fns[metadata.name] ?? info.originalFunction; + if (!fn) { + throw new Error(`Cannot find function to call: ${metadata.name}`); + } + return fn(...args); + }, + metadata, + })); +}); + +export function convertTools(format: "openai"): ChatCompletionTool[]; +export function convertTools(format: "llamaindex"): BaseToolWithCall[]; +export function convertTools( + format: string, +): ChatCompletionTool[] | BaseToolWithCall[] { + switch (format) { + case "openai": { + return store.get(openaiToolsAtom); + } + case "llamaindex": { + return store.get(llamaindexToolsAtom); + } + } + throw new Error(`Unknown format: ${format}`); +} + +/** + * Call a tool by name with the given input. + */ +export function callTool( + name: string, + input: string | Record, +): unknown | Promise { + const tools = store.get(llamaindexToolsAtom); + const targetTool = tools.find((tool) => tool.metadata.name === name); + if (!targetTool) { + throw new Error(`Cannot find tool: ${name}`); + } + return targetTool.call( + // for OpenAI, input is a string + // for ClaudeAI, input is an object + typeof input === "string" ? JSON.parse(input) : input, + ); +} diff --git a/packages/autotool/src/internal/index.ts b/packages/autotool/src/internal/index.ts new file mode 100644 index 0000000000..b05b6527ac --- /dev/null +++ b/packages/autotool/src/internal/index.ts @@ -0,0 +1,26 @@ +import { atom, createStore } from "jotai/vanilla"; +import type { ToolMetadata } from "llamaindex"; + +export type Info = { + originalFunction?: (...args: any[]) => any; + /** + * In current LLM, it doesn't support non-object parameter, so we mock arguments as object, and use this mapping to convert it back. + */ + parameterMapping: Record; +}; + +/** + * This is used in parser side to store the original function and parameter mapping. + * + * In the runtime, originalFunction is a JS function. + * + * @internal + */ +export type InfoString = { + originalFunction?: string; + parameterMapping: Record; +}; + +export const store = createStore(); +export const toolMetadataAtom = atom<[ToolMetadata, Info][]>([]); +export const toolsAtom = atom any>>({}); diff --git a/packages/autotool/src/loader.ts b/packages/autotool/src/loader.ts new file mode 100644 index 0000000000..8b849a6747 --- /dev/null +++ b/packages/autotool/src/loader.ts @@ -0,0 +1,38 @@ +/** + * This is a node module loader hook that injects metadata into the source code. + * + * @module + */ +import { parse } from "@swc/core"; +import type { ExpressionStatement } from "@swc/types"; +import type { LoadHook } from "node:module"; +import { fileURLToPath } from "node:url"; +import { isJSorTS, isToolFile, transformAutoTool } from "./compiler"; + +export const load: LoadHook = async (url, context, nextLoad) => { + const output = await nextLoad(url, context); + if (typeof output.source === "string" && isJSorTS(url)) { + const isTool = isToolFile(url); + const hasToolDirective = (await parse(output.source)).body + .filter( + (node): node is ExpressionStatement => + node.type === "ExpressionStatement", + ) + .some( + (node) => + node.expression.type === "StringLiteral" && + node.expression.value === "use tool", + ); + if (isTool || hasToolDirective) { + const { code } = await transformAutoTool( + output.source, + fileURLToPath(url), + ); + return { + ...output, + source: code, + }; + } + } + return output; +}; diff --git a/packages/autotool/src/next.ts b/packages/autotool/src/next.ts new file mode 100644 index 0000000000..168f7f31d0 --- /dev/null +++ b/packages/autotool/src/next.ts @@ -0,0 +1,13 @@ +import type { NextConfig } from "next"; +import webpackPlugin from "./webpack"; + +export function withNext(config: NextConfig) { + return { + ...config, + webpack: (webpackConfig: any, context: any) => { + webpackConfig = config.webpack?.(webpackConfig, context) ?? webpackConfig; + webpackConfig.plugins.push(webpackPlugin()); + return webpackConfig; + }, + }; +} diff --git a/packages/autotool/src/node.ts b/packages/autotool/src/node.ts new file mode 100644 index 0000000000..81a76ce58a --- /dev/null +++ b/packages/autotool/src/node.ts @@ -0,0 +1,16 @@ +/** + * @example + * ```shell + * node --import @llamaindex/autotool/node ./dist/index.js + * ``` + * + * @example + * ```shell + * node --import tsx --import @llamaindex/autotool/node ./src/index.ts + * ``` + * + * @module + */ +import { register } from "node:module"; + +register("./loader.js", import.meta.url); diff --git a/packages/autotool/src/plugin.ts b/packages/autotool/src/plugin.ts new file mode 100644 index 0000000000..3c61a302cc --- /dev/null +++ b/packages/autotool/src/plugin.ts @@ -0,0 +1,35 @@ +import { parse } from "@swc/core"; +import type { ExpressionStatement } from "@swc/types"; +import { createUnplugin, type UnpluginFactory } from "unplugin"; +import { isJSorTS, isToolFile, transformAutoTool } from "./compiler"; + +export interface Options {} + +const name = "llama-index-tool"; + +export const unpluginFactory: UnpluginFactory = () => ({ + name, + async transform(code, id) { + if (!isJSorTS(id)) { + return code; + } + const isTool = isToolFile(id); + const hasToolDirective = (await parse(code)).body + .filter( + (node): node is ExpressionStatement => + node.type === "ExpressionStatement", + ) + .some( + (node) => + node.expression.type === "StringLiteral" && + node.expression.value === "use tool", + ); + if (isTool || hasToolDirective) { + return transformAutoTool(code, id); + } + }, +}); + +export const unplugin = /* #__PURE__ */ createUnplugin(unpluginFactory); + +export default unplugin; diff --git a/packages/autotool/src/vite.ts b/packages/autotool/src/vite.ts new file mode 100644 index 0000000000..6309e7ab1a --- /dev/null +++ b/packages/autotool/src/vite.ts @@ -0,0 +1,6 @@ +import { createVitePlugin } from "unplugin"; +import { unpluginFactory } from "./plugin"; + +const vitePlugin = createVitePlugin(unpluginFactory); + +export default vitePlugin; diff --git a/packages/autotool/src/webpack.ts b/packages/autotool/src/webpack.ts new file mode 100644 index 0000000000..8ac3109bb8 --- /dev/null +++ b/packages/autotool/src/webpack.ts @@ -0,0 +1,6 @@ +import { createWebpackPlugin } from "unplugin"; +import { unpluginFactory } from "./plugin"; + +const webpackPlugin = createWebpackPlugin(unpluginFactory); + +export default webpackPlugin; diff --git a/packages/autotool/tsconfig.json b/packages/autotool/tsconfig.json new file mode 100644 index 0000000000..a9a0f7f98d --- /dev/null +++ b/packages/autotool/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "bundler", + "outDir": "./lib", + "types": ["node"] + }, + "include": ["./src"], + "references": [ + { + "path": "../core/tsconfig.json" + }, + { + "path": "../env/tsconfig.json" + } + ] +} diff --git a/packages/core/e2e/examples/nextjs-edge-runtime/package.json b/packages/core/e2e/examples/nextjs-edge-runtime/package.json index cfccd8d97d..3b670867a9 100644 --- a/packages/core/e2e/examples/nextjs-edge-runtime/package.json +++ b/packages/core/e2e/examples/nextjs-edge-runtime/package.json @@ -8,7 +8,7 @@ "start": "next start" }, "dependencies": { - "@llamaindex/edge": "workspace:*", + "llamaindex": "workspace:*", "next": "14.1.3", "react": "^18", "react-dom": "^18" diff --git a/packages/edge/.gitignore b/packages/edge/.gitignore deleted file mode 100644 index bcc8051840..0000000000 --- a/packages/edge/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -.turbo -README.md -LICENSE -CHANGELOG.md diff --git a/packages/edge/package.json b/packages/edge/package.json deleted file mode 100644 index 6769a7a337..0000000000 --- a/packages/edge/package.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "name": "@llamaindex/edge", - "version": "0.3.8", - "license": "MIT", - "type": "module", - "dependencies": { - "@anthropic-ai/sdk": "^0.20.6", - "@aws-crypto/sha256-js": "^5.2.0", - "@datastax/astra-db-ts": "^1.0.1", - "@google/generative-ai": "^0.8.0", - "@grpc/grpc-js": "^1.10.6", - "@huggingface/inference": "^2.6.7", - "@llamaindex/cloud": "0.0.5", - "@llamaindex/env": "workspace:*", - "@mistralai/mistralai": "^0.1.3", - "@pinecone-database/pinecone": "^2.2.0", - "@qdrant/js-client-rest": "^1.8.2", - "@types/lodash": "^4.17.0", - "@types/papaparse": "^5.3.14", - "@types/pg": "^8.11.5", - "@xenova/transformers": "^2.17.1", - "@zilliz/milvus2-sdk-node": "^2.4.1", - "ajv": "^8.12.0", - "assemblyai": "^4.4.1", - "chromadb": "~1.7.3", - "cohere-ai": "^7.9.5", - "js-tiktoken": "^1.0.11", - "lodash": "^4.17.21", - "magic-bytes.js": "^1.10.0", - "mammoth": "^1.7.1", - "md-utils-ts": "^2.0.0", - "mongodb": "^6.5.0", - "notion-md-crawler": "^1.0.0", - "openai": "^4.38.0", - "papaparse": "^5.4.1", - "pathe": "^1.1.2", - "pdf2json": "^3.0.5", - "pg": "^8.11.5", - "pgvector": "^0.1.8", - "portkey-ai": "^0.1.16", - "rake-modified": "^1.0.8", - "string-strip-html": "^13.4.8", - "wikipedia": "^2.1.2", - "wink-nlp": "^1.14.3" - }, - "engines": { - "node": ">=18.0.0" - }, - "types": "./dist/type/index.edge.d.ts", - "main": "./dist/index.edge.js", - "exports": { - "./readers/SimpleDirectoryReader": { - "import": { - "types": "./dist/type/readers/SimpleDirectoryReader.edge.d.ts", - "default": "./dist/readers/SimpleDirectoryReader.edge.js" - } - }, - ".": { - "import": { - "types": "./dist/type/index.edge.d.ts", - "default": "./dist/index.edge.js" - } - }, - "./*": { - "import": { - "types": "./dist/type/*.d.ts", - "default": "./dist/*.js" - } - } - }, - "files": [ - "dist" - ], - "repository": { - "type": "git", - "url": "https://github.com/run-llama/LlamaIndexTS.git", - "directory": "packages/edge" - }, - "scripts": { - "copy": "cp -r ../../README.md ../../LICENSE ../core/CHANGELOG.md .", - "update:deps": "node scripts/update-deps.js", - "build:core": "pnpm --filter llamaindex build && cp -r ../core/dist . && rm -rf dist/cjs", - "build": "pnpm run update:deps && pnpm run build:core && pnpm copy" - }, - "devDependencies": { - "@notionhq/client": "^2.2.15", - "@swc/cli": "^0.3.12", - "@swc/core": "^1.4.16", - "concurrently": "^8.2.2", - "glob": "^10.3.12", - "madge": "^7.0.0", - "typescript": "^5.4.5" - }, - "peerDependencies": { - "@notionhq/client": "^2.2.15" - } -} diff --git a/packages/edge/scripts/update-deps.js b/packages/edge/scripts/update-deps.js deleted file mode 100644 index 49d87278ac..0000000000 --- a/packages/edge/scripts/update-deps.js +++ /dev/null @@ -1,26 +0,0 @@ -// Copies the dependencies from the core package to the edge package. Run with each build to ensure that they are the same - -import { execSync } from "node:child_process"; -import fs from "node:fs"; -import path from "node:path"; - -const corePackagePath = path.join(process.cwd(), "..", "core", "package.json"); -const edgePackagePath = path.join(process.cwd(), "package.json"); - -const edgePackage = readJson(edgePackagePath); -const corePackage = readJson(corePackagePath); -edgePackage.dependencies = corePackage.dependencies; -edgePackage.devDependencies = corePackage.devDependencies; -edgePackage.peerDependencies = corePackage.peerDependencies; -edgePackage.version = corePackage.version; -writeJson(edgePackagePath, edgePackage); -execSync("pnpm install --lockfile-only", { stdio: "inherit" }); - -function readJson(filePath) { - const content = fs.readFileSync(filePath, "utf8"); - return JSON.parse(content); -} - -function writeJson(filePath, json) { - fs.writeFileSync(filePath, JSON.stringify(json, null, 2) + "\n"); -} diff --git a/packages/env/package.json b/packages/env/package.json index fe37692486..908d63bd45 100644 --- a/packages/env/package.json +++ b/packages/env/package.json @@ -76,7 +76,7 @@ "devDependencies": { "@aws-crypto/sha256-js": "^5.2.0", "@swc/cli": "^0.3.9", - "@swc/core": "^1.4.2", + "@swc/core": "^1.4.16", "concurrently": "^8.2.2", "pathe": "^1.1.2", "readable-stream": "^4.5.2" diff --git a/packages/experimental/package.json b/packages/experimental/package.json index f7c072ad62..13cd1d3e21 100644 --- a/packages/experimental/package.json +++ b/packages/experimental/package.json @@ -56,7 +56,7 @@ "devDependencies": { "@aws-crypto/sha256-js": "^5.2.0", "@swc/cli": "^0.3.9", - "@swc/core": "^1.4.2", + "@swc/core": "^1.4.16", "@types/jsonpath": "^0.2.4", "concurrently": "^8.2.2", "pathe": "^1.1.2" diff --git a/packages/wasm-tools/package.json b/packages/wasm-tools/package.json index fb427794ab..1dc487c285 100644 --- a/packages/wasm-tools/package.json +++ b/packages/wasm-tools/package.json @@ -10,7 +10,7 @@ "devDependencies": { "assemblyscript": "^0.19.9", "@swc/cli": "^0.3.9", - "@swc/core": "^1.4.2", + "@swc/core": "^1.4.16", "typescript": "^5.4.3" }, "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 58bc36220d..b0b1f3c761 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -139,7 +139,7 @@ importers: version: 2.4.1 chromadb: specifier: ^1.8.1 - version: 1.8.1(@google/generative-ai@0.8.0)(cohere-ai@7.9.5(encoding@0.1.13))(encoding@0.1.13)(openai@4.38.1(encoding@0.1.13)) + version: 1.8.1(@google/generative-ai@0.8.0)(cohere-ai@7.9.5(encoding@0.1.13))(encoding@0.1.13)(openai@4.42.0(encoding@0.1.13)) commander: specifier: ^11.1.0 version: 11.1.0 @@ -164,7 +164,7 @@ importers: version: 20.12.7 ts-node: specifier: ^10.9.2 - version: 10.9.2(@swc/core@1.4.16(@swc/helpers@0.5.5))(@types/node@20.12.7)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.7)(typescript@5.4.5) tsx: specifier: ^4.7.2 version: 4.7.2 @@ -188,6 +188,143 @@ importers: specifier: ^5.4.5 version: 5.4.5 + packages/autotool: + dependencies: + '@swc/core': + specifier: ^1.4.16 + version: 1.5.3(@swc/helpers@0.5.11) + jotai: + specifier: ^2.8.0 + version: 2.8.0(@types/react@18.3.1)(react@19.0.0-canary-e3ebcd54b-20240405) + openai: + specifier: ^4 + version: 4.42.0(encoding@0.1.13) + typedoc: + specifier: ^0.25.13 + version: 0.25.13(typescript@5.4.5) + unplugin: + specifier: ^1.10.1 + version: 1.10.1 + devDependencies: + '@swc/types': + specifier: ^0.1.6 + version: 0.1.6 + '@types/json-schema': + specifier: ^7.0.15 + version: 7.0.15 + '@types/node': + specifier: ^20.12.10 + version: 20.12.10 + bunchee: + specifier: ^5.1.5 + version: 5.1.5(typescript@5.4.5) + llamaindex: + specifier: workspace:* + version: link:../core + next: + specifier: 14.2.3 + version: 14.2.3(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react@19.0.0-canary-e3ebcd54b-20240405) + rollup: + specifier: ^4.17.2 + version: 4.17.2 + tsx: + specifier: ^4.7.2 + version: 4.7.2 + typescript: + specifier: ^5.4.5 + version: 5.4.5 + vitest: + specifier: ^1.5.0 + version: 1.6.0(@types/node@20.12.10)(terser@5.30.3) + webpack: + specifier: ^5.91.0 + version: 5.91.0(@swc/core@1.5.3(@swc/helpers@0.5.11)) + + packages/autotool/examples/01_node: + dependencies: + '@llamaindex/autotool': + specifier: workspace:* + version: link:../.. + llamaindex: + specifier: workspace:* + version: link:../../../core + openai: + specifier: ^4.33.0 + version: 4.42.0(encoding@0.1.13) + + packages/autotool/examples/02_nextjs: + dependencies: + '@llamaindex/autotool': + specifier: workspace:* + version: link:../.. + '@radix-ui/react-slot': + specifier: ^1.0.2 + version: 1.0.2(@types/react@18.3.1)(react@18.3.1) + ai: + specifier: ^3.1.1 + version: 3.1.1(react@18.3.1)(solid-js@1.8.17)(svelte@4.2.15)(vue@3.4.26(typescript@5.4.5))(zod@3.23.5) + class-variance-authority: + specifier: ^0.7.0 + version: 0.7.0 + dotenv: + specifier: ^16.3.1 + version: 16.4.5 + llamaindex: + specifier: workspace:* + version: link:../../../core + lucide-react: + specifier: ^0.378.0 + version: 0.378.0(react@18.3.1) + next: + specifier: ^14.3.0-canary.45 + version: 14.3.0-canary.45(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: ^8.0.7 + version: 8.0.7(@types/react@18.3.1)(react@18.3.1) + react-syntax-highlighter: + specifier: ^15.5.0 + version: 15.5.0(react@18.3.1) + sonner: + specifier: ^1.4.41 + version: 1.4.41(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + tailwind-merge: + specifier: ^2.1.0 + version: 2.3.0 + devDependencies: + '@types/node': + specifier: ^20.10.3 + version: 20.12.10 + '@types/react': + specifier: ^18.3.1 + version: 18.3.1 + '@types/react-dom': + specifier: ^18.3.0 + version: 18.3.0 + '@types/react-syntax-highlighter': + specifier: ^15.5.11 + version: 15.5.13 + autoprefixer: + specifier: ^10.4.16 + version: 10.4.19(postcss@8.4.38) + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + postcss: + specifier: ^8.4.32 + version: 8.4.38 + tailwindcss: + specifier: ^3.3.6 + version: 3.4.3(ts-node@10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.10)(typescript@5.4.5)) + typescript: + specifier: ^5.4.5 + version: 5.4.5 + packages/core: dependencies: '@anthropic-ai/sdk': @@ -310,10 +447,10 @@ importers: version: 2.2.15(encoding@0.1.13) '@swc/cli': specifier: ^0.3.12 - version: 0.3.12(@swc/core@1.4.16(@swc/helpers@0.5.5))(chokidar@3.6.0) + version: 0.3.12(@swc/core@1.4.16(@swc/helpers@0.5.11))(chokidar@3.6.0) '@swc/core': specifier: ^1.4.16 - version: 1.4.16(@swc/helpers@0.5.5) + version: 1.4.16(@swc/helpers@0.5.11) concurrently: specifier: ^8.2.2 version: 8.2.2 @@ -353,7 +490,7 @@ importers: devDependencies: '@cloudflare/vitest-pool-workers': specifier: ^0.2.3 - version: 0.2.5(@cloudflare/workers-types@4.20240423.0)(@vitest/runner@1.3.1)(@vitest/snapshot@1.3.1)(vitest@1.3.0(@types/node@20.12.7)(terser@5.30.3)) + version: 0.2.5(@cloudflare/workers-types@4.20240423.0)(@vitest/runner@1.6.0)(@vitest/snapshot@1.6.0)(vitest@1.3.0(@types/node@20.12.10)(terser@5.30.3)) '@cloudflare/workers-types': specifier: ^4.20240423.0 version: 4.20240423.0 @@ -362,7 +499,7 @@ importers: version: 5.4.5 vitest: specifier: 1.3.0 - version: 1.3.0(@types/node@20.12.7)(terser@5.30.3) + version: 1.3.0(@types/node@20.12.10)(terser@5.30.3) wrangler: specifier: ^3.52.0 version: 3.53.0(@cloudflare/workers-types@4.20240423.0) @@ -405,16 +542,16 @@ importers: version: 8.4.38 tailwindcss: specifier: ^3.4.1 - version: 3.4.3(ts-node@10.9.2(@swc/core@1.4.16(@swc/helpers@0.5.5))(@types/node@20.12.7)(typescript@5.4.5)) + version: 3.4.3(ts-node@10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.7)(typescript@5.4.5)) typescript: specifier: ^5 version: 5.4.5 packages/core/e2e/examples/nextjs-edge-runtime: dependencies: - '@llamaindex/edge': + llamaindex: specifier: workspace:* - version: link:../../../../edge + version: link:../../.. next: specifier: 14.1.3 version: 14.1.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -451,10 +588,10 @@ importers: version: 19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405) react-server-dom-webpack: specifier: 19.0.0-canary-e3ebcd54b-20240405 - version: 19.0.0-canary-e3ebcd54b-20240405(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react@19.0.0-canary-e3ebcd54b-20240405)(webpack@5.91.0(@swc/core@1.4.16(@swc/helpers@0.5.5))) + version: 19.0.0-canary-e3ebcd54b-20240405(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react@19.0.0-canary-e3ebcd54b-20240405)(webpack@5.91.0(@swc/core@1.5.3(@swc/helpers@0.5.11))) waku: specifier: 0.20.1 - version: 0.20.1(@swc/helpers@0.5.5)(@types/node@20.12.7)(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react-server-dom-webpack@19.0.0-canary-e3ebcd54b-20240405(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react@19.0.0-canary-e3ebcd54b-20240405)(webpack@5.91.0(@swc/core@1.4.16(@swc/helpers@0.5.5))))(react@19.0.0-canary-e3ebcd54b-20240405)(terser@5.30.3) + version: 0.20.1(@swc/helpers@0.5.11)(@types/node@20.12.10)(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react-server-dom-webpack@19.0.0-canary-e3ebcd54b-20240405(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react@19.0.0-canary-e3ebcd54b-20240405)(webpack@5.91.0(@swc/core@1.5.3(@swc/helpers@0.5.11))))(react@19.0.0-canary-e3ebcd54b-20240405)(terser@5.30.3) devDependencies: '@types/react': specifier: 18.2.74 @@ -467,7 +604,7 @@ importers: version: 10.4.19(postcss@8.4.38) tailwindcss: specifier: 3.4.3 - version: 3.4.3(ts-node@10.9.2(@swc/core@1.4.16(@swc/helpers@0.5.5))(@types/node@20.12.7)(typescript@5.4.4)) + version: 3.4.3(ts-node@10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.10)(typescript@5.4.4)) typescript: specifier: 5.4.4 version: 5.4.4 @@ -479,146 +616,7 @@ importers: version: link:.. vitest: specifier: ^1.3.1 - version: 1.3.1(@types/node@20.12.7)(terser@5.30.3) - - packages/edge: - dependencies: - '@anthropic-ai/sdk': - specifier: ^0.20.6 - version: 0.20.6(encoding@0.1.13) - '@aws-crypto/sha256-js': - specifier: ^5.2.0 - version: 5.2.0 - '@datastax/astra-db-ts': - specifier: ^1.0.1 - version: 1.0.1 - '@google/generative-ai': - specifier: ^0.8.0 - version: 0.8.0 - '@grpc/grpc-js': - specifier: ^1.10.6 - version: 1.10.6 - '@huggingface/inference': - specifier: ^2.6.7 - version: 2.6.7 - '@llamaindex/cloud': - specifier: 0.0.5 - version: 0.0.5(node-fetch@2.7.0(encoding@0.1.13)) - '@llamaindex/env': - specifier: workspace:* - version: link:../env - '@mistralai/mistralai': - specifier: ^0.1.3 - version: 0.1.3(encoding@0.1.13) - '@pinecone-database/pinecone': - specifier: ^2.2.0 - version: 2.2.0 - '@qdrant/js-client-rest': - specifier: ^1.8.2 - version: 1.8.2(typescript@5.4.5) - '@types/lodash': - specifier: ^4.17.0 - version: 4.17.0 - '@types/papaparse': - specifier: ^5.3.14 - version: 5.3.14 - '@types/pg': - specifier: ^8.11.5 - version: 8.11.5 - '@xenova/transformers': - specifier: ^2.17.1 - version: 2.17.1 - '@zilliz/milvus2-sdk-node': - specifier: ^2.4.1 - version: 2.4.1 - ajv: - specifier: ^8.12.0 - version: 8.12.0 - assemblyai: - specifier: ^4.4.1 - version: 4.4.1 - chromadb: - specifier: ~1.7.3 - version: 1.7.3(@google/generative-ai@0.8.0)(cohere-ai@7.9.5(encoding@0.1.13))(encoding@0.1.13)(openai@4.38.1(encoding@0.1.13)) - cohere-ai: - specifier: ^7.9.5 - version: 7.9.5(encoding@0.1.13) - js-tiktoken: - specifier: ^1.0.11 - version: 1.0.11 - lodash: - specifier: ^4.17.21 - version: 4.17.21 - magic-bytes.js: - specifier: ^1.10.0 - version: 1.10.0 - mammoth: - specifier: ^1.7.1 - version: 1.7.1 - md-utils-ts: - specifier: ^2.0.0 - version: 2.0.0 - mongodb: - specifier: ^6.5.0 - version: 6.5.0 - notion-md-crawler: - specifier: ^1.0.0 - version: 1.0.0(encoding@0.1.13) - openai: - specifier: ^4.38.0 - version: 4.38.1(encoding@0.1.13) - papaparse: - specifier: ^5.4.1 - version: 5.4.1 - pathe: - specifier: ^1.1.2 - version: 1.1.2 - pdf2json: - specifier: ^3.0.5 - version: 3.0.5 - pg: - specifier: ^8.11.5 - version: 8.11.5 - pgvector: - specifier: ^0.1.8 - version: 0.1.8 - portkey-ai: - specifier: ^0.1.16 - version: 0.1.16 - rake-modified: - specifier: ^1.0.8 - version: 1.0.8 - string-strip-html: - specifier: ^13.4.8 - version: 13.4.8 - wikipedia: - specifier: ^2.1.2 - version: 2.1.2 - wink-nlp: - specifier: ^1.14.3 - version: 1.14.3 - devDependencies: - '@notionhq/client': - specifier: ^2.2.15 - version: 2.2.15(encoding@0.1.13) - '@swc/cli': - specifier: ^0.3.12 - version: 0.3.12(@swc/core@1.4.16(@swc/helpers@0.5.5))(chokidar@3.6.0) - '@swc/core': - specifier: ^1.4.16 - version: 1.4.16(@swc/helpers@0.5.5) - concurrently: - specifier: ^8.2.2 - version: 8.2.2 - glob: - specifier: ^10.3.12 - version: 10.3.12 - madge: - specifier: ^7.0.0 - version: 7.0.0(typescript@5.4.5) - typescript: - specifier: ^5.4.5 - version: 5.4.5 + version: 1.3.1(@types/node@20.12.10)(terser@5.30.3) packages/env: dependencies: @@ -634,10 +632,10 @@ importers: version: 5.2.0 '@swc/cli': specifier: ^0.3.9 - version: 0.3.9(@swc/core@1.4.2(@swc/helpers@0.5.5))(chokidar@3.6.0) + version: 0.3.9(@swc/core@1.5.3(@swc/helpers@0.5.11))(chokidar@3.6.0) '@swc/core': - specifier: ^1.4.2 - version: 1.4.2(@swc/helpers@0.5.5) + specifier: ^1.4.16 + version: 1.5.3(@swc/helpers@0.5.11) concurrently: specifier: ^8.2.2 version: 8.2.2 @@ -671,10 +669,10 @@ importers: version: 5.2.0 '@swc/cli': specifier: ^0.3.9 - version: 0.3.9(@swc/core@1.4.2(@swc/helpers@0.5.5))(chokidar@3.6.0) + version: 0.3.9(@swc/core@1.5.3(@swc/helpers@0.5.11))(chokidar@3.6.0) '@swc/core': - specifier: ^1.4.2 - version: 1.4.2(@swc/helpers@0.5.5) + specifier: ^1.4.16 + version: 1.5.3(@swc/helpers@0.5.11) '@types/jsonpath': specifier: ^0.2.4 version: 0.2.4 @@ -696,10 +694,10 @@ importers: devDependencies: '@swc/cli': specifier: ^0.3.9 - version: 0.3.9(@swc/core@1.4.2(@swc/helpers@0.5.5))(chokidar@3.6.0) + version: 0.3.9(@swc/core@1.5.3(@swc/helpers@0.5.11))(chokidar@3.6.0) '@swc/core': - specifier: ^1.4.2 - version: 1.4.2(@swc/helpers@0.5.5) + specifier: ^1.4.16 + version: 1.5.3(@swc/helpers@0.5.11) assemblyscript: specifier: ^0.19.9 version: 0.19.23 @@ -1816,6 +1814,9 @@ packages: '@docusaurus/types': optional: true + '@emnapi/runtime@1.1.1': + resolution: {integrity: sha512-3bfqkzuR1KLx57nZfjr2NLnFOobvyS0aTszaEGCGqmYMVDRaGvgIZbjGSV/MHSSmLgQ/b9JFHQ5xm5WRZYd+XQ==} + '@esbuild-plugins/node-globals-polyfill@0.2.3': resolution: {integrity: sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==} peerDependencies: @@ -2260,6 +2261,9 @@ packages: resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} + '@fastify/deepmerge@1.3.0': + resolution: {integrity: sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A==} + '@google/generative-ai@0.8.0': resolution: {integrity: sha512-O55FgK1Jvl2JuJP1cnRHEAM8A4Lr3yKtjQrCn2QXOXVT+L5+o/nFQcx0/oIo3oq1Kq9TjjgewXyb9BBrK+Wd0A==} engines: {node: '>=18.0.0'} @@ -2302,6 +2306,119 @@ packages: '@humanwhocodes/object-schema@2.0.3': resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + '@img/sharp-darwin-arm64@0.33.3': + resolution: {integrity: sha512-FaNiGX1MrOuJ3hxuNzWgsT/mg5OHG/Izh59WW2mk1UwYHUwtfbhk5QNKYZgxf0pLOhx9ctGiGa2OykD71vOnSw==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.3': + resolution: {integrity: sha512-2QeSl7QDK9ru//YBT4sQkoq7L0EAJZA3rtV+v9p8xTKl4U1bUqTIaCnoC7Ctx2kCjQgwFXDasOtPTCT8eCTXvw==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.2': + resolution: {integrity: sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==} + engines: {macos: '>=11', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.2': + resolution: {integrity: sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==} + engines: {macos: '>=10.13', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.2': + resolution: {integrity: sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==} + engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.2': + resolution: {integrity: sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==} + engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.2': + resolution: {integrity: sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==} + engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.2': + resolution: {integrity: sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==} + engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.2': + resolution: {integrity: sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==} + engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.2': + resolution: {integrity: sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==} + engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.3': + resolution: {integrity: sha512-Zf+sF1jHZJKA6Gor9hoYG2ljr4wo9cY4twaxgFDvlG0Xz9V7sinsPp8pFd1XtlhTzYo0IhDbl3rK7P6MzHpnYA==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.3': + resolution: {integrity: sha512-Q7Ee3fFSC9P7vUSqVEF0zccJsZ8GiiCJYGWDdhEjdlOeS9/jdkyJ6sUSPj+bL8VuOYFSbofrW0t/86ceVhx32w==} + engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.3': + resolution: {integrity: sha512-vFk441DKRFepjhTEH20oBlFrHcLjPfI8B0pMIxGm3+yilKyYeHEVvrZhYFdqIseSclIqbQ3SnZMwEMWonY5XFA==} + engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.3': + resolution: {integrity: sha512-Q4I++herIJxJi+qmbySd072oDPRkCg/SClLEIDh5IL9h1zjhqjv82H0Seupd+q2m0yOfD+/fJnjSoDFtKiHu2g==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.3': + resolution: {integrity: sha512-qnDccehRDXadhM9PM5hLvcPRYqyFCBN31kq+ErBSZtZlsAc1U4Z85xf/RXv1qolkdu+ibw64fUDaRdktxTNP9A==} + engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.3': + resolution: {integrity: sha512-Jhchim8kHWIU/GZ+9poHMWRcefeaxFIs9EBqf9KtcC14Ojk6qua7ghKiPs0sbeLbLj/2IGBtDcxHyjCdYWkk2w==} + engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.3': + resolution: {integrity: sha512-68zivsdJ0koE96stdUfM+gmyaK/NcoSZK5dV5CAjES0FUXS9lchYt8LAB5rTbM7nlWtxaU/2GON0HVN6/ZYJAQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.3': + resolution: {integrity: sha512-CyimAduT2whQD8ER4Ux7exKrtfoaUiVr7HG0zZvO0XTFn2idUWljjxv58GxNTkFb8/J9Ub9AqITGkJD6ZginxQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.3': + resolution: {integrity: sha512-viT4fUIDKnli3IfOephGnolMzhz5VaTvDRkYqtZxOMIoMQ4MrAziO7pT1nVnOt2FAm7qW5aa+CCc13aEY6Le0g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [win32] + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -2387,6 +2504,9 @@ packages: '@next/env@14.2.3': resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==} + '@next/env@14.3.0-canary.45': + resolution: {integrity: sha512-boZHstl3TK8VG3Sv7s6CUNbNnD8kerILpnaer4FGZzzoKpjiERy4DspR/IuTEyv5/20BInjJTH/aXJ9P7xRiqg==} + '@next/eslint-plugin-next@13.5.6': resolution: {integrity: sha512-ng7pU/DDsxPgT6ZPvuprxrkeew3XaRf4LAT4FabaEO/hAbvVx4P7wqnqdbTdDn1kgTvsI4tpIgT4Awn/m0bGbg==} @@ -2405,6 +2525,12 @@ packages: cpu: [arm64] os: [darwin] + '@next/swc-darwin-arm64@14.3.0-canary.45': + resolution: {integrity: sha512-S7JxoCuBabXn61aGXONn4pKn9odU+s8R/VW2D36bOwFb6ksVoden3ob63bJ8w9nRsmz99uUGJluq2GaZTjVeWw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + '@next/swc-darwin-x64@14.1.3': resolution: {integrity: sha512-E/9WQeXxkqw2dfcn5UcjApFgUq73jqNKaE5bysDm58hEUdUGedVrnRhblhJM7HbCZNhtVl0j+6TXsK0PuzXTCg==} engines: {node: '>= 10'} @@ -2417,6 +2543,12 @@ packages: cpu: [x64] os: [darwin] + '@next/swc-darwin-x64@14.3.0-canary.45': + resolution: {integrity: sha512-CzsiCamwmUtXIoc2+qIEIAD9LVZUxm2rbgHB+VCPJKavYVV2bHqQhA4qYbTKrQWUUMR3G8ua9hODr3DPdm8c6g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + '@next/swc-linux-arm64-gnu@14.1.3': resolution: {integrity: sha512-USArX9B+3rZSXYLFvgy0NVWQgqh6LHWDmMt38O4lmiJNQcwazeI6xRvSsliDLKt+78KChVacNiwvOMbl6g6BBw==} engines: {node: '>= 10'} @@ -2429,6 +2561,12 @@ packages: cpu: [arm64] os: [linux] + '@next/swc-linux-arm64-gnu@14.3.0-canary.45': + resolution: {integrity: sha512-Sf6gApHjjbjO6hApIUeknOx3Cgmr7KuWxuaVeVG/upG8elJOTk8oA5zeudLmFlhPqnOxTDswzSbtMjZy+jOgfQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + '@next/swc-linux-arm64-musl@14.1.3': resolution: {integrity: sha512-esk1RkRBLSIEp1qaQXv1+s6ZdYzuVCnDAZySpa62iFTMGTisCyNQmqyCTL9P+cLJ4N9FKCI3ojtSfsyPHJDQNw==} engines: {node: '>= 10'} @@ -2441,6 +2579,12 @@ packages: cpu: [arm64] os: [linux] + '@next/swc-linux-arm64-musl@14.3.0-canary.45': + resolution: {integrity: sha512-pJxMKKkgMqFNARTsjiuZ1BsVEZ/x6HpDwHHd8w5EhHg+u9oaCC57yfnfZZhuG07RlOGibfeYVaefEBINvw7fAw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + '@next/swc-linux-x64-gnu@14.1.3': resolution: {integrity: sha512-8uOgRlYEYiKo0L8YGeS+3TudHVDWDjPVDUcST+z+dUzgBbTEwSSIaSgF/vkcC1T/iwl4QX9iuUyUdQEl0Kxalg==} engines: {node: '>= 10'} @@ -2453,6 +2597,12 @@ packages: cpu: [x64] os: [linux] + '@next/swc-linux-x64-gnu@14.3.0-canary.45': + resolution: {integrity: sha512-i9QNaSD0aquTYbacztYhdJdhcZqnofbr5PlUuxJy8M530b7ykTJlnHUIym+0wAyWi6gRbV6bMU2LH/fjKKseJQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + '@next/swc-linux-x64-musl@14.1.3': resolution: {integrity: sha512-DX2zqz05ziElLoxskgHasaJBREC5Y9TJcbR2LYqu4r7naff25B4iXkfXWfcp69uD75/0URmmoSgT8JclJtrBoQ==} engines: {node: '>= 10'} @@ -2465,6 +2615,12 @@ packages: cpu: [x64] os: [linux] + '@next/swc-linux-x64-musl@14.3.0-canary.45': + resolution: {integrity: sha512-VdQkBXpd9iU57nINvNF4h5q5MI/+a/bKKQrly6jUbJw2Pe2fE5WSGCOcdxt7Qqznkc5AdynOL7YPwqefJOsf0Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + '@next/swc-win32-arm64-msvc@14.1.3': resolution: {integrity: sha512-HjssFsCdsD4GHstXSQxsi2l70F/5FsRTRQp8xNgmQs15SxUfUJRvSI9qKny/jLkY3gLgiCR3+6A7wzzK0DBlfA==} engines: {node: '>= 10'} @@ -2477,6 +2633,12 @@ packages: cpu: [arm64] os: [win32] + '@next/swc-win32-arm64-msvc@14.3.0-canary.45': + resolution: {integrity: sha512-+7QXXxhtnqk8v2rQWOhuI3Dz5vy/cGo/c/htootzD/zchtEAw21f4m6pkdNhztVi+afzpQTAKdyOwXlFGE+jpg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + '@next/swc-win32-ia32-msvc@14.1.3': resolution: {integrity: sha512-DRuxD5axfDM1/Ue4VahwSxl1O5rn61hX8/sF0HY8y0iCbpqdxw3rB3QasdHn/LJ6Wb2y5DoWzXcz3L1Cr+Thrw==} engines: {node: '>= 10'} @@ -2489,6 +2651,12 @@ packages: cpu: [ia32] os: [win32] + '@next/swc-win32-ia32-msvc@14.3.0-canary.45': + resolution: {integrity: sha512-URQlG/gG5hrPUUsylv5wAz5NfpA0gsYZAYO63E9vwwhcc/BTYSKymhl7Q4TYzDaBqqChyhq4msv8yTt0WbEEIw==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + '@next/swc-win32-x64-msvc@14.1.3': resolution: {integrity: sha512-uC2DaDoWH7h1P/aJ4Fok3Xiw6P0Lo4ez7NbowW2VGNXw/Xv6tOuLUcxhBYZxsSUJtpeknCi8/fvnSpyCFp4Rcg==} engines: {node: '>= 10'} @@ -2501,6 +2669,12 @@ packages: cpu: [x64] os: [win32] + '@next/swc-win32-x64-msvc@14.3.0-canary.45': + resolution: {integrity: sha512-edj+RMB3RTSfHaVgSd6I6EjJiFZ/oJ5DxY7FWaWe3KuJ3MJl6W7ppB9H7H0jMYp18XW4VqsgLyJwRaIs9/F4Cw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -2587,51 +2761,98 @@ packages: resolution: {integrity: sha512-oQG/FejNpItrxRHoyctYvT3rwGZOnK4jr3JdppO/c78ktDvkWiPXPHNsrDf33K9sZdRb6PR7gi4noIapu5q4HA==} engines: {node: '>=18.0.0', pnpm: '>=8'} - '@rollup/rollup-android-arm-eabi@4.12.0': - resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} - cpu: [arm] - os: [android] + '@radix-ui/react-compose-refs@1.0.1': + resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-slot@1.0.2': + resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + + '@rollup/plugin-commonjs@25.0.7': + resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.68.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-json@6.1.0': + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-node-resolve@15.2.3': + resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-replace@5.0.5': + resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-wasm@6.2.2': + resolution: {integrity: sha512-gpC4R1G9Ni92ZIRTexqbhX7U+9estZrbhP+9SRb0DW9xpB9g7j34r+J2hqrcW/lRI7dJaU84MxZM0Rt82tqYPQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/pluginutils@5.1.0': + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true '@rollup/rollup-android-arm-eabi@4.17.2': resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.12.0': - resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} - cpu: [arm64] - os: [android] - '@rollup/rollup-android-arm64@4.17.2': resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.12.0': - resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-arm64@4.17.2': resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.12.0': - resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.17.2': resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.12.0': - resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} - cpu: [arm] - os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.17.2': resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==} cpu: [arm] @@ -2642,21 +2863,11 @@ packages: cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.12.0': - resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.17.2': resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.12.0': - resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-musl@4.17.2': resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==} cpu: [arm64] @@ -2667,11 +2878,6 @@ packages: cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.12.0': - resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} - cpu: [riscv64] - os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.17.2': resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==} cpu: [riscv64] @@ -2682,51 +2888,26 @@ packages: cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.12.0': - resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-gnu@4.17.2': resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.12.0': - resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-musl@4.17.2': resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.12.0': - resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.17.2': resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.12.0': - resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.17.2': resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.12.0': - resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.17.2': resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==} cpu: [x64] @@ -2892,8 +3073,8 @@ packages: cpu: [arm64] os: [darwin] - '@swc/core-darwin-arm64@1.4.2': - resolution: {integrity: sha512-1uSdAn1MRK5C1m/TvLZ2RDvr0zLvochgrZ2xL+lRzugLlCTlSA+Q4TWtrZaOz+vnnFVliCpw7c7qu0JouhgQIw==} + '@swc/core-darwin-arm64@1.5.3': + resolution: {integrity: sha512-kRmmV2XqWegzGXvJfVVOj10OXhLgaVOOBjaX3p3Aqg7Do5ksg+bY5wi1gAN/Eul7B08Oqf7GG7WJevjDQGWPOg==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -2910,8 +3091,8 @@ packages: cpu: [x64] os: [darwin] - '@swc/core-darwin-x64@1.4.2': - resolution: {integrity: sha512-TYD28+dCQKeuxxcy7gLJUCFLqrwDZnHtC2z7cdeGfZpbI2mbfppfTf2wUPzqZk3gEC96zHd4Yr37V3Tvzar+lQ==} + '@swc/core-darwin-x64@1.5.3': + resolution: {integrity: sha512-EYs0+ovaRw6ZN9GBr2nIeC7gUXWA0q4RYR+Og3Vo0Qgv2Mt/XudF44A2lPK9X7M3JIfu6JjnxnTuvsK1Lqojfw==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -2928,8 +3109,8 @@ packages: cpu: [arm] os: [linux] - '@swc/core-linux-arm-gnueabihf@1.4.2': - resolution: {integrity: sha512-Eyqipf7ZPGj0vplKHo8JUOoU1un2sg5PjJMpEesX0k+6HKE2T8pdyeyXODN0YTFqzndSa/J43EEPXm+rHAsLFQ==} + '@swc/core-linux-arm-gnueabihf@1.5.3': + resolution: {integrity: sha512-RBVUTidSf4wgPdv98VrgJ4rMzMDN/3LBWdT7l+R7mNFH+mtID7ZAhTON0o/m1HkECgAgi1xcbTOVAw1xgd5KLA==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -2946,8 +3127,8 @@ packages: cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-gnu@1.4.2': - resolution: {integrity: sha512-wZn02DH8VYPv3FC0ub4my52Rttsus/rFw+UUfzdb3tHMHXB66LqN+rR0ssIOZrH6K+VLN6qpTw9VizjyoH0BxA==} + '@swc/core-linux-arm64-gnu@1.5.3': + resolution: {integrity: sha512-DCC6El3MiTYfv98CShxz/g2s4Pxn6tV0mldCQ0UdRqaN2ApUn7E+zTrqaj5bk7yII3A43WhE9Mr6wNPbXUeVyg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -2964,8 +3145,8 @@ packages: cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.4.2': - resolution: {integrity: sha512-3G0D5z9hUj9bXNcwmA1eGiFTwe5rWkuL3DsoviTj73TKLpk7u64ND0XjEfO0huVv4vVu9H1jodrKb7nvln/dlw==} + '@swc/core-linux-arm64-musl@1.5.3': + resolution: {integrity: sha512-p04ysjYXEyaCGpJvwHm0T0nkPawXtdKBTThWnlh8M5jYULVNVA1YmC9azG2Avs1GDaLgBPVUgodmFYpdSupOYA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -2982,8 +3163,8 @@ packages: cpu: [x64] os: [linux] - '@swc/core-linux-x64-gnu@1.4.2': - resolution: {integrity: sha512-LFxn9U8cjmYHw3jrdPNqPAkBGglKE3tCZ8rA7hYyp0BFxuo7L2ZcEnPm4RFpmSCCsExFH+LEJWuMGgWERoktvg==} + '@swc/core-linux-x64-gnu@1.5.3': + resolution: {integrity: sha512-/l4KJu0xwYm6tcVSOvF8RbXrIeIHJAhWnKvuX4ZnYKFkON968kB8Ghx+1yqBQcZf36tMzSuZUC5xBUA9u66lGA==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -3000,8 +3181,8 @@ packages: cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.4.2': - resolution: {integrity: sha512-dp0fAmreeVVYTUcb4u9njTPrYzKnbIH0EhH2qvC9GOYNNREUu2GezSIDgonjOXkHiTCvopG4xU7y56XtXj4VrQ==} + '@swc/core-linux-x64-musl@1.5.3': + resolution: {integrity: sha512-54DmSnrTXq4fYEKNR0nFAImG3+FxsHlQ6Tol/v3l+rxmg2K0FeeDOpH7wTXeWhMGhFlGrLIyLSnA+SzabfoDIA==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -3018,8 +3199,8 @@ packages: cpu: [arm64] os: [win32] - '@swc/core-win32-arm64-msvc@1.4.2': - resolution: {integrity: sha512-HlVIiLMQkzthAdqMslQhDkoXJ5+AOLUSTV6fm6shFKZKqc/9cJvr4S8UveNERL9zUficA36yM3bbfo36McwnvQ==} + '@swc/core-win32-arm64-msvc@1.5.3': + resolution: {integrity: sha512-piUMqoHNwDXChBfaaFIMzYgoxepfd8Ci1uXXNVEnuiRKz3FiIcNLmvXaBD7lKUwKcnGgVziH/CrndX6SldKQNQ==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -3036,8 +3217,8 @@ packages: cpu: [ia32] os: [win32] - '@swc/core-win32-ia32-msvc@1.4.2': - resolution: {integrity: sha512-WCF8faPGjCl4oIgugkp+kL9nl3nUATlzKXCEGFowMEmVVCFM0GsqlmGdPp1pjZoWc9tpYanoXQDnp5IvlDSLhA==} + '@swc/core-win32-ia32-msvc@1.5.3': + resolution: {integrity: sha512-zV5utPYBUzYhBOomCByAjKAvfVBcOCJtnszx7Zlfz7SAv/cGm8D1QzPDCvv6jDhIlUtLj6KyL8JXeFr+f95Fjw==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -3054,8 +3235,8 @@ packages: cpu: [x64] os: [win32] - '@swc/core-win32-x64-msvc@1.4.2': - resolution: {integrity: sha512-oV71rwiSpA5xre2C5570BhCsg1HF97SNLsZ/12xv7zayGzqr3yvFALFJN8tHKpqUdCB4FGPjoP3JFdV3i+1wUw==} + '@swc/core-win32-x64-msvc@1.5.3': + resolution: {integrity: sha512-QmUiXiPIV5gBADfDh8e2jKynEhyRC+dcKP/zF9y5KqDUErYzlhocLd68uYS4uIegP6AylYlmigHgcaktGEE9VQ==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -3078,8 +3259,8 @@ packages: '@swc/helpers': optional: true - '@swc/core@1.4.2': - resolution: {integrity: sha512-vWgY07R/eqj1/a0vsRKLI9o9klGZfpLNOVEnrv4nrccxBgYPjcf22IWwAoaBJ+wpA7Q4fVjCUM8lP0m01dpxcg==} + '@swc/core@1.5.3': + resolution: {integrity: sha512-pSEglypnBGLHBoBcv3aYS7IM2t2LRinubYMyP88UoFIcD2pear2CeB15CbjJ2IzuvERD0ZL/bthM7cDSR9g+aQ==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': ^0.5.0 @@ -3090,15 +3271,15 @@ packages: '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + '@swc/helpers@0.5.11': + resolution: {integrity: sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==} + '@swc/helpers@0.5.2': resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} '@swc/helpers@0.5.5': resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} - '@swc/types@0.1.5': - resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} - '@swc/types@0.1.6': resolution: {integrity: sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==} @@ -3189,6 +3370,9 @@ packages: '@types/gtag.js@0.0.12': resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==} + '@types/hast@2.3.10': + resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} + '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} @@ -3237,6 +3421,9 @@ packages: '@types/lodash@4.17.0': resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} + '@types/mdast@3.0.15': + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + '@types/mdast@4.0.3': resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} @@ -3267,6 +3454,9 @@ packages: '@types/node@18.19.31': resolution: {integrity: sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==} + '@types/node@20.12.10': + resolution: {integrity: sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==} + '@types/node@20.12.7': resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} @@ -3309,6 +3499,9 @@ packages: '@types/react-router@5.1.20': resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + '@types/react-syntax-highlighter@15.5.13': + resolution: {integrity: sha512-uLGJ87j6Sz8UaBAooU0T6lWJ0dBmjZgN1PZTrj05TNql2/XpC6+4HhMT5syIdFUUt+FASfCeLLv4kBygNU+8qA==} + '@types/react@18.2.74': resolution: {integrity: sha512-9AEqNZZyBx8OdZpxzQlaFEVCSFUM2YXJH46yPOiOpm078k6ZLOCcuAzGum/zK8YBwY+dbahVNbHrbgrAwIRlqw==} @@ -3318,6 +3511,9 @@ packages: '@types/react@18.3.1': resolution: {integrity: sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==} + '@types/resolve@1.20.2': + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + '@types/responselike@1.0.3': resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} @@ -3511,30 +3707,45 @@ packages: '@vitest/expect@1.3.1': resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} + '@vitest/expect@1.6.0': + resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} + '@vitest/runner@1.3.0': resolution: {integrity: sha512-1Jb15Vo/Oy7mwZ5bXi7zbgszsdIBNjc4IqP8Jpr/8RdBC4nF1CTzIAn2dxYvpF1nGSseeL39lfLQ2uvs5u1Y9A==} '@vitest/runner@1.3.1': resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} + '@vitest/runner@1.6.0': + resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} + '@vitest/snapshot@1.3.0': resolution: {integrity: sha512-swmktcviVVPYx9U4SEQXLV6AEY51Y6bZ14jA2yo6TgMxQ3h+ZYiO0YhAHGJNp0ohCFbPAis1R9kK0cvN6lDPQA==} '@vitest/snapshot@1.3.1': resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} + '@vitest/snapshot@1.6.0': + resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} + '@vitest/spy@1.3.0': resolution: {integrity: sha512-AkCU0ThZunMvblDpPKgjIi025UxR8V7MZ/g/EwmAGpjIujLVV2X6rGYGmxE2D4FJbAy0/ijdROHMWa2M/6JVMw==} '@vitest/spy@1.3.1': resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} + '@vitest/spy@1.6.0': + resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} + '@vitest/utils@1.3.0': resolution: {integrity: sha512-/LibEY/fkaXQufi4GDlQZhikQsPO2entBKtfuyIpr1jV4DpaeasqkeHjhdOhU24vSHshcSuEyVlWdzvv2XmYCw==} '@vitest/utils@1.3.1': resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} + '@vitest/utils@1.6.0': + resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} + '@vue/compiler-core@3.4.26': resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==} @@ -3689,6 +3900,27 @@ packages: zod: optional: true + ai@3.1.1: + resolution: {integrity: sha512-pJZc6q7SLd2/NenxN62iagMw9HHQ4Q8FyKqkrZUJntupRTHHgN3fL7exzJU/ICHDAbtn/EcJXOau6P61QgUtKQ==} + engines: {node: '>=18'} + peerDependencies: + react: ^18.2.0 + solid-js: ^1.7.7 + svelte: ^3.0.0 || ^4.0.0 + vue: ^3.3.4 + zod: ^3.0.0 + peerDependenciesMeta: + react: + optional: true + solid-js: + optional: true + svelte: + optional: true + vue: + optional: true + zod: + optional: true + ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: @@ -4037,6 +4269,20 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + + bunchee@5.1.5: + resolution: {integrity: sha512-zrUIjZcyJjiXdUk1U1Sa1ItmopK3ZmzFUGQ5M4FGDPRI0ksDB4OCRyqp5ci2vFdLFy1y8MbrxIoOD6/j8TYfYQ==} + engines: {node: '>= 18.0.0'} + hasBin: true + peerDependencies: + typescript: ^4.1 || ^5.0 + peerDependenciesMeta: + typescript: + optional: true + busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -4142,12 +4388,21 @@ 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==} @@ -4212,6 +4467,9 @@ packages: cjs-module-lexer@1.3.1: resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} + class-variance-authority@0.7.0: + resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==} + clean-css@5.3.3: resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} engines: {node: '>= 10.0'} @@ -4265,6 +4523,10 @@ packages: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} + clsx@2.0.0: + resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} + engines: {node: '>=6'} + clsx@2.1.0: resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} engines: {node: '>=6'} @@ -4322,6 +4584,9 @@ 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==} @@ -4460,6 +4725,11 @@ packages: create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true + cross-fetch@3.1.8: resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} @@ -4780,6 +5050,10 @@ packages: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + dingbat-to-unicode@1.0.1: resolution: {integrity: sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w==} @@ -5274,6 +5548,9 @@ packages: fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fault@1.0.4: + resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} + fault@2.0.1: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} @@ -5571,6 +5848,10 @@ packages: glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + global-dirs@3.0.1: resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} engines: {node: '>=10'} @@ -5691,6 +5972,9 @@ packages: hast-util-from-parse5@8.0.1: resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + 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==} @@ -5706,9 +5990,15 @@ packages: hast-util-to-parse5@8.0.0: resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + hast-util-whitespace@2.0.1: + resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} + 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@8.0.0: resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} @@ -5716,6 +6006,9 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + history@4.10.1: resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} @@ -5926,9 +6219,15 @@ packages: resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==} engines: {node: '>= 10'} + 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==} @@ -5956,6 +6255,14 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} + is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -5971,6 +6278,9 @@ packages: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 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==} @@ -6010,6 +6320,9 @@ 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==} @@ -6024,6 +6337,9 @@ packages: is-map@2.0.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} @@ -6076,6 +6392,9 @@ packages: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} + is-reference@1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + is-reference@3.0.2: resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} @@ -6208,6 +6527,18 @@ packages: joi@17.12.3: resolution: {integrity: sha512-2RRziagf555owrm9IRVtdKynOBeITiDpuZqIpgwqXShPncPKNiRQoiGsl/T8SQdq+8ugRzH2LqY67irr2y/d+g==} + jotai@2.8.0: + resolution: {integrity: sha512-yZNMC36FdLOksOr8qga0yLf14miCJlEThlp5DeFJNnqzm2+ZG7wLcJzoOyij5K6U6Xlc5ljQqPDlJRgqW0Y18g==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=17.0.0' + react: '>=17.0.0' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + js-base64@3.7.2: resolution: {integrity: sha512-NnRs6dsyqUXejqk/yv2aiXlAvOs56sLkX6nUdeaNezI5LFFLlsZjOThmwnrcwh5ZZRwZlCMnVAY3CvhIhoVEKQ==} @@ -6469,6 +6800,9 @@ 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==} + lru-cache@10.2.0: resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} engines: {node: 14 || >=16.14} @@ -6487,6 +6821,11 @@ packages: resolution: {integrity: sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ==} engines: {node: 14 || >=16.14} + lucide-react@0.378.0: + resolution: {integrity: sha512-u6EPU8juLUk9ytRcyapkWI18epAv3RU+6+TC23ivjR0e+glWKBobFeSgRwOIJihzktILQuy6E0E80P2jVTDR5g==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 + lunr@2.3.9: resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} @@ -6544,12 +6883,18 @@ packages: md-utils-ts@2.0.0: resolution: {integrity: sha512-sMG6JtX0ebcRMHxYTcmgsh0/m6o8hGdQHFE2OgjvflRZlQM51CGGj/uuk056D+12BlCiW0aTpt/AdlDNtgQiew==} + mdast-util-definitions@5.1.2: + resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} + mdast-util-directive@3.0.0: resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==} mdast-util-find-and-replace@3.0.1: resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + mdast-util-from-markdown@1.3.1: + resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} + mdast-util-from-markdown@2.0.0: resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} @@ -6589,12 +6934,18 @@ packages: mdast-util-phrasing@4.1.0: resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + mdast-util-to-hast@12.3.0: + resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} + mdast-util-to-hast@13.1.0: resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} mdast-util-to-markdown@2.1.0: resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + mdast-util-to-string@3.2.0: + resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} + mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} @@ -6633,6 +6984,9 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} + micromark-core-commonmark@1.1.0: + resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} + micromark-core-commonmark@2.0.0: resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} @@ -6678,9 +7032,15 @@ packages: micromark-extension-mdxjs@3.0.0: resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + micromark-factory-destination@1.1.0: + resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} + micromark-factory-destination@2.0.0: resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + micromark-factory-label@1.1.0: + resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} + micromark-factory-label@2.0.0: resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} @@ -6693,9 +7053,15 @@ packages: micromark-factory-space@2.0.0: resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + micromark-factory-title@1.1.0: + resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} + micromark-factory-title@2.0.0: resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + micromark-factory-whitespace@1.1.0: + resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} + micromark-factory-whitespace@2.0.0: resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} @@ -6705,39 +7071,72 @@ packages: micromark-util-character@2.1.0: resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + micromark-util-chunked@1.1.0: + resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} + micromark-util-chunked@2.0.0: resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + micromark-util-classify-character@1.1.0: + resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} + micromark-util-classify-character@2.0.0: resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + micromark-util-combine-extensions@1.1.0: + resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} + micromark-util-combine-extensions@2.0.0: resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + micromark-util-decode-numeric-character-reference@1.1.0: + resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} + micromark-util-decode-numeric-character-reference@2.0.1: resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + micromark-util-decode-string@1.1.0: + resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} + micromark-util-decode-string@2.0.0: resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + micromark-util-encode@1.1.0: + resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} + micromark-util-encode@2.0.0: resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} micromark-util-events-to-acorn@2.0.2: resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} + micromark-util-html-tag-name@1.2.0: + resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} + micromark-util-html-tag-name@2.0.0: resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + micromark-util-normalize-identifier@1.1.0: + resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} + micromark-util-normalize-identifier@2.0.0: resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + micromark-util-resolve-all@1.1.0: + resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} + micromark-util-resolve-all@2.0.0: resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + micromark-util-sanitize-uri@1.2.0: + resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} + micromark-util-sanitize-uri@2.0.0: resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + micromark-util-subtokenize@1.1.0: + resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} + micromark-util-subtokenize@2.0.0: resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} @@ -6753,6 +7152,9 @@ packages: micromark-util-types@2.0.0: resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + micromark@3.2.0: + resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} + micromark@4.0.0: resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} @@ -6827,6 +7229,10 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -6896,6 +7302,10 @@ packages: socks: optional: true + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + mrmime@2.0.0: resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} engines: {node: '>=10'} @@ -6976,6 +7386,24 @@ packages: sass: optional: true + next@14.3.0-canary.45: + resolution: {integrity: sha512-f0G1p6Er0Llzrhd98tHuHx1LpAt8MsTkTon2DZAGAFMq6L52AHJY8xSRjroaE+Cf6qTbx6oWyEBI1+Dw1ITs5Q==} + engines: {node: '>=18.17.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 + react: 19.0.0-beta-4508873393-20240430 + react-dom: 19.0.0-beta-4508873393-20240430 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + sass: + optional: true + nice-napi@1.0.2: resolution: {integrity: sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==} os: ['!win32'] @@ -7152,6 +7580,10 @@ packages: resolution: {integrity: sha512-nmSKE9O2piuoh9+AgDqwGHojIFSxToQ2jJqwaxjbzz2ebdD5LYY9s+bMe25b18t4QEgvtgW70JfK8BU3xf5dRw==} hasBin: true + openai@4.42.0: + resolution: {integrity: sha512-xbiQQ2YNqdkE6cHqeWKa7lsAvdYfgp84XiNFOVkAMa6+9KpmOL4hCWCRR6e6I/clpaens/T9XeLVtyC5StXoRw==} + hasBin: true + opener@1.5.2: resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} hasBin: true @@ -7263,6 +7695,9 @@ 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.1: resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} @@ -7818,6 +8253,10 @@ packages: engines: {node: '>=14'} hasBin: true + pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} @@ -7841,6 +8280,10 @@ packages: peerDependencies: react: '>=16.0.0' + 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'} @@ -7859,6 +8302,9 @@ 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==} @@ -7990,6 +8436,11 @@ packages: peerDependencies: react: ^18.2.0 + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + react-dom@19.0.0-canary-e3ebcd54b-20240405: resolution: {integrity: sha512-rLmRhyj0CiO0H5lWTIeP1izYsjjp03Dt36dufxjlPWVVpbHdKoIHUU/cDNin7Le2H+hNQfDQk7VcOb6Z7Z+W0g==} peerDependencies: @@ -8032,6 +8483,12 @@ packages: react-loadable: '*' webpack: '>=4.41.1 || 5.x' + react-markdown@8.0.7: + resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + react-refresh@0.14.2: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} @@ -8060,10 +8517,19 @@ packages: react-dom: 19.0.0-canary-e3ebcd54b-20240405 webpack: ^5.59.0 + react-syntax-highlighter@15.5.0: + resolution: {integrity: sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==} + peerDependencies: + react: '>= 0.14.0' + react@18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.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-canary-e3ebcd54b-20240405: resolution: {integrity: sha512-cJE4hNNSAZSkMGplceUigybvn9cnUrvgFuljOahB2LStTLGVK4bZcszJ0sppwPbr9XVelEvyNmKj/0HRQPc53w==} engines: {node: '>=0.10.0'} @@ -8121,6 +8587,9 @@ packages: resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} engines: {node: '>= 0.4'} + refractor@3.6.0: + resolution: {integrity: sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==} + regenerate-unicode-properties@10.1.1: resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} engines: {node: '>=4'} @@ -8177,9 +8646,15 @@ packages: remark-mdx@3.0.1: resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} + remark-parse@10.0.2: + resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} + remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + remark-rehype@10.1.0: + resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} + remark-rehype@11.1.0: resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} @@ -8278,6 +8753,13 @@ packages: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true + rollup-plugin-dts@6.1.0: + resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} + engines: {node: '>=16'} + peerDependencies: + rollup: ^3.29.4 || ^4 + typescript: ^4.5 || ^5.0 + rollup-plugin-inject@3.0.2: resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==} deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. @@ -8285,13 +8767,20 @@ packages: rollup-plugin-node-polyfills@0.2.1: resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==} + rollup-plugin-swc3@0.11.1: + resolution: {integrity: sha512-6j8kWS6HM63P9pc6O5UtfhZkW9vVmkYfoEmZxR3Nua6KQRDCM3a6RrskqiGeiCnJ9s1W+tAmlVYz80G9yy2/Kg==} + engines: {node: '>=12'} + peerDependencies: + '@swc/core': '>=1.2.165' + rollup: ^2.0.0 || ^3.0.0 || ^4.0.0 + rollup-pluginutils@2.8.2: resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} - rollup@4.12.0: - resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true + rollup-preserve-directives@1.1.1: + resolution: {integrity: sha512-+eQafbuEfDPfxQ9hQPlwaROfin4yiVRxap8hnrvvvcSGoukv1tTiYpAW9mvm3uR8J+fe4xd8FdVd5rz9q7jZ+Q==} + peerDependencies: + rollup: ^2.0.0 || ^3.0.0 || ^4.0.0 rollup@4.17.2: resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==} @@ -8315,6 +8804,10 @@ packages: rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + safe-array-concat@1.1.0: resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} engines: {node: '>=0.4'} @@ -8347,6 +8840,9 @@ packages: scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.25.0-canary-e3ebcd54b-20240405: resolution: {integrity: sha512-xI+jJ4zTJfULtwgO1GgoT3I3MiEV1OisswVdS9LdoQr0QwKpH0Al7IlW68R5ceIXE/a8RfuYZc7Aq34DwBqr7A==} @@ -8463,6 +8959,10 @@ packages: resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==} engines: {node: '>=14.15.0'} + sharp@0.33.3: + resolution: {integrity: sha512-vHUeXJU1UvlO/BNwTpT0x/r53WkLUVxrmb5JTgW92fdFCFk0ispLMAeu/jPO2vjkXM1fYUi3K7/qcLF47pwM1A==} + engines: {libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0} + shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -8563,6 +9063,12 @@ packages: solid-js: ^1.2 swr-store: ^0.10 + sonner@1.4.41: + resolution: {integrity: sha512-uG511ggnnsw6gcn/X+YKkWPo5ep9il9wYi3QJxHsYe7yTZ4+cOd1wuodOUmOpFuXL+/RE3R04LczdNCDygTDgQ==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + sort-css-media-queries@2.1.0: resolution: {integrity: sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==} engines: {node: '>= 6.3.0'} @@ -8594,6 +9100,9 @@ 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==} @@ -8874,6 +9383,9 @@ packages: peerDependencies: vue: '>=3.2.26 < 4' + tailwind-merge@2.3.0: + resolution: {integrity: sha512-vkYrLpIP+lgR0tQCG6AP7zZXCTLc1Lnv/CCRT3BqJ9CZ3ui2++GPaGb1x/ILsINIMSYqqvrpqjUFsMNLlW99EA==} + tailwindcss@3.4.3: resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} engines: {node: '>=14.0.0'} @@ -8957,6 +9469,10 @@ packages: resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} engines: {node: '>=14.0.0'} + tinypool@0.8.4: + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} + engines: {node: '>=14.0.0'} + tinyspy@2.2.1: resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} engines: {node: '>=14.0.0'} @@ -9246,6 +9762,9 @@ packages: resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} engines: {node: '>=4'} + unified@10.1.2: + resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + unified@11.0.4: resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} @@ -9253,24 +9772,42 @@ packages: resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} engines: {node: '>=12'} + unist-util-generated@2.0.1: + resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} + + unist-util-is@5.2.1: + resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} + unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} unist-util-position-from-estree@2.0.0: resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + unist-util-position@4.0.4: + resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} + unist-util-position@5.0.0: resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} unist-util-remove-position@5.0.0: resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + unist-util-stringify-position@3.0.3: + resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + unist-util-visit-parents@5.1.3: + resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} + unist-util-visit-parents@6.0.1: resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + unist-util-visit@4.1.2: + resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} + unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} @@ -9290,6 +9827,10 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} + unplugin@1.10.1: + resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} + engines: {node: '>=14.0.0'} + update-browserslist-db@1.0.13: resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -9346,6 +9887,11 @@ packages: resolution: {integrity: sha512-zV3eW2NlXTsun/aJ7AixxZjH/byQcH/r3J99MI0dDEkU2cJIBJxhEWUHDTpOaLPRNhebPZoeHuykYREkI9HafA==} hasBin: true + uvu@0.5.6: + resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} + engines: {node: '>=8'} + hasBin: true + v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -9362,9 +9908,15 @@ packages: vfile-location@5.0.2: resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + vfile-message@3.1.4: + resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} + vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + vfile@5.3.7: + resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + vfile@6.0.1: resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} @@ -9378,6 +9930,11 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true + vite-node@1.6.0: + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + vite@5.1.4: resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} @@ -9484,6 +10041,31 @@ packages: jsdom: optional: true + vitest@1.6.0: + resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.6.0 + '@vitest/ui': 1.6.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + vscode-oniguruma@1.7.0: resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} @@ -9571,6 +10153,9 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} + webpack-virtual-modules@0.6.1: + resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} + webpack@5.91.0: resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} engines: {node: '>=10.13.0'} @@ -10968,16 +11553,16 @@ snapshots: dependencies: mime: 3.0.0 - '@cloudflare/vitest-pool-workers@0.2.5(@cloudflare/workers-types@4.20240423.0)(@vitest/runner@1.3.1)(@vitest/snapshot@1.3.1)(vitest@1.3.0(@types/node@20.12.7)(terser@5.30.3))': + '@cloudflare/vitest-pool-workers@0.2.5(@cloudflare/workers-types@4.20240423.0)(@vitest/runner@1.6.0)(@vitest/snapshot@1.6.0)(vitest@1.3.0(@types/node@20.12.10)(terser@5.30.3))': dependencies: - '@vitest/runner': 1.3.1 - '@vitest/snapshot': 1.3.1 + '@vitest/runner': 1.6.0 + '@vitest/snapshot': 1.6.0 birpc: 0.2.14 cjs-module-lexer: 1.3.1 devalue: 4.3.3 esbuild: 0.17.19 miniflare: 3.20240419.0 - vitest: 1.3.0(@types/node@20.12.7)(terser@5.30.3) + vitest: 1.3.0(@types/node@20.12.10)(terser@5.30.3) wrangler: 3.53.0(@cloudflare/workers-types@4.20240423.0) zod: 3.23.5 transitivePeerDependencies: @@ -11752,6 +12337,11 @@ snapshots: - uglify-js - webpack-cli + '@emnapi/runtime@1.1.1': + dependencies: + tslib: 2.6.2 + optional: true + '@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19)': dependencies: esbuild: 0.17.19 @@ -11993,6 +12583,8 @@ snapshots: '@fastify/busboy@2.1.1': {} + '@fastify/deepmerge@1.3.0': {} + '@google/generative-ai@0.8.0': {} '@grpc/grpc-js@1.10.6': @@ -12031,6 +12623,81 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} + '@img/sharp-darwin-arm64@0.33.3': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.2 + optional: true + + '@img/sharp-darwin-x64@0.33.3': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.2 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.2': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.2': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.2': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.2': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.2': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.2': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.2': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.2': + optional: true + + '@img/sharp-linux-arm64@0.33.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.2 + optional: true + + '@img/sharp-linux-arm@0.33.3': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.2 + optional: true + + '@img/sharp-linux-s390x@0.33.3': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.2 + optional: true + + '@img/sharp-linux-x64@0.33.3': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.2 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.3': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.2 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.3': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.2 + optional: true + + '@img/sharp-wasm32@0.33.3': + dependencies: + '@emnapi/runtime': 1.1.1 + optional: true + + '@img/sharp-win32-ia32@0.33.3': + optional: true + + '@img/sharp-win32-x64@0.33.3': + optional: true + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -12049,7 +12716,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/yargs': 17.0.32 chalk: 4.1.2 @@ -12170,6 +12837,8 @@ snapshots: '@next/env@14.2.3': {} + '@next/env@14.3.0-canary.45': {} + '@next/eslint-plugin-next@13.5.6': dependencies: glob: 7.1.7 @@ -12184,54 +12853,81 @@ snapshots: '@next/swc-darwin-arm64@14.2.3': optional: true + '@next/swc-darwin-arm64@14.3.0-canary.45': + optional: true + '@next/swc-darwin-x64@14.1.3': optional: true '@next/swc-darwin-x64@14.2.3': optional: true + '@next/swc-darwin-x64@14.3.0-canary.45': + optional: true + '@next/swc-linux-arm64-gnu@14.1.3': optional: true '@next/swc-linux-arm64-gnu@14.2.3': optional: true + '@next/swc-linux-arm64-gnu@14.3.0-canary.45': + optional: true + '@next/swc-linux-arm64-musl@14.1.3': optional: true '@next/swc-linux-arm64-musl@14.2.3': optional: true + '@next/swc-linux-arm64-musl@14.3.0-canary.45': + optional: true + '@next/swc-linux-x64-gnu@14.1.3': optional: true '@next/swc-linux-x64-gnu@14.2.3': optional: true + '@next/swc-linux-x64-gnu@14.3.0-canary.45': + optional: true + '@next/swc-linux-x64-musl@14.1.3': optional: true '@next/swc-linux-x64-musl@14.2.3': optional: true + '@next/swc-linux-x64-musl@14.3.0-canary.45': + optional: true + '@next/swc-win32-arm64-msvc@14.1.3': optional: true '@next/swc-win32-arm64-msvc@14.2.3': optional: true + '@next/swc-win32-arm64-msvc@14.3.0-canary.45': + optional: true + '@next/swc-win32-ia32-msvc@14.1.3': optional: true '@next/swc-win32-ia32-msvc@14.2.3': optional: true + '@next/swc-win32-ia32-msvc@14.3.0-canary.45': + optional: true + '@next/swc-win32-x64-msvc@14.1.3': optional: true '@next/swc-win32-x64-msvc@14.2.3': optional: true + '@next/swc-win32-x64-msvc@14.3.0-canary.45': + optional: true + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -12316,31 +13012,80 @@ snapshots: '@qdrant/openapi-typescript-fetch@1.2.6': {} - '@rollup/rollup-android-arm-eabi@4.12.0': - optional: true + '@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.1)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.24.4 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.1 - '@rollup/rollup-android-arm-eabi@4.17.2': - optional: true + '@radix-ui/react-slot@1.0.2(@types/react@18.3.1)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.1 - '@rollup/rollup-android-arm64@4.12.0': - optional: true + '@rollup/plugin-commonjs@25.0.7(rollup@4.17.2)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) + commondir: 1.0.1 + estree-walker: 2.0.2 + glob: 8.1.0 + is-reference: 1.2.1 + magic-string: 0.30.10 + optionalDependencies: + rollup: 4.17.2 - '@rollup/rollup-android-arm64@4.17.2': - optional: true + '@rollup/plugin-json@6.1.0(rollup@4.17.2)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) + optionalDependencies: + rollup: 4.17.2 - '@rollup/rollup-darwin-arm64@4.12.0': - optional: true + '@rollup/plugin-node-resolve@15.2.3(rollup@4.17.2)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-builtin-module: 3.2.1 + is-module: 1.0.0 + resolve: 1.22.8 + optionalDependencies: + rollup: 4.17.2 - '@rollup/rollup-darwin-arm64@4.17.2': + '@rollup/plugin-replace@5.0.5(rollup@4.17.2)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) + magic-string: 0.30.10 + optionalDependencies: + rollup: 4.17.2 + + '@rollup/plugin-wasm@6.2.2(rollup@4.17.2)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) + optionalDependencies: + rollup: 4.17.2 + + '@rollup/pluginutils@5.1.0(rollup@4.17.2)': + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 4.17.2 + + '@rollup/rollup-android-arm-eabi@4.17.2': optional: true - '@rollup/rollup-darwin-x64@4.12.0': + '@rollup/rollup-android-arm64@4.17.2': optional: true - '@rollup/rollup-darwin-x64@4.17.2': + '@rollup/rollup-darwin-arm64@4.17.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.12.0': + '@rollup/rollup-darwin-x64@4.17.2': optional: true '@rollup/rollup-linux-arm-gnueabihf@4.17.2': @@ -12349,55 +13094,31 @@ snapshots: '@rollup/rollup-linux-arm-musleabihf@4.17.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.12.0': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.17.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.12.0': - optional: true - '@rollup/rollup-linux-arm64-musl@4.17.2': optional: true '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.12.0': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.17.2': optional: true '@rollup/rollup-linux-s390x-gnu@4.17.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.12.0': - optional: true - '@rollup/rollup-linux-x64-gnu@4.17.2': optional: true - '@rollup/rollup-linux-x64-musl@4.12.0': - optional: true - '@rollup/rollup-linux-x64-musl@4.17.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.12.0': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.17.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.12.0': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.17.2': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.12.0': + '@rollup/rollup-win32-ia32-msvc@4.17.2': optional: true '@rollup/rollup-win32-x64-msvc@4.17.2': @@ -12536,10 +13257,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@swc/cli@0.3.12(@swc/core@1.4.16(@swc/helpers@0.5.5))(chokidar@3.6.0)': + '@swc/cli@0.3.12(@swc/core@1.4.16(@swc/helpers@0.5.11))(chokidar@3.6.0)': dependencies: '@mole-inc/bin-wrapper': 8.0.1 - '@swc/core': 1.4.16(@swc/helpers@0.5.5) + '@swc/core': 1.4.16(@swc/helpers@0.5.11) '@swc/counter': 0.1.3 commander: 8.3.0 fast-glob: 3.3.2 @@ -12551,10 +13272,10 @@ snapshots: optionalDependencies: chokidar: 3.6.0 - '@swc/cli@0.3.9(@swc/core@1.4.2(@swc/helpers@0.5.5))(chokidar@3.6.0)': + '@swc/cli@0.3.9(@swc/core@1.5.3(@swc/helpers@0.5.11))(chokidar@3.6.0)': dependencies: '@mole-inc/bin-wrapper': 8.0.1 - '@swc/core': 1.4.2(@swc/helpers@0.5.5) + '@swc/core': 1.5.3(@swc/helpers@0.5.11) '@swc/counter': 0.1.3 commander: 7.2.0 fast-glob: 3.3.1 @@ -12572,7 +13293,7 @@ snapshots: '@swc/core-darwin-arm64@1.4.16': optional: true - '@swc/core-darwin-arm64@1.4.2': + '@swc/core-darwin-arm64@1.5.3': optional: true '@swc/core-darwin-x64@1.4.12': @@ -12581,7 +13302,7 @@ snapshots: '@swc/core-darwin-x64@1.4.16': optional: true - '@swc/core-darwin-x64@1.4.2': + '@swc/core-darwin-x64@1.5.3': optional: true '@swc/core-linux-arm-gnueabihf@1.4.12': @@ -12590,7 +13311,7 @@ snapshots: '@swc/core-linux-arm-gnueabihf@1.4.16': optional: true - '@swc/core-linux-arm-gnueabihf@1.4.2': + '@swc/core-linux-arm-gnueabihf@1.5.3': optional: true '@swc/core-linux-arm64-gnu@1.4.12': @@ -12599,7 +13320,7 @@ snapshots: '@swc/core-linux-arm64-gnu@1.4.16': optional: true - '@swc/core-linux-arm64-gnu@1.4.2': + '@swc/core-linux-arm64-gnu@1.5.3': optional: true '@swc/core-linux-arm64-musl@1.4.12': @@ -12608,7 +13329,7 @@ snapshots: '@swc/core-linux-arm64-musl@1.4.16': optional: true - '@swc/core-linux-arm64-musl@1.4.2': + '@swc/core-linux-arm64-musl@1.5.3': optional: true '@swc/core-linux-x64-gnu@1.4.12': @@ -12617,7 +13338,7 @@ snapshots: '@swc/core-linux-x64-gnu@1.4.16': optional: true - '@swc/core-linux-x64-gnu@1.4.2': + '@swc/core-linux-x64-gnu@1.5.3': optional: true '@swc/core-linux-x64-musl@1.4.12': @@ -12626,7 +13347,7 @@ snapshots: '@swc/core-linux-x64-musl@1.4.16': optional: true - '@swc/core-linux-x64-musl@1.4.2': + '@swc/core-linux-x64-musl@1.5.3': optional: true '@swc/core-win32-arm64-msvc@1.4.12': @@ -12635,7 +13356,7 @@ snapshots: '@swc/core-win32-arm64-msvc@1.4.16': optional: true - '@swc/core-win32-arm64-msvc@1.4.2': + '@swc/core-win32-arm64-msvc@1.5.3': optional: true '@swc/core-win32-ia32-msvc@1.4.12': @@ -12644,7 +13365,7 @@ snapshots: '@swc/core-win32-ia32-msvc@1.4.16': optional: true - '@swc/core-win32-ia32-msvc@1.4.2': + '@swc/core-win32-ia32-msvc@1.5.3': optional: true '@swc/core-win32-x64-msvc@1.4.12': @@ -12653,10 +13374,10 @@ snapshots: '@swc/core-win32-x64-msvc@1.4.16': optional: true - '@swc/core-win32-x64-msvc@1.4.2': + '@swc/core-win32-x64-msvc@1.5.3': optional: true - '@swc/core@1.4.12(@swc/helpers@0.5.5)': + '@swc/core@1.4.12(@swc/helpers@0.5.11)': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.6 @@ -12671,9 +13392,9 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.4.12 '@swc/core-win32-ia32-msvc': 1.4.12 '@swc/core-win32-x64-msvc': 1.4.12 - '@swc/helpers': 0.5.5 + '@swc/helpers': 0.5.11 - '@swc/core@1.4.16(@swc/helpers@0.5.5)': + '@swc/core@1.4.16(@swc/helpers@0.5.11)': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.6 @@ -12688,27 +13409,31 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.4.16 '@swc/core-win32-ia32-msvc': 1.4.16 '@swc/core-win32-x64-msvc': 1.4.16 - '@swc/helpers': 0.5.5 + '@swc/helpers': 0.5.11 - '@swc/core@1.4.2(@swc/helpers@0.5.5)': + '@swc/core@1.5.3(@swc/helpers@0.5.11)': dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.5 + '@swc/types': 0.1.6 optionalDependencies: - '@swc/core-darwin-arm64': 1.4.2 - '@swc/core-darwin-x64': 1.4.2 - '@swc/core-linux-arm-gnueabihf': 1.4.2 - '@swc/core-linux-arm64-gnu': 1.4.2 - '@swc/core-linux-arm64-musl': 1.4.2 - '@swc/core-linux-x64-gnu': 1.4.2 - '@swc/core-linux-x64-musl': 1.4.2 - '@swc/core-win32-arm64-msvc': 1.4.2 - '@swc/core-win32-ia32-msvc': 1.4.2 - '@swc/core-win32-x64-msvc': 1.4.2 - '@swc/helpers': 0.5.5 + '@swc/core-darwin-arm64': 1.5.3 + '@swc/core-darwin-x64': 1.5.3 + '@swc/core-linux-arm-gnueabihf': 1.5.3 + '@swc/core-linux-arm64-gnu': 1.5.3 + '@swc/core-linux-arm64-musl': 1.5.3 + '@swc/core-linux-x64-gnu': 1.5.3 + '@swc/core-linux-x64-musl': 1.5.3 + '@swc/core-win32-arm64-msvc': 1.5.3 + '@swc/core-win32-ia32-msvc': 1.5.3 + '@swc/core-win32-x64-msvc': 1.5.3 + '@swc/helpers': 0.5.11 '@swc/counter@0.1.3': {} + '@swc/helpers@0.5.11': + dependencies: + tslib: 2.6.2 + '@swc/helpers@0.5.2': dependencies: tslib: 2.6.2 @@ -12718,8 +13443,6 @@ snapshots: '@swc/counter': 0.1.3 tslib: 2.6.2 - '@swc/types@0.1.5': {} - '@swc/types@0.1.6': dependencies: '@swc/counter': 0.1.3 @@ -12774,27 +13497,27 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/cacheable-request@6.0.3': dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/responselike': 1.0.3 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.0 - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/connect@3.4.38': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/debug@4.1.12': dependencies: @@ -12820,7 +13543,7 @@ snapshots: '@types/express-serve-static-core@4.19.0': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/qs': 6.9.14 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -12834,6 +13557,10 @@ snapshots: '@types/gtag.js@0.0.12': {} + '@types/hast@2.3.10': + dependencies: + '@types/unist': 2.0.10 + '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.2 @@ -12848,7 +13575,7 @@ snapshots: '@types/http-proxy@1.17.14': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/istanbul-lib-coverage@2.0.6': {} @@ -12868,7 +13595,7 @@ snapshots: '@types/keyv@3.1.4': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/lodash-es@4.17.12': dependencies: @@ -12878,6 +13605,10 @@ snapshots: '@types/lodash@4.17.0': {} + '@types/mdast@3.0.15': + dependencies: + '@types/unist': 2.0.10 + '@types/mdast@4.0.3': dependencies: '@types/unist': 3.0.2 @@ -12892,12 +13623,12 @@ snapshots: '@types/node-fetch@2.6.11': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 form-data: 4.0.0 '@types/node-forge@1.3.11': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/node@12.20.55': {} @@ -12907,6 +13638,10 @@ snapshots: dependencies: undici-types: 5.26.5 + '@types/node@20.12.10': + dependencies: + undici-types: 5.26.5 + '@types/node@20.12.7': dependencies: undici-types: 5.26.5 @@ -12915,13 +13650,13 @@ snapshots: '@types/papaparse@5.3.14': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/parse-json@4.0.2': {} '@types/pg@8.11.5': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 pg-protocol: 1.6.1 pg-types: 4.0.2 @@ -12958,6 +13693,10 @@ snapshots: '@types/history': 4.7.11 '@types/react': 18.3.1 + '@types/react-syntax-highlighter@15.5.13': + dependencies: + '@types/react': 18.3.1 + '@types/react@18.2.74': dependencies: '@types/prop-types': 15.7.12 @@ -12973,22 +13712,24 @@ snapshots: '@types/prop-types': 15.7.12 csstype: 3.1.3 + '@types/resolve@1.20.2': {} + '@types/responselike@1.0.3': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/retry@0.12.0': {} '@types/sax@1.2.7': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/semver@7.5.8': {} '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/serve-index@1.9.4': dependencies: @@ -12997,12 +13738,12 @@ snapshots: '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/send': 0.17.4 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/tough-cookie@4.0.5': {} @@ -13020,7 +13761,7 @@ snapshots: '@types/ws@8.5.10': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/yargs-parser@21.0.3': {} @@ -13204,14 +13945,14 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-react@4.2.1(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))': + '@vitejs/plugin-react@4.2.1(vite@5.2.8(@types/node@20.12.10)(terser@5.30.3))': dependencies: '@babel/core': 7.24.4 '@babel/plugin-transform-react-jsx-self': 7.24.5(@babel/core@7.24.4) '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.4) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.2.8(@types/node@20.12.7)(terser@5.30.3) + vite: 5.2.8(@types/node@20.12.10)(terser@5.30.3) transitivePeerDependencies: - supports-color @@ -13227,6 +13968,12 @@ snapshots: '@vitest/utils': 1.3.1 chai: 4.4.1 + '@vitest/expect@1.6.0': + dependencies: + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 + chai: 4.4.1 + '@vitest/runner@1.3.0': dependencies: '@vitest/utils': 1.3.0 @@ -13239,6 +13986,12 @@ snapshots: p-limit: 5.0.0 pathe: 1.1.2 + '@vitest/runner@1.6.0': + dependencies: + '@vitest/utils': 1.6.0 + p-limit: 5.0.0 + pathe: 1.1.2 + '@vitest/snapshot@1.3.0': dependencies: magic-string: 0.30.7 @@ -13251,6 +14004,12 @@ snapshots: pathe: 1.1.2 pretty-format: 29.7.0 + '@vitest/snapshot@1.6.0': + dependencies: + magic-string: 0.30.10 + pathe: 1.1.2 + pretty-format: 29.7.0 + '@vitest/spy@1.3.0': dependencies: tinyspy: 2.2.1 @@ -13259,6 +14018,10 @@ snapshots: dependencies: tinyspy: 2.2.1 + '@vitest/spy@1.6.0': + dependencies: + tinyspy: 2.2.1 + '@vitest/utils@1.3.0': dependencies: diff-sequences: 29.6.3 @@ -13273,6 +14036,13 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 + '@vitest/utils@1.6.0': + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + '@vue/compiler-core@3.4.26': dependencies: '@babel/parser': 7.24.4 @@ -13485,6 +14255,28 @@ snapshots: vue: 3.4.26(typescript@5.4.5) zod: 3.23.5 + ai@3.1.1(react@18.3.1)(solid-js@1.8.17)(svelte@4.2.15)(vue@3.4.26(typescript@5.4.5))(zod@3.23.5): + dependencies: + '@ai-sdk/provider': 0.0.3 + '@ai-sdk/provider-utils': 0.0.5(zod@3.23.5) + eventsource-parser: 1.1.2 + json-schema: 0.4.0 + jsondiffpatch: 0.6.0 + nanoid: 3.3.6 + secure-json-parse: 2.7.0 + solid-swr-store: 0.10.7(solid-js@1.8.17)(swr-store@0.10.6) + sswr: 2.0.0(svelte@4.2.15) + swr: 2.2.0(react@18.3.1) + swr-store: 0.10.6 + swrv: 1.0.4(vue@3.4.26(typescript@5.4.5)) + zod-to-json-schema: 3.22.5(zod@3.23.5) + optionalDependencies: + react: 18.3.1 + solid-js: 1.8.17 + svelte: 4.2.15 + vue: 3.4.26(typescript@5.4.5) + zod: 3.23.5 + ajv-formats@2.1.1(ajv@8.12.0): optionalDependencies: ajv: 8.12.0 @@ -13901,6 +14693,30 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + builtin-modules@3.3.0: {} + + bunchee@5.1.5(typescript@5.4.5): + dependencies: + '@rollup/plugin-commonjs': 25.0.7(rollup@4.17.2) + '@rollup/plugin-json': 6.1.0(rollup@4.17.2) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.17.2) + '@rollup/plugin-replace': 5.0.5(rollup@4.17.2) + '@rollup/plugin-wasm': 6.2.2(rollup@4.17.2) + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) + '@swc/core': 1.5.3(@swc/helpers@0.5.11) + '@swc/helpers': 0.5.11 + arg: 5.0.2 + clean-css: 5.3.3 + magic-string: 0.30.10 + pretty-bytes: 5.6.0 + rollup: 4.17.2 + rollup-plugin-dts: 6.1.0(rollup@4.17.2)(typescript@5.4.5) + rollup-plugin-swc3: 0.11.1(@swc/core@1.5.3(@swc/helpers@0.5.11))(rollup@4.17.2) + rollup-preserve-directives: 1.1.1(rollup@4.17.2) + tslib: 2.6.2 + optionalDependencies: + typescript: 5.4.5 + busboy@1.6.0: dependencies: streamsearch: 1.1.0 @@ -14013,10 +14829,16 @@ 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: {} @@ -14069,14 +14891,14 @@ snapshots: transitivePeerDependencies: - encoding - chromadb@1.8.1(@google/generative-ai@0.8.0)(cohere-ai@7.9.5(encoding@0.1.13))(encoding@0.1.13)(openai@4.38.1(encoding@0.1.13)): + chromadb@1.8.1(@google/generative-ai@0.8.0)(cohere-ai@7.9.5(encoding@0.1.13))(encoding@0.1.13)(openai@4.42.0(encoding@0.1.13)): dependencies: cliui: 8.0.1 isomorphic-fetch: 3.0.0(encoding@0.1.13) optionalDependencies: '@google/generative-ai': 0.8.0 cohere-ai: 7.9.5(encoding@0.1.13) - openai: 4.38.1(encoding@0.1.13) + openai: 4.42.0(encoding@0.1.13) transitivePeerDependencies: - encoding @@ -14086,6 +14908,10 @@ snapshots: cjs-module-lexer@1.3.1: {} + class-variance-authority@0.7.0: + dependencies: + clsx: 2.0.0 + clean-css@5.3.3: dependencies: source-map: 0.6.1 @@ -14141,6 +14967,8 @@ snapshots: clone@1.0.4: {} + clsx@2.0.0: {} + clsx@2.1.0: {} code-red@1.0.4: @@ -14209,6 +15037,8 @@ snapshots: dependencies: delayed-stream: 1.0.0 + comma-separated-tokens@1.0.8: {} + comma-separated-tokens@2.0.3: {} commander@10.0.1: {} @@ -14343,6 +15173,10 @@ snapshots: create-require@1.1.1: {} + cross-env@7.0.3: + dependencies: + cross-spawn: 7.0.3 + cross-fetch@3.1.8(encoding@0.1.13): dependencies: node-fetch: 2.7.0(encoding@0.1.13) @@ -14677,6 +15511,8 @@ snapshots: diff@4.0.2: {} + diff@5.2.0: {} + dingbat-to-unicode@1.0.1: {} dir-glob@3.0.1: @@ -15303,7 +16139,7 @@ snapshots: eval@0.1.8: dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 require-like: 0.1.2 event-target-shim@5.0.1: {} @@ -15449,6 +16285,10 @@ snapshots: dependencies: reusify: 1.0.4 + fault@1.0.4: + dependencies: + format: 0.2.2 + fault@2.0.1: dependencies: format: 0.2.2 @@ -15785,6 +16625,14 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 + glob@8.1.0: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + global-dirs@3.0.1: dependencies: ini: 2.0.0 @@ -15931,6 +16779,8 @@ snapshots: vfile-location: 5.0.2 web-namespaces: 2.0.1 + hast-util-parse-selector@2.2.5: {} + hast-util-parse-selector@4.0.0: dependencies: '@types/hast': 3.0.4 @@ -16002,10 +16852,20 @@ snapshots: web-namespaces: 2.0.1 zwitch: 2.0.4 + hast-util-whitespace@2.0.1: {} + hast-util-whitespace@3.0.0: 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@8.0.0: dependencies: '@types/hast': 3.0.4 @@ -16016,6 +16876,8 @@ snapshots: he@1.2.0: {} + highlight.js@10.7.3: {} + history@4.10.1: dependencies: '@babel/runtime': 7.24.4 @@ -16229,8 +17091,15 @@ snapshots: ipaddr.js@2.1.0: {} + 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 @@ -16263,6 +17132,12 @@ snapshots: call-bind: 1.0.7 has-tostringtag: 1.0.0 + is-buffer@2.0.5: {} + + is-builtin-module@3.2.1: + dependencies: + builtin-modules: 3.3.0 + is-callable@1.2.7: {} is-ci@3.0.1: @@ -16277,6 +17152,8 @@ snapshots: dependencies: has-tostringtag: 1.0.0 + is-decimal@1.0.4: {} + is-decimal@2.0.1: {} is-docker@2.2.1: {} @@ -16305,6 +17182,8 @@ snapshots: dependencies: is-extglob: 2.1.1 + is-hexadecimal@1.0.4: {} + is-hexadecimal@2.0.1: {} is-installed-globally@0.4.0: @@ -16316,6 +17195,8 @@ snapshots: is-map@2.0.2: {} + is-module@1.0.0: {} + is-negative-zero@2.0.2: {} is-npm@6.0.0: {} @@ -16346,6 +17227,10 @@ snapshots: is-plain-object@5.0.0: {} + is-reference@1.2.1: + dependencies: + '@types/estree': 1.0.5 + is-reference@3.0.2: dependencies: '@types/estree': 1.0.5 @@ -16450,7 +17335,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.10 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -16458,13 +17343,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -16479,6 +17364,11 @@ snapshots: '@sideway/formula': 3.0.1 '@sideway/pinpoint': 2.0.0 + jotai@2.8.0(@types/react@18.3.1)(react@19.0.0-canary-e3ebcd54b-20240405): + optionalDependencies: + '@types/react': 18.3.1 + react: 19.0.0-canary-e3ebcd54b-20240405 + js-base64@3.7.2: {} js-base64@3.7.7: {} @@ -16746,6 +17636,11 @@ snapshots: lowercase-keys@3.0.0: {} + lowlight@1.20.0: + dependencies: + fault: 1.0.4 + highlight.js: 10.7.3 + lru-cache@10.2.0: {} lru-cache@4.1.5: @@ -16763,6 +17658,10 @@ snapshots: lru-cache@9.1.2: {} + lucide-react@0.378.0(react@18.3.1): + dependencies: + react: 18.3.1 + lunr@2.3.9: {} madge@7.0.0(typescript@5.4.5): @@ -16826,6 +17725,12 @@ snapshots: md-utils-ts@2.0.0: {} + mdast-util-definitions@5.1.2: + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 + unist-util-visit: 4.1.2 + mdast-util-directive@3.0.0: dependencies: '@types/mdast': 4.0.3 @@ -16846,6 +17751,23 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 + mdast-util-from-markdown@1.3.1: + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 + decode-named-character-reference: 1.0.2 + mdast-util-to-string: 3.2.0 + micromark: 3.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-decode-string: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + unist-util-stringify-position: 3.0.3 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + mdast-util-from-markdown@2.0.0: dependencies: '@types/mdast': 4.0.3 @@ -16986,6 +17908,17 @@ snapshots: '@types/mdast': 4.0.3 unist-util-is: 6.0.0 + mdast-util-to-hast@12.3.0: + dependencies: + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 + mdast-util-definitions: 5.1.2 + micromark-util-sanitize-uri: 1.2.0 + trim-lines: 3.0.1 + unist-util-generated: 2.0.1 + unist-util-position: 4.0.4 + unist-util-visit: 4.1.2 + mdast-util-to-hast@13.1.0: dependencies: '@types/hast': 3.0.4 @@ -17009,6 +17942,10 @@ snapshots: unist-util-visit: 5.0.0 zwitch: 2.0.4 + mdast-util-to-string@3.2.0: + dependencies: + '@types/mdast': 3.0.15 + mdast-util-to-string@4.0.0: dependencies: '@types/mdast': 4.0.3 @@ -17047,6 +17984,25 @@ snapshots: methods@1.1.2: {} + micromark-core-commonmark@1.1.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-factory-destination: 1.1.0 + micromark-factory-label: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-factory-title: 1.1.0 + micromark-factory-whitespace: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-html-tag-name: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + micromark-core-commonmark@2.0.0: dependencies: decode-named-character-reference: 1.0.2 @@ -17192,12 +18148,25 @@ snapshots: micromark-util-combine-extensions: 2.0.0 micromark-util-types: 2.0.0 + micromark-factory-destination@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + micromark-factory-destination@2.0.0: dependencies: micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 + micromark-factory-label@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + micromark-factory-label@2.0.0: dependencies: devlop: 1.1.0 @@ -17226,6 +18195,13 @@ snapshots: micromark-util-character: 2.1.0 micromark-util-types: 2.0.0 + micromark-factory-title@1.1.0: + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + micromark-factory-title@2.0.0: dependencies: micromark-factory-space: 2.0.0 @@ -17233,6 +18209,13 @@ snapshots: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 + micromark-factory-whitespace@1.1.0: + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + micromark-factory-whitespace@2.0.0: dependencies: micromark-factory-space: 2.0.0 @@ -17250,25 +18233,51 @@ snapshots: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 + micromark-util-chunked@1.1.0: + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-chunked@2.0.0: dependencies: micromark-util-symbol: 2.0.0 + micromark-util-classify-character@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + micromark-util-classify-character@2.0.0: dependencies: micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 + micromark-util-combine-extensions@1.1.0: + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-types: 1.1.0 + micromark-util-combine-extensions@2.0.0: dependencies: micromark-util-chunked: 2.0.0 micromark-util-types: 2.0.0 + micromark-util-decode-numeric-character-reference@1.1.0: + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-decode-numeric-character-reference@2.0.1: dependencies: micromark-util-symbol: 2.0.0 + micromark-util-decode-string@1.1.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 1.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-decode-string@2.0.0: dependencies: decode-named-character-reference: 1.0.2 @@ -17276,6 +18285,8 @@ snapshots: micromark-util-decode-numeric-character-reference: 2.0.1 micromark-util-symbol: 2.0.0 + micromark-util-encode@1.1.0: {} + micromark-util-encode@2.0.0: {} micromark-util-events-to-acorn@2.0.2: @@ -17289,22 +18300,45 @@ snapshots: micromark-util-types: 2.0.0 vfile-message: 4.0.2 + micromark-util-html-tag-name@1.2.0: {} + micromark-util-html-tag-name@2.0.0: {} + micromark-util-normalize-identifier@1.1.0: + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-normalize-identifier@2.0.0: dependencies: micromark-util-symbol: 2.0.0 + micromark-util-resolve-all@1.1.0: + dependencies: + micromark-util-types: 1.1.0 + micromark-util-resolve-all@2.0.0: dependencies: micromark-util-types: 2.0.0 + micromark-util-sanitize-uri@1.2.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-encode: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-sanitize-uri@2.0.0: dependencies: micromark-util-character: 2.1.0 micromark-util-encode: 2.0.0 micromark-util-symbol: 2.0.0 + micromark-util-subtokenize@1.1.0: + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + micromark-util-subtokenize@2.0.0: dependencies: devlop: 1.1.0 @@ -17320,6 +18354,28 @@ snapshots: micromark-util-types@2.0.0: {} + micromark@3.2.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.4 + decode-named-character-reference: 1.0.2 + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-combine-extensions: 1.1.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-encode: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + micromark@4.0.0: dependencies: '@types/debug': 4.1.12 @@ -17406,6 +18462,10 @@ snapshots: dependencies: brace-expansion: 1.1.11 + minimatch@5.1.6: + dependencies: + brace-expansion: 2.0.1 + minimatch@9.0.3: dependencies: brace-expansion: 2.0.1 @@ -17458,6 +18518,8 @@ snapshots: bson: 6.6.0 mongodb-connection-string-url: 3.0.0 + mri@1.2.0: {} + mrmime@2.0.0: {} ms@2.0.0: {} @@ -17516,7 +18578,32 @@ snapshots: - '@babel/core' - babel-plugin-macros - next@14.2.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + next@14.2.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + dependencies: + '@next/env': 14.2.3 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001607 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + styled-jsx: 5.1.1(react@18.2.0) + optionalDependencies: + '@next/swc-darwin-arm64': 14.2.3 + '@next/swc-darwin-x64': 14.2.3 + '@next/swc-linux-arm64-gnu': 14.2.3 + '@next/swc-linux-arm64-musl': 14.2.3 + '@next/swc-linux-x64-gnu': 14.2.3 + '@next/swc-linux-x64-musl': 14.2.3 + '@next/swc-win32-arm64-msvc': 14.2.3 + '@next/swc-win32-ia32-msvc': 14.2.3 + '@next/swc-win32-x64-msvc': 14.2.3 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + + next@14.2.3(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react@19.0.0-canary-e3ebcd54b-20240405): dependencies: '@next/env': 14.2.3 '@swc/helpers': 0.5.5 @@ -17524,9 +18611,9 @@ snapshots: caniuse-lite: 1.0.30001607 graceful-fs: 4.2.11 postcss: 8.4.31 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + react: 19.0.0-canary-e3ebcd54b-20240405 + react-dom: 19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405) + styled-jsx: 5.1.1(react@19.0.0-canary-e3ebcd54b-20240405) optionalDependencies: '@next/swc-darwin-arm64': 14.2.3 '@next/swc-darwin-x64': 14.2.3 @@ -17541,6 +18628,32 @@ snapshots: - '@babel/core' - babel-plugin-macros + next@14.3.0-canary.45(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@next/env': 14.3.0-canary.45 + '@swc/helpers': 0.5.11 + busboy: 1.6.0 + caniuse-lite: 1.0.30001607 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) + optionalDependencies: + '@next/swc-darwin-arm64': 14.3.0-canary.45 + '@next/swc-darwin-x64': 14.3.0-canary.45 + '@next/swc-linux-arm64-gnu': 14.3.0-canary.45 + '@next/swc-linux-arm64-musl': 14.3.0-canary.45 + '@next/swc-linux-x64-gnu': 14.3.0-canary.45 + '@next/swc-linux-x64-musl': 14.3.0-canary.45 + '@next/swc-win32-arm64-msvc': 14.3.0-canary.45 + '@next/swc-win32-ia32-msvc': 14.3.0-canary.45 + '@next/swc-win32-x64-msvc': 14.3.0-canary.45 + sharp: 0.33.3 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + nice-napi@1.0.2: dependencies: node-addon-api: 3.2.1 @@ -17737,6 +18850,19 @@ snapshots: transitivePeerDependencies: - encoding + openai@4.42.0(encoding@0.1.13): + dependencies: + '@types/node': 18.19.31 + '@types/node-fetch': 2.6.11 + abort-controller: 3.0.0 + agentkeepalive: 4.5.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0(encoding@0.1.13) + web-streams-polyfill: 3.3.3 + transitivePeerDependencies: + - encoding + opener@1.5.2: {} option@0.2.4: {} @@ -17854,6 +18980,15 @@ 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.1: dependencies: '@types/unist': 2.0.10 @@ -18089,21 +19224,29 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.38 - postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.4.16(@swc/helpers@0.5.5))(@types/node@20.12.7)(typescript@5.4.4)): + postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.10)(typescript@5.4.4)): + dependencies: + lilconfig: 3.0.0 + yaml: 2.3.4 + optionalDependencies: + postcss: 8.4.38 + ts-node: 10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.10)(typescript@5.4.4) + + postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.10)(typescript@5.4.5)): dependencies: lilconfig: 3.0.0 yaml: 2.3.4 optionalDependencies: postcss: 8.4.38 - ts-node: 10.9.2(@swc/core@1.4.16(@swc/helpers@0.5.5))(@types/node@20.12.7)(typescript@5.4.4) + ts-node: 10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.10)(typescript@5.4.5) - postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.4.16(@swc/helpers@0.5.5))(@types/node@20.12.7)(typescript@5.4.5)): + postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.7)(typescript@5.4.5)): dependencies: lilconfig: 3.0.0 yaml: 2.3.4 optionalDependencies: postcss: 8.4.38 - ts-node: 10.9.2(@swc/core@1.4.16(@swc/helpers@0.5.5))(@types/node@20.12.7)(typescript@5.4.5) + ts-node: 10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.7)(typescript@5.4.5) postcss-loader@7.3.4(postcss@8.4.38)(typescript@5.4.4)(webpack@5.91.0): dependencies: @@ -18373,6 +19516,8 @@ snapshots: prettier@3.2.5: {} + pretty-bytes@5.6.0: {} + pretty-error@4.0.0: dependencies: lodash: 4.17.21 @@ -18398,6 +19543,8 @@ snapshots: clsx: 2.1.0 react: 18.2.0 + prismjs@1.27.0: {} + prismjs@1.29.0: {} process-nextick-args@2.0.1: {} @@ -18415,6 +19562,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: {} proto-list@1.2.4: {} @@ -18431,7 +19582,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 20.12.7 + '@types/node': 20.12.10 long: 5.2.3 proxy-addr@2.0.7: @@ -18578,6 +19729,12 @@ snapshots: react: 18.2.0 scheduler: 0.23.0 + 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-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405): dependencies: react: 19.0.0-canary-e3ebcd54b-20240405 @@ -18619,6 +19776,28 @@ snapshots: react-loadable: '@docusaurus/react-loadable@5.5.2(react@18.2.0)' webpack: 5.91.0 + react-markdown@8.0.7(@types/react@18.3.1)(react@18.3.1): + dependencies: + '@types/hast': 2.3.10 + '@types/prop-types': 15.7.12 + '@types/react': 18.3.1 + '@types/unist': 2.0.10 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 2.0.1 + prop-types: 15.8.1 + property-information: 6.5.0 + react: 18.3.1 + react-is: 18.2.0 + remark-parse: 10.0.2 + remark-rehype: 10.1.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unified: 10.1.2 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + transitivePeerDependencies: + - supports-color + react-refresh@0.14.2: {} react-router-config@5.1.1(react-router@5.3.4(react@18.2.0))(react@18.2.0): @@ -18651,18 +19830,31 @@ snapshots: tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - react-server-dom-webpack@19.0.0-canary-e3ebcd54b-20240405(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react@19.0.0-canary-e3ebcd54b-20240405)(webpack@5.91.0(@swc/core@1.4.16(@swc/helpers@0.5.5))): + react-server-dom-webpack@19.0.0-canary-e3ebcd54b-20240405(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react@19.0.0-canary-e3ebcd54b-20240405)(webpack@5.91.0(@swc/core@1.5.3(@swc/helpers@0.5.11))): dependencies: acorn-loose: 8.4.0 neo-async: 2.6.2 react: 19.0.0-canary-e3ebcd54b-20240405 react-dom: 19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405) - webpack: 5.91.0(@swc/core@1.4.16(@swc/helpers@0.5.5)) + webpack: 5.91.0(@swc/core@1.5.3(@swc/helpers@0.5.11)) + + react-syntax-highlighter@15.5.0(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.4 + highlight.js: 10.7.3 + lowlight: 1.20.0 + prismjs: 1.29.0 + react: 18.3.1 + refractor: 3.6.0 react@18.2.0: dependencies: loose-envify: 1.4.0 + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + react@19.0.0-canary-e3ebcd54b-20240405: {} read-cache@1.0.0: @@ -18745,6 +19937,12 @@ snapshots: globalthis: 1.0.3 which-builtin-type: 1.1.3 + refractor@3.6.0: + dependencies: + hastscript: 6.0.0 + parse-entities: 2.0.0 + prismjs: 1.27.0 + regenerate-unicode-properties@10.1.1: dependencies: regenerate: 1.4.2 @@ -18836,6 +20034,14 @@ snapshots: transitivePeerDependencies: - supports-color + remark-parse@10.0.2: + dependencies: + '@types/mdast': 3.0.15 + mdast-util-from-markdown: 1.3.1 + unified: 10.1.2 + transitivePeerDependencies: + - supports-color + remark-parse@11.0.0: dependencies: '@types/mdast': 4.0.3 @@ -18845,6 +20051,13 @@ snapshots: transitivePeerDependencies: - supports-color + remark-rehype@10.1.0: + dependencies: + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 + mdast-util-to-hast: 12.3.0 + unified: 10.1.2 + remark-rehype@11.1.0: dependencies: '@types/hast': 3.0.4 @@ -18938,6 +20151,14 @@ snapshots: dependencies: glob: 7.2.3 + rollup-plugin-dts@6.1.0(rollup@4.17.2)(typescript@5.4.5): + dependencies: + magic-string: 0.30.10 + rollup: 4.17.2 + typescript: 5.4.5 + optionalDependencies: + '@babel/code-frame': 7.24.2 + rollup-plugin-inject@3.0.2: dependencies: estree-walker: 0.6.1 @@ -18948,28 +20169,23 @@ snapshots: dependencies: rollup-plugin-inject: 3.0.2 + rollup-plugin-swc3@0.11.1(@swc/core@1.5.3(@swc/helpers@0.5.11))(rollup@4.17.2): + dependencies: + '@fastify/deepmerge': 1.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) + '@swc/core': 1.5.3(@swc/helpers@0.5.11) + get-tsconfig: 4.7.3 + rollup: 4.17.2 + rollup-preserve-directives: 1.1.1(rollup@4.17.2) + rollup-pluginutils@2.8.2: dependencies: estree-walker: 0.6.1 - rollup@4.12.0: + rollup-preserve-directives@1.1.1(rollup@4.17.2): dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.0 - '@rollup/rollup-android-arm64': 4.12.0 - '@rollup/rollup-darwin-arm64': 4.12.0 - '@rollup/rollup-darwin-x64': 4.12.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 - '@rollup/rollup-linux-arm64-gnu': 4.12.0 - '@rollup/rollup-linux-arm64-musl': 4.12.0 - '@rollup/rollup-linux-riscv64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-musl': 4.12.0 - '@rollup/rollup-win32-arm64-msvc': 4.12.0 - '@rollup/rollup-win32-ia32-msvc': 4.12.0 - '@rollup/rollup-win32-x64-msvc': 4.12.0 - fsevents: 2.3.3 + magic-string: 0.30.10 + rollup: 4.17.2 rollup@4.17.2: dependencies: @@ -19012,6 +20228,10 @@ snapshots: dependencies: tslib: 2.6.2 + sade@1.8.1: + dependencies: + mri: 1.2.0 + safe-array-concat@1.1.0: dependencies: call-bind: 1.0.7 @@ -19043,6 +20263,10 @@ snapshots: dependencies: loose-envify: 1.4.0 + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + scheduler@0.25.0-canary-e3ebcd54b-20240405: {} schema-utils@2.7.0: @@ -19198,6 +20422,33 @@ snapshots: tar-fs: 3.0.5 tunnel-agent: 0.6.0 + sharp@0.33.3: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + semver: 7.6.0 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.3 + '@img/sharp-darwin-x64': 0.33.3 + '@img/sharp-libvips-darwin-arm64': 1.0.2 + '@img/sharp-libvips-darwin-x64': 1.0.2 + '@img/sharp-libvips-linux-arm': 1.0.2 + '@img/sharp-libvips-linux-arm64': 1.0.2 + '@img/sharp-libvips-linux-s390x': 1.0.2 + '@img/sharp-libvips-linux-x64': 1.0.2 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.2 + '@img/sharp-libvips-linuxmusl-x64': 1.0.2 + '@img/sharp-linux-arm': 0.33.3 + '@img/sharp-linux-arm64': 0.33.3 + '@img/sharp-linux-s390x': 0.33.3 + '@img/sharp-linux-x64': 0.33.3 + '@img/sharp-linuxmusl-arm64': 0.33.3 + '@img/sharp-linuxmusl-x64': 0.33.3 + '@img/sharp-wasm32': 0.33.3 + '@img/sharp-win32-ia32': 0.33.3 + '@img/sharp-win32-x64': 0.33.3 + optional: true + shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 @@ -19309,6 +20560,11 @@ snapshots: solid-js: 1.8.17 swr-store: 0.10.6 + sonner@1.4.41(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-css-media-queries@2.1.0: {} sort-keys-length@1.0.1: @@ -19332,6 +20588,8 @@ snapshots: sourcemap-codec@1.4.8: {} + space-separated-tokens@1.1.5: {} + space-separated-tokens@2.0.2: {} sparse-bitfield@3.0.3: @@ -19569,6 +20827,16 @@ snapshots: client-only: 0.0.1 react: 18.2.0 + styled-jsx@5.1.1(react@18.3.1): + dependencies: + client-only: 0.0.1 + react: 18.3.1 + + styled-jsx@5.1.1(react@19.0.0-canary-e3ebcd54b-20240405): + dependencies: + client-only: 0.0.1 + react: 19.0.0-canary-e3ebcd54b-20240405 + stylehacks@5.1.1(postcss@8.4.38): dependencies: browserslist: 4.23.0 @@ -19641,13 +20909,49 @@ snapshots: react: 18.2.0 use-sync-external-store: 1.2.2(react@18.2.0) + swr@2.2.0(react@18.3.1): + dependencies: + react: 18.3.1 + use-sync-external-store: 1.2.2(react@18.3.1) + swrev@4.0.0: {} swrv@1.0.4(vue@3.4.26(typescript@5.4.5)): dependencies: vue: 3.4.26(typescript@5.4.5) - tailwindcss@3.4.3(ts-node@10.9.2(@swc/core@1.4.16(@swc/helpers@0.5.5))(@types/node@20.12.7)(typescript@5.4.4)): + tailwind-merge@2.3.0: + dependencies: + '@babel/runtime': 7.24.4 + + tailwindcss@3.4.3(ts-node@10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.10)(typescript@5.4.4)): + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.0 + lilconfig: 2.1.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.38 + postcss-import: 15.1.0(postcss@8.4.38) + postcss-js: 4.0.1(postcss@8.4.38) + postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.10)(typescript@5.4.4)) + postcss-nested: 6.0.1(postcss@8.4.38) + postcss-selector-parser: 6.0.16 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + + tailwindcss@3.4.3(ts-node@10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.10)(typescript@5.4.5)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -19666,7 +20970,7 @@ snapshots: postcss: 8.4.38 postcss-import: 15.1.0(postcss@8.4.38) postcss-js: 4.0.1(postcss@8.4.38) - postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.4.16(@swc/helpers@0.5.5))(@types/node@20.12.7)(typescript@5.4.4)) + postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.10)(typescript@5.4.5)) postcss-nested: 6.0.1(postcss@8.4.38) postcss-selector-parser: 6.0.16 resolve: 1.22.8 @@ -19674,7 +20978,7 @@ snapshots: transitivePeerDependencies: - ts-node - tailwindcss@3.4.3(ts-node@10.9.2(@swc/core@1.4.16(@swc/helpers@0.5.5))(@types/node@20.12.7)(typescript@5.4.5)): + tailwindcss@3.4.3(ts-node@10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.7)(typescript@5.4.5)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -19693,7 +20997,7 @@ snapshots: postcss: 8.4.38 postcss-import: 15.1.0(postcss@8.4.38) postcss-js: 4.0.1(postcss@8.4.38) - postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.4.16(@swc/helpers@0.5.5))(@types/node@20.12.7)(typescript@5.4.5)) + postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.7)(typescript@5.4.5)) postcss-nested: 6.0.1(postcss@8.4.38) postcss-selector-parser: 6.0.16 resolve: 1.22.8 @@ -19736,16 +21040,16 @@ snapshots: term-size@2.2.1: {} - terser-webpack-plugin@5.3.10(@swc/core@1.4.16(@swc/helpers@0.5.5))(webpack@5.91.0(@swc/core@1.4.16(@swc/helpers@0.5.5))): + terser-webpack-plugin@5.3.10(@swc/core@1.5.3(@swc/helpers@0.5.11))(webpack@5.91.0(@swc/core@1.5.3(@swc/helpers@0.5.11))): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.30.3 - webpack: 5.91.0(@swc/core@1.4.16(@swc/helpers@0.5.5)) + webpack: 5.91.0(@swc/core@1.5.3(@swc/helpers@0.5.11)) optionalDependencies: - '@swc/core': 1.4.16(@swc/helpers@0.5.5) + '@swc/core': 1.5.3(@swc/helpers@0.5.11) terser-webpack-plugin@5.3.10(webpack@5.91.0): dependencies: @@ -19789,6 +21093,8 @@ snapshots: tinypool@0.8.2: {} + tinypool@0.8.4: {} + tinyspy@2.2.1: {} tmp@0.0.33: @@ -19847,14 +21153,14 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@swc/core@1.4.16(@swc/helpers@0.5.5))(@types/node@20.12.7)(typescript@5.4.4): + ts-node@10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.10)(typescript@5.4.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.12.7 + '@types/node': 20.12.10 acorn: 8.11.3 acorn-walk: 8.3.2 arg: 4.1.3 @@ -19865,10 +21171,31 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.4.16(@swc/helpers@0.5.5) + '@swc/core': 1.5.3(@swc/helpers@0.5.11) + optional: true + + ts-node@10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.10)(typescript@5.4.5): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.12.10 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.4.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.5.3(@swc/helpers@0.5.11) optional: true - ts-node@10.9.2(@swc/core@1.4.16(@swc/helpers@0.5.5))(@types/node@20.12.7)(typescript@5.4.5): + ts-node@10.9.2(@swc/core@1.5.3(@swc/helpers@0.5.11))(@types/node@20.12.7)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 @@ -19886,7 +21213,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.4.16(@swc/helpers@0.5.5) + '@swc/core': 1.5.3(@swc/helpers@0.5.11) tsconfig-paths@3.15.0: dependencies: @@ -20033,6 +21360,14 @@ snapshots: shiki: 0.14.7 typescript: 5.4.4 + typedoc@0.25.13(typescript@5.4.5): + dependencies: + lunr: 2.3.9 + marked: 4.3.0 + minimatch: 9.0.4 + shiki: 0.14.7 + typescript: 5.4.5 + typescript@5.4.3: {} typescript@5.4.4: {} @@ -20074,6 +21409,16 @@ snapshots: unicode-property-aliases-ecmascript@2.1.0: {} + unified@10.1.2: + dependencies: + '@types/unist': 2.0.10 + bail: 2.0.2 + extend: 3.0.2 + is-buffer: 2.0.5 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 5.3.7 + unified@11.0.4: dependencies: '@types/unist': 3.0.2 @@ -20088,6 +21433,12 @@ snapshots: dependencies: crypto-random-string: 4.0.0 + unist-util-generated@2.0.1: {} + + unist-util-is@5.2.1: + dependencies: + '@types/unist': 2.0.10 + unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.2 @@ -20096,6 +21447,10 @@ snapshots: dependencies: '@types/unist': 3.0.2 + unist-util-position@4.0.4: + dependencies: + '@types/unist': 2.0.10 + unist-util-position@5.0.0: dependencies: '@types/unist': 3.0.2 @@ -20105,15 +21460,30 @@ snapshots: '@types/unist': 3.0.2 unist-util-visit: 5.0.0 + unist-util-stringify-position@3.0.3: + dependencies: + '@types/unist': 2.0.10 + unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.2 + unist-util-visit-parents@5.1.3: + dependencies: + '@types/unist': 2.0.10 + unist-util-is: 5.2.1 + unist-util-visit-parents@6.0.1: dependencies: '@types/unist': 3.0.2 unist-util-is: 6.0.0 + unist-util-visit@4.1.2: + dependencies: + '@types/unist': 2.0.10 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 + unist-util-visit@5.0.0: dependencies: '@types/unist': 3.0.2 @@ -20128,6 +21498,13 @@ snapshots: unpipe@1.0.0: {} + unplugin@1.10.1: + dependencies: + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 + update-browserslist-db@1.0.13(browserslist@4.23.0): dependencies: browserslist: 4.23.0 @@ -20175,6 +21552,10 @@ snapshots: dependencies: react: 18.2.0 + use-sync-external-store@1.2.2(react@18.3.1): + dependencies: + react: 18.3.1 + util-deprecate@1.0.2: {} utila@0.4.0: {} @@ -20187,6 +21568,13 @@ snapshots: uuidv7@0.6.3: {} + uvu@0.5.6: + dependencies: + dequal: 2.0.3 + diff: 5.2.0 + kleur: 4.1.5 + sade: 1.8.1 + v8-compile-cache-lib@3.0.1: {} validate-npm-package-license@3.0.4: @@ -20203,24 +21591,53 @@ snapshots: '@types/unist': 3.0.2 vfile: 6.0.1 + vfile-message@3.1.4: + dependencies: + '@types/unist': 2.0.10 + unist-util-stringify-position: 3.0.3 + vfile-message@4.0.2: dependencies: '@types/unist': 3.0.2 unist-util-stringify-position: 4.0.0 + vfile@5.3.7: + dependencies: + '@types/unist': 2.0.10 + is-buffer: 2.0.5 + unist-util-stringify-position: 3.0.3 + vfile-message: 3.1.4 + vfile@6.0.1: dependencies: '@types/unist': 3.0.2 unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - vite-node@1.3.0(@types/node@20.12.7)(terser@5.30.3): + vite-node@1.3.0(@types/node@20.12.10)(terser@5.30.3): + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.12.10)(terser@5.30.3) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + + vite-node@1.3.1(@types/node@20.12.10)(terser@5.30.3): dependencies: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.12.7)(terser@5.30.3) + vite: 5.1.4(@types/node@20.12.10)(terser@5.30.3) transitivePeerDependencies: - '@types/node' - less @@ -20231,13 +21648,13 @@ snapshots: - supports-color - terser - vite-node@1.3.1(@types/node@20.12.7)(terser@5.30.3): + vite-node@1.6.0(@types/node@20.12.10)(terser@5.30.3): dependencies: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.12.7)(terser@5.30.3) + vite: 5.2.8(@types/node@20.12.10)(terser@5.30.3) transitivePeerDependencies: - '@types/node' - less @@ -20248,27 +21665,27 @@ snapshots: - supports-color - terser - vite@5.1.4(@types/node@20.12.7)(terser@5.30.3): + vite@5.1.4(@types/node@20.12.10)(terser@5.30.3): dependencies: esbuild: 0.19.12 postcss: 8.4.38 - rollup: 4.12.0 + rollup: 4.17.2 optionalDependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 fsevents: 2.3.3 terser: 5.30.3 - vite@5.2.8(@types/node@20.12.7)(terser@5.30.3): + vite@5.2.8(@types/node@20.12.10)(terser@5.30.3): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.17.2 optionalDependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 fsevents: 2.3.3 terser: 5.30.3 - vitest@1.3.0(@types/node@20.12.7)(terser@5.30.3): + vitest@1.3.0(@types/node@20.12.10)(terser@5.30.3): dependencies: '@vitest/expect': 1.3.0 '@vitest/runner': 1.3.0 @@ -20287,11 +21704,11 @@ snapshots: strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.12.7)(terser@5.30.3) - vite-node: 1.3.0(@types/node@20.12.7)(terser@5.30.3) + vite: 5.1.4(@types/node@20.12.10)(terser@5.30.3) + vite-node: 1.3.0(@types/node@20.12.10)(terser@5.30.3) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 transitivePeerDependencies: - less - lightningcss @@ -20301,7 +21718,7 @@ snapshots: - supports-color - terser - vitest@1.3.1(@types/node@20.12.7)(terser@5.30.3): + vitest@1.3.1(@types/node@20.12.10)(terser@5.30.3): dependencies: '@vitest/expect': 1.3.1 '@vitest/runner': 1.3.1 @@ -20320,11 +21737,44 @@ snapshots: strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.12.7)(terser@5.30.3) - vite-node: 1.3.1(@types/node@20.12.7)(terser@5.30.3) + vite: 5.1.4(@types/node@20.12.10)(terser@5.30.3) + vite-node: 1.3.1(@types/node@20.12.10)(terser@5.30.3) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + + vitest@1.6.0(@types/node@20.12.10)(terser@5.30.3): + dependencies: + '@vitest/expect': 1.6.0 + '@vitest/runner': 1.6.0 + '@vitest/snapshot': 1.6.0 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.10 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.4 + vite: 5.2.8(@types/node@20.12.10)(terser@5.30.3) + vite-node: 1.6.0(@types/node@20.12.10)(terser@5.30.3) + why-is-node-running: 2.2.2 + optionalDependencies: + '@types/node': 20.12.10 transitivePeerDependencies: - less - lightningcss @@ -20348,18 +21798,18 @@ snapshots: optionalDependencies: typescript: 5.4.5 - waku@0.20.1(@swc/helpers@0.5.5)(@types/node@20.12.7)(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react-server-dom-webpack@19.0.0-canary-e3ebcd54b-20240405(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react@19.0.0-canary-e3ebcd54b-20240405)(webpack@5.91.0(@swc/core@1.4.16(@swc/helpers@0.5.5))))(react@19.0.0-canary-e3ebcd54b-20240405)(terser@5.30.3): + waku@0.20.1(@swc/helpers@0.5.11)(@types/node@20.12.10)(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react-server-dom-webpack@19.0.0-canary-e3ebcd54b-20240405(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react@19.0.0-canary-e3ebcd54b-20240405)(webpack@5.91.0(@swc/core@1.5.3(@swc/helpers@0.5.11))))(react@19.0.0-canary-e3ebcd54b-20240405)(terser@5.30.3): dependencies: '@hono/node-server': 1.9.1 - '@swc/core': 1.4.12(@swc/helpers@0.5.5) - '@vitejs/plugin-react': 4.2.1(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)) + '@swc/core': 1.4.12(@swc/helpers@0.5.11) + '@vitejs/plugin-react': 4.2.1(vite@5.2.8(@types/node@20.12.10)(terser@5.30.3)) dotenv: 16.4.5 hono: 4.2.2 react: 19.0.0-canary-e3ebcd54b-20240405 react-dom: 19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405) - react-server-dom-webpack: 19.0.0-canary-e3ebcd54b-20240405(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react@19.0.0-canary-e3ebcd54b-20240405)(webpack@5.91.0(@swc/core@1.4.16(@swc/helpers@0.5.5))) + react-server-dom-webpack: 19.0.0-canary-e3ebcd54b-20240405(react-dom@19.0.0-canary-e3ebcd54b-20240405(react@19.0.0-canary-e3ebcd54b-20240405))(react@19.0.0-canary-e3ebcd54b-20240405)(webpack@5.91.0(@swc/core@1.5.3(@swc/helpers@0.5.11))) rsc-html-stream: 0.0.3 - vite: 5.2.8(@types/node@20.12.7)(terser@5.30.3) + vite: 5.2.8(@types/node@20.12.10)(terser@5.30.3) transitivePeerDependencies: - '@swc/helpers' - '@types/node' @@ -20472,6 +21922,8 @@ snapshots: webpack-sources@3.2.3: {} + webpack-virtual-modules@0.6.1: {} + webpack@5.91.0: dependencies: '@types/eslint-scope': 3.7.7 @@ -20503,7 +21955,7 @@ snapshots: - esbuild - uglify-js - webpack@5.91.0(@swc/core@1.4.16(@swc/helpers@0.5.5)): + webpack@5.91.0(@swc/core@1.5.3(@swc/helpers@0.5.11)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -20526,7 +21978,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.4.16(@swc/helpers@0.5.5))(webpack@5.91.0(@swc/core@1.4.16(@swc/helpers@0.5.5))) + terser-webpack-plugin: 5.3.10(@swc/core@1.5.3(@swc/helpers@0.5.11))(webpack@5.91.0(@swc/core@1.5.3(@swc/helpers@0.5.11))) watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index bb8c731539..dc97c64eb8 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -4,6 +4,7 @@ packages: - "packages/core/tests" - "packages/core/e2e" - "packages/core/e2e/examples/*" + - "packages/autotool/examples/*" - "packages/edge/e2e/*" - "examples/" - "examples/*" diff --git a/tsconfig.json b/tsconfig.json index 8ee8dbd940..c14327511a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -41,6 +41,12 @@ { "path": "./packages/core/tests/tsconfig.json" }, + { + "path": "./packages/autotool/tsconfig.json" + }, + { + "path": "./packages/autotool/examples/01_node/tsconfig.json" + }, { "path": "./packages/env/tsconfig.json" }, diff --git a/turbo.json b/turbo.json index 8ca45295ed..85e908e148 100644 --- a/turbo.json +++ b/turbo.json @@ -7,16 +7,10 @@ "outputs": ["dist/**", "build/**"] }, "lint": { - "inputs": ["packages/eslint-config-custom"] - }, - "@llamaindex/edge#build": { - "dependsOn": ["llamaindex#build"] - }, - "@llamaindex/experimental#build": { - "dependsOn": ["@llamaindex/edge#build"] + "dependsOn": ["^build"] }, "test": { - "dependsOn": ["^build", "@llamaindex/edge#build"] + "dependsOn": ["^build"] }, "e2e": { "dependsOn": ["^build"]