From 6bb63c3bae3ad7fd7d9d7a695c92c9fdce7037d4 Mon Sep 17 00:00:00 2001 From: Olivier Chafik Date: Mon, 12 Jan 2026 21:27:31 +0000 Subject: [PATCH] examples: add transcript-server example with live speech transcription (#240) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add transcript-server example with live speech transcription - New example: transcript-server with Web Speech API transcription - Start/stop recording with timer display - Live transcript with interim results - Send button to send transcript as ui/message to host - Copy button to copy full transcript - Sent messages marked with divider, greyed out - Experimental ui/update-model-context for live context updates - Transparent background, respects host theme - Enable microphone and clipboard in basic-host sandbox iframes - Add allow="microphone; clipboard-write" to both outer and inner iframes - Required for Web Speech API, audio capture, and clipboard access - Add alert popup in basic-host for ui/message from apps 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 * style: format transcript-server files 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 * test: add e2e test and golden for transcript-server 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 * refactor: use @types/dom-speech-recognition instead of hand-rolled types Removes ~50 lines of manually defined Web Speech API types in favor of the community-maintained type package. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 * fix: add newlines between transcript chunks when copying to clipboard * refactor: unify transcript formatting with timestamps - Add formatEntry() helper that includes [timestamp] prefix - Add formatEntries() helper that joins entries with newlines - Use same format for clipboard copy, send message, and model context - DRY up duplicate code in send button handler * fix: log model context update failures instead of silently swallowing * fix: log model context updates for debugging * refactor: pass permissions through loadSandboxProxy like csp - Add permissions parameter to loadSandboxProxy in implementation.ts - Build iframe allow attribute from permissions instead of hardcoding - Update sandbox.ts to not hardcode allow attribute (set via notification) - Add microphone + clipboardWrite permissions to transcript-server resource - Update README to reflect permission configuration via resource _meta.ui * fix(transcript-server): auto-expand instead of scroll - Remove min-height: 100vh and overflow-y: auto - Let content grow naturally with autoResize (default) - Remove unnecessary scrollTop calls * test: remove transcript timer mask (no longer dynamic) * refactor: pass permissions through loadSandboxProxy like csp * docs: document updateModelContext for transitional speech * test: update e2e screenshots * refactor: use app.updateModelContext() instead of raw request * package-lock.json * src/generated/schema.json * test: update e2e screenshots from CI --------- Co-authored-by: Claude Opus 4.5 --- examples/transcript-server/README.md | 89 + examples/transcript-server/mcp-app.html | 45 + examples/transcript-server/package.json | 44 + examples/transcript-server/server-utils.ts | 69 + examples/transcript-server/server.ts | 100 + examples/transcript-server/src/global.css | 12 + examples/transcript-server/src/mcp-app.css | 238 +++ examples/transcript-server/src/mcp-app.ts | 484 +++++ examples/transcript-server/tsconfig.json | 19 + examples/transcript-server/vite.config.ts | 24 + package-lock.json | 1823 +++++++++++++---- src/generated/schema.json | 658 +++++- tests/e2e/servers.spec.ts | 1 + .../basic-preact.png | Bin 55054 -> 55385 bytes .../servers.spec.ts-snapshots/basic-react.png | Bin 55588 -> 55834 bytes .../servers.spec.ts-snapshots/basic-solid.png | Bin 55492 -> 55584 bytes .../basic-svelte.png | Bin 55065 -> 55290 bytes .../basic-vanillajs.png | Bin 56188 -> 56333 bytes .../servers.spec.ts-snapshots/basic-vue.png | Bin 54847 -> 54991 bytes .../servers.spec.ts-snapshots/integration.png | Bin 53319 -> 53465 bytes .../system-monitor.png | Bin 41050 -> 41057 bytes .../servers.spec.ts-snapshots/transcript.png | Bin 0 -> 25574 bytes 22 files changed, 3117 insertions(+), 489 deletions(-) create mode 100644 examples/transcript-server/README.md create mode 100644 examples/transcript-server/mcp-app.html create mode 100644 examples/transcript-server/package.json create mode 100644 examples/transcript-server/server-utils.ts create mode 100644 examples/transcript-server/server.ts create mode 100644 examples/transcript-server/src/global.css create mode 100644 examples/transcript-server/src/mcp-app.css create mode 100644 examples/transcript-server/src/mcp-app.ts create mode 100644 examples/transcript-server/tsconfig.json create mode 100644 examples/transcript-server/vite.config.ts create mode 100644 tests/e2e/servers.spec.ts-snapshots/transcript.png diff --git a/examples/transcript-server/README.md b/examples/transcript-server/README.md new file mode 100644 index 0000000..057bc4f --- /dev/null +++ b/examples/transcript-server/README.md @@ -0,0 +1,89 @@ +# Transcript Server + +An MCP App Server for live speech transcription using the Web Speech API. + +## Features + +- **Live Transcription**: Real-time speech-to-text using browser's Web Speech API +- **Transitional Model Context**: Streams interim transcriptions to the model via `ui/update-model-context`, allowing the model to see what the user is saying as they speak +- **Audio Level Indicator**: Visual feedback showing microphone input levels +- **Send to Host**: Button to send completed transcriptions as a `ui/message` to the MCP host +- **Start/Stop Control**: Toggle listening on and off +- **Clear Transcript**: Reset the transcript area + +## Setup + +### Prerequisites + +- Node.js 18+ +- Chrome, Edge, or Safari (Web Speech API support) + +### Installation + +```bash +npm install +``` + +### Running + +```bash +# Development mode (with hot reload) +npm run dev + +# Production build and serve +npm run start +``` + +## Usage + +The server exposes a single tool: + +### `transcribe` + +Opens a live speech transcription interface. + +**Parameters:** None + +**Example:** + +```json +{ + "name": "transcribe", + "arguments": {} +} +``` + +## How It Works + +1. Click **Start** to begin listening +2. Speak into your microphone +3. Watch your speech appear as text in real-time (interim text is streamed to model context via `ui/update-model-context`) +4. Click **Send** to send the transcript as a `ui/message` to the host (clears the model context) +5. Click **Clear** to reset the transcript + +## Architecture + +``` +transcript-server/ +├── server.ts # MCP server with transcribe tool +├── server-utils.ts # HTTP transport utilities +├── mcp-app.html # Transcript UI entry point +├── src/ +│ ├── mcp-app.ts # App logic, Web Speech API integration +│ ├── mcp-app.css # Transcript UI styles +│ └── global.css # Base styles +└── dist/ # Built output (single HTML file) +``` + +## Notes + +- **Microphone Permission**: Requires `allow="microphone"` on the sandbox iframe (configured via `permissions: { microphone: {} }` in the resource `_meta.ui`) +- **Browser Support**: Web Speech API is well-supported in Chrome/Edge, with Safari support. Firefox has limited support. +- **Continuous Mode**: Recognition automatically restarts when it ends, for seamless transcription + +## Future Enhancements + +- Language selection dropdown +- Whisper-based offline transcription (see TRANSCRIPTION.md) +- Export transcript to file +- Timestamps toggle diff --git a/examples/transcript-server/mcp-app.html b/examples/transcript-server/mcp-app.html new file mode 100644 index 0000000..169058d --- /dev/null +++ b/examples/transcript-server/mcp-app.html @@ -0,0 +1,45 @@ + + + + + + Live Transcript + + +
+ +
+
+

Your speech will appear here...

+
+
+ + +
+
+ +
+
+
+ 0:00 +
+
+ + + +
+
+
+ + + diff --git a/examples/transcript-server/package.json b/examples/transcript-server/package.json new file mode 100644 index 0000000..fe884dd --- /dev/null +++ b/examples/transcript-server/package.json @@ -0,0 +1,44 @@ +{ + "name": "@modelcontextprotocol/server-transcript", + "version": "0.1.0", + "type": "module", + "description": "MCP App Server for live speech transcription", + "repository": { + "type": "git", + "url": "https://github.com/modelcontextprotocol/ext-apps", + "directory": "examples/transcript-server" + }, + "license": "MIT", + "main": "server.ts", + "files": [ + "server.ts", + "server-utils.ts", + "dist" + ], + "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'", + "prepublishOnly": "npm run build" + }, + "dependencies": { + "@modelcontextprotocol/ext-apps": "^0.3.1", + "@modelcontextprotocol/sdk": "^1.24.0", + "zod": "^3.23.0" + }, + "devDependencies": { + "@types/cors": "^2.8.19", + "@types/dom-speech-recognition": "^0.0.7", + "@types/express": "^5.0.0", + "@types/node": "^22.0.0", + "concurrently": "^9.2.1", + "cors": "^2.8.5", + "cross-env": "^10.1.0", + "express": "^5.1.0", + "typescript": "^5.9.3", + "vite": "^6.0.0", + "vite-plugin-singlefile": "^2.3.0" + } +} diff --git a/examples/transcript-server/server-utils.ts b/examples/transcript-server/server-utils.ts new file mode 100644 index 0000000..752edfa --- /dev/null +++ b/examples/transcript-server/server-utils.ts @@ -0,0 +1,69 @@ +/** + * Shared utilities for running MCP servers with Streamable HTTP transport. + */ + +import { createMcpExpressApp } from "@modelcontextprotocol/sdk/server/express.js"; +import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; +import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js"; +import cors from "cors"; +import type { Request, Response } from "express"; + +export interface ServerOptions { + port: number; + name?: string; +} + +/** + * Starts an MCP server with Streamable HTTP transport in stateless mode. + */ +export async function startServer( + createServer: () => McpServer, + options: ServerOptions, +): Promise { + const { port, name = "MCP Server" } = options; + + const app = createMcpExpressApp({ host: "0.0.0.0" }); + app.use(cors()); + + app.all("/mcp", async (req: Request, res: Response) => { + const server = createServer(); + const transport = new StreamableHTTPServerTransport({ + sessionIdGenerator: undefined, + }); + + 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 httpServer = app.listen(port, (err) => { + if (err) { + console.error("Failed to start server:", err); + process.exit(1); + } + console.log(`${name} listening on http://localhost:${port}/mcp`); + }); + + const shutdown = () => { + console.log("\nShutting down..."); + httpServer.close(() => process.exit(0)); + }; + + process.on("SIGINT", shutdown); + process.on("SIGTERM", shutdown); +} diff --git a/examples/transcript-server/server.ts b/examples/transcript-server/server.ts new file mode 100644 index 0000000..b4cdd09 --- /dev/null +++ b/examples/transcript-server/server.ts @@ -0,0 +1,100 @@ +import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; +import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; +import type { + CallToolResult, + ReadResourceResult, +} from "@modelcontextprotocol/sdk/types.js"; +import fs from "node:fs/promises"; +import path from "node:path"; +import { + registerAppTool, + registerAppResource, + RESOURCE_MIME_TYPE, + RESOURCE_URI_META_KEY, +} from "@modelcontextprotocol/ext-apps/server"; +import { startServer } from "./server-utils.js"; + +const DIST_DIR = path.join(import.meta.dirname, "dist"); +const RESOURCE_URI = "ui://transcript/mcp-app.html"; + +/** + * Creates a new MCP server instance with tools and resources registered. + */ +export function createServer(): McpServer { + const server = new McpServer({ + name: "Transcript Server", + version: "1.0.0", + }); + + // Register the transcribe tool - opens a UI for live speech transcription + registerAppTool( + server, + "transcribe", + { + title: "Transcribe Speech", + description: + "Opens a live speech transcription interface using the Web Speech API.", + inputSchema: {}, + _meta: { [RESOURCE_URI_META_KEY]: RESOURCE_URI }, + }, + async (): Promise => { + return { + content: [ + { + type: "text", + text: JSON.stringify({ + status: "ready", + message: "Transcription UI opened. Speak into your microphone.", + }), + }, + ], + }; + }, + ); + + // Register the UI resource + registerAppResource( + server, + RESOURCE_URI, + RESOURCE_URI, + { mimeType: RESOURCE_MIME_TYPE, description: "Transcript UI" }, + async (): Promise => { + const html = await fs.readFile( + path.join(DIST_DIR, "mcp-app.html"), + "utf-8", + ); + + return { + contents: [ + { + uri: RESOURCE_URI, + mimeType: RESOURCE_MIME_TYPE, + text: html, + _meta: { + ui: { + // Request microphone for Web Speech API, clipboard for copy button + permissions: { microphone: {}, clipboardWrite: {} }, + }, + }, + }, + ], + }; + }, + ); + + return server; +} + +async function main() { + if (process.argv.includes("--stdio")) { + await createServer().connect(new StdioServerTransport()); + } else { + const port = parseInt(process.env.PORT ?? "3109", 10); + await startServer(createServer, { port, name: "Transcript Server" }); + } +} + +main().catch((e) => { + console.error(e); + process.exit(1); +}); diff --git a/examples/transcript-server/src/global.css b/examples/transcript-server/src/global.css new file mode 100644 index 0000000..0370932 --- /dev/null +++ b/examples/transcript-server/src/global.css @@ -0,0 +1,12 @@ +* { + box-sizing: border-box; +} + +html, body { + font-family: system-ui, -apple-system, sans-serif; + font-size: 1rem; + margin: 0; + padding: 0; + /* No height: 100% - body must grow with content for ResizeObserver to detect changes */ + background: transparent; +} diff --git a/examples/transcript-server/src/mcp-app.css b/examples/transcript-server/src/mcp-app.css new file mode 100644 index 0000000..a7f70ce --- /dev/null +++ b/examples/transcript-server/src/mcp-app.css @@ -0,0 +1,238 @@ +.transcript-app { + --color-primary: #2563eb; + --color-primary-hover: #1d4ed8; + --color-secondary: #6b7280; + --color-secondary-hover: #4b5563; + --color-accent: #10b981; + --color-accent-hover: #059669; + --color-success: #16a34a; + --color-surface: rgba(255, 255, 255, 0.8); + --color-border: rgba(0, 0, 0, 0.1); + --color-text: #111827; + --color-text-secondary: #6b7280; + + display: flex; + flex-direction: column; + width: 100%; + max-width: 500px; + /* Auto-expand: no fixed height, let content determine size */ + margin: 0 auto; + padding: 1rem; + gap: 1rem; + background: transparent; + color: var(--color-text); +} + +/* Dark theme via host context */ +[data-theme="dark"] .transcript-app { + --color-surface: rgba(31, 41, 55, 0.8); + --color-border: rgba(255, 255, 255, 0.1); + --color-text: #f9fafb; + --color-text-secondary: #9ca3af; +} + +/* Transcript Section */ +.transcript-section { + display: flex; + flex-direction: column; + background: var(--color-surface); + backdrop-filter: blur(8px); + -webkit-backdrop-filter: blur(8px); + border-radius: 12px; + border: 1px solid var(--color-border); +} + +.transcript { + padding: 1rem; + min-height: 80px; + /* No max-height - grows freely, host handles scrolling via autoResize */ +} + +.transcript-placeholder { + color: var(--color-text-secondary); + font-style: italic; + margin: 0; + text-align: center; + padding: 2rem 1rem; +} + +.transcript-entry { + margin: 0 0 0.5rem 0; + padding: 0.5rem 0.75rem; + background: var(--color-border); + border-radius: 8px; + font-size: 0.9375rem; + line-height: 1.5; +} + +.transcript-entry.interim { + opacity: 0.6; + font-style: italic; + border-left: 3px solid var(--color-primary); +} + +.transcript-entry.sent { + opacity: 0.5; +} + +.transcript-entry .timestamp { + font-size: 0.7rem; + color: var(--color-text-secondary); + margin-bottom: 0.125rem; +} + +/* Sent divider */ +.sent-divider { + display: flex; + align-items: center; + gap: 0.5rem; + margin: 0.75rem 0; + font-size: 0.7rem; + color: var(--color-text-secondary); + opacity: 0.6; +} + +.sent-divider::before, +.sent-divider::after { + content: ""; + flex: 1; + height: 1px; + background: var(--color-border); +} + +.sent-divider span { + white-space: nowrap; +} + +/* Controls */ +.controls { + display: flex; + align-items: center; + justify-content: space-between; + gap: 1rem; +} + +.controls-left { + display: flex; + align-items: center; + gap: 0.75rem; + flex: 1; +} + +.controls-right { + display: flex; + align-items: center; + gap: 0.5rem; +} + +/* Level bar inline */ +.level-bar { + flex: 1; + height: 8px; + max-width: 120px; + background: var(--color-border); + border-radius: 4px; + overflow: hidden; + opacity: 0; + transition: opacity 0.2s; +} + +.level-bar.active { + opacity: 1; +} + +/* Timer */ +.timer { + font-size: 0.8rem; + font-variant-numeric: tabular-nums; + color: var(--color-text-secondary); + opacity: 0; + transition: opacity 0.2s; + min-width: 3em; +} + +.timer.active { + opacity: 1; +} + +.level-fill { + height: 100%; + width: 0%; + background: var(--color-success); + border-radius: 4px; + transition: width 0.1s ease-out; +} + +/* Buttons */ +.btn { + display: flex; + align-items: center; + gap: 0.375rem; + padding: 0.5rem 1rem; + font-size: 0.875rem; + font-weight: 500; + border: none; + border-radius: 8px; + cursor: pointer; + transition: background 0.15s, transform 0.1s, opacity 0.15s; + white-space: nowrap; +} + +.btn:active { + transform: scale(0.97); +} + +.btn:disabled { + opacity: 0.5; + cursor: not-allowed; + transform: none; +} + +.btn-icon { + width: 16px; + height: 16px; +} + +.btn-primary { + background: var(--color-primary); + color: white; +} + +.btn-primary:hover:not(:disabled) { + background: var(--color-primary-hover); +} + +.btn-primary.recording { + background: #dc2626; +} + +.btn-primary.recording:hover:not(:disabled) { + background: #b91c1c; +} + +.btn-secondary { + background: var(--color-surface); + backdrop-filter: blur(8px); + -webkit-backdrop-filter: blur(8px); + color: var(--color-text); + border: 1px solid var(--color-border); +} + +.btn-secondary:hover:not(:disabled) { + background: var(--color-border); +} + +.btn-secondary.copied { + background: var(--color-success); + color: white; + border-color: var(--color-success); +} + +.btn-accent { + background: var(--color-accent); + color: white; +} + +.btn-accent:hover:not(:disabled) { + background: var(--color-accent-hover); +} diff --git a/examples/transcript-server/src/mcp-app.ts b/examples/transcript-server/src/mcp-app.ts new file mode 100644 index 0000000..e079768 --- /dev/null +++ b/examples/transcript-server/src/mcp-app.ts @@ -0,0 +1,484 @@ +/** + * Live Transcript MCP App + * + * Simple speech-to-text transcription using Web Speech API. + * Transcribed text can be sent to the host via ui/message. + */ +import { + App, + type McpUiHostContext, + applyDocumentTheme, +} from "@modelcontextprotocol/ext-apps"; +import "./global.css"; +import "./mcp-app.css"; + +const log = { + info: console.log.bind(console, "[Transcript]"), + warn: console.warn.bind(console, "[Transcript]"), + error: console.error.bind(console, "[Transcript]"), +}; + +// ============================================================================ +// DOM Elements +// ============================================================================ + +const mainEl = document.querySelector(".transcript-app") as HTMLElement; +const levelBarEl = document.getElementById("level-bar")!; +const micLevelEl = document.getElementById("mic-level")!; +const timerEl = document.getElementById("timer")!; +const transcriptEl = document.getElementById("transcript")!; +const startBtn = document.getElementById("start-btn")!; +const copyBtn = document.getElementById("copy-btn")!; +const clearBtn = document.getElementById("clear-btn")!; +const sendBtn = document.getElementById("send-btn") as HTMLButtonElement; + +// ============================================================================ +// State +// ============================================================================ + +let isListening = false; +let lastSentIndex = 0; // Track how many entries have been sent + +// Timer +let timerStart: number | null = null; +let timerInterval: number | null = null; + +// Audio +let audioContext: AudioContext | null = null; +let micStream: MediaStream | null = null; +let micAnalyser: AnalyserNode | null = null; +let animationFrame: number | null = null; + +// Speech Recognition +let recognition: SpeechRecognition | null = null; + +// ============================================================================ +// MCP App Setup +// ============================================================================ + +const app = new App({ name: "Live Transcript", version: "1.0.0" }); + +app.onteardown = async () => { + log.info("App teardown"); + stopListening(); + return {}; +}; + +app.onerror = log.error; + +app.onhostcontextchanged = (ctx: McpUiHostContext) => { + if (ctx.safeAreaInsets) { + mainEl.style.paddingTop = `${ctx.safeAreaInsets.top}px`; + mainEl.style.paddingRight = `${ctx.safeAreaInsets.right}px`; + mainEl.style.paddingBottom = `${ctx.safeAreaInsets.bottom}px`; + mainEl.style.paddingLeft = `${ctx.safeAreaInsets.left}px`; + } + if (ctx.theme) { + applyDocumentTheme(ctx.theme); + } +}; + +// ============================================================================ +// Audio Capture +// ============================================================================ + +async function startAudioCapture(): Promise { + try { + audioContext = new AudioContext(); + micStream = await navigator.mediaDevices.getUserMedia({ audio: true }); + + const source = audioContext.createMediaStreamSource(micStream); + micAnalyser = audioContext.createAnalyser(); + micAnalyser.fftSize = 256; + source.connect(micAnalyser); + + updateAudioLevels(); + log.info("Audio capture started"); + return true; + } catch (e) { + log.error("Failed to start audio capture:", e); + return false; + } +} + +function updateAudioLevels() { + if (micAnalyser && isListening) { + const dataArray = new Uint8Array(micAnalyser.frequencyBinCount); + micAnalyser.getByteFrequencyData(dataArray); + + const average = dataArray.reduce((a, b) => a + b, 0) / dataArray.length; + const level = Math.min(100, (average / 128) * 100); + micLevelEl.style.width = `${level}%`; + } else { + micLevelEl.style.width = "0%"; + } + + animationFrame = requestAnimationFrame(updateAudioLevels); +} + +function stopAudioCapture() { + if (animationFrame) { + cancelAnimationFrame(animationFrame); + animationFrame = null; + } + + if (micStream) { + micStream.getTracks().forEach((track) => track.stop()); + micStream = null; + } + + if (audioContext) { + audioContext.close(); + audioContext = null; + } + + micLevelEl.style.width = "0%"; +} + +// ============================================================================ +// Speech Recognition +// ============================================================================ + +function startSpeechRecognition(): boolean { + const SpeechRecognitionCtor = + window.SpeechRecognition || window.webkitSpeechRecognition; + + if (!SpeechRecognitionCtor) { + log.warn("Speech recognition not supported"); + return false; + } + + recognition = new SpeechRecognitionCtor(); + recognition.continuous = true; + recognition.interimResults = true; + recognition.lang = "en-US"; + + recognition.onstart = () => { + log.info("Speech recognition started"); + }; + + recognition.onresult = (event) => { + const e = event as SpeechRecognitionEvent; + for (let i = e.resultIndex; i < e.results.length; i++) { + const result = e.results[i]; + const transcript = result[0].transcript; + + if (result.isFinal) { + addTranscriptEntry(transcript, true); + updateSendButton(); + updateModelContext(); + } else { + updateInterimTranscript(transcript); + } + } + }; + + recognition.onerror = (event) => { + const e = event as SpeechRecognitionErrorEvent; + log.error("Speech recognition error:", e.error); + if (e.error === "not-allowed") { + addTranscriptEntry("Microphone access denied", true); + stopListening(); + } + }; + + recognition.onend = () => { + log.info("Speech recognition ended"); + if (isListening) { + // Restart if still supposed to be listening + try { + recognition?.start(); + } catch (e) { + // Ignore + } + } + }; + + try { + recognition.start(); + return true; + } catch (e) { + log.error("Failed to start speech recognition:", e); + return false; + } +} + +function stopSpeechRecognition() { + if (recognition) { + try { + recognition.stop(); + } catch (e) { + // Ignore + } + recognition = null; + } +} + +// ============================================================================ +// UI Helpers +// ============================================================================ + +function clearTranscriptPlaceholder() { + const placeholder = transcriptEl.querySelector(".transcript-placeholder"); + if (placeholder) { + placeholder.remove(); + } +} + +function formatTime(seconds: number): string { + const mins = Math.floor(seconds / 60); + const secs = seconds % 60; + return `${mins}:${secs.toString().padStart(2, "0")}`; +} + +function startTimer() { + timerStart = Date.now(); + timerEl.textContent = "0:00"; + timerEl.classList.add("active"); + timerInterval = window.setInterval(() => { + if (timerStart) { + const elapsed = Math.floor((Date.now() - timerStart) / 1000); + timerEl.textContent = formatTime(elapsed); + } + }, 1000); +} + +function stopTimer() { + if (timerInterval) { + clearInterval(timerInterval); + timerInterval = null; + } + timerEl.classList.remove("active"); +} + +function addTranscriptEntry(text: string, isFinal: boolean) { + // Skip empty entries + if (!text.trim()) return; + + clearTranscriptPlaceholder(); + + // Remove interim entry + const interim = transcriptEl.querySelector(".transcript-entry.interim"); + if (interim) { + interim.remove(); + } + + const timestamp = new Date().toLocaleTimeString(); + + const entry = document.createElement("p"); + entry.className = `transcript-entry${isFinal ? "" : " interim"}`; + entry.innerHTML = `
${timestamp}
${escapeHtml(text)}`; + transcriptEl.appendChild(entry); +} + +function updateInterimTranscript(text: string) { + clearTranscriptPlaceholder(); + + let interim = transcriptEl.querySelector( + ".transcript-entry.interim", + ) as HTMLElement; + if (!interim) { + interim = document.createElement("p"); + interim.className = "transcript-entry interim"; + transcriptEl.appendChild(interim); + } + + const timestamp = new Date().toLocaleTimeString(); + interim.innerHTML = `
${timestamp}
${escapeHtml(text)}`; +} + +function escapeHtml(text: string): string { + const div = document.createElement("div"); + div.textContent = text; + return div.innerHTML; +} + +function formatEntry(entry: HTMLElement): string { + const timestamp = entry.querySelector(".timestamp")?.textContent?.trim(); + const clone = entry.cloneNode(true) as HTMLElement; + clone.querySelector(".timestamp")?.remove(); + const text = clone.textContent?.trim() || ""; + if (!text) return ""; + return timestamp ? `[${timestamp}] ${text}` : text; +} + +function formatEntries(entries: HTMLElement[]): string { + return entries.map(formatEntry).filter(Boolean).join("\n"); +} + +function getAllEntries(): HTMLElement[] { + return Array.from( + transcriptEl.querySelectorAll(".transcript-entry:not(.interim)"), + ) as HTMLElement[]; +} + +function getUnsentEntries(): HTMLElement[] { + return getAllEntries().slice(lastSentIndex); +} + +function getAllTranscriptText(): string { + return formatEntries(getAllEntries()); +} + +function getUnsentText(): string { + return formatEntries(getUnsentEntries()); +} + +function updateSendButton() { + const unsentEntries = getUnsentEntries(); + sendBtn.disabled = unsentEntries.length === 0; +} + +function updateModelContext() { + const caps = app.getHostCapabilities(); + if (!caps?.updateModelContext) return; + + const text = getUnsentText(); + log.info("Updating model context:", text || "(empty)"); + + app + .updateModelContext({ + content: text + ? [{ type: "text", text: `[Live transcript]: ${text}` }] + : [], + }) + .catch((e: unknown) => { + log.warn("Failed to update model context:", e); + }); +} + +// ============================================================================ +// Controls +// ============================================================================ + +async function startListening() { + isListening = true; + startBtn.innerHTML = ` + + + + + Stop + `; + startBtn.classList.add("recording"); + levelBarEl.classList.add("active"); + startTimer(); + + const micOk = await startAudioCapture(); + if (!micOk) { + addTranscriptEntry("Microphone access denied", true); + stopListening(); + return; + } + + if (!startSpeechRecognition()) { + addTranscriptEntry("Speech recognition not available", true); + stopListening(); + } +} + +function stopListening() { + isListening = false; + startBtn.innerHTML = ` + + + + Start + `; + startBtn.classList.remove("recording"); + levelBarEl.classList.remove("active"); + stopTimer(); + + stopSpeechRecognition(); + stopAudioCapture(); +} + +startBtn.addEventListener("click", () => { + if (isListening) { + stopListening(); + } else { + startListening(); + } +}); + +copyBtn.addEventListener("click", async () => { + const text = getAllTranscriptText(); + if (!text) return; + + try { + await navigator.clipboard.writeText(text); + // Brief visual feedback + copyBtn.classList.add("copied"); + setTimeout(() => copyBtn.classList.remove("copied"), 1000); + log.info("Transcript copied to clipboard"); + } catch (e) { + log.error("Failed to copy:", e); + } +}); + +clearBtn.addEventListener("click", () => { + transcriptEl.innerHTML = + '

Your speech will appear here...

'; + lastSentIndex = 0; + updateSendButton(); + updateModelContext(); +}); + +sendBtn.addEventListener("click", async () => { + const unsentEntries = getUnsentEntries(); + if (unsentEntries.length === 0) return; + + const transcriptText = getUnsentText(); + if (!transcriptText) return; + + log.info("Sending transcript:", transcriptText); + + try { + const { isError } = await app.sendMessage({ + role: "user", + content: [{ type: "text", text: transcriptText }], + }); + + if (isError) { + log.warn("Message was rejected"); + } else { + log.info("Message sent successfully"); + + // Mark entries as sent + unsentEntries.forEach((entry) => entry.classList.add("sent")); + + // Remove any existing divider + transcriptEl.querySelector(".sent-divider")?.remove(); + + // Add divider after the last sent entry + const lastEntry = unsentEntries[unsentEntries.length - 1]; + const divider = document.createElement("div"); + divider.className = "sent-divider"; + divider.innerHTML = `sent ${new Date().toLocaleTimeString()}`; + lastEntry.insertAdjacentElement("afterend", divider); + + // Update sent index + const allEntries = transcriptEl.querySelectorAll( + ".transcript-entry:not(.interim)", + ); + lastSentIndex = allEntries.length; + + updateSendButton(); + updateModelContext(); // Clear context since we just sent + } + } catch (e) { + log.error("Failed to send message:", e); + } +}); + +// ============================================================================ +// Initialize +// ============================================================================ + +app.connect().then(() => { + log.info("Connected to host"); + const ctx = app.getHostContext(); + if (ctx) { + app.onhostcontextchanged?.(ctx); + } +}); diff --git a/examples/transcript-server/tsconfig.json b/examples/transcript-server/tsconfig.json new file mode 100644 index 0000000..535267b --- /dev/null +++ b/examples/transcript-server/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"] +} diff --git a/examples/transcript-server/vite.config.ts b/examples/transcript-server/vite.config.ts new file mode 100644 index 0000000..6ff6d99 --- /dev/null +++ b/examples/transcript-server/vite.config.ts @@ -0,0 +1,24 @@ +import { defineConfig } from "vite"; +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: [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 66c9546..f70f840 100644 --- a/package-lock.json +++ b/package-lock.json @@ -95,7 +95,7 @@ } }, "examples/basic-host/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -132,7 +132,7 @@ } }, "examples/basic-server-preact/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -172,7 +172,7 @@ } }, "examples/basic-server-react/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -209,7 +209,7 @@ } }, "examples/basic-server-solid/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -246,7 +246,7 @@ } }, "examples/basic-server-svelte/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -281,7 +281,7 @@ } }, "examples/basic-server-vanillajs/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -318,7 +318,7 @@ } }, "examples/basic-server-vue/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -354,7 +354,7 @@ } }, "examples/budget-allocator-server/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -394,7 +394,7 @@ } }, "examples/cohort-heatmap-server/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -430,7 +430,7 @@ } }, "examples/customer-segmentation-server/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -467,7 +467,7 @@ } }, "examples/integration-server/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -502,7 +502,7 @@ } }, "examples/map-server/node_modules/@types/node": { - "version": "22.19.1", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -511,8 +511,6 @@ }, "examples/map-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" }, @@ -545,7 +543,7 @@ } }, "examples/scenario-modeler-server/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -580,7 +578,7 @@ } }, "examples/shadertoy-server/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -616,7 +614,7 @@ } }, "examples/sheet-music-server/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -653,7 +651,7 @@ } }, "examples/system-monitor-server/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -695,7 +693,7 @@ } }, "examples/threejs-server/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -707,6 +705,49 @@ "dev": true, "license": "MIT" }, + "examples/transcript-server": { + "name": "@modelcontextprotocol/server-transcript", + "version": "0.1.0", + "license": "MIT", + "dependencies": { + "@modelcontextprotocol/ext-apps": "^0.3.1", + "@modelcontextprotocol/sdk": "^1.24.0", + "zod": "^3.23.0" + }, + "devDependencies": { + "@types/cors": "^2.8.19", + "@types/dom-speech-recognition": "^0.0.7", + "@types/express": "^5.0.0", + "@types/node": "^22.0.0", + "concurrently": "^9.2.1", + "cors": "^2.8.5", + "cross-env": "^10.1.0", + "express": "^5.1.0", + "typescript": "^5.9.3", + "vite": "^6.0.0", + "vite-plugin-singlefile": "^2.3.0" + } + }, + "examples/transcript-server/node_modules/@types/node": { + "version": "22.19.5", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "examples/transcript-server/node_modules/undici-types": { + "version": "6.21.0", + "dev": true, + "license": "MIT" + }, + "examples/transcript-server/node_modules/zod": { + "version": "3.25.76", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, "examples/video-resource-server": { "name": "@modelcontextprotocol/server-video-resource", "version": "0.1.0", @@ -730,7 +771,7 @@ } }, "examples/video-resource-server/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -767,7 +808,7 @@ } }, "examples/wiki-explorer-server/node_modules/@types/node": { - "version": "22.19.3", + "version": "22.19.5", "dev": true, "license": "MIT", "dependencies": { @@ -780,11 +821,13 @@ "license": "MIT" }, "node_modules/@babel/code-frame": { - "version": "7.27.1", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", + "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -793,7 +836,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.28.5", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.6.tgz", + "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==", "dev": true, "license": "MIT", "engines": { @@ -801,20 +846,22 @@ } }, "node_modules/@babel/core": { - "version": "7.28.5", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz", + "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -832,6 +879,8 @@ }, "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": { @@ -839,12 +888,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.5", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz", + "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -855,6 +906,8 @@ }, "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": { @@ -865,11 +918,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.2", + "@babel/compat-data": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -881,6 +936,8 @@ }, "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": { @@ -889,6 +946,8 @@ }, "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": { @@ -896,25 +955,29 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -924,7 +987,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.27.1", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", "dev": true, "license": "MIT", "engines": { @@ -933,6 +998,8 @@ }, "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==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -940,6 +1007,8 @@ }, "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==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -947,6 +1016,8 @@ }, "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": { @@ -954,22 +1025,26 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.4", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.5", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", + "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", "license": "MIT", "dependencies": { - "@babel/types": "^7.28.5" + "@babel/types": "^7.28.6" }, "bin": { "parser": "bin/babel-parser.js" @@ -979,11 +1054,13 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.27.1", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -993,15 +1070,17 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.27.1", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.28.6.tgz", + "integrity": "sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow==", "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" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-syntax-jsx": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -1012,6 +1091,8 @@ }, "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": { @@ -1026,6 +1107,8 @@ }, "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": { @@ -1040,6 +1123,8 @@ }, "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": { @@ -1053,29 +1138,33 @@ } }, "node_modules/@babel/template": { - "version": "7.27.2", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.28.5", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", + "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6", "debug": "^4.3.1" }, "engines": { @@ -1083,7 +1172,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.5", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", + "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", @@ -1095,6 +1186,8 @@ }, "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": { @@ -1104,6 +1197,8 @@ }, "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": { @@ -1114,11 +1209,15 @@ }, "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" }, @@ -1396,6 +1495,8 @@ }, "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" ], @@ -1563,19 +1664,35 @@ } }, "node_modules/@gerrit0/mini-shiki": { - "version": "3.19.0", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.21.0.tgz", + "integrity": "sha512-9PrsT5DjZA+w3lur/aOIx3FlDeHdyCEFlv9U+fmsVyjPZh61G5SYURQ/1ebe2U63KbDmI2V8IhIUegWb8hjOyg==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/engine-oniguruma": "^3.19.0", - "@shikijs/langs": "^3.19.0", - "@shikijs/themes": "^3.19.0", - "@shikijs/types": "^3.19.0", + "@shikijs/engine-oniguruma": "^3.21.0", + "@shikijs/langs": "^3.21.0", + "@shikijs/themes": "^3.21.0", + "@shikijs/types": "^3.21.0", "@shikijs/vscode-textmate": "^10.0.2" } }, + "node_modules/@hono/node-server": { + "version": "1.19.8", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.8.tgz", + "integrity": "sha512-0/g2lIOPzX8f3vzW1ggQgvG5mjtFBDBHFAzI5SFAi2DzSqS9luJwqg9T6O/gKYLi+inS7eNxBeIFkkghIPvrMA==", + "license": "MIT", + "engines": { + "node": ">=18.14.1" + }, + "peerDependencies": { + "hono": "^4" + } + }, "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==", "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", @@ -1584,6 +1701,8 @@ }, "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==", "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -1592,6 +1711,8 @@ }, "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==", "license": "MIT", "engines": { "node": ">=6.0.0" @@ -1599,10 +1720,14 @@ }, "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==", "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==", "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -1611,6 +1736,8 @@ }, "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": { @@ -1622,9 +1749,12 @@ "link": true }, "node_modules/@modelcontextprotocol/sdk": { - "version": "1.24.3", + "version": "1.25.2", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.25.2.tgz", + "integrity": "sha512-LZFeo4F9M5qOhC/Uc1aQSrBHxMrvxett+9KLHt7OhcExtoiRN9DKgbZffMP/nxjutWDQpfMDfP3nkHI4X9ijww==", "license": "MIT", "dependencies": { + "@hono/node-server": "^1.19.7", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", @@ -1635,6 +1765,7 @@ "express": "^5.0.1", "express-rate-limit": "^7.5.0", "jose": "^6.1.1", + "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", @@ -1716,6 +1847,10 @@ "resolved": "examples/threejs-server", "link": true }, + "node_modules/@modelcontextprotocol/server-transcript": { + "resolved": "examples/transcript-server", + "link": true + }, "node_modules/@modelcontextprotocol/server-video-resource": { "resolved": "examples/video-resource-server", "link": true @@ -1726,6 +1861,8 @@ }, "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": { @@ -1754,6 +1891,8 @@ }, "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": { @@ -1762,6 +1901,8 @@ }, "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": { @@ -1841,6 +1982,8 @@ }, "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" ], @@ -1852,6 +1995,8 @@ }, "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" ], @@ -1863,6 +2008,8 @@ }, "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" ], @@ -1874,6 +2021,8 @@ }, "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" ], @@ -1911,6 +2060,8 @@ }, "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": { @@ -1925,6 +2076,8 @@ }, "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": { @@ -1944,11 +2097,15 @@ }, "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": { @@ -1957,11 +2114,15 @@ }, "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": { @@ -1978,11 +2139,15 @@ }, "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": { @@ -1993,15 +2158,10 @@ "node": ">= 8.0.0" } }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", - "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.55.1.tgz", + "integrity": "sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==", "cpu": [ "arm" ], @@ -2013,9 +2173,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", - "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.55.1.tgz", + "integrity": "sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==", "cpu": [ "arm64" ], @@ -2053,9 +2213,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", - "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.55.1.tgz", + "integrity": "sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==", "cpu": [ "arm64" ], @@ -2067,9 +2227,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", - "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.55.1.tgz", + "integrity": "sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==", "cpu": [ "x64" ], @@ -2081,9 +2241,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", - "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.55.1.tgz", + "integrity": "sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==", "cpu": [ "arm" ], @@ -2095,9 +2255,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", - "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.55.1.tgz", + "integrity": "sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==", "cpu": [ "arm" ], @@ -2122,9 +2282,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", - "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.55.1.tgz", + "integrity": "sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==", "cpu": [ "arm64" ], @@ -2136,9 +2296,23 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", - "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.55.1.tgz", + "integrity": "sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.55.1.tgz", + "integrity": "sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==", "cpu": [ "loong64" ], @@ -2150,9 +2324,23 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", - "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.55.1.tgz", + "integrity": "sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.55.1.tgz", + "integrity": "sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==", "cpu": [ "ppc64" ], @@ -2164,9 +2352,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", - "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.55.1.tgz", + "integrity": "sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==", "cpu": [ "riscv64" ], @@ -2178,9 +2366,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", - "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.55.1.tgz", + "integrity": "sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==", "cpu": [ "riscv64" ], @@ -2192,9 +2380,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", - "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.55.1.tgz", + "integrity": "sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==", "cpu": [ "s390x" ], @@ -2206,7 +2394,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.53.3", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.55.1.tgz", + "integrity": "sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==", "cpu": [ "x64" ], @@ -2217,7 +2407,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.53.3", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.55.1.tgz", + "integrity": "sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==", "cpu": [ "x64" ], @@ -2228,10 +2420,24 @@ "linux" ] }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.55.1.tgz", + "integrity": "sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", - "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.55.1.tgz", + "integrity": "sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==", "cpu": [ "arm64" ], @@ -2256,9 +2462,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", - "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.55.1.tgz", + "integrity": "sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==", "cpu": [ "ia32" ], @@ -2270,9 +2476,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", - "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.55.1.tgz", + "integrity": "sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==", "cpu": [ "x64" ], @@ -2297,32 +2503,40 @@ ] }, "node_modules/@shikijs/engine-oniguruma": { - "version": "3.19.0", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.21.0.tgz", + "integrity": "sha512-OYknTCct6qiwpQDqDdf3iedRdzj6hFlOPv5hMvI+hkWfCKs5mlJ4TXziBG9nyabLwGulrUjHiCq3xCspSzErYQ==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.19.0", + "@shikijs/types": "3.21.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "node_modules/@shikijs/langs": { - "version": "3.19.0", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.21.0.tgz", + "integrity": "sha512-g6mn5m+Y6GBJ4wxmBYqalK9Sp0CFkUqfNzUy2pJglUginz6ZpWbaWjDB4fbQ/8SHzFjYbtU6Ddlp1pc+PPNDVA==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.19.0" + "@shikijs/types": "3.21.0" } }, "node_modules/@shikijs/themes": { - "version": "3.19.0", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.21.0.tgz", + "integrity": "sha512-BAE4cr9EDiZyYzwIHEk7JTBJ9CzlPuM4PchfcA5ao1dWXb25nv6hYsoDiBq2aZK9E3dlt3WB78uI96UESD+8Mw==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.19.0" + "@shikijs/types": "3.21.0" } }, "node_modules/@shikijs/types": { - "version": "3.19.0", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.21.0.tgz", + "integrity": "sha512-zGrWOxZ0/+0ovPY7PvBU2gIS9tmhSUUt30jAcNV0Bq0gb2S98gwfjIs1vxlmH5zM7/4YxLamT6ChlqqAJmPPjA==", "dev": true, "license": "MIT", "dependencies": { @@ -2332,11 +2546,15 @@ }, "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" @@ -2344,6 +2562,8 @@ }, "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, @@ -2365,6 +2585,8 @@ }, "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": { @@ -2381,11 +2603,15 @@ }, "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": { @@ -2398,6 +2624,8 @@ }, "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": { @@ -2406,6 +2634,8 @@ }, "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": { @@ -2415,6 +2645,8 @@ }, "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": { @@ -2423,6 +2655,8 @@ }, "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": { @@ -2431,15 +2665,19 @@ } }, "node_modules/@types/bun": { - "version": "1.3.3", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.3.5.tgz", + "integrity": "sha512-RnygCqNrd3srIPEWBd5LFeUYG7plCoH2Yw9WaZGyNmdTEei+gWaHqydbaIRkIkcbXwhBT94q78QljxN0Sk838w==", "dev": true, "license": "MIT", "dependencies": { - "bun-types": "1.3.3" + "bun-types": "1.3.5" } }, "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": { @@ -2449,6 +2687,8 @@ }, "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": { @@ -2457,6 +2697,8 @@ }, "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": { @@ -2465,15 +2707,28 @@ }, "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/dom-speech-recognition": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@types/dom-speech-recognition/-/dom-speech-recognition-0.0.7.tgz", + "integrity": "sha512-NjiUoJbBlKhyufNsMZLSp+pbPNtPAFnR738RCJvtZy/HVQ2TZjmqpMyaeOSMXgxdfZM60nt8QGbtfmQrJAH2sw==", "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==", "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": { @@ -2483,7 +2738,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "5.1.0", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz", + "integrity": "sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==", "dev": true, "license": "MIT", "dependencies": { @@ -2495,6 +2752,8 @@ }, "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": { @@ -2503,11 +2762,15 @@ }, "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", + "version": "25.0.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.6.tgz", + "integrity": "sha512-NNu0sjyNxpoiW3YuVFfNz7mxSQ+S4X2G28uqg2s+CzoqoQjLPsWSbsFFyztIAqt2vb8kfEAsJNepMGPTxFDx3Q==", "dev": true, "license": "MIT", "peer": true, @@ -2517,16 +2780,22 @@ }, "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", + "version": "19.2.8", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.8.tgz", + "integrity": "sha512-3MbSL37jEchWZz2p2mjntRZtPt837ij10ApxKfgmXCTuHWagYg7iA5bqPw6C8BMPfwidlvfPI/fxOc42HLhcyg==", "dev": true, "license": "MIT", "peer": true, @@ -2536,6 +2805,8 @@ }, "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": { @@ -2544,6 +2815,8 @@ }, "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": { @@ -2552,6 +2825,8 @@ }, "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": { @@ -2561,11 +2836,15 @@ }, "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": { @@ -2580,16 +2859,22 @@ }, "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": { @@ -2601,6 +2886,8 @@ }, "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": { @@ -2620,6 +2907,8 @@ }, "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": { @@ -2632,6 +2921,8 @@ }, "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": { @@ -2647,6 +2938,8 @@ }, "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": { @@ -2670,8 +2963,20 @@ } } }, + "node_modules/@vitest/mocker/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": { + "@types/estree": "^1.0.0" + } + }, "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": { @@ -2683,6 +2988,8 @@ }, "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": { @@ -2696,6 +3003,8 @@ }, "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": { @@ -2709,6 +3018,8 @@ }, "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": { @@ -2720,6 +3031,8 @@ }, "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": { @@ -2733,6 +3046,8 @@ }, "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", @@ -2744,6 +3059,8 @@ }, "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" @@ -2752,12 +3069,10 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/@vue/compiler-core/node_modules/estree-walker": { - "version": "2.0.2", - "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", @@ -2766,6 +3081,8 @@ }, "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", @@ -2779,12 +3096,10 @@ "source-map-js": "^1.2.1" } }, - "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { - "version": "2.0.2", - "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", @@ -2793,6 +3108,8 @@ }, "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" @@ -2800,6 +3117,8 @@ }, "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", @@ -2808,6 +3127,8 @@ }, "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", @@ -2818,6 +3139,8 @@ }, "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", @@ -2829,15 +3152,21 @@ }, "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", + "version": "0.1.68", + "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.68.tgz", + "integrity": "sha512-3ab1B59Ojb6RwjOspYLsTpCzbNB3ZaamIAxBMmvnNkiDoLTZUOBXZ9p5nAYVEkQlDdf6qAZWi1pqj9+ypiqznA==", "dev": true, "license": "BSD-3-Clause" }, "node_modules/abcjs": { - "version": "6.5.2", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/abcjs/-/abcjs-6.6.0.tgz", + "integrity": "sha512-lYS+qwOOxFcFY5ZjNmS1l4RT6BxGd2juBOzLD5/PfLZ+jd0zz29CMI/SwxCWb0+cdKjTBc/EHO43lUGB93FaAw==", "license": "MIT", "funding": { "type": "github", @@ -2846,6 +3175,8 @@ }, "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", @@ -2857,6 +3188,8 @@ }, "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": { @@ -2865,6 +3198,8 @@ }, "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": { @@ -2876,6 +3211,8 @@ }, "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", @@ -2890,6 +3227,8 @@ }, "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" @@ -2905,6 +3244,8 @@ }, "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": { @@ -2919,6 +3260,8 @@ }, "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": { @@ -2930,6 +3273,8 @@ }, "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": { @@ -2944,6 +3289,8 @@ }, "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": { @@ -2952,6 +3299,8 @@ }, "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": { @@ -2964,11 +3313,15 @@ }, "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" @@ -2976,6 +3329,8 @@ }, "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": { @@ -2984,11 +3339,15 @@ }, "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" @@ -2996,6 +3355,8 @@ }, "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": { @@ -3011,6 +3372,8 @@ }, "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": { @@ -3022,6 +3385,8 @@ }, "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": { @@ -3030,6 +3395,8 @@ }, "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": { @@ -3047,6 +3414,8 @@ }, "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" }, @@ -3062,6 +3431,8 @@ }, "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": { @@ -3071,6 +3442,8 @@ }, "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": { @@ -3081,7 +3454,9 @@ } }, "node_modules/body-parser": { - "version": "2.2.1", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", "license": "MIT", "dependencies": { "bytes": "^3.1.2", @@ -3090,7 +3465,7 @@ "http-errors": "^2.0.0", "iconv-lite": "^0.7.0", "on-finished": "^2.4.1", - "qs": "^6.14.0", + "qs": "^6.14.1", "raw-body": "^3.0.1", "type-is": "^2.0.1" }, @@ -3104,10 +3479,14 @@ }, "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": { @@ -3117,6 +3496,8 @@ }, "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": { @@ -3128,6 +3509,8 @@ }, "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": [ { @@ -3160,7 +3543,9 @@ } }, "node_modules/bun-types": { - "version": "1.3.3", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.3.5.tgz", + "integrity": "sha512-inmAYe2PFLs0SUbFOWSVD24sg1jFlMPxOjOSSCYqUgn4Hsc3rDc7dFvfVYjFPNHtov6kgUeulV4SxbuIV/stPw==", "dev": true, "license": "MIT", "dependencies": { @@ -3169,6 +3554,8 @@ }, "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" @@ -3176,6 +3563,8 @@ }, "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": { @@ -3184,6 +3573,8 @@ }, "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", @@ -3195,6 +3586,8 @@ }, "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", @@ -3208,7 +3601,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001759", + "version": "1.0.30001764", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001764.tgz", + "integrity": "sha512-9JGuzl2M+vPL+pz70gtMF9sHdMFbY9FJaQBi186cHKH3pSzDvzoUJUPV6fqiKIMyXbud9ZLg4F3Yza1vJ1+93g==", "dev": true, "funding": [ { @@ -3228,6 +3623,8 @@ }, "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": { @@ -3239,6 +3636,8 @@ }, "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": { @@ -3254,6 +3653,8 @@ }, "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": { @@ -3269,6 +3670,8 @@ }, "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": { @@ -3280,6 +3683,8 @@ }, "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" @@ -3289,7 +3694,9 @@ } }, "node_modules/check-error": { - "version": "2.1.1", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz", + "integrity": "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==", "dev": true, "license": "MIT", "engines": { @@ -3298,6 +3705,8 @@ }, "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", @@ -3321,6 +3730,8 @@ }, "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", @@ -3336,6 +3747,8 @@ }, "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": { @@ -3359,6 +3772,8 @@ }, "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": { @@ -3373,6 +3788,8 @@ }, "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": { @@ -3387,6 +3804,8 @@ }, "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": { @@ -3398,6 +3817,8 @@ }, "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": { @@ -3413,6 +3834,8 @@ }, "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": { @@ -3428,6 +3851,8 @@ }, "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": { @@ -3441,6 +3866,8 @@ }, "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": { @@ -3449,6 +3876,8 @@ }, "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": { @@ -3460,6 +3889,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" @@ -3467,6 +3898,8 @@ }, "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": { @@ -3478,21 +3911,29 @@ }, "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": { @@ -3516,6 +3957,8 @@ }, "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" @@ -3527,6 +3970,8 @@ }, "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" @@ -3534,11 +3979,15 @@ }, "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" @@ -3546,6 +3995,8 @@ }, "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" @@ -3553,6 +4004,8 @@ }, "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", @@ -3564,6 +4017,8 @@ }, "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": { @@ -3580,6 +4035,8 @@ }, "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", @@ -3592,6 +4049,8 @@ }, "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", @@ -3606,6 +4065,8 @@ }, "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" @@ -3616,10 +4077,14 @@ }, "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==", "license": "MIT" }, "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": { @@ -3631,11 +4096,15 @@ }, "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": { @@ -3644,6 +4113,8 @@ }, "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": { @@ -3652,6 +4123,8 @@ }, "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": { @@ -3664,6 +4137,8 @@ }, "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": { @@ -3672,6 +4147,8 @@ }, "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": { @@ -3687,6 +4164,8 @@ }, "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": { @@ -3695,6 +4174,8 @@ }, "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": { @@ -3706,11 +4187,15 @@ }, "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": { @@ -3719,6 +4204,8 @@ }, "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": { @@ -3734,6 +4221,8 @@ }, "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": { @@ -3746,6 +4235,8 @@ }, "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, @@ -3755,6 +4246,8 @@ }, "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": { @@ -3766,6 +4259,8 @@ }, "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": { @@ -3777,6 +4272,8 @@ }, "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": { @@ -3785,6 +4282,8 @@ }, "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": { @@ -3803,6 +4302,8 @@ }, "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": { @@ -3818,6 +4319,8 @@ }, "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" @@ -3833,6 +4336,8 @@ }, "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": { @@ -3841,6 +4346,8 @@ }, "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": { @@ -3849,6 +4356,8 @@ }, "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" @@ -3856,10 +4365,14 @@ }, "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", @@ -3872,6 +4385,8 @@ }, "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", @@ -3882,6 +4397,8 @@ }, "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" @@ -3895,6 +4412,8 @@ }, "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", @@ -3907,6 +4426,8 @@ }, "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", @@ -3919,10 +4440,14 @@ }, "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": { @@ -3936,17 +4461,23 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.266", + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", "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" @@ -3954,6 +4485,8 @@ }, "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", @@ -3965,6 +4498,8 @@ }, "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" @@ -3975,6 +4510,8 @@ }, "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" @@ -3985,6 +4522,8 @@ }, "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": { @@ -3996,6 +4535,8 @@ }, "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" @@ -4003,6 +4544,8 @@ }, "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" @@ -4010,11 +4553,15 @@ }, "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" @@ -4025,6 +4572,8 @@ }, "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", @@ -4065,6 +4614,8 @@ }, "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": { @@ -4073,10 +4624,14 @@ }, "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": { @@ -4088,25 +4643,29 @@ }, "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", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } + "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/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" @@ -4114,11 +4673,15 @@ }, "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" @@ -4129,13 +4692,17 @@ }, "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" } }, "node_modules/expect-type": { - "version": "1.2.2", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4144,6 +4711,8 @@ }, "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": { @@ -4186,6 +4755,8 @@ }, "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" @@ -4199,10 +4770,14 @@ }, "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", @@ -4217,11 +4792,15 @@ }, "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": { @@ -4230,6 +4809,8 @@ }, "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": { @@ -4238,6 +4819,8 @@ }, "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": { @@ -4249,6 +4832,8 @@ }, "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": { @@ -4260,6 +4845,8 @@ }, "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", @@ -4279,6 +4866,8 @@ }, "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": { @@ -4292,6 +4881,8 @@ }, "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": { @@ -4317,6 +4908,8 @@ }, "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" @@ -4324,6 +4917,8 @@ }, "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" @@ -4346,6 +4941,8 @@ }, "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" @@ -4353,6 +4950,8 @@ }, "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": { @@ -4361,6 +4960,8 @@ }, "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": { @@ -4369,6 +4970,8 @@ }, "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": { @@ -4380,6 +4983,8 @@ }, "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", @@ -4402,6 +5007,8 @@ }, "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": { @@ -4410,6 +5017,8 @@ }, "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", @@ -4421,6 +5030,8 @@ }, "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": { @@ -4432,6 +5043,8 @@ }, "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": { @@ -4443,6 +5056,8 @@ }, "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" @@ -4453,6 +5068,8 @@ }, "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": { @@ -4461,6 +5078,8 @@ }, "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" @@ -4471,6 +5090,8 @@ }, "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" @@ -4481,19 +5102,35 @@ }, "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/hono": { + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.3.tgz", + "integrity": "sha512-PmQi306+M/ct/m5s66Hrg+adPnkD5jiO6IjA7WhWw0gSBSo1EcRegwuI1deZ+wd5pzCGynCcn2DprnE4/yEV4w==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=16.9.0" + } + }, "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", { @@ -4511,6 +5148,8 @@ }, "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" @@ -4521,6 +5160,8 @@ }, "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", @@ -4539,6 +5180,8 @@ }, "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": { @@ -4552,7 +5195,9 @@ } }, "node_modules/iconv-lite": { - "version": "0.7.0", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -4567,11 +5212,15 @@ }, "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": { @@ -4580,6 +5229,8 @@ }, "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": { @@ -4588,6 +5239,8 @@ }, "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": { @@ -4596,6 +5249,8 @@ }, "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": { @@ -4604,6 +5259,8 @@ }, "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" @@ -4611,6 +5268,8 @@ }, "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": { @@ -4622,6 +5281,8 @@ }, "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": { @@ -4636,6 +5297,8 @@ }, "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": { @@ -4644,6 +5307,8 @@ }, "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": { @@ -4658,6 +5323,8 @@ }, "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": { @@ -4669,6 +5336,8 @@ }, "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": { @@ -4677,10 +5346,14 @@ }, "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" @@ -4688,6 +5361,8 @@ }, "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": { @@ -4699,6 +5374,8 @@ }, "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": { @@ -4710,10 +5387,14 @@ }, "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": { @@ -4730,6 +5411,8 @@ }, "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" @@ -4737,11 +5420,15 @@ }, "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": { @@ -4753,10 +5440,20 @@ }, "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/json-schema-typed": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz", + "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==", + "license": "BSD-2-Clause" + }, "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": { @@ -4768,6 +5465,8 @@ }, "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": { @@ -4779,6 +5478,8 @@ }, "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": { @@ -4787,11 +5488,15 @@ }, "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": { @@ -4803,6 +5508,8 @@ }, "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": { @@ -4811,6 +5518,8 @@ }, "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": { @@ -4827,6 +5536,8 @@ }, "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": { @@ -4838,11 +5549,15 @@ }, "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": { @@ -4859,6 +5574,8 @@ }, "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": { @@ -4875,15 +5592,21 @@ }, "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", + "version": "4.17.22", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.22.tgz", + "integrity": "sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==", "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": { @@ -4902,6 +5625,8 @@ }, "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": { @@ -4916,6 +5641,8 @@ }, "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": { @@ -4927,11 +5654,15 @@ }, "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": { @@ -4948,6 +5679,8 @@ }, "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": { @@ -4964,11 +5697,15 @@ }, "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": { @@ -4977,11 +5714,15 @@ }, "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==", "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" @@ -4989,6 +5730,8 @@ }, "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": { @@ -5005,6 +5748,8 @@ }, "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" @@ -5012,11 +5757,15 @@ }, "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" @@ -5024,6 +5773,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": { @@ -5038,6 +5789,8 @@ }, "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" @@ -5048,11 +5801,15 @@ }, "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": { @@ -5065,6 +5822,8 @@ }, "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" @@ -5072,6 +5831,8 @@ }, "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" @@ -5086,6 +5847,8 @@ }, "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": { @@ -5097,6 +5860,8 @@ }, "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": { @@ -5108,10 +5873,14 @@ }, "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==", "funding": [ { "type": "github", @@ -5128,6 +5897,8 @@ }, "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" @@ -5135,6 +5906,8 @@ }, "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": { @@ -5144,11 +5917,15 @@ }, "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": { @@ -5176,6 +5953,8 @@ }, "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": { @@ -5184,6 +5963,8 @@ }, "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": { @@ -5195,6 +5976,8 @@ }, "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": { @@ -5203,6 +5986,8 @@ }, "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" @@ -5213,6 +5998,8 @@ }, "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" @@ -5220,6 +6007,8 @@ }, "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" @@ -5230,6 +6019,8 @@ }, "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" @@ -5240,6 +6031,8 @@ }, "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" @@ -5247,6 +6040,8 @@ }, "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": { @@ -5261,6 +6056,8 @@ }, "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" @@ -5271,6 +6068,8 @@ }, "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", @@ -5282,6 +6081,8 @@ }, "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" @@ -5292,6 +6093,8 @@ }, "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" @@ -5302,6 +6105,8 @@ }, "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" @@ -5309,6 +6114,8 @@ }, "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" @@ -5316,6 +6123,8 @@ }, "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", @@ -5324,11 +6133,15 @@ }, "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": { @@ -5337,10 +6150,14 @@ }, "node_modules/picocolors": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "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": { @@ -5352,6 +6169,8 @@ }, "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" @@ -5359,6 +6178,8 @@ }, "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": { @@ -5376,6 +6197,8 @@ }, "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": { @@ -5402,6 +6225,8 @@ }, "node_modules/postcss": { "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "funding": [ { "type": "opencollective", @@ -5427,7 +6252,9 @@ } }, "node_modules/preact": { - "version": "10.28.0", + "version": "10.28.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.28.2.tgz", + "integrity": "sha512-lbteaWGzGHdlIuiJ0l2Jq454m6kcpI1zNje6d8MlGAFlYvP2GO4ibnat7P74Esfz4sPTdM6UxtTwh/d3pwM9JA==", "license": "MIT", "peer": true, "funding": { @@ -5437,6 +6264,8 @@ }, "node_modules/prettier": { "version": "3.7.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz", + "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", "dev": true, "license": "MIT", "bin": { @@ -5451,6 +6280,8 @@ }, "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", @@ -5462,11 +6293,15 @@ }, "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": { @@ -5474,7 +6309,9 @@ } }, "node_modules/qs": { - "version": "6.14.0", + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" @@ -5488,6 +6325,8 @@ }, "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" @@ -5495,6 +6334,8 @@ }, "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", @@ -5507,7 +6348,9 @@ } }, "node_modules/react": { - "version": "19.2.1", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", + "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", "license": "MIT", "peer": true, "engines": { @@ -5515,17 +6358,21 @@ } }, "node_modules/react-dom": { - "version": "19.2.1", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", "license": "MIT", "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.1" + "react": "^19.2.3" } }, "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": { @@ -5534,6 +6381,8 @@ }, "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": { @@ -5545,6 +6394,8 @@ }, "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": { @@ -5553,6 +6404,8 @@ }, "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" @@ -5560,6 +6413,8 @@ }, "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": { @@ -5568,6 +6423,8 @@ }, "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": { @@ -5583,11 +6440,15 @@ }, "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", + "version": "4.55.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.55.1.tgz", + "integrity": "sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==", "dev": true, "license": "MIT", "peer": true, @@ -5602,103 +6463,38 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.53.3", - "@rollup/rollup-android-arm64": "4.53.3", - "@rollup/rollup-darwin-arm64": "4.53.3", - "@rollup/rollup-darwin-x64": "4.53.3", - "@rollup/rollup-freebsd-arm64": "4.53.3", - "@rollup/rollup-freebsd-x64": "4.53.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", - "@rollup/rollup-linux-arm-musleabihf": "4.53.3", - "@rollup/rollup-linux-arm64-gnu": "4.53.3", - "@rollup/rollup-linux-arm64-musl": "4.53.3", - "@rollup/rollup-linux-loong64-gnu": "4.53.3", - "@rollup/rollup-linux-ppc64-gnu": "4.53.3", - "@rollup/rollup-linux-riscv64-gnu": "4.53.3", - "@rollup/rollup-linux-riscv64-musl": "4.53.3", - "@rollup/rollup-linux-s390x-gnu": "4.53.3", - "@rollup/rollup-linux-x64-gnu": "4.53.3", - "@rollup/rollup-linux-x64-musl": "4.53.3", - "@rollup/rollup-openharmony-arm64": "4.53.3", - "@rollup/rollup-win32-arm64-msvc": "4.53.3", - "@rollup/rollup-win32-ia32-msvc": "4.53.3", - "@rollup/rollup-win32-x64-gnu": "4.53.3", - "@rollup/rollup-win32-x64-msvc": "4.53.3", + "@rollup/rollup-android-arm-eabi": "4.55.1", + "@rollup/rollup-android-arm64": "4.55.1", + "@rollup/rollup-darwin-arm64": "4.55.1", + "@rollup/rollup-darwin-x64": "4.55.1", + "@rollup/rollup-freebsd-arm64": "4.55.1", + "@rollup/rollup-freebsd-x64": "4.55.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.55.1", + "@rollup/rollup-linux-arm-musleabihf": "4.55.1", + "@rollup/rollup-linux-arm64-gnu": "4.55.1", + "@rollup/rollup-linux-arm64-musl": "4.55.1", + "@rollup/rollup-linux-loong64-gnu": "4.55.1", + "@rollup/rollup-linux-loong64-musl": "4.55.1", + "@rollup/rollup-linux-ppc64-gnu": "4.55.1", + "@rollup/rollup-linux-ppc64-musl": "4.55.1", + "@rollup/rollup-linux-riscv64-gnu": "4.55.1", + "@rollup/rollup-linux-riscv64-musl": "4.55.1", + "@rollup/rollup-linux-s390x-gnu": "4.55.1", + "@rollup/rollup-linux-x64-gnu": "4.55.1", + "@rollup/rollup-linux-x64-musl": "4.55.1", + "@rollup/rollup-openbsd-x64": "4.55.1", + "@rollup/rollup-openharmony-arm64": "4.55.1", + "@rollup/rollup-win32-arm64-msvc": "4.55.1", + "@rollup/rollup-win32-ia32-msvc": "4.55.1", + "@rollup/rollup-win32-x64-gnu": "4.55.1", + "@rollup/rollup-win32-x64-msvc": "4.55.1", "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-arm64-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", - "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "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", @@ -5713,6 +6509,8 @@ }, "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": { @@ -5721,14 +6519,20 @@ }, "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/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": { @@ -5739,27 +6543,35 @@ } }, "node_modules/send": { - "version": "1.2.0", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", "license": "MIT", "dependencies": { - "debug": "^4.3.5", + "debug": "^4.4.3", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "mime-types": "^3.0.1", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", "ms": "^2.1.3", "on-finished": "^2.4.1", "range-parser": "^1.2.1", - "statuses": "^2.0.1" + "statuses": "^2.0.2" }, "engines": { "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "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": { @@ -5768,6 +6580,8 @@ }, "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" @@ -5777,7 +6591,9 @@ } }, "node_modules/serve-static": { - "version": "2.2.0", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", "license": "MIT", "dependencies": { "encodeurl": "^2.0.0", @@ -5787,14 +6603,22 @@ }, "engines": { "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "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" @@ -5805,6 +6629,8 @@ }, "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" @@ -5812,6 +6638,8 @@ }, "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": { @@ -5823,6 +6651,8 @@ }, "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", @@ -5840,6 +6670,8 @@ }, "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", @@ -5854,6 +6686,8 @@ }, "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", @@ -5870,6 +6704,8 @@ }, "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", @@ -5887,11 +6723,15 @@ }, "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": { @@ -5903,6 +6743,8 @@ }, "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": { @@ -5911,6 +6753,8 @@ }, "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": { @@ -5922,11 +6766,15 @@ }, "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": { @@ -5938,6 +6786,8 @@ }, "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": { @@ -5953,6 +6803,8 @@ }, "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": { @@ -5964,6 +6816,8 @@ }, "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": { @@ -5974,6 +6828,8 @@ }, "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": { @@ -5987,6 +6843,8 @@ }, "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": { @@ -5995,6 +6853,8 @@ }, "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==", "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -6002,6 +6862,8 @@ }, "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": { @@ -6010,11 +6872,15 @@ }, "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" @@ -6022,11 +6888,15 @@ }, "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": { @@ -6040,6 +6910,8 @@ }, "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": { @@ -6048,6 +6920,8 @@ }, "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": { @@ -6056,6 +6930,8 @@ }, "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": { @@ -6067,6 +6943,8 @@ }, "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": { @@ -6081,6 +6959,8 @@ }, "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": { @@ -6092,11 +6972,15 @@ }, "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": { @@ -6110,7 +6994,9 @@ } }, "node_modules/svelte": { - "version": "5.46.0", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.46.1.tgz", + "integrity": "sha512-ynjfCHD3nP2el70kN5Pmg37sSi0EjOm9FgHYQdC4giWG/hzO3AatzXXJJgP305uIhGQxSufJLuYWtkY8uK/8RA==", "license": "MIT", "peer": true, "dependencies": { @@ -6135,7 +7021,9 @@ } }, "node_modules/systeminformation": { - "version": "5.27.11", + "version": "5.30.3", + "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.30.3.tgz", + "integrity": "sha512-NgHJUpA+y7j4asLQa9jgBt+Eb2piyQIXQ+YjOyd2K0cHNwbNJ6I06F5afOqOiaCuV/wrEyGrb0olg4aFLlJD+A==", "license": "MIT", "os": [ "darwin", @@ -6160,6 +7048,8 @@ }, "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": { @@ -6168,6 +7058,8 @@ }, "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": { @@ -6177,6 +7069,8 @@ }, "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": { @@ -6204,6 +7098,8 @@ }, "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": { @@ -6213,6 +7109,8 @@ }, "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": { @@ -6221,6 +7119,8 @@ }, "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": { @@ -6229,16 +7129,22 @@ }, "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": { @@ -6247,16 +7153,22 @@ }, "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": { @@ -6265,6 +7177,8 @@ }, "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": { @@ -6273,6 +7187,8 @@ }, "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": { @@ -6281,6 +7197,8 @@ }, "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": { @@ -6289,6 +7207,8 @@ }, "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": { @@ -6298,6 +7218,8 @@ }, "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": { @@ -6306,11 +7228,15 @@ }, "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": { @@ -6320,35 +7246,49 @@ }, "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/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": { @@ -6364,6 +7304,8 @@ }, "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": { @@ -6380,6 +7322,8 @@ }, "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, @@ -6392,6 +7336,8 @@ }, "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": { @@ -6400,6 +7346,8 @@ }, "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": { @@ -6408,6 +7356,8 @@ }, "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": { @@ -6416,6 +7366,8 @@ }, "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": { @@ -6427,6 +7379,8 @@ }, "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" @@ -6434,6 +7388,8 @@ }, "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": { @@ -6442,6 +7398,8 @@ }, "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": { @@ -6450,6 +7408,8 @@ }, "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": { @@ -6471,6 +7431,8 @@ }, "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": { @@ -6485,6 +7447,8 @@ }, "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": { @@ -6497,11 +7461,15 @@ }, "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": { @@ -6516,11 +7484,15 @@ }, "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": { @@ -6538,9 +7510,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/aix-ppc64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.1.tgz", - "integrity": "sha512-HHB50pdsBX6k47S4u5g/CaLjqS3qwaOVE5ILsq64jyzgMhLuCuZ8rGzM9yhsAjfjkbgUPMzZEPa7DAp7yz6vuA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", + "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", "cpu": [ "ppc64" ], @@ -6555,9 +7527,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/android-arm": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.1.tgz", - "integrity": "sha512-kFqa6/UcaTbGm/NncN9kzVOODjhZW8e+FRdSeypWe6j33gzclHtwlANs26JrupOntlcWmB0u8+8HZo8s7thHvg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", + "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", "cpu": [ "arm" ], @@ -6572,9 +7544,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/android-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.1.tgz", - "integrity": "sha512-45fuKmAJpxnQWixOGCrS+ro4Uvb4Re9+UTieUY2f8AEc+t7d4AaZ6eUJ3Hva7dtrxAAWHtlEFsXFMAgNnGU9uQ==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", + "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", "cpu": [ "arm64" ], @@ -6589,9 +7561,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/android-x64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.1.tgz", - "integrity": "sha512-LBEpOz0BsgMEeHgenf5aqmn/lLNTFXVfoWMUox8CtWWYK9X4jmQzWjoGoNb8lmAYml/tQ/Ysvm8q7szu7BoxRQ==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", + "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", "cpu": [ "x64" ], @@ -6606,9 +7578,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/darwin-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.1.tgz", - "integrity": "sha512-veg7fL8eMSCVKL7IW4pxb54QERtedFDfY/ASrumK/SbFsXnRazxY4YykN/THYqFnFwJ0aVjiUrVG2PwcdAEqQQ==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", + "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", "cpu": [ "arm64" ], @@ -6623,9 +7595,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/darwin-x64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.1.tgz", - "integrity": "sha512-+3ELd+nTzhfWb07Vol7EZ+5PTbJ/u74nC6iv4/lwIU99Ip5uuY6QoIf0Hn4m2HoV0qcnRivN3KSqc+FyCHjoVQ==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", + "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", "cpu": [ "x64" ], @@ -6640,9 +7612,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.1.tgz", - "integrity": "sha512-/8Rfgns4XD9XOSXlzUDepG8PX+AVWHliYlUkFI3K3GB6tqbdjYqdhcb4BKRd7C0BhZSoaCxhv8kTcBrcZWP+xg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", + "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", "cpu": [ "arm64" ], @@ -6657,9 +7629,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/freebsd-x64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.1.tgz", - "integrity": "sha512-GITpD8dK9C+r+5yRT/UKVT36h/DQLOHdwGVwwoHidlnA168oD3uxA878XloXebK4Ul3gDBBIvEdL7go9gCUFzQ==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", + "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", "cpu": [ "x64" ], @@ -6674,9 +7646,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/linux-arm": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.1.tgz", - "integrity": "sha512-ieMID0JRZY/ZeCrsFQ3Y3NlHNCqIhTprJfDgSB3/lv5jJZ8FX3hqPyXWhe+gvS5ARMBJ242PM+VNz/ctNj//eA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", + "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", "cpu": [ "arm" ], @@ -6691,9 +7663,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/linux-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.1.tgz", - "integrity": "sha512-W9//kCrh/6in9rWIBdKaMtuTTzNj6jSeG/haWBADqLLa9P8O5YSRDzgD5y9QBok4AYlzS6ARHifAb75V6G670Q==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", + "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", "cpu": [ "arm64" ], @@ -6708,9 +7680,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/linux-ia32": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.1.tgz", - "integrity": "sha512-VIUV4z8GD8rtSVMfAj1aXFahsi/+tcoXXNYmXgzISL+KB381vbSTNdeZHHHIYqFyXcoEhu9n5cT+05tRv13rlw==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", + "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", "cpu": [ "ia32" ], @@ -6725,9 +7697,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/linux-loong64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.1.tgz", - "integrity": "sha512-l4rfiiJRN7sTNI//ff65zJ9z8U+k6zcCg0LALU5iEWzY+a1mVZ8iWC1k5EsNKThZ7XCQ6YWtsZ8EWYm7r1UEsg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", + "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", "cpu": [ "loong64" ], @@ -6742,9 +7714,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/linux-mips64el": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.1.tgz", - "integrity": "sha512-U0bEuAOLvO/DWFdygTHWY8C067FXz+UbzKgxYhXC0fDieFa0kDIra1FAhsAARRJbvEyso8aAqvPdNxzWuStBnA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", + "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", "cpu": [ "mips64el" ], @@ -6759,9 +7731,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/linux-ppc64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.1.tgz", - "integrity": "sha512-NzdQ/Xwu6vPSf/GkdmRNsOfIeSGnh7muundsWItmBsVpMoNPVpM61qNzAVY3pZ1glzzAxLR40UyYM23eaDDbYQ==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", + "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", "cpu": [ "ppc64" ], @@ -6776,9 +7748,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/linux-riscv64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.1.tgz", - "integrity": "sha512-7zlw8p3IApcsN7mFw0O1Z1PyEk6PlKMu18roImfl3iQHTnr/yAfYv6s4hXPidbDoI2Q0pW+5xeoM4eTCC0UdrQ==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", + "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", "cpu": [ "riscv64" ], @@ -6793,9 +7765,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/linux-s390x": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.1.tgz", - "integrity": "sha512-cGj5wli+G+nkVQdZo3+7FDKC25Uh4ZVwOAK6A06Hsvgr8WqBBuOy/1s+PUEd/6Je+vjfm6stX0kmib5b/O2Ykw==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", + "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", "cpu": [ "s390x" ], @@ -6810,7 +7782,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/linux-x64": { - "version": "0.27.1", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", + "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", "cpu": [ "x64" ], @@ -6825,9 +7799,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.1.tgz", - "integrity": "sha512-wzC24DxAvk8Em01YmVXyjl96Mr+ecTPyOuADAvjGg+fyBpGmxmcr2E5ttf7Im8D0sXZihpxzO1isus8MdjMCXQ==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", + "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", "cpu": [ "arm64" ], @@ -6842,9 +7816,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/netbsd-x64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.1.tgz", - "integrity": "sha512-1YQ8ybGi2yIXswu6eNzJsrYIGFpnlzEWRl6iR5gMgmsrR0FcNoV1m9k9sc3PuP5rUBLshOZylc9nqSgymI+TYg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", + "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", "cpu": [ "x64" ], @@ -6859,9 +7833,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.1.tgz", - "integrity": "sha512-5Z+DzLCrq5wmU7RDaMDe2DVXMRm2tTDvX2KU14JJVBN2CT/qov7XVix85QoJqHltpvAOZUAc3ndU56HSMWrv8g==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", + "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", "cpu": [ "arm64" ], @@ -6876,9 +7850,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/openbsd-x64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.1.tgz", - "integrity": "sha512-Q73ENzIdPF5jap4wqLtsfh8YbYSZ8Q0wnxplOlZUOyZy7B4ZKW8DXGWgTCZmF8VWD7Tciwv5F4NsRf6vYlZtqg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", + "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", "cpu": [ "x64" ], @@ -6893,9 +7867,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.1.tgz", - "integrity": "sha512-ajbHrGM/XiK+sXM0JzEbJAen+0E+JMQZ2l4RR4VFwvV9JEERx+oxtgkpoKv1SevhjavK2z2ReHk32pjzktWbGg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", + "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", "cpu": [ "arm64" ], @@ -6910,9 +7884,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/sunos-x64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.1.tgz", - "integrity": "sha512-IPUW+y4VIjuDVn+OMzHc5FV4GubIwPnsz6ubkvN8cuhEqH81NovB53IUlrlBkPMEPxvNnf79MGBoz8rZ2iW8HA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", + "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", "cpu": [ "x64" ], @@ -6927,9 +7901,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/win32-arm64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.1.tgz", - "integrity": "sha512-RIVRWiljWA6CdVu8zkWcRmGP7iRRIIwvhDKem8UMBjPql2TXM5PkDVvvrzMtj1V+WFPB4K7zkIGM7VzRtFkjdg==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", + "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", "cpu": [ "arm64" ], @@ -6944,9 +7918,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/win32-ia32": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.1.tgz", - "integrity": "sha512-2BR5M8CPbptC1AK5JbJT1fWrHLvejwZidKx3UMSF0ecHMa+smhi16drIrCEggkgviBwLYd5nwrFLSl5Kho96RQ==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", + "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", "cpu": [ "ia32" ], @@ -6961,9 +7935,9 @@ } }, "node_modules/tsx/node_modules/@esbuild/win32-x64": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.1.tgz", - "integrity": "sha512-d5X6RMYv6taIymSk8JBP+nxv8DQAMY6A51GPgusqLdK9wBz5wWIXy1KjTck6HnjE9hqJzJRdk+1p/t5soSbCtw==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", + "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", "cpu": [ "x64" ], @@ -6978,7 +7952,9 @@ } }, "node_modules/tsx/node_modules/esbuild": { - "version": "0.27.1", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", + "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -6989,36 +7965,38 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.1", - "@esbuild/android-arm": "0.27.1", - "@esbuild/android-arm64": "0.27.1", - "@esbuild/android-x64": "0.27.1", - "@esbuild/darwin-arm64": "0.27.1", - "@esbuild/darwin-x64": "0.27.1", - "@esbuild/freebsd-arm64": "0.27.1", - "@esbuild/freebsd-x64": "0.27.1", - "@esbuild/linux-arm": "0.27.1", - "@esbuild/linux-arm64": "0.27.1", - "@esbuild/linux-ia32": "0.27.1", - "@esbuild/linux-loong64": "0.27.1", - "@esbuild/linux-mips64el": "0.27.1", - "@esbuild/linux-ppc64": "0.27.1", - "@esbuild/linux-riscv64": "0.27.1", - "@esbuild/linux-s390x": "0.27.1", - "@esbuild/linux-x64": "0.27.1", - "@esbuild/netbsd-arm64": "0.27.1", - "@esbuild/netbsd-x64": "0.27.1", - "@esbuild/openbsd-arm64": "0.27.1", - "@esbuild/openbsd-x64": "0.27.1", - "@esbuild/openharmony-arm64": "0.27.1", - "@esbuild/sunos-x64": "0.27.1", - "@esbuild/win32-arm64": "0.27.1", - "@esbuild/win32-ia32": "0.27.1", - "@esbuild/win32-x64": "0.27.1" + "@esbuild/aix-ppc64": "0.27.2", + "@esbuild/android-arm": "0.27.2", + "@esbuild/android-arm64": "0.27.2", + "@esbuild/android-x64": "0.27.2", + "@esbuild/darwin-arm64": "0.27.2", + "@esbuild/darwin-x64": "0.27.2", + "@esbuild/freebsd-arm64": "0.27.2", + "@esbuild/freebsd-x64": "0.27.2", + "@esbuild/linux-arm": "0.27.2", + "@esbuild/linux-arm64": "0.27.2", + "@esbuild/linux-ia32": "0.27.2", + "@esbuild/linux-loong64": "0.27.2", + "@esbuild/linux-mips64el": "0.27.2", + "@esbuild/linux-ppc64": "0.27.2", + "@esbuild/linux-riscv64": "0.27.2", + "@esbuild/linux-s390x": "0.27.2", + "@esbuild/linux-x64": "0.27.2", + "@esbuild/netbsd-arm64": "0.27.2", + "@esbuild/netbsd-x64": "0.27.2", + "@esbuild/openbsd-arm64": "0.27.2", + "@esbuild/openbsd-x64": "0.27.2", + "@esbuild/openharmony-arm64": "0.27.2", + "@esbuild/sunos-x64": "0.27.2", + "@esbuild/win32-arm64": "0.27.2", + "@esbuild/win32-ia32": "0.27.2", + "@esbuild/win32-x64": "0.27.2" } }, "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": { @@ -7030,6 +8008,8 @@ }, "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", @@ -7041,7 +8021,9 @@ } }, "node_modules/typedoc": { - "version": "0.28.15", + "version": "0.28.16", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.16.tgz", + "integrity": "sha512-x4xW77QC3i5DUFMBp0qjukOTnr/sSg+oEs86nB3LjDslvAmwe/PUGDWbe3GrIqt59oTqoXK5GRK9tAa0sYMiog==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -7064,6 +8046,8 @@ }, "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": { @@ -7072,6 +8056,8 @@ }, "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": { @@ -7086,6 +8072,8 @@ }, "node_modules/typescript": { "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "devOptional": true, "license": "Apache-2.0", "peer": true, @@ -7099,16 +8087,22 @@ }, "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", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.18.2.tgz", + "integrity": "sha512-y+8YjDFzWdQlSE9N5nzKMT3g4a5UBX1HKowfdXh0uvAnTaqqwqB92Jt4UXBAeKekDs5IaDKyJFR4X1gYVCgXcw==", "license": "MIT", "engines": { "node": ">=20.18.1" @@ -7116,18 +8110,24 @@ }, "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" } }, "node_modules/update-browserslist-db": { - "version": "1.2.2", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, "funding": [ { @@ -7157,6 +8157,8 @@ }, "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" @@ -7164,6 +8166,8 @@ }, "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, @@ -7238,6 +8242,8 @@ }, "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": { @@ -7259,6 +8265,8 @@ }, "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": { @@ -7274,6 +8282,8 @@ }, "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": { @@ -7297,6 +8307,8 @@ }, "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": { @@ -7313,6 +8325,8 @@ }, "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": { @@ -7329,6 +8343,8 @@ }, "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, @@ -7341,6 +8357,8 @@ }, "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": [ @@ -7359,6 +8377,8 @@ }, "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": { @@ -7430,6 +8450,8 @@ }, "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": { @@ -7441,6 +8463,8 @@ }, "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": { @@ -7461,6 +8485,9 @@ }, "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==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", "license": "MIT", "dependencies": { "iconv-lite": "0.6.3" @@ -7471,6 +8498,8 @@ }, "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" @@ -7481,6 +8510,8 @@ }, "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" @@ -7488,6 +8519,8 @@ }, "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" @@ -7501,6 +8534,8 @@ }, "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": { @@ -7516,6 +8551,8 @@ }, "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": { @@ -7527,11 +8564,15 @@ }, "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,6 +8589,8 @@ }, "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": { @@ -7556,6 +8599,8 @@ }, "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": { @@ -7567,10 +8612,14 @@ }, "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": { @@ -7579,11 +8628,15 @@ }, "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, @@ -7599,6 +8652,8 @@ }, "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": { @@ -7616,6 +8671,8 @@ }, "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": { @@ -7624,10 +8681,14 @@ }, "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", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz", + "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==", "license": "MIT", "peer": true, "funding": { @@ -7635,7 +8696,9 @@ } }, "node_modules/zod-to-json-schema": { - "version": "3.25.0", + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", + "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==", "license": "ISC", "peerDependencies": { "zod": "^3.25 || ^4" diff --git a/src/generated/schema.json b/src/generated/schema.json index a3e72eb..1d87d9c 100644 --- a/src/generated/schema.json +++ b/src/generated/schema.json @@ -30,7 +30,6 @@ }, "McpUiDisplayMode": { "$schema": "https://json-schema.org/draft/2020-12/schema", - "description": "Display mode for UI presentation.", "anyOf": [ { "type": "string", @@ -44,7 +43,8 @@ "type": "string", "const": "pip" } - ] + ], + "description": "Display mode for UI presentation." }, "McpUiHostCapabilities": { "$schema": "https://json-schema.org/draft/2020-12/schema", @@ -261,7 +261,6 @@ "const": "ui/notifications/host-context-changed" }, "params": { - "description": "Partial context update containing only changed fields.", "type": "object", "properties": { "toolInfo": { @@ -282,7 +281,6 @@ ] }, "tool": { - "description": "Tool definition including name, inputSchema, etc.", "type": "object", "properties": { "name": { @@ -307,6 +305,10 @@ "items": { "type": "string" } + }, + "theme": { + "type": "string", + "enum": ["light", "dark"] } }, "required": ["src"], @@ -404,7 +406,8 @@ } }, "required": ["name", "inputSchema"], - "additionalProperties": false + "additionalProperties": false, + "description": "Tool definition including name, inputSchema, etc." } }, "required": ["tool"], @@ -431,7 +434,6 @@ "description": "CSS variables for theming the app.", "type": "object", "propertyNames": { - "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation.", "anyOf": [ { "type": "string", @@ -741,17 +743,96 @@ "type": "string", "const": "--shadow-lg" } - ] + ], + "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." }, "additionalProperties": { - "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation.", "anyOf": [ { "type": "string" }, {} - ] - } + ], + "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." + }, + "required": [ + "--color-background-primary", + "--color-background-secondary", + "--color-background-tertiary", + "--color-background-inverse", + "--color-background-ghost", + "--color-background-info", + "--color-background-danger", + "--color-background-success", + "--color-background-warning", + "--color-background-disabled", + "--color-text-primary", + "--color-text-secondary", + "--color-text-tertiary", + "--color-text-inverse", + "--color-text-ghost", + "--color-text-info", + "--color-text-danger", + "--color-text-success", + "--color-text-warning", + "--color-text-disabled", + "--color-border-primary", + "--color-border-secondary", + "--color-border-tertiary", + "--color-border-inverse", + "--color-border-ghost", + "--color-border-info", + "--color-border-danger", + "--color-border-success", + "--color-border-warning", + "--color-border-disabled", + "--color-ring-primary", + "--color-ring-secondary", + "--color-ring-inverse", + "--color-ring-info", + "--color-ring-danger", + "--color-ring-success", + "--color-ring-warning", + "--font-sans", + "--font-mono", + "--font-weight-normal", + "--font-weight-medium", + "--font-weight-semibold", + "--font-weight-bold", + "--font-text-xs-size", + "--font-text-sm-size", + "--font-text-md-size", + "--font-text-lg-size", + "--font-heading-xs-size", + "--font-heading-sm-size", + "--font-heading-md-size", + "--font-heading-lg-size", + "--font-heading-xl-size", + "--font-heading-2xl-size", + "--font-heading-3xl-size", + "--font-text-xs-line-height", + "--font-text-sm-line-height", + "--font-text-md-line-height", + "--font-text-lg-line-height", + "--font-heading-xs-line-height", + "--font-heading-sm-line-height", + "--font-heading-md-line-height", + "--font-heading-lg-line-height", + "--font-heading-xl-line-height", + "--font-heading-2xl-line-height", + "--font-heading-3xl-line-height", + "--border-radius-xs", + "--border-radius-sm", + "--border-radius-md", + "--border-radius-lg", + "--border-radius-xl", + "--border-radius-full", + "--border-width-regular", + "--shadow-hairline", + "--shadow-sm", + "--shadow-md", + "--shadow-lg" + ] }, "css": { "description": "CSS blocks that apps can inject.", @@ -800,8 +881,8 @@ "type": "object", "properties": { "height": { - "description": "Fixed container height in pixels.", - "type": "number" + "type": "number", + "description": "Fixed container height in pixels." } }, "required": ["height"], @@ -830,8 +911,8 @@ "type": "object", "properties": { "width": { - "description": "Fixed container width in pixels.", - "type": "number" + "type": "number", + "description": "Fixed container width in pixels." } }, "required": ["width"], @@ -905,27 +986,28 @@ "type": "object", "properties": { "top": { - "description": "Top safe area inset in pixels.", - "type": "number" + "type": "number", + "description": "Top safe area inset in pixels." }, "right": { - "description": "Right safe area inset in pixels.", - "type": "number" + "type": "number", + "description": "Right safe area inset in pixels." }, "bottom": { - "description": "Bottom safe area inset in pixels.", - "type": "number" + "type": "number", + "description": "Bottom safe area inset in pixels." }, "left": { - "description": "Left safe area inset in pixels.", - "type": "number" + "type": "number", + "description": "Left safe area inset in pixels." } }, "required": ["top", "right", "bottom", "left"], "additionalProperties": false } }, - "additionalProperties": {} + "additionalProperties": {}, + "description": "Partial context update containing only changed fields." } }, "required": ["method", "params"], @@ -953,7 +1035,6 @@ ] }, "tool": { - "description": "Tool definition including name, inputSchema, etc.", "type": "object", "properties": { "name": { @@ -978,6 +1059,10 @@ "items": { "type": "string" } + }, + "theme": { + "type": "string", + "enum": ["light", "dark"] } }, "required": ["src"], @@ -1075,7 +1160,8 @@ } }, "required": ["name", "inputSchema"], - "additionalProperties": false + "additionalProperties": false, + "description": "Tool definition including name, inputSchema, etc." } }, "required": ["tool"], @@ -1102,7 +1188,6 @@ "description": "CSS variables for theming the app.", "type": "object", "propertyNames": { - "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation.", "anyOf": [ { "type": "string", @@ -1412,17 +1497,96 @@ "type": "string", "const": "--shadow-lg" } - ] + ], + "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." }, "additionalProperties": { - "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation.", "anyOf": [ { "type": "string" }, {} - ] - } + ], + "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." + }, + "required": [ + "--color-background-primary", + "--color-background-secondary", + "--color-background-tertiary", + "--color-background-inverse", + "--color-background-ghost", + "--color-background-info", + "--color-background-danger", + "--color-background-success", + "--color-background-warning", + "--color-background-disabled", + "--color-text-primary", + "--color-text-secondary", + "--color-text-tertiary", + "--color-text-inverse", + "--color-text-ghost", + "--color-text-info", + "--color-text-danger", + "--color-text-success", + "--color-text-warning", + "--color-text-disabled", + "--color-border-primary", + "--color-border-secondary", + "--color-border-tertiary", + "--color-border-inverse", + "--color-border-ghost", + "--color-border-info", + "--color-border-danger", + "--color-border-success", + "--color-border-warning", + "--color-border-disabled", + "--color-ring-primary", + "--color-ring-secondary", + "--color-ring-inverse", + "--color-ring-info", + "--color-ring-danger", + "--color-ring-success", + "--color-ring-warning", + "--font-sans", + "--font-mono", + "--font-weight-normal", + "--font-weight-medium", + "--font-weight-semibold", + "--font-weight-bold", + "--font-text-xs-size", + "--font-text-sm-size", + "--font-text-md-size", + "--font-text-lg-size", + "--font-heading-xs-size", + "--font-heading-sm-size", + "--font-heading-md-size", + "--font-heading-lg-size", + "--font-heading-xl-size", + "--font-heading-2xl-size", + "--font-heading-3xl-size", + "--font-text-xs-line-height", + "--font-text-sm-line-height", + "--font-text-md-line-height", + "--font-text-lg-line-height", + "--font-heading-xs-line-height", + "--font-heading-sm-line-height", + "--font-heading-md-line-height", + "--font-heading-lg-line-height", + "--font-heading-xl-line-height", + "--font-heading-2xl-line-height", + "--font-heading-3xl-line-height", + "--border-radius-xs", + "--border-radius-sm", + "--border-radius-md", + "--border-radius-lg", + "--border-radius-xl", + "--border-radius-full", + "--border-width-regular", + "--shadow-hairline", + "--shadow-sm", + "--shadow-md", + "--shadow-lg" + ] }, "css": { "description": "CSS blocks that apps can inject.", @@ -1471,8 +1635,8 @@ "type": "object", "properties": { "height": { - "description": "Fixed container height in pixels.", - "type": "number" + "type": "number", + "description": "Fixed container height in pixels." } }, "required": ["height"], @@ -1501,8 +1665,8 @@ "type": "object", "properties": { "width": { - "description": "Fixed container width in pixels.", - "type": "number" + "type": "number", + "description": "Fixed container width in pixels." } }, "required": ["width"], @@ -1576,20 +1740,20 @@ "type": "object", "properties": { "top": { - "description": "Top safe area inset in pixels.", - "type": "number" + "type": "number", + "description": "Top safe area inset in pixels." }, "right": { - "description": "Right safe area inset in pixels.", - "type": "number" + "type": "number", + "description": "Right safe area inset in pixels." }, "bottom": { - "description": "Bottom safe area inset in pixels.", - "type": "number" + "type": "number", + "description": "Bottom safe area inset in pixels." }, "left": { - "description": "Left safe area inset in pixels.", - "type": "number" + "type": "number", + "description": "Left safe area inset in pixels." } }, "required": ["top", "right", "bottom", "left"], @@ -1617,7 +1781,6 @@ "description": "CSS variables for theming the app.", "type": "object", "propertyNames": { - "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation.", "anyOf": [ { "type": "string", @@ -1927,17 +2090,96 @@ "type": "string", "const": "--shadow-lg" } - ] + ], + "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." }, "additionalProperties": { - "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation.", "anyOf": [ { "type": "string" }, {} - ] - } + ], + "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." + }, + "required": [ + "--color-background-primary", + "--color-background-secondary", + "--color-background-tertiary", + "--color-background-inverse", + "--color-background-ghost", + "--color-background-info", + "--color-background-danger", + "--color-background-success", + "--color-background-warning", + "--color-background-disabled", + "--color-text-primary", + "--color-text-secondary", + "--color-text-tertiary", + "--color-text-inverse", + "--color-text-ghost", + "--color-text-info", + "--color-text-danger", + "--color-text-success", + "--color-text-warning", + "--color-text-disabled", + "--color-border-primary", + "--color-border-secondary", + "--color-border-tertiary", + "--color-border-inverse", + "--color-border-ghost", + "--color-border-info", + "--color-border-danger", + "--color-border-success", + "--color-border-warning", + "--color-border-disabled", + "--color-ring-primary", + "--color-ring-secondary", + "--color-ring-inverse", + "--color-ring-info", + "--color-ring-danger", + "--color-ring-success", + "--color-ring-warning", + "--font-sans", + "--font-mono", + "--font-weight-normal", + "--font-weight-medium", + "--font-weight-semibold", + "--font-weight-bold", + "--font-text-xs-size", + "--font-text-sm-size", + "--font-text-md-size", + "--font-text-lg-size", + "--font-heading-xs-size", + "--font-heading-sm-size", + "--font-heading-md-size", + "--font-heading-lg-size", + "--font-heading-xl-size", + "--font-heading-2xl-size", + "--font-heading-3xl-size", + "--font-text-xs-line-height", + "--font-text-sm-line-height", + "--font-text-md-line-height", + "--font-text-lg-line-height", + "--font-heading-xs-line-height", + "--font-heading-sm-line-height", + "--font-heading-md-line-height", + "--font-heading-lg-line-height", + "--font-heading-xl-line-height", + "--font-heading-2xl-line-height", + "--font-heading-3xl-line-height", + "--border-radius-xs", + "--border-radius-sm", + "--border-radius-md", + "--border-radius-lg", + "--border-radius-xl", + "--border-radius-full", + "--border-width-regular", + "--shadow-hairline", + "--shadow-sm", + "--shadow-md", + "--shadow-lg" + ] }, "css": { "description": "CSS blocks that apps can inject.", @@ -1965,7 +2207,6 @@ "type": "object", "properties": { "appInfo": { - "description": "App identification (name and version).", "type": "object", "properties": { "name": { @@ -1990,6 +2231,10 @@ "items": { "type": "string" } + }, + "theme": { + "type": "string", + "enum": ["light", "dark"] } }, "required": ["src"], @@ -2001,13 +2246,16 @@ }, "websiteUrl": { "type": "string" + }, + "description": { + "type": "string" } }, "required": ["name", "version"], - "additionalProperties": false + "additionalProperties": false, + "description": "App identification (name and version)." }, "appCapabilities": { - "description": "Features and capabilities this app provides.", "type": "object", "properties": { "experimental": { @@ -2028,11 +2276,12 @@ "additionalProperties": false } }, - "additionalProperties": false + "additionalProperties": false, + "description": "Features and capabilities this app provides." }, "protocolVersion": { - "description": "Protocol version this app supports.", - "type": "string" + "type": "string", + "description": "Protocol version this app supports." } }, "required": ["appInfo", "appCapabilities", "protocolVersion"], @@ -2047,11 +2296,10 @@ "type": "object", "properties": { "protocolVersion": { - "description": "Negotiated protocol version string (e.g., \"2025-11-21\").", - "type": "string" + "type": "string", + "description": "Negotiated protocol version string (e.g., \"2025-11-21\")." }, "hostInfo": { - "description": "Host application identification and version.", "type": "object", "properties": { "name": { @@ -2076,6 +2324,10 @@ "items": { "type": "string" } + }, + "theme": { + "type": "string", + "enum": ["light", "dark"] } }, "required": ["src"], @@ -2087,13 +2339,16 @@ }, "websiteUrl": { "type": "string" + }, + "description": { + "type": "string" } }, "required": ["name", "version"], - "additionalProperties": false + "additionalProperties": false, + "description": "Host application identification and version." }, "hostCapabilities": { - "description": "Features and capabilities provided by the host.", "type": "object", "properties": { "experimental": { @@ -2296,10 +2551,10 @@ "additionalProperties": false } }, - "additionalProperties": false + "additionalProperties": false, + "description": "Features and capabilities provided by the host." }, "hostContext": { - "description": "Rich context about the host environment.", "type": "object", "properties": { "toolInfo": { @@ -2320,7 +2575,6 @@ ] }, "tool": { - "description": "Tool definition including name, inputSchema, etc.", "type": "object", "properties": { "name": { @@ -2345,6 +2599,10 @@ "items": { "type": "string" } + }, + "theme": { + "type": "string", + "enum": ["light", "dark"] } }, "required": ["src"], @@ -2442,7 +2700,8 @@ } }, "required": ["name", "inputSchema"], - "additionalProperties": false + "additionalProperties": false, + "description": "Tool definition including name, inputSchema, etc." } }, "required": ["tool"], @@ -2469,7 +2728,6 @@ "description": "CSS variables for theming the app.", "type": "object", "propertyNames": { - "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation.", "anyOf": [ { "type": "string", @@ -2779,17 +3037,96 @@ "type": "string", "const": "--shadow-lg" } - ] + ], + "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." }, "additionalProperties": { - "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation.", "anyOf": [ { "type": "string" }, {} - ] - } + ], + "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." + }, + "required": [ + "--color-background-primary", + "--color-background-secondary", + "--color-background-tertiary", + "--color-background-inverse", + "--color-background-ghost", + "--color-background-info", + "--color-background-danger", + "--color-background-success", + "--color-background-warning", + "--color-background-disabled", + "--color-text-primary", + "--color-text-secondary", + "--color-text-tertiary", + "--color-text-inverse", + "--color-text-ghost", + "--color-text-info", + "--color-text-danger", + "--color-text-success", + "--color-text-warning", + "--color-text-disabled", + "--color-border-primary", + "--color-border-secondary", + "--color-border-tertiary", + "--color-border-inverse", + "--color-border-ghost", + "--color-border-info", + "--color-border-danger", + "--color-border-success", + "--color-border-warning", + "--color-border-disabled", + "--color-ring-primary", + "--color-ring-secondary", + "--color-ring-inverse", + "--color-ring-info", + "--color-ring-danger", + "--color-ring-success", + "--color-ring-warning", + "--font-sans", + "--font-mono", + "--font-weight-normal", + "--font-weight-medium", + "--font-weight-semibold", + "--font-weight-bold", + "--font-text-xs-size", + "--font-text-sm-size", + "--font-text-md-size", + "--font-text-lg-size", + "--font-heading-xs-size", + "--font-heading-sm-size", + "--font-heading-md-size", + "--font-heading-lg-size", + "--font-heading-xl-size", + "--font-heading-2xl-size", + "--font-heading-3xl-size", + "--font-text-xs-line-height", + "--font-text-sm-line-height", + "--font-text-md-line-height", + "--font-text-lg-line-height", + "--font-heading-xs-line-height", + "--font-heading-sm-line-height", + "--font-heading-md-line-height", + "--font-heading-lg-line-height", + "--font-heading-xl-line-height", + "--font-heading-2xl-line-height", + "--font-heading-3xl-line-height", + "--border-radius-xs", + "--border-radius-sm", + "--border-radius-md", + "--border-radius-lg", + "--border-radius-xl", + "--border-radius-full", + "--border-width-regular", + "--shadow-hairline", + "--shadow-sm", + "--shadow-md", + "--shadow-lg" + ] }, "css": { "description": "CSS blocks that apps can inject.", @@ -2838,8 +3175,8 @@ "type": "object", "properties": { "height": { - "description": "Fixed container height in pixels.", - "type": "number" + "type": "number", + "description": "Fixed container height in pixels." } }, "required": ["height"], @@ -2868,8 +3205,8 @@ "type": "object", "properties": { "width": { - "description": "Fixed container width in pixels.", - "type": "number" + "type": "number", + "description": "Fixed container width in pixels." } }, "required": ["width"], @@ -2943,27 +3280,28 @@ "type": "object", "properties": { "top": { - "description": "Top safe area inset in pixels.", - "type": "number" + "type": "number", + "description": "Top safe area inset in pixels." }, "right": { - "description": "Right safe area inset in pixels.", - "type": "number" + "type": "number", + "description": "Right safe area inset in pixels." }, "bottom": { - "description": "Bottom safe area inset in pixels.", - "type": "number" + "type": "number", + "description": "Bottom safe area inset in pixels." }, "left": { - "description": "Left safe area inset in pixels.", - "type": "number" + "type": "number", + "description": "Left safe area inset in pixels." } }, "required": ["top", "right", "bottom", "left"], "additionalProperties": false } }, - "additionalProperties": {} + "additionalProperties": {}, + "description": "Rich context about the host environment." } }, "required": [ @@ -3003,12 +3341,11 @@ "type": "object", "properties": { "role": { - "description": "Message role, currently only \"user\" is supported.", "type": "string", - "const": "user" + "const": "user", + "description": "Message role, currently only \"user\" is supported." }, "content": { - "description": "Message content blocks (text, image, etc.).", "type": "array", "items": { "anyOf": [ @@ -3175,6 +3512,10 @@ "items": { "type": "string" } + }, + "theme": { + "type": "string", + "enum": ["light", "dark"] } }, "required": ["src"], @@ -3318,7 +3659,8 @@ "additionalProperties": false } ] - } + }, + "description": "Message content blocks (text, image, etc.)." } }, "required": ["role", "content"], @@ -3351,8 +3693,8 @@ "type": "object", "properties": { "url": { - "description": "URL to open in the host's browser", - "type": "string" + "type": "string", + "description": "URL to open in the host's browser" } }, "required": ["url"], @@ -3385,7 +3727,6 @@ "type": "object", "properties": { "mode": { - "description": "The display mode being requested.", "anyOf": [ { "type": "string", @@ -3399,7 +3740,8 @@ "type": "string", "const": "pip" } - ] + ], + "description": "The display mode being requested." } }, "required": ["mode"], @@ -3414,7 +3756,6 @@ "type": "object", "properties": { "mode": { - "description": "The display mode that was actually set. May differ from requested if not supported.", "anyOf": [ { "type": "string", @@ -3428,7 +3769,8 @@ "type": "string", "const": "pip" } - ] + ], + "description": "The display mode that was actually set. May differ from requested if not supported." } }, "required": ["mode"], @@ -3635,8 +3977,8 @@ "type": "object", "properties": { "html": { - "description": "HTML content to load into the inner iframe.", - "type": "string" + "type": "string", + "description": "HTML content to load into the inner iframe." }, "sandbox": { "description": "Optional override for the inner iframe's sandbox attribute.", @@ -3744,7 +4086,6 @@ }, "McpUiStyleVariableKey": { "$schema": "https://json-schema.org/draft/2020-12/schema", - "description": "CSS variable keys available to MCP apps for theming.", "anyOf": [ { "type": "string", @@ -4054,14 +4395,13 @@ "type": "string", "const": "--shadow-lg" } - ] + ], + "description": "CSS variable keys available to MCP apps for theming." }, "McpUiStyles": { "$schema": "https://json-schema.org/draft/2020-12/schema", - "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation.", "type": "object", "propertyNames": { - "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation.", "anyOf": [ { "type": "string", @@ -4371,17 +4711,97 @@ "type": "string", "const": "--shadow-lg" } - ] + ], + "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." }, "additionalProperties": { - "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation.", "anyOf": [ { "type": "string" }, {} - ] - } + ], + "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." + }, + "required": [ + "--color-background-primary", + "--color-background-secondary", + "--color-background-tertiary", + "--color-background-inverse", + "--color-background-ghost", + "--color-background-info", + "--color-background-danger", + "--color-background-success", + "--color-background-warning", + "--color-background-disabled", + "--color-text-primary", + "--color-text-secondary", + "--color-text-tertiary", + "--color-text-inverse", + "--color-text-ghost", + "--color-text-info", + "--color-text-danger", + "--color-text-success", + "--color-text-warning", + "--color-text-disabled", + "--color-border-primary", + "--color-border-secondary", + "--color-border-tertiary", + "--color-border-inverse", + "--color-border-ghost", + "--color-border-info", + "--color-border-danger", + "--color-border-success", + "--color-border-warning", + "--color-border-disabled", + "--color-ring-primary", + "--color-ring-secondary", + "--color-ring-inverse", + "--color-ring-info", + "--color-ring-danger", + "--color-ring-success", + "--color-ring-warning", + "--font-sans", + "--font-mono", + "--font-weight-normal", + "--font-weight-medium", + "--font-weight-semibold", + "--font-weight-bold", + "--font-text-xs-size", + "--font-text-sm-size", + "--font-text-md-size", + "--font-text-lg-size", + "--font-heading-xs-size", + "--font-heading-sm-size", + "--font-heading-md-size", + "--font-heading-lg-size", + "--font-heading-xl-size", + "--font-heading-2xl-size", + "--font-heading-3xl-size", + "--font-text-xs-line-height", + "--font-text-sm-line-height", + "--font-text-md-line-height", + "--font-text-lg-line-height", + "--font-heading-xs-line-height", + "--font-heading-sm-line-height", + "--font-heading-md-line-height", + "--font-heading-lg-line-height", + "--font-heading-xl-line-height", + "--font-heading-2xl-line-height", + "--font-heading-3xl-line-height", + "--border-radius-xs", + "--border-radius-sm", + "--border-radius-md", + "--border-radius-lg", + "--border-radius-xl", + "--border-radius-full", + "--border-width-regular", + "--shadow-hairline", + "--shadow-sm", + "--shadow-md", + "--shadow-lg" + ], + "description": "Style variables for theming MCP apps.\n\nIndividual style keys are optional - hosts may provide any subset of these values.\nValues are strings containing CSS values (colors, sizes, font stacks, etc.).\n\nNote: This type uses `Record` rather than `Partial>`\nfor compatibility with Zod schema generation. Both are functionally equivalent for validation." }, "McpUiSupportedContentBlockModalities": { "$schema": "https://json-schema.org/draft/2020-12/schema", @@ -4428,7 +4848,6 @@ }, "McpUiTheme": { "$schema": "https://json-schema.org/draft/2020-12/schema", - "description": "Color theme preference for the host environment.", "anyOf": [ { "type": "string", @@ -4438,7 +4857,8 @@ "type": "string", "const": "dark" } - ] + ], + "description": "Color theme preference for the host environment." }, "McpUiToolCancelledNotification": { "$schema": "https://json-schema.org/draft/2020-12/schema", @@ -4529,7 +4949,6 @@ "description": "Who can access this tool. Default: [\"model\", \"app\"]\n- \"model\": Tool visible to and callable by the agent\n- \"app\": Tool callable by the app from this server only", "type": "array", "items": { - "description": "Tool visibility scope - who can access the tool.", "anyOf": [ { "type": "string", @@ -4539,7 +4958,8 @@ "type": "string", "const": "app" } - ] + ], + "description": "Tool visibility scope - who can access the tool." } } }, @@ -4554,12 +4974,23 @@ "const": "ui/notifications/tool-result" }, "params": { - "description": "Standard MCP tool execution result.", "type": "object", "properties": { "_meta": { "type": "object", "properties": { + "progressToken": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + } + ] + }, "io.modelcontextprotocol/related-task": { "type": "object", "properties": { @@ -4568,7 +4999,7 @@ } }, "required": ["taskId"], - "additionalProperties": {} + "additionalProperties": false } }, "additionalProperties": {} @@ -4741,6 +5172,10 @@ "items": { "type": "string" } + }, + "theme": { + "type": "string", + "enum": ["light", "dark"] } }, "required": ["src"], @@ -4898,7 +5333,8 @@ } }, "required": ["content"], - "additionalProperties": {} + "additionalProperties": {}, + "description": "Standard MCP tool execution result." } }, "required": ["method", "params"], @@ -4906,7 +5342,6 @@ }, "McpUiToolVisibility": { "$schema": "https://json-schema.org/draft/2020-12/schema", - "description": "Tool visibility scope - who can access the tool.", "anyOf": [ { "type": "string", @@ -4916,7 +5351,8 @@ "type": "string", "const": "app" } - ] + ], + "description": "Tool visibility scope - who can access the tool." }, "McpUiUpdateModelContextRequest": { "$schema": "https://json-schema.org/draft/2020-12/schema", @@ -5097,6 +5533,10 @@ "items": { "type": "string" } + }, + "theme": { + "type": "string", + "enum": ["light", "dark"] } }, "required": ["src"], diff --git a/tests/e2e/servers.spec.ts b/tests/e2e/servers.spec.ts index e0391c5..5856485 100644 --- a/tests/e2e/servers.spec.ts +++ b/tests/e2e/servers.spec.ts @@ -53,6 +53,7 @@ const SERVERS = [ { key: "sheet-music", name: "Sheet Music Server" }, { key: "system-monitor", name: "System Monitor Server" }, { key: "threejs", name: "Three.js Server" }, + { key: "transcript", name: "Transcript Server" }, { key: "wiki-explorer", name: "Wiki Explorer" }, ]; diff --git a/tests/e2e/servers.spec.ts-snapshots/basic-preact.png b/tests/e2e/servers.spec.ts-snapshots/basic-preact.png index 6b8a27f28cd0343b2f23f244c96c7fe0dff6b6a6..6cab7fe0bfdaec1ba656e157eef1a7b14712b277 100644 GIT binary patch delta 15273 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 L*^lKydVc=_{Z=7_ delta 14939 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 bGb(7!+;jG&3vrE1PZFa5 delta 33787 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 diff --git a/tests/e2e/servers.spec.ts-snapshots/basic-solid.png b/tests/e2e/servers.spec.ts-snapshots/basic-solid.png index 74b19aafd0be2ce619e843e30882c33bbbb01117..55d6a0d1b33e5b91cb289a8a8bfe84f228107799 100644 GIT binary patch delta 34043 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 R{CnVqjD+Hc5;3E%{|kEMMc)7b diff --git a/tests/e2e/servers.spec.ts-snapshots/basic-svelte.png b/tests/e2e/servers.spec.ts-snapshots/basic-svelte.png index d01c00fea081cdebb75ce154715e3361fb54f799..3292df33faabee3fce30a34e6c30a4f3dabcf14f 100644 GIT binary patch delta 15170 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 diff --git a/tests/e2e/servers.spec.ts-snapshots/basic-vanillajs.png b/tests/e2e/servers.spec.ts-snapshots/basic-vanillajs.png index 396789620a842cdd2eb0e4bd9476b25c4647fd61..6cf12893326174949e5ee921eb42f935a103febe 100644 GIT binary patch delta 15955 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 pJ0bXu$Hy}VB~Ew)M}nWXW`+diA-P delta 15809 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 PJ^{%{D2kVh8U*|=_YuoX diff --git a/tests/e2e/servers.spec.ts-snapshots/integration.png b/tests/e2e/servers.spec.ts-snapshots/integration.png index b8d8573c7973a86d2bc9bb5e4cf7ccb56247a09e..2ff6793e7ed53256cc93233386a81951679359e2 100644 GIT binary patch delta 33179 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 Bzp?-T delta 32998 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