From 8acec0eaad7bab2f421f84750351d600b47ee501 Mon Sep 17 00:00:00 2001 From: Jonathan Hefner Date: Thu, 8 Jan 2026 12:44:36 -0600 Subject: [PATCH] Add `basic-server-*` examples for Vue, Svelte, Preact, and Solid (#141) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add basic-server-vue example Demonstrates MCP App SDK usage with Vue 3, providing framework parity alongside the existing React and vanilla JS examples. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 * Add basic-server-svelte example Demonstrates MCP App SDK usage with Svelte, providing parity with the existing basic-server-react and basic-server-vue examples. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 * Add basic-server-preact example Demonstrates MCP App SDK usage with Preact, providing another lightweight framework option alongside the existing React, Vue, and Svelte examples. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 * Add basic-server-solid example Demonstrates MCP App SDK usage with Solid.js, providing another reactive framework option alongside the existing React, Vue, Svelte, and Preact examples. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 * Add framework GitHub links to README Link each framework name to its official GitHub repo in basic examples list. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --------- Co-authored-by: Claude Opus 4.5 --- .prettierignore | 6 +- README.md | 10 +- examples/basic-server-preact/README.md | 30 + examples/basic-server-preact/mcp-app.html | 14 + examples/basic-server-preact/package.json | 32 + examples/basic-server-preact/server.ts | 58 + examples/basic-server-preact/src/global.css | 12 + .../src/mcp-app.module.css | 65 + examples/basic-server-preact/src/mcp-app.tsx | 159 ++ .../basic-server-preact/src/server-utils.ts | 110 + .../basic-server-preact/src/vite-env.d.ts | 1 + examples/basic-server-preact/tsconfig.json | 21 + examples/basic-server-preact/vite.config.ts | 25 + examples/basic-server-solid/README.md | 30 + examples/basic-server-solid/mcp-app.html | 14 + examples/basic-server-solid/package.json | 32 + examples/basic-server-solid/server.ts | 58 + examples/basic-server-solid/src/global.css | 12 + .../basic-server-solid/src/mcp-app.module.css | 65 + examples/basic-server-solid/src/mcp-app.tsx | 163 ++ .../basic-server-solid/src/server-utils.ts | 110 + examples/basic-server-solid/src/vite-env.d.ts | 1 + examples/basic-server-solid/tsconfig.json | 21 + examples/basic-server-solid/vite.config.ts | 25 + examples/basic-server-svelte/README.md | 30 + examples/basic-server-svelte/mcp-app.html | 14 + examples/basic-server-svelte/package.json | 31 + examples/basic-server-svelte/server.ts | 58 + examples/basic-server-svelte/src/App.svelte | 181 ++ examples/basic-server-svelte/src/global.css | 12 + examples/basic-server-svelte/src/mcp-app.ts | 5 + .../basic-server-svelte/src/server-utils.ts | 110 + examples/basic-server-svelte/svelte.config.js | 5 + examples/basic-server-svelte/tsconfig.json | 19 + examples/basic-server-svelte/vite.config.ts | 25 + examples/basic-server-vue/README.md | 30 + examples/basic-server-vue/env.d.ts | 7 + examples/basic-server-vue/mcp-app.html | 14 + examples/basic-server-vue/package.json | 32 + examples/basic-server-vue/server.ts | 58 + examples/basic-server-vue/src/App.vue | 188 ++ examples/basic-server-vue/src/global.css | 12 + examples/basic-server-vue/src/mcp-app.ts | 5 + examples/basic-server-vue/src/server-utils.ts | 110 + examples/basic-server-vue/tsconfig.json | 19 + examples/basic-server-vue/vite.config.ts | 25 + package-lock.json | 1996 +++++++++-------- tests/e2e/servers.spec.ts | 8 + .../basic-preact.png | Bin 0 -> 48110 bytes .../servers.spec.ts-snapshots/basic-solid.png | Bin 0 -> 47934 bytes .../basic-svelte.png | Bin 0 -> 48075 bytes .../servers.spec.ts-snapshots/basic-vue.png | Bin 0 -> 47389 bytes 52 files changed, 3110 insertions(+), 958 deletions(-) create mode 100644 examples/basic-server-preact/README.md create mode 100644 examples/basic-server-preact/mcp-app.html create mode 100644 examples/basic-server-preact/package.json create mode 100644 examples/basic-server-preact/server.ts create mode 100644 examples/basic-server-preact/src/global.css create mode 100644 examples/basic-server-preact/src/mcp-app.module.css create mode 100644 examples/basic-server-preact/src/mcp-app.tsx create mode 100644 examples/basic-server-preact/src/server-utils.ts create mode 100644 examples/basic-server-preact/src/vite-env.d.ts create mode 100644 examples/basic-server-preact/tsconfig.json create mode 100644 examples/basic-server-preact/vite.config.ts create mode 100644 examples/basic-server-solid/README.md create mode 100644 examples/basic-server-solid/mcp-app.html create mode 100644 examples/basic-server-solid/package.json create mode 100644 examples/basic-server-solid/server.ts create mode 100644 examples/basic-server-solid/src/global.css create mode 100644 examples/basic-server-solid/src/mcp-app.module.css create mode 100644 examples/basic-server-solid/src/mcp-app.tsx create mode 100644 examples/basic-server-solid/src/server-utils.ts create mode 100644 examples/basic-server-solid/src/vite-env.d.ts create mode 100644 examples/basic-server-solid/tsconfig.json create mode 100644 examples/basic-server-solid/vite.config.ts create mode 100644 examples/basic-server-svelte/README.md create mode 100644 examples/basic-server-svelte/mcp-app.html create mode 100644 examples/basic-server-svelte/package.json create mode 100644 examples/basic-server-svelte/server.ts create mode 100644 examples/basic-server-svelte/src/App.svelte create mode 100644 examples/basic-server-svelte/src/global.css create mode 100644 examples/basic-server-svelte/src/mcp-app.ts create mode 100644 examples/basic-server-svelte/src/server-utils.ts create mode 100644 examples/basic-server-svelte/svelte.config.js create mode 100644 examples/basic-server-svelte/tsconfig.json create mode 100644 examples/basic-server-svelte/vite.config.ts create mode 100644 examples/basic-server-vue/README.md create mode 100644 examples/basic-server-vue/env.d.ts create mode 100644 examples/basic-server-vue/mcp-app.html create mode 100644 examples/basic-server-vue/package.json create mode 100644 examples/basic-server-vue/server.ts create mode 100644 examples/basic-server-vue/src/App.vue create mode 100644 examples/basic-server-vue/src/global.css create mode 100644 examples/basic-server-vue/src/mcp-app.ts create mode 100644 examples/basic-server-vue/src/server-utils.ts create mode 100644 examples/basic-server-vue/tsconfig.json create mode 100644 examples/basic-server-vue/vite.config.ts create mode 100644 tests/e2e/servers.spec.ts-snapshots/basic-preact.png create mode 100644 tests/e2e/servers.spec.ts-snapshots/basic-solid.png create mode 100644 tests/e2e/servers.spec.ts-snapshots/basic-svelte.png create mode 100644 tests/e2e/servers.spec.ts-snapshots/basic-vue.png diff --git a/.prettierignore b/.prettierignore index e2a4cdb..9c9b32b 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,6 +1,4 @@ examples/basic-host/**/*.ts examples/basic-host/**/*.tsx -examples/basic-server-react/**/*.ts -examples/basic-server-react/**/*.tsx -examples/basic-server-vanillajs/**/*.ts -examples/basic-server-vanillajs/**/*.tsx +examples/basic-server-*/**/*.ts +examples/basic-server-*/**/*.tsx diff --git a/README.md b/README.md index 4ea53df..eb95e8b 100644 --- a/README.md +++ b/README.md @@ -47,9 +47,13 @@ Or edit your `package.json` manually: Start with these foundational examples to learn the SDK: -- [`examples/basic-server-vanillajs`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-vanillajs) — Example MCP server with tools that return UI Apps (vanilla JS) -- [`examples/basic-server-react`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-react) — Example MCP server with tools that return UI Apps (React) -- [`examples/basic-host`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-host) — Bare-bones example of hosting MCP Apps +- [`examples/basic-server-vanillajs`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-vanillajs) — MCP server + MCP App using vanilla JS +- [`examples/basic-server-react`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-react) — MCP server + MCP App using [React](https://github.com/facebook/react) +- [`examples/basic-server-vue`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-vue) — MCP server + MCP App using [Vue](https://github.com/vuejs/vue) +- [`examples/basic-server-svelte`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-svelte) — MCP server + MCP App using [Svelte](https://github.com/sveltejs/svelte) +- [`examples/basic-server-preact`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-preact) — MCP server + MCP App using [Preact](https://github.com/preactjs/preact) +- [`examples/basic-server-solid`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-solid) — MCP server + MCP App using [Solid](https://github.com/solidjs/solid) +- [`examples/basic-host`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-host) — MCP host application supporting MCP Apps The [`examples/`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples) directory contains additional demo apps showcasing real-world use cases. diff --git a/examples/basic-server-preact/README.md b/examples/basic-server-preact/README.md new file mode 100644 index 0000000..cc98ecb --- /dev/null +++ b/examples/basic-server-preact/README.md @@ -0,0 +1,30 @@ +# Example: Basic Server (Preact) + +An MCP App example with a Preact UI. + +> [!TIP] +> Looking for a vanilla JavaScript example? See [`basic-server-vanillajs`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-vanillajs)! + +## Overview + +- Tool registration with a linked UI resource +- Preact UI using the [`App`](https://modelcontextprotocol.github.io/ext-apps/api/classes/app.App.html) class +- App communication APIs: [`callServerTool`](https://modelcontextprotocol.github.io/ext-apps/api/classes/app.App.html#callservertool), [`sendMessage`](https://modelcontextprotocol.github.io/ext-apps/api/classes/app.App.html#sendmessage), [`sendLog`](https://modelcontextprotocol.github.io/ext-apps/api/classes/app.App.html#sendlog), [`openLink`](https://modelcontextprotocol.github.io/ext-apps/api/classes/app.App.html#openlink) + +## Key Files + +- [`server.ts`](server.ts) - MCP server with tool and resource registration +- [`mcp-app.html`](mcp-app.html) / [`src/mcp-app.tsx`](src/mcp-app.tsx) - Preact UI using `App` class + +## Getting Started + +```bash +npm install +npm run dev +``` + +## How It Works + +1. The server registers a `get-time` tool with metadata linking it to a UI HTML resource (`ui://get-time/mcp-app.html`). +2. When the tool is invoked, the Host renders the UI from the resource. +3. The UI uses the MCP App SDK API to communicate with the host and call server tools. diff --git a/examples/basic-server-preact/mcp-app.html b/examples/basic-server-preact/mcp-app.html new file mode 100644 index 0000000..205ff4e --- /dev/null +++ b/examples/basic-server-preact/mcp-app.html @@ -0,0 +1,14 @@ + + + + + + + Get Time App + + + +
+ + + diff --git a/examples/basic-server-preact/package.json b/examples/basic-server-preact/package.json new file mode 100644 index 0000000..a7f5dd0 --- /dev/null +++ b/examples/basic-server-preact/package.json @@ -0,0 +1,32 @@ +{ + "name": "basic-server-preact", + "version": "1.0.0", + "private": true, + "type": "module", + "scripts": { + "build": "tsc --noEmit && cross-env INPUT=mcp-app.html vite build", + "watch": "cross-env INPUT=mcp-app.html vite build --watch", + "serve": "bun server.ts", + "start": "cross-env NODE_ENV=development npm run build && npm run serve", + "dev": "cross-env NODE_ENV=development concurrently 'npm run watch' 'npm run serve'" + }, + "dependencies": { + "@modelcontextprotocol/ext-apps": "../..", + "@modelcontextprotocol/sdk": "^1.24.0", + "preact": "^10.0.0", + "zod": "^4.1.13" + }, + "devDependencies": { + "@preact/preset-vite": "^2.0.0", + "@types/cors": "^2.8.19", + "@types/express": "^5.0.0", + "@types/node": "^22.0.0", + "concurrently": "^9.2.1", + "cors": "^2.8.5", + "cross-env": "^7.0.3", + "express": "^5.1.0", + "typescript": "^5.9.3", + "vite": "^6.0.0", + "vite-plugin-singlefile": "^2.3.0" + } +} diff --git a/examples/basic-server-preact/server.ts b/examples/basic-server-preact/server.ts new file mode 100644 index 0000000..ce0d71b --- /dev/null +++ b/examples/basic-server-preact/server.ts @@ -0,0 +1,58 @@ +import { registerAppResource, registerAppTool, RESOURCE_MIME_TYPE } from "@modelcontextprotocol/ext-apps/server"; +import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; +import type { CallToolResult, ReadResourceResult } from "@modelcontextprotocol/sdk/types.js"; +import fs from "node:fs/promises"; +import path from "node:path"; +import { startServer } from "./src/server-utils.js"; + +const DIST_DIR = path.join(import.meta.dirname, "dist"); + +/** + * Creates a new MCP server instance with tools and resources registered. + */ +function createServer(): McpServer { + const server = new McpServer({ + name: "Basic MCP App Server (Preact)", + version: "1.0.0", + }); + + // Two-part registration: tool + resource, tied together by the resource URI. + const resourceUri = "ui://get-time/mcp-app.html"; + + // Register a tool with UI metadata. When the host calls this tool, it reads + // `_meta.ui.resourceUri` to know which resource to fetch and render as an + // interactive UI. + registerAppTool(server, + "get-time", + { + title: "Get Time", + description: "Returns the current server time as an ISO 8601 string.", + inputSchema: {}, + _meta: { ui: { resourceUri } }, + }, + async (): Promise => { + const time = new Date().toISOString(); + return { content: [{ type: "text", text: time }] }; + }, + ); + + // Register the resource, which returns the bundled HTML/JavaScript for the UI. + registerAppResource(server, + resourceUri, + resourceUri, + { mimeType: RESOURCE_MIME_TYPE }, + async (): Promise => { + const html = await fs.readFile(path.join(DIST_DIR, "mcp-app.html"), "utf-8"); + + return { + contents: [ + { uri: resourceUri, mimeType: RESOURCE_MIME_TYPE, text: html }, + ], + }; + }, + ); + + return server; +} + +startServer(createServer); diff --git a/examples/basic-server-preact/src/global.css b/examples/basic-server-preact/src/global.css new file mode 100644 index 0000000..97cda44 --- /dev/null +++ b/examples/basic-server-preact/src/global.css @@ -0,0 +1,12 @@ +* { + box-sizing: border-box; +} + +html, body { + font-family: system-ui, -apple-system, sans-serif; + font-size: 1rem; +} + +code { + font-size: 1em; +} diff --git a/examples/basic-server-preact/src/mcp-app.module.css b/examples/basic-server-preact/src/mcp-app.module.css new file mode 100644 index 0000000..0c6429a --- /dev/null +++ b/examples/basic-server-preact/src/mcp-app.module.css @@ -0,0 +1,65 @@ +.main { + --color-primary: #2563eb; + --color-primary-hover: #1d4ed8; + --color-notice-bg: #eff6ff; + + width: 100%; + max-width: 425px; + box-sizing: border-box; + + > * { + margin-top: 0; + margin-bottom: 0; + } + + > * + * { + margin-top: 1.5rem; + } +} + +.action { + > * { + margin-top: 0; + margin-bottom: 0; + width: 100%; + } + + > * + * { + margin-top: 0.5rem; + } + + /* Consistent font for form inputs (inherits from global.css) */ + textarea, + input { + font-family: inherit; + font-size: inherit; + } + + button { + padding: 0.5rem 1rem; + border: none; + border-radius: 6px; + color: white; + font-weight: bold; + background-color: var(--color-primary); + cursor: pointer; + + &:hover, + &:focus-visible { + background-color: var(--color-primary-hover); + } + } +} + +.notice { + padding: 0.5rem 0.75rem; + color: var(--color-primary); + text-align: center; + font-style: italic; + background-color: var(--color-notice-bg); + + &::before { + content: "ℹ️ "; + font-style: normal; + } +} diff --git a/examples/basic-server-preact/src/mcp-app.tsx b/examples/basic-server-preact/src/mcp-app.tsx new file mode 100644 index 0000000..e00b8df --- /dev/null +++ b/examples/basic-server-preact/src/mcp-app.tsx @@ -0,0 +1,159 @@ +/** + * @file App that demonstrates a few features using MCP Apps SDK + Preact. + */ +import { App, type McpUiHostContext } from "@modelcontextprotocol/ext-apps"; +import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js"; +import { useCallback, useEffect, useState } from "preact/hooks"; +import { render } from "preact"; +import styles from "./mcp-app.module.css"; + + +const IMPLEMENTATION = { name: "Get Time App", version: "1.0.0" }; + + +const log = { + info: console.log.bind(console, "[APP]"), + warn: console.warn.bind(console, "[APP]"), + error: console.error.bind(console, "[APP]"), +}; + + +function extractTime(callToolResult: CallToolResult): string { + const { text } = callToolResult.content?.find((c) => c.type === "text")!; + return text; +} + + +function GetTimeApp() { + const [app, setApp] = useState(null); + const [error, setError] = useState(null); + const [toolResult, setToolResult] = useState(null); + const [hostContext, setHostContext] = useState(); + + useEffect(() => { + const instance = new App(IMPLEMENTATION); + + instance.ontoolinput = async (input) => { + log.info("Received tool call input:", input); + }; + + instance.ontoolresult = async (result) => { + log.info("Received tool call result:", result); + setToolResult(result); + }; + + instance.onerror = log.error; + + instance.onhostcontextchanged = (params) => { + setHostContext((prev) => ({ ...prev, ...params })); + }; + + instance + .connect() + .then(() => { + setApp(instance); + setHostContext(instance.getHostContext()); + }) + .catch(setError); + }, []); + + if (error) return
ERROR: {error.message}
; + if (!app) return
Connecting...
; + + return ; +} + + +interface GetTimeAppInnerProps { + app: App; + toolResult: CallToolResult | null; + hostContext?: McpUiHostContext; +} +function GetTimeAppInner({ app, toolResult, hostContext }: GetTimeAppInnerProps) { + const [serverTime, setServerTime] = useState("Loading..."); + const [messageText, setMessageText] = useState("This is message text."); + const [logText, setLogText] = useState("This is log text."); + const [linkUrl, setLinkUrl] = useState("https://modelcontextprotocol.io/"); + + useEffect(() => { + if (toolResult) { + setServerTime(extractTime(toolResult)); + } + }, [toolResult]); + + const handleGetTime = useCallback(async () => { + try { + log.info("Calling get-time tool..."); + const result = await app.callServerTool({ name: "get-time", arguments: {} }); + log.info("get-time result:", result); + setServerTime(extractTime(result)); + } catch (e) { + log.error(e); + setServerTime("[ERROR]"); + } + }, [app]); + + const handleSendMessage = useCallback(async () => { + const signal = AbortSignal.timeout(5000); + try { + log.info("Sending message text to Host:", messageText); + const { isError } = await app.sendMessage( + { role: "user", content: [{ type: "text", text: messageText }] }, + { signal }, + ); + log.info("Message", isError ? "rejected" : "accepted"); + } catch (e) { + log.error("Message send error:", signal.aborted ? "timed out" : e); + } + }, [app, messageText]); + + const handleSendLog = useCallback(async () => { + log.info("Sending log text to Host:", logText); + await app.sendLog({ level: "info", data: logText }); + }, [app, logText]); + + const handleOpenLink = useCallback(async () => { + log.info("Sending open link request to Host:", linkUrl); + const { isError } = await app.openLink({ url: linkUrl }); + log.info("Open link request", isError ? "rejected" : "accepted"); + }, [app, linkUrl]); + + return ( +
+

Watch activity in the DevTools console!

+ +
+

+ Server Time: {serverTime} +

+ +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+ + diff --git a/examples/basic-server-svelte/src/global.css b/examples/basic-server-svelte/src/global.css new file mode 100644 index 0000000..97cda44 --- /dev/null +++ b/examples/basic-server-svelte/src/global.css @@ -0,0 +1,12 @@ +* { + box-sizing: border-box; +} + +html, body { + font-family: system-ui, -apple-system, sans-serif; + font-size: 1rem; +} + +code { + font-size: 1em; +} diff --git a/examples/basic-server-svelte/src/mcp-app.ts b/examples/basic-server-svelte/src/mcp-app.ts new file mode 100644 index 0000000..e57b774 --- /dev/null +++ b/examples/basic-server-svelte/src/mcp-app.ts @@ -0,0 +1,5 @@ +import { mount } from "svelte"; +import App from "./App.svelte"; +import "./global.css"; + +mount(App, { target: document.getElementById("app")! }); diff --git a/examples/basic-server-svelte/src/server-utils.ts b/examples/basic-server-svelte/src/server-utils.ts new file mode 100644 index 0000000..4052423 --- /dev/null +++ b/examples/basic-server-svelte/src/server-utils.ts @@ -0,0 +1,110 @@ +/** + * Shared utilities for running MCP servers with various transports. + */ + +import { createMcpExpressApp } from "@modelcontextprotocol/sdk/server/express.js"; +import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; +import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; +import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js"; +import cors from "cors"; +import type { Request, Response } from "express"; + +/** + * Starts an MCP server using the appropriate transport based on command-line arguments. + * + * If `--stdio` is passed, uses stdio transport. Otherwise, uses Streamable HTTP transport. + * + * @param createServer - Factory function that creates a new McpServer instance. + */ +export async function startServer( + createServer: () => McpServer, +): Promise { + try { + if (process.argv.includes("--stdio")) { + await startStdioServer(createServer); + } else { + await startStreamableHttpServer(createServer); + } + } catch (e) { + console.error(e); + process.exit(1); + } +} + +/** + * Starts an MCP server with stdio transport. + * + * @param createServer - Factory function that creates a new McpServer instance. + */ +export async function startStdioServer( + createServer: () => McpServer, +): Promise { + await createServer().connect(new StdioServerTransport()); +} + +/** + * Starts an MCP server with Streamable HTTP transport in stateless mode. + * + * Each request creates a fresh server and transport instance, which are + * closed when the response ends (no session tracking). + * + * The server listens on the port specified by the PORT environment variable, + * defaulting to 3001 if not set. + * + * @param createServer - Factory function that creates a new McpServer instance per request. + */ +export async function startStreamableHttpServer( + createServer: () => McpServer, +): Promise { + const port = parseInt(process.env.PORT ?? "3001", 10); + + // Express app - bind to all interfaces for development/testing + const expressApp = createMcpExpressApp({ host: "0.0.0.0" }); + expressApp.use(cors()); + + expressApp.all("/mcp", async (req: Request, res: Response) => { + // Create fresh server and transport for each request (stateless mode) + const server = createServer(); + const transport = new StreamableHTTPServerTransport({ + sessionIdGenerator: undefined, + }); + + // Clean up when response ends + res.on("close", () => { + transport.close().catch(() => {}); + server.close().catch(() => {}); + }); + + try { + await server.connect(transport); + await transport.handleRequest(req, res, req.body); + } catch (error) { + console.error("MCP error:", error); + if (!res.headersSent) { + res.status(500).json({ + jsonrpc: "2.0", + error: { code: -32603, message: "Internal server error" }, + id: null, + }); + } + } + }); + + const { promise, resolve, reject } = Promise.withResolvers(); + + const httpServer = expressApp.listen(port, (err?: Error) => { + if (err) return reject(err); + console.log(`Server listening on http://localhost:${port}/mcp`); + resolve(); + }); + + const shutdown = () => { + console.log("\nShutting down..."); + httpServer.close(() => process.exit(0)); + }; + + process.on("SIGINT", shutdown); + process.on("SIGTERM", shutdown); + + return promise; +} diff --git a/examples/basic-server-svelte/svelte.config.js b/examples/basic-server-svelte/svelte.config.js new file mode 100644 index 0000000..d0e6448 --- /dev/null +++ b/examples/basic-server-svelte/svelte.config.js @@ -0,0 +1,5 @@ +import { vitePreprocess } from "@sveltejs/vite-plugin-svelte"; + +export default { + preprocess: vitePreprocess(), +}; diff --git a/examples/basic-server-svelte/tsconfig.json b/examples/basic-server-svelte/tsconfig.json new file mode 100644 index 0000000..5edb66a --- /dev/null +++ b/examples/basic-server-svelte/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "ESNext", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "module": "ESNext", + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "verbatimModuleSyntax": true, + "noEmit": true, + "strict": true, + "skipLibCheck": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src", "server.ts", "*.d.ts"] +} diff --git a/examples/basic-server-svelte/vite.config.ts b/examples/basic-server-svelte/vite.config.ts new file mode 100644 index 0000000..84fcdbd --- /dev/null +++ b/examples/basic-server-svelte/vite.config.ts @@ -0,0 +1,25 @@ +import { defineConfig } from "vite"; +import { svelte } from "@sveltejs/vite-plugin-svelte"; +import { viteSingleFile } from "vite-plugin-singlefile"; + +const INPUT = process.env.INPUT; +if (!INPUT) { + throw new Error("INPUT environment variable is not set"); +} + +const isDevelopment = process.env.NODE_ENV === "development"; + +export default defineConfig({ + plugins: [svelte(), viteSingleFile()], + build: { + sourcemap: isDevelopment ? "inline" : undefined, + cssMinify: !isDevelopment, + minify: !isDevelopment, + + rollupOptions: { + input: INPUT, + }, + outDir: "dist", + emptyOutDir: false, + }, +}); diff --git a/examples/basic-server-vue/README.md b/examples/basic-server-vue/README.md new file mode 100644 index 0000000..1f96fba --- /dev/null +++ b/examples/basic-server-vue/README.md @@ -0,0 +1,30 @@ +# Example: Basic Server (Vue) + +An MCP App example with a Vue 3 UI using the Composition API. + +> [!TIP] +> Looking for a vanilla JavaScript example? See [`basic-server-vanillajs`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-vanillajs)! + +## Overview + +- Tool registration with a linked UI resource +- Vue 3 UI using the [`App`](https://modelcontextprotocol.github.io/ext-apps/api/classes/app.App.html) class +- App communication APIs: [`callServerTool`](https://modelcontextprotocol.github.io/ext-apps/api/classes/app.App.html#callservertool), [`sendMessage`](https://modelcontextprotocol.github.io/ext-apps/api/classes/app.App.html#sendmessage), [`sendLog`](https://modelcontextprotocol.github.io/ext-apps/api/classes/app.App.html#sendlog), [`openLink`](https://modelcontextprotocol.github.io/ext-apps/api/classes/app.App.html#openlink) + +## Key Files + +- [`server.ts`](server.ts) - MCP server with tool and resource registration +- [`mcp-app.html`](mcp-app.html) / [`src/App.vue`](src/App.vue) - Vue 3 UI using `App` class + +## Getting Started + +```bash +npm install +npm run dev +``` + +## How It Works + +1. The server registers a `get-time` tool with metadata linking it to a UI HTML resource (`ui://get-time/mcp-app.html`). +2. When the tool is invoked, the Host renders the UI from the resource. +3. The UI uses the MCP App SDK API to communicate with the host and call server tools. diff --git a/examples/basic-server-vue/env.d.ts b/examples/basic-server-vue/env.d.ts new file mode 100644 index 0000000..cd39087 --- /dev/null +++ b/examples/basic-server-vue/env.d.ts @@ -0,0 +1,7 @@ +/// + +declare module "*.vue" { + import type { DefineComponent } from "vue"; + const component: DefineComponent; + export default component; +} diff --git a/examples/basic-server-vue/mcp-app.html b/examples/basic-server-vue/mcp-app.html new file mode 100644 index 0000000..6bac3c9 --- /dev/null +++ b/examples/basic-server-vue/mcp-app.html @@ -0,0 +1,14 @@ + + + + + + + Get Time App + + + +
+ + + diff --git a/examples/basic-server-vue/package.json b/examples/basic-server-vue/package.json new file mode 100644 index 0000000..d1719fc --- /dev/null +++ b/examples/basic-server-vue/package.json @@ -0,0 +1,32 @@ +{ + "name": "basic-server-vue", + "version": "1.0.0", + "private": true, + "type": "module", + "scripts": { + "build": "tsc --noEmit && cross-env INPUT=mcp-app.html vite build", + "watch": "cross-env INPUT=mcp-app.html vite build --watch", + "serve": "bun server.ts", + "start": "cross-env NODE_ENV=development npm run build && npm run serve", + "dev": "cross-env NODE_ENV=development concurrently 'npm run watch' 'npm run serve'" + }, + "dependencies": { + "@modelcontextprotocol/ext-apps": "../..", + "@modelcontextprotocol/sdk": "^1.24.0", + "vue": "^3.5.0", + "zod": "^4.1.13" + }, + "devDependencies": { + "@types/cors": "^2.8.19", + "@types/express": "^5.0.0", + "@types/node": "^22.0.0", + "@vitejs/plugin-vue": "^5.0.0", + "concurrently": "^9.2.1", + "cors": "^2.8.5", + "cross-env": "^7.0.3", + "express": "^5.1.0", + "typescript": "^5.9.3", + "vite": "^6.0.0", + "vite-plugin-singlefile": "^2.3.0" + } +} diff --git a/examples/basic-server-vue/server.ts b/examples/basic-server-vue/server.ts new file mode 100644 index 0000000..6f00912 --- /dev/null +++ b/examples/basic-server-vue/server.ts @@ -0,0 +1,58 @@ +import { registerAppResource, registerAppTool, RESOURCE_MIME_TYPE } from "@modelcontextprotocol/ext-apps/server"; +import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; +import type { CallToolResult, ReadResourceResult } from "@modelcontextprotocol/sdk/types.js"; +import fs from "node:fs/promises"; +import path from "node:path"; +import { startServer } from "./src/server-utils.js"; + +const DIST_DIR = path.join(import.meta.dirname, "dist"); + +/** + * Creates a new MCP server instance with tools and resources registered. + */ +function createServer(): McpServer { + const server = new McpServer({ + name: "Basic MCP App Server (Vue)", + version: "1.0.0", + }); + + // Two-part registration: tool + resource, tied together by the resource URI. + const resourceUri = "ui://get-time/mcp-app.html"; + + // Register a tool with UI metadata. When the host calls this tool, it reads + // `_meta.ui.resourceUri` to know which resource to fetch and render as an + // interactive UI. + registerAppTool(server, + "get-time", + { + title: "Get Time", + description: "Returns the current server time as an ISO 8601 string.", + inputSchema: {}, + _meta: { ui: { resourceUri } }, + }, + async (): Promise => { + const time = new Date().toISOString(); + return { content: [{ type: "text", text: time }] }; + }, + ); + + // Register the resource, which returns the bundled HTML/JavaScript for the UI. + registerAppResource(server, + resourceUri, + resourceUri, + { mimeType: RESOURCE_MIME_TYPE }, + async (): Promise => { + const html = await fs.readFile(path.join(DIST_DIR, "mcp-app.html"), "utf-8"); + + return { + contents: [ + { uri: resourceUri, mimeType: RESOURCE_MIME_TYPE, text: html }, + ], + }; + }, + ); + + return server; +} + +startServer(createServer); diff --git a/examples/basic-server-vue/src/App.vue b/examples/basic-server-vue/src/App.vue new file mode 100644 index 0000000..3962bb4 --- /dev/null +++ b/examples/basic-server-vue/src/App.vue @@ -0,0 +1,188 @@ + + + + + diff --git a/examples/basic-server-vue/src/global.css b/examples/basic-server-vue/src/global.css new file mode 100644 index 0000000..97cda44 --- /dev/null +++ b/examples/basic-server-vue/src/global.css @@ -0,0 +1,12 @@ +* { + box-sizing: border-box; +} + +html, body { + font-family: system-ui, -apple-system, sans-serif; + font-size: 1rem; +} + +code { + font-size: 1em; +} diff --git a/examples/basic-server-vue/src/mcp-app.ts b/examples/basic-server-vue/src/mcp-app.ts new file mode 100644 index 0000000..92a6bd5 --- /dev/null +++ b/examples/basic-server-vue/src/mcp-app.ts @@ -0,0 +1,5 @@ +import { createApp } from "vue"; +import App from "./App.vue"; +import "./global.css"; + +createApp(App).mount("#app"); diff --git a/examples/basic-server-vue/src/server-utils.ts b/examples/basic-server-vue/src/server-utils.ts new file mode 100644 index 0000000..4052423 --- /dev/null +++ b/examples/basic-server-vue/src/server-utils.ts @@ -0,0 +1,110 @@ +/** + * Shared utilities for running MCP servers with various transports. + */ + +import { createMcpExpressApp } from "@modelcontextprotocol/sdk/server/express.js"; +import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; +import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; +import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js"; +import cors from "cors"; +import type { Request, Response } from "express"; + +/** + * Starts an MCP server using the appropriate transport based on command-line arguments. + * + * If `--stdio` is passed, uses stdio transport. Otherwise, uses Streamable HTTP transport. + * + * @param createServer - Factory function that creates a new McpServer instance. + */ +export async function startServer( + createServer: () => McpServer, +): Promise { + try { + if (process.argv.includes("--stdio")) { + await startStdioServer(createServer); + } else { + await startStreamableHttpServer(createServer); + } + } catch (e) { + console.error(e); + process.exit(1); + } +} + +/** + * Starts an MCP server with stdio transport. + * + * @param createServer - Factory function that creates a new McpServer instance. + */ +export async function startStdioServer( + createServer: () => McpServer, +): Promise { + await createServer().connect(new StdioServerTransport()); +} + +/** + * Starts an MCP server with Streamable HTTP transport in stateless mode. + * + * Each request creates a fresh server and transport instance, which are + * closed when the response ends (no session tracking). + * + * The server listens on the port specified by the PORT environment variable, + * defaulting to 3001 if not set. + * + * @param createServer - Factory function that creates a new McpServer instance per request. + */ +export async function startStreamableHttpServer( + createServer: () => McpServer, +): Promise { + const port = parseInt(process.env.PORT ?? "3001", 10); + + // Express app - bind to all interfaces for development/testing + const expressApp = createMcpExpressApp({ host: "0.0.0.0" }); + expressApp.use(cors()); + + expressApp.all("/mcp", async (req: Request, res: Response) => { + // Create fresh server and transport for each request (stateless mode) + const server = createServer(); + const transport = new StreamableHTTPServerTransport({ + sessionIdGenerator: undefined, + }); + + // Clean up when response ends + res.on("close", () => { + transport.close().catch(() => {}); + server.close().catch(() => {}); + }); + + try { + await server.connect(transport); + await transport.handleRequest(req, res, req.body); + } catch (error) { + console.error("MCP error:", error); + if (!res.headersSent) { + res.status(500).json({ + jsonrpc: "2.0", + error: { code: -32603, message: "Internal server error" }, + id: null, + }); + } + } + }); + + const { promise, resolve, reject } = Promise.withResolvers(); + + const httpServer = expressApp.listen(port, (err?: Error) => { + if (err) return reject(err); + console.log(`Server listening on http://localhost:${port}/mcp`); + resolve(); + }); + + const shutdown = () => { + console.log("\nShutting down..."); + httpServer.close(() => process.exit(0)); + }; + + process.on("SIGINT", shutdown); + process.on("SIGTERM", shutdown); + + return promise; +} diff --git a/examples/basic-server-vue/tsconfig.json b/examples/basic-server-vue/tsconfig.json new file mode 100644 index 0000000..5edb66a --- /dev/null +++ b/examples/basic-server-vue/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "ESNext", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "module": "ESNext", + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "verbatimModuleSyntax": true, + "noEmit": true, + "strict": true, + "skipLibCheck": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src", "server.ts", "*.d.ts"] +} diff --git a/examples/basic-server-vue/vite.config.ts b/examples/basic-server-vue/vite.config.ts new file mode 100644 index 0000000..8baddce --- /dev/null +++ b/examples/basic-server-vue/vite.config.ts @@ -0,0 +1,25 @@ +import { defineConfig } from "vite"; +import vue from "@vitejs/plugin-vue"; +import { viteSingleFile } from "vite-plugin-singlefile"; + +const INPUT = process.env.INPUT; +if (!INPUT) { + throw new Error("INPUT environment variable is not set"); +} + +const isDevelopment = process.env.NODE_ENV === "development"; + +export default defineConfig({ + plugins: [vue(), viteSingleFile()], + build: { + sourcemap: isDevelopment ? "inline" : undefined, + cssMinify: !isDevelopment, + minify: !isDevelopment, + + rollupOptions: { + input: INPUT, + }, + outDir: "dist", + emptyOutDir: false, + }, +}); diff --git a/package-lock.json b/package-lock.json index 6cbf63c..467deeb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -95,8 +95,6 @@ }, "examples/basic-host/node_modules/@types/node": { "version": "22.19.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.1.tgz", - "integrity": "sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -104,6 +102,62 @@ } }, "examples/basic-host/node_modules/undici-types": { + "version": "6.21.0", + "dev": true, + "license": "MIT" + }, + "examples/basic-server-preact": { + "version": "1.0.0", + "dependencies": { + "@modelcontextprotocol/ext-apps": "../..", + "@modelcontextprotocol/sdk": "^1.24.0", + "preact": "^10.0.0", + "zod": "^4.1.13" + }, + "devDependencies": { + "@preact/preset-vite": "^2.0.0", + "@types/cors": "^2.8.19", + "@types/express": "^5.0.0", + "@types/node": "^22.0.0", + "concurrently": "^9.2.1", + "cors": "^2.8.5", + "cross-env": "^7.0.3", + "express": "^5.1.0", + "typescript": "^5.9.3", + "vite": "^6.0.0", + "vite-plugin-singlefile": "^2.3.0" + } + }, + "examples/basic-server-preact/node_modules/@types/node": { + "version": "22.19.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.3.tgz", + "integrity": "sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/basic-server-preact/node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "examples/basic-server-preact/node_modules/undici-types": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", @@ -136,8 +190,6 @@ }, "examples/basic-server-react/node_modules/@types/node": { "version": "22.19.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.1.tgz", - "integrity": "sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -145,6 +197,100 @@ } }, "examples/basic-server-react/node_modules/undici-types": { + "version": "6.21.0", + "dev": true, + "license": "MIT" + }, + "examples/basic-server-solid": { + "version": "1.0.0", + "dependencies": { + "@modelcontextprotocol/ext-apps": "../..", + "@modelcontextprotocol/sdk": "^1.24.0", + "solid-js": "^1.9.0", + "zod": "^4.1.13" + }, + "devDependencies": { + "@types/cors": "^2.8.19", + "@types/express": "^5.0.0", + "@types/node": "^22.0.0", + "concurrently": "^9.2.1", + "cors": "^2.8.5", + "cross-env": "^7.0.3", + "express": "^5.1.0", + "typescript": "^5.9.3", + "vite": "^6.0.0", + "vite-plugin-singlefile": "^2.3.0", + "vite-plugin-solid": "^2.0.0" + } + }, + "examples/basic-server-solid/node_modules/@types/node": { + "version": "22.19.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.3.tgz", + "integrity": "sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/basic-server-solid/node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "examples/basic-server-solid/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "examples/basic-server-svelte": { + "version": "1.0.0", + "dependencies": { + "@modelcontextprotocol/ext-apps": "../..", + "@modelcontextprotocol/sdk": "^1.24.0", + "svelte": "^5.0.0", + "zod": "^4.1.13" + }, + "devDependencies": { + "@sveltejs/vite-plugin-svelte": "^5.0.0", + "@types/cors": "^2.8.19", + "@types/express": "^5.0.0", + "@types/node": "^22.0.0", + "concurrently": "^9.2.1", + "cors": "^2.8.5", + "express": "^5.1.0", + "typescript": "^5.9.3", + "vite": "^6.0.0", + "vite-plugin-singlefile": "^2.3.0" + } + }, + "examples/basic-server-svelte/node_modules/@types/node": { + "version": "22.19.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.3.tgz", + "integrity": "sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/basic-server-svelte/node_modules/undici-types": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", @@ -172,8 +318,6 @@ }, "examples/basic-server-vanillajs/node_modules/@types/node": { "version": "22.19.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.1.tgz", - "integrity": "sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -181,6 +325,62 @@ } }, "examples/basic-server-vanillajs/node_modules/undici-types": { + "version": "6.21.0", + "dev": true, + "license": "MIT" + }, + "examples/basic-server-vue": { + "version": "1.0.0", + "dependencies": { + "@modelcontextprotocol/ext-apps": "../..", + "@modelcontextprotocol/sdk": "^1.24.0", + "vue": "^3.5.0", + "zod": "^4.1.13" + }, + "devDependencies": { + "@types/cors": "^2.8.19", + "@types/express": "^5.0.0", + "@types/node": "^22.0.0", + "@vitejs/plugin-vue": "^5.0.0", + "concurrently": "^9.2.1", + "cors": "^2.8.5", + "cross-env": "^7.0.3", + "express": "^5.1.0", + "typescript": "^5.9.3", + "vite": "^6.0.0", + "vite-plugin-singlefile": "^2.3.0" + } + }, + "examples/basic-server-vue/node_modules/@types/node": { + "version": "22.19.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.3.tgz", + "integrity": "sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/basic-server-vue/node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "examples/basic-server-vue/node_modules/undici-types": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", @@ -209,8 +409,6 @@ }, "examples/budget-allocator-server/node_modules/@types/node": { "version": "22.19.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.1.tgz", - "integrity": "sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -219,8 +417,6 @@ }, "examples/budget-allocator-server/node_modules/undici-types": { "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, @@ -250,8 +446,6 @@ }, "examples/cohort-heatmap-server/node_modules/@types/node": { "version": "22.19.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.1.tgz", - "integrity": "sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -260,8 +454,6 @@ }, "examples/cohort-heatmap-server/node_modules/undici-types": { "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, @@ -287,8 +479,6 @@ }, "examples/customer-segmentation-server/node_modules/@types/node": { "version": "22.19.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.1.tgz", - "integrity": "sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -297,8 +487,6 @@ }, "examples/customer-segmentation-server/node_modules/undici-types": { "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, @@ -328,8 +516,6 @@ }, "examples/integration-server/node_modules/@types/node": { "version": "22.19.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.3.tgz", - "integrity": "sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==", "dev": true, "license": "MIT", "dependencies": { @@ -338,8 +524,6 @@ }, "examples/integration-server/node_modules/undici-types": { "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, @@ -370,8 +554,6 @@ }, "examples/scenario-modeler-server/node_modules/@types/node": { "version": "22.19.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.1.tgz", - "integrity": "sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -380,8 +562,6 @@ }, "examples/scenario-modeler-server/node_modules/undici-types": { "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, @@ -465,8 +645,6 @@ }, "examples/system-monitor-server/node_modules/@types/node": { "version": "22.19.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.1.tgz", - "integrity": "sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -475,8 +653,6 @@ }, "examples/system-monitor-server/node_modules/undici-types": { "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, @@ -508,8 +684,6 @@ }, "examples/threejs-server/node_modules/@types/node": { "version": "22.19.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.1.tgz", - "integrity": "sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -518,8 +692,6 @@ }, "examples/threejs-server/node_modules/undici-types": { "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, @@ -610,15 +782,11 @@ }, "examples/wiki-explorer-server/node_modules/undici-types": { "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, "node_modules/@babel/code-frame": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, "license": "MIT", "dependencies": { @@ -632,8 +800,6 @@ }, "node_modules/@babel/compat-data": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", - "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", "dev": true, "license": "MIT", "engines": { @@ -642,8 +808,6 @@ }, "node_modules/@babel/core": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, "license": "MIT", "peer": true, @@ -674,8 +838,6 @@ }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "license": "ISC", "bin": { @@ -684,8 +846,6 @@ }, "node_modules/@babel/generator": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", - "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", "dev": true, "license": "MIT", "dependencies": { @@ -699,10 +859,21 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-compilation-targets": { "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dev": true, "license": "MIT", "dependencies": { @@ -718,8 +889,6 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "license": "ISC", "bin": { @@ -728,8 +897,6 @@ }, "node_modules/@babel/helper-globals": { "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", "dev": true, "license": "MIT", "engines": { @@ -738,8 +905,6 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "dev": true, "license": "MIT", "dependencies": { @@ -752,8 +917,6 @@ }, "node_modules/@babel/helper-module-transforms": { "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", "dev": true, "license": "MIT", "dependencies": { @@ -770,8 +933,6 @@ }, "node_modules/@babel/helper-plugin-utils": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", "dev": true, "license": "MIT", "engines": { @@ -780,9 +941,6 @@ }, "node_modules/@babel/helper-string-parser": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -790,9 +948,6 @@ }, "node_modules/@babel/helper-validator-identifier": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -800,8 +955,6 @@ }, "node_modules/@babel/helper-validator-option": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, "license": "MIT", "engines": { @@ -810,8 +963,6 @@ }, "node_modules/@babel/helpers": { "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", "dev": true, "license": "MIT", "dependencies": { @@ -824,9 +975,6 @@ }, "node_modules/@babel/parser": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", - "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", - "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.28.5" @@ -838,10 +986,60 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", + "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-react-jsx-self": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", - "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", "dev": true, "license": "MIT", "dependencies": { @@ -856,8 +1054,6 @@ }, "node_modules/@babel/plugin-transform-react-jsx-source": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", - "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", "dev": true, "license": "MIT", "dependencies": { @@ -872,8 +1068,6 @@ }, "node_modules/@babel/template": { "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dev": true, "license": "MIT", "dependencies": { @@ -887,8 +1081,6 @@ }, "node_modules/@babel/traverse": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", - "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", "dev": true, "license": "MIT", "dependencies": { @@ -906,9 +1098,6 @@ }, "node_modules/@babel/types": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", - "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", @@ -920,8 +1109,6 @@ }, "node_modules/@clack/core": { "version": "1.0.0-alpha.4", - "resolved": "https://registry.npmjs.org/@clack/core/-/core-1.0.0-alpha.4.tgz", - "integrity": "sha512-VCtU+vjyKPMSakVrB9q1bOnXN7QW/w4+YQDQCOF59GrzydW+169i0fVx/qzRRXJgt8KGj/pZZ/JxXroFZIDByg==", "dev": true, "license": "MIT", "dependencies": { @@ -931,8 +1118,6 @@ }, "node_modules/@clack/prompts": { "version": "1.0.0-alpha.4", - "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-1.0.0-alpha.4.tgz", - "integrity": "sha512-KnmtDF2xQGoI5AlBme9akHtvCRV0RKAARUXHBQO2tMwnY8B08/4zPWigT7uLK25UPrMCEqnyQPkKRjNdhPbf8g==", "dev": true, "license": "MIT", "dependencies": { @@ -943,15 +1128,11 @@ }, "node_modules/@dimforge/rapier3d-compat": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@dimforge/rapier3d-compat/-/rapier3d-compat-0.12.0.tgz", - "integrity": "sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==", "dev": true, "license": "Apache-2.0" }, "node_modules/@epic-web/invariant": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@epic-web/invariant/-/invariant-1.0.0.tgz", - "integrity": "sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==", "dev": true, "license": "MIT" }, @@ -1229,8 +1410,6 @@ }, "node_modules/@esbuild/linux-x64": { "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", "cpu": [ "x64" ], @@ -1399,8 +1578,6 @@ }, "node_modules/@gerrit0/mini-shiki": { "version": "3.19.0", - "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.19.0.tgz", - "integrity": "sha512-ZSlWfLvr8Nl0T4iA3FF/8VH8HivYF82xQts2DY0tJxZd4wtXJ8AA0nmdW9lmO4hlrh3f9xNwEPtOgqETPqKwDA==", "dev": true, "license": "MIT", "dependencies": { @@ -1413,9 +1590,6 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", @@ -1424,9 +1598,6 @@ }, "node_modules/@jridgewell/remapping": { "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -1435,9 +1606,6 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -1445,16 +1613,10 @@ }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -1463,8 +1625,6 @@ }, "node_modules/@kurkle/color": { "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", - "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", "license": "MIT" }, "node_modules/@modelcontextprotocol/ext-apps": { @@ -1477,8 +1637,6 @@ }, "node_modules/@modelcontextprotocol/sdk": { "version": "1.24.3", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.24.3.tgz", - "integrity": "sha512-YgSHW29fuzKKAHTGe9zjNoo+yF8KaQPzDC2W9Pv41E7/57IfY+AMGJ/aDFlgTLcVVELoggKE4syABCE75u3NCw==", "license": "MIT", "dependencies": { "ajv": "^8.17.1", @@ -1514,8 +1672,6 @@ }, "node_modules/@oclif/core": { "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-4.8.0.tgz", - "integrity": "sha512-jteNUQKgJHLHFbbz806aGZqf+RJJ7t4gwF4MYa8fCwCxQ8/klJNWc0MvaJiBebk7Mc+J39mdlsB4XraaCKznFw==", "dev": true, "license": "MIT", "dependencies": { @@ -1544,8 +1700,6 @@ }, "node_modules/@oclif/core/node_modules/brace-expansion": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1554,8 +1708,6 @@ }, "node_modules/@oclif/core/node_modules/minimatch": { "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "license": "ISC", "dependencies": { @@ -1635,8 +1787,6 @@ }, "node_modules/@oven/bun-linux-x64": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@oven/bun-linux-x64/-/bun-linux-x64-1.3.5.tgz", - "integrity": "sha512-n7zhKTSDZS0yOYg5Rq8easZu5Y/o47sv0c7yGr2ciFdcie9uYV55fZ7QMqhWMGK33ezCSikh5EDkUMCIvfWpjA==", "cpu": [ "x64" ], @@ -1648,8 +1798,6 @@ }, "node_modules/@oven/bun-linux-x64-baseline": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@oven/bun-linux-x64-baseline/-/bun-linux-x64-baseline-1.3.5.tgz", - "integrity": "sha512-FeCQyBU62DMuB0nn01vPnf3McXrKOsrK9p7sHaBFYycw0mmoU8kCq/WkBkGMnLuvQljJSyen8QBTx+fXdNupWg==", "cpu": [ "x64" ], @@ -1661,8 +1809,6 @@ }, "node_modules/@oven/bun-linux-x64-musl": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@oven/bun-linux-x64-musl/-/bun-linux-x64-musl-1.3.5.tgz", - "integrity": "sha512-XkCCHkByYn8BIDvoxnny898znju4xnW2kvFE8FT5+0Y62cWdcBGMZ9RdsEUTeRz16k8hHtJpaSfLcEmNTFIwRQ==", "cpu": [ "x64" ], @@ -1674,8 +1820,6 @@ }, "node_modules/@oven/bun-linux-x64-musl-baseline": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@oven/bun-linux-x64-musl-baseline/-/bun-linux-x64-musl-baseline-1.3.5.tgz", - "integrity": "sha512-TJiYC7KCr0XxFTsxgwQOeE7dncrEL/RSyL0EzSL3xRkrxJMWBCvCSjQn7LV1i6T7hFst0+3KoN3VWvD5BinqHA==", "cpu": [ "x64" ], @@ -1713,8 +1857,6 @@ }, "node_modules/@playwright/test": { "version": "1.57.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.57.0.tgz", - "integrity": "sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1727,10 +1869,92 @@ "node": ">=18" } }, + "node_modules/@preact/preset-vite": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@preact/preset-vite/-/preset-vite-2.10.2.tgz", + "integrity": "sha512-K9wHlJOtkE+cGqlyQ5v9kL3Ge0Ql4LlIZjkUTL+1zf3nNdF88F9UZN6VTV8jdzBX9Fl7WSzeNMSDG7qECPmSmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@prefresh/vite": "^2.4.1", + "@rollup/pluginutils": "^4.1.1", + "babel-plugin-transform-hook-names": "^1.0.2", + "debug": "^4.3.4", + "picocolors": "^1.1.1", + "vite-prerender-plugin": "^0.5.3" + }, + "peerDependencies": { + "@babel/core": "7.x", + "vite": "2.x || 3.x || 4.x || 5.x || 6.x || 7.x" + } + }, + "node_modules/@prefresh/babel-plugin": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@prefresh/babel-plugin/-/babel-plugin-0.5.2.tgz", + "integrity": "sha512-AOl4HG6dAxWkJ5ndPHBgBa49oo/9bOiJuRDKHLSTyH+Fd9x00shTXpdiTj1W41l6oQIwUOAgJeHMn4QwIDpHkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@prefresh/core": { + "version": "1.5.9", + "resolved": "https://registry.npmjs.org/@prefresh/core/-/core-1.5.9.tgz", + "integrity": "sha512-IKBKCPaz34OFVC+adiQ2qaTF5qdztO2/4ZPf4KsRTgjKosWqxVXmEbxCiUydYZRY8GVie+DQlKzQr9gt6HQ+EQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "preact": "^10.0.0 || ^11.0.0-0" + } + }, + "node_modules/@prefresh/utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@prefresh/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-vq/sIuN5nYfYzvyayXI4C2QkprfNaHUQ9ZX+3xLD8nL3rWyzpxOm1+K7RtMbhd+66QcaISViK7amjnheQ/4WZw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@prefresh/vite": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/@prefresh/vite/-/vite-2.4.11.tgz", + "integrity": "sha512-/XjURQqdRiCG3NpMmWqE9kJwrg9IchIOWHzulCfqg2sRe/8oQ1g5De7xrk9lbqPIQLn7ntBkKdqWXIj4E9YXyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.22.1", + "@prefresh/babel-plugin": "0.5.2", + "@prefresh/core": "^1.5.0", + "@prefresh/utils": "^1.2.0", + "@rollup/pluginutils": "^4.2.1" + }, + "peerDependencies": { + "preact": "^10.4.0 || ^11.0.0-0", + "vite": ">=2.0.0" + } + }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", - "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true, "license": "MIT" }, @@ -1763,9 +1987,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", - "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.5.tgz", + "integrity": "sha512-S87zZPBmRO6u1YXQLwpveZm4JfPpAa6oHBX7/ghSiGH3rz/KDgAu1rKdGutV+WUI6tKDMbaBJomhnT30Y2t4VQ==", "cpu": [ "arm64" ], @@ -1776,9 +2000,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", - "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.5.tgz", + "integrity": "sha512-YTbnsAaHo6VrAczISxgpTva8EkfQus0VPEVJCEaboHtZRIb6h6j0BNxRBOwnDciFTZLDPW5r+ZBmhL/+YpTZgA==", "cpu": [ "x64" ], @@ -1845,9 +2069,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", - "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.5.tgz", + "integrity": "sha512-Y+qVA0D9d0y2FRNiG9oM3Hut/DgODZbU9I8pLLPwAsU0tUKZ49cyV1tzmB/qRbSzGvY8lpgGkJuMyuhH7Ma+Vg==", "cpu": [ "arm64" ], @@ -1943,8 +2167,6 @@ }, "node_modules/@rollup/rollup-linux-x64-gnu": { "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", - "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", "cpu": [ "x64" ], @@ -2025,9 +2247,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", - "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.5.tgz", + "integrity": "sha512-JRpZUhCfhZ4keB5v0fe02gQJy05GqboPOaxvjugW04RLSYYoB/9t2lx2u/tMs/Na/1NXfY8QYjgRljRpN+MjTQ==", "cpu": [ "x64" ], @@ -2039,8 +2261,6 @@ }, "node_modules/@shikijs/engine-oniguruma": { "version": "3.19.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.19.0.tgz", - "integrity": "sha512-1hRxtYIJfJSZeM5ivbUXv9hcJP3PWRo5prG/V2sWwiubUKTa+7P62d2qxCW8jiVFX4pgRHhnHNp+qeR7Xl+6kg==", "dev": true, "license": "MIT", "dependencies": { @@ -2050,8 +2270,6 @@ }, "node_modules/@shikijs/langs": { "version": "3.19.0", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.19.0.tgz", - "integrity": "sha512-dBMFzzg1QiXqCVQ5ONc0z2ebyoi5BKz+MtfByLm0o5/nbUu3Iz8uaTCa5uzGiscQKm7lVShfZHU1+OG3t5hgwg==", "dev": true, "license": "MIT", "dependencies": { @@ -2060,8 +2278,6 @@ }, "node_modules/@shikijs/themes": { "version": "3.19.0", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.19.0.tgz", - "integrity": "sha512-H36qw+oh91Y0s6OlFfdSuQ0Ld+5CgB/VE6gNPK+Hk4VRbVG/XQgkjnt4KzfnnoO6tZPtKJKHPjwebOCfjd6F8A==", "dev": true, "license": "MIT", "dependencies": { @@ -2070,8 +2286,6 @@ }, "node_modules/@shikijs/types": { "version": "3.19.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.19.0.tgz", - "integrity": "sha512-Z2hdeEQlzuntf/BZpFG8a+Fsw9UVXdML7w0o3TgSXV3yNESGon+bs9ITkQb3Ki7zxoXOOu5oJWqZ2uto06V9iQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2081,22 +2295,66 @@ }, "node_modules/@shikijs/vscode-textmate": { "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", - "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", "dev": true, "license": "MIT" }, + "node_modules/@sveltejs/acorn-typescript": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.8.tgz", + "integrity": "sha512-esgN+54+q0NjB0Y/4BomT9samII7jGwNy/2a3wNZbT2A2RpmXsXwUt24LvLhx6jUq2gVk4cWEvcRO6MFQbOfNA==", + "license": "MIT", + "peerDependencies": { + "acorn": "^8.9.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-5.1.1.tgz", + "integrity": "sha512-Y1Cs7hhTc+a5E9Va/xwKlAJoariQyHY+5zBgCZg4PFWNYQ1nMN9sjK1zhw1gK69DuqVP++sht/1GZg1aRwmAXQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@sveltejs/vite-plugin-svelte-inspector": "^4.0.1", + "debug": "^4.4.1", + "deepmerge": "^4.3.1", + "kleur": "^4.1.5", + "magic-string": "^0.30.17", + "vitefu": "^1.0.6" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22" + }, + "peerDependencies": { + "svelte": "^5.0.0", + "vite": "^6.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-4.0.1.tgz", + "integrity": "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.7" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^5.0.0", + "svelte": "^5.0.0", + "vite": "^6.0.0" + } + }, "node_modules/@tweenjs/tween.js": { "version": "23.1.3", - "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", - "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", "dev": true, "license": "MIT" }, "node_modules/@types/babel__core": { "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "license": "MIT", "dependencies": { @@ -2109,8 +2367,6 @@ }, "node_modules/@types/babel__generator": { "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", "dev": true, "license": "MIT", "dependencies": { @@ -2119,8 +2375,6 @@ }, "node_modules/@types/babel__template": { "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, "license": "MIT", "dependencies": { @@ -2130,8 +2384,6 @@ }, "node_modules/@types/babel__traverse": { "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", "dev": true, "license": "MIT", "dependencies": { @@ -2140,8 +2392,6 @@ }, "node_modules/@types/body-parser": { "version": "1.19.6", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", - "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", "dev": true, "license": "MIT", "dependencies": { @@ -2151,8 +2401,6 @@ }, "node_modules/@types/bun": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.3.3.tgz", - "integrity": "sha512-ogrKbJ2X5N0kWLLFKeytG0eHDleBYtngtlbu9cyBKFtNL3cnpDZkNdQj8flVf6WTZUX5ulI9AY1oa7ljhSrp+g==", "dev": true, "license": "MIT", "dependencies": { @@ -2161,8 +2409,6 @@ }, "node_modules/@types/chai": { "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", - "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", "dev": true, "license": "MIT", "dependencies": { @@ -2172,8 +2418,6 @@ }, "node_modules/@types/connect": { "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dev": true, "license": "MIT", "dependencies": { @@ -2182,8 +2426,6 @@ }, "node_modules/@types/cors": { "version": "2.8.19", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", - "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", "dev": true, "license": "MIT", "dependencies": { @@ -2192,22 +2434,15 @@ }, "node_modules/@types/deep-eql": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", "dev": true, "license": "MIT" }, "node_modules/@types/estree": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, "license": "MIT" }, "node_modules/@types/express": { "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz", - "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", "dev": true, "license": "MIT", "dependencies": { @@ -2218,8 +2453,6 @@ }, "node_modules/@types/express-serve-static-core": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.0.tgz", - "integrity": "sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA==", "dev": true, "license": "MIT", "dependencies": { @@ -2231,8 +2464,6 @@ }, "node_modules/@types/hast": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2241,15 +2472,11 @@ }, "node_modules/@types/http-errors": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", - "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", "dev": true, "license": "MIT" }, "node_modules/@types/node": { "version": "24.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", - "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", "dev": true, "license": "MIT", "peer": true, @@ -2259,22 +2486,16 @@ }, "node_modules/@types/qs": { "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", "dev": true, "license": "MIT" }, "node_modules/@types/range-parser": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", "dev": true, "license": "MIT" }, "node_modules/@types/react": { "version": "19.2.7", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", - "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", "dev": true, "license": "MIT", "peer": true, @@ -2284,8 +2505,6 @@ }, "node_modules/@types/react-dom": { "version": "19.2.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", "dev": true, "license": "MIT", "peerDependencies": { @@ -2294,8 +2513,6 @@ }, "node_modules/@types/send": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", - "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2304,8 +2521,6 @@ }, "node_modules/@types/serve-static": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz", - "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2315,15 +2530,11 @@ }, "node_modules/@types/stats.js": { "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.4.tgz", - "integrity": "sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==", "dev": true, "license": "MIT" }, "node_modules/@types/three": { "version": "0.181.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.181.0.tgz", - "integrity": "sha512-MLF1ks8yRM2k71D7RprFpDb9DOX0p22DbdPqT/uAkc6AtQXjxWCVDjCy23G9t1o8HcQPk7woD2NIyiaWcWPYmA==", "dev": true, "license": "MIT", "dependencies": { @@ -2338,22 +2549,16 @@ }, "node_modules/@types/unist": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", "dev": true, "license": "MIT" }, "node_modules/@types/webxr": { "version": "0.5.24", - "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.24.tgz", - "integrity": "sha512-h8fgEd/DpoS9CBrjEQXR+dIDraopAEfu4wYVNY2tEPwk60stPWhvZMf4Foo5FakuQ7HFZoa8WceaWFervK2Ovg==", "dev": true, "license": "MIT" }, "node_modules/@typescript/vfs": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/@typescript/vfs/-/vfs-1.6.2.tgz", - "integrity": "sha512-hoBwJwcbKHmvd2QVebiytN1aELvpk9B74B4L1mFm/XT1Q/VOYAWl2vQ9AWRFtQq8zmz6enTpfTV8WRc4ATjW/g==", "dev": true, "license": "MIT", "dependencies": { @@ -2365,8 +2570,6 @@ }, "node_modules/@vitejs/plugin-react": { "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", - "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", "dev": true, "license": "MIT", "dependencies": { @@ -2384,10 +2587,22 @@ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", + "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, "node_modules/@vitest/expect": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", - "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", "dev": true, "license": "MIT", "dependencies": { @@ -2403,8 +2618,6 @@ }, "node_modules/@vitest/mocker": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", - "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2430,8 +2643,6 @@ }, "node_modules/@vitest/pretty-format": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", - "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", "dev": true, "license": "MIT", "dependencies": { @@ -2443,8 +2654,6 @@ }, "node_modules/@vitest/runner": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", - "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2458,8 +2667,6 @@ }, "node_modules/@vitest/snapshot": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", - "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2473,8 +2680,6 @@ }, "node_modules/@vitest/spy": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", - "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", "dev": true, "license": "MIT", "dependencies": { @@ -2486,8 +2691,6 @@ }, "node_modules/@vitest/utils": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", - "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", "dev": true, "license": "MIT", "dependencies": { @@ -2499,10 +2702,132 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/@vue/compiler-core": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.26.tgz", + "integrity": "sha512-vXyI5GMfuoBCnv5ucIT7jhHKl55Y477yxP6fc4eUswjP8FG3FFVFd41eNDArR+Uk3QKn2Z85NavjaxLxOC19/w==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/shared": "3.5.26", + "entities": "^7.0.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-core/node_modules/entities": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.0.tgz", + "integrity": "sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@vue/compiler-core/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.26.tgz", + "integrity": "sha512-y1Tcd3eXs834QjswshSilCBnKGeQjQXB6PqFn/1nxcQw4pmG42G8lwz+FZPAZAby6gZeHSt/8LMPfZ4Rb+Bd/A==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.26", + "@vue/shared": "3.5.26" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.26.tgz", + "integrity": "sha512-egp69qDTSEZcf4bGOSsprUr4xI73wfrY5oRs6GSgXFTiHrWj4Y3X5Ydtip9QMqiCMCPVwLglB9GBxXtTadJ3mA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/compiler-core": "3.5.26", + "@vue/compiler-dom": "3.5.26", + "@vue/compiler-ssr": "3.5.26", + "@vue/shared": "3.5.26", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.26.tgz", + "integrity": "sha512-lZT9/Y0nSIRUPVvapFJEVDbEXruZh2IYHMk2zTtEgJSlP5gVOqeWXH54xDKAaFS4rTnDeDBQUYDtxKyoW9FwDw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.26", + "@vue/shared": "3.5.26" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.26.tgz", + "integrity": "sha512-9EnYB1/DIiUYYnzlnUBgwU32NNvLp/nhxLXeWRhHUEeWNTn1ECxX8aGO7RTXeX6PPcxe3LLuNBFoJbV4QZ+CFQ==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.26" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.26.tgz", + "integrity": "sha512-xJWM9KH1kd201w5DvMDOwDHYhrdPTrAatn56oB/LRG4plEQeZRQLw0Bpwih9KYoqmzaxF0OKSn6swzYi84e1/Q==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.26", + "@vue/shared": "3.5.26" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.26.tgz", + "integrity": "sha512-XLLd/+4sPC2ZkN/6+V4O4gjJu6kSDbHAChvsyWgm1oGbdSO3efvGYnm25yCjtFm/K7rrSDvSfPDgN1pHgS4VNQ==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.26", + "@vue/runtime-core": "3.5.26", + "@vue/shared": "3.5.26", + "csstype": "^3.2.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.26.tgz", + "integrity": "sha512-TYKLXmrwWKSodyVuO1WAubucd+1XlLg4set0YoV+Hu8Lo79mp/YMwWV5mC5FgtsDxX3qo1ONrxFaTP1OQgy1uA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.26", + "@vue/shared": "3.5.26" + }, + "peerDependencies": { + "vue": "3.5.26" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.26.tgz", + "integrity": "sha512-7Z6/y3uFI5PRoKeorTOSXKcDj0MSasfNNltcslbFrPpcw6aXRUALq4IfJlaTRspiWIUOEZbrpM+iQGmCOiWe4A==", + "license": "MIT" + }, "node_modules/@webgpu/types": { "version": "0.1.67", - "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.67.tgz", - "integrity": "sha512-uk53+2ECGUkWoDFez/hymwpRfdgdIn6y1ref70fEecGMe5607f4sozNFgBk0oxlr7j2CRGWBEc3IBYMmFdGGTQ==", "dev": true, "license": "BSD-3-Clause" }, @@ -2518,8 +2843,6 @@ }, "node_modules/accepts": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", "license": "MIT", "dependencies": { "mime-types": "^3.0.0", @@ -2531,18 +2854,27 @@ }, "node_modules/accessor-fn": { "version": "1.5.3", - "resolved": "https://registry.npmjs.org/accessor-fn/-/accessor-fn-1.5.3.tgz", - "integrity": "sha512-rkAofCwe/FvYFUlMB0v0gWmhqtfAtV1IUkdPbfhTUyYniu5LrC0A0UJkTH0Jv3S8SvwkmfuAlY+mQIJATdocMA==", "dev": true, "license": "MIT", "engines": { "node": ">=12" } }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/ajv": { "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -2557,8 +2889,6 @@ }, "node_modules/ajv-formats": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", "license": "MIT", "dependencies": { "ajv": "^8.0.0" @@ -2574,8 +2904,6 @@ }, "node_modules/ansi-escapes": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2590,8 +2918,6 @@ }, "node_modules/ansi-regex": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, "license": "MIT", "engines": { @@ -2603,8 +2929,6 @@ }, "node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -2619,8 +2943,6 @@ }, "node_modules/ansis": { "version": "3.17.0", - "resolved": "https://registry.npmjs.org/ansis/-/ansis-3.17.0.tgz", - "integrity": "sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==", "dev": true, "license": "ISC", "engines": { @@ -2629,8 +2951,6 @@ }, "node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "license": "ISC", "dependencies": { @@ -2643,15 +2963,20 @@ }, "node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true, "license": "Python-2.0" }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/assertion-error": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, "license": "MIT", "engines": { @@ -2660,40 +2985,116 @@ }, "node_modules/async": { "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "dev": true, "license": "MIT" }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/babel-plugin-jsx-dom-expressions": { + "version": "0.40.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jsx-dom-expressions/-/babel-plugin-jsx-dom-expressions-0.40.3.tgz", + "integrity": "sha512-5HOwwt0BYiv/zxl7j8Pf2bGL6rDXfV6nUhLs8ygBX+EFJXzBPHM/euj9j/6deMZ6wa52Wb2PBaAV5U/jKwIY1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "7.18.6", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.20.7", + "html-entities": "2.3.3", + "parse5": "^7.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.20.12" + } + }, + "node_modules/babel-plugin-jsx-dom-expressions/node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/babel-plugin-transform-hook-names": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-hook-names/-/babel-plugin-transform-hook-names-1.0.2.tgz", + "integrity": "sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@babel/core": "^7.12.10" + } + }, + "node_modules/babel-preset-solid": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/babel-preset-solid/-/babel-preset-solid-1.9.10.tgz", + "integrity": "sha512-HCelrgua/Y+kqO8RyL04JBWS/cVdrtUv/h45GntgQY+cJl4eBcKkCDV3TdMjtKx1nXwRaR9QXslM/Npm1dxdZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jsx-dom-expressions": "^0.40.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "solid-js": "^1.9.10" + }, + "peerDependenciesMeta": { + "solid-js": { + "optional": true + } + } + }, "node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true, "license": "MIT" }, "node_modules/baseline-browser-mapping": { "version": "2.9.4", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.4.tgz", - "integrity": "sha512-ZCQ9GEWl73BVm8bu5Fts8nt7MHdbt5vY9bP6WGnUh+r3l8M7CgfyTlwsgCbMC66BNxPr6Xoce3j66Ms5YUQTNA==", "dev": true, "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.js" } }, + "node_modules/basic-server-preact": { + "resolved": "examples/basic-server-preact", + "link": true + }, "node_modules/basic-server-react": { "resolved": "examples/basic-server-react", "link": true }, + "node_modules/basic-server-solid": { + "resolved": "examples/basic-server-solid", + "link": true + }, + "node_modules/basic-server-svelte": { + "resolved": "examples/basic-server-svelte", + "link": true + }, "node_modules/basic-server-vanillajs": { "resolved": "examples/basic-server-vanillajs", "link": true }, + "node_modules/basic-server-vue": { + "resolved": "examples/basic-server-vue", + "link": true + }, "node_modules/bezier-js": { "version": "6.1.4", - "resolved": "https://registry.npmjs.org/bezier-js/-/bezier-js-6.1.4.tgz", - "integrity": "sha512-PA0FW9ZpcHbojUCMu28z9Vg/fNkwTj5YhusSAjHHDfHDGLxJ6YUKrAN2vk1fP2MMOxVw4Oko16FMlRGVBGqLKg==", "dev": true, "license": "MIT", "funding": { @@ -2703,8 +3104,6 @@ }, "node_modules/binary-extensions": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, "license": "MIT", "engines": { @@ -2716,8 +3115,6 @@ }, "node_modules/body-parser": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.1.tgz", - "integrity": "sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw==", "license": "MIT", "dependencies": { "bytes": "^3.1.2", @@ -2740,14 +3137,10 @@ }, "node_modules/boolbase": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "license": "ISC" }, "node_modules/brace-expansion": { "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -2757,8 +3150,6 @@ }, "node_modules/braces": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "license": "MIT", "dependencies": { @@ -2770,8 +3161,6 @@ }, "node_modules/browserslist": { "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dev": true, "funding": [ { @@ -2809,8 +3198,6 @@ }, "node_modules/bun-types": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.3.3.tgz", - "integrity": "sha512-z3Xwlg7j2l9JY27x5Qn3Wlyos8YAp0kKRlrePAOjgjMGS5IG6E7Jnlx736vH9UVI4wUICwwhC9anYL++XeOgTQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2819,8 +3206,6 @@ }, "node_modules/bytes": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -2828,8 +3213,6 @@ }, "node_modules/cac": { "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, "license": "MIT", "engines": { @@ -2838,8 +3221,6 @@ }, "node_modules/call-bind-apply-helpers": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -2851,8 +3232,6 @@ }, "node_modules/call-bound": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", @@ -2867,8 +3246,6 @@ }, "node_modules/caniuse-lite": { "version": "1.0.30001759", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001759.tgz", - "integrity": "sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw==", "dev": true, "funding": [ { @@ -2888,8 +3265,6 @@ }, "node_modules/canvas-color-tracker": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/canvas-color-tracker/-/canvas-color-tracker-1.3.2.tgz", - "integrity": "sha512-ryQkDX26yJ3CXzb3hxUVNlg1NKE4REc5crLBq661Nxzr8TNd236SaEf2ffYLXyI5tSABSeguHLqcVq4vf9L3Zg==", "dev": true, "license": "MIT", "dependencies": { @@ -2901,8 +3276,6 @@ }, "node_modules/chai": { "version": "5.3.3", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", - "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", "dev": true, "license": "MIT", "dependencies": { @@ -2918,8 +3291,6 @@ }, "node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -2935,8 +3306,6 @@ }, "node_modules/chalk/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "license": "MIT", "dependencies": { @@ -2948,8 +3317,6 @@ }, "node_modules/chart.js": { "version": "4.5.1", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.1.tgz", - "integrity": "sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==", "license": "MIT", "dependencies": { "@kurkle/color": "^0.3.0" @@ -2960,8 +3327,6 @@ }, "node_modules/check-error": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, "license": "MIT", "engines": { @@ -2970,8 +3335,6 @@ }, "node_modules/cheerio": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz", - "integrity": "sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==", "license": "MIT", "dependencies": { "cheerio-select": "^2.1.0", @@ -2995,8 +3358,6 @@ }, "node_modules/cheerio-select": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", @@ -3012,8 +3373,6 @@ }, "node_modules/chokidar": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, "license": "MIT", "dependencies": { @@ -3037,8 +3396,6 @@ }, "node_modules/clean-stack": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", - "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", "dev": true, "license": "MIT", "dependencies": { @@ -3053,8 +3410,6 @@ }, "node_modules/cli-cursor": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", - "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "dev": true, "license": "MIT", "dependencies": { @@ -3069,8 +3424,6 @@ }, "node_modules/cli-spinners": { "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "dev": true, "license": "MIT", "engines": { @@ -3082,8 +3435,6 @@ }, "node_modules/cli-truncate": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", - "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==", "dev": true, "license": "MIT", "dependencies": { @@ -3099,8 +3450,6 @@ }, "node_modules/cli-truncate/node_modules/string-width": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz", - "integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==", "dev": true, "license": "MIT", "dependencies": { @@ -3116,8 +3465,6 @@ }, "node_modules/cliui": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "license": "ISC", "dependencies": { @@ -3131,8 +3478,6 @@ }, "node_modules/cliui/node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "engines": { @@ -3141,8 +3486,6 @@ }, "node_modules/cliui/node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { @@ -3152,14 +3495,21 @@ "node": ">=8" } }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/cohort-heatmap-server": { "resolved": "examples/cohort-heatmap-server", "link": true }, "node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3171,29 +3521,21 @@ }, "node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/colorette": { "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true, "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true, "license": "MIT" }, "node_modules/concurrently": { "version": "9.2.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz", - "integrity": "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==", "dev": true, "license": "MIT", "dependencies": { @@ -3217,8 +3559,6 @@ }, "node_modules/content-disposition": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", - "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", "license": "MIT", "engines": { "node": ">=18" @@ -3230,8 +3570,6 @@ }, "node_modules/content-type": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -3239,15 +3577,11 @@ }, "node_modules/convert-source-map": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true, "license": "MIT" }, "node_modules/cookie": { "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -3255,8 +3589,6 @@ }, "node_modules/cookie-signature": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", "license": "MIT", "engines": { "node": ">=6.6.0" @@ -3264,8 +3596,6 @@ }, "node_modules/cors": { "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "license": "MIT", "dependencies": { "object-assign": "^4", @@ -3277,8 +3607,6 @@ }, "node_modules/cross-env": { "version": "10.1.0", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-10.1.0.tgz", - "integrity": "sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==", "dev": true, "license": "MIT", "dependencies": { @@ -3295,8 +3623,6 @@ }, "node_modules/cross-spawn": { "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -3309,8 +3635,6 @@ }, "node_modules/css-select": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", - "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", @@ -3325,8 +3649,6 @@ }, "node_modules/css-what": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", - "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", "license": "BSD-2-Clause", "engines": { "node": ">= 6" @@ -3337,9 +3659,6 @@ }, "node_modules/csstype": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "dev": true, "license": "MIT" }, "node_modules/customer-segmentation-server": { @@ -3348,8 +3667,6 @@ }, "node_modules/d3-array": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", "dev": true, "license": "ISC", "dependencies": { @@ -3361,15 +3678,11 @@ }, "node_modules/d3-binarytree": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/d3-binarytree/-/d3-binarytree-1.0.2.tgz", - "integrity": "sha512-cElUNH+sHu95L04m92pG73t2MEJXKu+GeKUN1TJkFsu93E5W8E9Sc3kHEGJKgenGvj19m6upSn2EunvMgMD2Yw==", "dev": true, "license": "MIT" }, "node_modules/d3-color": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", "dev": true, "license": "ISC", "engines": { @@ -3378,8 +3691,6 @@ }, "node_modules/d3-dispatch": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", "dev": true, "license": "ISC", "engines": { @@ -3388,8 +3699,6 @@ }, "node_modules/d3-drag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", - "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", "dev": true, "license": "ISC", "dependencies": { @@ -3402,8 +3711,6 @@ }, "node_modules/d3-ease": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -3412,8 +3719,6 @@ }, "node_modules/d3-force-3d": { "version": "3.0.6", - "resolved": "https://registry.npmjs.org/d3-force-3d/-/d3-force-3d-3.0.6.tgz", - "integrity": "sha512-4tsKHUPLOVkyfEffZo1v6sFHvGFwAIIjt/W8IThbp08DYAsXZck+2pSHEG5W1+gQgEvFLdZkYvmJAbRM2EzMnA==", "dev": true, "license": "MIT", "dependencies": { @@ -3429,8 +3734,6 @@ }, "node_modules/d3-format": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", "dev": true, "license": "ISC", "engines": { @@ -3439,8 +3742,6 @@ }, "node_modules/d3-interpolate": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", "dev": true, "license": "ISC", "dependencies": { @@ -3452,15 +3753,11 @@ }, "node_modules/d3-octree": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/d3-octree/-/d3-octree-1.1.0.tgz", - "integrity": "sha512-F8gPlqpP+HwRPMO/8uOu5wjH110+6q4cgJvgJT6vlpy3BEaDIKlTZrgHKZSp/i1InRpVfh4puY/kvL6MxK930A==", "dev": true, "license": "MIT" }, "node_modules/d3-quadtree": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", - "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", "dev": true, "license": "ISC", "engines": { @@ -3469,8 +3766,6 @@ }, "node_modules/d3-scale": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", "dev": true, "license": "ISC", "dependencies": { @@ -3486,8 +3781,6 @@ }, "node_modules/d3-scale-chromatic": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", - "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", "dev": true, "license": "ISC", "dependencies": { @@ -3500,8 +3793,6 @@ }, "node_modules/d3-selection": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", - "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "dev": true, "license": "ISC", "peer": true, @@ -3511,8 +3802,6 @@ }, "node_modules/d3-time": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", "dev": true, "license": "ISC", "dependencies": { @@ -3524,8 +3813,6 @@ }, "node_modules/d3-time-format": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", "dev": true, "license": "ISC", "dependencies": { @@ -3537,8 +3824,6 @@ }, "node_modules/d3-timer": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", "dev": true, "license": "ISC", "engines": { @@ -3547,8 +3832,6 @@ }, "node_modules/d3-transition": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", - "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", "dev": true, "license": "ISC", "dependencies": { @@ -3567,8 +3850,6 @@ }, "node_modules/d3-zoom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", - "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", "dev": true, "license": "ISC", "dependencies": { @@ -3584,8 +3865,6 @@ }, "node_modules/debug": { "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -3601,27 +3880,37 @@ }, "node_modules/deep-eql": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/depd": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "license": "MIT", "engines": { "node": ">= 0.8" } }, + "node_modules/devalue": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.1.tgz", + "integrity": "sha512-jDwizj+IlEZBunHcOuuFVBnIMPAEHvTsJj0BcIp94xYguLRVBcXO853px/MyIJvbVzWdsGvrRweIUWJw8hBP7A==", + "license": "MIT" + }, "node_modules/dom-serializer": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", @@ -3634,8 +3923,6 @@ }, "node_modules/domelementtype": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "funding": [ { "type": "github", @@ -3646,8 +3933,6 @@ }, "node_modules/domhandler": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.3.0" @@ -3661,8 +3946,6 @@ }, "node_modules/domutils": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", - "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^2.0.0", @@ -3675,8 +3958,6 @@ }, "node_modules/dunder-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.1", @@ -3689,14 +3970,10 @@ }, "node_modules/ee-first": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "license": "MIT" }, "node_modules/ejs": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", - "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -3711,22 +3988,16 @@ }, "node_modules/electron-to-chromium": { "version": "1.5.266", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.266.tgz", - "integrity": "sha512-kgWEglXvkEfMH7rxP5OSZZwnaDWT7J9EoZCujhnpLbfi0bbNtRkgdX2E3gt0Uer11c61qCYktB3hwkAS325sJg==", "dev": true, "license": "ISC" }, "node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "license": "MIT" }, "node_modules/encodeurl": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -3734,8 +4005,6 @@ }, "node_modules/encoding-sniffer": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", - "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", "license": "MIT", "dependencies": { "iconv-lite": "^0.6.3", @@ -3747,8 +4016,6 @@ }, "node_modules/encoding-sniffer/node_modules/iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -3759,8 +4026,6 @@ }, "node_modules/entities": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "license": "BSD-2-Clause", "engines": { "node": ">=0.12" @@ -3771,8 +4036,6 @@ }, "node_modules/environment": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", - "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", "dev": true, "license": "MIT", "engines": { @@ -3784,8 +4047,6 @@ }, "node_modules/es-define-property": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -3793,8 +4054,6 @@ }, "node_modules/es-errors": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -3802,15 +4061,11 @@ }, "node_modules/es-module-lexer": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", "dev": true, "license": "MIT" }, "node_modules/es-object-atoms": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -3821,8 +4076,6 @@ }, "node_modules/esbuild": { "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -3863,8 +4116,6 @@ }, "node_modules/escalade": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "license": "MIT", "engines": { @@ -3873,14 +4124,10 @@ }, "node_modules/escape-html": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "license": "MIT" }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "license": "MIT", "engines": { @@ -3890,10 +4137,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/esm-env": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", + "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", + "license": "MIT" + }, + "node_modules/esrap": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/esrap/-/esrap-2.2.1.tgz", + "integrity": "sha512-GiYWG34AN/4CUyaWAgunGt0Rxvr1PTMlGC0vvEov/uOQYWne2bpN03Um+k8jT+q3op33mKouP2zeJ6OlM+qeUg==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, "node_modules/estree-walker": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, "license": "MIT", "dependencies": { @@ -3902,8 +4162,6 @@ }, "node_modules/etag": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -3911,15 +4169,11 @@ }, "node_modules/eventemitter3": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", "dev": true, "license": "MIT" }, "node_modules/eventsource": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", - "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", "license": "MIT", "dependencies": { "eventsource-parser": "^3.0.1" @@ -3930,8 +4184,6 @@ }, "node_modules/eventsource-parser": { "version": "3.0.6", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", - "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", "license": "MIT", "engines": { "node": ">=18.0.0" @@ -3939,8 +4191,6 @@ }, "node_modules/expect-type": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", - "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -3949,8 +4199,6 @@ }, "node_modules/express": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", - "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", "license": "MIT", "peer": true, "dependencies": { @@ -3993,8 +4241,6 @@ }, "node_modules/express-rate-limit": { "version": "7.5.1", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", - "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==", "license": "MIT", "engines": { "node": ">= 16" @@ -4008,14 +4254,10 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "license": "MIT" }, "node_modules/fast-uri": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", "funding": [ { "type": "github", @@ -4030,15 +4272,11 @@ }, "node_modules/fflate": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", "dev": true, "license": "MIT" }, "node_modules/filelist": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -4047,8 +4285,6 @@ }, "node_modules/filelist/node_modules/brace-expansion": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4057,8 +4293,6 @@ }, "node_modules/filelist/node_modules/minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "license": "ISC", "dependencies": { @@ -4070,8 +4304,6 @@ }, "node_modules/fill-range": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "license": "MIT", "dependencies": { @@ -4083,8 +4315,6 @@ }, "node_modules/finalhandler": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", - "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", "license": "MIT", "dependencies": { "debug": "^4.4.0", @@ -4104,8 +4334,6 @@ }, "node_modules/float-tooltip": { "version": "1.7.5", - "resolved": "https://registry.npmjs.org/float-tooltip/-/float-tooltip-1.7.5.tgz", - "integrity": "sha512-/kXzuDnnBqyyWyhDMH7+PfP8J/oXiAavGzcRxASOMRHFuReDtofizLLJsf7nnDLAfEaMW4pVWaXrAjtnglpEkg==", "dev": true, "license": "MIT", "dependencies": { @@ -4119,8 +4347,6 @@ }, "node_modules/force-graph": { "version": "1.51.0", - "resolved": "https://registry.npmjs.org/force-graph/-/force-graph-1.51.0.tgz", - "integrity": "sha512-aTnihCmiMA0ItLJLCbrQYS9mzriopW24goFPgUnKAAmAlPogTSmFWqoBPMXzIfPb7bs04Hur5zEI4WYgLW3Sig==", "dev": true, "license": "MIT", "dependencies": { @@ -4146,8 +4372,6 @@ }, "node_modules/forwarded": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -4155,8 +4379,6 @@ }, "node_modules/fresh": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -4179,8 +4401,6 @@ }, "node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4188,8 +4408,6 @@ }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, "license": "MIT", "engines": { @@ -4198,8 +4416,6 @@ }, "node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, "license": "ISC", "engines": { @@ -4208,8 +4424,6 @@ }, "node_modules/get-east-asian-width": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", - "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", "dev": true, "license": "MIT", "engines": { @@ -4221,8 +4435,6 @@ }, "node_modules/get-intrinsic": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", @@ -4245,8 +4457,6 @@ }, "node_modules/get-package-type": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, "license": "MIT", "engines": { @@ -4255,8 +4465,6 @@ }, "node_modules/get-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "license": "MIT", "dependencies": { "dunder-proto": "^1.0.1", @@ -4268,8 +4476,6 @@ }, "node_modules/get-tsconfig": { "version": "4.13.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", - "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4281,8 +4487,6 @@ }, "node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "license": "ISC", "dependencies": { @@ -4294,8 +4498,6 @@ }, "node_modules/gopd": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -4306,8 +4508,6 @@ }, "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "license": "MIT", "engines": { @@ -4316,8 +4516,6 @@ }, "node_modules/has-symbols": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -4328,8 +4526,6 @@ }, "node_modules/hasown": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -4338,10 +4534,25 @@ "node": ">= 0.4" } }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true, + "license": "MIT" + }, "node_modules/htmlparser2": { "version": "10.0.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", - "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", { @@ -4359,8 +4570,6 @@ }, "node_modules/htmlparser2/node_modules/entities": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "license": "BSD-2-Clause", "engines": { "node": ">=0.12" @@ -4371,8 +4580,6 @@ }, "node_modules/http-errors": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", "license": "MIT", "dependencies": { "depd": "~2.0.0", @@ -4391,8 +4598,6 @@ }, "node_modules/husky": { "version": "9.1.7", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", - "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", "dev": true, "license": "MIT", "bin": { @@ -4407,8 +4612,6 @@ }, "node_modules/iconv-lite": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", - "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -4423,15 +4626,11 @@ }, "node_modules/ignore-by-default": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", "dev": true, "license": "ISC" }, "node_modules/indent-string": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, "license": "MIT", "engines": { @@ -4440,8 +4639,6 @@ }, "node_modules/index-array-by": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/index-array-by/-/index-array-by-1.4.2.tgz", - "integrity": "sha512-SP23P27OUKzXWEC/TOyWlwLviofQkCSCKONnc62eItjp69yCZZPqDQtr3Pw5gJDnPeUMqExmKydNZaJO0FU9pw==", "dev": true, "license": "MIT", "engines": { @@ -4450,8 +4647,6 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "license": "ISC" }, "node_modules/integration-server": { @@ -4460,8 +4655,6 @@ }, "node_modules/internmap": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", "dev": true, "license": "ISC", "engines": { @@ -4470,8 +4663,6 @@ }, "node_modules/ipaddr.js": { "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "license": "MIT", "engines": { "node": ">= 0.10" @@ -4479,8 +4670,6 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "license": "MIT", "dependencies": { @@ -4492,8 +4681,6 @@ }, "node_modules/is-docker": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, "license": "MIT", "bin": { @@ -4508,8 +4695,6 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "license": "MIT", "engines": { @@ -4518,8 +4703,6 @@ }, "node_modules/is-fullwidth-code-point": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", - "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4534,8 +4717,6 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "license": "MIT", "dependencies": { @@ -4547,8 +4728,6 @@ }, "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "license": "MIT", "engines": { @@ -4557,14 +4736,32 @@ }, "node_modules/is-promise": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", "license": "MIT" }, + "node_modules/is-reference": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", + "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.6" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/is-wsl": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "license": "MIT", "dependencies": { @@ -4576,14 +4773,10 @@ }, "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "license": "ISC" }, "node_modules/jake": { "version": "10.9.4", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", - "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -4600,8 +4793,6 @@ }, "node_modules/jose": { "version": "6.1.3", - "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", - "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/panva" @@ -4609,15 +4800,11 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true, "license": "MIT" }, "node_modules/jsesc": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, "license": "MIT", "bin": { @@ -4629,14 +4816,10 @@ }, "node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "license": "MIT" }, "node_modules/json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "license": "MIT", "bin": { @@ -4648,8 +4831,6 @@ }, "node_modules/kapsule": { "version": "1.16.3", - "resolved": "https://registry.npmjs.org/kapsule/-/kapsule-1.16.3.tgz", - "integrity": "sha512-4+5mNNf4vZDSwPhKprKwz3330iisPrb08JyMgbsdFrimBCKNHecua/WBwvVg3n7vwx0C1ARjfhwIpbrbd9n5wg==", "dev": true, "license": "MIT", "dependencies": { @@ -4659,10 +4840,25 @@ "node": ">=12" } }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true, + "license": "MIT" + }, "node_modules/lilconfig": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", "dev": true, "license": "MIT", "engines": { @@ -4674,8 +4870,6 @@ }, "node_modules/linkify-it": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4684,8 +4878,6 @@ }, "node_modules/listr2": { "version": "9.0.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz", - "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==", "dev": true, "license": "MIT", "dependencies": { @@ -4702,8 +4894,6 @@ }, "node_modules/listr2/node_modules/ansi-styles": { "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", "engines": { @@ -4715,15 +4905,11 @@ }, "node_modules/listr2/node_modules/emoji-regex": { "version": "10.6.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", - "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", "dev": true, "license": "MIT" }, "node_modules/listr2/node_modules/string-width": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4740,8 +4926,6 @@ }, "node_modules/listr2/node_modules/wrap-ansi": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", - "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", "dev": true, "license": "MIT", "dependencies": { @@ -4756,17 +4940,19 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", + "license": "MIT" + }, "node_modules/lodash-es": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", "dev": true, "license": "MIT" }, "node_modules/log-update": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", - "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "dev": true, "license": "MIT", "dependencies": { @@ -4785,8 +4971,6 @@ }, "node_modules/log-update/node_modules/ansi-escapes": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz", - "integrity": "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==", "dev": true, "license": "MIT", "dependencies": { @@ -4801,8 +4985,6 @@ }, "node_modules/log-update/node_modules/ansi-styles": { "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", "engines": { @@ -4814,15 +4996,11 @@ }, "node_modules/log-update/node_modules/emoji-regex": { "version": "10.6.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", - "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", "dev": true, "license": "MIT" }, "node_modules/log-update/node_modules/string-width": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4839,8 +5017,6 @@ }, "node_modules/log-update/node_modules/wrap-ansi": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", - "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", "dev": true, "license": "MIT", "dependencies": { @@ -4857,15 +5033,11 @@ }, "node_modules/loupe": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", - "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", "dev": true, "license": "MIT" }, "node_modules/lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "license": "ISC", "dependencies": { @@ -4874,16 +5046,11 @@ }, "node_modules/lunr": { "version": "2.3.9", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", - "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", "dev": true, "license": "MIT" }, "node_modules/magic-string": { "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" @@ -4891,8 +5058,6 @@ }, "node_modules/markdown-it": { "version": "14.1.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", - "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "dev": true, "license": "MIT", "dependencies": { @@ -4909,8 +5074,6 @@ }, "node_modules/math-intrinsics": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -4918,24 +5081,34 @@ }, "node_modules/mdurl": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", "dev": true, "license": "MIT" }, "node_modules/media-typer": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", "license": "MIT", "engines": { "node": ">= 0.8" } }, + "node_modules/merge-anything": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/merge-anything/-/merge-anything-5.1.7.tgz", + "integrity": "sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/merge-descriptors": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", "license": "MIT", "engines": { "node": ">=18" @@ -4946,15 +5119,11 @@ }, "node_modules/meshoptimizer": { "version": "0.22.0", - "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.22.0.tgz", - "integrity": "sha512-IebiK79sqIy+E4EgOr+CAw+Ke8hAspXKzBd0JdgEmPHiAwmvEj2S4h1rfvo+o/BnfEYd/jAOg5IeeIjzlzSnDg==", "dev": true, "license": "MIT" }, "node_modules/micromatch": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "license": "MIT", "dependencies": { @@ -4967,8 +5136,6 @@ }, "node_modules/mime-db": { "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -4976,8 +5143,6 @@ }, "node_modules/mime-types": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", - "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "license": "MIT", "dependencies": { "mime-db": "^1.54.0" @@ -4992,8 +5157,6 @@ }, "node_modules/mimic-function": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", - "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", "dev": true, "license": "MIT", "engines": { @@ -5005,8 +5168,6 @@ }, "node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -5018,15 +5179,10 @@ }, "node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, "node_modules/nanoid": { "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, "funding": [ { "type": "github", @@ -5043,24 +5199,29 @@ }, "node_modules/negotiator": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", "license": "MIT", "engines": { "node": ">= 0.6" } }, + "node_modules/node-html-parser": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.13.tgz", + "integrity": "sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-select": "^5.1.0", + "he": "1.2.0" + } + }, "node_modules/node-releases": { "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", "dev": true, "license": "MIT" }, "node_modules/nodemon": { "version": "3.1.11", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.11.tgz", - "integrity": "sha512-is96t8F/1//UHAjNPHpbsNY46ELPpftGUoSVNXwUfMk/qdjSylYrWSu1XavVTBOn526kFiOR733ATgNBCQyH0g==", "dev": true, "license": "MIT", "dependencies": { @@ -5088,8 +5249,6 @@ }, "node_modules/nodemon/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "license": "MIT", "engines": { @@ -5098,8 +5257,6 @@ }, "node_modules/nodemon/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "license": "MIT", "dependencies": { @@ -5111,8 +5268,6 @@ }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, "license": "MIT", "engines": { @@ -5121,8 +5276,6 @@ }, "node_modules/nth-check": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" @@ -5133,8 +5286,6 @@ }, "node_modules/object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -5142,8 +5293,6 @@ }, "node_modules/object-inspect": { "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -5154,8 +5303,6 @@ }, "node_modules/on-finished": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "license": "MIT", "dependencies": { "ee-first": "1.1.1" @@ -5166,8 +5313,6 @@ }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "license": "ISC", "dependencies": { "wrappy": "1" @@ -5175,8 +5320,6 @@ }, "node_modules/onetime": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, "license": "MIT", "dependencies": { @@ -5191,8 +5334,6 @@ }, "node_modules/parse5": { "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "license": "MIT", "dependencies": { "entities": "^6.0.0" @@ -5203,8 +5344,6 @@ }, "node_modules/parse5-htmlparser2-tree-adapter": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", - "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", "license": "MIT", "dependencies": { "domhandler": "^5.0.3", @@ -5216,8 +5355,6 @@ }, "node_modules/parse5-parser-stream": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", - "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", "license": "MIT", "dependencies": { "parse5": "^7.0.0" @@ -5228,8 +5365,6 @@ }, "node_modules/parse5/node_modules/entities": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "license": "BSD-2-Clause", "engines": { "node": ">=0.12" @@ -5240,8 +5375,6 @@ }, "node_modules/parseurl": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -5249,8 +5382,6 @@ }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "license": "MIT", "engines": { "node": ">=8" @@ -5258,8 +5389,6 @@ }, "node_modules/path-to-regexp": { "version": "8.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", - "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", "license": "MIT", "funding": { "type": "opencollective", @@ -5268,15 +5397,11 @@ }, "node_modules/pathe": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "dev": true, "license": "MIT" }, "node_modules/pathval": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", - "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", "dev": true, "license": "MIT", "engines": { @@ -5285,15 +5410,10 @@ }, "node_modules/picocolors": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "license": "MIT", "engines": { @@ -5305,8 +5425,6 @@ }, "node_modules/pkce-challenge": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz", - "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==", "license": "MIT", "engines": { "node": ">=16.20.0" @@ -5314,8 +5432,6 @@ }, "node_modules/playwright": { "version": "1.57.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.57.0.tgz", - "integrity": "sha512-ilYQj1s8sr2ppEJ2YVadYBN0Mb3mdo9J0wQ+UuDhzYqURwSoW4n1Xs5vs7ORwgDGmyEh33tRMeS8KhdkMoLXQw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -5333,8 +5449,6 @@ }, "node_modules/playwright-core": { "version": "1.57.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.57.0.tgz", - "integrity": "sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -5361,9 +5475,6 @@ }, "node_modules/postcss": { "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -5390,10 +5501,8 @@ }, "node_modules/preact": { "version": "10.28.0", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.28.0.tgz", - "integrity": "sha512-rytDAoiXr3+t6OIP3WGlDd0ouCUG1iCWzkcY3++Nreuoi17y6T5i/zRhe6uYfoVcxq6YU+sBtJouuRDsq8vvqA==", - "dev": true, "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -5417,8 +5526,6 @@ }, "node_modules/proxy-addr": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "license": "MIT", "dependencies": { "forwarded": "0.2.0", @@ -5430,15 +5537,11 @@ }, "node_modules/pstree.remy": { "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", - "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", "dev": true, "license": "MIT" }, "node_modules/punycode.js": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", - "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", "dev": true, "license": "MIT", "engines": { @@ -5447,8 +5550,6 @@ }, "node_modules/qs": { "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" @@ -5462,8 +5563,6 @@ }, "node_modules/range-parser": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -5471,8 +5570,6 @@ }, "node_modules/raw-body": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", - "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", "license": "MIT", "dependencies": { "bytes": "~3.1.2", @@ -5486,8 +5583,6 @@ }, "node_modules/react": { "version": "19.2.1", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.1.tgz", - "integrity": "sha512-DGrYcCWK7tvYMnWh79yrPHt+vdx9tY+1gPZa7nJQtO/p8bLTDaHp4dzwEhQB7pZ4Xe3ok4XKuEPrVuc+wlpkmw==", "license": "MIT", "peer": true, "engines": { @@ -5496,8 +5591,6 @@ }, "node_modules/react-dom": { "version": "19.2.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.1.tgz", - "integrity": "sha512-ibrK8llX2a4eOskq1mXKu/TGZj9qzomO+sNfO98M6d9zIPOEhlBkMkBUBLd1vgS0gQsLDBzA+8jJBVXDnfHmJg==", "license": "MIT", "dependencies": { "scheduler": "^0.27.0" @@ -5508,8 +5601,6 @@ }, "node_modules/react-refresh": { "version": "0.17.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", - "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", "dev": true, "license": "MIT", "engines": { @@ -5518,8 +5609,6 @@ }, "node_modules/readdirp": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "license": "MIT", "dependencies": { @@ -5531,8 +5620,6 @@ }, "node_modules/require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, "license": "MIT", "engines": { @@ -5541,8 +5628,6 @@ }, "node_modules/require-from-string": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -5550,8 +5635,6 @@ }, "node_modules/resolve-pkg-maps": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", "dev": true, "license": "MIT", "funding": { @@ -5560,8 +5643,6 @@ }, "node_modules/restore-cursor": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, "license": "MIT", "dependencies": { @@ -5577,18 +5658,13 @@ }, "node_modules/rfdc": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true, "license": "MIT" }, "node_modules/rollup": { "version": "4.53.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", - "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -5625,10 +5701,64 @@ "fsevents": "~2.3.2" } }, + "node_modules/rollup/node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", + "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-darwin-x64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", + "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", + "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", + "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/router": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", "license": "MIT", "dependencies": { "debug": "^4.4.0", @@ -5643,8 +5773,6 @@ }, "node_modules/rxjs": { "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -5653,8 +5781,6 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "license": "MIT" }, "node_modules/scenario-modeler-server": { @@ -5663,14 +5789,10 @@ }, "node_modules/scheduler": { "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", "license": "MIT" }, "node_modules/semver": { "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, "license": "ISC", "bin": { @@ -5682,8 +5804,6 @@ }, "node_modules/send": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", - "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", "license": "MIT", "dependencies": { "debug": "^4.3.5", @@ -5702,10 +5822,30 @@ "node": ">= 18" } }, + "node_modules/seroval": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.3.2.tgz", + "integrity": "sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/seroval-plugins": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.3.3.tgz", + "integrity": "sha512-16OL3NnUBw8JG1jBLUoZJsLnQq0n5Ua6aHalhJK4fMQkz1lqR7Osz1sA30trBtd9VUDc2NgkuRCn8+/pBwqZ+w==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "seroval": "^1.0" + } + }, "node_modules/serve-static": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", - "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", "license": "MIT", "dependencies": { "encodeurl": "^2.0.0", @@ -5719,14 +5859,10 @@ }, "node_modules/setprototypeof": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "license": "ISC" }, "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -5737,8 +5873,6 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "license": "MIT", "engines": { "node": ">=8" @@ -5750,8 +5884,6 @@ }, "node_modules/shell-quote": { "version": "1.8.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", - "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", "dev": true, "license": "MIT", "engines": { @@ -5763,8 +5895,6 @@ }, "node_modules/side-channel": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -5782,8 +5912,6 @@ }, "node_modules/side-channel-list": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -5798,8 +5926,6 @@ }, "node_modules/side-channel-map": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", "license": "MIT", "dependencies": { "call-bound": "^1.0.2", @@ -5816,8 +5942,6 @@ }, "node_modules/side-channel-weakmap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "license": "MIT", "dependencies": { "call-bound": "^1.0.2", @@ -5835,15 +5959,11 @@ }, "node_modules/siginfo": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true, "license": "ISC" }, "node_modules/signal-exit": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "license": "ISC", "engines": { @@ -5853,10 +5973,18 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/simple-code-frame": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/simple-code-frame/-/simple-code-frame-1.3.0.tgz", + "integrity": "sha512-MB4pQmETUBlNs62BBeRjIFGeuy/x6gGKh7+eRUemn1rCFhqo7K+4slPqsyizCbcbYLnaYqaoZ2FWsZ/jN06D8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "kolorist": "^1.6.0" + } + }, "node_modules/simple-update-notifier": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", - "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", "dev": true, "license": "MIT", "dependencies": { @@ -5868,15 +5996,11 @@ }, "node_modules/sisteransi": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true, "license": "MIT" }, "node_modules/slash": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, "license": "MIT", "engines": { @@ -5888,8 +6012,6 @@ }, "node_modules/slice-ansi": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", - "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", "dev": true, "license": "MIT", "dependencies": { @@ -5905,8 +6027,6 @@ }, "node_modules/slice-ansi/node_modules/ansi-styles": { "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", "engines": { @@ -5916,27 +6036,67 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/solid-js": { + "version": "1.9.10", + "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.9.10.tgz", + "integrity": "sha512-Coz956cos/EPDlhs6+jsdTxKuJDPT7B5SVIWgABwROyxjY7Xbr8wkzD68Et+NxnV7DLJ3nJdAC2r9InuV/4Jew==", + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.1.0", + "seroval": "~1.3.0", + "seroval-plugins": "~1.3.0" + } + }, + "node_modules/solid-refresh": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/solid-refresh/-/solid-refresh-0.6.3.tgz", + "integrity": "sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/generator": "^7.23.6", + "@babel/helper-module-imports": "^7.22.15", + "@babel/types": "^7.23.6" + }, + "peerDependencies": { + "solid-js": "^1.3" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, "node_modules/source-map-js": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, + "node_modules/stack-trace": { + "version": "1.0.0-pre2", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-1.0.0-pre2.tgz", + "integrity": "sha512-2ztBJRek8IVofG9DBJqdy2N5kulaacX30Nz7xmkYF6ale9WBVmIy6mFBchvGX7Vx/MyjBhx+Rcxqrj+dbOnQ6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, "node_modules/stackback": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true, "license": "MIT" }, "node_modules/statuses": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -5944,15 +6104,11 @@ }, "node_modules/std-env": { "version": "3.10.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", "dev": true, "license": "MIT" }, "node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", "dependencies": { @@ -5966,8 +6122,6 @@ }, "node_modules/string-width/node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "engines": { @@ -5976,8 +6130,6 @@ }, "node_modules/string-width/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "license": "MIT", "engines": { @@ -5986,8 +6138,6 @@ }, "node_modules/string-width/node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { @@ -5999,8 +6149,6 @@ }, "node_modules/strip-ansi": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", "dev": true, "license": "MIT", "dependencies": { @@ -6015,8 +6163,6 @@ }, "node_modules/strip-literal": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz", - "integrity": "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==", "dev": true, "license": "MIT", "dependencies": { @@ -6028,15 +6174,11 @@ }, "node_modules/strip-literal/node_modules/js-tokens": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", - "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", "dev": true, "license": "MIT" }, "node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -6049,14 +6191,39 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/svelte": { + "version": "5.46.0", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.46.0.tgz", + "integrity": "sha512-ZhLtvroYxUxr+HQJfMZEDRsGsmU46x12RvAv/zi9584f5KOX7bUrEbhPJ7cKFmUvZTJXi/CFZUYwDC6M1FigPw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "@jridgewell/sourcemap-codec": "^1.5.0", + "@sveltejs/acorn-typescript": "^1.0.5", + "@types/estree": "^1.0.5", + "acorn": "^8.12.1", + "aria-query": "^5.3.1", + "axobject-query": "^4.1.0", + "clsx": "^2.1.1", + "devalue": "^5.5.0", + "esm-env": "^1.2.1", + "esrap": "^2.2.1", + "is-reference": "^3.0.3", + "locate-character": "^3.0.0", + "magic-string": "^0.30.11", + "zimmerframe": "^1.1.2" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/system-monitor-server": { "resolved": "examples/system-monitor-server", "link": true }, "node_modules/systeminformation": { "version": "5.27.11", - "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.27.11.tgz", - "integrity": "sha512-K3Lto/2m3K2twmKHdgx5B+0in9qhXK4YnoT9rIlgwN/4v7OV5c8IjbeAUkuky/6VzCQC7iKCAqi8rZathCdjHg==", "license": "MIT", "os": [ "darwin", @@ -6081,8 +6248,6 @@ }, "node_modules/text-camel-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-camel-case/-/text-camel-case-1.2.9.tgz", - "integrity": "sha512-wKYs9SgRxYizJE1mneR7BbLNlGw2IYzJAS8XwkWIry0CTbO1gvvPkFsx5Z1/hr+VqUaBqx9q3yKd30HpZLdMsQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6091,8 +6256,6 @@ }, "node_modules/text-capital-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-capital-case/-/text-capital-case-1.2.9.tgz", - "integrity": "sha512-X5zV8U8pxtq2xS2t46lgAWqZdDbgWMKq03MQSNwY2CJdQCsdTNh144E2Q/q9wBxWzSBUXn+jRc9kF+Gs8/pGhA==", "dev": true, "license": "MIT", "dependencies": { @@ -6102,8 +6265,6 @@ }, "node_modules/text-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-case/-/text-case-1.2.9.tgz", - "integrity": "sha512-zZVdA8rMcjx9zhekdUuOPZShc25UTV7W8/ddKbgbPtfCEvIiToPtWiSd2lXLSuiGMovNhJ4+Tw49xll9o9ts+Q==", "dev": true, "license": "MIT", "dependencies": { @@ -6131,8 +6292,6 @@ }, "node_modules/text-constant-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-constant-case/-/text-constant-case-1.2.9.tgz", - "integrity": "sha512-Vosm6nC7Gag+JFakJHwqS9AXRNgl07j5KZ7srU9cYuKRzYwrxzeJ4RpEogRBNHw7CfmOm0j5FGEznblWtu7pIw==", "dev": true, "license": "MIT", "dependencies": { @@ -6142,8 +6301,6 @@ }, "node_modules/text-dot-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-dot-case/-/text-dot-case-1.2.9.tgz", - "integrity": "sha512-N83hsnvGdSO9q9AfNSB9Cy1LFDNN2MCx53LcxtaPoDWPUTk47fv0JlvIY1tgY0wyzCiThF03kVj3jworvAOScA==", "dev": true, "license": "MIT", "dependencies": { @@ -6152,8 +6309,6 @@ }, "node_modules/text-header-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-header-case/-/text-header-case-1.2.9.tgz", - "integrity": "sha512-TqryEKcYisQAfWLbtT3xPnZlMZ/mySO1uS+LUg+B0eNuqgETrSzVpXIUj5E6Zf/EyJHgpZf4VndbAXtOMJuT4w==", "dev": true, "license": "MIT", "dependencies": { @@ -6162,22 +6317,16 @@ }, "node_modules/text-is-lower-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-is-lower-case/-/text-is-lower-case-1.2.9.tgz", - "integrity": "sha512-cEurrWSnYVYqL8FSwl5cK4mdfqF7qNDCcKJgXI3NnfTesiB8umxAhdlQoErrRYI1xEvYr2WN0MI333EehUhQjg==", "dev": true, "license": "MIT" }, "node_modules/text-is-upper-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-is-upper-case/-/text-is-upper-case-1.2.9.tgz", - "integrity": "sha512-HxsWr3VCsXXiLlhD0c+Ey+mS2lOTCiSJbkepjaXNHl2bp33KiscQaiG0qLwQmmpZQm4SJCg2s9FkndxS0RNDLQ==", "dev": true, "license": "MIT" }, "node_modules/text-kebab-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-kebab-case/-/text-kebab-case-1.2.9.tgz", - "integrity": "sha512-nOUyNR5Ej2B9D/wyyXfwUEv26+pQuOb1pEX+ojE37mCIWo8QeOxw5y6nxuqDmG7NrEPzbO6265UMV+EICH13Cw==", "dev": true, "license": "MIT", "dependencies": { @@ -6186,22 +6335,16 @@ }, "node_modules/text-lower-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-lower-case/-/text-lower-case-1.2.9.tgz", - "integrity": "sha512-53AOnDrhPpiAUQkgY1SHleKUXp/u7GsqRX13NcCREZscmtjLLJ099uxMRjkK7q2KwHkFYVPl9ytkQlTkTQLS0w==", "dev": true, "license": "MIT" }, "node_modules/text-lower-case-first": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-lower-case-first/-/text-lower-case-first-1.2.9.tgz", - "integrity": "sha512-iiphHTV7PVH0MljrEQUA9iBE7jfDpXoi4RQju3WzZU3BRVbS6540cNZgxR19hWa0z6z/7cJTH0Ls9LPBaiUfKg==", "dev": true, "license": "MIT" }, "node_modules/text-no-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-no-case/-/text-no-case-1.2.9.tgz", - "integrity": "sha512-IcCt328KaapimSrytP4ThfC8URmHZb2DgOqCL9BYvGjpxY2lDiqCkIQk9sClZtwcELs2gTnq83a7jNc573FTLA==", "dev": true, "license": "MIT", "dependencies": { @@ -6210,8 +6353,6 @@ }, "node_modules/text-param-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-param-case/-/text-param-case-1.2.9.tgz", - "integrity": "sha512-nR/Ju9amY3aQS1en2CUCgqN/ZiZIVdDyjlJ3xX5J92ChBevGuA4o9K10fh3JGMkbzK97Vcb+bWQJ4Q+Svz+GyQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6220,8 +6361,6 @@ }, "node_modules/text-pascal-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-pascal-case/-/text-pascal-case-1.2.9.tgz", - "integrity": "sha512-o6ZxMGjWDTUW54pcghpXes+C2PqbYRMdU5mHrIhueb6z6nq1NueiIOeCUdrSjN/3wXfhCmnFjK7/d9aRGZNqSg==", "dev": true, "license": "MIT", "dependencies": { @@ -6230,8 +6369,6 @@ }, "node_modules/text-path-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-path-case/-/text-path-case-1.2.9.tgz", - "integrity": "sha512-s8cJ6r5TkJp5ticXMgtxd7f12odEN4d1CfX5u4aoz6jcUtBR2lDqzIhVimkqWFMJ4UKPSrmilUha8Xc2BPi+ow==", "dev": true, "license": "MIT", "dependencies": { @@ -6240,8 +6377,6 @@ }, "node_modules/text-sentence-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-sentence-case/-/text-sentence-case-1.2.9.tgz", - "integrity": "sha512-/G/Yi5kZfUa1edFRV4O3lGZAkbDZTFvlwW8CYfH7szkEGe2k2MYEYbOyAkGRVQEGV6V6JiuUAaP3VS9c1tB6nQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6251,8 +6386,6 @@ }, "node_modules/text-snake-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-snake-case/-/text-snake-case-1.2.9.tgz", - "integrity": "sha512-+ZrqK19ynF/TLQZ7ynqVrL2Dy04uu9syYZwsm8PhzUdsY3XrwPy6QiRqhIEFqhyWbShPcfyfmheer5UEQqFxlw==", "dev": true, "license": "MIT", "dependencies": { @@ -6261,15 +6394,11 @@ }, "node_modules/text-swap-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-swap-case/-/text-swap-case-1.2.9.tgz", - "integrity": "sha512-g5fp12ldktYKK9wdHRMvvtSCQrZYNv/D+ZGLumDsvAY4q9T5bCMO2IWMkIP1F5gVQrysdHH6Xv877P/pjUq1iw==", "dev": true, "license": "MIT" }, "node_modules/text-title-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-title-case/-/text-title-case-1.2.9.tgz", - "integrity": "sha512-RAtC9cdmPp41ns5/HXZBsaQg71BsHT7uZpj2ojTtuFa8o2dNuRYYOrSmy5YdLRIAJQ6WK5hQVpV3jHuq7a+4Tw==", "dev": true, "license": "MIT", "dependencies": { @@ -6279,22 +6408,16 @@ }, "node_modules/text-upper-case": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-upper-case/-/text-upper-case-1.2.9.tgz", - "integrity": "sha512-K/0DNT7a4z8eah2spARtoJllTZyrNTo6Uc0ujhN/96Ir9uJ/slpahfs13y46H9osL3daaLl3O7iXOkW4xtX6bg==", "dev": true, "license": "MIT" }, "node_modules/text-upper-case-first": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/text-upper-case-first/-/text-upper-case-first-1.2.9.tgz", - "integrity": "sha512-wEDD1B6XqJmEV+xEnBJd+2sBCHZ+7fvA/8Rv/o8+dAsp05YWjYP/kjB8sPH6zqzW0s6jtehIg4IlcKjcYxk2CQ==", "dev": true, "license": "MIT" }, "node_modules/three": { "version": "0.181.2", - "resolved": "https://registry.npmjs.org/three/-/three-0.181.2.tgz", - "integrity": "sha512-k/CjiZ80bYss6Qs7/ex1TBlPD11whT9oKfT8oTGiHa34W4JRd1NiH/Tr1DbHWQ2/vMUypxksLnF2CfmlmM5XFQ==", "license": "MIT" }, "node_modules/threejs-server": { @@ -6303,29 +6426,21 @@ }, "node_modules/tinybench": { "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "dev": true, "license": "MIT" }, "node_modules/tinycolor2": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", - "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", "dev": true, "license": "MIT" }, "node_modules/tinyexec": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", "dev": true, "license": "MIT" }, "node_modules/tinyglobby": { "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6341,8 +6456,6 @@ }, "node_modules/tinyglobby/node_modules/fdir": { "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, "license": "MIT", "engines": { @@ -6359,8 +6472,6 @@ }, "node_modules/tinyglobby/node_modules/picomatch": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "peer": true, @@ -6373,8 +6484,6 @@ }, "node_modules/tinypool": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", - "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", "dev": true, "license": "MIT", "engines": { @@ -6383,8 +6492,6 @@ }, "node_modules/tinyrainbow": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", - "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", "dev": true, "license": "MIT", "engines": { @@ -6393,8 +6500,6 @@ }, "node_modules/tinyspy": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz", - "integrity": "sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==", "dev": true, "license": "MIT", "engines": { @@ -6403,8 +6508,6 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6416,8 +6519,6 @@ }, "node_modules/toidentifier": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "license": "MIT", "engines": { "node": ">=0.6" @@ -6425,8 +6526,6 @@ }, "node_modules/touch": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", - "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", "dev": true, "license": "ISC", "bin": { @@ -6435,8 +6534,6 @@ }, "node_modules/tree-kill": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", "dev": true, "license": "MIT", "bin": { @@ -6445,8 +6542,6 @@ }, "node_modules/ts-to-zod": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ts-to-zod/-/ts-to-zod-5.1.0.tgz", - "integrity": "sha512-giqqlvRHunlJqG9tBL/KAO3wWIVZGF//mZiWLKm/fdQnKnz4EN2mtiK5cugN9slytBkdMEXQIaLvMzIScbhhFw==", "dev": true, "license": "MIT", "dependencies": { @@ -6468,8 +6563,6 @@ }, "node_modules/ts-to-zod/node_modules/chokidar": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, "license": "MIT", "dependencies": { @@ -6484,8 +6577,6 @@ }, "node_modules/ts-to-zod/node_modules/readdirp": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, "license": "MIT", "engines": { @@ -6498,15 +6589,11 @@ }, "node_modules/tslib": { "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, "node_modules/tsutils": { "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "license": "MIT", "dependencies": { @@ -6521,15 +6608,11 @@ }, "node_modules/tsutils/node_modules/tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true, "license": "0BSD" }, "node_modules/tsx": { "version": "4.21.0", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", - "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", "dev": true, "license": "MIT", "dependencies": { @@ -6820,8 +6903,6 @@ }, "node_modules/tsx/node_modules/@esbuild/linux-x64": { "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.1.tgz", - "integrity": "sha512-z3H/HYI9MM0HTv3hQZ81f+AKb+yEoCRlUby1F80vbQ5XdzEMyY/9iNlAmhqiBKw4MJXwfgsh7ERGEOhrM1niMA==", "cpu": [ "x64" ], @@ -6990,8 +7071,6 @@ }, "node_modules/tsx/node_modules/esbuild": { "version": "0.27.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.1.tgz", - "integrity": "sha512-yY35KZckJJuVVPXpvjgxiCuVEJT67F6zDeVTv4rizyPrfGBUpZQsvmxnN+C371c2esD/hNMjj4tpBhuueLN7aA==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -7032,8 +7111,6 @@ }, "node_modules/type-fest": { "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -7045,8 +7122,6 @@ }, "node_modules/type-is": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", "license": "MIT", "dependencies": { "content-type": "^1.0.5", @@ -7059,8 +7134,6 @@ }, "node_modules/typedoc": { "version": "0.28.15", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.15.tgz", - "integrity": "sha512-mw2/2vTL7MlT+BVo43lOsufkkd2CJO4zeOSuWQQsiXoV2VuEn7f6IZp2jsUDPmBMABpgR0R5jlcJ2OGEFYmkyg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -7083,8 +7156,6 @@ }, "node_modules/typedoc/node_modules/brace-expansion": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7093,8 +7164,6 @@ }, "node_modules/typedoc/node_modules/minimatch": { "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "license": "ISC", "dependencies": { @@ -7109,9 +7178,7 @@ }, "node_modules/typescript": { "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "peer": true, "bin": { @@ -7124,22 +7191,16 @@ }, "node_modules/uc.micro": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", - "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", "dev": true, "license": "MIT" }, "node_modules/undefsafe": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", - "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", "dev": true, "license": "MIT" }, "node_modules/undici": { "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.16.0.tgz", - "integrity": "sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==", "license": "MIT", "engines": { "node": ">=20.18.1" @@ -7147,15 +7208,11 @@ }, "node_modules/undici-types": { "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "dev": true, "license": "MIT" }, "node_modules/unpipe": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -7163,8 +7220,6 @@ }, "node_modules/update-browserslist-db": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz", - "integrity": "sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==", "dev": true, "funding": [ { @@ -7194,8 +7249,6 @@ }, "node_modules/vary": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -7207,8 +7260,6 @@ }, "node_modules/vite": { "version": "6.4.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", - "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "dev": true, "license": "MIT", "peer": true, @@ -7283,8 +7334,6 @@ }, "node_modules/vite-node": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", - "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", "dev": true, "license": "MIT", "dependencies": { @@ -7306,8 +7355,6 @@ }, "node_modules/vite-plugin-singlefile": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/vite-plugin-singlefile/-/vite-plugin-singlefile-2.3.0.tgz", - "integrity": "sha512-DAcHzYypM0CasNLSz/WG0VdKOCxGHErfrjOoyIPiNxTPTGmO6rRD/te93n1YL/s+miXq66ipF1brMBikf99c6A==", "dev": true, "license": "MIT", "dependencies": { @@ -7321,10 +7368,51 @@ "vite": "^5.4.11 || ^6.0.0 || ^7.0.0" } }, + "node_modules/vite-plugin-solid": { + "version": "2.11.10", + "resolved": "https://registry.npmjs.org/vite-plugin-solid/-/vite-plugin-solid-2.11.10.tgz", + "integrity": "sha512-Yr1dQybmtDtDAHkii6hXuc1oVH9CPcS/Zb2jN/P36qqcrkNnVPsMTzQ06jyzFPFjj3U1IYKMVt/9ZqcwGCEbjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.3", + "@types/babel__core": "^7.20.4", + "babel-preset-solid": "^1.8.4", + "merge-anything": "^5.1.7", + "solid-refresh": "^0.6.3", + "vitefu": "^1.0.4" + }, + "peerDependencies": { + "@testing-library/jest-dom": "^5.16.6 || ^5.17.0 || ^6.*", + "solid-js": "^1.7.2", + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "@testing-library/jest-dom": { + "optional": true + } + } + }, + "node_modules/vite-prerender-plugin": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/vite-prerender-plugin/-/vite-prerender-plugin-0.5.12.tgz", + "integrity": "sha512-EiwhbMn+flg14EysbLTmZSzq8NGTxhytgK3bf4aGRF1evWLGwZiHiUJ1KZDvbxgKbMf2pG6fJWGEa3UZXOnR1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "kolorist": "^1.8.0", + "magic-string": "0.x >= 0.26.0", + "node-html-parser": "^6.1.12", + "simple-code-frame": "^1.3.0", + "source-map": "^0.7.4", + "stack-trace": "^1.0.0-pre2" + }, + "peerDependencies": { + "vite": "5.x || 6.x || 7.x" + } + }, "node_modules/vite/node_modules/fdir": { "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, "license": "MIT", "engines": { @@ -7341,8 +7429,6 @@ }, "node_modules/vite/node_modules/picomatch": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "peer": true, @@ -7353,10 +7439,28 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/vitefu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz", + "integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==", + "dev": true, + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, "node_modules/vitest": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", - "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", "dev": true, "license": "MIT", "dependencies": { @@ -7428,8 +7532,6 @@ }, "node_modules/vitest/node_modules/picomatch": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { @@ -7439,10 +7541,30 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/vue": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.26.tgz", + "integrity": "sha512-SJ/NTccVyAoNUJmkM9KUqPcYlY+u8OVL1X5EW9RIs3ch5H2uERxyyIUI4MRxVCSOiEcupX9xNGde1tL9ZKpimA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@vue/compiler-dom": "3.5.26", + "@vue/compiler-sfc": "3.5.26", + "@vue/runtime-dom": "3.5.26", + "@vue/server-renderer": "3.5.26", + "@vue/shared": "3.5.26" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/whatwg-encoding": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", - "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", "license": "MIT", "dependencies": { "iconv-lite": "0.6.3" @@ -7453,8 +7575,6 @@ }, "node_modules/whatwg-encoding/node_modules/iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -7465,8 +7585,6 @@ }, "node_modules/whatwg-mimetype": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", - "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", "license": "MIT", "engines": { "node": ">=18" @@ -7474,8 +7592,6 @@ }, "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -7489,8 +7605,6 @@ }, "node_modules/why-is-node-running": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, "license": "MIT", "dependencies": { @@ -7506,8 +7620,6 @@ }, "node_modules/widest-line": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", "dev": true, "license": "MIT", "dependencies": { @@ -7523,15 +7635,11 @@ }, "node_modules/wordwrap": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true, "license": "MIT" }, "node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "license": "MIT", "dependencies": { @@ -7548,8 +7656,6 @@ }, "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "engines": { @@ -7558,8 +7664,6 @@ }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { @@ -7571,14 +7675,10 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "license": "ISC" }, "node_modules/y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, "license": "ISC", "engines": { @@ -7587,15 +7687,11 @@ }, "node_modules/yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true, "license": "ISC" }, "node_modules/yaml": { "version": "2.8.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", - "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", "dev": true, "license": "ISC", "peer": true, @@ -7611,8 +7707,6 @@ }, "node_modules/yargs": { "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "license": "MIT", "dependencies": { @@ -7630,18 +7724,20 @@ }, "node_modules/yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "license": "ISC", "engines": { "node": ">=12" } }, + "node_modules/zimmerframe": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.4.tgz", + "integrity": "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==", + "license": "MIT" + }, "node_modules/zod": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.2.1.tgz", - "integrity": "sha512-0wZ1IRqGGhMP76gLqz8EyfBXKk0J2qo2+H3fi4mcUP/KtTocoX08nmIAHl1Z2kJIZbZee8KOpBCSNPRgauucjw==", "license": "MIT", "peer": true, "funding": { @@ -7650,8 +7746,6 @@ }, "node_modules/zod-to-json-schema": { "version": "3.25.0", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.0.tgz", - "integrity": "sha512-HvWtU2UG41LALjajJrML6uQejQhNJx+JBO9IflpSja4R03iNWfKXrj6W2h7ljuLyc1nKS+9yDyL/9tD1U/yBnQ==", "license": "ISC", "peerDependencies": { "zod": "^3.25 || ^4" diff --git a/tests/e2e/servers.spec.ts b/tests/e2e/servers.spec.ts index e4b1bb5..56d845a 100644 --- a/tests/e2e/servers.spec.ts +++ b/tests/e2e/servers.spec.ts @@ -5,8 +5,12 @@ import { test, expect, type Page, type ConsoleMessage } from "@playwright/test"; // with partial matches (e.g., [class*="heatmapWrapper"]) for those components const DYNAMIC_MASKS: Record = { integration: ["#server-time"], // Server time display + "basic-preact": ["#server-time"], // Server time display "basic-react": ["#server-time"], // Server time display + "basic-solid": ["#server-time"], // Server time display + "basic-svelte": ["#server-time"], // Server time display "basic-vanillajs": ["#server-time"], // Server time display + "basic-vue": ["#server-time"], // Server time display "cohort-heatmap": ['[class*="heatmapWrapper"]'], // Heatmap grid (random data) "customer-segmentation": [".chart-container"], // Scatter plot (random data) "system-monitor": [ @@ -24,8 +28,12 @@ const DYNAMIC_MASKS: Record = { // Server configurations (key is used for screenshot filenames, name is the MCP server name) const SERVERS = [ { key: "integration", name: "Integration Test Server" }, + { key: "basic-preact", name: "Basic MCP App Server (Preact)" }, { key: "basic-react", name: "Basic MCP App Server (React)" }, + { key: "basic-solid", name: "Basic MCP App Server (Solid)" }, + { key: "basic-svelte", name: "Basic MCP App Server (Svelte)" }, { key: "basic-vanillajs", name: "Basic MCP App Server (Vanilla JS)" }, + { key: "basic-vue", name: "Basic MCP App Server (Vue)" }, { key: "budget-allocator", name: "Budget Allocator Server" }, { key: "cohort-heatmap", name: "Cohort Heatmap Server" }, { key: "customer-segmentation", name: "Customer Segmentation Server" }, diff --git a/tests/e2e/servers.spec.ts-snapshots/basic-preact.png b/tests/e2e/servers.spec.ts-snapshots/basic-preact.png new file mode 100644 index 0000000000000000000000000000000000000000..a63dd8bfcd87b6de4831bdc1717c561294442080 GIT binary patch literal 48110 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%0D0)}~U{^JjR6)DH2t(`C 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/servers.spec.ts-snapshots/basic-svelte.png b/tests/e2e/servers.spec.ts-snapshots/basic-svelte.png new file mode 100644 index 0000000000000000000000000000000000000000..179665b3ce4ee3fb7aebd0a5ff0dbce415d5eeba GIT binary patch literal 48075 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≧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 L9{qwH&Zqwazw=1h literal 0 HcmV?d00001