diff --git a/.changeset/config.json b/.changeset/config.json index fd1756e3b..cf9936f5b 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -29,6 +29,11 @@ "@open-wa/mcp", "@open-wa/node-red", "@open-wa/plugin-sdk", + "@open-wa/runtime-browser", + "@open-wa/runtime-bun", + "@open-wa/runtime-core", + "@open-wa/runtime-edge", + "@open-wa/runtime-node", "@open-wa/schema", "@open-wa/screencaster", "@open-wa/session-sync", diff --git a/.changeset/effect-v4-runtime.md b/.changeset/effect-v4-runtime.md new file mode 100644 index 000000000..c69cc9119 --- /dev/null +++ b/.changeset/effect-v4-runtime.md @@ -0,0 +1,8 @@ +--- +"@open-wa/core": minor +--- + +Adopt Effect v4 as the v5 runtime kernel, including scoped browser resources, +capability-enforced chat sandboxes, supervised plugin services, durable webhook +delivery, runtime-specific adapters, parallel startup work, and measured +replacement gates for queues and other concurrency primitives. diff --git a/.github/workflows/effect-contracts.yml b/.github/workflows/effect-contracts.yml new file mode 100644 index 000000000..a519f27d5 --- /dev/null +++ b/.github/workflows/effect-contracts.yml @@ -0,0 +1,47 @@ +name: Effect runtime contracts + +on: + pull_request: + paths: + - 'packages/runtime-*/**' + - 'packages/client/**' + - 'packages/core/**' + - 'integrations/**' + - 'pnpm-lock.yaml' + - 'pnpm-workspace.yaml' + - 'tools/check-effect-pins.mjs' + - 'tools/check-portable-imports.mjs' + - 'tools/check-bun-runtime.ts' + - 'tools/bench-effect-startup.mjs' + - '.github/workflows/effect-contracts.yml' + push: + branches: [master] + paths: + - 'packages/runtime-*/**' + - 'packages/client/**' + - 'packages/core/**' + - 'integrations/**' + - 'pnpm-lock.yaml' + - 'pnpm-workspace.yaml' + +jobs: + contracts: + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + with: + version: 11.9.0 + - uses: actions/setup-node@v4 + with: + node-version: 22.21.1 + cache: pnpm + - run: pnpm install --frozen-lockfile + env: + PUPPETEER_SKIP_DOWNLOAD: 'true' + - run: pnpm check:effect-contracts + - uses: oven-sh/setup-bun@v2 + with: + bun-version: latest + - run: bun tools/check-bun-runtime.ts diff --git a/.gitignore b/.gitignore index 179d20871..85de7567a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,7 @@ node_modules dist -# Runtime browser session data / Chrome userData — NEVER commit these. The -# runtime's default userDataDir is _IGNORE_ (see **_IGNORE_** below); -# these also catch session dirs a user points userDataDir at. -session/ -sessions/ -newsession/ -# ...but wa-automate's source `session` directory is real code, not data: -!packages/wa-automate/src/session/ -!packages/wa-automate/src/session/** +/session/ +/newsession/ **buttons.js **req.ts **qr_code_session.png diff --git a/.npmrc b/.npmrc new file mode 100644 index 000000000..298de57e5 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +trust-lockfile=true diff --git a/.oxlintrc.json b/.oxlintrc.json index 7ea853303..2ccc3652c 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -42,7 +42,6 @@ "jsx-a11y/lang": "off", "jsx-a11y/html-has-lang": "off", "jsx-a11y/prefer-tag-over-role": "off", - "typescript-eslint/no-extraneous-class": "off", "jest/no-disabled-tests": "off" }, "ignorePatterns": [ @@ -53,6 +52,7 @@ "**/.docusaurus/**", "**/build/**", "**/*.gen.ts", + "packages/core/src/transport/assets/**", "packages/orchestrator/tests/**" ], "overrides": [ diff --git a/apps/dashboard-neo/package.json b/apps/dashboard-neo/package.json index 4d0276a57..242892392 100644 --- a/apps/dashboard-neo/package.json +++ b/apps/dashboard-neo/package.json @@ -18,46 +18,45 @@ "url": "https://github.com/open-wa/wa-automate-nodejs.git" }, "license": "Apache-2.0", - "dependencies": {}, "devDependencies": { - "@base-ui/react": "^1.3.0", - "@fontsource-variable/geist": "^5.2.8", - "@hugeicons/core-free-icons": "^4.1.1", - "@hugeicons/react": "^1.1.6", + "@base-ui/react": "^1.6.0", + "@fontsource-variable/geist": "^5.3.0", + "@hugeicons/core-free-icons": "^4.2.3", + "@hugeicons/react": "^1.1.9", "@open-wa/screencaster": "workspace:*", "@open-wa/socket-client": "workspace:*", - "@scalar/api-reference-react": "^0.9.18", + "@scalar/api-reference-react": "^0.9.59", "@tailwindcss/vite": "catalog:", - "@tanstack/react-devtools": "^0.10.0", + "@tanstack/devtools-vite": "^0.8.1", + "@tanstack/eslint-config": "^0.4.0", + "@tanstack/react-devtools": "^0.10.8", "@tanstack/react-router": "catalog:", "@tanstack/react-router-devtools": "catalog:", "@tanstack/react-router-ssr-query": "catalog:", - "@tanstack/router-plugin": "^1.167.10", + "@tanstack/router-plugin": "^1.168.23", + "@testing-library/dom": "^10.4.1", + "@testing-library/react": "^16.3.2", + "@types/node": "^26.1.1", + "@types/react": "^19.2.17", + "@types/react-dom": "catalog:", + "@vitejs/plugin-react": "catalog:", "class-variance-authority": "^0.7.1", "clsx": "catalog:", + "jsdom": "^29.1.1", "lucide-react": "catalog:", "next-themes": "^0.4.6", - "react": "^19.2.4", - "react-dom": "^19.2.4", - "shadcn": "^4.1.2", + "prettier": "^3.9.6", + "prettier-plugin-tailwindcss": "^0.8.1", + "react": "^19.2.8", + "react-dom": "^19.2.8", + "shadcn": "^4.14.0", "sonner": "^2.0.7", "tailwind-merge": "catalog:", - "tailwindcss": "^4.2.1", + "tailwindcss": "^4.3.3", "tailwindcss-animate": "^1.0.7", - "@tanstack/devtools-vite": "^0.6.0", - "@tanstack/eslint-config": "^0.4.0", - "@testing-library/dom": "^10.4.1", - "@testing-library/react": "^16.3.2", - "@types/node": "^22.19.15", - "@types/react": "^19.2.14", - "@types/react-dom": "^19.2.3", - "@vitejs/plugin-react": "catalog:", - "jsdom": "^27.4.0", - "prettier": "^3.8.1", - "prettier-plugin-tailwindcss": "^0.7.2", - "typescript": "^5.9.3", + "typescript": "^7.0.2", "vite": "catalog:", "vitest": "catalog:", - "web-vitals": "^5.1.0" + "web-vitals": "^6.0.0" } } diff --git a/apps/dashboard-neo/src/components/app-sidebar.test.tsx b/apps/dashboard-neo/src/components/app-sidebar.test.tsx index 1138211f7..8195a1616 100644 --- a/apps/dashboard-neo/src/components/app-sidebar.test.tsx +++ b/apps/dashboard-neo/src/components/app-sidebar.test.tsx @@ -1,7 +1,6 @@ // @vitest-environment jsdom import { describe, it, expect, vi, beforeEach } from 'vitest'; import { render, screen } from '@testing-library/react'; -import React from 'react'; // Mock dependencies vi.mock('@/lib/hooks/use-health', () => ({ diff --git a/apps/dashboard-neo/src/components/app-sidebar.tsx b/apps/dashboard-neo/src/components/app-sidebar.tsx index 3fba9d00b..532c6a6d0 100644 --- a/apps/dashboard-neo/src/components/app-sidebar.tsx +++ b/apps/dashboard-neo/src/components/app-sidebar.tsx @@ -47,33 +47,6 @@ import { Bot, } from "lucide-react" -const navItems = [ - { - group: "Overview", - items: [ - { title: "Session", href: "/", icon: }, - { title: "Health", href: "/health", icon: }, - { title: "Events", href: "/events", icon: }, - ], - }, - { - group: "Developer", - items: [ - { title: "API Docs", href: "/api-docs", icon: }, - { title: "Playground", href: "/playground", icon: }, - { title: "Debug", href: "/debug", icon: }, - ], - }, - { - group: "Communication", - items: [ - { title: "Chat", href: "/chat", icon: }, - { title: "Contacts", href: "/contacts", icon: }, - { title: "Portal", href: "/portal", icon: }, - ], - }, -] - /** * Fetches the plugin manifest from the API server. * Returns empty array if the API is unreachable. diff --git a/apps/dashboard-neo/src/lib/hooks/use-health.test.ts b/apps/dashboard-neo/src/lib/hooks/use-health.test.ts index 4ca93e4a7..168172975 100644 --- a/apps/dashboard-neo/src/lib/hooks/use-health.test.ts +++ b/apps/dashboard-neo/src/lib/hooks/use-health.test.ts @@ -6,6 +6,20 @@ import { } from "./use-health" describe("runtime readiness helpers", () => { + const healthWithSession = (session: Record): HealthData => ({ + status: "ok", + version: "test", + connected: false, + session, + qr: null, + launchTimeline: [], + patches: [], + license: null, + reconnections: [], + startedAt: null, + lastEventAt: null, + }) + it("allows runtime calls when health marks the session ready", () => { expect( isRuntimeReadySession({ ready: true, state: "AUTHENTICATING" }) @@ -31,13 +45,11 @@ describe("runtime readiness helpers", () => { }) it("derives runtime call permission from health data", () => { - expect(canInvokeRuntime({ session: { ready: true } } as HealthData)).toBe( - true - ) + expect(canInvokeRuntime(healthWithSession({ ready: true }))).toBe(true) expect( - canInvokeRuntime({ - session: { ready: false, state: "AUTHENTICATING" }, - } as HealthData) + canInvokeRuntime( + healthWithSession({ ready: false, state: "AUTHENTICATING" }) + ) ).toBe(false) expect(canInvokeRuntime(null)).toBe(false) }) diff --git a/apps/dashboard-neo/src/routes/-mcp.test.tsx b/apps/dashboard-neo/src/routes/-mcp.test.tsx index 3f1934a81..1ce1a9b10 100644 --- a/apps/dashboard-neo/src/routes/-mcp.test.tsx +++ b/apps/dashboard-neo/src/routes/-mcp.test.tsx @@ -1,6 +1,5 @@ // @vitest-environment jsdom import { describe, it, expect, vi, beforeEach } from 'vitest'; -import React from 'react'; // Mock dependencies vi.mock('@/lib/hooks/use-health', () => ({ diff --git a/apps/dashboard-neo/src/routes/index.tsx b/apps/dashboard-neo/src/routes/index.tsx index 2eb943fec..f1007460b 100644 --- a/apps/dashboard-neo/src/routes/index.tsx +++ b/apps/dashboard-neo/src/routes/index.tsx @@ -376,7 +376,7 @@ function PreLaunchView({ autoScroll showTimestamps showControls - onClear={() => setLogLines([])} + onClear={isDemo ? () => setDemoLogLines([]) : undefined} /> diff --git a/apps/dashboard-neo/src/routes/mcp.tsx b/apps/dashboard-neo/src/routes/mcp.tsx index 56e488f1a..a42bb01a0 100644 --- a/apps/dashboard-neo/src/routes/mcp.tsx +++ b/apps/dashboard-neo/src/routes/mcp.tsx @@ -15,13 +15,13 @@ import { KeyRound, Copy, } from "lucide-react" -import { useState } from "react" +import { useState, type ReactNode } from "react" import { getApiUrl } from "@/lib/api-client" export const Route = createFileRoute("/mcp")({ component: McpPage }) export function McpPage() { - const { mcpAvailable, mcpEnabled, mcpPath, loading } = useHealth() + const { mcpAvailable, mcpEnabled, mcpPath } = useHealth() const [copied, setCopied] = useState(null) const baseUrl = getApiUrl() @@ -143,7 +143,6 @@ export function McpPage() { icon={} snippet={claudeConfig} copied={copied} - setCopied={setCopied} copyId="claude" copyToClipboard={copyToClipboard} instructions={[ @@ -160,7 +159,6 @@ export function McpPage() { icon={} snippet={cursorConfig} copied={copied} - setCopied={setCopied} copyId="cursor" copyToClipboard={copyToClipboard} instructions={[ @@ -280,7 +278,6 @@ function ConfigSnippet({ icon, snippet, copied, - setCopied, copyId, copyToClipboard, instructions, @@ -289,10 +286,9 @@ function ConfigSnippet({ icon: React.ReactNode snippet: string copied: string | null - setCopied: (v: string | null) => void copyId: string copyToClipboard: (text: string, id: string) => void - instructions: React.ReactNode[] + instructions: ReactNode[] }) { return (
diff --git a/apps/dashboard-neo/vite.config.ts b/apps/dashboard-neo/vite.config.ts index 465bf766a..19fff26f2 100644 --- a/apps/dashboard-neo/vite.config.ts +++ b/apps/dashboard-neo/vite.config.ts @@ -1,11 +1,11 @@ -import { defineConfig } from "vite" -import { fileURLToPath, URL } from "node:url" +import { defineConfig } from "vitest/config" +import { createRequire } from "node:module" import { devtools } from "@tanstack/devtools-vite" import { TanStackRouterVite } from "@tanstack/router-plugin/vite" import viteReact from "@vitejs/plugin-react" import tailwindcss from "@tailwindcss/vite" -const appReactPath = (path: string) => fileURLToPath(new URL(`./node_modules/${path}`, import.meta.url)) +const resolvePackageExport = createRequire(import.meta.url).resolve const config = defineConfig({ base: '/dashboard/', @@ -13,11 +13,11 @@ const config = defineConfig({ tsconfigPaths: true, dedupe: ["react", "react-dom", "react/jsx-runtime", "react/jsx-dev-runtime"], alias: [ - { find: "react/jsx-runtime", replacement: appReactPath("react/jsx-runtime.js") }, - { find: "react/jsx-dev-runtime", replacement: appReactPath("react/jsx-dev-runtime.js") }, - { find: "react-dom/client", replacement: appReactPath("react-dom/client.js") }, - { find: /^react$/, replacement: appReactPath("react/index.js") }, - { find: /^react-dom$/, replacement: appReactPath("react-dom/index.js") }, + { find: "react/jsx-runtime", replacement: resolvePackageExport("react/jsx-runtime") }, + { find: "react/jsx-dev-runtime", replacement: resolvePackageExport("react/jsx-dev-runtime") }, + { find: "react-dom/client", replacement: resolvePackageExport("react-dom/client") }, + { find: /^react$/, replacement: resolvePackageExport("react") }, + { find: /^react-dom$/, replacement: resolvePackageExport("react-dom") }, ], }, plugins: [ diff --git a/apps/docker/package.json b/apps/docker/package.json index f5b37ff31..c83f38807 100755 --- a/apps/docker/package.json +++ b/apps/docker/package.json @@ -20,7 +20,7 @@ "homepage": "https://github.com/open-wa/wa-automate-docker#readme", "dependencies": { "@open-wa/wa-automate": "latest", - "npm": "^7.12.1" + "npm": "^12.0.1" }, "private": true } diff --git a/apps/docs/package.json b/apps/docs/package.json index ebae889aa..888d83345 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -23,36 +23,36 @@ "test:og": "tsx scripts/test-og.ts" }, "dependencies": { - "@ai-sdk/react": "^3.0.189", - "@cloudflare/vite-plugin": "^1.37.2", - "@openrouter/ai-sdk-provider": "^2.9.0", + "@ai-sdk/react": "^4.0.37", + "@cloudflare/vite-plugin": "^1.46.0", + "@openrouter/ai-sdk-provider": "^3.0.0", "@orama/orama": "^3.1.18", - "@radix-ui/react-popover": "^1.1.15", - "@radix-ui/react-presence": "^1.1.5", - "@scalar/api-reference-react": "^0.9.18", + "@radix-ui/react-popover": "^1.1.20", + "@radix-ui/react-presence": "^1.1.8", + "@scalar/api-reference-react": "^0.9.59", "@tailwindcss/vite": "catalog:", - "@takumi-rs/helpers": "^1.6.0", - "@takumi-rs/image-response": "^1.6.0", - "@takumi-rs/wasm": "^1.6.0", + "@takumi-rs/helpers": "^2.4.1", + "@takumi-rs/image-response": "^2.4.1", + "@takumi-rs/wasm": "^2.4.1", "@tanstack/react-router": "catalog:", "@tanstack/react-router-devtools": "catalog:", "@tanstack/react-start": "catalog:", "@tanstack/start-static-server-functions": "catalog:", - "@types/mdx": "^2.0.13", + "@types/mdx": "^2.0.14", "@types/node": "catalog:", "@types/react": "catalog:", "@types/react-dom": "catalog:", "@vitejs/plugin-react": "catalog:", - "ai": "^6.0.187", + "ai": "^7.0.34", "class-variance-authority": "^0.7.1", "flexsearch": "^0.8.212", - "fumadocs-core": "16.7.7", - "fumadocs-mdx": "14.2.11", - "fumadocs-typescript": "^5.2.6", - "fumadocs-ui": "16.7.7", + "fumadocs-core": "16.11.5", + "fumadocs-mdx": "15.2.0", + "fumadocs-typescript": "^5.3.0", + "fumadocs-ui": "16.11.5", "hast-util-to-jsx-runtime": "^2.3.6", - "lucide-react": "^1.16.0", - "lucide-static": "^0.556.0", + "lucide-react": "^1.25.0", + "lucide-static": "^1.25.0", "react": "catalog:", "react-dom": "catalog:", "remark": "^15.0.1", @@ -68,8 +68,8 @@ "zod": "^4.4.3" }, "devDependencies": { - "@types/hast": "^3.0.4", - "@types/mdx": "^2.0.13", + "@types/hast": "^3.0.5", + "@types/mdx": "^2.0.14", "@types/node": "catalog:", "@types/react": "catalog:", "@types/react-dom": "catalog:", diff --git a/apps/docs/src/routes/docs/$.tsx b/apps/docs/src/routes/docs/$.tsx index 7ada9b2c9..422b35e55 100644 --- a/apps/docs/src/routes/docs/$.tsx +++ b/apps/docs/src/routes/docs/$.tsx @@ -20,7 +20,7 @@ import { DocsShell } from './-shell'; const loader = createServerFn({ method: 'GET', }) - .inputValidator((slugs: string[]) => slugs) + .validator((slugs: string[]) => slugs) .handler(async ({ data: slugs }) => { const { source } = await import('@/lib/source'); diff --git a/architecture/benchmarks/effect-replacements.json b/architecture/benchmarks/effect-replacements.json new file mode 100644 index 000000000..e770338e8 --- /dev/null +++ b/architecture/benchmarks/effect-replacements.json @@ -0,0 +1,46 @@ +{ + "benchmark": "effect-v4-replacement-spikes", + "recordedAt": "2026-07-22T12:37:49.708Z", + "effect": "4.0.0-beta.100", + "runtime": "v26.4.0-darwin-arm64", + "performance": { + "schemaDecode": { + "effect": { + "iterations": 100000, + "durationMs": 82.79, + "operationsPerSecond": 1207849 + }, + "zod": { + "iterations": 100000, + "durationMs": 4.84, + "operationsPerSecond": 20640546 + } + }, + "eventFanout": { + "effectPubSub": { + "iterations": 10000, + "durationMs": 21.55, + "operationsPerSecond": 464075 + }, + "hyperEmitter": { + "iterations": 10000, + "durationMs": 0.81, + "operationsPerSecond": 12373680 + } + } + }, + "bundles": { + "schema": { + "effectBytes": 364586, + "zodBytes": 327274 + }, + "events": { + "effectBytes": 128546, + "hyperEmitterBytes": 6002 + }, + "declaration": { + "effectHttpRpcBytes": 428676, + "handAuthoredBytes": 190 + } + } +} diff --git a/architecture/benchmarks/effect-startup-baseline.json b/architecture/benchmarks/effect-startup-baseline.json new file mode 100644 index 000000000..f8de29a79 --- /dev/null +++ b/architecture/benchmarks/effect-startup-baseline.json @@ -0,0 +1,17 @@ +{ + "recordedAt": "2026-07-21", + "runtime": "node-v26.4.0-darwin-arm64", + "effect": "4.0.0-beta.100", + "benchmark": "effect-startup-independent-phases", + "singleSession": { + "before": { "durationMs": 150, "rssPeakMb": 141.2, "rssDeltaMb": 0.1 }, + "after": { "durationMs": 72, "rssPeakMb": 141.3, "rssDeltaMb": 0.1, "graphCriticalPathMs": 72 }, + "speedup": 2.09 + }, + "threeConcurrentSessions": { + "before": { "durationMs": 454, "rssPeakMb": 141.4, "rssDeltaMb": 0.1 }, + "after": { "durationMs": 70, "rssPeakMb": 141.8, "rssDeltaMb": 0.3 }, + "speedup": 6.45 + }, + "note": "Comparative dependency-graph baseline. Real Puppeteer browser process-tree RSS is recorded separately; authenticated full-session baselines are release-environment artifacts because they require isolated credentials." +} diff --git a/architecture/benchmarks/puppeteer-browser-darwin-arm64.json b/architecture/benchmarks/puppeteer-browser-darwin-arm64.json new file mode 100644 index 000000000..ab512535f --- /dev/null +++ b/architecture/benchmarks/puppeteer-browser-darwin-arm64.json @@ -0,0 +1,111 @@ +{ + "benchmark": "openwa-real-runtime", + "recordedAt": "2026-07-22T12:35:04.265Z", + "scope": "browser-navigation", + "driver": "puppeteer", + "mode": "browser", + "url": "about:blank", + "host": { + "platform": "darwin", + "release": "25.5.0", + "arch": "arm64", + "node": "v26.4.0", + "cpu": "Apple M1 Pro", + "cpuCount": 8, + "totalMemoryMb": 16384 + }, + "results": { + "1Session": { + "cold": { + "durationMs": 9152, + "peakBrowserTreeRssMb": 796.2, + "sessions": [ + { + "browserVersion": "Chrome/150.0.7871.130" + } + ] + }, + "warm": { + "samples": [ + { + "durationMs": 1616, + "peakBrowserTreeRssMb": 772.8, + "sessions": [ + { + "browserVersion": "Chrome/150.0.7871.130" + } + ] + }, + { + "durationMs": 1781, + "peakBrowserTreeRssMb": 758.5, + "sessions": [ + { + "browserVersion": "Chrome/150.0.7871.130" + } + ] + } + ], + "medianDurationMs": 1616, + "p95DurationMs": 1781, + "medianPeakBrowserTreeRssMb": 758.5, + "p95PeakBrowserTreeRssMb": 772.8 + } + }, + "3Session": { + "cold": { + "durationMs": 2845, + "peakBrowserTreeRssMb": 2204.5, + "sessions": [ + { + "browserVersion": "Chrome/150.0.7871.130" + }, + { + "browserVersion": "Chrome/150.0.7871.130" + }, + { + "browserVersion": "Chrome/150.0.7871.130" + } + ] + }, + "warm": { + "samples": [ + { + "durationMs": 2367, + "peakBrowserTreeRssMb": 2268.3, + "sessions": [ + { + "browserVersion": "Chrome/150.0.7871.130" + }, + { + "browserVersion": "Chrome/150.0.7871.130" + }, + { + "browserVersion": "Chrome/150.0.7871.130" + } + ] + }, + { + "durationMs": 1695, + "peakBrowserTreeRssMb": 2258.6, + "sessions": [ + { + "browserVersion": "Chrome/150.0.7871.130" + }, + { + "browserVersion": "Chrome/150.0.7871.130" + }, + { + "browserVersion": "Chrome/150.0.7871.130" + } + ] + } + ], + "medianDurationMs": 1695, + "p95DurationMs": 2367, + "medianPeakBrowserTreeRssMb": 2258.6, + "p95PeakBrowserTreeRssMb": 2268.3 + } + } + } +} diff --git a/architecture/effect-v4-runtime.md b/architecture/effect-v4-runtime.md new file mode 100644 index 000000000..215c8640e --- /dev/null +++ b/architecture/effect-v4-runtime.md @@ -0,0 +1,68 @@ +# Effect v4 runtime architecture + +Open-wa v5 uses Effect as its portable execution, dependency, concurrency, resource, and observability kernel. The coordinated Effect family is pinned to `4.0.0-beta.100`; beta upgrades are atomic and must pass `.github/workflows/effect-contracts.yml` before merge. + +## Runtime capability boundary + +Domain programs import `@open-wa/runtime-core` and request capabilities. Composition roots provide them with one of the runtime Layers below. A Layer advertises what the host really supports; it never emulates Chromium, files, or processes where the host cannot provide them. + +| Runtime Layer | Browser client | Launch Chromium | Filesystem | Process | Fetch | Worker bindings | +| --- | --- | --- | --- | --- | --- | --- | +| Node | yes | yes | yes | yes | yes | no | +| Bun | yes | yes, contract tested under Bun | yes | yes | yes | no | +| Browser | yes | no | no | no | yes | no | +| Edge/Worker | yes | no | no | no | yes | yes | + +Deno does not have a dedicated Layer yet. It may consume the Node package through Deno's Node compatibility only after the same capability contract passes there; until then it is deliberately unclaimed. The portable import check rejects Node, Bun, Deno, CommonJS, and other host globals from runtime-core, browser, and edge sources. Browser and edge tests also prove that host-only requests fail as typed capability errors. + +## Queue policies + +`ScopedTaskQueue` is the v5 queue primitive. Every instance declares a positive capacity, concurrency, FIFO ordering, and either bounded backpressure or dropping overload. It can also declare a task timeout and fixed-window rate policy. Queue workers belong to an Effect Scope; closing it rejects queued and active acknowledgements, interrupts worker fibers, and shuts down the mailbox. Metrics cover depth, active fibers, completions, failures, drops, and rate-delay decisions. + +| Consumer | Capacity and overload | Ordering/concurrency | Failure and shutdown | +| --- | --- | --- | --- | +| Client event listener | Listener policy; bounded backpressure or dropping | FIFO per listener | Timeout/failure is reported; removing the listener closes its mailbox | +| Webhook delivery | 1,000/backpressure by default | FIFO, 10 workers by default | Stable idempotency keys, SQLite replay/dead-letter state, retry limits, interruption-safe shutdown | +| S3 upload | Integration policy/backpressure | FIFO with explicit permits | A file is marked processed only after upload success; dispose drains and closes | +| Orchestrator commands | Command-specific bounded queues | Serialized where update/reload/restart ordering matters | Queue ownership follows the orchestrator lifecycle and rejects on close | +| Chat executor | 64/backpressure per chat | FIFO, one worker by default | Timeout kills the isolate; idle/session close destroys the queue and process/worker | + +Sliding overload is intentionally absent because it would discard an already-accepted task without a truthful acknowledgement. Priority work must use separate explicit lanes rather than silently weakening FIFO. + +## Session resource ownership and startup + +The process owns admission control and runtime adapters. Each `createClient` call creates one session Scope that owns its admission lease, Transport/browser/page, plugins, chat sandbox, event queues, listeners, timers, and shutdown hooks. Startup failure, authentication timeout, browser crash, plugin failure, signal, interruption, and normal stop all close that Scope; finalizers run once in reverse acquisition order. + +Startup is an explicit dependency graph. Patch acquisition, license preflight, and transport launch/navigation start together. Patch application waits for the page and artifact, remote license validation waits for host identity, and readiness waits for every critical dependency. Optional branches accumulate failures while critical branches fail fast and interrupt siblings. Each phase and the graph critical path are observable. + +`tools/bench-effect-startup.mjs` reports before/after critical-path time and peak process RSS for one and three concurrent synthetic sessions. It remains a contract benchmark, not a browser capacity claim. `pnpm bench:runtime:real -- --driver puppeteer --mode session --profile-root /release/openwa-profiles --output architecture/benchmarks/puppeteer-release-host.json` runs the full authenticated startup on a release host and records cold/warm one- and three-session latency plus browser-process-tree RSS with hardware labels. Browser-only mode supports capability baselines for drivers such as Lightpanda that cannot complete current WhatsApp service-worker startup. Production thresholds should be set only after several release-host samples exist for each supported driver. + +`SessionAdmission` reserves steady-state memory and browser-launch permits before work starts. The Node sampler exports process RSS and heap gauges. OS/container limits remain responsible for hard caps. + +## Per-chat execution isolation + +`sandboxChats` or `--sandbox-chats` creates a per-chat mailbox and execution scope. Policies include worker/process/container isolation, timeout, idle timeout, memory, concurrency, filesystem, network, environment, and allowed capabilities. The common default is a process with no ambient environment, serialized work, a 30-second timeout, and a 256 MB V8 heap limit. + +- Worker mode is an availability boundary with a V8 heap limit, not a hostile-code security boundary. +- Process mode removes ambient globals from the VM context, disables string/Wasm code generation, strips environment variables, uses Node permissions, and enforces time/output limits. Node's permission model is defense in depth, so this mode is not advertised as containment for determined malicious code. +- Container mode is the strong boundary: no network, read-only root, bounded memory/CPU/PIDs, a small no-exec tmpfs, and no workspace mount unless policy explicitly allows one. Network allowlists require an external network-policy adapter and fail closed otherwise. + +Worker and process adapters accept only `filesystem=none`, `network=none`, and `env=none`; requests for host access fail closed instead of pretending that the VM boundary can enforce them. Filesystem mounts and selected environment forwarding are container-only policies. + +`Effect.sandbox` is used only to preserve the full `Cause` in the typed error channel. A contract test demonstrates that it does not isolate ordinary side effects, preventing it from being mistaken for a security feature. + +## Plugin Layers and durable delivery + +Webhook, S3, and Chatwoot expose capability services through scoped Layers. Their plugin adapters create a `ManagedRuntime`, borrow the service for handlers, and dispose the runtime with the plugin. Webhook and S3 finalizers drain their bounded queues before closing; community Promise plugins remain adapters at the external plugin boundary. + +Durable webhooks use `node:sqlite` with WAL and full synchronization. Enqueue is idempotent, attempts and next-run times are persisted before sleep, replay is ordered, corrupt payloads are quarantined to dead letter, successful delivery is terminal, retry exhaustion becomes dead letter, and shutdown leaves interrupted work pending. Remote requests carry the stable delivery identifier in `Idempotency-Key`. + +## Observability and replacement decisions + +The in-memory observability service is the baseline implementation and a bridge point for OpenTelemetry/exporters. It records queue depth/drops/failures, active queue fibers, rate and retry decisions, session/browser memory, startup phase and critical-path durations, and fatal Causes. Attributes identify the queue, component, phase, and session where available. + +The direct keep/replace decisions for Schema, HttpApi, RPC, logging, and events live in `architecture/effect-v4-spikes.md`; executable Schema, HttpApi, RPC, PubSub, and Stream contracts live in `packages/runtime-core/src/effect-spikes.test.ts`. Unstable imports remain visibly under `effect/unstable/*`, behind open-wa-owned declarations, so a coordinated beta bump cannot leak churn through the public SDK. + +## Upgrade contract + +Every Effect beta update must change the catalog and lockfile together, then pass exact-family validation, portable-import checks, runtime package builds/typechecks/tests, the same portable capability program under Node and Bun, browser/edge negative capability tests, lifecycle/finalizer tests, queue semantics, durable webhook crash/replay tests, sandbox adversarial tests, and the startup benchmark. A failure blocks the upgrade rather than allowing mixed beta versions or runtime-specific imports into portable code. diff --git a/architecture/effect-v4-spikes.md b/architecture/effect-v4-spikes.md new file mode 100644 index 000000000..162155598 --- /dev/null +++ b/architecture/effect-v4-spikes.md @@ -0,0 +1,30 @@ +# Effect v4 replacement decisions + +These spikes compile and run against the exact `4.0.0-beta.100` family. Because open-wa v5 is still alpha, these decisions optimize the target architecture instead of preserving transitional APIs. + +| Area | Decision | Evidence and boundary | +| --- | --- | --- | +| Schema | Replace Zod for runtime, wire, persistence, and new public contracts. Keep a thin Zod decoder only at the third-party plugin input boundary. | One Effect Schema now drives the runtime decode and the HttpApi/RPC declaration. Decode failures are typed and prototype-safe; Schema tree-shakes with the runtime contract. The remaining Zod adapter is an external protocol boundary, not migration weighting. | +| HttpApi | Replace hand-authored route contracts with HttpApi, starting with health/runtime metadata, while Hono remains a replaceable server transport. | Reflection produces the endpoint model from the same Schema and strict handler typing catches drift. The unstable import is isolated behind an open-wa declaration; API contract and bundle checks gate each beta. | +| RPC | Replace the hand-authored `ask` protocol declaration with definition-first RPC while retaining HTTP/WebSocket as transports. | `OpenWaAskRpc` owns payload, success, typed error, and defect schemas. Reconnect, streaming, browser bundle size, and backpressure remain transport acceptance gates before the declaration expands. | +| Logging | Keep `@open-wa/logger` as the sink and replace runtime logging calls with an Effect bridge at composition roots. | Current transports remain useful on capability grounds, while Effect supplies spans, fiber annotations, retry/rate decisions, and nested Causes. A full sink replacement has no correctness or bundle advantage yet. | +| Events | Replace internal fan-out paths with bounded `PubSub`/`Stream`; keep HyperEmitter only as the public synchronous adapter. | The prototype proves bounded publish/consume and scoped shutdown. Wildcard ordering, synchronous listener behavior, rejection handling, throughput, and browser bundle size must match before the public adapter can be removed. | +| Error sandboxing | Use `Effect.sandbox` only to capture typed `Cause` values. | Security isolation is provided by the runtime-specific worker/process/container execution adapter, never by Cause sandboxing. | + +The executable contracts live in `packages/runtime-core/src/effect-spikes.test.ts`. All unstable APIs stay behind open-wa-owned declarations, so beta stability affects one internal boundary instead of the SDK. + +## Measured replacement boundary + +`tools/bench-effect-replacements.mjs` records repeatable performance and minified standalone browser-bundle measurements in `architecture/benchmarks/effect-replacements.json`; `tools/check-effect-evidence.mjs` rejects evidence recorded against a different Effect pin. On the 2026-07-22 Node 26/Apple M1 Pro run: + +| Spike | Existing | Effect v4 | Consequence | +| --- | ---: | ---: | --- | +| Runtime contract decode | Zod 20.6m ops/s, 327,274 B | Schema 1.2m ops/s, 364,586 B | Adopt Schema where one definition removes wire/persistence/API drift. Keep decoding outside hot per-message loops and retain the Zod plugin boundary. | +| Internal event fan-out | HyperEmitter 12.4m ops/s, 6,002 B | PubSub 464k ops/s, 128,546 B | Adopt bounded PubSub where backpressure and scoped shutdown are correctness requirements. Keep HyperEmitter for the synchronous public event surface. | +| HTTP/RPC declaration | Hand-authored 190 B | HttpApi/RPC 428,676 B | Adopt definition-first declarations on server/runtime entrypoints that already load Effect. Do not pull them into browser clients until an incremental bundle report proves the shared runtime amortizes the cost. | + +The bundle figures are standalone costs, so they deliberately represent the worst case rather than claiming that shared Effect modules are free. The performance figures are decision evidence rather than release thresholds; correctness contract tests and the exact beta pin remain the stability gates. + +## Startup and memory evidence + +`tools/bench-effect-startup.mjs` compares sequential startup with the dependency graph and records critical-path duration plus peak RSS for one and three sessions. The checked baseline shows 150 ms to 72 ms for one session and 454 ms to 70 ms for three concurrent sessions without a material synthetic RSS increase. `tools/bench-real-runtime.mjs` separately measures real browser process-tree RSS and cold/warm navigation; the Puppeteer/Chrome 150 Apple Silicon baseline is checked in as `architecture/benchmarks/puppeteer-browser-darwin-arm64.json` and covers one and three concurrent browser sessions. Authenticated session baselines remain environment-specific release artifacts because they require isolated WhatsApp profiles and credentials. diff --git a/integrations/chatwoot/package.json b/integrations/chatwoot/package.json index 6c3dbf613..dbc271631 100644 --- a/integrations/chatwoot/package.json +++ b/integrations/chatwoot/package.json @@ -12,17 +12,21 @@ "scripts": { "build": "tsdown src/index.ts --format esm --dts", "dev": "tsdown src/index.ts --format esm --dts --watch", + "test": "vitest run", + "typecheck": "tsc --noEmit", "lint": "oxlint src", "clean": "rimraf dist" }, "dependencies": { "@open-wa/plugin-sdk": "workspace:*", + "effect": "catalog:", "hono": "catalog:" }, "devDependencies": { "@open-wa/logger": "workspace:*", "@types/node": "catalog:", - "typescript": "catalog:" + "typescript": "catalog:", + "vitest": "catalog:" }, "publishConfig": { "access": "public" diff --git a/integrations/chatwoot/src/client.ts b/integrations/chatwoot/src/client.ts index c318a4810..b118d29c0 100644 --- a/integrations/chatwoot/src/client.ts +++ b/integrations/chatwoot/src/client.ts @@ -1,5 +1,5 @@ import type { Logger } from '@open-wa/logger'; -import type { ChatwootConfig } from './config.js'; +import type { ChatwootConfig } from './config'; interface Contact { id: number; @@ -38,15 +38,16 @@ export class ChatwootClient { private accountId: string; private inboxId: string; private expectedSelfWebhookUrl: string; - private readonly logger: Logger; + private readonly logger: Pick; private readonly forceUpdateCwWebhook: boolean; + private readonly abortController = new AbortController(); // Registry mappings private readonly contactReg: Map = new Map(); private readonly convoReg: Map = new Map(); private readonly ignoreMap: Map = new Map(); - constructor(config: ChatwootConfig, logger: Logger) { + constructor(config: ChatwootConfig, logger: Pick) { const url = new URL(config.chatwootUrl); this.origin = url.origin; this.apiAccessToken = config.chatwootApiAccessToken; @@ -91,9 +92,10 @@ export class ChatwootClient { const response = await fetch(url, { method, headers: fetchHeaders, + signal: this.abortController.signal, body: data ? isFormData - ? (data as BodyInit) + ? (data as FormData) : JSON.stringify(data) : undefined, }); @@ -123,6 +125,7 @@ export class ChatwootClient { if (!this.accountId) { const response = await fetch(`${this.origin}/api/v1/profile`, { headers: { api_access_token: this.apiAccessToken }, + signal: this.abortController.signal, }); const data = await response.json() as { account_id: number }; this.accountId = String(data.account_id); @@ -344,6 +347,7 @@ export class ChatwootClient { method: 'POST', headers: { api_access_token: this.apiAccessToken }, body: formData, + signal: this.abortController.signal, }); const data = await response.json() as CWMessage; @@ -501,4 +505,11 @@ export class ChatwootClient { getInboxId(): string { return this.inboxId; } + + close(): void { + this.abortController.abort(); + this.contactReg.clear(); + this.convoReg.clear(); + this.ignoreMap.clear(); + } } diff --git a/integrations/chatwoot/src/index.ts b/integrations/chatwoot/src/index.ts index 3e69630ec..d4c517803 100644 --- a/integrations/chatwoot/src/index.ts +++ b/integrations/chatwoot/src/index.ts @@ -1,8 +1,13 @@ // Default export is the plugin itself (for config-driven loading) -export { default, default as chatwootPlugin } from './plugin.js'; -export type { ChatwootPluginConfig } from './plugin.js'; +export { default, default as chatwootPlugin } from './plugin'; +export type { ChatwootPluginConfig } from './plugin'; // Named exports for direct usage -export { ChatwootClient } from './client.js'; -export { createChatwootRouter } from './middleware.js'; -export type { ChatwootConfig } from './config.js'; +export { ChatwootClient } from './client'; +export { createChatwootRouter } from './middleware'; +export type { ChatwootConfig } from './config'; +export { + ChatwootClientService, + chatwootClientLayer, + chatwootClientTestLayer, +} from './service'; diff --git a/integrations/chatwoot/src/middleware.ts b/integrations/chatwoot/src/middleware.ts index 276569441..3948e6c12 100644 --- a/integrations/chatwoot/src/middleware.ts +++ b/integrations/chatwoot/src/middleware.ts @@ -5,7 +5,7 @@ * outgoing messages to WhatsApp via the plugin's client. */ import { Hono } from 'hono'; -import type { ChatwootClient } from './client.js'; +import type { ChatwootClient } from './client'; import type { PluginClient, PluginLogger } from '@open-wa/plugin-sdk'; interface WebhookBody { diff --git a/integrations/chatwoot/src/plugin.ts b/integrations/chatwoot/src/plugin.ts index 0f7c72424..8ccb9343d 100644 --- a/integrations/chatwoot/src/plugin.ts +++ b/integrations/chatwoot/src/plugin.ts @@ -5,8 +5,9 @@ * Provides a webhook endpoint for Chatwoot to send outbound messages. */ import { createPlugin, z } from '@open-wa/plugin-sdk'; -import { ChatwootClient } from './client.js'; -import { createChatwootRouter } from './middleware.js'; +import { createChatwootRouter } from './middleware'; +import { Effect, ManagedRuntime } from 'effect'; +import { ChatwootClientService, chatwootClientLayer } from './service'; /** * Config schema for the Chatwoot plugin. @@ -45,19 +46,26 @@ export default createPlugin({ configSchema, init: async ({ config, client, logger, sessionId }) => { - const cwClient = new ChatwootClient(config, logger); + const runtime = ManagedRuntime.make(chatwootClientLayer(config, logger)); + const cwClient = await runtime.runPromise(ChatwootClientService); return { - 'core.started': async () => { - const hostAccountNumber = await client.getHostNumber(); - await cwClient.init(sessionId, hostAccountNumber); - logger.info('Chatwoot integration initialized'); - }, + 'core.started': () => runtime.runPromise(Effect.tryPromise({ + try: async () => { + const hostAccountNumber = await client.getHostNumber(); + await cwClient.init(sessionId, hostAccountNumber); + logger.info('Chatwoot integration initialized'); + }, + catch: (cause) => cause, + })), - 'message.received': async ({ message }) => { - const decryptMedia = async (msg: unknown) => client.decryptMedia(msg); - await cwClient.processWAMessage(message as never, decryptMedia); - }, + 'message.received': ({ message }) => runtime.runPromise(Effect.tryPromise({ + try: async () => { + const decryptMedia = async (msg: unknown) => client.decryptMedia(msg); + await cwClient.processWAMessage(message as never, decryptMedia); + }, + catch: (cause) => cause, + })), routes: () => createChatwootRouter(cwClient, client, logger), @@ -71,6 +79,7 @@ export default createPlugin({ ], dispose: async () => { + await runtime.dispose(); logger.info('Chatwoot integration disposed'); }, }; diff --git a/integrations/chatwoot/src/service.test.ts b/integrations/chatwoot/src/service.test.ts new file mode 100644 index 000000000..a0bc5c35b --- /dev/null +++ b/integrations/chatwoot/src/service.test.ts @@ -0,0 +1,24 @@ +import { ManagedRuntime } from 'effect'; +import { describe, expect, it, vi } from 'vitest'; +import { ChatwootClient } from './client'; +import { ChatwootClientService, chatwootClientLayer } from './service'; + +describe('ChatwootClient Layer', () => { + it('automatically aborts requests and clears registries on scope close', async () => { + const close = vi.spyOn(ChatwootClient.prototype, 'close'); + const runtime = ManagedRuntime.make(chatwootClientLayer({ + chatwootUrl: 'https://chatwoot.example/app/accounts/1/inboxes/2', + chatwootApiAccessToken: 'test-token', + }, { + debug: vi.fn(), + info: vi.fn(), + error: vi.fn(), + })); + + await runtime.runPromise(ChatwootClientService); + await runtime.dispose(); + + expect(close).toHaveBeenCalledTimes(1); + close.mockRestore(); + }); +}); diff --git a/integrations/chatwoot/src/service.ts b/integrations/chatwoot/src/service.ts new file mode 100644 index 000000000..e350e837b --- /dev/null +++ b/integrations/chatwoot/src/service.ts @@ -0,0 +1,21 @@ +import type { Logger } from '@open-wa/logger'; +import { Context, Effect, Layer } from 'effect'; +import { ChatwootClient } from './client'; +import type { ChatwootConfig } from './config'; + +export const ChatwootClientService = + Context.Service('@open-wa/integration-chatwoot/ChatwootClient'); + +export const chatwootClientTestLayer = (client: ChatwootClient) => + Layer.succeed(ChatwootClientService, client); + +export const chatwootClientLayer = ( + config: ChatwootConfig, + logger: Pick, +) => Layer.effect( + ChatwootClientService, + Effect.acquireRelease( + Effect.sync(() => new ChatwootClient(config, logger)), + (client) => Effect.sync(() => client.close()), + ), +); diff --git a/integrations/cloudflare/package.json b/integrations/cloudflare/package.json index a30bf18c5..ce4b87438 100644 --- a/integrations/cloudflare/package.json +++ b/integrations/cloudflare/package.json @@ -21,7 +21,7 @@ "dependencies": { "@open-wa/core": "workspace:*", "@open-wa/logger": "workspace:*", - "cloudflared": "^0.5.0" + "cloudflared": "^0.7.1" }, "devDependencies": { "@types/node": "catalog:", diff --git a/integrations/cloudflare/src/index.ts b/integrations/cloudflare/src/index.ts index 35c84c4bc..84ae53a91 100644 --- a/integrations/cloudflare/src/index.ts +++ b/integrations/cloudflare/src/index.ts @@ -1,3 +1,3 @@ -export { cloudflarePlugin } from './plugin.js'; -export type { CloudflareConfig } from './config.js'; -export { createTunnel, type TunnelResult } from './tunnel.js'; +export { cloudflarePlugin } from './plugin'; +export type { CloudflareConfig } from './config'; +export { createTunnel, type TunnelResult } from './tunnel'; diff --git a/integrations/cloudflare/src/plugin.ts b/integrations/cloudflare/src/plugin.ts index 1cccf4b3e..6455eb47a 100644 --- a/integrations/cloudflare/src/plugin.ts +++ b/integrations/cloudflare/src/plugin.ts @@ -1,6 +1,6 @@ import type { Plugin, PluginInput, Hooks } from '@open-wa/core'; -import type { CloudflareConfig } from './config.js'; -import { createTunnel, type TunnelResult } from './tunnel.js'; +import type { CloudflareConfig } from './config'; +import { createTunnel, type TunnelResult } from './tunnel'; export function cloudflarePlugin(config: CloudflareConfig): Plugin { return async (input: PluginInput): Promise => { diff --git a/integrations/cloudflare/src/tunnel.ts b/integrations/cloudflare/src/tunnel.ts index dd7716441..7536776e9 100644 --- a/integrations/cloudflare/src/tunnel.ts +++ b/integrations/cloudflare/src/tunnel.ts @@ -1,6 +1,6 @@ import { tunnel } from 'cloudflared'; import type { Logger } from '@open-wa/logger'; -import type { CloudflareConfig } from './config.js'; +import type { CloudflareConfig } from './config'; export interface TunnelResult { url: string; diff --git a/integrations/node-red/package.json b/integrations/node-red/package.json index ceb9fafb0..dacb623f4 100644 --- a/integrations/node-red/package.json +++ b/integrations/node-red/package.json @@ -16,8 +16,8 @@ "scripts": { "add-node": "node ./utils/add-node.js", "copy": "copyfiles -u 1 src/**/*.{png,svg} dist/", - "build:editor": "pnpm run clean:editor && copyfiles -u 2 src/editor/**/*.{css,html} dist/ && rollup -c rollup.config.editor.js", - "build:editor:watch": "rollup -c rollup.config.editor.js -w", + "build:editor": "pnpm run clean:editor && copyfiles -u 2 src/editor/**/*.{css,html} dist/ && rollup -c rollup.config.editor.mjs", + "build:editor:watch": "rollup -c rollup.config.editor.mjs -w", "build:runtime": "pnpm run clean:runtime && tsc -p tsconfig.runtime.json", "build:runtime:watch": "tsc -p tsconfig.runtime.watch.json --watch --preserveWatchOutput", "build": "rimraf dist && pnpm run copy && pnpm run build:editor && pnpm run build:runtime", @@ -26,8 +26,8 @@ "test": "vitest run --passWithNoTests", "test:watch": "vitest --passWithNoTests", "dev": "rimraf dist && pnpm run copy && concurrently --names \"COPY,EDITOR,RUNTIME,TEST\" --prefix \"({name})\" --prefix-colors \"yellow.bold,cyan.bold,greenBright.bold,magenta.bold\" \"onchange -v \\\"src/**/*.png\\\" \\\"src/**/*.svg\\\" -- pnpm run copy\" \"pnpm run build:editor:watch\" \"pnpm run build:runtime:watch\" \"node -e \\\"setTimeout(() => process.exit(0), 10000)\\\" && pnpm run test:watch\"", - "lint": "oxlint src utils rollup.config.editor.js", - "lint:fix": "oxlint src utils rollup.config.editor.js --fix" + "lint": "oxlint src utils rollup.config.editor.mjs", + "lint:fix": "oxlint src utils rollup.config.editor.mjs --fix" }, "author": "Mohammed Shah <@smashah>", "license": "H-DNH V1.0", @@ -44,31 +44,32 @@ } }, "devDependencies": { - "@rollup/plugin-typescript": "^8.2.3", + "@rollup/plugin-swc": "^0.4.1", + "@swc/core": "^1.15.46", "@types/express": "catalog:", "@types/node": "catalog:", - "@types/node-red": "^1.1.1", - "@types/node-red-node-test-helper": "^0.2.2", - "@types/sinon": "^10.0.2", - "@types/supertest": "^2.0.11", - "colorette": "^1.2.2", - "concurrently": "^7.6.0", + "@types/node-red": "^1.3.5", + "@types/node-red-node-test-helper": "^0.3.5", + "@types/sinon": "^22.0.0", + "@types/supertest": "^7.2.1", + "colorette": "^2.0.20", + "concurrently": "^10.0.3", "copyfiles": "^2.4.1", - "glob": "^7.1.7", - "vitest": "catalog:", + "glob": "^13.0.6", "mustache": "^4.2.0", - "node-red": "^1.3.5", - "node-red-node-test-helper": "^0.2.7", + "node-red": "^5.0.1", + "node-red-node-test-helper": "^0.3.6", "onchange": "^7.1.0", "prettier": "catalog:", - "rollup": "^2.53.2", - "type-fest": "^2.1.0", + "rollup": "^4.62.2", + "type-fest": "^5.8.0", "typescript": "catalog:", - "yarpm": "^1.1.1" + "vitest": "catalog:", + "yarpm": "^1.2.0" }, "dependencies": { - "@open-wa/socket-client": "workspace:*", "@open-wa/schema": "workspace:*", + "@open-wa/socket-client": "workspace:*", "@open-wa/wa-automate-types-only": "workspace:*" } } diff --git a/integrations/node-red/rollup.config.editor.js b/integrations/node-red/rollup.config.editor.mjs similarity index 75% rename from integrations/node-red/rollup.config.editor.js rename to integrations/node-red/rollup.config.editor.mjs index de4242fed..f2b71134f 100644 --- a/integrations/node-red/rollup.config.editor.js +++ b/integrations/node-red/rollup.config.editor.mjs @@ -1,9 +1,9 @@ import fs from "fs"; -import glob from "glob"; +import { globSync } from "glob"; import path from "path"; -import typescript from "@rollup/plugin-typescript"; +import swc from "@rollup/plugin-swc"; -import packageJson from "./package.json"; +import packageJson from "./package.json" with { type: "json" }; const allNodeTypes = Object.keys(packageJson["node-red"].nodes); @@ -12,7 +12,7 @@ const htmlWatch = () => { name: "htmlWatch", load(id) { const editorDir = path.dirname(id); - const htmlFiles = glob.sync(path.join(editorDir, "*.html")); + const htmlFiles = globSync(path.join(editorDir, "*.html")); htmlFiles.map((file) => this.addWatchFile(file)); }, }; @@ -23,7 +23,7 @@ const htmlBundle = () => { name: "htmlBundle", renderChunk(code, chunk, _options) { const editorDir = path.dirname(chunk.facadeModuleId); - const htmlFiles = glob.sync(path.join(editorDir, "*.html")); + const htmlFiles = globSync(path.join(editorDir, "*.html")); const htmlContents = htmlFiles.map((fPath) => fs.readFileSync(fPath)); code = @@ -43,18 +43,18 @@ const htmlBundle = () => { const makePlugins = (nodeType) => [ htmlWatch(), - typescript({ - lib: ["es5", "es6", "dom"], + swc({ include: [ `src/nodes/${nodeType}/${nodeType}.html/**/*.ts`, `src/nodes/${nodeType}/shared/**/*.ts`, "src/nodes/shared/common.ts", ], - target: "es5", - tsconfig: false, - ignoreDeprecations: "6.0", - skipLibCheck: true, - noEmitOnError: process.env.ROLLUP_WATCH ? false : true, + swc: { + jsc: { + parser: { syntax: "typescript" }, + target: "es5", + }, + }, }), htmlBundle(), ]; diff --git a/integrations/s3/package.json b/integrations/s3/package.json index c78933cd8..3efa9f618 100644 --- a/integrations/s3/package.json +++ b/integrations/s3/package.json @@ -15,19 +15,23 @@ "scripts": { "build": "tsdown src/index.ts --format esm --format cjs", "dev": "tsdown src/index.ts --format esm --format cjs --watch", + "test": "vitest run", + "typecheck": "tsc --noEmit", "lint": "oxlint src", "clean": "rimraf dist" }, "dependencies": { "@open-wa/core": "workspace:*", "@open-wa/logger": "workspace:*", - "mime": "^4.0.0", - "p-queue": "^8.0.0", - "pico-s3": "^1.0.0" + "@open-wa/runtime-core": "workspace:*", + "effect": "catalog:", + "mime": "^4.1.0", + "pico-s3": "^2.11.0" }, "devDependencies": { "@types/node": "catalog:", - "typescript": "catalog:" + "typescript": "catalog:", + "vitest": "catalog:" }, "publishConfig": { "access": "public" diff --git a/integrations/s3/src/index.ts b/integrations/s3/src/index.ts index 922137dc8..d15532e64 100644 --- a/integrations/s3/src/index.ts +++ b/integrations/s3/src/index.ts @@ -1,3 +1,4 @@ -export { s3Plugin } from './plugin.js'; -export { type S3Config, type CloudProvider, DirectoryStrategy } from './config.js'; -export { S3Uploader } from './uploader.js'; +export { s3Plugin } from './plugin'; +export { type S3Config, type CloudProvider, DirectoryStrategy } from './config'; +export { S3Uploader } from './uploader'; +export { S3UploaderService, s3UploaderLayer, s3UploaderTestLayer } from './service'; diff --git a/integrations/s3/src/plugin.ts b/integrations/s3/src/plugin.ts index 1cf350ad1..a7ebef29d 100644 --- a/integrations/s3/src/plugin.ts +++ b/integrations/s3/src/plugin.ts @@ -1,6 +1,7 @@ import type { Plugin, PluginInput, Hooks } from '@open-wa/core'; -import type { S3Config } from './config.js'; -import { S3Uploader } from './uploader.js'; +import type { S3Config } from './config'; +import { Effect, ManagedRuntime } from 'effect'; +import { S3UploaderService, s3UploaderLayer } from './service'; interface MediaMessage { deprecatedMms3Url?: string; @@ -13,9 +14,10 @@ interface WAClient { } export function s3Plugin(config: S3Config): Plugin { - return async (input: PluginInput): Promise => { + return Object.assign(async (input: PluginInput): Promise => { const { logger, client } = input; - const uploader = new S3Uploader(config, logger); + const runtime = ManagedRuntime.make(s3UploaderLayer(config, logger)); + const uploader = await runtime.runPromise(S3UploaderService); const getWAClient = (): WAClient | null => { if (client && typeof client === 'object' && 'decryptMedia' in client) { @@ -25,22 +27,31 @@ export function s3Plugin(config: S3Config): Plugin { }; return { - 'message.received': async ({ message }) => { - const msg = message as MediaMessage; - const waClient = getWAClient(); + 'message.received': ({ message }) => runtime.runPromise(Effect.tryPromise({ + try: async () => { + const msg = message as MediaMessage; + const waClient = getWAClient(); - if (msg.deprecatedMms3Url && msg.mimetype && waClient) { - const cloudUrl = await uploader.uploadMedia(msg as never, waClient); - if (cloudUrl) { - msg.cloudUrl = cloudUrl; + if (msg.deprecatedMms3Url && msg.mimetype && waClient) { + const cloudUrl = await uploader.uploadMedia(msg as never, waClient); + if (cloudUrl) { + msg.cloudUrl = cloudUrl; + } } - } - }, + }, + catch: (cause) => cause, + })), dispose: async () => { - await uploader.waitForQueue(); + await runtime.dispose(); logger.info('S3 uploader queue drained'); }, }; - }; + }, { + meta: { + name: 's3', + version: '5.0.0-alpha.7', + description: 'Upload WhatsApp media to S3-compatible object storage', + }, + }); } diff --git a/integrations/s3/src/service.test.ts b/integrations/s3/src/service.test.ts new file mode 100644 index 000000000..b1784f44d --- /dev/null +++ b/integrations/s3/src/service.test.ts @@ -0,0 +1,25 @@ +import { ManagedRuntime } from 'effect'; +import { describe, expect, it, vi } from 'vitest'; +import { S3UploaderService, s3UploaderLayer } from './service'; +import { S3Uploader } from './uploader'; + +describe('S3Uploader Layer', () => { + it('drains and closes its queue when the managed scope closes', async () => { + const waitForQueue = vi.spyOn(S3Uploader.prototype, 'waitForQueue'); + const close = vi.spyOn(S3Uploader.prototype, 'close'); + const runtime = ManagedRuntime.make(s3UploaderLayer({ + provider: 'aws', + accessKeyId: 'test-access-key', + secretAccessKey: 'test-secret-key', + bucket: 'test-bucket', + }, { error: vi.fn() })); + + await runtime.runPromise(S3UploaderService); + await runtime.dispose(); + + expect(waitForQueue).toHaveBeenCalledTimes(1); + expect(close).toHaveBeenCalledTimes(1); + waitForQueue.mockRestore(); + close.mockRestore(); + }); +}); diff --git a/integrations/s3/src/service.ts b/integrations/s3/src/service.ts new file mode 100644 index 000000000..266984bd2 --- /dev/null +++ b/integrations/s3/src/service.ts @@ -0,0 +1,24 @@ +import type { Logger } from '@open-wa/logger'; +import { Context, Effect, Layer } from 'effect'; +import type { S3Config } from './config'; +import { S3Uploader } from './uploader'; + +export const S3UploaderService = + Context.Service('@open-wa/integration-s3/S3Uploader'); + +export const s3UploaderTestLayer = (uploader: S3Uploader) => + Layer.succeed(S3UploaderService, uploader); + +export const s3UploaderLayer = ( + config: S3Config, + logger: Pick, +) => Layer.effect( + S3UploaderService, + Effect.acquireRelease( + Effect.sync(() => new S3Uploader(config, logger)), + (uploader) => Effect.promise(async () => { + await uploader.waitForQueue(); + await uploader.close(); + }), + ), +); diff --git a/integrations/s3/src/uploader.ts b/integrations/s3/src/uploader.ts index a47eaab44..da3fdf10c 100644 --- a/integrations/s3/src/uploader.ts +++ b/integrations/s3/src/uploader.ts @@ -1,8 +1,8 @@ -import PQueue from 'p-queue'; import { upload, getCloudUrl } from 'pico-s3'; import mime from 'mime'; import type { Logger } from '@open-wa/logger'; -import { type S3Config, DirectoryStrategy } from './config.js'; +import { ScopedTaskQueue } from '@open-wa/runtime-core'; +import { type S3Config, DirectoryStrategy } from './config'; interface MediaMessage { mId?: string; @@ -31,17 +31,19 @@ interface S3UploadOpts { export class S3Uploader { private readonly config: S3Config; - private readonly logger: Logger; - private readonly uploadQueue: PQueue; + private readonly logger: Pick; + private readonly uploadQueue: Promise; private readonly processedFiles: Set = new Set(); - constructor(config: S3Config, logger: Logger) { + constructor(config: S3Config, logger: Pick) { this.config = config; this.logger = logger; - this.uploadQueue = new PQueue({ + this.uploadQueue = ScopedTaskQueue.make({ + name: 's3.upload', concurrency: 2, - interval: 1000, - intervalCap: 2, + capacity: 64, + overload: 'backpressure', + rate: { intervalMs: 1000, limit: 2 }, }); } @@ -65,8 +67,11 @@ export class S3Uploader { const mediaData = await client.decryptMedia(message); const opts = this.buildUploadOptions(filename, mediaData, message.from); + await (await this.uploadQueue).submit( + () => upload(opts as never), + filename, + ); this.processedFiles.add(filename); - await this.uploadQueue.add(() => upload(opts as never).catch(() => undefined)); return this.getCloudUrlForFile(filename); } catch (error) { @@ -132,6 +137,10 @@ export class S3Uploader { } async waitForQueue(): Promise { - await this.uploadQueue.onIdle(); + await (await this.uploadQueue).waitForIdle(); + } + + async close(): Promise { + await (await this.uploadQueue).close(); } } diff --git a/integrations/webhook/package.json b/integrations/webhook/package.json index e4a48fed8..e8afeac4a 100644 --- a/integrations/webhook/package.json +++ b/integrations/webhook/package.json @@ -12,17 +12,21 @@ "scripts": { "build": "tsdown src/index.ts --format esm --dts", "dev": "tsdown src/index.ts --format esm --dts --watch", + "test": "vitest run", + "typecheck": "tsc --noEmit", "lint": "oxlint src", "clean": "rimraf dist" }, "dependencies": { "@open-wa/plugin-sdk": "workspace:*", - "p-queue": "^8.0.0" + "@open-wa/runtime-core": "workspace:*", + "effect": "catalog:" }, "devDependencies": { "@open-wa/logger": "workspace:*", "@types/node": "catalog:", - "typescript": "catalog:" + "typescript": "catalog:", + "vitest": "catalog:" }, "publishConfig": { "access": "public" diff --git a/integrations/webhook/src/config.ts b/integrations/webhook/src/config.ts index 1a58db878..b91c623a7 100644 --- a/integrations/webhook/src/config.ts +++ b/integrations/webhook/src/config.ts @@ -13,6 +13,12 @@ export interface WebhookConfig { /** Max concurrent deliveries (default: 10) */ concurrency?: number; + /** Maximum number of deliveries waiting in memory (default: 1000) */ + queueCapacity?: number; + + /** Whether a full queue waits for room or rejects new deliveries */ + overload?: 'backpressure' | 'dropping'; + /** Number of retry attempts (default: 3) */ retries?: number; @@ -24,6 +30,13 @@ export interface WebhookConfig { /** Request timeout in ms (default: 30000) */ timeout?: number; + + /** Durable SQLite delivery journal. Pending rows are replayed after restart. */ + durability?: { + enabled: boolean; + path?: string; + replayLimit?: number; + }; } export interface Webhook { @@ -40,4 +53,6 @@ export interface WebhookPayload { event: string; payload: unknown; timestamp: number; + /** Stable caller-provided deduplication key. Falls back to a payload hash. */ + idempotencyKey?: string; } diff --git a/integrations/webhook/src/deliverer.ts b/integrations/webhook/src/deliverer.ts index 711ef5bc9..e60f2c542 100644 --- a/integrations/webhook/src/deliverer.ts +++ b/integrations/webhook/src/deliverer.ts @@ -1,44 +1,99 @@ -import PQueue from 'p-queue'; import type { Logger } from '@open-wa/logger'; -import type { WebhookConfig, WebhookPayload } from './config.js'; +import { + makeInMemoryObservability, + queueMetricsObserver, + ScopedTaskQueue, + type RuntimeObservabilityShape, +} from '@open-wa/runtime-core'; +import { Effect } from 'effect'; +import type { WebhookConfig, WebhookPayload } from './config'; +import { + SqliteWebhookDeliveryStore, + type StoredWebhookDelivery, + type WebhookDeliveryStore, +} from './durable-store'; /** * Webhook Deliverer — uses native fetch instead of axios. - * Supports exponential backoff retry and concurrent delivery via PQueue. + * Supports exponential backoff retry on a bounded, scoped Effect queue. */ export class WebhookDeliverer { private readonly config: WebhookConfig; - private readonly logger: Logger; - private readonly queue: PQueue; + private readonly logger: Pick; + private readonly queue: Promise; private readonly retries: number; private readonly retryDelay: number; private readonly timeout: number; + private readonly store?: WebhookDeliveryStore; + private readonly ready: Promise; + private readonly inFlight = new Set(); + private readonly background = new Set>(); + private readonly lifecycle = new AbortController(); + private readonly observability: RuntimeObservabilityShape; + private closing = false; - constructor(config: WebhookConfig, logger: Logger) { + constructor( + config: WebhookConfig, + logger: Pick, + observability: RuntimeObservabilityShape = makeInMemoryObservability(), + ) { this.config = config; this.logger = logger; this.retries = config.retries ?? 3; this.retryDelay = config.retryDelay ?? 1000; this.timeout = config.timeout ?? 30_000; - this.queue = new PQueue({ + this.observability = observability; + this.queue = ScopedTaskQueue.make({ + name: 'webhook.delivery', concurrency: config.concurrency ?? 10, + capacity: config.queueCapacity ?? 1000, + overload: config.overload ?? 'backpressure', + observe: queueMetricsObserver(observability), }); + this.store = config.durability?.enabled + ? new SqliteWebhookDeliveryStore(config.durability.path ?? '.openwa/webhook-deliveries.sqlite') + : undefined; + this.ready = this.replayPending(); } async deliver(payload: WebhookPayload): Promise { - await this.queue.add(() => this.sendWithRetry(payload)); + await this.ready; + if (this.closing) throw new Error('Webhook deliverer is closed'); + const stored = this.store?.enqueue(payload); + if (stored?.status === 'delivered' || (stored && this.inFlight.has(stored.id))) return; + await this.schedule(payload, stored); } - private async sendWithRetry(payload: WebhookPayload, attempt = 0): Promise { + private async schedule(payload: WebhookPayload, stored?: StoredWebhookDelivery): Promise { + if (stored) this.inFlight.add(stored.id); + try { + await (await this.queue).submit( + async () => { + const delay = Math.max(0, (stored?.nextAttemptAt ?? 0) - Date.now()); + if (delay > 0) await this.sleep(delay); + await this.sendWithRetry(payload, stored?.attempts ?? 0, stored?.id); + }, + `${payload.webhookId}.${payload.event}`, + ); + } finally { + if (stored) this.inFlight.delete(stored.id); + } + } + + private async sendWithRetry(payload: WebhookPayload, attempt = 0, deliveryId?: string): Promise { try { const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), this.timeout); + const abortFromLifecycle = () => controller.abort(this.lifecycle.signal.reason); try { + if (this.lifecycle.signal.aborted) abortFromLifecycle(); + else this.lifecycle.signal.addEventListener('abort', abortFromLifecycle, { once: true }); const response = await fetch(this.config.url, { method: 'POST', headers: { 'Content-Type': 'application/json', + ...(deliveryId ? { 'Idempotency-Key': deliveryId } : {}), ...this.config.headers, }, body: JSON.stringify(payload), @@ -50,10 +105,13 @@ export class WebhookDeliverer { } this.logger.debug(`Webhook delivered: ${payload.event} to ${this.config.url}`); + if (deliveryId) this.store?.markDelivered(deliveryId); } finally { clearTimeout(timeoutId); + this.lifecycle.signal.removeEventListener('abort', abortFromLifecycle); } } catch (error) { + if (this.closing || this.lifecycle.signal.aborted) throw error; const errMessage = error instanceof Error ? error.message : String(error); if (attempt < this.retries) { @@ -61,21 +119,79 @@ export class WebhookDeliverer { this.logger.warn( `Webhook delivery failed (attempt ${attempt + 1}/${this.retries + 1}), retrying in ${delay}ms: ${errMessage}` ); + Effect.runSync(this.observability.increment('retry_decisions', 1, { + component: 'webhook', + attempt: attempt + 1, + })); + if (deliveryId) this.store?.markAttempt(deliveryId, errMessage, Date.now() + delay); await this.sleep(delay); - return this.sendWithRetry(payload, attempt + 1); + return this.sendWithRetry(payload, attempt + 1, deliveryId); } this.logger.error( `Webhook delivery failed after ${this.retries + 1} attempts: ${errMessage}` ); + Effect.runSync(this.observability.recordCause('webhook.delivery', error, { + component: 'webhook', + })); + if (deliveryId) this.store?.markDeadLetter(deliveryId, errMessage); + throw error; } } private sleep(ms: number): Promise { - return new Promise((resolve) => setTimeout(resolve, ms)); + return new Promise((resolve, reject) => { + const signal = this.lifecycle.signal; + if (signal.aborted) { + reject(signal.reason ?? new Error('Webhook deliverer closed')); + return; + } + const onAbort = () => { + clearTimeout(timer); + reject(signal.reason ?? new Error('Webhook deliverer closed')); + }; + const timer = setTimeout(() => { + signal.removeEventListener('abort', onAbort); + resolve(); + }, ms); + signal.addEventListener('abort', onAbort, { once: true }); + }); } async waitForIdle(): Promise { - await this.queue.onIdle(); + await this.ready; + await (await this.queue).waitForIdle(); + } + + async close(): Promise { + if (this.closing) return; + this.closing = true; + this.lifecycle.abort(new Error('Webhook deliverer closed')); + await this.ready; + await (await this.queue).close(); + await Promise.allSettled(this.background); + this.store?.close(); + } + + async metrics(): Promise>> { + return Effect.runPromise(this.observability.snapshot); + } + + private async replayPending(): Promise { + if (!this.store) return; + await this.queue; + if (this.closing) return; + const pending = this.store.pending(this.config.durability?.replayLimit ?? 1000); + for (const delivery of pending) { + const replay = this.schedule(delivery.payload, delivery).catch((error) => { + if (!this.closing) { + this.logger.error( + `Durable webhook replay failed: ${error instanceof Error ? error.message : String(error)}`, + ); + } + }); + this.background.add(replay); + void replay.finally(() => this.background.delete(replay)); + } } } diff --git a/integrations/webhook/src/durable-store.test.ts b/integrations/webhook/src/durable-store.test.ts new file mode 100644 index 000000000..09dd2d6c3 --- /dev/null +++ b/integrations/webhook/src/durable-store.test.ts @@ -0,0 +1,173 @@ +import { mkdtempSync, rmSync } from 'node:fs'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { DatabaseSync } from 'node:sqlite'; +import { afterEach, describe, expect, it, vi } from 'vitest'; +import type { WebhookPayload } from './config'; +import { WebhookDeliverer } from './deliverer'; +import { SqliteWebhookDeliveryStore } from './durable-store'; + +const directories: string[] = []; +const temporaryDatabase = () => { + const directory = mkdtempSync(join(tmpdir(), 'openwa-webhooks-')); + directories.push(directory); + return join(directory, 'deliveries.sqlite'); +}; + +const payload: WebhookPayload = { + webhookId: 'webhook-1', + sessionId: 'session-1', + event: 'message.received', + payload: { id: 'message-1' }, + timestamp: 1234, + idempotencyKey: 'message-1', +}; + +const logger = { + debug: vi.fn(), + warn: vi.fn(), + error: vi.fn(), +}; + +afterEach(() => { + vi.unstubAllGlobals(); + for (const directory of directories.splice(0)) { + rmSync(directory, { recursive: true, force: true }); + } +}); + +describe('durable webhook delivery', () => { + it('survives store restart and deduplicates the same delivery', () => { + const path = temporaryDatabase(); + const first = new SqliteWebhookDeliveryStore(path); + const stored = first.enqueue(payload); + first.markAttempt(stored.id, 'offline', 5000); + first.close(); + + const second = new SqliteWebhookDeliveryStore(path); + const replay = second.pending(); + expect(replay).toHaveLength(1); + expect(replay[0]).toMatchObject({ id: stored.id, attempts: 1, nextAttemptAt: 5000 }); + expect(second.enqueue(payload).id).toBe(stored.id); + second.markDelivered(stored.id); + expect(second.pending()).toEqual([]); + second.close(); + }); + + it('quarantines rows whose payload can no longer be decoded', () => { + const path = temporaryDatabase(); + const store = new SqliteWebhookDeliveryStore(path); + store.close(); + const database = new DatabaseSync(path); + database.prepare(` + INSERT INTO webhook_deliveries + (id, payload, attempts, next_attempt_at, status, created_at, updated_at) + VALUES ('broken', '{', 0, 0, 'pending', 0, 0) + `).run(); + database.close(); + + const reopened = new SqliteWebhookDeliveryStore(path); + expect(reopened.pending()).toEqual([]); + reopened.close(); + }); + + it('replays a pending row after a simulated process death', async () => { + const path = temporaryDatabase(); + const first = new SqliteWebhookDeliveryStore(path); + first.enqueue(payload); + first.close(); + + const fetchMock = vi.fn().mockResolvedValue(new Response(null, { status: 204 })); + vi.stubGlobal('fetch', fetchMock); + const deliverer = new WebhookDeliverer({ + url: 'https://example.test/webhook', + retries: 0, + durability: { enabled: true, path }, + }, logger as never); + + await deliverer.waitForIdle(); + expect(fetchMock).toHaveBeenCalledTimes(1); + expect(fetchMock.mock.calls[0][1].headers).toMatchObject({ + 'Idempotency-Key': expect.any(String), + }); + await deliverer.close(); + + const verified = new SqliteWebhookDeliveryStore(path); + expect(verified.pending()).toEqual([]); + verified.close(); + }); + + it('persists retry decisions and exposes their runtime metrics', async () => { + const path = temporaryDatabase(); + const fetchMock = vi.fn() + .mockResolvedValueOnce(new Response(null, { status: 503, statusText: 'Unavailable' })) + .mockResolvedValueOnce(new Response(null, { status: 204 })); + vi.stubGlobal('fetch', fetchMock); + const deliverer = new WebhookDeliverer({ + url: 'https://example.test/webhook', + retries: 1, + retryDelay: 1, + durability: { enabled: true, path }, + }, logger as never); + + await deliverer.deliver(payload); + + expect(fetchMock).toHaveBeenCalledTimes(2); + await expect(deliverer.metrics()).resolves.toMatchObject({ + 'retry_decisions{attempt=1,component=webhook}': 1, + }); + await deliverer.close(); + + const verified = new SqliteWebhookDeliveryStore(path); + expect(verified.pending()).toEqual([]); + verified.close(); + }); + + it('interrupts scheduled replay on shutdown without losing the pending delivery', async () => { + const path = temporaryDatabase(); + const store = new SqliteWebhookDeliveryStore(path); + const stored = store.enqueue(payload); + store.markAttempt(stored.id, 'offline', Date.now() + 60_000); + store.close(); + const fetchMock = vi.fn(); + vi.stubGlobal('fetch', fetchMock); + const deliverer = new WebhookDeliverer({ + url: 'https://example.test/webhook', + retries: 0, + durability: { enabled: true, path }, + }, logger as never); + + await expect(Promise.race([ + deliverer.close().then(() => 'closed'), + new Promise((resolve) => setTimeout(() => resolve('timed-out'), 250)), + ])).resolves.toBe('closed'); + expect(fetchMock).not.toHaveBeenCalled(); + + const verified = new SqliteWebhookDeliveryStore(path); + expect(verified.pending()).toHaveLength(1); + verified.close(); + }); + + it('stops at the retry limit and moves the delivery to the dead letter state', async () => { + const path = temporaryDatabase(); + vi.stubGlobal('fetch', vi.fn().mockResolvedValue( + new Response(null, { status: 503, statusText: 'Unavailable' }), + )); + const deliverer = new WebhookDeliverer({ + url: 'https://example.test/webhook', + retries: 1, + retryDelay: 1, + durability: { enabled: true, path }, + }, logger as never); + + await expect(deliverer.deliver(payload)).rejects.toBeDefined(); + await deliverer.close(); + + const database = new DatabaseSync(path); + const row = database.prepare( + 'SELECT status, attempts FROM webhook_deliveries LIMIT 1', + ).get() as { status: string; attempts: number }; + expect(row).toEqual({ status: 'dead_letter', attempts: 1 }); + database.close(); + }); +}); diff --git a/integrations/webhook/src/durable-store.ts b/integrations/webhook/src/durable-store.ts new file mode 100644 index 000000000..183a75655 --- /dev/null +++ b/integrations/webhook/src/durable-store.ts @@ -0,0 +1,135 @@ +import { createHash } from 'node:crypto'; +import { mkdirSync } from 'node:fs'; +import { dirname } from 'node:path'; +import { DatabaseSync } from 'node:sqlite'; +import type { WebhookPayload } from './config'; + +export interface StoredWebhookDelivery { + readonly id: string; + readonly payload: WebhookPayload; + readonly attempts: number; + readonly nextAttemptAt: number; + readonly status: 'pending' | 'delivered' | 'dead_letter'; +} + +export interface WebhookDeliveryStore { + enqueue(payload: WebhookPayload): StoredWebhookDelivery; + pending(limit?: number): StoredWebhookDelivery[]; + markAttempt(id: string, error: string, nextAttemptAt: number): void; + markDelivered(id: string): void; + markDeadLetter(id: string, error: string): void; + close(): void; +} + +interface DeliveryRow { + id: string; + payload: string; + attempts: number; + next_attempt_at: number; + status: StoredWebhookDelivery['status']; +} + +const deliveryId = (payload: WebhookPayload): string => + createHash('sha256') + .update(payload.idempotencyKey ?? JSON.stringify(payload)) + .digest('hex'); + +export class SqliteWebhookDeliveryStore implements WebhookDeliveryStore { + private readonly database: DatabaseSync; + + constructor(path: string) { + if (path !== ':memory:') mkdirSync(dirname(path), { recursive: true }); + this.database = new DatabaseSync(path); + this.database.exec(` + PRAGMA journal_mode = WAL; + PRAGMA synchronous = FULL; + CREATE TABLE IF NOT EXISTS webhook_deliveries ( + id TEXT PRIMARY KEY, + payload TEXT NOT NULL, + attempts INTEGER NOT NULL DEFAULT 0, + next_attempt_at INTEGER NOT NULL, + status TEXT NOT NULL DEFAULT 'pending', + last_error TEXT, + created_at INTEGER NOT NULL, + updated_at INTEGER NOT NULL + ); + CREATE INDEX IF NOT EXISTS webhook_deliveries_pending + ON webhook_deliveries(status, next_attempt_at); + `); + } + + enqueue(payload: WebhookPayload): StoredWebhookDelivery { + const id = deliveryId(payload); + const now = Date.now(); + this.database.prepare(` + INSERT OR IGNORE INTO webhook_deliveries + (id, payload, attempts, next_attempt_at, status, created_at, updated_at) + VALUES (?, ?, 0, ?, 'pending', ?, ?) + `).run(id, JSON.stringify(payload), now, now, now); + return this.get(id)!; + } + + pending(limit = 1000): StoredWebhookDelivery[] { + const rows = this.database.prepare(` + SELECT id, payload, attempts, next_attempt_at, status + FROM webhook_deliveries + WHERE status = 'pending' + ORDER BY next_attempt_at ASC, created_at ASC + LIMIT ? + `).all(limit) as unknown as DeliveryRow[]; + return rows.flatMap((row) => { + try { + return [this.decode(row)]; + } catch (error) { + this.markDeadLetter(row.id, `decode failed: ${error instanceof Error ? error.message : String(error)}`); + return []; + } + }); + } + + markAttempt(id: string, error: string, nextAttemptAt: number): void { + this.database.prepare(` + UPDATE webhook_deliveries + SET attempts = attempts + 1, next_attempt_at = ?, last_error = ?, updated_at = ? + WHERE id = ? AND status = 'pending' + `).run(nextAttemptAt, error, Date.now(), id); + } + + markDelivered(id: string): void { + this.database.prepare(` + UPDATE webhook_deliveries + SET status = 'delivered', last_error = NULL, updated_at = ? + WHERE id = ? + `).run(Date.now(), id); + } + + markDeadLetter(id: string, error: string): void { + this.database.prepare(` + UPDATE webhook_deliveries + SET status = 'dead_letter', last_error = ?, updated_at = ? + WHERE id = ? + `).run(error, Date.now(), id); + } + + close(): void { + this.database.close(); + } + + private get(id: string): StoredWebhookDelivery | undefined { + const row = this.database.prepare(` + SELECT id, payload, attempts, next_attempt_at, status + FROM webhook_deliveries WHERE id = ? + `).get(id) as unknown as DeliveryRow | undefined; + return row ? this.decode(row) : undefined; + } + + private decode(row: DeliveryRow): StoredWebhookDelivery { + return { + id: row.id, + payload: JSON.parse(row.payload) as WebhookPayload, + attempts: row.attempts, + nextAttemptAt: row.next_attempt_at, + status: row.status, + }; + } +} diff --git a/integrations/webhook/src/index.ts b/integrations/webhook/src/index.ts index 88c17fc73..7d2e282d4 100644 --- a/integrations/webhook/src/index.ts +++ b/integrations/webhook/src/index.ts @@ -1,7 +1,14 @@ // Default export is the plugin itself (for config-driven loading) -export { default, default as webhookPlugin } from './plugin.js'; -export type { WebhookPluginConfig } from './plugin.js'; +export { default, default as webhookPlugin } from './plugin'; +export type { WebhookPluginConfig } from './plugin'; // Named exports for direct usage -export type { WebhookConfig, Webhook, WebhookPayload } from './config.js'; -export { WebhookDeliverer } from './deliverer.js'; +export type { WebhookConfig, Webhook, WebhookPayload } from './config'; +export { WebhookDeliverer } from './deliverer'; +export { SqliteWebhookDeliveryStore } from './durable-store'; +export type { StoredWebhookDelivery, WebhookDeliveryStore } from './durable-store'; +export { + WebhookDelivererService, + webhookDelivererLayer, + webhookDelivererTestLayer, +} from './service'; diff --git a/integrations/webhook/src/plugin.ts b/integrations/webhook/src/plugin.ts index 6d5632b94..ba4d05296 100644 --- a/integrations/webhook/src/plugin.ts +++ b/integrations/webhook/src/plugin.ts @@ -5,7 +5,8 @@ * Supports event filtering, retry with exponential backoff, and concurrent delivery. */ import { createPlugin, z } from '@open-wa/plugin-sdk'; -import { WebhookDeliverer } from './deliverer.js'; +import { Effect, ManagedRuntime } from 'effect'; +import { WebhookDelivererService, webhookDelivererLayer } from './service'; const configSchema = z.object({ /** Target URL for webhook delivery */ @@ -17,6 +18,12 @@ const configSchema = z.object({ /** Max concurrent deliveries */ concurrency: z.number().int().positive().default(10), + /** Maximum deliveries waiting in memory */ + queueCapacity: z.number().int().positive().default(1000), + + /** Full-queue behavior */ + overload: z.enum(['backpressure', 'dropping']).default('backpressure'), + /** Number of retry attempts */ retries: z.number().int().min(0).default(3), @@ -24,10 +31,16 @@ const configSchema = z.object({ retryDelay: z.number().int().positive().default(1000), /** Additional headers */ - headers: z.record(z.string()).optional(), + headers: z.record(z.string(), z.string()).optional(), /** Request timeout in ms */ timeout: z.number().int().positive().default(30_000), + + durability: z.object({ + enabled: z.boolean().default(false), + path: z.string().default('.openwa/webhook-deliveries.sqlite'), + replayLimit: z.number().int().positive().default(1000), + }).optional(), }); export type WebhookPluginConfig = z.infer; @@ -44,7 +57,8 @@ export default createPlugin({ init: async ({ config, logger, sessionId }) => { const webhookId = crypto.randomUUID(); - const deliverer = new WebhookDeliverer(config, logger); + const runtime = ManagedRuntime.make(webhookDelivererLayer(config, logger)); + const deliverer = await runtime.runPromise(WebhookDelivererService); const allowedEvents = config.events === 'all' ? null @@ -53,22 +67,22 @@ export default createPlugin({ logger.info(`Webhook configured: ${config.url} (${config.events === 'all' ? 'all events' : `${(config.events as string[]).length} events`})`); return { - event: async ({ event, payload }) => { - if (allowedEvents && !allowedEvents.has(event)) { - return; - } - - await deliverer.deliver({ - webhookId, - sessionId, - event, - payload, - timestamp: Date.now(), - }); - }, + event: ({ event, payload }) => runtime.runPromise(Effect.tryPromise({ + try: async () => { + if (allowedEvents && !allowedEvents.has(event)) return; + await deliverer.deliver({ + webhookId, + sessionId, + event, + payload, + timestamp: Date.now(), + }); + }, + catch: (cause) => cause, + })), dispose: async () => { - await deliverer.waitForIdle(); + await runtime.dispose(); logger.info('Webhook deliverer queue drained'); }, }; diff --git a/integrations/webhook/src/service.test.ts b/integrations/webhook/src/service.test.ts new file mode 100644 index 000000000..cbae12fb5 --- /dev/null +++ b/integrations/webhook/src/service.test.ts @@ -0,0 +1,27 @@ +import { ManagedRuntime } from 'effect'; +import { describe, expect, it, vi } from 'vitest'; +import { WebhookDelivererService, webhookDelivererLayer } from './service'; + +describe('WebhookDeliverer Layer', () => { + it('automatically releases the queue when its managed scope closes', async () => { + const runtime = ManagedRuntime.make(webhookDelivererLayer({ + url: 'https://example.test/webhook', + retries: 0, + }, { + debug: vi.fn(), + warn: vi.fn(), + error: vi.fn(), + } as never)); + const deliverer = await runtime.runPromise(WebhookDelivererService); + + await runtime.dispose(); + + await expect(deliverer.deliver({ + webhookId: 'webhook-1', + sessionId: 'session-1', + event: 'message.received', + payload: {}, + timestamp: 1, + })).rejects.toThrow('closed'); + }); +}); diff --git a/integrations/webhook/src/service.ts b/integrations/webhook/src/service.ts new file mode 100644 index 000000000..c62a2398b --- /dev/null +++ b/integrations/webhook/src/service.ts @@ -0,0 +1,24 @@ +import type { Logger } from '@open-wa/logger'; +import { Context, Effect, Layer } from 'effect'; +import type { WebhookConfig } from './config'; +import { WebhookDeliverer } from './deliverer'; + +export const WebhookDelivererService = + Context.Service('@open-wa/integration-webhook/WebhookDeliverer'); + +export const webhookDelivererTestLayer = (deliverer: WebhookDeliverer) => + Layer.succeed(WebhookDelivererService, deliverer); + +export const webhookDelivererLayer = ( + config: WebhookConfig, + logger: Pick, +) => Layer.effect( + WebhookDelivererService, + Effect.acquireRelease( + Effect.sync(() => new WebhookDeliverer(config, logger)), + (deliverer) => Effect.promise(async () => { + await deliverer.waitForIdle(); + await deliverer.close(); + }), + ), +); diff --git a/mise.toml b/mise.toml index 0bba1e533..f2f404b16 100644 --- a/mise.toml +++ b/mise.toml @@ -3,7 +3,7 @@ # to get the exact Node and pnpm versions this repo builds and tests against. [tools] node = "22.21" # matches package.json engines: node >=22.21.1 -pnpm = "11.9" # matches package.json packageManager: pnpm@11.9.0 +pnpm = "11.15.1" # matches package.json packageManager: pnpm@11.15.1 [tasks.install] description = "Install workspace dependencies" diff --git a/package.json b/package.json index 0f066586a..38016a203 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,9 @@ "clean": "turbo clean && rimraf node_modules", "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md}\"", "typecheck": "turbo typecheck", + "check:effect-contracts": "pnpm --filter @open-wa/wa-automate... --filter @open-wa/integration-webhook... --filter @open-wa/integration-s3... --filter @open-wa/integration-chatwoot... build && pnpm --filter './packages/runtime-*' build && pnpm --filter './packages/runtime-*' test && pnpm --filter './packages/runtime-*' typecheck && pnpm --filter @open-wa/integration-webhook test && pnpm --filter @open-wa/integration-webhook typecheck && pnpm --filter @open-wa/integration-s3 test && pnpm --filter @open-wa/integration-s3 typecheck && pnpm --filter @open-wa/integration-chatwoot test && pnpm --filter @open-wa/integration-chatwoot typecheck && pnpm --filter @open-wa/client test && pnpm --filter @open-wa/client typecheck && pnpm --filter @open-wa/config typecheck && pnpm --filter @open-wa/core exec vitest run test/unit/bootstrapContract.test.ts test/unit/sessionReadinessTruth.test.ts && pnpm --filter @open-wa/config exec vitest run src/__tests__/schema.test.ts && pnpm --filter @open-wa/wa-automate exec vitest run src/__tests__/cli-runtime.test.ts && node tools/check-portable-imports.mjs && node tools/check-effect-pins.mjs && node tools/check-effect-evidence.mjs && node tools/bench-effect-startup.mjs", + "bench:runtime:real": "node tools/bench-real-runtime.mjs", + "bench:effect:replacements": "node tools/bench-effect-replacements.mjs", "changeset": "changeset", "version-packages": "changeset version", "repomix": "npx repomix@latest", @@ -31,23 +34,22 @@ "release-image": "node tools/release-image.js" }, "devDependencies": { - "@changesets/changelog-github": "^0.6.0", - "@changesets/cli": "^2.30.0", + "@changesets/changelog-github": "^0.7.0", + "@changesets/cli": "^2.31.1", "@types/node": "catalog:", - "oxlint": "^1.57.0", + "oxlint": "^1.75.0", "prettier": "catalog:", - "rimraf": "^6.0.1", - "syncpack": "^11.0.0", - "tsdown": "^0.21.7", - "ts-morph": "^12.2.0", - "tsx": "^4.21.0", - "turbo": "^2.9.10", + "rimraf": "^6.1.3", + "syncpack": "^15.3.2", + "tsdown": "^0.22.13", + "tsx": "^4.23.1", + "turbo": "^2.10.5", "typescript": "catalog:" }, "engines": { "node": ">=22.21.1" }, - "packageManager": "pnpm@11.9.0", + "packageManager": "pnpm@11.15.1", "dependencies": { "@elastic/elasticsearch": "catalog:" } diff --git a/packages/api/package.json b/packages/api/package.json index a8b9a8a2e..9199b56b3 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -25,12 +25,12 @@ "dependencies": { "@elastic/elasticsearch": "catalog:", "@hono/node-server": "catalog:", - "@hono/node-ws": "^1.3.0", "@open-wa/mcp": "workspace:*", "@open-wa/schema": "workspace:*", "@open-wa/screencaster": "workspace:*", "hono": "catalog:", - "tree-kill": "^1.2.2" + "tree-kill": "^1.2.2", + "ws": "^8.21.1" }, "peerDependencies": { "vite": "*" @@ -38,6 +38,7 @@ "devDependencies": { "@open-wa/dashboard-neo": "workspace:*", "@types/node": "catalog:", + "@types/ws": "^8.18.1", "typescript": "catalog:", "vitest": "catalog:" }, diff --git a/packages/api/src/createApiServer.ts b/packages/api/src/createApiServer.ts index a24f348f2..4162ffdb1 100644 --- a/packages/api/src/createApiServer.ts +++ b/packages/api/src/createApiServer.ts @@ -1,9 +1,9 @@ import { Hono } from 'hono'; import { cors } from 'hono/cors'; import { logger } from 'hono/logger'; -import { getRequestListener } from '@hono/node-server'; -import { createServer } from 'http'; -import { createNodeWebSocket } from '@hono/node-ws'; +import { createAdaptorServer, upgradeWebSocket } from '@hono/node-server'; +import { createServer, type Server } from 'node:http'; +import { WebSocketServer } from 'ws'; import { getHttpMethodDefinitions, type Config } from '@open-wa/schema'; import '@open-wa/schema'; import { @@ -50,7 +50,7 @@ export class ApiServer { private elasticEmitter?: ElasticEmitter; private latestQR: string | null = null; private screencastManager: ScreencastManager; - private injectWebSocket: ((server: unknown) => void) | null = null; + private server?: Server; private isDashboardActive: boolean = false; private pluginHost?: PluginHost; private healthStore: HealthStore = new HealthStore(); @@ -82,12 +82,6 @@ export class ApiServer { this.screencastManager = new ScreencastManager(); this.eventBroadcaster = new EventBroadcaster(this.config.sessionId); - // Set up WebSocket adapter for Node.js - const { injectWebSocket, upgradeWebSocket } = createNodeWebSocket({ - app: this.app, - }); - this.injectWebSocket = injectWebSocket as (server: unknown) => void; - if (this.config.elasticUrl) { this.elasticEmitter = new ElasticEmitter({ url: this.config.elasticUrl, @@ -196,38 +190,38 @@ export class ApiServer { } } - const honoListener = getRequestListener(this.app.fetch); - - const requestListener = (req: any, res: any) => { - if (viteDevServer && req.url?.startsWith('/dashboard')) { - viteDevServer.middlewares(req, res, () => { - honoListener(req, res); - }); - return; - } - honoListener(req, res); - }; - - const server = createServer(requestListener); - server.listen(this.config.port, this.config.host, () => { - console.log( - `Server running on http://${this.config.host}:${this.config.port}`, - ); + const server = createAdaptorServer({ + fetch: this.app.fetch, + websocket: { + server: new WebSocketServer({ noServer: true }), + }, + createServer: (options, honoListener) => + createServer(options, (request, response) => { + if (viteDevServer && request.url?.startsWith('/dashboard')) { + viteDevServer.middlewares(request, response, () => { + void honoListener(request, response); + }); + return; + } + void honoListener(request, response); + }), }); - - if (this.injectWebSocket) { - let honoUpgradeListener: Function | null = null; - this.injectWebSocket({ - on: (event: string, listener: Function) => { - if (event === 'upgrade') honoUpgradeListener = listener; - }, + this.server = server as Server; + + await new Promise((resolve, reject) => { + const onError = (error: Error) => { + server.off('error', onError); + reject(error); + }; + server.once('error', onError); + server.listen(this.config.port, this.config.host, () => { + server.off('error', onError); + console.log( + `Server running on http://${this.config.host}:${this.config.port}`, + ); + resolve(); }); - if (honoUpgradeListener) { - server.on('upgrade', (req, socket, head) => { - honoUpgradeListener!(req, socket, head); - }); - } - } + }); if (this.elasticEmitter) { await this.elasticEmitter.start(); @@ -235,6 +229,13 @@ export class ApiServer { } public async stop() { + const server = this.server; + this.server = undefined; + if (server?.listening) { + await new Promise((resolve, reject) => { + server.close((error) => (error ? reject(error) : resolve())); + }); + } await this.screencastManager.destroy(); if (this.elasticEmitter) { await this.elasticEmitter.stop(); diff --git a/packages/api/test/mcp-integration.test.ts b/packages/api/test/mcp-integration.test.ts index c82c70f8f..e234b7ecb 100644 --- a/packages/api/test/mcp-integration.test.ts +++ b/packages/api/test/mcp-integration.test.ts @@ -1,9 +1,23 @@ import { describe, expect, it } from 'vitest'; -import { createApiServer } from '../src/createApiServer.js'; -import { serve } from '@hono/node-server'; +import { createApiServer } from '../src/createApiServer'; import type { Config } from '@open-wa/config'; describe('MCP API Integration', () => { + it('starts and stops the Node adapter cleanly', async () => { + const config: Config = { + sessionName: 'test', + apiKey: 'test', + cors: '*', + host: '127.0.0.1', + port: 0, + }; + const apiServer = createApiServer(config); + + await apiServer.start(); + await apiServer.stop(); + await apiServer.stop(); + }); + it('exposes MCP capabilities in /health when disabled', async () => { const config: Config = { sessionName: 'test', apiKey: 'test', cors: '*' }; const apiServer = createApiServer(config); diff --git a/packages/cf-proxy/package.json b/packages/cf-proxy/package.json index fbd252b77..01ed9d267 100644 --- a/packages/cf-proxy/package.json +++ b/packages/cf-proxy/package.json @@ -10,10 +10,9 @@ "typecheck": "tsc --noEmit", "build": "tsc" }, - "dependencies": {}, "devDependencies": { - "@cloudflare/workers-types": "^4.20240320.1", - "typescript": "^5.5.0", + "@cloudflare/workers-types": "^5.20260722.1", + "typescript": "^7.0.2", "wrangler": "catalog:" }, "repository": { diff --git a/packages/cli/package.json b/packages/cli/package.json index eaf7464be..1dfe16670 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -27,16 +27,18 @@ }, "dependencies": { "@open-wa/core": "workspace:*", + "@open-wa/hyperemitter": "workspace:*", "@open-wa/wa-automate": "workspace:*", - "ink": "^5.2.1", + "ink": "^7.1.1", "qrcode": "^1.5.4", - "react": "^18.3.1", - "ws": "^8.20.0", + "react": "^19.2.8", + "ws": "^8.21.1", "zod": "catalog:" }, "devDependencies": { "@types/node": "catalog:", - "@types/react": "^18.3.12", + "@types/qrcode": "^1.5.6", + "@types/react": "^19.2.17", "@types/ws": "^8.18.1", "typescript": "catalog:", "vitest": "catalog:" diff --git a/packages/cli/src/__tests__/cli-termination.test.ts b/packages/cli/src/__tests__/cli-termination.test.ts index bf167f9a1..5e1a313c9 100644 --- a/packages/cli/src/__tests__/cli-termination.test.ts +++ b/packages/cli/src/__tests__/cli-termination.test.ts @@ -21,6 +21,9 @@ describe('CLI termination helpers', () => { order.push('client.stop'); }), }, + dispose: vi.fn(() => { + order.push('runtime.dispose'); + }), } as any; const tunnelClient = { disconnect: vi.fn(() => { @@ -36,6 +39,7 @@ describe('CLI termination helpers', () => { 'server.stop', 'tunnel.disconnect', 'client.stop', + 'runtime.dispose', 'status:shutdown.complete', ]); }); diff --git a/packages/cli/src/presenter/interactive-terminal.ts b/packages/cli/src/presenter/interactive-terminal.ts index 7a2eab458..96e6883b8 100644 --- a/packages/cli/src/presenter/interactive-terminal.ts +++ b/packages/cli/src/presenter/interactive-terminal.ts @@ -1,4 +1,5 @@ import QRCode from 'qrcode'; +import type { ReactNode } from 'react'; import type { EventProjectionStore, ProjectionSnapshot } from '../state/event-projection-store'; export interface InteractiveTerminalPresenterOptions { @@ -9,7 +10,7 @@ export interface InteractiveTerminalPresenterOptions { type InkInstance = { clear?: () => void; - rerender?: (tree: unknown) => void; + rerender?: (tree: ReactNode) => void; unmount: () => void; }; @@ -24,7 +25,7 @@ export class InteractiveTerminalPresenter { private snapshot: ProjectionSnapshot; private qrAscii?: string; private qrValue?: string; - private renderTree?: () => unknown; + private renderTree?: () => ReactNode; private qrSequence = 0; constructor(options: InteractiveTerminalPresenterOptions) { diff --git a/packages/cli/src/runtime/cli-termination.ts b/packages/cli/src/runtime/cli-termination.ts index 2e6264688..011368b72 100644 --- a/packages/cli/src/runtime/cli-termination.ts +++ b/packages/cli/src/runtime/cli-termination.ts @@ -54,6 +54,14 @@ export async function performGracefulShutdown(state: ShutdownRuntimeState, signa } } + if (runtime) { + try { + runtime.dispose(); + } catch (error) { + errors.push(normalizeError(error, 'runtime.dispose failed')); + } + } + store?.projectStatus({ phase: 'shutdown.complete', detail: `Shutdown completed after ${signal}` }); if (errors.length > 0) { diff --git a/packages/cli/src/runtime/output-broker.ts b/packages/cli/src/runtime/output-broker.ts index 2f4b0365e..b279d59c7 100644 --- a/packages/cli/src/runtime/output-broker.ts +++ b/packages/cli/src/runtime/output-broker.ts @@ -17,7 +17,7 @@ export interface OutputBrokerOptions { type Subscriber = (entry: BrokerEntry) => void; type ConsoleMethod = (...args: unknown[]) => void; -type StreamWrite = (chunk: any, encoding?: BufferEncoding | ((error?: Error | null) => void), callback?: (error?: Error | null) => void) => boolean; +type StreamWrite = NodeJS.WriteStream['write']; function stringifyArgs(args: unknown[]): string { return args @@ -95,31 +95,8 @@ export class OutputBroker { }; if (this.interceptStreams) { - process.stdout.write = ((chunk: any, encoding?: BufferEncoding | ((error?: Error | null) => void), callback?: (error?: Error | null) => void) => { - const message = Buffer.isBuffer(chunk) ? chunk.toString('utf8') : String(chunk); - this.forward('info', 'stdout', message, () => this.originalWrites?.stdout(chunk, encoding as any, callback)); - if (this.interactive && !this.passthrough) { - if (typeof encoding === 'function') { - encoding(undefined); - } else { - callback?.(undefined); - } - } - return true; - }) as StreamWrite; - - process.stderr.write = ((chunk: any, encoding?: BufferEncoding | ((error?: Error | null) => void), callback?: (error?: Error | null) => void) => { - const message = Buffer.isBuffer(chunk) ? chunk.toString('utf8') : String(chunk); - this.forward('error', 'stderr', message, () => this.originalWrites?.stderr(chunk, encoding as any, callback)); - if (this.interactive && !this.passthrough) { - if (typeof encoding === 'function') { - encoding(undefined); - } else { - callback?.(undefined); - } - } - return true; - }) as StreamWrite; + process.stdout.write = this.createStreamInterceptor('info', 'stdout', this.originalWrites.stdout); + process.stderr.write = this.createStreamInterceptor('error', 'stderr', this.originalWrites.stderr); } } @@ -165,6 +142,39 @@ export class OutputBroker { this.forward(level, source, message); } + private createStreamInterceptor(level: BrokerLevel, source: BrokerSource, originalWrite: StreamWrite): StreamWrite { + const broker = this; + type WriteCallback = (error?: Error | null) => void; + + function write(chunk: string | Uint8Array, callback?: WriteCallback): boolean; + function write(chunk: string | Uint8Array, encoding?: BufferEncoding, callback?: WriteCallback): boolean; + function write( + chunk: string | Uint8Array, + encoding?: BufferEncoding | WriteCallback, + callback?: WriteCallback, + ): boolean { + const message = Buffer.isBuffer(chunk) ? chunk.toString('utf8') : String(chunk); + broker.forward(level, source, message, () => { + if (typeof encoding === 'function') { + originalWrite(chunk, encoding); + } else { + originalWrite(chunk, encoding, callback); + } + }); + + if (broker.interactive && !broker.passthrough) { + if (typeof encoding === 'function') { + encoding(undefined); + } else { + callback?.(undefined); + } + } + return true; + } + + return write; + } + private forward(level: BrokerLevel, source: BrokerSource, message: string, passthroughWriter?: () => void): void { const entry: BrokerEntry = { level, diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json index 198f75582..1ddcd8036 100644 --- a/packages/cli/tsconfig.json +++ b/packages/cli/tsconfig.json @@ -1,8 +1,7 @@ { + "extends": "../../tsconfig.base.json", "compilerOptions": { "target": "ES2022", - "module": "NodeNext", - "moduleResolution": "NodeNext", "lib": ["ES2022"], "outDir": "./dist", "rootDir": "./src", @@ -11,12 +10,7 @@ "composite": true, "strict": true, "esModuleInterop": true, - "skipLibCheck": true, - "paths": { - "@open-wa/wa-automate": [ - "../wa-automate/dist/index.d.ts" - ] - } + "skipLibCheck": true }, "include": ["src/**/*"], "exclude": ["node_modules", "dist", "**/*.test.ts"] diff --git a/packages/client/package.json b/packages/client/package.json index 80ca4683a..23d81ced8 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -16,6 +16,7 @@ "build": "tsdown src/index.ts --format esm --format cjs", "dev": "tsdown src/index.ts --format esm --format cjs --watch", "test": "vitest run", + "typecheck": "tsc --noEmit", "lint": "oxlint src", "clean": "rimraf dist" }, @@ -25,8 +26,10 @@ "@open-wa/domain": "workspace:*", "@open-wa/hyperemitter": "workspace:*", "@open-wa/logger": "workspace:*", + "@open-wa/runtime-core": "workspace:*", "@open-wa/schema": "workspace:*", - "axios": "catalog:" + "axios": "catalog:", + "effect": "catalog:" }, "devDependencies": { "@types/node": "catalog:", diff --git a/packages/client/src/Client.ts b/packages/client/src/Client.ts index 473d8fc98..4c8b76738 100644 --- a/packages/client/src/Client.ts +++ b/packages/client/src/Client.ts @@ -28,16 +28,16 @@ import { Collection, CollectorFilter, } from '@open-wa/domain'; -import { ListenerManager, type ListenerHandle } from './events/index.js'; -import { throwUnsupportedListener } from './runtimeSurface.js'; +import { ListenerManager, type ListenerHandle } from './events/index'; +import { throwUnsupportedListener } from './runtimeSurface'; import type { QueueOptions } from '@open-wa/schema'; -import { messagingMethods, type MessagingMethods } from './methods/messaging.js'; -import { mediaMethods, type MediaMethods } from './methods/media.js'; -import { groupMethods, type GroupMethods } from './methods/groups.js'; -import { chatMethods, type ChatMethods } from './methods/chats.js'; -import { contactMethods, type ContactMethods } from './methods/contacts.js'; -import { utilitiesMethods, type UtilitiesMethods } from './methods/utilities.js'; +import { messagingMethods, type MessagingMethods } from './methods/messaging'; +import { mediaMethods, type MediaMethods } from './methods/media'; +import { groupMethods, type GroupMethods } from './methods/groups'; +import { chatMethods, type ChatMethods } from './methods/chats'; +import { contactMethods, type ContactMethods } from './methods/contacts'; +import { utilitiesMethods, type UtilitiesMethods } from './methods/utilities'; /** * Configuration for creating a WhatsApp Client. @@ -104,6 +104,7 @@ export class Client implements MessagingMethods, MediaMethods, GroupMethods, Cha this._listenerManager = new ListenerManager({ sessionId: config.client.sessionId, events: config.client.events, + observability: config.client.observability, }); // Bind method modules @@ -179,6 +180,7 @@ export class Client implements MessagingMethods, MediaMethods, GroupMethods, Cha * Stop the client gracefully. */ async stop(reason?: string): Promise { + await this._listenerManager.dispose(); return this._client.stop(reason); } @@ -222,6 +224,15 @@ export class Client implements MessagingMethods, MediaMethods, GroupMethods, Cha ): Promise { return this._transport.evaluate(fn, arg); } + + /** Execute an explicitly supplied function expression inside this chat's configured sandbox. */ + async executeInChatSandbox(chatId: string, source: string, input?: unknown): Promise { + return this._client.executeInChatSandbox(chatId, source, input); + } + + async closeChatSandbox(chatId: string): Promise { + await this._client.closeChatSandbox(chatId); + } // ───────────────────────────────────────────────────────────────── // Message Collectors (Discord.js style) diff --git a/packages/client/src/__tests__/complex-methods.test.ts b/packages/client/src/__tests__/complex-methods.test.ts index f677df370..530897fd6 100644 --- a/packages/client/src/__tests__/complex-methods.test.ts +++ b/packages/client/src/__tests__/complex-methods.test.ts @@ -1,7 +1,7 @@ import { beforeEach, describe, expect, it, vi } from 'vitest'; import axios from 'axios'; import { decryptMedia as decryptMediaBuffer } from '@open-wa/decrypt'; -import { Client } from '../Client.js'; +import { Client } from '../Client'; import type { OpenWAClient, OpenWAEventMap, STATE, Transport } from '@open-wa/core'; import { HyperEmitter } from '@open-wa/hyperemitter'; diff --git a/packages/client/src/__tests__/listeners.test.ts b/packages/client/src/__tests__/listeners.test.ts index 02f461ee7..69fe98280 100644 --- a/packages/client/src/__tests__/listeners.test.ts +++ b/packages/client/src/__tests__/listeners.test.ts @@ -1,6 +1,6 @@ import { describe, it, expect, vi } from 'vitest'; import { HyperEmitter } from '@open-wa/hyperemitter'; -import { Client } from '../Client.js'; +import { Client } from '../Client'; import type { OpenWAClient, OpenWAEventMap, STATE, Transport } from '@open-wa/core'; function createTestClient() { diff --git a/packages/client/src/__tests__/loaded-parity.test.ts b/packages/client/src/__tests__/loaded-parity.test.ts index 0add141d3..5c3d7d35c 100644 --- a/packages/client/src/__tests__/loaded-parity.test.ts +++ b/packages/client/src/__tests__/loaded-parity.test.ts @@ -3,7 +3,7 @@ import { readFileSync } from 'node:fs'; import { dirname, resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; import { HyperEmitter } from '@open-wa/hyperemitter'; -import { Client } from '../Client.js'; +import { Client } from '../Client'; import type { OpenWAClient, STATE, Transport } from '@open-wa/core'; const __dirname = dirname(fileURLToPath(import.meta.url)); diff --git a/packages/client/src/__tests__/logout-cleanup.test.ts b/packages/client/src/__tests__/logout-cleanup.test.ts index ba020bb66..2ebb3d2b3 100644 --- a/packages/client/src/__tests__/logout-cleanup.test.ts +++ b/packages/client/src/__tests__/logout-cleanup.test.ts @@ -5,7 +5,7 @@ import path from 'node:path'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { HyperEmitter } from '@open-wa/hyperemitter'; import type { OpenWAClient, OpenWAEventMap, STATE, Transport } from '@open-wa/core'; -import { Client } from '../Client.js'; +import { Client } from '../Client'; function createDeferred() { let resolve!: () => void; diff --git a/packages/client/src/__tests__/runtime-surface-audit.test.ts b/packages/client/src/__tests__/runtime-surface-audit.test.ts index 6f07a89e6..e4a00c5cc 100644 --- a/packages/client/src/__tests__/runtime-surface-audit.test.ts +++ b/packages/client/src/__tests__/runtime-surface-audit.test.ts @@ -2,8 +2,8 @@ import { describe, expect, it } from 'vitest'; import { readFileSync } from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; -import { clientRuntimeListenerSurface, clientRuntimeMethodSurface } from '../runtimeSurface.js'; -import { runtimeListenerSurface } from '../../../core/src/transport/runtimeListenerSurface.js'; +import { clientRuntimeListenerSurface, clientRuntimeMethodSurface } from '../runtimeSurface'; +import { runtimeListenerSurface } from '../../../core/src/transport/runtimeListenerSurface'; type WapiTerminalStatus = 'implemented' | 'stub_false'; diff --git a/packages/client/src/__tests__/runtime-surface-smoke.test.ts b/packages/client/src/__tests__/runtime-surface-smoke.test.ts index ba8a30262..c29eeae87 100644 --- a/packages/client/src/__tests__/runtime-surface-smoke.test.ts +++ b/packages/client/src/__tests__/runtime-surface-smoke.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, vi } from 'vitest'; import { HyperEmitter } from '@open-wa/hyperemitter'; -import { Client } from '../Client.js'; +import { Client } from '../Client'; import type { OpenWAClient, OpenWAEventMap, STATE, Transport } from '@open-wa/core'; function createTestClient() { diff --git a/packages/client/src/events/EventManager.ts b/packages/client/src/events/EventManager.ts index df4dd8b56..0cdda892a 100644 --- a/packages/client/src/events/EventManager.ts +++ b/packages/client/src/events/EventManager.ts @@ -1,6 +1,10 @@ -import PQueue from 'p-queue'; import type { HyperEmitter } from '@open-wa/hyperemitter'; import type { OpenWAEventMap, STATE } from '@open-wa/core'; +import { + ScopedTaskQueue, + queueMetricsObserver, + type RuntimeObservabilityShape, +} from '@open-wa/runtime-core'; import { eventRegistry, type QueueOptions } from '@open-wa/schema'; import type { Message, MessageId } from '@open-wa/schema'; @@ -20,6 +24,7 @@ export interface ListenerHandle { export interface ListenerManagerConfig { sessionId: string; events: HyperEmitter; + observability?: RuntimeObservabilityShape; } type EventPayloadMap = { @@ -104,8 +109,9 @@ const EVENT_BRIDGES: { [K in EventName]: RuntimeBridge } = { export class ListenerManager { private readonly events: HyperEmitter; private readonly sessionId: string; + private readonly observability?: RuntimeObservabilityShape; private readonly handles = new Map(); - private readonly queues = new Map(); + private readonly queues = new Map>(); private readonly listeners = new Map>>(); private readonly bridgeHandlers = new Map void | Promise>(); private handleCounter = 0; @@ -113,6 +119,7 @@ export class ListenerManager { constructor(config: ListenerManagerConfig) { this.events = config.events; this.sessionId = config.sessionId; + this.observability = config.observability; } on(eventName: K, handler: EventHandler, options?: QueueOptions): ListenerHandle { @@ -130,30 +137,26 @@ export class ListenerManager { ...options, }; - let queue: PQueue | undefined; - if (mergedOptions && Object.keys(mergedOptions).length > 0) { - const queueKey = `${eventName}_${id}`; - const queueConfig: ConstructorParameters[0] = { - concurrency: mergedOptions.concurrency ?? 1, - ...(typeof mergedOptions.intervalCap === 'number' ? { intervalCap: mergedOptions.intervalCap } : {}), - ...(typeof mergedOptions.interval === 'number' ? { interval: mergedOptions.interval } : {}), - ...(typeof mergedOptions.timeout === 'number' ? { timeout: mergedOptions.timeout } : {}), - }; - - queue = new PQueue(queueConfig); - this.queues.set(queueKey, queue); - } + const queueKey = `${eventName}_${id}`; + const queue = ScopedTaskQueue.make({ + name: `listener.${this.sessionId}.${eventName}.${id}`, + concurrency: mergedOptions.concurrency ?? 1, + capacity: mergedOptions.capacity ?? 1024, + overload: mergedOptions.overload ?? 'backpressure', + ...(this.observability ? { observe: queueMetricsObserver(this.observability) } : {}), + ...(typeof mergedOptions.timeout === 'number' ? { timeoutMs: mergedOptions.timeout } : {}), + ...(typeof mergedOptions.intervalCap === 'number' && typeof mergedOptions.interval === 'number' + ? { rate: { limit: mergedOptions.intervalCap, intervalMs: mergedOptions.interval } } + : {}), + }); + this.queues.set(queueKey, queue); const wrappedHandler: EventHandler = async (validatedPayload, ctx) => { const execute = async () => { await handler(validatedPayload, ctx); }; - if (queue) { - await queue.add(execute, { priority: mergedOptions.priority ?? 0 }); - } else { - await execute(); - } + await (await queue).submit(execute, `${eventName}.${id}`); }; const eventListeners = this.listeners.get(eventName) ?? new Map>(); @@ -170,7 +173,9 @@ export class ListenerManager { if (boundListeners && boundListeners.size === 0) { this.listeners.delete(eventName); } - this.queues.delete(`${eventName}_${id}`); + const ownedQueue = this.queues.get(queueKey); + this.queues.delete(queueKey); + void ownedQueue?.then((value) => value.close()); handle.active = false; this.handles.delete(id); }, @@ -189,9 +194,24 @@ export class ListenerManager { async waitForQueuesToDrain(): Promise { const queues = [...this.queues.values()]; for (const queue of queues) { - await queue.onEmpty(); - await queue.onIdle(); + await (await queue).waitForIdle(); + } + } + + async dispose(): Promise { + const queues = [...this.queues.values()]; + for (const handle of [...this.handles.values()]) handle.off(); + await Promise.all(queues.map(async (queue) => (await queue).close())); + this.queues.clear(); + + for (const [eventName, handler] of this.bridgeHandlers) { + const bridge = EVENT_BRIDGES[eventName]; + this.events.off( + bridge.runtimeEvent, + handler as (payload: OpenWAEventMap[typeof bridge.runtimeEvent]) => void | Promise, + ); } + this.bridgeHandlers.clear(); } private ensureAutobind(eventName: K): void { diff --git a/packages/client/src/events/index.ts b/packages/client/src/events/index.ts index be9beb436..e967b0cad 100644 --- a/packages/client/src/events/index.ts +++ b/packages/client/src/events/index.ts @@ -1,2 +1,2 @@ -export { ListenerManager } from './EventManager.js'; -export type { EventContext, ListenerHandle, ListenerManagerConfig } from './EventManager.js'; +export { ListenerManager } from './EventManager'; +export type { EventContext, ListenerHandle, ListenerManagerConfig } from './EventManager'; diff --git a/packages/client/src/index.ts b/packages/client/src/index.ts index 7f307adef..cbbe8f173 100644 --- a/packages/client/src/index.ts +++ b/packages/client/src/index.ts @@ -1,11 +1,11 @@ -export { Client } from './Client.js'; -export type { ClientConfig, EvaluateFn } from './Client.js'; +export { Client } from './Client'; +export type { ClientConfig, EvaluateFn } from './Client'; -export type { MessagingMethods } from './methods/messaging.js'; -export type { MediaMethods } from './methods/media.js'; -export type { GroupMethods } from './methods/groups.js'; -export type { ChatMethods } from './methods/chats.js'; -export type { ContactMethods } from './methods/contacts.js'; +export type { MessagingMethods } from './methods/messaging'; +export type { MediaMethods } from './methods/media'; +export type { GroupMethods } from './methods/groups'; +export type { ChatMethods } from './methods/chats'; +export type { ContactMethods } from './methods/contacts'; export { MessageCollector, diff --git a/packages/client/src/methods/chats.ts b/packages/client/src/methods/chats.ts index fdaa33b18..8939cc986 100644 --- a/packages/client/src/methods/chats.ts +++ b/packages/client/src/methods/chats.ts @@ -1,10 +1,10 @@ -import type { Client } from '../Client.js'; +import type { Client } from '../Client'; import type { ChatId, Chat, Message, } from '@open-wa/schema'; -import { createUnsupportedMethodStub } from '../runtimeSurface.js'; +import { createUnsupportedMethodStub } from '../runtimeSurface'; type ChatMuteDuration = 'FOREVER' | 'EIGHT_HOURS' | 'ONE_WEEK' | number; diff --git a/packages/client/src/methods/contacts.ts b/packages/client/src/methods/contacts.ts index 50a528bbf..4d11d5e0f 100644 --- a/packages/client/src/methods/contacts.ts +++ b/packages/client/src/methods/contacts.ts @@ -1,11 +1,11 @@ -import type { Client } from '../Client.js'; +import type { Client } from '../Client'; import type { ChatId, ContactId, Contact, GroupId, } from '@open-wa/schema'; -import { createUnsupportedMethodStub } from '../runtimeSurface.js'; +import { createUnsupportedMethodStub } from '../runtimeSurface'; declare const WAPI: { getContact: (contactId: string) => Contact; diff --git a/packages/client/src/methods/groups.ts b/packages/client/src/methods/groups.ts index 1805ec892..a2a5eabb9 100644 --- a/packages/client/src/methods/groups.ts +++ b/packages/client/src/methods/groups.ts @@ -1,4 +1,4 @@ -import type { Client } from '../Client.js'; +import type { Client } from '../Client'; import type { ChatId, GroupId, @@ -7,7 +7,7 @@ import type { Chat, DataURL, } from '@open-wa/schema'; -import { createUnsupportedMethodStub } from '../runtimeSurface.js'; +import { createUnsupportedMethodStub } from '../runtimeSurface'; declare const WAPI: { createGroup: (groupName: string, contactId: string | string[]) => Promise; diff --git a/packages/client/src/methods/media.ts b/packages/client/src/methods/media.ts index 9599fb3bd..069fa11fa 100644 --- a/packages/client/src/methods/media.ts +++ b/packages/client/src/methods/media.ts @@ -1,8 +1,8 @@ import axios from 'axios'; import { decryptMedia as decryptMediaBuffer } from '@open-wa/decrypt'; -import type { Client } from '../Client.js'; +import type { Client } from '../Client'; import type { ChatId, DataURL, Message, MessageId } from '@open-wa/schema'; -import { createUnsupportedMethodStub } from '../runtimeSurface.js'; +import { createUnsupportedMethodStub } from '../runtimeSurface'; type DownloadHeaders = Record; diff --git a/packages/client/src/methods/messaging.ts b/packages/client/src/methods/messaging.ts index eda59bfc1..ed4fd6615 100644 --- a/packages/client/src/methods/messaging.ts +++ b/packages/client/src/methods/messaging.ts @@ -1,4 +1,4 @@ -import type { Client } from '../Client.js'; +import type { Client } from '../Client'; import type { ChatId, ContactId, @@ -8,7 +8,7 @@ import type { Base64, Content, } from '@open-wa/schema'; -import { createUnsupportedMethodStub } from '../runtimeSurface.js'; +import { createUnsupportedMethodStub } from '../runtimeSurface'; declare const WAPI: { sendMessage: (to: string, content: string) => Promise; diff --git a/packages/client/src/methods/utilities.ts b/packages/client/src/methods/utilities.ts index a9d400964..29aee64d8 100644 --- a/packages/client/src/methods/utilities.ts +++ b/packages/client/src/methods/utilities.ts @@ -1,5 +1,5 @@ -import type { Client } from '../Client.js'; -import { createUnsupportedMethodStub } from '../runtimeSurface.js'; +import type { Client } from '../Client'; +import { createUnsupportedMethodStub } from '../runtimeSurface'; declare const WAPI: { getHostNumber: () => string; diff --git a/packages/client/src/runtimeSurface.ts b/packages/client/src/runtimeSurface.ts index 00e8f5d98..ff1229816 100644 --- a/packages/client/src/runtimeSurface.ts +++ b/packages/client/src/runtimeSurface.ts @@ -1,4 +1,4 @@ -import type { ListenerHandle } from './events/index.js'; +import type { ListenerHandle } from './events/index'; export type ClientRuntimeSupport = 'runtime' | 'unsupported'; diff --git a/packages/client/tsconfig.json b/packages/client/tsconfig.json index bd1d62300..969e86867 100644 --- a/packages/client/tsconfig.json +++ b/packages/client/tsconfig.json @@ -1,8 +1,8 @@ { "compilerOptions": { "target": "ES2022", - "module": "NodeNext", - "moduleResolution": "NodeNext", + "module": "ESNext", + "moduleResolution": "Bundler", "lib": ["ES2022"], "declaration": true, "declarationMap": true, diff --git a/packages/config/package.json b/packages/config/package.json index eff713a40..f3c2aeeaa 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -34,11 +34,11 @@ "generate": "tsx scripts/generate-json-schema.ts && tsx scripts/gen-config-reference.ts" }, "dependencies": { - "cosmiconfig": "^9.0.0", - "cosmiconfig-typescript-loader": "^6.0.0", - "deepmerge-ts": "^7.1.3", + "cosmiconfig": "^9.0.2", + "cosmiconfig-typescript-loader": "^6.3.0", + "deepmerge-ts": "^7.1.5", "zod": "catalog:", - "zod-to-json-schema": "^3.22.3" + "zod-to-json-schema": "^3.25.2" }, "devDependencies": { "@types/node": "catalog:", diff --git a/packages/config/src/__tests__/schema.test.ts b/packages/config/src/__tests__/schema.test.ts index 9de9060f2..5bd3b82ad 100644 --- a/packages/config/src/__tests__/schema.test.ts +++ b/packages/config/src/__tests__/schema.test.ts @@ -22,6 +22,7 @@ describe('ConfigSchema', () => { expect(defaults.multiDevice).toBe(true); expect(defaults.onError).toBe(OnError.NOTHING); expect(defaults.qrFormat).toBe(QRFormat.PNG); + expect(defaults.sandboxChats).toBe(false); }); it('should parse empty object with defaults', () => { @@ -48,6 +49,27 @@ describe('ConfigSchema', () => { expect(result.data?.port).toBe(3000); }); + it('should apply safe defaults to per-chat sandbox policies', () => { + const result = ConfigSchema.safeParse({ sandboxChats: {} }); + + expect(result.success).toBe(true); + if (result.success) { + expect(result.data.sandboxChats).toMatchObject({ + isolation: 'process', + filesystem: 'none', + network: 'none', + env: 'none', + concurrency: 1, + }); + } + }); + + it('should reject unsupported sandbox isolation modes', () => { + expect(ConfigSchema.safeParse({ + sandboxChats: { isolation: 'iframe' }, + }).success).toBe(false); + }); + it('should reject invalid port number', () => { const config = { port: 99999, // Invalid port diff --git a/packages/config/src/schema/config.ts b/packages/config/src/schema/config.ts index d77f130c4..a8402afa0 100644 --- a/packages/config/src/schema/config.ts +++ b/packages/config/src/schema/config.ts @@ -168,6 +168,19 @@ export const McpConfigSchema = z.object({ .describe('Expose /meta/mcp-tools.json for dashboard and debugging.'), }); +export const ChatSandboxConfigSchema = z.object({ + isolation: z.enum(['worker', 'process', 'container']).default('process'), + timeoutMs: z.number().int().positive().default(30_000), + idleTimeoutMs: z.number().int().positive().default(5 * 60_000), + memoryMb: z.number().int().positive().default(256), + concurrency: z.number().int().positive().default(1), + filesystem: z.enum(['none', 'read-only', 'workspace']).default('none'), + network: z.enum(['none', 'allowlist']).default('none'), + networkAllowlist: z.array(z.string()).default([]), + env: z.union([z.literal('none'), z.array(z.string())]).default('none'), + capabilities: z.array(z.string()).default(['sendText']), +}); + // ============================================================================ // Main Configuration Schema // ============================================================================ @@ -338,6 +351,11 @@ export const ConfigSchema = z.object({ // Safety & Error Handling safeMode: z.boolean().default(false).describe('Check if page is valid before each command.'), + sandboxChats: z + .union([z.boolean(), ChatSandboxConfigSchema]) + .default(false) + .describe('Run explicit per-chat user code in a worker, process, or container sandbox.'), + onError: z.nativeEnum(OnError).default(OnError.NOTHING).describe('Error handling strategy.'), throwErrorOnTosBlock: z.boolean().optional().describe('Throw error if session blocked or unable to get QR.'), @@ -523,6 +541,7 @@ export type Viewport = z.infer; export type LightpandaOptions = z.infer; export type S3Sync = z.infer; export type LoggingTransport = z.infer; +export type ChatSandboxConfig = z.infer; // ============================================================================ // Partial/Strict Variants diff --git a/packages/core/package.json b/packages/core/package.json index 0bb6ee1a3..f27b78768 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -25,10 +25,10 @@ "@open-wa/hyperemitter": "workspace:*", "@open-wa/logger": "workspace:*", "@open-wa/plugin-sdk": "workspace:*", + "@open-wa/runtime-core": "workspace:*", "@open-wa/schema": "workspace:*", "effect": "catalog:", "hono": "catalog:", - "p-queue": "6.6.2", "uuid": "catalog:" }, "devDependencies": { diff --git a/packages/core/src/createClient.ts b/packages/core/src/createClient.ts index 2eb5443a3..aa1d4acae 100644 --- a/packages/core/src/createClient.ts +++ b/packages/core/src/createClient.ts @@ -2,22 +2,35 @@ import { HyperEmitter } from '@open-wa/hyperemitter'; import { createLogger, Logger } from '@open-wa/logger'; import type { IDriver, LightpandaOptions } from '@open-wa/driver-interface'; import { requireCapability, type CapabilitySubject } from '@open-wa/driver-interface'; -import { OpenWAEventMap, STATE } from './events/eventMap.js'; -import { PluginHost, loadPlugins } from './plugins/index.js'; +import { OpenWAEventMap, STATE } from './events/eventMap'; +import { PluginHost, loadPlugins } from './plugins/index'; import type { Plugin, PluginClient } from '@open-wa/plugin-sdk'; import { SessionManager, SessionStore, type SessionReadinessSnapshot, type SessionValidationStage, -} from './sessionmanager/index.js'; -import { Transport } from './transport/index.js'; +} from './sessionmanager/index'; +import { Transport } from './transport/index'; import type { LicenseKeyResolver, PatchFetchConfig, LicenseServerConfig, RuntimeValidationFailureReason, -} from './transport/index.js'; +} from './transport/index'; +import { Effect } from 'effect'; +import { + SessionScope, + runStartupGraph, + type SessionAdmissionShape, + type SessionFinalizerReason, + type ChatSandboxPolicy, + type ExecutionSandboxShape, + type SandboxCapabilityHandlers, + type RuntimeObservabilityShape, + type RuntimeCauseRecord, + makeInMemoryObservability, +} from '@open-wa/runtime-core'; export interface CreateClientOptions { sessionId?: string; @@ -90,6 +103,24 @@ export interface CreateClientOptions { * Controls the license check endpoint and offline mode. */ licenseConfig?: LicenseServerConfig; + + /** Optional process-wide admission policy used to cap browser-session RAM. */ + sessionAdmission?: SessionAdmissionShape; + + /** Estimated RAM reservation for this browser session. Defaults to 512 MiB. */ + estimatedMemoryMb?: number; + + /** Execution adapter and policy for explicit per-chat user-code isolation. */ + executionSandbox?: ExecutionSandboxShape; + sandboxPolicy?: ChatSandboxPolicy; + /** Extra parent-side capabilities that isolated chat code may request by name. */ + sandboxCapabilities?: SandboxCapabilityHandlers; + observability?: RuntimeObservabilityShape; + /** Runtime-specific memory sampler. Its fiber is owned by the session Scope. */ + memoryObservation?: ( + observability: RuntimeObservabilityShape, + getBrowserProcessId: () => number | undefined, + ) => Effect.Effect; } export interface OpenWAClient { @@ -99,6 +130,7 @@ export interface OpenWAClient { readonly session: SessionManager; readonly plugins: PluginHost; readonly config: Readonly>; + readonly observability: RuntimeObservabilityShape; registerFinalizationHook(hook: () => void | Promise): () => void; start(): Promise; @@ -108,6 +140,10 @@ export interface OpenWAClient { getTransport(): Transport; screenshot(): Promise; evaluateScript(script: string): Promise; + executeInChatSandbox(chatId: string, source: string, input?: unknown): Promise; + closeChatSandbox(chatId: string): Promise; + getRuntimeMetrics(): Promise>>; + getRuntimeCauses(): Promise>; } function hasCapabilitySubject(driver: IDriver): driver is IDriver & CapabilitySubject { @@ -176,6 +212,7 @@ export async function createClient(options: CreateClientOptions): Promise({ delimiter: '.', @@ -254,31 +291,72 @@ export async function createClient(options: CreateClientOptions): Promise transport.close()); + await resourceScope.addFinalizer('plugins.dispose', () => pluginHost.dispose()); + if (options.executionSandbox) { + await resourceScope.addFinalizer( + 'chat-sandbox.close', + () => Effect.runPromise(options.executionSandbox!.close), + ); + } + if (options.memoryObservation) { + await resourceScope.fork(options.memoryObservation( + observability, + () => transport.getBrowser()?.processId?.(), + ).pipe( + Effect.catchCause(() => Effect.never), + )); + } // Create the PluginClient proxy const pluginClient = createPluginClientProxy(transport, logger); + const sandboxCapabilityHandlers: SandboxCapabilityHandlers = { + sendText: (...args) => pluginClient.sendText(...args as Parameters), + sendImage: (...args) => pluginClient.sendImage(...args as Parameters), + sendFile: (...args) => pluginClient.sendFile(...args as Parameters), + sendLocation: (...args) => pluginClient.sendLocation(...args as Parameters), + sendLinkWithAutoPreview: (...args) => pluginClient.sendLinkWithAutoPreview( + ...args as Parameters + ), + reply: (...args) => pluginClient.reply(...args as Parameters), + sendSeen: (...args) => pluginClient.sendSeen(...args as Parameters), + getHostNumber: (...args) => pluginClient.getHostNumber(...args as Parameters), + getContact: (...args) => pluginClient.getContact(...args as Parameters), + getAllContacts: (...args) => pluginClient.getAllContacts(...args as Parameters), + getAllChats: (...args) => pluginClient.getAllChats(...args as Parameters), + ...options.sandboxCapabilities, + }; // Register directly-provided plugins - if (options.plugins) { - for (const plugin of options.plugins) { - await pluginHost.register(plugin, { - sessionId, - client: pluginClient, - pluginConfig: options.pluginConfig, - }); + try { + if (options.plugins) { + for (const plugin of options.plugins) { + await pluginHost.register(plugin, { + sessionId, + client: pluginClient, + pluginConfig: options.pluginConfig, + }); + } } - } - // Load and register config-referenced plugins - if (options.pluginRefs?.length) { - const loaded = await loadPlugins(options.pluginRefs, logger); - for (const { plugin } of loaded) { - await pluginHost.register(plugin, { - sessionId, - client: pluginClient, - pluginConfig: options.pluginConfig, - }); + // Load and register config-referenced plugins + if (options.pluginRefs?.length) { + const loaded = await loadPlugins(options.pluginRefs, logger); + for (const { plugin } of loaded) { + await pluginHost.register(plugin, { + sessionId, + client: pluginClient, + pluginConfig: options.pluginConfig, + }); + } } + } catch (error) { + await resourceScope.close('plugin-failure'); + throw error; } const finalizationHooks = new Set<() => void | Promise>(); @@ -304,6 +382,7 @@ export async function createClient(options: CreateClientOptions): Promise Effect.runPromise(lease.release), + ); + } + session.resetRuntime(); await session.setState('STARTING'); @@ -350,6 +439,7 @@ export async function createClient(options: CreateClientOptions): Promise> ) => result.failureReason === 'required_method_missing' && !result.sessionLoaded; - await transport.initialize(); - await transport.navigate(); + const startupGraph = await Effect.runPromise( + runStartupGraph([ + { + id: 'transport', + run: () => Effect.tryPromise({ + try: async () => { + await transport.initialize(); + await transport.navigate(); + return true; + }, + catch: (error) => error, + }), + }, + { + id: 'patch-preload', + run: () => Effect.tryPromise({ + try: () => transport.preloadLivePatchArtifacts(), + catch: (error) => error, + }), + }, + { + id: 'license-preflight', + run: () => Effect.tryPromise({ + try: () => transport.preloadLicenseArtifact({ + sessionId, + licenseKey: options.licenseKey, + }), + catch: (error) => error, + }), + }, + ], { + concurrency: 3, + onPhase: ({ id, durationMs }) => { + Effect.runSync(observability.gauge('startup_phase_ms', durationMs, { phase: id })); + }, + onComplete: ({ criticalPathMs }) => { + Effect.runSync(observability.gauge('startup_critical_path_ms', criticalPathMs)); + }, + }), + ); + logger.info('startup_graph_complete', { + criticalPathMs: startupGraph.criticalPathMs, + phases: startupGraph.phases.map(({ id, durationMs }) => ({ id, durationMs })), + }); + + const earlyLivePatchPreload = startupGraph.values.get('patch-preload') as + Awaited>; + const earlyLicensePreload = startupGraph.values.get('license-preflight') as + Awaited>; await session.setState('AUTHENTICATING'); @@ -763,12 +900,14 @@ export async function createClient(options: CreateClientOptions): Promise emitFatalBootstrapError('bootstrap.live_patch.preload', error) @@ -1023,14 +1162,30 @@ export async function createClient(options: CreateClientOptions): Promise([ + 'auth-timeout', + 'browser-crash', + 'failure', + 'interruption', + 'normal-stop', + 'plugin-failure', + 'signal', + 'startup-failure', + ]); + const finalizerReason: SessionFinalizerReason = supportedReasons.has(reason as SessionFinalizerReason) + ? reason as SessionFinalizerReason + : 'normal-stop'; + await resourceScope.close(finalizerReason); events.emit('core.stopped', {}); @@ -1063,6 +1218,32 @@ export async function createClient(options: CreateClientOptions): Promise(script); }, + + async executeInChatSandbox(chatId: string, source: string, input?: unknown): Promise { + if (!options.executionSandbox || !options.sandboxPolicy?.chats) { + throw new Error('Chat sandboxing is disabled. Enable sandboxChats and configure an execution adapter.'); + } + return Effect.runPromise(options.executionSandbox.execute({ + chatId, + source, + input, + policy: options.sandboxPolicy, + capabilityHandlers: sandboxCapabilityHandlers, + })) as Promise; + }, + + async closeChatSandbox(chatId: string): Promise { + if (!options.executionSandbox) return; + await Effect.runPromise(options.executionSandbox.closeChat(chatId)); + }, + + async getRuntimeMetrics(): Promise>> { + return Effect.runPromise(observability.snapshot); + }, + + async getRuntimeCauses() { + return Effect.runPromise(observability.causes); + }, }; return client; diff --git a/packages/core/src/events/index.ts b/packages/core/src/events/index.ts index b12c4387d..f581617d1 100644 --- a/packages/core/src/events/index.ts +++ b/packages/core/src/events/index.ts @@ -1 +1 @@ -export * from './eventMap.js'; +export * from './eventMap'; diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 65ca16f8c..89abf0217 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,7 +1,7 @@ -export { createClient } from './createClient.js'; -export type { CreateClientOptions, OpenWAClient } from './createClient.js'; +export { createClient } from './createClient'; +export type { CreateClientOptions, OpenWAClient } from './createClient'; -export * from './events/index.js'; -export * from './plugins/index.js'; -export * from './sessionmanager/index.js'; -export * from './transport/index.js'; +export * from './events/index'; +export * from './plugins/index'; +export * from './sessionmanager/index'; +export * from './transport/index'; diff --git a/packages/core/src/plugins/EventGateway.ts b/packages/core/src/plugins/EventGateway.ts index b5cccd3cb..0c4db7c3e 100644 --- a/packages/core/src/plugins/EventGateway.ts +++ b/packages/core/src/plugins/EventGateway.ts @@ -12,8 +12,8 @@ * with a policy derived from the source of truth. */ import type { HyperEmitter } from '@open-wa/hyperemitter'; -import type { OpenWAEventMap } from '../events/eventMap.js'; -import { OpenWAEventMetaMap } from '../events/eventMap.js'; +import type { OpenWAEventMap } from '../events/eventMap'; +import { OpenWAEventMetaMap } from '../events/eventMap'; import type { Logger } from '@open-wa/logger'; import type { PluginEventEmitter } from '@open-wa/plugin-sdk'; @@ -26,7 +26,8 @@ import type { PluginEventEmitter } from '@open-wa/plugin-sdk'; export function createEventGateway( emitter: HyperEmitter, pluginName: string, - logger: Logger + logger: Logger, + signal?: AbortSignal, ): PluginEventEmitter { const isBlocked = (event: string): boolean => { const meta = OpenWAEventMetaMap[event as keyof OpenWAEventMap]; @@ -44,7 +45,7 @@ export function createEventGateway( }); return; } - emitter.on(event as keyof OpenWAEventMap, handler as never); + emitter.on(event as keyof OpenWAEventMap, handler as never, { signal }); }, once(event: string, handler: (payload: unknown) => void) { @@ -56,7 +57,7 @@ export function createEventGateway( }); return; } - emitter.once(event as keyof OpenWAEventMap, handler as never); + emitter.once(event as keyof OpenWAEventMap, handler as never, { signal }); }, off(event: string, handler: (payload: unknown) => void) { diff --git a/packages/core/src/plugins/PluginHost.ts b/packages/core/src/plugins/PluginHost.ts index 126ccf9e7..18d83e3e0 100644 --- a/packages/core/src/plugins/PluginHost.ts +++ b/packages/core/src/plugins/PluginHost.ts @@ -1,7 +1,7 @@ import type { Hono } from 'hono'; import type { HyperEmitter } from '@open-wa/hyperemitter'; import type { Logger } from '@open-wa/logger'; -import type { OpenWAEventMap } from '../events/eventMap.js'; +import type { OpenWAEventMap } from '../events/eventMap'; import type { Plugin, Hooks, @@ -13,8 +13,8 @@ import type { PluginManifestEntry, PluginClient, } from '@open-wa/plugin-sdk'; -import { createEventGateway, getPublicEvents } from './EventGateway.js'; -import { validatePluginConfig } from './PluginLoader.js'; +import { createEventGateway, getPublicEvents } from './EventGateway'; +import { validatePluginConfig } from './PluginLoader'; // ============================================================================ // Hook → Event mapping @@ -40,6 +40,8 @@ const HOOK_EVENT_MAPPING: Record = { interface PluginEntry { meta: PluginMeta; hooks: Hooks; + abortController: AbortController; + activeHandlers: Set>; } // ============================================================================ @@ -90,8 +92,15 @@ export class PluginHost { const rawConfig = options.pluginConfig?.[name]; const validatedConfig = validatePluginConfig(plugin, rawConfig, this.logger); + const abortController = new AbortController(); + // Create security-filtered event emitter - const gateway = createEventGateway(this.events, name, this.logger); + const gateway = createEventGateway( + this.events, + name, + this.logger, + abortController.signal, + ); // Build the plugin input const input: PluginInput = { @@ -100,11 +109,23 @@ export class PluginHost { config: validatedConfig, sessionId: options.sessionId, client: options.client, + signal: abortController.signal, }; // Initialize the plugin - const hooks = await plugin(input); - this.plugins.set(name, { meta: plugin.meta, hooks }); + let hooks: Hooks; + try { + hooks = await plugin(input); + } catch (error) { + abortController.abort(error); + throw error; + } + this.plugins.set(name, { + meta: plugin.meta, + hooks, + abortController, + activeHandlers: new Set(), + }); // Wire hooks to events this.wireHooks(name, hooks); @@ -126,20 +147,22 @@ export class PluginHost { } private wireSpecificHooks(name: string, hooks: Hooks): void { + const entry = this.plugins.get(name); + if (!entry) throw new Error(`Plugin "${name}" is not registered`); + for (const [hookName, eventName] of Object.entries(HOOK_EVENT_MAPPING)) { const handler = hooks[hookName as keyof Hooks]; if (handler && typeof handler === 'function') { - this.events.on(eventName, async (payload: unknown) => { - try { - await (handler as (payload: unknown) => Promise)(payload); - } catch (err) { - this.logger.error('plugin_hook_error', { - plugin: name, - event: hookName, - error: err, - }); - } - }); + this.events.on( + eventName, + (payload: unknown) => this.superviseHandler( + entry, + 'plugin_hook_error', + hookName, + () => (handler as (payload: unknown) => void | Promise)(payload), + ), + { signal: entry.abortController.signal }, + ); } } } @@ -147,24 +170,47 @@ export class PluginHost { private wireCatchAllHandler(name: string, hooks: Hooks): void { if (!hooks.event) return; + const entry = this.plugins.get(name); + if (!entry) throw new Error(`Plugin "${name}" is not registered`); const catchAllHandler = hooks.event; const publicEvents = getPublicEvents(); for (const eventName of publicEvents) { - this.events.on(eventName, async (payload: unknown) => { - try { - await catchAllHandler({ event: eventName, payload }); - } catch (err) { - this.logger.error('plugin_catchall_error', { - plugin: name, - event: eventName, - error: err, - }); - } - }); + this.events.on( + eventName, + (payload: unknown) => this.superviseHandler( + entry, + 'plugin_catchall_error', + eventName, + () => catchAllHandler({ event: eventName, payload }), + ), + { signal: entry.abortController.signal }, + ); } } + private superviseHandler( + entry: PluginEntry, + logEvent: 'plugin_hook_error' | 'plugin_catchall_error', + event: string, + handler: () => void | Promise, + ): Promise { + const task = Promise.resolve() + .then(handler) + .catch((error) => { + this.logger.error(logEvent, { + plugin: entry.meta.name, + event, + error, + }); + }) + .finally(() => { + entry.activeHandlers.delete(task); + }); + entry.activeHandlers.add(task); + return task; + } + // ── Route Collection ───────────────────────────────────── /** @@ -247,7 +293,10 @@ export class PluginHost { */ async dispose(): Promise { const entries = Array.from(this.plugins.entries()).reverse(); - for (const [name, { hooks }] of entries) { + for (const [name, entry] of entries) { + entry.abortController.abort(); + await Promise.allSettled([...entry.activeHandlers]); + const { hooks } = entry; if (hooks.dispose) { try { await hooks.dispose(); diff --git a/packages/core/src/plugins/index.ts b/packages/core/src/plugins/index.ts index 0f91da059..8a112533f 100644 --- a/packages/core/src/plugins/index.ts +++ b/packages/core/src/plugins/index.ts @@ -22,6 +22,6 @@ export type { } from '@open-wa/plugin-sdk'; // Core-only exports -export { PluginHost } from './PluginHost.js'; -export { createEventGateway, getPublicEvents } from './EventGateway.js'; -export { loadPlugins, validatePluginConfig, type LoadedPlugin } from './PluginLoader.js'; +export { PluginHost } from './PluginHost'; +export { createEventGateway, getPublicEvents } from './EventGateway'; +export { loadPlugins, validatePluginConfig, type LoadedPlugin } from './PluginLoader'; diff --git a/packages/core/src/sessionmanager/index.ts b/packages/core/src/sessionmanager/index.ts index fc5b5503b..754e7f0af 100644 --- a/packages/core/src/sessionmanager/index.ts +++ b/packages/core/src/sessionmanager/index.ts @@ -1,6 +1,6 @@ import type { HyperEmitter } from '@open-wa/hyperemitter'; import type { Logger } from '@open-wa/logger'; -import type { OpenWAEventMap, STATE } from '../events/eventMap.js'; +import type { OpenWAEventMap, STATE } from '../events/eventMap'; export type SessionValidationStage = 'post_injection' | 'post_patch' | 'post_overlay'; diff --git a/packages/core/src/transport/Transport.ts b/packages/core/src/transport/Transport.ts index 429360e9a..3bd45b900 100644 --- a/packages/core/src/transport/Transport.ts +++ b/packages/core/src/transport/Transport.ts @@ -14,13 +14,13 @@ import type { } from '@open-wa/driver-interface'; import type { HyperEmitter } from '@open-wa/hyperemitter'; import type { Logger } from '@open-wa/logger'; -import type { OpenWAEventMap, STATE } from '../events/eventMap.js'; -import { fetchPatches, validateLicense } from './httpClient.js'; -import { InjectionController, type GenerationSnapshot } from './InjectionController.js'; -import { getProgObserverScript, injectInitPatch } from './initPatchScripts.js'; -import { getRuntimeListenerSurfaceEntry, runtimeListenerSurface } from './runtimeListenerSurface.js'; -import { auditWapiHelperAssetRequirements } from './ScriptLoader.js'; -import { chromiumConfig, sanitizeBrowserArgs } from './browserConfig.js'; +import type { OpenWAEventMap, STATE } from '../events/eventMap'; +import { fetchPatches, validateLicense } from './httpClient'; +import { InjectionController, type GenerationSnapshot } from './InjectionController'; +import { getProgObserverScript, injectInitPatch } from './initPatchScripts'; +import { getRuntimeListenerSurfaceEntry, runtimeListenerSurface } from './runtimeListenerSurface'; +import { auditWapiHelperAssetRequirements } from './ScriptLoader'; +import { chromiumConfig, sanitizeBrowserArgs } from './browserConfig'; export interface PatchFetchConfig { patchesUrl?: string; @@ -448,9 +448,10 @@ export class Transport { /** Cached live patch scripts for re-application during recovery */ private cachedLivePatchScripts: string[] = []; private frameNavCounter = 0; - private options: TransportOptions = {} as TransportOptions; + private readonly options: TransportOptions; constructor(options: TransportOptions) { + this.options = options; this.driver = options.driver; this.events = options.events; this.logger = options.logger; @@ -2093,8 +2094,6 @@ export class Transport { private async configurePageRuntime(page: IPage): Promise { this.registerPageDiagnostics(page); - if (!this.options) this.options = {} - // Inject self-healing watermark if configured if (this.options.watermark) { const wbg = typeof this.options.watermark === 'object' && this.options.watermark.background ? this.options.watermark.background : 'rgba(255, 0, 0, 0.1)'; diff --git a/packages/core/src/transport/index.ts b/packages/core/src/transport/index.ts index 964925d66..b37ee07dc 100644 --- a/packages/core/src/transport/index.ts +++ b/packages/core/src/transport/index.ts @@ -1,2 +1,2 @@ -export * from './Transport.js'; -export * from './runtimeListenerSurface.js'; +export * from './Transport'; +export * from './runtimeListenerSurface'; diff --git a/packages/core/src/transport/initPatchScripts.ts b/packages/core/src/transport/initPatchScripts.ts index d98b35364..6c4efe345 100644 --- a/packages/core/src/transport/initPatchScripts.ts +++ b/packages/core/src/transport/initPatchScripts.ts @@ -1,5 +1,5 @@ import type { IPage } from '@open-wa/driver-interface'; -import { ScriptLoader } from './ScriptLoader.js'; +import { ScriptLoader } from './ScriptLoader'; /** * Shared ScriptLoader instance. diff --git a/packages/core/src/transport/runtimeListenerSurface.ts b/packages/core/src/transport/runtimeListenerSurface.ts index 5e9027ea0..5e9a24b58 100644 --- a/packages/core/src/transport/runtimeListenerSurface.ts +++ b/packages/core/src/transport/runtimeListenerSurface.ts @@ -1,4 +1,4 @@ -import type { OpenWAEventMap } from '../events/eventMap.js'; +import type { OpenWAEventMap } from '../events/eventMap'; type RuntimeBridgeEvent = Extract< keyof OpenWAEventMap, diff --git a/packages/core/test/e2e/createClient.e2e.test.ts b/packages/core/test/e2e/createClient.e2e.test.ts index a32ad0ca6..5020da95a 100644 --- a/packages/core/test/e2e/createClient.e2e.test.ts +++ b/packages/core/test/e2e/createClient.e2e.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, afterEach } from 'vitest'; -import { createClient, OpenWAClient } from '../../src/createClient.js'; +import { createClient, OpenWAClient } from '../../src/createClient'; import { PuppeteerDriver } from '@open-wa/driver-puppeteer'; import { execFileSync } from 'node:child_process'; import { existsSync, readdirSync } from 'node:fs'; diff --git a/packages/core/test/e2e/createClient.lightpanda.e2e.test.ts b/packages/core/test/e2e/createClient.lightpanda.e2e.test.ts index 0b07151b1..7e7728061 100644 --- a/packages/core/test/e2e/createClient.lightpanda.e2e.test.ts +++ b/packages/core/test/e2e/createClient.lightpanda.e2e.test.ts @@ -3,9 +3,9 @@ import { existsSync, mkdtempSync, rmSync } from 'node:fs'; import { createRequire } from 'node:module'; import { join } from 'node:path'; import { tmpdir } from 'node:os'; -import { createClient } from '../../src/createClient.js'; -import type { OpenWAClient } from '../../src/createClient.js'; -import { LightpandaDriver } from '../../../driver-lightpanda/src/LightpandaDriver.js'; +import { createClient } from '../../src/createClient'; +import type { OpenWAClient } from '../../src/createClient'; +import { LightpandaDriver } from '../../../driver-lightpanda/src/LightpandaDriver'; const require = createRequire(import.meta.url); diff --git a/packages/core/test/unit/PluginHost.test.ts b/packages/core/test/unit/PluginHost.test.ts index e512b3b63..978a8bc4c 100644 --- a/packages/core/test/unit/PluginHost.test.ts +++ b/packages/core/test/unit/PluginHost.test.ts @@ -1,10 +1,10 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'; import { HyperEmitter } from '@open-wa/hyperemitter'; import { createLogger } from '@open-wa/logger'; -import { PluginHost } from '../../src/plugins/PluginHost.js'; +import { PluginHost } from '../../src/plugins/PluginHost'; import { createPlugin } from '@open-wa/plugin-sdk'; -import type { PluginClient, PluginInput } from '../../src/plugins/types.js'; -import type { OpenWAEventMap } from '../../src/events/eventMap.js'; +import type { PluginClient, PluginInput } from '../../src/plugins/types'; +import type { OpenWAEventMap } from '../../src/events/eventMap'; function createTestEvents(): HyperEmitter { return new HyperEmitter({ delimiter: '.', captureRejections: true }); @@ -196,6 +196,47 @@ describe('PluginHost', () => { expect(dispose2).toHaveBeenCalledTimes(1); }); + + it('removes registered listeners before disposing plugins', async () => { + await host.register(createTestPlugin('listener-owner', async (input) => { + input.events.on('message.received', vi.fn()); + return { + 'client.ready': vi.fn(), + event: vi.fn(), + }; + }), registerOptions); + + expect(events.listenerCount()).toBeGreaterThan(0); + await host.dispose(); + + expect(events.listenerCount()).toBe(0); + }); + + it('waits for active handlers before disposing their service runtime', async () => { + const order: string[] = []; + await host.register(createTestPlugin('supervised', async (input) => ({ + 'client.ready': async () => { + order.push('handler-started'); + await new Promise((resolve) => { + input.signal.addEventListener('abort', () => resolve(), { once: true }); + }); + await new Promise((resolve) => setTimeout(resolve, 10)); + order.push('handler-finished'); + }, + dispose: () => { + order.push('disposed'); + }, + })), registerOptions); + + events.emit('client.ready', { sessionId: 'test-session' }); + await vi.waitFor(() => expect(order).toContain('handler-started')); + const disposal = host.dispose(); + await Promise.resolve(); + expect(order).toEqual(['handler-started']); + + await disposal; + expect(order).toEqual(['handler-started', 'handler-finished', 'disposed']); + }); }); describe('getTools', () => { diff --git a/packages/core/test/unit/assetTruth.test.ts b/packages/core/test/unit/assetTruth.test.ts index b22f770aa..ec93ee336 100644 --- a/packages/core/test/unit/assetTruth.test.ts +++ b/packages/core/test/unit/assetTruth.test.ts @@ -7,7 +7,7 @@ import { LEGACY_WAPI_HELPER_GLOBAL_REQUIREMENTS, ScriptLoader, auditWapiHelperAssetRequirements, -} from '../../src/transport/ScriptLoader.js'; +} from '../../src/transport/ScriptLoader'; const __dirname = dirname(fileURLToPath(import.meta.url)); const repoRoot = resolve(__dirname, '../../../..'); diff --git a/packages/core/test/unit/bootstrapContract.test.ts b/packages/core/test/unit/bootstrapContract.test.ts index 3d77f89fd..d885565e9 100644 --- a/packages/core/test/unit/bootstrapContract.test.ts +++ b/packages/core/test/unit/bootstrapContract.test.ts @@ -1,6 +1,6 @@ import { afterEach, describe, expect, it, vi } from 'vitest'; -import { createClient, type OpenWAClient } from '../../src/createClient.js'; -import { Transport, type PatchFetchConfig } from '../../src/transport/Transport.js'; +import { createClient, type OpenWAClient } from '../../src/createClient'; +import { Transport, type PatchFetchConfig } from '../../src/transport/Transport'; import type { DisposableHandle, IBrowser, @@ -12,7 +12,7 @@ import type { IRequest, WaitForFunctionOptions, } from '@open-wa/driver-interface'; -import type { OpenWAEventMap } from '../../src/events/eventMap.js'; +import type { OpenWAEventMap } from '../../src/events/eventMap'; type RecordedEvent = { name: keyof OpenWAEventMap | string; diff --git a/packages/core/test/unit/injectionController.test.ts b/packages/core/test/unit/injectionController.test.ts index e51b6df5f..0c6c1f218 100644 --- a/packages/core/test/unit/injectionController.test.ts +++ b/packages/core/test/unit/injectionController.test.ts @@ -11,9 +11,9 @@ import type { } from '@open-wa/driver-interface'; import type { HyperEmitter } from '@open-wa/hyperemitter'; import type { Logger } from '@open-wa/logger'; -import type { OpenWAEventMap } from '../../src/events/eventMap.js'; -import { InjectionController } from '../../src/transport/InjectionController.js'; -import { Transport } from '../../src/transport/Transport.js'; +import type { OpenWAEventMap } from '../../src/events/eventMap'; +import { InjectionController } from '../../src/transport/InjectionController'; +import { Transport } from '../../src/transport/Transport'; class FakeElementHandle implements IElementHandle { async click(): Promise {} diff --git a/packages/core/test/unit/patchLifecycleSemantics.test.ts b/packages/core/test/unit/patchLifecycleSemantics.test.ts index d57831b2c..679cc1c89 100644 --- a/packages/core/test/unit/patchLifecycleSemantics.test.ts +++ b/packages/core/test/unit/patchLifecycleSemantics.test.ts @@ -2,9 +2,9 @@ import { afterEach, describe, expect, it, vi } from 'vitest'; import { HyperEmitter } from '@open-wa/hyperemitter'; import { createLogger } from '@open-wa/logger'; import type { IDriver } from '@open-wa/driver-interface'; -import { Transport } from '../../src/transport/Transport.js'; -import type { OpenWAEventMap } from '../../src/events/eventMap.js'; -import * as httpClient from '../../src/transport/httpClient.js'; +import { Transport } from '../../src/transport/Transport'; +import type { OpenWAEventMap } from '../../src/events/eventMap'; +import * as httpClient from '../../src/transport/httpClient'; function createTransport(patchConfig?: ConstructorParameters[0]['patchConfig']): Transport { return new Transport({ diff --git a/packages/core/test/unit/releaseBlockerParity.test.ts b/packages/core/test/unit/releaseBlockerParity.test.ts index f4396cd33..5acc56aa4 100644 --- a/packages/core/test/unit/releaseBlockerParity.test.ts +++ b/packages/core/test/unit/releaseBlockerParity.test.ts @@ -4,8 +4,8 @@ import { dirname, resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; import type { HyperEmitter } from '@open-wa/hyperemitter'; import type { Logger } from '@open-wa/logger'; -import { Transport } from '../../src/transport/Transport.js'; -import type { OpenWAEventMap } from '../../src/events/eventMap.js'; +import { Transport } from '../../src/transport/Transport'; +import type { OpenWAEventMap } from '../../src/events/eventMap'; import type { DisposableHandle, IBrowser, diff --git a/packages/core/test/unit/runtimeEventBridge.test.ts b/packages/core/test/unit/runtimeEventBridge.test.ts index 66a32b480..161bdc9d1 100644 --- a/packages/core/test/unit/runtimeEventBridge.test.ts +++ b/packages/core/test/unit/runtimeEventBridge.test.ts @@ -11,8 +11,8 @@ import type { } from '@open-wa/driver-interface'; import { HyperEmitter } from '@open-wa/hyperemitter'; import type { Logger } from '@open-wa/logger'; -import type { OpenWAEventMap } from '../../src/events/eventMap.js'; -import { Transport } from '../../src/transport/Transport.js'; +import type { OpenWAEventMap } from '../../src/events/eventMap'; +import { Transport } from '../../src/transport/Transport'; class FakeElementHandle implements IElementHandle { async click(): Promise {} diff --git a/packages/core/test/unit/runtimeListenerSurfaceInventory.test.ts b/packages/core/test/unit/runtimeListenerSurfaceInventory.test.ts index 4349f5299..32477e209 100644 --- a/packages/core/test/unit/runtimeListenerSurfaceInventory.test.ts +++ b/packages/core/test/unit/runtimeListenerSurfaceInventory.test.ts @@ -1,9 +1,9 @@ import { describe, expect, it, vi } from 'vitest'; -import { InjectionController } from '../../src/transport/InjectionController.js'; +import { InjectionController } from '../../src/transport/InjectionController'; import { requiredRuntimeWapiMethods, runtimeListenerSurface, -} from '../../src/transport/runtimeListenerSurface.js'; +} from '../../src/transport/runtimeListenerSurface'; describe('runtime listener surface inventory', () => { it('derives the required WAPI method inventory from the shipped listener surface', async () => { diff --git a/packages/core/test/unit/sessionReadinessTruth.test.ts b/packages/core/test/unit/sessionReadinessTruth.test.ts index 2d3ce27bd..f542b78d5 100644 --- a/packages/core/test/unit/sessionReadinessTruth.test.ts +++ b/packages/core/test/unit/sessionReadinessTruth.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it, vi } from 'vitest'; import { HyperEmitter } from '@open-wa/hyperemitter'; -import { SessionManager } from '../../src/sessionmanager/index.js'; -import type { OpenWAEventMap } from '../../src/events/eventMap.js'; +import { SessionManager } from '../../src/sessionmanager/index'; +import type { OpenWAEventMap } from '../../src/events/eventMap'; function createSessionManager() { return new SessionManager({ diff --git a/packages/core/test/unit/transportLaunchConfig.test.ts b/packages/core/test/unit/transportLaunchConfig.test.ts index 535dbf8e3..7ca857bb3 100644 --- a/packages/core/test/unit/transportLaunchConfig.test.ts +++ b/packages/core/test/unit/transportLaunchConfig.test.ts @@ -16,12 +16,12 @@ import type { } from '@open-wa/driver-interface'; import type { HyperEmitter } from '@open-wa/hyperemitter'; import type { Logger } from '@open-wa/logger'; -import type { OpenWAEventMap } from '../../src/events/eventMap.js'; -import { Transport } from '../../src/transport/Transport.js'; +import type { OpenWAEventMap } from '../../src/events/eventMap'; +import { Transport } from '../../src/transport/Transport'; import { partitionDangerousBrowserArgs, sanitizeBrowserArgs, -} from '../../src/transport/browserConfig.js'; +} from '../../src/transport/browserConfig'; class TestConsoleMessage implements IConsoleMessage { constructor( @@ -83,6 +83,7 @@ class TestRequest implements IRequest { class TestPage implements IPage { readonly name = 'test-driver'; + readonly initScripts: string[] = []; readonly setRequestInterception = vi.fn(async (_enabled: boolean) => { if (this.throwOnSetRequestInterception) { throw new Error('request interception unsupported'); @@ -117,7 +118,8 @@ class TestPage implements IPage { return undefined as Ret; } - async addInitScript(_script: string): Promise { + async addInitScript(script: string): Promise { + this.initScripts.push(script); return { dispose(): void {} }; } @@ -303,6 +305,28 @@ describe('Transport launch/config plumbing', () => { expect(driver.capturedLaunchOptions?.lightpanda).toEqual(lightpanda); }); + it('injects the configured watermark before navigation', async () => { + const page = new TestPage(); + const transport = new Transport({ + driver: new CaptureDriver(new TestBrowser(page)), + events: createEvents(), + logger: createLogger(), + watermark: { + text: 'AUTOMATION SESSION', + color: 'rgb(1, 2, 3)', + background: 'rgb(4, 5, 6)', + }, + blockCrashLogs: false, + }); + + await transport.initialize(); + + expect(page.initScripts).toHaveLength(1); + expect(page.initScripts[0]).toContain('AUTOMATION SESSION'); + expect(page.initScripts[0]).toContain('rgb(1, 2, 3)'); + expect(page.initScripts[0]).toContain('rgb(4, 5, 6)'); + }); + it('logs browser console output and page errors when enabled', async () => { const consoleLogSpy = vi.spyOn(console, 'log').mockImplementation(() => undefined); const consoleErrorSpy = vi.spyOn(console, 'error').mockImplementation(() => undefined); diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index bd1d62300..969e86867 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,8 +1,8 @@ { "compilerOptions": { "target": "ES2022", - "module": "NodeNext", - "moduleResolution": "NodeNext", + "module": "ESNext", + "moduleResolution": "Bundler", "lib": ["ES2022"], "declaration": true, "declarationMap": true, diff --git a/packages/decrypt/src/__tests__/decrypt.test.ts b/packages/decrypt/src/__tests__/decrypt.test.ts index 92cd27ed7..06fc91206 100644 --- a/packages/decrypt/src/__tests__/decrypt.test.ts +++ b/packages/decrypt/src/__tests__/decrypt.test.ts @@ -6,9 +6,9 @@ import { bleachMessage, mediaTypes, MissingCriticalDataError, -} from '../index.js'; -import type { DecryptableMessage } from '../types.js'; -import { decryptBuffer } from '../crypto.js'; +} from '../index'; +import type { DecryptableMessage } from '../types'; +import { decryptBuffer } from '../crypto'; /** * Build a synthetic encrypted payload matching WhatsApp's scheme: diff --git a/packages/decrypt/src/crypto.ts b/packages/decrypt/src/crypto.ts index d4c8e8f95..181eff6eb 100644 --- a/packages/decrypt/src/crypto.ts +++ b/packages/decrypt/src/crypto.ts @@ -6,7 +6,7 @@ */ import { createDecipheriv, hkdfSync } from 'node:crypto'; -import { mediaTypes } from './constants.js'; +import { mediaTypes } from './constants'; /** * Derive the AES-256-CBC key and IV from the media key using HKDF-SHA256, diff --git a/packages/decrypt/src/decrypt.ts b/packages/decrypt/src/decrypt.ts index 55da8f737..37cf3f28d 100644 --- a/packages/decrypt/src/decrypt.ts +++ b/packages/decrypt/src/decrypt.ts @@ -3,10 +3,10 @@ * * Downloads the encrypted blob → decrypts with AES-256-CBC via HKDF-derived keys. */ -import { MissingCriticalDataError, NON_SIZE_TYPES } from './constants.js'; -import { decryptBuffer } from './crypto.js'; -import { downloadEncryptedMedia } from './download.js'; -import type { DecryptableMessage, DecryptOptions } from './types.js'; +import { MissingCriticalDataError, NON_SIZE_TYPES } from './constants'; +import { decryptBuffer } from './crypto'; +import { downloadEncryptedMedia } from './download'; +import type { DecryptableMessage, DecryptOptions } from './types'; /** * Download and decrypt a WhatsApp media message. diff --git a/packages/decrypt/src/download.ts b/packages/decrypt/src/download.ts index 6509396ac..eb1b9e35a 100644 --- a/packages/decrypt/src/download.ts +++ b/packages/decrypt/src/download.ts @@ -5,7 +5,7 @@ */ import { DEFAULT_USER_AGENT, -} from './constants.js'; +} from './constants'; function buildUserAgent(override?: string): string { let ua = override ?? DEFAULT_USER_AGENT; diff --git a/packages/decrypt/src/index.ts b/packages/decrypt/src/index.ts index ef15f2cde..88584c2dc 100644 --- a/packages/decrypt/src/index.ts +++ b/packages/decrypt/src/index.ts @@ -5,11 +5,11 @@ * HTTP fetching uses the global fetch API (Bun/Node 18+). */ -export { decryptMedia } from './decrypt.js'; -export { bleachMessage } from './bleach.js'; +export { decryptMedia } from './decrypt'; +export { bleachMessage } from './bleach'; export type { DecryptableMessage, RequiredDecryptionMessage, DecryptOptions, -} from './types.js'; -export { mediaTypes, MissingCriticalDataError } from './constants.js'; +} from './types'; +export { mediaTypes, MissingCriticalDataError } from './constants'; diff --git a/packages/domain/src/index.ts b/packages/domain/src/index.ts index f9ebf9b04..c23fa6efc 100644 --- a/packages/domain/src/index.ts +++ b/packages/domain/src/index.ts @@ -5,11 +5,11 @@ export { type CollectorFilter, type CollectorOptions, type AwaitMessagesOptions -} from './structures/Collector.js'; +} from './structures/Collector'; export { MessageCollector, type MessageCollectorEvents, type MessageCollectorOptions, awaitMessages -} from './structures/MessageCollector.js'; +} from './structures/MessageCollector'; diff --git a/packages/domain/src/structures/MessageCollector.ts b/packages/domain/src/structures/MessageCollector.ts index 1d16b70bb..09bf72eff 100644 --- a/packages/domain/src/structures/MessageCollector.ts +++ b/packages/domain/src/structures/MessageCollector.ts @@ -1,6 +1,6 @@ import { HyperEmitter } from '@open-wa/hyperemitter'; import type { Message, MessageId, ChatId, Chat } from '@open-wa/schema'; -import { Collector, CollectorFilter, CollectorOptions, Collection } from './Collector.js'; +import { Collector, CollectorFilter, CollectorOptions, Collection } from './Collector'; export interface MessageCollectorOptions extends CollectorOptions { maxProcessed?: number; diff --git a/packages/domain/tsconfig.json b/packages/domain/tsconfig.json index bd1d62300..969e86867 100644 --- a/packages/domain/tsconfig.json +++ b/packages/domain/tsconfig.json @@ -1,8 +1,8 @@ { "compilerOptions": { "target": "ES2022", - "module": "NodeNext", - "moduleResolution": "NodeNext", + "module": "ESNext", + "moduleResolution": "Bundler", "lib": ["ES2022"], "declaration": true, "declarationMap": true, diff --git a/packages/driver-interface/src/driver.ts b/packages/driver-interface/src/driver.ts index 7ef583dbb..5f8d005a7 100644 --- a/packages/driver-interface/src/driver.ts +++ b/packages/driver-interface/src/driver.ts @@ -91,6 +91,8 @@ export interface IBrowser { close(): Promise; isConnected(): boolean; versionString(): Promise; + /** Root browser process PID when the driver owns a local process. */ + processId?(): number | undefined; unwrap(): unknown; } diff --git a/packages/driver-lightpanda/src/LightpandaBrowser.ts b/packages/driver-lightpanda/src/LightpandaBrowser.ts index b1fb32678..d239556a2 100644 --- a/packages/driver-lightpanda/src/LightpandaBrowser.ts +++ b/packages/driver-lightpanda/src/LightpandaBrowser.ts @@ -14,7 +14,7 @@ export class LightpandaBrowser implements IBrowser { constructor( private readonly capabilities: DriverCapabilities, private readonly browser?: any, - private readonly processManager?: { stop(): Promise }, + private readonly processManager?: { stop(): Promise; getProcessId?(): number | undefined }, ) { } async newPage(options?: { clearFirstPage?: boolean }): Promise { @@ -61,6 +61,10 @@ export class LightpandaBrowser implements IBrowser { return await this.requireBrowser().version(); } + processId(): number | undefined { + return this.processManager?.getProcessId?.(); + } + unwrap(): unknown { return this.browser; } diff --git a/packages/driver-lightpanda/src/LightpandaPage.ts b/packages/driver-lightpanda/src/LightpandaPage.ts index fc8babfc6..c71d54656 100644 --- a/packages/driver-lightpanda/src/LightpandaPage.ts +++ b/packages/driver-lightpanda/src/LightpandaPage.ts @@ -58,11 +58,15 @@ class LightpandaElementHandle implements IElementHandle { } async getAttribute(name: string): Promise { - return await this.handle.evaluate((element: Element, attributeName: string) => element.getAttribute(attributeName), name); + return await this.handle.evaluate( + (element: { getAttribute(attributeName: string): string | null }, attributeName: string) => + element.getAttribute(attributeName), + name, + ); } async textContent(): Promise { - return await this.handle.evaluate((element: Element) => element.textContent); + return await this.handle.evaluate((element: { textContent: string | null }) => element.textContent); } async dispose(): Promise { @@ -155,7 +159,7 @@ export class LightpandaPage implements IPage { return element ? new LightpandaElementHandle(element) : null; } - async waitForFunction(_script: string, _options?: WaitForFunctionOptions): Promise; + async waitForFunction(_script: string, _options?: WaitForFunctionOptions): Promise; async waitForFunction(_fn: (arg: Arg) => boolean, _arg: Arg, _options?: WaitForFunctionOptions): Promise; async waitForFunction( fnOrScript: string | ((arg: Arg) => boolean), diff --git a/packages/driver-lightpanda/src/__tests__/driver-runtime.test.ts b/packages/driver-lightpanda/src/__tests__/driver-runtime.test.ts index ab66ab3b2..0c30f9ea0 100644 --- a/packages/driver-lightpanda/src/__tests__/driver-runtime.test.ts +++ b/packages/driver-lightpanda/src/__tests__/driver-runtime.test.ts @@ -87,7 +87,7 @@ describe('Lightpanda runtime', () => { vi.clearAllMocks(); findFreePort.mockResolvedValue(9500); serve.mockReturnValue({ kill: vi.fn(() => true) }); - globalThis.WebSocket = SuccessfulWebSocket as typeof WebSocket; + globalThis.WebSocket = SuccessfulWebSocket as unknown as typeof WebSocket; }); afterEach(() => { @@ -240,7 +240,7 @@ describe('Lightpanda runtime', () => { await page.close(); expect(puppeteerPage.close).toHaveBeenCalled(); expect(page.isClosed()).toBe(false); - expect(browser.pages()).resolves.toHaveLength(1); + await expect(browser.pages()).resolves.toHaveLength(1); }); it('closes the puppeteer browser and Lightpanda process exactly once', async () => { diff --git a/packages/driver-lightpanda/src/__tests__/process-manager.test.ts b/packages/driver-lightpanda/src/__tests__/process-manager.test.ts index d1f6c5a90..f27c50044 100644 --- a/packages/driver-lightpanda/src/__tests__/process-manager.test.ts +++ b/packages/driver-lightpanda/src/__tests__/process-manager.test.ts @@ -26,7 +26,7 @@ describe('LightpandaProcessManager', () => { })); vi.doMock('@lightpanda/browser', () => ({ serve, - }), { virtual: true }); + })); const process: MockProcess = { kill: vi.fn(() => true), @@ -47,7 +47,7 @@ describe('LightpandaProcessManager', () => { } } - globalThis.WebSocket = SuccessfulWebSocket as typeof WebSocket; + globalThis.WebSocket = SuccessfulWebSocket as unknown as typeof WebSocket; const { LightpandaProcessManager } = await import('../process-manager'); const manager = new LightpandaProcessManager(); @@ -76,7 +76,7 @@ describe('LightpandaProcessManager', () => { lightpanda: { serve, }, - }), { virtual: true }); + })); const process: MockProcess = { kill: vi.fn(() => true), @@ -97,7 +97,7 @@ describe('LightpandaProcessManager', () => { } } - globalThis.WebSocket = SuccessfulWebSocket as typeof WebSocket; + globalThis.WebSocket = SuccessfulWebSocket as unknown as typeof WebSocket; const { LightpandaProcessManager } = await import('../process-manager'); const manager = new LightpandaProcessManager(); @@ -118,7 +118,7 @@ describe('LightpandaProcessManager', () => { })); vi.doMock('@lightpanda/browser', () => ({ serve, - }), { virtual: true }); + })); const process: MockProcess = { kill: vi.fn(() => true), @@ -138,7 +138,7 @@ describe('LightpandaProcessManager', () => { } } - globalThis.WebSocket = SuccessfulWebSocket as typeof WebSocket; + globalThis.WebSocket = SuccessfulWebSocket as unknown as typeof WebSocket; const { LightpandaProcessManager } = await import('../process-manager'); const manager = new LightpandaProcessManager(); @@ -156,7 +156,7 @@ describe('LightpandaProcessManager', () => { })); vi.doMock('@lightpanda/browser', () => ({ serve, - }), { virtual: true }); + })); const process: MockProcess = { kill: vi.fn(() => true), @@ -176,7 +176,7 @@ describe('LightpandaProcessManager', () => { } } - globalThis.WebSocket = FailingWebSocket as typeof WebSocket; + globalThis.WebSocket = FailingWebSocket as unknown as typeof WebSocket; const { LightpandaProcessManager } = await import('../process-manager'); const manager = new LightpandaProcessManager(); @@ -196,7 +196,7 @@ describe('LightpandaProcessManager', () => { })); vi.doMock('@lightpanda/browser', () => ({ serve, - }), { virtual: true }); + })); const firstProcess: MockProcess = { kill: vi.fn(() => true), @@ -229,7 +229,7 @@ describe('LightpandaProcessManager', () => { } } - globalThis.WebSocket = RetryWebSocket as typeof WebSocket; + globalThis.WebSocket = RetryWebSocket as unknown as typeof WebSocket; const { LightpandaProcessManager } = await import('../process-manager'); const manager = new LightpandaProcessManager(); @@ -265,7 +265,7 @@ describe('LightpandaProcessManager', () => { error.code = 'ERR_MODULE_NOT_FOUND'; throw error; }, - }), { virtual: true }); + })); const { LightpandaProcessManager } = await import('../process-manager'); const manager = new LightpandaProcessManager(); diff --git a/packages/driver-lightpanda/src/port-utils.ts b/packages/driver-lightpanda/src/port-utils.ts index b6ecc78b3..ba89016be 100644 --- a/packages/driver-lightpanda/src/port-utils.ts +++ b/packages/driver-lightpanda/src/port-utils.ts @@ -65,7 +65,7 @@ export async function findFreePort(startFrom: number, maxAttempts = DEFAULT_MAX_ throw createPortExhaustionError(startFrom, maxAttempts); } -export const __internal = { +export const portUtilsInternal = { DEFAULT_MAX_ATTEMPTS, LOCAL_LOOPBACK_HOST, createPortExhaustionError, diff --git a/packages/driver-lightpanda/src/process-manager.ts b/packages/driver-lightpanda/src/process-manager.ts index 7963b776f..1d37a063d 100644 --- a/packages/driver-lightpanda/src/process-manager.ts +++ b/packages/driver-lightpanda/src/process-manager.ts @@ -20,7 +20,7 @@ type LightpandaSdkNamespaceModule = { }; }; -type LightpandaChildProcess = Pick; +type LightpandaChildProcess = Pick; export interface ProcessManagerConfig { executablePath?: string; @@ -47,7 +47,7 @@ function isModuleMissing(error: unknown): boolean { async function loadLightpandaSdk(): Promise { try { - const module = await import('@lightpanda/browser') as LightpandaSdkModule & LightpandaSdkNamespaceModule; + const module = await import('@lightpanda/browser') as unknown as LightpandaSdkModule & LightpandaSdkNamespaceModule; const serve = typeof module.serve === 'function' ? module.serve.bind(module) : typeof module.lightpanda?.serve === 'function' @@ -212,6 +212,10 @@ export class LightpandaProcessManager { return this.processInfo.wsEndpoint; } + getProcessId(): number | undefined { + return this.child?.pid; + } + async stop(): Promise { if (this.stopPromise) { return await this.stopPromise; @@ -269,7 +273,7 @@ export class LightpandaProcessManager { } } -export const __internal = { +export const processManagerInternal = { DEFAULT_HOST, DEFAULT_PORT_ATTEMPTS, DEFAULT_PORT_START, diff --git a/packages/driver-playwright/package.json b/packages/driver-playwright/package.json index 2679a2b8b..bb62bca4c 100644 --- a/packages/driver-playwright/package.json +++ b/packages/driver-playwright/package.json @@ -19,7 +19,7 @@ }, "dependencies": { "@open-wa/driver-interface": "workspace:*", - "playwright": "^1.41.0" + "playwright": "^1.61.1" }, "devDependencies": { "@types/node": "catalog:", diff --git a/packages/driver-puppeteer/src/PuppeteerBrowser.ts b/packages/driver-puppeteer/src/PuppeteerBrowser.ts index 2512ff8ed..fd1899156 100644 --- a/packages/driver-puppeteer/src/PuppeteerBrowser.ts +++ b/packages/driver-puppeteer/src/PuppeteerBrowser.ts @@ -33,13 +33,17 @@ export class PuppeteerBrowser implements IBrowser { } isConnected(): boolean { - return this.browser.isConnected(); + return this.browser.connected; } async versionString(): Promise { return await this.browser.version(); } + processId(): number | undefined { + return this.browser.process()?.pid; + } + unwrap(): Browser { return this.browser; } diff --git a/packages/driver-puppeteer/src/PuppeteerDriver.ts b/packages/driver-puppeteer/src/PuppeteerDriver.ts index ecbd6627e..8a5eb93c0 100644 --- a/packages/driver-puppeteer/src/PuppeteerDriver.ts +++ b/packages/driver-puppeteer/src/PuppeteerDriver.ts @@ -20,6 +20,8 @@ export class PuppeteerDriver implements IDriver { persistentContext: { supported: true }, browserExtensions: { supported: true }, exposeBinding: { supported: true }, + screenshot: { supported: true }, + rendering: { supported: true }, }; } diff --git a/packages/driver-puppeteer/src/PuppeteerPage.ts b/packages/driver-puppeteer/src/PuppeteerPage.ts index a51468136..efdb9799c 100644 --- a/packages/driver-puppeteer/src/PuppeteerPage.ts +++ b/packages/driver-puppeteer/src/PuppeteerPage.ts @@ -254,7 +254,7 @@ export class PuppeteerPage implements IPage { } } - async waitForFunction(script: string, options?: WaitForFunctionOptions): Promise; + async waitForFunction(script: string, options?: WaitForFunctionOptions): Promise; async waitForFunction(fn: (arg: Arg) => boolean, arg: Arg, options?: WaitForFunctionOptions): Promise; async waitForFunction(fnOrScript: string | ((arg: Arg) => boolean), argOrOptions?: Arg | WaitForFunctionOptions, maybeOptions?: WaitForFunctionOptions): Promise { if (typeof fnOrScript === 'string') { diff --git a/packages/hyperemitter/package.json b/packages/hyperemitter/package.json index 343562e45..c644adbf3 100644 --- a/packages/hyperemitter/package.json +++ b/packages/hyperemitter/package.json @@ -36,11 +36,11 @@ "@open-wa/logger": "workspace:*" }, "devDependencies": { - "emittery": "^1.0.1", + "emittery": "^2.0.0", "eventemitter2": "^6.4.9", - "eventemitter3": "^5.0.1", + "eventemitter3": "^5.0.4", "mitt": "^3.0.1", - "tseep": "^1.0.1", + "tseep": "^1.3.1", "typescript": "catalog:" } } diff --git a/packages/hyperemitter/src/core/HyperEmitter.ts b/packages/hyperemitter/src/core/HyperEmitter.ts index 1046944ec..60fecd3cc 100644 --- a/packages/hyperemitter/src/core/HyperEmitter.ts +++ b/packages/hyperemitter/src/core/HyperEmitter.ts @@ -1,12 +1,12 @@ import { EventEmitter as NodeEmitter } from 'node:events'; -import { RadixTree } from '../routing/RadixTree.js'; -import { ListenerOptions, HyperEmitterOptions } from '../types/index.js'; +import { RadixTree } from '../routing/RadixTree'; +import { ListenerOptions, HyperEmitterOptions } from '../types/index'; import { ListenerRecord, attachAbort, cleanupAbort, createRecord -} from '../utils/listener.js'; +} from '../utils/listener'; import { createLogger, Logger } from '@open-wa/logger'; import type { LogContext } from '@open-wa/logger'; diff --git a/packages/hyperemitter/src/index.ts b/packages/hyperemitter/src/index.ts index 5830a2d44..2ad625606 100644 --- a/packages/hyperemitter/src/index.ts +++ b/packages/hyperemitter/src/index.ts @@ -1,7 +1,7 @@ -export { HyperEmitter } from './core/HyperEmitter.js'; +export { HyperEmitter } from './core/HyperEmitter'; export type { EventMap, EventListener, ListenerOptions, HyperEmitterOptions -} from './types/index.js'; +} from './types/index'; diff --git a/packages/hyperemitter/src/routing/RadixTree.ts b/packages/hyperemitter/src/routing/RadixTree.ts index d42f948bc..ab4dbe908 100644 --- a/packages/hyperemitter/src/routing/RadixTree.ts +++ b/packages/hyperemitter/src/routing/RadixTree.ts @@ -1,4 +1,4 @@ -import { RadixNode } from './RadixNode.js'; +import { RadixNode } from './RadixNode'; /** * Radix tree with MQTT-style wildcards. diff --git a/packages/hyperemitter/src/utils/listener.ts b/packages/hyperemitter/src/utils/listener.ts index 3e5c527f9..b102cf3ba 100644 --- a/packages/hyperemitter/src/utils/listener.ts +++ b/packages/hyperemitter/src/utils/listener.ts @@ -1,4 +1,4 @@ -import { ListenerOptions } from '../types/index.js'; +import { ListenerOptions } from '../types/index'; export type ListenerFn = (...args: any[]) => any; diff --git a/packages/logger/package.json b/packages/logger/package.json index 09e8f82d5..4c9716966 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -11,16 +11,16 @@ "test": "vitest run --passWithNoTests" }, "dependencies": { - "chalk": "^4.1.2", - "figlet": "^1.5.2", - "log-update": "^4.0.0", - "ora": "^5.4.1", - "winston": "^3.11.0", - "winston-transport": "^4.6.0", + "chalk": "^5.6.2", + "figlet": "^1.11.3", + "log-update": "^8.0.0", + "ora": "^9.4.1", + "winston": "^3.19.0", + "winston-transport": "^4.9.0", "zod": "catalog:" }, "devDependencies": { - "@types/figlet": "^1.5.8", + "@types/figlet": "^1.7.0", "@types/node": "catalog:", "typescript": "catalog:", "vitest": "catalog:" diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 847efcea6..542a7c505 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -25,16 +25,16 @@ "test": "vitest run" }, "dependencies": { - "@modelcontextprotocol/sdk": "^1.0.1", + "@modelcontextprotocol/sdk": "^1.29.0", "@open-wa/config": "workspace:*", "@open-wa/schema": "workspace:*", "@open-wa/utils": "workspace:*", "hono": "catalog:", "zod": "catalog:", - "zod-to-json-schema": "^3.23.2" + "zod-to-json-schema": "^3.25.2" }, "devDependencies": { - "tsdown": "^0.21.7", + "tsdown": "^0.22.13", "typescript": "catalog:", "vitest": "catalog:" }, diff --git a/packages/mcp/tsconfig.json b/packages/mcp/tsconfig.json new file mode 100644 index 000000000..9c566478c --- /dev/null +++ b/packages/mcp/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist" + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist", "test"] +} diff --git a/packages/plugin-sdk/src/createPlugin.ts b/packages/plugin-sdk/src/createPlugin.ts index 64a8767e8..83933e72e 100644 --- a/packages/plugin-sdk/src/createPlugin.ts +++ b/packages/plugin-sdk/src/createPlugin.ts @@ -5,7 +5,7 @@ * It handles metadata attachment, config schema binding, and proper typing. */ import type { z } from 'zod'; -import type { Plugin, PluginMeta, PluginInput, Hooks } from './types.js'; +import type { Plugin, PluginMeta, PluginInput, Hooks } from './types'; export interface CreatePluginOptions { /** Plugin metadata — name is required, everything else is optional */ diff --git a/packages/plugin-sdk/src/index.ts b/packages/plugin-sdk/src/index.ts index 04e7079c7..8c6f4d58b 100644 --- a/packages/plugin-sdk/src/index.ts +++ b/packages/plugin-sdk/src/index.ts @@ -21,10 +21,10 @@ */ // Factory -export { createPlugin, type CreatePluginOptions } from './createPlugin.js'; +export { createPlugin, type CreatePluginOptions } from './createPlugin'; // Config helpers -export { defineConfig, z } from './defineConfig.js'; +export { defineConfig, z } from './defineConfig'; // Types export type { @@ -51,4 +51,4 @@ export type { // Manifest (consumed by dashboard) PluginManifest, PluginManifestEntry, -} from './types.js'; +} from './types'; diff --git a/packages/plugin-sdk/src/types.ts b/packages/plugin-sdk/src/types.ts index b26c61bc4..ce6b02703 100644 --- a/packages/plugin-sdk/src/types.ts +++ b/packages/plugin-sdk/src/types.ts @@ -39,6 +39,9 @@ export interface PluginInput { /** Current session ID */ sessionId: string; + /** Aborted when the host starts disposing this plugin and its handlers. */ + signal: AbortSignal; + /** * Client proxy for calling WA methods. * diff --git a/packages/runtime-browser/package.json b/packages/runtime-browser/package.json new file mode 100644 index 000000000..8453f58dd --- /dev/null +++ b/packages/runtime-browser/package.json @@ -0,0 +1,24 @@ +{ + "name": "@open-wa/runtime-browser", + "version": "5.0.0-alpha.7", + "description": "Browser Effect runtime Layer for open-wa control-plane clients", + "type": "module", + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.mts", + "exports": { ".": { "import": "./dist/index.mjs", "require": "./dist/index.cjs", "types": "./dist/index.d.mts" } }, + "scripts": { + "build": "tsdown src/index.ts --format esm --format cjs", + "test": "vitest run --passWithNoTests", + "lint": "oxlint src", + "typecheck": "tsc --noEmit", + "clean": "rimraf dist" + }, + "dependencies": { + "@effect/platform-browser": "catalog:", + "@open-wa/runtime-core": "workspace:*", + "effect": "catalog:" + }, + "devDependencies": { "@types/node": "catalog:", "typescript": "catalog:", "vitest": "catalog:" }, + "publishConfig": { "access": "public" } +} diff --git a/packages/runtime-browser/src/index.test.ts b/packages/runtime-browser/src/index.test.ts new file mode 100644 index 000000000..47c56c743 --- /dev/null +++ b/packages/runtime-browser/src/index.test.ts @@ -0,0 +1,23 @@ +import { RuntimeCapabilities } from '@open-wa/runtime-core'; +import { Effect, Exit } from 'effect'; +import { describe, expect, it } from 'vitest'; +import { BrowserRuntimeLayer } from './index'; + +describe('BrowserRuntimeLayer', () => { + it('exposes control-plane capabilities and rejects host-only work', async () => { + const result = await Effect.runPromise( + Effect.gen(function* () { + const capabilities = yield* RuntimeCapabilities; + return { + runtime: capabilities.runtime, + fetch: capabilities.has('web-fetch'), + chromium: yield* Effect.exit(capabilities.require('chromium-launch')), + }; + }).pipe(Effect.provide(BrowserRuntimeLayer)), + ); + + expect(result.runtime).toBe('browser'); + expect(result.fetch).toBe(true); + expect(Exit.isFailure(result.chromium)).toBe(true); + }); +}); diff --git a/packages/runtime-browser/src/index.ts b/packages/runtime-browser/src/index.ts new file mode 100644 index 000000000..f7e286317 --- /dev/null +++ b/packages/runtime-browser/src/index.ts @@ -0,0 +1,14 @@ +import { BrowserHttpClient } from '@effect/platform-browser'; +import { + InMemoryObservabilityLayer, + runtimeCapabilitiesLayer, +} from '@open-wa/runtime-core'; +import { Layer } from 'effect'; + +export const BrowserRuntimeLayer = Layer.mergeAll( + BrowserHttpClient.layerFetch, + runtimeCapabilitiesLayer('browser', ['browser-client', 'web-fetch']), + InMemoryObservabilityLayer, +); + +export { BrowserRuntime } from '@effect/platform-browser'; diff --git a/packages/runtime-browser/tsconfig.json b/packages/runtime-browser/tsconfig.json new file mode 100644 index 000000000..26231de62 --- /dev/null +++ b/packages/runtime-browser/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../runtime-core/tsconfig.json", "compilerOptions": { "rootDir": "./src", "outDir": "./dist" }, "include": ["src/**/*"] } diff --git a/packages/runtime-bun/package.json b/packages/runtime-bun/package.json new file mode 100644 index 000000000..d528dfa92 --- /dev/null +++ b/packages/runtime-bun/package.json @@ -0,0 +1,24 @@ +{ + "name": "@open-wa/runtime-bun", + "version": "5.0.0-alpha.7", + "description": "Bun Effect runtime Layer for open-wa", + "type": "module", + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.mts", + "exports": { ".": { "import": "./dist/index.mjs", "require": "./dist/index.cjs", "types": "./dist/index.d.mts" } }, + "scripts": { + "build": "tsdown src/index.ts --format esm --format cjs", + "test": "vitest run --passWithNoTests", + "lint": "oxlint src", + "typecheck": "tsc --noEmit", + "clean": "rimraf dist" + }, + "dependencies": { + "@effect/platform-bun": "catalog:", + "@open-wa/runtime-core": "workspace:*", + "effect": "catalog:" + }, + "devDependencies": { "@types/node": "catalog:", "typescript": "catalog:", "vitest": "catalog:" }, + "publishConfig": { "access": "public" } +} diff --git a/packages/runtime-bun/src/index.test.ts b/packages/runtime-bun/src/index.test.ts new file mode 100644 index 000000000..378d7af0c --- /dev/null +++ b/packages/runtime-bun/src/index.test.ts @@ -0,0 +1,21 @@ +import { RuntimeCapabilities } from '@open-wa/runtime-core'; +import { Effect } from 'effect'; +import { describe, expect, it } from 'vitest'; + +describe('BunRuntimeLayer', () => { + const runtimeIt = 'Bun' in globalThis ? it : it.skip; + + runtimeIt('runs the same portable capability program with Bun services', async () => { + const { BunRuntimeLayer } = await import('./index'); + const result = await Effect.runPromise( + Effect.gen(function* () { + const capabilities = yield* RuntimeCapabilities; + yield* capabilities.require('filesystem'); + yield* capabilities.require('chromium-launch'); + return capabilities.runtime; + }).pipe(Effect.provide(BunRuntimeLayer)), + ); + + expect(result).toBe('bun'); + }); +}); diff --git a/packages/runtime-bun/src/index.ts b/packages/runtime-bun/src/index.ts new file mode 100644 index 000000000..f24b8960a --- /dev/null +++ b/packages/runtime-bun/src/index.ts @@ -0,0 +1,22 @@ +import * as BunHttpClient from '@effect/platform-bun/BunHttpClient'; +import * as BunServices from '@effect/platform-bun/BunServices'; +import { + InMemoryObservabilityLayer, + runtimeCapabilitiesLayer, +} from '@open-wa/runtime-core'; +import { Layer } from 'effect'; + +export const BunRuntimeLayer = Layer.mergeAll( + BunServices.layer, + BunHttpClient.layer, + runtimeCapabilitiesLayer('bun', [ + 'browser-client', + 'chromium-launch', + 'filesystem', + 'process', + 'web-fetch', + ]), + InMemoryObservabilityLayer, +); + +export { BunRuntime } from '@effect/platform-bun'; diff --git a/packages/runtime-bun/tsconfig.json b/packages/runtime-bun/tsconfig.json new file mode 100644 index 000000000..26231de62 --- /dev/null +++ b/packages/runtime-bun/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../runtime-core/tsconfig.json", "compilerOptions": { "rootDir": "./src", "outDir": "./dist" }, "include": ["src/**/*"] } diff --git a/packages/runtime-core/package.json b/packages/runtime-core/package.json new file mode 100644 index 000000000..a58886955 --- /dev/null +++ b/packages/runtime-core/package.json @@ -0,0 +1,38 @@ +{ + "name": "@open-wa/runtime-core", + "version": "5.0.0-alpha.7", + "description": "Portable Effect runtime capabilities for open-wa", + "type": "module", + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.mts", + "exports": { + ".": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs", + "types": "./dist/index.d.mts" + } + }, + "scripts": { + "build": "tsdown src/index.ts --format esm --format cjs", + "test": "vitest run", + "lint": "oxlint src", + "typecheck": "tsc --noEmit", + "clean": "rimraf dist" + }, + "dependencies": { + "effect": "catalog:" + }, + "devDependencies": { + "@types/node": "catalog:", + "typescript": "catalog:", + "vitest": "catalog:" + }, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/open-wa/wa-automate-nodejs.git" + } +} diff --git a/packages/runtime-core/src/effect-spikes.test.ts b/packages/runtime-core/src/effect-spikes.test.ts new file mode 100644 index 000000000..7b9446880 --- /dev/null +++ b/packages/runtime-core/src/effect-spikes.test.ts @@ -0,0 +1,33 @@ +import { Effect, Schema } from 'effect'; +import { describe, expect, it } from 'vitest'; +import { HttpApi } from 'effect/unstable/httpapi'; +import { + OpenWaAskRpc, + OpenWaHttpApi, + RuntimeEventSchema, + decodeRuntimeEvent, +} from './effect-spikes'; + +describe('Effect replacement spikes', () => { + it('decodes runtime events with Effect Schema', async () => { + const decoded = await Effect.runPromise(decodeRuntimeEvent({ + event: 'message.received', + sessionId: 'session', + timestamp: 1, + payload: { body: 'hello' }, + })); + expect(decoded.event).toBe('message.received'); + expect(() => Schema.decodeUnknownSync(RuntimeEventSchema)({ timestamp: 'bad' })).toThrow(); + }); + + it('describes HTTP and RPC contracts without transport implementations', () => { + const endpoints: string[] = []; + HttpApi.reflect(OpenWaHttpApi, { + onGroup: () => undefined, + onEndpoint: ({ endpoint }) => endpoints.push(endpoint.identifier), + }); + expect(endpoints).toEqual(['health']); + expect(OpenWaAskRpc._tag).toBe('openwa.ask'); + expect(OpenWaAskRpc.payloadSchema).toBeDefined(); + }); +}); diff --git a/packages/runtime-core/src/effect-spikes.ts b/packages/runtime-core/src/effect-spikes.ts new file mode 100644 index 000000000..ce8e1bfd8 --- /dev/null +++ b/packages/runtime-core/src/effect-spikes.ts @@ -0,0 +1,46 @@ +import { Effect, PubSub, Schema, Stream } from 'effect'; +import { + HttpApi, + HttpApiEndpoint, + HttpApiGroup, +} from 'effect/unstable/httpapi'; +import { Rpc } from 'effect/unstable/rpc'; + +export const RuntimeHealthSchema = Schema.Struct({ + sessionId: Schema.String, + state: Schema.Literals(['STARTING', 'AUTHENTICATING', 'READY', 'DISCONNECTED', 'STOPPED']), + ready: Schema.Boolean, +}); + +export const RuntimeEventSchema = Schema.Struct({ + event: Schema.String, + sessionId: Schema.String, + timestamp: Schema.Number, + payload: Schema.Unknown, +}); + +export const OpenWaHttpApi = HttpApi.make('openwa').add( + HttpApiGroup.make('runtime').add( + HttpApiEndpoint.get('health', '/health', { success: RuntimeHealthSchema }), + ), +); + +export const OpenWaAskRpc = Rpc.make('openwa.ask', { + payload: { + method: Schema.String, + args: Schema.Array(Schema.Unknown), + }, + success: Schema.Unknown, +}); + +export const decodeRuntimeEvent = Schema.decodeUnknownEffect(RuntimeEventSchema); + +export const makeBoundedEventPipeline = (capacity: number) => + Effect.gen(function* () { + const pubsub = yield* PubSub.bounded(capacity); + return { + publish: (event: A) => PubSub.publish(pubsub, event), + events: Stream.fromPubSub(pubsub), + shutdown: PubSub.shutdown(pubsub), + } as const; + }); diff --git a/packages/runtime-core/src/errors.ts b/packages/runtime-core/src/errors.ts new file mode 100644 index 000000000..8071ef02c --- /dev/null +++ b/packages/runtime-core/src/errors.ts @@ -0,0 +1,69 @@ +import { Data } from 'effect'; + +export class RuntimeCapabilityError extends Data.TaggedError( + 'RuntimeCapabilityError', +)<{ + readonly capability: RuntimeCapability; + readonly runtime: RuntimeKind; + readonly detail: string; +}> {} + +export class QueueOverloadedError extends Data.TaggedError( + 'QueueOverloadedError', +)<{ + readonly queue: string; + readonly capacity: number; +}> {} + +export class QueueClosedError extends Data.TaggedError('QueueClosedError')<{ + readonly queue: string; +}> {} + +export class TaskTimeoutError extends Data.TaggedError('TaskTimeoutError')<{ + readonly queue: string; + readonly timeoutMs: number; +}> {} + +export class TaskExecutionError extends Data.TaggedError( + 'TaskExecutionError', +)<{ + readonly queue: string; + readonly cause: unknown; +}> {} + +export class StartupGraphError extends Data.TaggedError('StartupGraphError')<{ + readonly detail: string; + readonly nodes: ReadonlyArray; +}> {} + +export class SandboxPolicyError extends Data.TaggedError( + 'SandboxPolicyError', +)<{ + readonly detail: string; + readonly field?: string; +}> {} + +export class SandboxExecutionError extends Data.TaggedError( + 'SandboxExecutionError', +)<{ + readonly chatId: string; + readonly isolation: string; + readonly cause: unknown; +}> {} + +export class SessionAdmissionError extends Data.TaggedError( + 'SessionAdmissionError', +)<{ + readonly requestedMemoryMb: number; + readonly availableMemoryMb: number; +}> {} + +export type RuntimeKind = 'node' | 'bun' | 'browser' | 'edge' | 'test'; + +export type RuntimeCapability = + | 'browser-client' + | 'chromium-launch' + | 'filesystem' + | 'process' + | 'web-fetch' + | 'worker-bindings'; diff --git a/packages/runtime-core/src/index.ts b/packages/runtime-core/src/index.ts new file mode 100644 index 000000000..9945d0647 --- /dev/null +++ b/packages/runtime-core/src/index.ts @@ -0,0 +1,10 @@ +export * from './errors'; +export * from './effect-spikes'; +export * from './observability'; +export * from './runtime-capabilities'; +export * from './sandbox'; +export * from './scoped-task-queue'; +export * from './services'; +export * from './session-admission'; +export * from './session-scope'; +export * from './startup-graph'; diff --git a/packages/runtime-core/src/observability.test.ts b/packages/runtime-core/src/observability.test.ts new file mode 100644 index 000000000..1fac9a76d --- /dev/null +++ b/packages/runtime-core/src/observability.test.ts @@ -0,0 +1,29 @@ +import { Effect } from 'effect'; +import { describe, expect, it } from 'vitest'; +import { makeInMemoryObservability } from './observability'; + +describe('runtime observability', () => { + it('retains nested causes as structured diagnostic data', async () => { + const observability = makeInMemoryObservability(); + const root = new Error('socket reset'); + const outer = new Error('browser launch failed', { cause: root }); + + await Effect.runPromise(observability.recordCause('browser.launch', outer, { + session: 'test-session', + })); + + const causes = await Effect.runPromise(observability.causes); + expect(causes).toMatchObject([{ + scope: 'browser.launch', + attributes: { session: 'test-session' }, + cause: { + name: 'Error', + message: 'browser launch failed', + cause: { name: 'Error', message: 'socket reset' }, + }, + }]); + await expect(Effect.runPromise(observability.snapshot)).resolves.toMatchObject({ + 'cause_failures{scope=browser.launch,session=test-session}': 1, + }); + }); +}); diff --git a/packages/runtime-core/src/observability.ts b/packages/runtime-core/src/observability.ts new file mode 100644 index 000000000..f7f83da21 --- /dev/null +++ b/packages/runtime-core/src/observability.ts @@ -0,0 +1,104 @@ +import { Effect, Layer } from 'effect'; +import { + RuntimeObservability, + type RuntimeObservabilityShape, + type RuntimeMetric, + type SerializedRuntimeCause, + type RuntimeCauseRecord, +} from './services'; + +const serializeCause = (cause: unknown, seen = new Set()): SerializedRuntimeCause => { + if (!(cause instanceof Error)) { + return { name: typeof cause, message: String(cause) }; + } + if (seen.has(cause)) { + return { name: cause.name, message: `${cause.message} [circular cause]` }; + } + seen.add(cause); + const nested = 'cause' in cause && cause.cause !== undefined + ? serializeCause(cause.cause, seen) + : undefined; + const errors = cause instanceof AggregateError + ? cause.errors.map((error) => serializeCause(error, seen)) + : undefined; + return { + name: cause.name, + message: cause.message, + ...(cause.stack ? { stack: cause.stack } : {}), + ...(nested ? { cause: nested } : {}), + ...(errors ? { errors } : {}), + }; +}; + +export const makeInMemoryObservability = (): RuntimeObservabilityShape => { + const values = new Map(); + const causes: RuntimeCauseRecord[] = []; + + const keyFor = ( + metric: RuntimeMetric, + attributes?: Readonly>, + ) => { + if (!attributes || Object.keys(attributes).length === 0) return metric; + const suffix = Object.entries(attributes) + .sort(([left], [right]) => left.localeCompare(right)) + .map(([key, value]) => `${key}=${String(value)}`) + .join(','); + return `${metric}{${suffix}}`; + }; + + return { + increment: (metric, value = 1, attributes) => + Effect.sync(() => { + const key = keyFor(metric, attributes); + values.set(key, (values.get(key) ?? 0) + value); + }), + gauge: (metric, value, attributes) => + Effect.sync(() => { + values.set(keyFor(metric, attributes), value); + }), + snapshot: Effect.sync(() => Object.fromEntries(values)), + recordCause: (scope, cause, attributes) => Effect.sync(() => { + causes.push({ + scope, + recordedAt: Date.now(), + ...(attributes ? { attributes } : {}), + cause: serializeCause(cause), + }); + const key = keyFor('cause_failures', { scope, ...attributes }); + values.set(key, (values.get(key) ?? 0) + 1); + }), + causes: Effect.sync(() => causes.map((record) => ({ ...record }))), + }; +}; + +export const InMemoryObservabilityLayer = Layer.sync( + RuntimeObservability, + makeInMemoryObservability, +); + +export const queueMetricsObserver = (observability: RuntimeObservabilityShape) => { + let previousDropped = 0; + let previousFailed = 0; + let previousRateLimited = 0; + return (metrics: { + readonly name: string; + readonly depth: number; + readonly active: number; + readonly dropped: number; + readonly failed: number; + readonly rateLimited: number; + }) => { + const attributes = { queue: metrics.name }; + Effect.runSync(Effect.all([ + observability.gauge('queue_depth', metrics.depth, attributes), + observability.gauge('queue_active', metrics.active, attributes), + observability.gauge('active_fibers', metrics.active, attributes), + observability.increment('queue_drops', Math.max(0, metrics.dropped - previousDropped), attributes), + observability.increment('queue_failures', Math.max(0, metrics.failed - previousFailed), attributes), + observability.increment('rate_decisions', Math.max(0, metrics.rateLimited - previousRateLimited), attributes), + ])); + previousDropped = metrics.dropped; + previousFailed = metrics.failed; + previousRateLimited = metrics.rateLimited; + }; +}; diff --git a/packages/runtime-core/src/runtime-capabilities.ts b/packages/runtime-core/src/runtime-capabilities.ts new file mode 100644 index 000000000..bd037cc2e --- /dev/null +++ b/packages/runtime-core/src/runtime-capabilities.ts @@ -0,0 +1,37 @@ +import { Effect, Layer } from 'effect'; +import { + RuntimeCapabilityError, + type RuntimeCapability, + type RuntimeKind, +} from './errors'; +import { + RuntimeCapabilities, + type RuntimeCapabilitiesShape, +} from './services'; + +export const makeRuntimeCapabilities = ( + runtime: RuntimeKind, + capabilities: Iterable, +): RuntimeCapabilitiesShape => { + const supported = new Set(capabilities); + return { + runtime, + supported, + has: (capability) => supported.has(capability), + require: (capability) => + supported.has(capability) + ? Effect.void + : Effect.fail( + new RuntimeCapabilityError({ + capability, + runtime, + detail: `${runtime} does not provide ${capability}`, + }), + ), + }; +}; + +export const runtimeCapabilitiesLayer = ( + runtime: RuntimeKind, + capabilities: Iterable, +) => Layer.succeed(RuntimeCapabilities, makeRuntimeCapabilities(runtime, capabilities)); diff --git a/packages/runtime-core/src/sandbox.test.ts b/packages/runtime-core/src/sandbox.test.ts new file mode 100644 index 000000000..5370608c9 --- /dev/null +++ b/packages/runtime-core/src/sandbox.test.ts @@ -0,0 +1,22 @@ +import { Cause, Effect } from 'effect'; +import { describe, expect, it } from 'vitest'; +import { captureSandboxCause } from './sandbox'; + +describe('Effect Cause sandboxing', () => { + it('moves a typed failure Cause into the error channel', async () => { + const cause = await Effect.runPromise( + Effect.flip(captureSandboxCause(Effect.fail('typed failure'))), + ); + + expect(Cause.pretty(cause)).toContain('typed failure'); + }); + + it('does not pretend to be a security boundary', async () => { + let externallyVisible = false; + await Effect.runPromise(captureSandboxCause(Effect.sync(() => { + externallyVisible = true; + }))); + + expect(externallyVisible).toBe(true); + }); +}); diff --git a/packages/runtime-core/src/sandbox.ts b/packages/runtime-core/src/sandbox.ts new file mode 100644 index 000000000..b27b56c1b --- /dev/null +++ b/packages/runtime-core/src/sandbox.ts @@ -0,0 +1,64 @@ +import { Context, Effect } from 'effect'; +import type { SandboxExecutionError } from './errors'; + +export type SandboxIsolation = 'worker' | 'process' | 'container'; + +export interface ChatSandboxPolicy { + readonly chats: boolean; + readonly isolation: SandboxIsolation; + readonly timeoutMs: number; + readonly idleTimeoutMs: number; + readonly memoryMb: number; + readonly concurrency: number; + readonly filesystem: 'none' | 'read-only' | 'workspace'; + readonly network: 'none' | 'allowlist'; + readonly networkAllowlist: ReadonlyArray; + readonly env: 'none' | ReadonlyArray; + readonly capabilities: ReadonlyArray; +} + +export const defaultChatSandboxPolicy: ChatSandboxPolicy = { + chats: false, + isolation: 'process', + timeoutMs: 30_000, + idleTimeoutMs: 5 * 60_000, + memoryMb: 256, + concurrency: 1, + filesystem: 'none', + network: 'none', + networkAllowlist: [], + env: 'none', + capabilities: ['sendText'], +}; + +export type SandboxCapabilityHandler = ( + ...args: ReadonlyArray +) => unknown | Promise; + +export type SandboxCapabilityHandlers = Readonly< + Record +>; + +export interface SandboxRequest { + readonly chatId: string; + readonly source: string; + readonly input?: unknown; + readonly policy: ChatSandboxPolicy; + /** Parent-owned capability implementations. Functions never enter the sandbox. */ + readonly capabilityHandlers?: SandboxCapabilityHandlers; +} + +export interface ExecutionSandboxShape { + readonly execute: ( + request: SandboxRequest, + ) => Effect.Effect; + readonly closeChat: (chatId: string) => Effect.Effect; + readonly close: Effect.Effect; +} + +export const ExecutionSandbox = + Context.Service('@open-wa/ExecutionSandbox'); + +/** Cause capture only. This function does not provide a security boundary. */ +export const captureSandboxCause = (effect: Effect.Effect) => + Effect.sandbox(effect); diff --git a/packages/runtime-core/src/scoped-task-queue.test.ts b/packages/runtime-core/src/scoped-task-queue.test.ts new file mode 100644 index 000000000..759a9a447 --- /dev/null +++ b/packages/runtime-core/src/scoped-task-queue.test.ts @@ -0,0 +1,119 @@ +import { describe, expect, it } from 'vitest'; +import { QueueClosedError, QueueOverloadedError, TaskTimeoutError } from './errors'; +import { ScopedTaskQueue } from './scoped-task-queue'; + +const waitUntil = async (predicate: () => boolean): Promise => { + for (let attempt = 0; attempt < 200; attempt += 1) { + if (predicate()) return; + await new Promise((resolve) => setTimeout(resolve, 1)); + } + throw new Error('condition was not met'); +}; + +describe('ScopedTaskQueue', () => { + it('preserves FIFO ordering and reports completion metrics', async () => { + const queue = await ScopedTaskQueue.make({ + name: 'fifo', + capacity: 4, + concurrency: 1, + overload: 'backpressure', + }); + const order: number[] = []; + + const results = await Promise.all( + [1, 2, 3].map((value) => + queue.submit(async () => { + order.push(value); + return value * 2; + }), + ), + ); + + expect(results).toEqual([2, 4, 6]); + expect(order).toEqual([1, 2, 3]); + expect(queue.metrics()).toMatchObject({ + depth: 0, + active: 0, + completed: 3, + failed: 0, + }); + await queue.close(); + }); + + it('rejects work beyond a dropping queue capacity', async () => { + const queue = await ScopedTaskQueue.make({ + name: 'bounded', + capacity: 1, + concurrency: 1, + overload: 'dropping', + }); + let release!: () => void; + const gate = new Promise((resolve) => { + release = resolve; + }); + + const active = queue.submit(() => gate); + await waitUntil(() => queue.metrics().active === 1); + const pending = queue.submit(() => 'pending'); + const dropped = queue.submit(() => 'dropped'); + + await expect(dropped).rejects.toBeInstanceOf(QueueOverloadedError); + release(); + await expect(active).resolves.toBeUndefined(); + await expect(pending).resolves.toBe('pending'); + expect(queue.metrics().dropped).toBe(1); + await queue.close(); + }); + + it('enforces task timeouts', async () => { + const queue = await ScopedTaskQueue.make({ + name: 'timeout', + capacity: 1, + concurrency: 1, + overload: 'backpressure', + timeoutMs: 5, + }); + + await expect( + queue.submit(() => new Promise(() => undefined)), + ).rejects.toBeInstanceOf(TaskTimeoutError); + await queue.close(); + }); + + it('paces work with the declared rate policy and reports the decision', async () => { + const queue = await ScopedTaskQueue.make({ + name: 'rate-limited', + capacity: 2, + concurrency: 1, + overload: 'backpressure', + rate: { limit: 1, intervalMs: 100 }, + }); + + await Promise.all([ + queue.submit(() => 'first'), + queue.submit(() => 'second'), + ]); + + expect(queue.metrics().rateLimited).toBeGreaterThanOrEqual(1); + await queue.close(); + }); + + it('rejects queued and active work when the scope closes', async () => { + const queue = await ScopedTaskQueue.make({ + name: 'shutdown', + capacity: 2, + concurrency: 1, + overload: 'backpressure', + }); + const active = queue.submit(() => new Promise(() => undefined)); + await waitUntil(() => queue.metrics().active === 1); + const pending = queue.submit(() => 'pending'); + await waitUntil(() => queue.metrics().depth === 1); + + await queue.close(); + + await expect(active).rejects.toBeInstanceOf(QueueClosedError); + await expect(pending).rejects.toBeInstanceOf(QueueClosedError); + expect(queue.metrics()).toMatchObject({ closed: true, depth: 0, active: 0 }); + }); +}); diff --git a/packages/runtime-core/src/scoped-task-queue.ts b/packages/runtime-core/src/scoped-task-queue.ts new file mode 100644 index 000000000..3123ab74e --- /dev/null +++ b/packages/runtime-core/src/scoped-task-queue.ts @@ -0,0 +1,292 @@ +import { Cause, Effect, Exit, Queue, Scope } from 'effect'; +import { + QueueClosedError, + QueueOverloadedError, + TaskExecutionError, + TaskTimeoutError, +} from './errors'; + +export type QueueOverloadStrategy = 'backpressure' | 'dropping'; + +export interface QueueRateLimit { + readonly limit: number; + readonly intervalMs: number; +} + +export interface TaskQueuePolicy { + readonly name: string; + readonly capacity: number; + readonly concurrency: number; + readonly overload: QueueOverloadStrategy; + readonly ordering: 'fifo'; + readonly timeoutMs?: number; + readonly rate?: QueueRateLimit; + readonly observe?: (metrics: TaskQueueMetrics) => void; +} + +export interface TaskQueueMetrics { + readonly name: string; + readonly capacity: number; + readonly depth: number; + readonly active: number; + readonly completed: number; + readonly failed: number; + readonly dropped: number; + readonly rateLimited: number; + readonly closed: boolean; +} + +interface QueuedTask { + readonly operation: () => Promise; + readonly resolve: (value: unknown) => void; + readonly reject: (error: unknown) => void; + readonly enqueuedAt: number; + readonly label?: string; +} + +export class ScopedTaskQueue { + private readonly activeTasks = new Set(); + private readonly metricsState: { + depth: number; + active: number; + completed: number; + failed: number; + dropped: number; + rateLimited: number; + closed: boolean; + } = { + depth: 0, + active: 0, + completed: 0, + failed: 0, + dropped: 0, + rateLimited: 0, + closed: false, + }; + + private rateWindowStartedAt = Date.now(); + private rateWindowCount = 0; + + private constructor( + readonly policy: TaskQueuePolicy, + private readonly queue: Queue.Queue, + private readonly scope: Scope.Closeable, + ) {} + + static async make( + policy: Omit & { readonly ordering?: 'fifo' }, + ): Promise { + if (!Number.isInteger(policy.capacity) || policy.capacity < 1) { + throw new RangeError('queue capacity must be a positive integer'); + } + if (!Number.isInteger(policy.concurrency) || policy.concurrency < 1) { + throw new RangeError('queue concurrency must be a positive integer'); + } + if ( + policy.rate && + (!Number.isInteger(policy.rate.limit) || + policy.rate.limit < 1 || + !Number.isFinite(policy.rate.intervalMs) || + policy.rate.intervalMs <= 0) + ) { + throw new RangeError('queue rate limit and interval must be positive'); + } + + const normalized: TaskQueuePolicy = { ...policy, ordering: 'fifo' }; + const scope = await Effect.runPromise(Scope.make()); + const queue = await Effect.runPromise( + normalized.overload === 'dropping' + ? Queue.dropping(normalized.capacity) + : Queue.bounded(normalized.capacity), + ); + const taskQueue = new ScopedTaskQueue(normalized, queue, scope); + + for (let index = 0; index < normalized.concurrency; index += 1) { + await Effect.runPromise( + Effect.forkIn(taskQueue.worker(index), scope), + ); + } + + return taskQueue; + } + + submit(operation: () => Promise | A, label?: string): Promise { + if (this.metricsState.closed) { + return Promise.reject(new QueueClosedError({ queue: this.policy.name })); + } + + return new Promise((resolve, reject) => { + const task: QueuedTask = { + operation: async () => operation(), + resolve: (value) => resolve(value as A), + reject, + enqueuedAt: Date.now(), + label, + }; + + this.metricsState.depth += 1; + this.notifyObserver(); + void Effect.runPromise(Queue.offer(this.queue, task)) + .then((accepted) => { + if (!accepted) { + this.metricsState.depth = Math.max(0, this.metricsState.depth - 1); + this.metricsState.dropped += 1; + this.notifyObserver(); + reject( + new QueueOverloadedError({ + queue: this.policy.name, + capacity: this.policy.capacity, + }), + ); + return; + } + }) + .catch((error) => { + this.metricsState.depth = Math.max(0, this.metricsState.depth - 1); + this.notifyObserver(); + reject( + this.metricsState.closed + ? new QueueClosedError({ queue: this.policy.name }) + : error, + ); + }); + }); + } + + metrics(): TaskQueueMetrics { + return { + name: this.policy.name, + capacity: this.policy.capacity, + ...this.metricsState, + }; + } + + async close(): Promise { + if (this.metricsState.closed) return; + this.metricsState.closed = true; + this.notifyObserver(); + + while (true) { + const result = Queue.takeUnsafe(this.queue); + if (result === undefined) break; + if (Exit.isFailure(result)) continue; + this.metricsState.depth = Math.max(0, this.metricsState.depth - 1); + result.value.reject(new QueueClosedError({ queue: this.policy.name })); + this.notifyObserver(); + } + + for (const task of this.activeTasks) { + task.reject(new QueueClosedError({ queue: this.policy.name })); + } + this.activeTasks.clear(); + this.metricsState.active = 0; + this.notifyObserver(); + + await Effect.runPromise(Queue.shutdown(this.queue)); + await Effect.runPromise(Scope.close(this.scope, Exit.void)); + } + + async waitForIdle(): Promise { + while (this.metricsState.depth > 0 || this.metricsState.active > 0) { + await Effect.runPromise(Effect.sleep(5)); + } + } + + private worker(index: number) { + const self = this; + return Effect.gen(function* () { + while (true) { + const task = yield* Queue.take(self.queue); + self.metricsState.depth = Math.max(0, self.metricsState.depth - 1); + yield* self.reserveRatePermit(); + self.activeTasks.add(task); + self.metricsState.active += 1; + self.notifyObserver(); + + let execution: Effect.Effect< + unknown, + TaskExecutionError | TaskTimeoutError + > = Effect.tryPromise({ + try: task.operation, + catch: (cause) => + new TaskExecutionError({ queue: self.policy.name, cause }), + }); + + if (self.policy.timeoutMs !== undefined) { + execution = execution.pipe( + Effect.timeoutOrElse({ + duration: self.policy.timeoutMs, + orElse: () => + Effect.fail( + new TaskTimeoutError({ + queue: self.policy.name, + timeoutMs: self.policy.timeoutMs!, + }), + ), + }), + ); + } + + const result = yield* Effect.exit( + execution.pipe( + Effect.withSpan(`openwa.queue.${self.policy.name}`, { + attributes: { + 'queue.name': self.policy.name, + 'queue.worker': index, + 'queue.wait_ms': Date.now() - task.enqueuedAt, + ...(task.label ? { 'task.label': task.label } : {}), + }, + }), + ), + ); + + self.activeTasks.delete(task); + self.metricsState.active = Math.max(0, self.metricsState.active - 1); + if (Exit.isSuccess(result)) { + self.metricsState.completed += 1; + task.resolve(result.value); + } else { + self.metricsState.failed += 1; + task.reject(Cause.squash(result.cause)); + } + self.notifyObserver(); + + } + }).pipe(Effect.withSpan(`openwa.queue.worker.${self.policy.name}`)); + } + + private reserveRatePermit(): Effect.Effect { + const rate = this.policy.rate; + if (!rate) return Effect.void; + + const self = this; + return Effect.suspend(() => { + const now = Date.now(); + const elapsed = now - self.rateWindowStartedAt; + + if (elapsed >= rate.intervalMs) { + self.rateWindowStartedAt = now; + self.rateWindowCount = 0; + } + + if (self.rateWindowCount < rate.limit) { + self.rateWindowCount += 1; + return Effect.void; + } + + self.metricsState.rateLimited += 1; + self.notifyObserver(); + return Effect.sleep(Math.max(1, rate.intervalMs - elapsed)).pipe( + Effect.andThen(self.reserveRatePermit()), + ); + }); + } + + private notifyObserver(): void { + try { + this.policy.observe?.(this.metrics()); + } catch { + // Metrics must never change queue delivery semantics. + } + } +} diff --git a/packages/runtime-core/src/services.ts b/packages/runtime-core/src/services.ts new file mode 100644 index 000000000..4c9ed29b4 --- /dev/null +++ b/packages/runtime-core/src/services.ts @@ -0,0 +1,154 @@ +import { Context, Effect, Layer } from 'effect'; +import type { + RuntimeCapability, + RuntimeCapabilityError, + RuntimeKind, + SessionAdmissionError, +} from './errors'; + +export interface RuntimeCapabilitiesShape { + readonly runtime: RuntimeKind; + readonly supported: ReadonlySet; + readonly has: (capability: RuntimeCapability) => boolean; + readonly require: ( + capability: RuntimeCapability, + ) => Effect.Effect; +} + +export const RuntimeCapabilities = + Context.Service('@open-wa/RuntimeCapabilities'); + +export interface BrowserDriverShape { + readonly launch: (options?: unknown) => Effect.Effect; +} + +export const BrowserDriver = + Context.Service('@open-wa/BrowserDriver'); + +export interface BrowserSessionShape { + readonly page: unknown; + readonly close: Effect.Effect; +} + +export const BrowserSession = + Context.Service('@open-wa/BrowserSession'); + +export interface PatchSourceShape { + readonly preload: Effect.Effect; +} + +export const PatchSource = + Context.Service('@open-wa/PatchSource'); + +export interface LicenseServiceShape { + readonly preflight: Effect.Effect; + readonly validate: ( + identity: Identity, + artifact: Artifact | null, + ) => Effect.Effect; +} + +export const LicenseService = + Context.Service('@open-wa/LicenseService'); + +export interface SessionStoreShape { + readonly get: (key: string) => Effect.Effect; + readonly set: (key: string, value: unknown) => Effect.Effect; + readonly remove: (key: string) => Effect.Effect; +} + +export const SessionStore = + Context.Service('@open-wa/SessionStore'); + +export interface PluginRegistryShape { + readonly names: Effect.Effect>; + readonly close: Effect.Effect; +} + +export const PluginRegistry = + Context.Service('@open-wa/PluginRegistry'); + +export interface ChatExecutorShape { + readonly execute: ( + chatId: string, + source: string, + input?: unknown, + ) => Effect.Effect; + readonly closeChat: (chatId: string) => Effect.Effect; +} + +export const ChatExecutor = + Context.Service('@open-wa/ChatExecutor'); + +export interface SessionAdmissionLease { + readonly memoryMb: number; + readonly release: Effect.Effect; +} + +export interface SessionAdmissionShape { + readonly acquire: ( + memoryMb: number, + ) => Effect.Effect; + readonly snapshot: Effect.Effect<{ + readonly capacityMemoryMb: number; + readonly availableMemoryMb: number; + readonly activeSessions: number; + }>; +} + +export const SessionAdmission = + Context.Service('@open-wa/SessionAdmission'); + +export interface RuntimeObservabilityShape { + readonly increment: ( + metric: RuntimeMetric, + value?: number, + attributes?: Readonly>, + ) => Effect.Effect; + readonly gauge: ( + metric: RuntimeMetric, + value: number, + attributes?: Readonly>, + ) => Effect.Effect; + readonly snapshot: Effect.Effect>>; + readonly recordCause: ( + scope: string, + cause: unknown, + attributes?: Readonly>, + ) => Effect.Effect; + readonly causes: Effect.Effect>; +} + +export interface SerializedRuntimeCause { + readonly name: string; + readonly message: string; + readonly stack?: string; + readonly cause?: SerializedRuntimeCause; + readonly errors?: ReadonlyArray; +} + +export interface RuntimeCauseRecord { + readonly scope: string; + readonly recordedAt: number; + readonly attributes?: Readonly>; + readonly cause: SerializedRuntimeCause; +} + +export type RuntimeMetric = + | 'active_fibers' + | 'cause_failures' + | 'queue_active' + | 'queue_depth' + | 'queue_drops' + | 'queue_failures' + | 'rate_decisions' + | 'retry_decisions' + | 'session_browser_memory_mb' + | 'startup_phase_ms' + | 'startup_critical_path_ms'; + +export const RuntimeObservability = + Context.Service('@open-wa/RuntimeObservability'); + +export const serviceLayer = (key: Context.Key, service: S) => + Layer.succeed(key, service); diff --git a/packages/runtime-core/src/session-admission.ts b/packages/runtime-core/src/session-admission.ts new file mode 100644 index 000000000..76e6a3aff --- /dev/null +++ b/packages/runtime-core/src/session-admission.ts @@ -0,0 +1,78 @@ +import { Effect, Layer, Semaphore } from 'effect'; +import { SessionAdmissionError } from './errors'; +import { + SessionAdmission, + type SessionAdmissionShape, + type RuntimeObservabilityShape, +} from './services'; + +export interface SessionAdmissionOptions { + readonly memoryCapacityMb: number; + readonly maxConcurrentLaunches: number; + readonly observability?: RuntimeObservabilityShape; +} + +export const makeSessionAdmission = ( + options: SessionAdmissionOptions, +): Effect.Effect => + Effect.gen(function* () { + const memory = yield* Semaphore.make(options.memoryCapacityMb); + const launches = yield* Semaphore.make(options.maxConcurrentLaunches); + let activeSessions = 0; + let availableMemoryMb = options.memoryCapacityMb; + + return { + acquire: (memoryMb) => + Effect.gen(function* () { + if (memoryMb > options.memoryCapacityMb) { + return yield* Effect.fail( + new SessionAdmissionError({ + requestedMemoryMb: memoryMb, + availableMemoryMb, + }), + ); + } + yield* Semaphore.take(memory, memoryMb); + yield* Semaphore.take(launches, 1); + availableMemoryMb -= memoryMb; + activeSessions += 1; + if (options.observability) { + yield* options.observability.gauge( + 'session_browser_memory_mb', + options.memoryCapacityMb - availableMemoryMb, + ); + } + let released = false; + return { + memoryMb, + release: Effect.suspend(() => { + if (released) return Effect.void; + released = true; + activeSessions = Math.max(0, activeSessions - 1); + availableMemoryMb = Math.min( + options.memoryCapacityMb, + availableMemoryMb + memoryMb, + ); + return Effect.all([ + Semaphore.release(memory, memoryMb), + Semaphore.release(launches, 1), + ...(options.observability + ? [options.observability.gauge( + 'session_browser_memory_mb', + options.memoryCapacityMb - availableMemoryMb, + )] + : []), + ]).pipe(Effect.asVoid); + }), + }; + }), + snapshot: Effect.sync(() => ({ + capacityMemoryMb: options.memoryCapacityMb, + availableMemoryMb, + activeSessions, + })), + }; + }); + +export const sessionAdmissionLayer = (options: SessionAdmissionOptions) => + Layer.effect(SessionAdmission, makeSessionAdmission(options)); diff --git a/packages/runtime-core/src/session-scope.test.ts b/packages/runtime-core/src/session-scope.test.ts new file mode 100644 index 000000000..e03fd2ea0 --- /dev/null +++ b/packages/runtime-core/src/session-scope.test.ts @@ -0,0 +1,112 @@ +import { Effect } from 'effect'; +import { describe, expect, it, vi } from 'vitest'; +import { SessionScope } from './session-scope'; +import { makeInMemoryObservability } from './observability'; + +describe('SessionScope', () => { + it.each([ + 'normal-stop', + 'startup-failure', + 'auth-timeout', + 'browser-crash', + 'plugin-failure', + 'signal', + 'interruption', + ] as const)('releases resources on %s', async (reason) => { + const scope = await SessionScope.make(); + const resourceKinds = [ + 'browser', + 'page', + 'process', + 'plugin', + 'queue', + 'listener', + 'timer', + ] as const; + const releases = new Map(resourceKinds.map((kind) => [kind, 0])); + for (const kind of resourceKinds) { + await scope.addFinalizer(kind, () => { + releases.set(kind, (releases.get(kind) ?? 0) + 1); + }); + } + + await scope.close(reason); + await scope.close(reason); + + expect(Object.fromEntries(releases)).toEqual(Object.fromEntries( + resourceKinds.map((kind) => [kind, 1]), + )); + expect(scope.snapshot().closed).toBe(true); + expect(scope.snapshot().finalizers).toEqual([]); + }); + + it('runs finalizers in reverse acquisition order exactly once', async () => { + const scope = await SessionScope.make(); + const finalized: string[] = []; + await scope.addFinalizer('browser', () => { + finalized.push('browser'); + }); + await scope.addFinalizer('plugin', () => { + finalized.push('plugin'); + }); + + await scope.close('browser-crash'); + await scope.close('normal-stop'); + + expect(finalized).toEqual(['plugin', 'browser']); + expect(scope.snapshot()).toEqual({ closed: true, finalizers: [] }); + }); + + it('allows a finalizer to be removed before shutdown', async () => { + const scope = await SessionScope.make(); + let called = false; + const remove = await scope.addFinalizer('temporary', () => { + called = true; + }); + remove(); + + await scope.close(); + expect(called).toBe(false); + }); + + it('interrupts daemon fibers when the session closes', async () => { + const scope = await SessionScope.make(); + let interrupted = false; + let markStarted!: () => void; + const started = new Promise((resolve) => { + markStarted = resolve; + }); + await scope.fork( + Effect.sync(markStarted).pipe( + Effect.andThen(Effect.never), + Effect.ensuring(Effect.sync(() => { + interrupted = true; + })), + ), + ); + await started; + + await scope.close('interruption'); + + expect(interrupted).toBe(true); + }); + + it('reports actual session-owned fibers until scope interruption', async () => { + const observability = makeInMemoryObservability(); + const scope = await SessionScope.make({ + observability, + metricAttributes: { session: 'test-session' }, + }); + await scope.fork(Effect.never); + + await expect(Effect.runPromise(observability.snapshot)).resolves.toMatchObject({ + 'active_fibers{owner=session-scope,session=test-session}': 1, + }); + await scope.close('interruption'); + await vi.waitFor(async () => expect( + (await Effect.runPromise(observability.snapshot))[ + 'active_fibers{owner=session-scope,session=test-session}' + ], + ).toBe(0)); + }); +}); diff --git a/packages/runtime-core/src/session-scope.ts b/packages/runtime-core/src/session-scope.ts new file mode 100644 index 000000000..e6f91e416 --- /dev/null +++ b/packages/runtime-core/src/session-scope.ts @@ -0,0 +1,99 @@ +import { Effect, Exit, Fiber, Scope } from 'effect'; +import type { RuntimeObservabilityShape } from './services'; + +export type SessionFinalizerReason = + | 'auth-timeout' + | 'browser-crash' + | 'failure' + | 'interruption' + | 'normal-stop' + | 'plugin-failure' + | 'signal' + | 'startup-failure'; + +export class SessionScope { + private readonly finalizerNames = new Set(); + private closed = false; + private activeFibers = 0; + + private constructor( + private readonly scope: Scope.Closeable, + private readonly observability?: RuntimeObservabilityShape, + private readonly metricAttributes: Readonly> = {}, + ) {} + + static async make(options: { + readonly observability?: RuntimeObservabilityShape; + readonly metricAttributes?: Readonly>; + } = {}): Promise { + return new SessionScope( + await Effect.runPromise(Scope.make()), + options.observability, + options.metricAttributes, + ); + } + + async addFinalizer( + name: string, + finalizer: () => void | Promise, + ): Promise<() => void> { + if (this.closed) throw new Error('session scope is already closed'); + this.finalizerNames.add(name); + let active = true; + await Effect.runPromise( + Scope.addFinalizer( + this.scope, + Effect.promise(async () => { + if (!active) return; + active = false; + this.finalizerNames.delete(name); + await finalizer(); + }), + ), + ); + return () => { + active = false; + this.finalizerNames.delete(name); + }; + } + + snapshot() { + return { + closed: this.closed, + finalizers: [...this.finalizerNames], + } as const; + } + + async fork(effect: Effect.Effect): Promise { + if (this.closed) throw new Error('session scope is already closed'); + const fiber = await Effect.runPromise(Effect.forkIn(effect, this.scope)); + this.activeFibers += 1; + this.publishActiveFibers(); + void Effect.runPromise(Fiber.await(fiber)).finally(() => { + this.activeFibers = Math.max(0, this.activeFibers - 1); + this.publishActiveFibers(); + }); + } + + async close(reason: SessionFinalizerReason = 'normal-stop'): Promise { + if (this.closed) return; + this.closed = true; + await Effect.runPromise( + Scope.close( + this.scope, + reason === 'normal-stop' + ? Exit.void + : Exit.fail(new Error(`session scope closed: ${reason}`)), + ), + ); + } + + private publishActiveFibers(): void { + if (!this.observability) return; + Effect.runSync(this.observability.gauge( + 'active_fibers', + this.activeFibers, + { owner: 'session-scope', ...this.metricAttributes }, + )); + } +} diff --git a/packages/runtime-core/src/startup-graph.test.ts b/packages/runtime-core/src/startup-graph.test.ts new file mode 100644 index 000000000..51179cd77 --- /dev/null +++ b/packages/runtime-core/src/startup-graph.test.ts @@ -0,0 +1,68 @@ +import { Deferred, Effect, Exit, Fiber } from 'effect'; +import { describe, expect, it } from 'vitest'; +import { StartupGraphError } from './errors'; +import { runStartupGraph, validateStartupGraph } from './startup-graph'; + +describe('startup graph', () => { + it('starts independent nodes concurrently and waits for dependencies', async () => { + const program = Effect.gen(function* () { + const firstStarted = yield* Deferred.make(); + const secondStarted = yield* Deferred.make(); + const release = yield* Deferred.make(); + const graph = yield* Effect.forkChild( + runStartupGraph([ + { + id: 'first', + run: () => Deferred.succeed(firstStarted, undefined).pipe( + Effect.andThen(Deferred.await(release)), + Effect.as('one'), + ), + }, + { + id: 'second', + run: () => Deferred.succeed(secondStarted, undefined).pipe( + Effect.andThen(Deferred.await(release)), + Effect.as('two'), + ), + }, + { + id: 'dependent', + dependsOn: ['first', 'second'], + run: (completed) => Effect.succeed( + `${completed.get('first')}:${completed.get('second')}`, + ), + }, + ]), + ); + + yield* Deferred.await(firstStarted); + yield* Deferred.await(secondStarted); + yield* Deferred.succeed(release, undefined); + return yield* Fiber.join(graph); + }); + + const result = await Effect.runPromise(program); + expect(result.values.get('dependent')).toBe('one:two'); + expect(result.phases.map((phase) => phase.id)).toEqual([ + 'first', + 'second', + 'dependent', + ]); + }); + + it('rejects cycles before running any nodes', async () => { + const exit = await Effect.runPromise( + Effect.exit( + validateStartupGraph([ + { id: 'a', dependsOn: ['b'], run: () => Effect.void }, + { id: 'b', dependsOn: ['a'], run: () => Effect.void }, + ]), + ), + ); + + expect(Exit.isFailure(exit)).toBe(true); + if (Exit.isFailure(exit)) { + expect(exit.cause.toString()).toContain(StartupGraphError.name); + } + }); +}); diff --git a/packages/runtime-core/src/startup-graph.ts b/packages/runtime-core/src/startup-graph.ts new file mode 100644 index 000000000..2bc697c9f --- /dev/null +++ b/packages/runtime-core/src/startup-graph.ts @@ -0,0 +1,157 @@ +import { Effect } from 'effect'; +import { StartupGraphError } from './errors'; + +export interface StartupNode { + readonly id: string; + readonly dependsOn?: ReadonlyArray; + readonly optional?: boolean; + readonly run: ( + completed: ReadonlyMap, + ) => Effect.Effect; +} + +export interface StartupNodeResult { + readonly id: string; + readonly durationMs: number; + readonly optional: boolean; + readonly result: unknown; +} + +export interface StartupGraphResult { + readonly values: ReadonlyMap; + readonly phases: ReadonlyArray; + readonly criticalPathMs: number; +} + +export const validateStartupGraph = ( + nodes: ReadonlyArray, +): Effect.Effect => + Effect.try({ + try: () => { + const ids = new Set(nodes.map((node) => node.id)); + if (ids.size !== nodes.length) { + throw new StartupGraphError({ + detail: 'startup graph contains duplicate node ids', + nodes: nodes.map((node) => node.id), + }); + } + + for (const node of nodes) { + for (const dependency of node.dependsOn ?? []) { + if (!ids.has(dependency)) { + throw new StartupGraphError({ + detail: `${node.id} depends on missing node ${dependency}`, + nodes: [node.id, dependency], + }); + } + } + } + + const visiting = new Set(); + const visited = new Set(); + const byId = new Map(nodes.map((node) => [node.id, node])); + const visit = (id: string) => { + if (visited.has(id)) return; + if (visiting.has(id)) { + throw new StartupGraphError({ + detail: `startup graph contains a cycle at ${id}`, + nodes: [...visiting, id], + }); + } + visiting.add(id); + for (const dependency of byId.get(id)?.dependsOn ?? []) visit(dependency); + visiting.delete(id); + visited.add(id); + }; + for (const node of nodes) visit(node.id); + }, + catch: (error) => + error instanceof StartupGraphError + ? error + : new StartupGraphError({ + detail: String(error), + nodes: nodes.map((node) => node.id), + }), + }); + +export const runStartupGraph = ( + nodes: ReadonlyArray, + options: { + readonly concurrency?: number; + readonly onPhase?: (phase: StartupNodeResult) => void; + readonly onComplete?: (result: StartupGraphResult) => void; + } = {}, +): Effect.Effect => + Effect.gen(function* () { + yield* validateStartupGraph(nodes); + const startedAt = Date.now(); + const pending = new Map(nodes.map((node) => [node.id, node])); + const values = new Map(); + const phases: StartupNodeResult[] = []; + + while (pending.size > 0) { + const ready = [...pending.values()].filter((node) => + (node.dependsOn ?? []).every((dependency) => values.has(dependency)), + ); + if (ready.length === 0) { + return yield* Effect.fail( + new StartupGraphError({ + detail: 'startup graph made no progress', + nodes: [...pending.keys()], + }), + ); + } + + const results = yield* Effect.all( + ready.map((node) => + Effect.gen(function* () { + const nodeStartedAt = Date.now(); + const exit = yield* Effect.exit( + node.run(values).pipe( + Effect.withSpan(`openwa.startup.${node.id}`, { + attributes: { + 'startup.node': node.id, + 'startup.optional': node.optional ?? false, + }, + }), + ), + ); + return { node, nodeStartedAt, exit } as const; + }), + ), + { concurrency: options.concurrency ?? 4 }, + ); + + for (const { node, nodeStartedAt, exit } of results) { + pending.delete(node.id); + if (exit._tag === 'Failure') { + if (!node.optional) return yield* Effect.failCause(exit.cause); + values.set(node.id, exit); + phases.push({ + id: node.id, + durationMs: Date.now() - nodeStartedAt, + optional: true, + result: exit, + }); + options.onPhase?.(phases.at(-1)!); + continue; + } + values.set(node.id, exit.value); + phases.push({ + id: node.id, + durationMs: Date.now() - nodeStartedAt, + optional: node.optional ?? false, + result: exit.value, + }); + options.onPhase?.(phases.at(-1)!); + } + } + + const result = { + values, + phases, + criticalPathMs: Date.now() - startedAt, + }; + options.onComplete?.(result); + return result; + }); diff --git a/packages/runtime-core/tsconfig.json b/packages/runtime-core/tsconfig.json new file mode 100644 index 000000000..c82479772 --- /dev/null +++ b/packages/runtime-core/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "Bundler", + "lib": ["ES2022", "DOM"], + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "outDir": "./dist", + "rootDir": "./src", + "strict": true, + "skipLibCheck": true, + "composite": true, + "incremental": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist", "**/*.test.ts"] +} diff --git a/packages/runtime-edge/package.json b/packages/runtime-edge/package.json new file mode 100644 index 000000000..48cfb5ad4 --- /dev/null +++ b/packages/runtime-edge/package.json @@ -0,0 +1,23 @@ +{ + "name": "@open-wa/runtime-edge", + "version": "5.0.0-alpha.7", + "description": "Web API Effect runtime Layer for open-wa edge control planes", + "type": "module", + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.mts", + "exports": { ".": { "import": "./dist/index.mjs", "require": "./dist/index.cjs", "types": "./dist/index.d.mts" } }, + "scripts": { + "build": "tsdown src/index.ts --format esm --format cjs", + "test": "vitest run --passWithNoTests", + "lint": "oxlint src", + "typecheck": "tsc --noEmit", + "clean": "rimraf dist" + }, + "dependencies": { + "@open-wa/runtime-core": "workspace:*", + "effect": "catalog:" + }, + "devDependencies": { "@types/node": "catalog:", "typescript": "catalog:", "vitest": "catalog:" }, + "publishConfig": { "access": "public" } +} diff --git a/packages/runtime-edge/src/index.test.ts b/packages/runtime-edge/src/index.test.ts new file mode 100644 index 000000000..eeb5654f4 --- /dev/null +++ b/packages/runtime-edge/src/index.test.ts @@ -0,0 +1,23 @@ +import { RuntimeCapabilities } from '@open-wa/runtime-core'; +import { Effect, Exit } from 'effect'; +import { describe, expect, it } from 'vitest'; +import { EdgeRuntimeLayer } from './index'; + +describe('EdgeRuntimeLayer', () => { + it('exposes Worker capabilities and rejects host-only work', async () => { + const result = await Effect.runPromise( + Effect.gen(function* () { + const capabilities = yield* RuntimeCapabilities; + return { + runtime: capabilities.runtime, + bindings: capabilities.has('worker-bindings'), + filesystem: yield* Effect.exit(capabilities.require('filesystem')), + }; + }).pipe(Effect.provide(EdgeRuntimeLayer)), + ); + + expect(result.runtime).toBe('edge'); + expect(result.bindings).toBe(true); + expect(Exit.isFailure(result.filesystem)).toBe(true); + }); +}); diff --git a/packages/runtime-edge/src/index.ts b/packages/runtime-edge/src/index.ts new file mode 100644 index 000000000..2291a0dd8 --- /dev/null +++ b/packages/runtime-edge/src/index.ts @@ -0,0 +1,16 @@ +import { + InMemoryObservabilityLayer, + runtimeCapabilitiesLayer, +} from '@open-wa/runtime-core'; +import { Layer } from 'effect'; +import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient'; + +export const EdgeRuntimeLayer = Layer.mergeAll( + FetchHttpClient.layer, + runtimeCapabilitiesLayer('edge', [ + 'browser-client', + 'web-fetch', + 'worker-bindings', + ]), + InMemoryObservabilityLayer, +); diff --git a/packages/runtime-edge/tsconfig.json b/packages/runtime-edge/tsconfig.json new file mode 100644 index 000000000..26231de62 --- /dev/null +++ b/packages/runtime-edge/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../runtime-core/tsconfig.json", "compilerOptions": { "rootDir": "./src", "outDir": "./dist" }, "include": ["src/**/*"] } diff --git a/packages/runtime-node/package.json b/packages/runtime-node/package.json new file mode 100644 index 000000000..7387345f1 --- /dev/null +++ b/packages/runtime-node/package.json @@ -0,0 +1,24 @@ +{ + "name": "@open-wa/runtime-node", + "version": "5.0.0-alpha.7", + "description": "Node Effect runtime Layer for open-wa", + "type": "module", + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.mts", + "exports": { ".": { "import": "./dist/index.mjs", "require": "./dist/index.cjs", "types": "./dist/index.d.mts" } }, + "scripts": { + "build": "tsdown src/index.ts --format esm --format cjs", + "test": "vitest run --passWithNoTests", + "lint": "oxlint src", + "typecheck": "tsc --noEmit", + "clean": "rimraf dist" + }, + "dependencies": { + "@effect/platform-node": "catalog:", + "@open-wa/runtime-core": "workspace:*", + "effect": "catalog:" + }, + "devDependencies": { "@types/node": "catalog:", "typescript": "catalog:", "vitest": "catalog:" }, + "publishConfig": { "access": "public" } +} diff --git a/packages/runtime-node/src/execution-sandbox.test.ts b/packages/runtime-node/src/execution-sandbox.test.ts new file mode 100644 index 000000000..c88367e9e --- /dev/null +++ b/packages/runtime-node/src/execution-sandbox.test.ts @@ -0,0 +1,169 @@ +import { Effect } from 'effect'; +import { describe, expect, it, vi } from 'vitest'; +import { defaultChatSandboxPolicy } from '@open-wa/runtime-core'; +import { makeNodeExecutionSandbox } from './execution-sandbox'; + +describe('Node execution sandbox', () => { + it('executes serializable functions in a separate permissioned process', async () => { + const sandbox = makeNodeExecutionSandbox(); + const result = await Effect.runPromise(sandbox.execute({ + chatId: 'chat-1', + source: '(input) => ({ doubled: input.value * 2, processType: typeof process })', + input: { value: 21 }, + policy: { ...defaultChatSandboxPolicy, chats: true, timeoutMs: 2_000 }, + })); + + expect(result).toEqual({ doubled: 42, processType: 'undefined' }); + await Effect.runPromise(sandbox.close); + }); + + it('supports memory-limited worker isolation', async () => { + const sandbox = makeNodeExecutionSandbox(); + const result = await Effect.runPromise(sandbox.execute({ + chatId: 'chat-worker', + source: '(input) => input.message.toUpperCase()', + input: { message: 'isolated' }, + policy: { + ...defaultChatSandboxPolicy, + chats: true, + isolation: 'worker', + timeoutMs: 2_000, + memoryMb: 64, + }, + })); + + expect(result).toBe('ISOLATED'); + await Effect.runPromise(sandbox.close); + }); + + it.each(['process', 'worker'] as const)( + 'brokers explicitly allowed capabilities from %s isolation', + async (isolation) => { + const sendText = vi.fn(async (chatId: unknown, text: unknown) => ({ chatId, text })); + const sandbox = makeNodeExecutionSandbox(); + const result = await Effect.runPromise(sandbox.execute({ + chatId: `chat-capability-${isolation}`, + source: '(input, capabilities) => capabilities.call("sendText", input.chatId, "hello")', + input: { chatId: '123@c.us' }, + capabilityHandlers: { sendText }, + policy: { + ...defaultChatSandboxPolicy, + chats: true, + isolation, + timeoutMs: 2_000, + capabilities: ['sendText'], + }, + })); + + expect(result).toEqual({ chatId: '123@c.us', text: 'hello' }); + expect(sendText).toHaveBeenCalledWith('123@c.us', 'hello'); + await Effect.runPromise(sandbox.close); + }, + ); + + it('denies parent capabilities that are absent from the chat policy', async () => { + const sendFile = vi.fn(async () => 'should-not-run'); + const sandbox = makeNodeExecutionSandbox(); + const exit = await Effect.runPromise(Effect.exit(sandbox.execute({ + chatId: 'chat-denied-capability', + source: '(_input, capabilities) => capabilities.call("sendFile", "secret")', + capabilityHandlers: { sendFile }, + policy: { + ...defaultChatSandboxPolicy, + chats: true, + timeoutMs: 2_000, + capabilities: ['sendText'], + }, + }))); + + expect(exit._tag).toBe('Failure'); + expect(sendFile).not.toHaveBeenCalled(); + await Effect.runPromise(sandbox.close); + }); + + it('kills executions that exceed their policy timeout', async () => { + const sandbox = makeNodeExecutionSandbox(); + const exit = await Effect.runPromise(Effect.exit(sandbox.execute({ + chatId: 'chat-timeout', + source: '() => new Promise(() => {})', + policy: { ...defaultChatSandboxPolicy, chats: true, timeoutMs: 25 }, + }))); + + expect(exit._tag).toBe('Failure'); + await Effect.runPromise(sandbox.close); + }); + + it('blocks ambient process, require, and string code generation in process mode', async () => { + const sandbox = makeNodeExecutionSandbox(); + const result = await Effect.runPromise(sandbox.execute({ + chatId: 'chat-escape', + source: `() => ({ + process: typeof process, + require: typeof require, + constructorEscape: (() => { + try { return Function('return process')(); } + catch { return 'blocked'; } + })() + })`, + policy: { ...defaultChatSandboxPolicy, chats: true, timeoutMs: 2_000 }, + })); + + expect(result).toEqual({ + process: 'undefined', + require: 'undefined', + constructorEscape: 'blocked', + }); + await Effect.runPromise(sandbox.close); + }); + + it('terminates process output that exceeds its resource policy', async () => { + const sandbox = makeNodeExecutionSandbox({ maxOutputBytes: 128 }); + const exit = await Effect.runPromise(Effect.exit(sandbox.execute({ + chatId: 'chat-output-limit', + source: `() => 'x'.repeat(4096)`, + policy: { ...defaultChatSandboxPolicy, chats: true, timeoutMs: 2_000 }, + }))); + + expect(exit._tag).toBe('Failure'); + await Effect.runPromise(sandbox.close); + }); + + it('fails closed when a non-container policy requests host access', async () => { + const sandbox = makeNodeExecutionSandbox(); + const exit = await Effect.runPromise(Effect.exit(sandbox.execute({ + chatId: 'chat-policy', + source: '() => true', + policy: { + ...defaultChatSandboxPolicy, + chats: true, + network: 'allowlist', + networkAllowlist: ['api.example.test'], + }, + }))); + + expect(exit._tag).toBe('Failure'); + await Effect.runPromise(sandbox.close); + }); + + it('passes the exact container allowlist to the network policy adapter', async () => { + const policyAdapter = vi.fn(async () => { + throw new Error('adapter verified'); + }); + const sandbox = makeNodeExecutionSandbox({ containerNetworkPolicy: policyAdapter }); + const exit = await Effect.runPromise(Effect.exit(sandbox.execute({ + chatId: 'chat-container-network', + source: '() => true', + policy: { + ...defaultChatSandboxPolicy, + chats: true, + isolation: 'container', + network: 'allowlist', + networkAllowlist: ['api.example.test', 'cdn.example.test'], + }, + }))); + + expect(exit._tag).toBe('Failure'); + expect(policyAdapter).toHaveBeenCalledWith(['api.example.test', 'cdn.example.test']); + await Effect.runPromise(sandbox.close); + }); +}); diff --git a/packages/runtime-node/src/execution-sandbox.ts b/packages/runtime-node/src/execution-sandbox.ts new file mode 100644 index 000000000..4060d2a9b --- /dev/null +++ b/packages/runtime-node/src/execution-sandbox.ts @@ -0,0 +1,455 @@ +import { spawn, type ChildProcess } from 'node:child_process'; +import { Worker } from 'node:worker_threads'; +import { + SandboxExecutionError, + ScopedTaskQueue, + type ExecutionSandboxShape, + type SandboxRequest, +} from '@open-wa/runtime-core'; +import { Effect } from 'effect'; + +const SANDBOX_PROGRAM = String.raw` +const { createInterface } = await import('node:readline'); +const { default: vm } = await import('node:vm'); +const lines = createInterface({ input: process.stdin }); +const responses = new Map(); +let receiveInitial; +const initial = new Promise((resolve) => { receiveInitial = resolve; }); +lines.on('line', (line) => { + const message = JSON.parse(line); + if (message.type === 'init') receiveInitial(message.request); + if (message.type === 'capability-result') { + const pending = responses.get(message.id); + responses.delete(message.id); + if (message.ok) pending?.resolve(message.value); + else pending?.reject(new Error(message.error)); + } +}); +let capabilityId = 0; +const capabilities = Object.freeze({ + call(name, ...args) { + const id = ++capabilityId; + const result = new Promise((resolve, reject) => responses.set(id, { resolve, reject })); + process.stdout.write(JSON.stringify({ type: 'capability', id, name, args }) + '\n'); + return result; + } +}); +try { + const request = await initial; + const context = vm.createContext(Object.assign(Object.create(null), { + input: structuredClone(request.input), + capabilities, + console: Object.freeze({ log() {}, warn() {}, error() {} }), + TextEncoder, + TextDecoder, + }), { codeGeneration: { strings: false, wasm: false } }); + const script = new vm.Script('Promise.resolve((' + request.source + ')(input, capabilities))'); + const value = await script.runInContext(context, { timeout: request.syncTimeoutMs }); + process.stdout.write(JSON.stringify({ type: 'result', ok: true, value }) + '\n'); +} catch (error) { + process.stdout.write(JSON.stringify({ type: 'result', ok: false, error: error instanceof Error ? error.message : String(error) }) + '\n'); + process.exitCode = 1; +} +lines.close(); +process.stdin.pause(); +process.stdin.unref(); +`; + +const WORKER_PROGRAM = String.raw` +const { parentPort, workerData } = require('node:worker_threads'); +const vm = require('node:vm'); +const responses = new Map(); +let capabilityId = 0; +parentPort.on('message', (message) => { + if (message.type !== 'capability-result') return; + const pending = responses.get(message.id); + responses.delete(message.id); + if (message.ok) pending?.resolve(message.value); + else pending?.reject(new Error(message.error)); +}); +const capabilities = Object.freeze({ + call(name, ...args) { + const id = ++capabilityId; + const result = new Promise((resolve, reject) => responses.set(id, { resolve, reject })); + parentPort.postMessage({ type: 'capability', id, name, args }); + return result; + } +}); +(async () => { + try { + const context = vm.createContext(Object.assign(Object.create(null), { + input: structuredClone(workerData.input), + capabilities, + console: Object.freeze({ log() {}, warn() {}, error() {} }), + TextEncoder, + TextDecoder, + }), { codeGeneration: { strings: false, wasm: false } }); + const script = new vm.Script('Promise.resolve((' + workerData.source + ')(input, capabilities))'); + const value = await script.runInContext(context, { timeout: workerData.syncTimeoutMs }); + parentPort.postMessage({ type: 'result', ok: true, value }); + } catch (error) { + parentPort.postMessage({ type: 'result', ok: false, error: error instanceof Error ? error.message : String(error) }); + } +})(); +`; + +export interface NodeExecutionSandboxOptions { + readonly containerCommand?: string; + readonly containerImage?: string; + readonly workspacePath?: string; + readonly maxOutputBytes?: number; + /** Converts an allowlist into runtime-specific container network arguments. */ + readonly containerNetworkPolicy?: ( + allowlist: ReadonlyArray, + ) => ReadonlyArray | Promise>; +} + +interface SandboxReply { + readonly type: 'result'; + readonly ok: boolean; + readonly value?: unknown; + readonly error?: string; +} + +interface CapabilityRequest { + readonly type: 'capability'; + readonly id: number; + readonly name: string; + readonly args: ReadonlyArray; +} + +type SandboxMessage = SandboxReply | CapabilityRequest; + +export const makeNodeExecutionSandbox = ( + options: NodeExecutionSandboxOptions = {}, +): ExecutionSandboxShape => { + const queues = new Map>(); + const idleTimers = new Map>(); + const children = new Map>(); + let closed = false; + + const validatePolicy = (request: SandboxRequest): void => { + if ( + request.policy.isolation !== 'container' && + ( + request.policy.filesystem !== 'none' || + request.policy.network !== 'none' || + request.policy.env !== 'none' + ) + ) { + throw new Error( + `${request.policy.isolation} isolation only supports filesystem=none, network=none, and env=none; use a container policy for host access`, + ); + } + }; + + const track = (chatId: string, child: A): A => { + const active = children.get(chatId) ?? new Set(); + active.add(child); + children.set(chatId, active); + return child; + }; + + const untrack = (chatId: string, child: ChildProcess | Worker) => { + const active = children.get(chatId); + active?.delete(child); + if (active?.size === 0) children.delete(chatId); + }; + + const processReply = (request: SandboxRequest, reply: SandboxReply): unknown => { + if (!reply.ok) throw new Error(reply.error ?? 'sandbox execution failed'); + return reply.value; + }; + + const runCapability = async ( + request: SandboxRequest, + message: CapabilityRequest, + ): Promise<{ type: 'capability-result'; id: number; ok: boolean; value?: unknown; error?: string }> => { + if (!request.policy.capabilities.includes(message.name)) { + return { + type: 'capability-result', + id: message.id, + ok: false, + error: `sandbox capability "${message.name}" is not allowed`, + }; + } + const handler = request.capabilityHandlers?.[message.name]; + if (!handler) { + return { + type: 'capability-result', + id: message.id, + ok: false, + error: `sandbox capability "${message.name}" is unavailable`, + }; + } + try { + return { + type: 'capability-result', + id: message.id, + ok: true, + value: await handler(...message.args), + }; + } catch (error) { + return { + type: 'capability-result', + id: message.id, + ok: false, + error: error instanceof Error ? error.message : String(error), + }; + } + }; + + const consumeProtocolLine = async ( + request: SandboxRequest, + line: string, + send: (message: object) => void, + ): Promise => { + const message = JSON.parse(line) as SandboxMessage; + if (message.type === 'result') return message; + send(await runCapability(request, message)); + return undefined; + }; + + const runProcess = (request: SandboxRequest): Promise => + new Promise((resolve, reject) => { + const args = [ + `--max-old-space-size=${request.policy.memoryMb}`, + '--permission', + '--input-type=module', + '--eval', + SANDBOX_PROGRAM, + ]; + const env = request.policy.env === 'none' + ? {} + : Object.fromEntries(request.policy.env.flatMap((key) => + process.env[key] === undefined ? [] : [[key, process.env[key]!]], + )); + const child = track(request.chatId, spawn(process.execPath, args, { + env, + stdio: ['pipe', 'pipe', 'pipe'], + timeout: request.policy.timeoutMs, + windowsHide: true, + })); + let stdout = ''; + let stderr = ''; + let outputExceeded = false; + let reply: SandboxReply | undefined; + let protocol = Promise.resolve(); + const maxOutput = options.maxOutputBytes ?? 1024 * 1024; + + child.stdout?.on('data', (chunk) => { + stdout += chunk.toString(); + if (stdout.length > maxOutput) { + outputExceeded = true; + child.kill(); + } + const lines = stdout.split('\n'); + stdout = lines.pop() ?? ''; + for (const line of lines) { + if (!line) continue; + protocol = protocol.then(async () => { + reply = await consumeProtocolLine(request, line, (message) => { + child.stdin?.write(`${JSON.stringify(message)}\n`); + }) ?? reply; + }); + } + }); + child.stderr?.on('data', (chunk) => { + stderr += chunk.toString(); + if (stderr.length > maxOutput) { + outputExceeded = true; + child.kill(); + } + }); + child.once('error', reject); + child.once('close', async () => { + untrack(request.chatId, child); + if (outputExceeded) { + reject(new Error(`sandbox output exceeded ${maxOutput} bytes`)); + return; + } + try { + if (stdout.trim()) { + reply = await consumeProtocolLine(request, stdout, () => undefined) ?? reply; + } + await protocol; + if (!reply) throw new Error('sandbox returned no result'); + resolve(processReply(request, reply)); + } catch (error) { + reject(new Error(stderr || (error instanceof Error ? error.message : String(error)))); + } + }); + child.stdin?.write(`${JSON.stringify({ + type: 'init', + request: { + source: request.source, + input: request.input, + syncTimeoutMs: request.policy.timeoutMs, + }, + })}\n`); + }); + + const runWorker = (request: SandboxRequest): Promise => + new Promise((resolve, reject) => { + const worker = track(request.chatId, new Worker(WORKER_PROGRAM, { + eval: true, + workerData: { + source: request.source, + input: request.input, + syncTimeoutMs: request.policy.timeoutMs, + }, + resourceLimits: { maxOldGenerationSizeMb: request.policy.memoryMb }, + })); + const timer = setTimeout(() => void worker.terminate(), request.policy.timeoutMs); + worker.on('message', (message: SandboxMessage) => { + if (message.type === 'capability') { + void runCapability(request, message).then((reply) => worker.postMessage(reply)); + return; + } + clearTimeout(timer); + untrack(request.chatId, worker); + void worker.terminate(); + try { + resolve(processReply(request, message)); + } catch (error) { + reject(error); + } + }); + worker.once('error', reject); + worker.once('exit', (code) => { + clearTimeout(timer); + untrack(request.chatId, worker); + if (code !== 0) reject(new Error(`sandbox worker exited with code ${code}`)); + }); + }); + + const runContainer = async (request: SandboxRequest): Promise => { + const networkArgs = request.policy.network === 'allowlist' + ? await options.containerNetworkPolicy?.(request.policy.networkAllowlist) + : ['--network=none']; + if (!networkArgs) { + throw new Error('container network allowlists require a network policy adapter'); + } + return new Promise((resolve, reject) => { + const command = options.containerCommand ?? 'docker'; + const args = [ + 'run', '--rm', '-i', ...networkArgs, '--read-only', + `--memory=${request.policy.memoryMb}m`, '--cpus=1', '--pids-limit=64', + '--tmpfs', '/tmp:rw,noexec,nosuid,size=16m', + ]; + if (request.policy.filesystem !== 'none') { + const workspace = options.workspacePath ?? process.cwd(); + args.push('--mount', `type=bind,src=${workspace},dst=/workspace${request.policy.filesystem === 'read-only' ? ',readonly' : ''}`); + } + if (request.policy.env !== 'none') { + for (const key of request.policy.env) { + if (process.env[key] !== undefined) args.push('--env', `${key}=${process.env[key]}`); + } + } + args.push(options.containerImage ?? 'node:22-alpine', 'node', '--input-type=module', '--eval', SANDBOX_PROGRAM); + + const child = track(request.chatId, spawn(command, args, { + stdio: ['pipe', 'pipe', 'pipe'], + timeout: request.policy.timeoutMs, + windowsHide: true, + })); + let stdout = ''; + let stderr = ''; + let reply: SandboxReply | undefined; + let protocol = Promise.resolve(); + child.stdout?.on('data', (chunk) => { + stdout += chunk.toString(); + const lines = stdout.split('\n'); + stdout = lines.pop() ?? ''; + for (const line of lines) { + if (!line) continue; + protocol = protocol.then(async () => { + reply = await consumeProtocolLine(request, line, (message) => { + child.stdin?.write(`${JSON.stringify(message)}\n`); + }) ?? reply; + }); + } + }); + child.stderr?.on('data', (chunk) => { stderr += chunk.toString(); }); + child.once('error', reject); + child.once('close', async () => { + untrack(request.chatId, child); + try { + if (stdout.trim()) { + reply = await consumeProtocolLine(request, stdout, () => undefined) ?? reply; + } + await protocol; + if (!reply) throw new Error('sandbox returned no result'); + resolve(processReply(request, reply)); + } catch (error) { + reject(new Error(stderr || (error instanceof Error ? error.message : String(error)))); + } + }); + child.stdin?.write(`${JSON.stringify({ + type: 'init', + request: { + source: request.source, + input: request.input, + syncTimeoutMs: request.policy.timeoutMs, + }, + })}\n`); + }); + }; + + const closeChat = (chatId: string) => Effect.promise(async () => { + const timer = idleTimers.get(chatId); + if (timer) clearTimeout(timer); + idleTimers.delete(chatId); + const queue = queues.get(chatId); + queues.delete(chatId); + for (const child of children.get(chatId) ?? []) { + if (child instanceof Worker) await child.terminate(); + else child.kill(); + } + children.delete(chatId); + if (queue) await (await queue).close(); + }); + + return { + execute: (request) => Effect.tryPromise({ + try: async () => { + if (closed) throw new Error('execution sandbox is closed'); + if (!request.policy.chats) throw new Error('chat sandboxing is disabled'); + validatePolicy(request); + const queue = queues.get(request.chatId) ?? ScopedTaskQueue.make({ + name: `sandbox.chat.${request.chatId}`, + capacity: 64, + concurrency: request.policy.concurrency, + overload: 'backpressure', + timeoutMs: request.policy.timeoutMs + 1000, + }); + queues.set(request.chatId, queue); + const timer = idleTimers.get(request.chatId); + if (timer) clearTimeout(timer); + + const value = await (await queue).submit(() => { + switch (request.policy.isolation) { + case 'worker': return runWorker(request); + case 'container': return runContainer(request); + default: return runProcess(request); + } + }); + idleTimers.set(request.chatId, setTimeout( + () => void Effect.runPromise(closeChat(request.chatId)), + request.policy.idleTimeoutMs, + )); + return value; + }, + catch: (cause) => new SandboxExecutionError({ + chatId: request.chatId, + isolation: request.policy.isolation, + cause, + }), + }), + closeChat, + close: Effect.promise(async () => { + closed = true; + await Promise.all([...queues.keys()].map((chatId) => Effect.runPromise(closeChat(chatId)))); + }), + }; +}; diff --git a/packages/runtime-node/src/index.test.ts b/packages/runtime-node/src/index.test.ts new file mode 100644 index 000000000..6695385a0 --- /dev/null +++ b/packages/runtime-node/src/index.test.ts @@ -0,0 +1,19 @@ +import { RuntimeCapabilities } from '@open-wa/runtime-core'; +import { Effect } from 'effect'; +import { describe, expect, it } from 'vitest'; +import { NodeRuntimeLayer } from './index'; + +describe('NodeRuntimeLayer', () => { + it('runs a portable capability program with Node services', async () => { + const result = await Effect.runPromise( + Effect.gen(function* () { + const capabilities = yield* RuntimeCapabilities; + yield* capabilities.require('filesystem'); + yield* capabilities.require('chromium-launch'); + return capabilities.runtime; + }).pipe(Effect.provide(NodeRuntimeLayer)), + ); + + expect(result).toBe('node'); + }); +}); diff --git a/packages/runtime-node/src/index.ts b/packages/runtime-node/src/index.ts new file mode 100644 index 000000000..a7bed0d9d --- /dev/null +++ b/packages/runtime-node/src/index.ts @@ -0,0 +1,23 @@ +import { NodeHttpClient, NodeServices } from '@effect/platform-node'; +import { + InMemoryObservabilityLayer, + runtimeCapabilitiesLayer, +} from '@open-wa/runtime-core'; +import { Layer } from 'effect'; + +export const NodeRuntimeLayer = Layer.mergeAll( + NodeServices.layer, + NodeHttpClient.layerUndici, + runtimeCapabilitiesLayer('node', [ + 'browser-client', + 'chromium-launch', + 'filesystem', + 'process', + 'web-fetch', + ]), + InMemoryObservabilityLayer, +); + +export { NodeRuntime } from '@effect/platform-node'; +export * from './execution-sandbox'; +export * from './memory-observability'; diff --git a/packages/runtime-node/src/memory-observability.test.ts b/packages/runtime-node/src/memory-observability.test.ts new file mode 100644 index 000000000..54ac84428 --- /dev/null +++ b/packages/runtime-node/src/memory-observability.test.ts @@ -0,0 +1,15 @@ +import { describe, expect, it } from 'vitest'; +import { parseProcessMemoryRows, sumProcessTreeRssMb } from './memory-observability'; + +describe('browser process-tree memory', () => { + it('includes the browser root and all descendants but excludes unrelated processes', () => { + const rows = parseProcessMemoryRows(` + 100 1 10240 + 101 100 5120 + 102 101 2048 + 200 1 99999 + `); + + expect(sumProcessTreeRssMb(100, rows)).toBe(17); + }); +}); diff --git a/packages/runtime-node/src/memory-observability.ts b/packages/runtime-node/src/memory-observability.ts new file mode 100644 index 000000000..db1b58972 --- /dev/null +++ b/packages/runtime-node/src/memory-observability.ts @@ -0,0 +1,95 @@ +import type { RuntimeObservabilityShape } from '@open-wa/runtime-core'; +import { execFile } from 'node:child_process'; +import { Effect } from 'effect'; + +interface ProcessMemoryRow { + readonly pid: number; + readonly parentPid: number; + readonly rssKb: number; +} + +export const parseProcessMemoryRows = (output: string): ReadonlyArray => + output.split('\n').flatMap((line) => { + const value = line.trim(); + if (!value) return []; + const [pid, parentPid, rssKb] = value.split(/\s+/).map(Number); + return Number.isFinite(pid) && Number.isFinite(parentPid) && Number.isFinite(rssKb) + ? [{ pid: pid!, parentPid: parentPid!, rssKb: rssKb! }] + : []; + }); + +export const sumProcessTreeRssMb = ( + rootPid: number, + rows: ReadonlyArray, +): number => { + const included = new Set([rootPid]); + let changed = true; + while (changed) { + changed = false; + for (const row of rows) { + if (included.has(row.parentPid) && !included.has(row.pid)) { + included.add(row.pid); + changed = true; + } + } + } + const rssKb = rows.reduce( + (total, row) => total + (included.has(row.pid) ? row.rssKb : 0), + 0, + ); + return rssKb / 1024; +}; + +export const readProcessTreeRssMb = (rootPid: number): Promise => + new Promise((resolve, reject) => { + execFile('ps', ['-axo', 'pid=,ppid=,rss='], { maxBuffer: 4 * 1024 * 1024 }, (error, stdout) => { + if (error) { + reject(error); + return; + } + resolve(sumProcessTreeRssMb(rootPid, parseProcessMemoryRows(stdout))); + }); + }); + +export const sampleMemory = ( + observability: RuntimeObservabilityShape, + readMemoryMb: () => number | Promise, + attributes: Readonly> = {}, +) => Effect.tryPromise(() => Promise.resolve(readMemoryMb())).pipe( + Effect.flatMap((memoryMb) => + observability.gauge('session_browser_memory_mb', memoryMb, attributes), + ), +); + +export const observeMemory = ( + observability: RuntimeObservabilityShape, + readMemoryMb: () => number | Promise, + options: { + readonly intervalMs?: number; + readonly attributes?: Readonly>; + } = {}, +) => sampleMemory(observability, readMemoryMb, options.attributes).pipe( + Effect.andThen(Effect.sleep(options.intervalMs ?? 5_000)), + Effect.forever(), +); + +export const observeBrowserProcessMemory = ( + observability: RuntimeObservabilityShape, + getBrowserProcessId: () => number | undefined, + options: { + readonly intervalMs?: number; + readonly attributes?: Readonly>; + } = {}, +) => Effect.suspend(() => { + const processId = getBrowserProcessId(); + return processId === undefined + ? Effect.void + : sampleMemory( + observability, + () => readProcessTreeRssMb(processId), + { source: 'browser-process-tree-rss', ...options.attributes }, + ); +}).pipe( + Effect.andThen(Effect.sleep(options.intervalMs ?? 5_000)), + Effect.forever(), +); diff --git a/packages/runtime-node/tsconfig.json b/packages/runtime-node/tsconfig.json new file mode 100644 index 000000000..26231de62 --- /dev/null +++ b/packages/runtime-node/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../runtime-core/tsconfig.json", "compilerOptions": { "rootDir": "./src", "outDir": "./dist" }, "include": ["src/**/*"] } diff --git a/packages/schema/package.json b/packages/schema/package.json index 3b1d789bd..ee666d9d1 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -72,11 +72,11 @@ "ci": "pnpm verify && pnpm test:contracts && pnpm build" }, "dependencies": { - "@asteasolutions/zod-to-openapi": "^8.5.0", + "@asteasolutions/zod-to-openapi": "^9.1.0", "@open-wa/config": "workspace:*", "@open-wa/utils": "workspace:*", "zod": "catalog:", - "zod-to-json-schema": "^3.22.3" + "zod-to-json-schema": "^3.25.2" }, "devDependencies": { "ts-node": "catalog:", diff --git a/packages/schema/src/__tests__/generators.contract.test.ts b/packages/schema/src/__tests__/generators.contract.test.ts index 48543214c..fcdfb5185 100644 --- a/packages/schema/src/__tests__/generators.contract.test.ts +++ b/packages/schema/src/__tests__/generators.contract.test.ts @@ -119,12 +119,15 @@ describe('generator outputs', () => { it('should create one generated MDX page per namespace', () => { const namespaces = Array.from(new Set(clientRegistry.getAll().map((def) => def.meta.namespace || 'core'))).sort(); - const mdxFiles = fs - .readdirSync(clientDocsDir) - .filter((fileName) => fileName.endsWith('.mdx') && fileName !== 'index.mdx' && fileName !== 'client.mdx') - .sort(); - - expect(mdxFiles).toEqual(namespaces.map((namespace) => `${namespace.toLowerCase()}.mdx`)); + const generatedFiles = namespaces.map((namespace) => `${namespace.toLowerCase()}.mdx`); + + for (const fileName of generatedFiles) { + const filePath = path.join(clientDocsDir, fileName); + expect(fs.existsSync(filePath), `${fileName} should exist`).toBe(true); + expect(fs.readFileSync(filePath, 'utf-8')).toContain( + 'packages/schema/scripts/gen-client-reference-docs.ts', + ); + } }); it('should include sendText method details from the schema registry', () => { @@ -145,12 +148,13 @@ describe('generator outputs', () => { expect(content).toContain('| Primary | `POST` | `/api/messages/sendText` | `sendText` | Active |'); expect(content).toContain('| Alias | `POST` | `/api/sendText` | `sendText` | Active |'); expect(content).toContain('### Usage'); - expect(content).toContain(''); - expect(content).toContain(''); + expect(content).toContain(''); + expect(content).toContain(''); expect(content).toContain('const result = await client.sendText({'); - expect(content).toContain(''); - expect(content).toContain('const result = await client.messages.sendText({'); - expect(content).toContain(''); + expect(content).toContain('// namespaced form: client.messages.sendText(...)'); + expect(content).toContain(''); + expect(content).toContain("import { SocketClient } from '@open-wa/socket-client';"); + expect(content).toContain(''); expect(content).toContain('curl -X POST "http://localhost:8080/api/messages/sendText"'); expect(content).toContain('### Parameters'); expect(content).toContain(''); diff --git a/packages/schema/src/events/registry.ts b/packages/schema/src/events/registry.ts index a3c09ed19..aa72aba60 100644 --- a/packages/schema/src/events/registry.ts +++ b/packages/schema/src/events/registry.ts @@ -1,8 +1,18 @@ import { z } from 'zod'; -import { Options as PQueueOptions, DefaultAddOptions } from 'p-queue'; -import PriorityQueue from 'p-queue/dist/priority-queue'; import { LicenseTier } from '../enums'; +export type QueueOverloadStrategy = 'backpressure' | 'dropping'; + +export interface QueueOptions { + concurrency?: number; + capacity?: number; + overload?: QueueOverloadStrategy; + ordering?: 'fifo'; + intervalCap?: number; + interval?: number; + timeout?: number; +} + export type EventStatus = 'stable' | 'beta' | 'deprecated' | 'experimental'; export interface EventMetadata { @@ -15,7 +25,7 @@ export interface EventMetadata { license?: LicenseTier; since?: string; payloadSchema: z.ZodTypeAny; - defaultQueueOptions?: PQueueOptions; + defaultQueueOptions?: QueueOptions; } export interface EventDefinition { @@ -69,22 +79,22 @@ export const eventRegistry = { }; export const QueueOptionsSchema = z.object({ - concurrency: z.number().positive().optional(), - intervalCap: z.number().positive().optional(), + concurrency: z.number().int().positive().optional(), + capacity: z.number().int().positive().optional(), + overload: z.enum(['backpressure', 'dropping']).optional(), + ordering: z.literal('fifo').optional(), + intervalCap: z.number().int().positive().optional(), interval: z.number().positive().optional(), timeout: z.number().positive().optional(), - priority: z.number().optional(), }).optional(); -export type QueueOptions = z.infer; - export function defineListenerV2( name: string, params: { legacyName?: string; meta: Omit; payload: T; - defaultQueueOptions?: PQueueOptions; + defaultQueueOptions?: QueueOptions; } ): z.ZodFunction { diff --git a/packages/screencaster/tsconfig.json b/packages/screencaster/tsconfig.json index 256b98d0a..66764036f 100644 --- a/packages/screencaster/tsconfig.json +++ b/packages/screencaster/tsconfig.json @@ -7,6 +7,9 @@ "ES2022", "DOM" ], + "types": [ + "node" + ], "declaration": true, "declarationMap": true, "sourceMap": true, diff --git a/packages/screencaster/tsdown.config.ts b/packages/screencaster/tsdown.config.ts index 2cc0d4f7a..598f68e86 100644 --- a/packages/screencaster/tsdown.config.ts +++ b/packages/screencaster/tsdown.config.ts @@ -9,9 +9,11 @@ export default defineConfig({ format: 'esm', dts: true, clean: true, - external: [ - '@open-wa/driver-interface', - 'hono', - 'hono/*', - ], + deps: { + neverBundle: [ + '@open-wa/driver-interface', + 'hono', + 'hono/*', + ], + }, }); diff --git a/packages/session-sync/package.json b/packages/session-sync/package.json index d5a981a5e..611080852 100644 --- a/packages/session-sync/package.json +++ b/packages/session-sync/package.json @@ -10,17 +10,17 @@ "test": "vitest run --passWithNoTests" }, "dependencies": { + "@open-wa/schema": "workspace:*", + "chokidar": "^5.0.0", "pico-s3": "^2.11.0", - "tar-fs": "^3.0.0", - "simple-zstd": "^1.4.1", - "chokidar": "^4.0.0", - "@open-wa/schema": "workspace:*" + "simple-zstd": "^2.1.0", + "tar-fs": "^3.1.3" }, "devDependencies": { - "typescript": "catalog:", - "vitest": "catalog:", "@types/node": "catalog:", - "@types/tar-fs": "catalog:" + "@types/tar-fs": "catalog:", + "typescript": "catalog:", + "vitest": "catalog:" }, "repository": { "type": "git", diff --git a/packages/socket-client/package.json b/packages/socket-client/package.json index 6305fcfda..7c354a307 100644 --- a/packages/socket-client/package.json +++ b/packages/socket-client/package.json @@ -40,11 +40,11 @@ "homepage": "https://github.com/open-wa/wa-automate-socket-client-nodejs#readme", "dependencies": { "@open-wa/wa-automate-types-only": "workspace:*", - "debug": "^4.3.4", - "eventsource": "^3.0.7", + "debug": "^4.4.3", "eventemitter2": "^6.4.9", + "eventsource": "^4.1.0", "isomorphic-ws": "^5.0.0", - "ws": "^8.20.0" + "ws": "^8.21.1" }, "devDependencies": { "typescript": "catalog:", diff --git a/packages/ui-components/package.json b/packages/ui-components/package.json index 3861cfbfa..5f9cb2d08 100644 --- a/packages/ui-components/package.json +++ b/packages/ui-components/package.json @@ -4,12 +4,12 @@ "main": "src/index.ts", "types": "src/index.ts", "dependencies": { - "@radix-ui/react-avatar": "^1.1.11", - "@radix-ui/react-dialog": "^1.1.15", - "@radix-ui/react-label": "^2.1.8", - "@radix-ui/react-slot": "^1.2.4", - "@radix-ui/react-toast": "^1.2.15", - "class-variance-authority": "^0.7.0", + "@radix-ui/react-avatar": "^1.2.3", + "@radix-ui/react-dialog": "^1.1.20", + "@radix-ui/react-label": "^2.1.12", + "@radix-ui/react-slot": "^1.3.0", + "@radix-ui/react-toast": "^1.2.20", + "class-variance-authority": "^0.7.1", "clsx": "catalog:", "lucide-react": "catalog:", "react": "catalog:", diff --git a/packages/utils/package.json b/packages/utils/package.json index 85613fe23..8b17442d3 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -24,8 +24,8 @@ }, "dependencies": { "json5": "^2.2.3", - "pidtree": "^0.6.0", - "pidusage": "^3.0.2" + "pidtree": "^1.0.0", + "pidusage": "^4.0.1" }, "devDependencies": { "@types/node": "catalog:", diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 867d8072e..2ae5e8da0 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -6,6 +6,9 @@ "lib": [ "ES2022" ], + "types": [ + "node" + ], "declaration": true, "declarationMap": true, "sourceMap": true, @@ -31,4 +34,4 @@ "dist", "**/*.test.ts" ] -} \ No newline at end of file +} diff --git a/packages/wa-automate/package.json b/packages/wa-automate/package.json index d28d6d0f8..29b779b50 100644 --- a/packages/wa-automate/package.json +++ b/packages/wa-automate/package.json @@ -28,10 +28,12 @@ "@open-wa/driver-lightpanda": "workspace:*", "@open-wa/driver-puppeteer": "workspace:*", "@open-wa/logger": "workspace:*", + "@open-wa/runtime-core": "workspace:*", + "@open-wa/runtime-node": "workspace:*", "@open-wa/schema": "workspace:*", "@open-wa/session-sync": "workspace:*", - "boxen": "^5.0.0", - "chrome-launcher": "^0.15.0", + "boxen": "^8.0.1", + "chrome-launcher": "^1.2.1", "hono": "catalog:", "qrcode-terminal": "^0.12.0" }, diff --git a/packages/wa-automate/src/__tests__/cli-runtime.test.ts b/packages/wa-automate/src/__tests__/cli-runtime.test.ts index 5faa0a193..4e9435183 100644 --- a/packages/wa-automate/src/__tests__/cli-runtime.test.ts +++ b/packages/wa-automate/src/__tests__/cli-runtime.test.ts @@ -112,7 +112,7 @@ describe('cli runtime chrome resolution', () => { }); it('reuses a valid cached Chrome path without probing chrome-launcher again', async () => { - const { readChromePathCache, resolveExecutablePath, writeChromePathCache } = await importCliRuntimeUtilityModule(); + const { resolveExecutablePath, writeChromePathCache } = await importCliRuntimeUtilityModule(); const tempDir = mkdtempSync(join(tmpdir(), 'openwa-cli-runtime-')); tempDirs.push(tempDir); const cacheFilePath = join(tempDir, '.open-wa', 'chrome-executable-path.json'); @@ -196,6 +196,31 @@ describe('cli runtime chrome resolution', () => { expect(parsed.forwardedArgs).toEqual(['--session-id', 'alpha', '--port', '9000', '--headful', '--use-chrome', '--use-lightpanda']); }); + it('maps per-chat sandbox CLI flags into a concrete isolation policy', async () => { + const { parseCliArgs } = await importCliRuntimeUtilityModule(); + const parsed = parseCliArgs(['--sandbox-chats', '--sandbox-isolation', 'container']); + + expect(parsed.cliOverrides.sandboxChats).toMatchObject({ + isolation: 'container', + filesystem: 'none', + network: 'none', + env: 'none', + }); + expect(parsed.forwardedArgs).toEqual([ + '--sandbox-chats', + '--sandbox-isolation', + 'container', + ]); + }); + + it('rejects unknown sandbox isolation modes at the CLI boundary', async () => { + const { parseCliArgs } = await importCliRuntimeUtilityModule(); + + expect(() => parseCliArgs(['--sandbox-isolation', 'submarine'])).toThrow( + 'Invalid --sandbox-isolation value: submarine', + ); + }); + it('routes startup, QR, and readiness notices through the sink abstraction', async () => { const fakeEmitter = new FakeEmitter(); const sink = { diff --git a/packages/wa-automate/src/__tests__/session-manager.test.ts b/packages/wa-automate/src/__tests__/session-manager.test.ts new file mode 100644 index 000000000..825c1bdb3 --- /dev/null +++ b/packages/wa-automate/src/__tests__/session-manager.test.ts @@ -0,0 +1,69 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; + +const compressionStart = vi.fn(); +const compressionStop = vi.fn(); +const compressionCompress = vi.fn(async () => undefined); +const backupSession = vi.fn(async () => 'session.data.zst'); + +vi.mock('@open-wa/logger', () => ({ + createLogger: () => ({ + debug: vi.fn(), + info: vi.fn(), + warn: vi.fn(), + error: vi.fn(), + }), +})); + +vi.mock('@open-wa/session-sync', () => ({ + LocalSessionCompression: class { + start = compressionStart; + stop = compressionStop; + compress = compressionCompress; + }, + S3SyncManager: class { + backupSession = backupSession; + restoreSession = vi.fn(async () => true); + getDownloadUrl = vi.fn(async () => 'https://example.test/session'); + }, +})); + +import { SessionArchiveManager } from '../session/SessionArchiveManager'; + +describe('SessionArchiveManager lifecycle', () => { + beforeEach(() => { + vi.useFakeTimers(); + vi.clearAllMocks(); + }); + + afterEach(() => { + vi.useRealTimers(); + }); + + it('owns compression and periodic backup resources idempotently', async () => { + const manager = new SessionArchiveManager({ + sessionId: 'alpha', + dataDir: '/tmp/openwa/alpha-profile', + s3Config: { + bucket: 'sessions', + region: 'test', + accessKeyId: 'test', + secretAccessKey: 'test', + }, + syncInterval: 1_000, + }); + + await manager.start(); + await manager.start(); + expect(compressionStart).toHaveBeenCalledTimes(1); + + await vi.advanceTimersByTimeAsync(1_000); + expect(compressionCompress).toHaveBeenCalledTimes(1); + expect(backupSession).toHaveBeenCalledWith('/tmp/openwa/alpha.data.zst'); + + await manager.stop(); + expect(compressionStop).toHaveBeenCalledTimes(1); + + await vi.advanceTimersByTimeAsync(2_000); + expect(backupSession).toHaveBeenCalledTimes(1); + }); +}); diff --git a/packages/wa-automate/src/cli-runtime.ts b/packages/wa-automate/src/cli-runtime.ts index 8b8d46e12..17f6aebaf 100644 --- a/packages/wa-automate/src/cli-runtime.ts +++ b/packages/wa-automate/src/cli-runtime.ts @@ -9,12 +9,19 @@ import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node import { dirname, resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; import { getCliOutputSink, type CliOutputSink } from './cli/output-sink'; +import { + defaultChatSandboxPolicy, + type ChatSandboxPolicy, + type SandboxIsolation, +} from '@open-wa/runtime-core'; +import { makeNodeExecutionSandbox, observeBrowserProcessMemory } from '@open-wa/runtime-node'; export interface CliRuntimeResult { server: WAServer; client: ClientFacade; config: Config; events: ClientFacade['events']; + dispose(): void; } interface RuntimeEventPublisher { @@ -293,6 +300,35 @@ function getVal(argv: string[], flag: string): string | undefined { return index !== -1 ? argv[index + 1] : undefined; } +function parseSandboxIsolation(value: string): SandboxIsolation { + switch (value) { + case 'worker': + case 'process': + case 'container': + return value; + default: + throw new Error(`Invalid --sandbox-isolation value: ${value}`); + } +} + +export function resolveChatSandboxPolicy(config: Config['sandboxChats']): ChatSandboxPolicy | undefined { + if (!config) return undefined; + + const overrides = typeof config === 'object' + ? config as Partial> + : {}; + return { + ...defaultChatSandboxPolicy, + ...overrides, + chats: true, + networkAllowlist: [...(overrides.networkAllowlist ?? defaultChatSandboxPolicy.networkAllowlist)], + env: overrides.env === 'none' || overrides.env === undefined + ? overrides.env ?? defaultChatSandboxPolicy.env + : [...overrides.env], + capabilities: [...(overrides.capabilities ?? defaultChatSandboxPolicy.capabilities)], + }; +} + export function parseCliArgs(argv: string[] = process.argv.slice(2)): ParsedCliArgs { const cliOverrides: PartialConfig = {}; const unsupportedWarnings: string[] = []; @@ -323,6 +359,21 @@ export function parseCliArgs(argv: string[] = process.argv.slice(2)): ParsedCliA if (argv.includes('--aggressive-garbage-collection')) cliOverrides.aggressiveGarbageCollection = true; if (argv.includes('--no-dashboard')) cliOverrides.dashboard = false; if (argv.includes('--ephemeral')) cliOverrides.ephemeral = true; + if (argv.includes('--sandbox-chats')) cliOverrides.sandboxChats = true; + + const sandboxIsolation = getVal(argv, '--sandbox-isolation'); + if (sandboxIsolation) { + const { chats: _chats, ...sandboxDefaults } = defaultChatSandboxPolicy; + cliOverrides.sandboxChats = { + ...sandboxDefaults, + isolation: parseSandboxIsolation(sandboxIsolation), + networkAllowlist: [...defaultChatSandboxPolicy.networkAllowlist], + env: defaultChatSandboxPolicy.env === 'none' + ? 'none' + : [...defaultChatSandboxPolicy.env], + capabilities: [...defaultChatSandboxPolicy.capabilities], + }; + } const qrTimeout = getVal(argv, '--qr-timeout'); if (qrTimeout) cliOverrides.qrTimeout = parseInt(qrTimeout, 10); @@ -564,6 +615,11 @@ export async function start(parsedArgs: ParsedCliArgs = parseCliArgs()): Promise sink.status({ phase: 'client.starting', sessionId: config.sessionId }); sink.write({ level: 'info', message: 'Starting WhatsApp Client...' }); + const sandboxPolicy = resolveChatSandboxPolicy(config.sandboxChats); + const executionSandbox = sandboxPolicy + ? makeNodeExecutionSandbox({ workspacePath: process.cwd() }) + : undefined; + const openwaClient = await createClient({ sessionId: config.sessionId, driver, @@ -585,6 +641,13 @@ export async function start(parsedArgs: ParsedCliArgs = parseCliArgs()): Promise blockAssets: config.blockAssets, safeMode: config.safeMode, licenseKey: config.licenseKey as any, + sandboxPolicy, + executionSandbox, + memoryObservation: (observability, getBrowserProcessId) => observeBrowserProcessMemory( + observability, + getBrowserProcessId, + { attributes: { session: config.sessionId } }, + ), }); server.setReadinessProvider(() => ({ ...openwaClient.getReadiness(), state: openwaClient.getState() })); @@ -645,12 +708,22 @@ export async function start(parsedArgs: ParsedCliArgs = parseCliArgs()): Promise }); } - openwaClient.events.on('launch.browser.init.after', async () => { + const handleBrowserInit = async () => { const page = openwaClient.getTransport().getPage(); if (page) { await server.setPage(page as any).catch(() => {}); } - }); + }; + openwaClient.events.on('launch.browser.init.after', handleBrowserInit); + + let disposed = false; + const dispose = () => { + if (disposed) return; + disposed = true; + detachRuntimeBridge(); + openwaClient.events.off('launch.browser.init.after', handleBrowserInit); + runtimeBridgeListeners.clear(); + }; try { await client.start(); @@ -660,7 +733,7 @@ export async function start(parsedArgs: ParsedCliArgs = parseCliArgs()): Promise sink.write({ level: 'warn', message: 'Session kept alive for debugging. Browser page is still open.' }); sink.write({ level: 'warn', message: 'The server is running — use /health and /api-docs to inspect state.' }); detachLaunchNarration(); - return { server, client, config, events: openwaClient.events }; + return { server, client, config, events: openwaClient.events, dispose }; } const readiness = openwaClient.getReadiness(); @@ -675,7 +748,7 @@ export async function start(parsedArgs: ParsedCliArgs = parseCliArgs()): Promise }); detachLaunchNarration(); - return { server, client, config, events: openwaClient.events }; + return { server, client, config, events: openwaClient.events, dispose }; } export async function main(argv: string[] = process.argv.slice(2)): Promise { diff --git a/packages/wa-automate/src/index.ts b/packages/wa-automate/src/index.ts index dbd2387a3..47a8807e4 100644 --- a/packages/wa-automate/src/index.ts +++ b/packages/wa-automate/src/index.ts @@ -1,6 +1,6 @@ export { WAServer } from './server/hono-server'; export { APILifecycleManager } from './server/lifecycle-manager'; -export { SessionManager } from './session/SessionManager'; +export { SessionArchiveManager } from './session/SessionArchiveManager'; export { main as runCli, start as startCli, parseCliArgs } from './cli-runtime'; export type { CliRuntimeResult } from './cli-runtime'; export { createConsoleOutputSink, getCliOutputSink, resetCliOutputSink, setCliOutputSink } from './cli/output-sink'; diff --git a/packages/wa-automate/src/server/__tests__/public-contract.test.ts b/packages/wa-automate/src/server/__tests__/public-contract.test.ts index f2c0f40d8..a33e53a88 100644 --- a/packages/wa-automate/src/server/__tests__/public-contract.test.ts +++ b/packages/wa-automate/src/server/__tests__/public-contract.test.ts @@ -1,10 +1,22 @@ import { describe, expect, it, vi } from 'vitest'; +import { ConfigSchema } from '@open-wa/config'; + +vi.mock('@open-wa/logger', () => ({ + createLogger: () => ({ + info: vi.fn(), + warn: vi.fn(), + error: vi.fn(), + }), +})); +vi.mock('@open-wa/session-sync', () => ({ + LocalSessionCompression: class MockLocalSessionCompression {}, + S3SyncManager: class MockS3SyncManager {}, +})); describe('wa-automate public contract', () => { it('re-exports config truth from @open-wa/config and runtime bootstrap from @open-wa/core', async () => { const createClientMock = vi.fn(); - vi.resetModules(); vi.doMock('@open-wa/core', () => ({ createClient: createClientMock })); vi.doMock('@open-wa/client', () => ({})); vi.doMock('@open-wa/schema', () => ({ eventRegistry: { getAll: () => [] } })); @@ -13,7 +25,6 @@ describe('wa-automate public contract', () => { const waAutomate = await import('../../index'); const { createClient } = await import('@open-wa/core'); - const { ConfigSchema } = await import('@open-wa/config'); expect(waAutomate.ConfigSchema).toBe(ConfigSchema); expect(waAutomate.createClient).toBe(createClient); @@ -31,7 +42,7 @@ describe('wa-automate public contract', () => { expect(typeof waAutomate.WAServer).toBe('function'); expect(typeof waAutomate.APILifecycleManager).toBe('function'); - expect(typeof waAutomate.SessionManager).toBe('function'); + expect(typeof waAutomate.SessionArchiveManager).toBe('function'); expect(typeof waAutomate.runCli).toBe('function'); expect(typeof waAutomate.startCli).toBe('function'); expect(typeof waAutomate.parseCliArgs).toBe('function'); diff --git a/packages/wa-automate/src/server/__tests__/routes.contract.test.ts b/packages/wa-automate/src/server/__tests__/routes.contract.test.ts index d9729d455..ed69cc2b9 100644 --- a/packages/wa-automate/src/server/__tests__/routes.contract.test.ts +++ b/packages/wa-automate/src/server/__tests__/routes.contract.test.ts @@ -1,7 +1,7 @@ // import { Hono } from 'hono'; import { describe, it, expect } from 'vitest'; -import { clientRegistry } from '../../../../schema/src'; -import '../../../../schema/src/methods'; +import { clientRegistry } from '@open-wa/schema'; +import '@open-wa/schema/methods'; describe('server route registration', () => { it('should register routes for all methods', () => { diff --git a/packages/wa-automate/src/server/lifecycle-manager.ts b/packages/wa-automate/src/server/lifecycle-manager.ts index 434fe222e..0af8c0961 100644 --- a/packages/wa-automate/src/server/lifecycle-manager.ts +++ b/packages/wa-automate/src/server/lifecycle-manager.ts @@ -1,12 +1,12 @@ import { WAServer } from './hono-server'; import type { Config } from '@open-wa/config'; -import { SessionManager } from '../session/SessionManager'; +import { SessionArchiveManager } from '../session/SessionArchiveManager'; import { getCliOutputSink } from '../cli/output-sink'; export class APILifecycleManager { private config: Config; private server?: WAServer; - private sessionManager?: SessionManager; + private sessionArchiveManager?: SessionArchiveManager; // @ts-ignore private _sessionConnected: boolean = false; @@ -15,7 +15,7 @@ export class APILifecycleManager { // Initialize session manager if S3 sync is configured if (config.s3Sync) { - this.sessionManager = SessionManager.createFromConfig(config); + this.sessionArchiveManager = SessionArchiveManager.createFromConfig(config); } } @@ -36,8 +36,8 @@ export class APILifecycleManager { } // Start session manager after all other initialization - if (this.sessionManager) { - await this.sessionManager.start(); + if (this.sessionArchiveManager) { + await this.sessionArchiveManager.start(); } } @@ -66,8 +66,8 @@ export class APILifecycleManager { public async stop(): Promise { // Stop session manager first - if (this.sessionManager) { - await this.sessionManager.stop(); + if (this.sessionArchiveManager) { + await this.sessionArchiveManager.stop(); } // Then stop server diff --git a/packages/wa-automate/src/session/SessionArchiveManager.ts b/packages/wa-automate/src/session/SessionArchiveManager.ts new file mode 100644 index 000000000..b2d7f53a1 --- /dev/null +++ b/packages/wa-automate/src/session/SessionArchiveManager.ts @@ -0,0 +1,123 @@ +import { dirname, join } from 'node:path'; +import type { Config } from '@open-wa/config'; +import { createLogger } from '@open-wa/logger'; +import { LocalSessionCompression, S3SyncManager, type S3Config } from '@open-wa/session-sync'; + +export interface SessionArchiveManagerConfig { + sessionId: string; + dataDir: string; + s3Config: S3Config; + syncInterval?: number; + watchLocalChanges?: boolean; +} + +export class SessionArchiveManager { + private readonly logger = createLogger({ component: 'SessionArchiveManager' }); + private localCompression?: LocalSessionCompression; + private s3Sync?: S3SyncManager; + private syncTimer?: NodeJS.Timeout; + private started = false; + + constructor(private readonly config: SessionArchiveManagerConfig) { + this.logger.info('session_archive_manager_initialized', { sessionId: config.sessionId }); + } + + async start(): Promise { + if (this.started) return; + this.started = true; + + this.localCompression = new LocalSessionCompression({ + sessionPath: this.config.dataDir, + sessionId: this.config.sessionId, + outputPath: this.archivePath, + intervalMs: this.config.syncInterval, + }); + if (this.config.watchLocalChanges !== false) { + this.localCompression.start(); + this.logger.info('local_session_compression_started'); + } + + this.s3Sync = new S3SyncManager(this.config.s3Config); + this.startPeriodicSync(); + this.logger.info('s3_session_sync_started'); + } + + async stop(): Promise { + if (this.syncTimer) { + clearInterval(this.syncTimer); + this.syncTimer = undefined; + } + + this.localCompression?.stop(); + this.localCompression = undefined; + this.s3Sync = undefined; + this.started = false; + this.logger.info('session_archive_manager_stopped'); + } + + async backupSession(): Promise { + if (!this.s3Sync || !this.localCompression) { + this.logger.warn('session_archive_manager_not_started'); + return null; + } + + try { + await this.localCompression.compress(); + const filename = await this.s3Sync.backupSession(this.archivePath); + this.logger.info('session_backed_up', { filename }); + return filename; + } catch (error) { + this.logger.error('session_backup_failed', { error }); + throw error; + } + } + + async restoreSession(filename: string): Promise { + if (!this.s3Sync) { + throw new Error('Session archive manager is not started'); + } + + const restored = await this.s3Sync.restoreSession(filename, this.config.dataDir); + if (!restored) { + throw new Error(`Failed to restore session backup: ${filename}`); + } + this.logger.info('session_restored', { filename }); + } + + async getSessionBackupUrl(filename: string, expiresIn = 3600): Promise { + if (!this.s3Sync) { + return null; + } + + return this.s3Sync.getDownloadUrl(filename, expiresIn); + } + + static createFromConfig(config: Config): SessionArchiveManager { + if (!config.s3Sync) { + throw new Error('Session archive management requires s3Sync configuration'); + } + + return new SessionArchiveManager({ + sessionId: config.sessionId, + dataDir: config.userDataDir || config.sessionDataPath || './.wwebjs', + s3Config: config.s3Sync, + syncInterval: config.s3Sync.syncInterval, + watchLocalChanges: config.s3Sync.enableLocalCompression !== false, + }); + } + + private get archivePath(): string { + return join(dirname(this.config.dataDir), `${this.config.sessionId}.data.zst`); + } + + private startPeriodicSync(): void { + if (!this.s3Sync || this.syncTimer) return; + + this.syncTimer = setInterval(() => { + void this.backupSession().catch((error) => { + this.logger.error('periodic_session_sync_failed', { error }); + }); + }, this.config.syncInterval ?? 600_000); + this.syncTimer.unref(); + } +} diff --git a/packages/wa-automate/tsconfig.json b/packages/wa-automate/tsconfig.json index 425f842dd..c300f2c97 100644 --- a/packages/wa-automate/tsconfig.json +++ b/packages/wa-automate/tsconfig.json @@ -2,34 +2,12 @@ "extends": "../../tsconfig.base.json", "compilerOptions": { "target": "ES2022", - "module": "NodeNext", - "moduleResolution": "NodeNext", "lib": [ "ES2022" ], "outDir": "./dist", "rootDir": "./src", - "strict": false, - "paths": { - "@open-wa/api": [ - "../api/dist/index.d.ts" - ], - "@open-wa/core": [ - "../core/dist/index.d.ts" - ], - "@open-wa/client": [ - "../client/dist/index.d.ts" - ], - "@open-wa/driver-puppeteer": [ - "../driver-puppeteer/dist/index.d.ts" - ], - "@open-wa/schema": [ - "../schema/dist/index.d.ts" - ], - "@open-wa/schema/*": [ - "../schema/dist/*" - ] - } + "strict": false }, "include": [ "src/**/*" diff --git a/packages/wa-automate/vitest.config.ts b/packages/wa-automate/vitest.config.ts index 2168bbf9e..e347486fc 100644 --- a/packages/wa-automate/vitest.config.ts +++ b/packages/wa-automate/vitest.config.ts @@ -6,5 +6,6 @@ export default defineConfig({ environment: 'node', include: ['src/**/*.test.ts', 'src/**/__tests__/**/*.ts'], setupFiles: ['../../tools/vitest-jest-compat.ts'], + testTimeout: 15_000, }, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cba1210a5..84aa875d7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,60 +6,69 @@ settings: catalogs: default: + '@effect/platform-browser': + specifier: 4.0.0-beta.100 + version: 4.0.0-beta.100 + '@effect/platform-bun': + specifier: 4.0.0-beta.100 + version: 4.0.0-beta.100 + '@effect/platform-node': + specifier: 4.0.0-beta.100 + version: 4.0.0-beta.100 '@elastic/elasticsearch': - specifier: ^9.2.0 - version: 9.2.0 + specifier: ^9.4.2 + version: 9.4.2 '@hono/node-server': - specifier: ^1.19.12 - version: 1.19.12 + specifier: ^2.0.11 + version: 2.0.11 '@tailwindcss/vite': - specifier: ^4.3.0 - version: 4.3.0 + specifier: ^4.3.3 + version: 4.3.3 '@tanstack/react-query': - specifier: ^5.95.2 - version: 5.95.2 + specifier: ^5.101.4 + version: 5.101.4 '@tanstack/react-router': - specifier: 1.168.13 - version: 1.168.13 + specifier: 1.170.18 + version: 1.170.18 '@tanstack/react-router-devtools': - specifier: 1.166.13 - version: 1.166.13 + specifier: 1.167.0 + version: 1.167.0 '@tanstack/react-router-ssr-query': - specifier: 1.166.10 - version: 1.166.10 + specifier: 1.167.1 + version: 1.167.1 '@tanstack/react-start': - specifier: 1.167.10 - version: 1.167.10 + specifier: 1.168.32 + version: 1.168.32 '@tanstack/router-generator': - specifier: 1.166.22 - version: 1.166.22 + specifier: 1.167.21 + version: 1.167.21 '@tanstack/router-plugin': - specifier: 1.167.10 - version: 1.167.10 + specifier: 1.168.23 + version: 1.168.23 '@tanstack/start-static-server-functions': - specifier: ^1.167.6 - version: 1.167.6 + specifier: ^1.167.19 + version: 1.167.19 '@types/express': - specifier: ^4.17.14 - version: 4.17.25 + specifier: ^5.0.6 + version: 5.0.6 '@types/node': - specifier: ^25.9.1 - version: 25.9.1 + specifier: ^26.1.1 + version: 26.1.1 '@types/react': - specifier: ^19.2.15 - version: 19.2.15 + specifier: ^19.2.17 + version: 19.2.17 '@types/react-dom': specifier: ^19.2.3 version: 19.2.3 '@types/tar-fs': - specifier: ^2.0.0 + specifier: ^2.0.4 version: 2.0.4 '@vitejs/plugin-react': - specifier: ^6.0.2 - version: 6.0.2 + specifier: ^6.0.4 + version: 6.0.4 autoprefixer: - specifier: ^10.4.14 - version: 10.4.22 + specifier: ^10.5.4 + version: 10.5.4 axios: specifier: npm:redaxios@0.5.1 version: 0.5.1 @@ -67,77 +76,77 @@ catalogs: specifier: 2.1.1 version: 2.1.1 dotenv: - specifier: ^16.0.0 - version: 16.6.1 + specifier: ^17.4.2 + version: 17.4.2 effect: - specifier: 4.0.0-beta.94 - version: 4.0.0-beta.94 + specifier: 4.0.0-beta.100 + version: 4.0.0-beta.100 hono: - specifier: ^4.12.9 - version: 4.12.9 + specifier: ^4.12.31 + version: 4.12.31 lucide-react: - specifier: ^0.378.0 - version: 0.378.0 + specifier: ^1.25.0 + version: 1.25.0 pm2: - specifier: ^5.3.0 - version: 5.4.3 + specifier: ^7.0.3 + version: 7.0.3 postcss: - specifier: ^8.4.24 - version: 8.5.8 + specifier: ^8.5.22 + version: 8.5.22 prettier: - specifier: ^3.0.0 - version: 3.8.1 + specifier: ^3.9.6 + version: 3.9.6 public-ip: - specifier: 4.0.4 - version: 4.0.4 + specifier: 8.0.0 + version: 8.0.0 puppeteer: - specifier: ^24.40.0 - version: 24.40.0 + specifier: ^25.3.0 + version: 25.3.0 puppeteer-extra: specifier: ^3.3.6 version: 3.3.6 react: - specifier: ^19.2.6 - version: 19.2.6 + specifier: ^19.2.8 + version: 19.2.8 react-dom: - specifier: ^19.2.6 - version: 19.2.6 + specifier: ^19.2.8 + version: 19.2.8 serve: specifier: ^14.2.6 version: 14.2.6 tailwind-merge: - specifier: 2.6.0 - version: 2.6.0 + specifier: 3.6.0 + version: 3.6.0 tailwindcss: - specifier: ^4.3.0 - version: 4.3.0 + specifier: ^4.3.3 + version: 4.3.3 ts-node: - specifier: ^10.9.1 + specifier: ^10.9.2 version: 10.9.2 typescript: - specifier: ^6.0.3 - version: 6.0.3 + specifier: ^7.0.2 + version: 7.0.2 uuid: - specifier: ^9.0.0 - version: 9.0.1 + specifier: ^14.0.1 + version: 14.0.1 vite: - specifier: ^8.0.13 - version: 8.0.13 + specifier: ^8.1.5 + version: 8.1.5 vite-tsconfig-paths: specifier: ^6.1.1 version: 6.1.1 vitest: - specifier: 4.1.2 - version: 4.1.2 + specifier: 4.1.10 + version: 4.1.10 winston: - specifier: ^3.8.2 + specifier: ^3.19.0 version: 3.19.0 wrangler: - specifier: ^4.93.0 - version: 4.93.0 + specifier: ^4.113.0 + version: 4.113.0 zod: - specifier: ^4.2.1 - version: 4.3.6 + specifier: ^4.4.3 + version: 4.4.3 importers: @@ -145,44 +154,41 @@ importers: dependencies: '@elastic/elasticsearch': specifier: 'catalog:' - version: 9.2.0 + version: 9.4.2(apache-arrow@21.1.0)(supports-color@10.2.2) devDependencies: '@changesets/changelog-github': - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^0.7.0 + version: 0.7.0 '@changesets/cli': - specifier: ^2.30.0 - version: 2.30.0(@types/node@25.9.1) + specifier: ^2.31.1 + version: 2.31.1(@types/node@26.1.1) '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 oxlint: - specifier: ^1.57.0 - version: 1.57.0 + specifier: ^1.75.0 + version: 1.75.0 prettier: specifier: 'catalog:' - version: 3.8.1 + version: 3.9.6 rimraf: - specifier: ^6.0.1 + specifier: ^6.1.3 version: 6.1.3 syncpack: - specifier: ^11.0.0 - version: 11.2.1 - ts-morph: - specifier: ^12.2.0 - version: 12.2.0 + specifier: ^15.3.2 + version: 15.3.2 tsdown: - specifier: ^0.21.7 - version: 0.21.7(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(typescript@6.0.3) + specifier: ^0.22.13 + version: 0.22.13(tsx@4.23.1)(typescript@7.0.2)(unrun@0.2.34(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)) tsx: - specifier: ^4.21.0 - version: 4.21.0 + specifier: ^4.23.1 + version: 4.23.1 turbo: - specifier: ^2.9.10 - version: 2.9.10 + specifier: ^2.10.5 + version: 2.10.5 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 apps/cli: dependencies: @@ -192,25 +198,25 @@ importers: devDependencies: '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 apps/dashboard-neo: devDependencies: '@base-ui/react': - specifier: ^1.3.0 - version: 1.3.0(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^1.6.0 + version: 1.6.0(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@fontsource-variable/geist': - specifier: ^5.2.8 - version: 5.2.8 + specifier: ^5.3.0 + version: 5.3.0 '@hugeicons/core-free-icons': - specifier: ^4.1.1 - version: 4.1.1 + specifier: ^4.2.3 + version: 4.2.3 '@hugeicons/react': - specifier: ^1.1.6 - version: 1.1.6(react@19.2.4) + specifier: ^1.1.9 + version: 1.1.9(react@19.2.8) '@open-wa/screencaster': specifier: workspace:* version: link:../../packages/screencaster @@ -218,50 +224,50 @@ importers: specifier: workspace:* version: link:../../packages/socket-client '@scalar/api-reference-react': - specifier: ^0.9.18 - version: 0.9.18(axios@1.18.1)(qrcode@1.5.4)(react@19.2.4)(tailwindcss@4.2.2)(typescript@5.9.3) + specifier: ^0.9.59 + version: 0.9.59(axios@1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(change-case@5.4.4)(qrcode@1.5.4)(react@19.2.8)(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2)(zod@4.4.3) '@tailwindcss/vite': specifier: 'catalog:' - version: 4.3.0(vite@8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)) + version: 4.3.3(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) '@tanstack/devtools-vite': - specifier: ^0.6.0 - version: 0.6.0(vite@8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)) + specifier: ^0.8.1 + version: 0.8.1(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) '@tanstack/eslint-config': specifier: ^0.4.0 - version: 0.4.0(@typescript-eslint/utils@8.58.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3) + version: 0.4.0(@typescript-eslint/utils@8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2))(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2) '@tanstack/react-devtools': - specifier: ^0.10.0 - version: 0.10.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(csstype@3.2.3)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(solid-js@1.9.12) + specifier: ^0.10.8 + version: 0.10.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(csstype@3.2.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.12) '@tanstack/react-router': specifier: 'catalog:' - version: 1.168.13(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@tanstack/react-router-devtools': specifier: 'catalog:' - version: 1.166.13(@tanstack/react-router@1.168.13(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@tanstack/router-core@1.171.4)(csstype@3.2.3)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 1.167.0(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@tanstack/router-core@1.171.15)(csstype@3.2.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@tanstack/react-router-ssr-query': specifier: 'catalog:' - version: 1.166.10(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.2.4))(@tanstack/react-router@1.168.13(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@tanstack/router-core@1.171.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 1.167.1(@tanstack/query-core@5.101.4)(@tanstack/react-query@5.101.4(react@19.2.8))(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@tanstack/router-core@1.171.15)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@tanstack/router-plugin': - specifier: ^1.167.10 - version: 1.167.10(@tanstack/react-router@1.168.13(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(webpack@5.103.0(esbuild@0.28.0)) + specifier: ^1.168.23 + version: 1.168.23(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.62.2)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)) '@testing-library/dom': specifier: ^10.4.1 version: 10.4.1 '@testing-library/react': specifier: ^16.3.2 - version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@types/node': - specifier: ^22.19.15 - version: 22.19.15 + specifier: ^26.1.1 + version: 26.1.1 '@types/react': - specifier: ^19.2.14 - version: 19.2.14 + specifier: ^19.2.17 + version: 19.2.17 '@types/react-dom': - specifier: ^19.2.3 - version: 19.2.3(@types/react@19.2.14) + specifier: 'catalog:' + version: 19.2.3(@types/react@19.2.17) '@vitejs/plugin-react': specifier: 'catalog:' - version: 6.0.2(vite@8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)) + version: 6.0.4(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -269,128 +275,128 @@ importers: specifier: 'catalog:' version: 2.1.1 jsdom: - specifier: ^27.4.0 - version: 27.4.0(@noble/hashes@1.8.0) + specifier: ^29.1.1 + version: 29.1.1(@noble/hashes@1.8.0) lucide-react: specifier: 'catalog:' - version: 0.378.0(react@19.2.4) + version: 1.25.0(react@19.2.8) next-themes: specifier: ^0.4.6 - version: 0.4.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 0.4.6(react-dom@19.2.8(react@19.2.8))(react@19.2.8) prettier: - specifier: ^3.8.1 - version: 3.8.1 + specifier: ^3.9.6 + version: 3.9.6 prettier-plugin-tailwindcss: - specifier: ^0.7.2 - version: 0.7.2(prettier@3.8.1) + specifier: ^0.8.1 + version: 0.8.1(prettier@3.9.6) react: - specifier: ^19.2.4 - version: 19.2.4 + specifier: ^19.2.8 + version: 19.2.8 react-dom: - specifier: ^19.2.4 - version: 19.2.4(react@19.2.4) + specifier: ^19.2.8 + version: 19.2.8(react@19.2.8) shadcn: - specifier: ^4.1.2 - version: 4.1.2(@types/node@22.19.15)(typescript@5.9.3) + specifier: ^4.14.0 + version: 4.14.0(supports-color@10.2.2)(typescript@7.0.2) sonner: specifier: ^2.0.7 - version: 2.0.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 2.0.7(react-dom@19.2.8(react@19.2.8))(react@19.2.8) tailwind-merge: specifier: 'catalog:' - version: 2.6.0 + version: 3.6.0 tailwindcss: - specifier: ^4.2.1 - version: 4.2.2 + specifier: ^4.3.3 + version: 4.3.3 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@4.2.2) + version: 1.0.7(tailwindcss@4.3.3) typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^7.0.2 + version: 7.0.2 vite: specifier: 'catalog:' - version: 8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) + version: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@22.19.15)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@22.19.15)(typescript@5.9.3))(vite@8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) web-vitals: - specifier: ^5.1.0 - version: 5.2.0 + specifier: ^6.0.0 + version: 6.0.0 apps/docker: dependencies: '@open-wa/wa-automate': specifier: latest - version: 4.76.0(lodash@4.17.23)(prom-client@14.2.0)(puppeteer-core@24.40.0)(typescript@6.0.3)(webpack@5.103.0) + version: 4.76.0(debug@4.3.2(supports-color@10.2.2))(loader-utils@2.0.0)(lodash@4.18.1)(prom-client@14.2.0)(puppeteer-core@25.3.0(yauzl@2.10.0))(supports-color@10.2.2)(typescript@7.0.2)(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)) npm: - specifier: ^7.12.1 - version: 7.24.2 + specifier: ^12.0.1 + version: 12.0.1 apps/docs: dependencies: '@ai-sdk/react': - specifier: ^3.0.189 - version: 3.0.189(react@19.2.6)(zod@4.4.3) + specifier: ^4.0.37 + version: 4.0.37(react@19.2.8)(zod@4.4.3) '@cloudflare/vite-plugin': - specifier: ^1.37.2 - version: 1.37.2(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(workerd@1.20260518.1)(wrangler@4.93.0) + specifier: ^1.46.0 + version: 1.46.0(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(wrangler@4.113.0(@cloudflare/workers-types@5.20260722.1)) '@openrouter/ai-sdk-provider': - specifier: ^2.9.0 - version: 2.9.0(ai@6.0.187(zod@4.4.3))(zod@4.4.3) + specifier: ^3.0.0 + version: 3.0.0(ai@7.0.34(zod@4.4.3))(zod@4.4.3) '@orama/orama': specifier: ^3.1.18 version: 3.1.18 '@radix-ui/react-popover': - specifier: ^1.1.15 - version: 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: ^1.1.20 + version: 1.1.20(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-presence': - specifier: ^1.1.5 - version: 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: ^1.1.8 + version: 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@scalar/api-reference-react': - specifier: ^0.9.18 - version: 0.9.18(axios@1.18.1)(qrcode@1.5.4)(react@19.2.6)(tailwindcss@4.3.0)(typescript@6.0.3) + specifier: ^0.9.59 + version: 0.9.59(axios@1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(change-case@5.4.4)(qrcode@1.5.4)(react@19.2.8)(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2)(zod@4.4.3) '@tailwindcss/vite': specifier: 'catalog:' - version: 4.3.0(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)) + version: 4.3.3(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) '@takumi-rs/helpers': - specifier: ^1.6.0 - version: 1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: ^2.4.1 + version: 2.4.1(preact@10.29.0)(react@19.2.8) '@takumi-rs/image-response': - specifier: ^1.6.0 - version: 1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: ^2.4.1 + version: 2.4.1(csstype@3.2.3)(preact@10.29.0)(react@19.2.8) '@takumi-rs/wasm': - specifier: ^1.6.0 - version: 1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: ^2.4.1 + version: 2.4.1(csstype@3.2.3)(preact@10.29.0)(react@19.2.8) '@tanstack/react-router': specifier: 'catalog:' - version: 1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@tanstack/react-router-devtools': specifier: 'catalog:' - version: 1.166.13(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@tanstack/router-core@1.171.4)(csstype@3.2.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 1.167.0(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@tanstack/router-core@1.171.15)(csstype@3.2.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@tanstack/react-start': specifier: 'catalog:' - version: 1.167.10(crossws@0.4.4(srvx@0.11.15))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(webpack@5.103.0(esbuild@0.28.0)) + version: 1.168.32(crossws@0.4.4(srvx@0.11.22))(esbuild@0.28.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(rolldown@1.2.0)(rollup@4.62.2)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)) '@tanstack/start-static-server-functions': specifier: 'catalog:' - version: 1.167.6(@tanstack/react-start@1.167.10(crossws@0.4.4(srvx@0.11.15))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(webpack@5.103.0(esbuild@0.28.0))) + version: 1.167.19(@tanstack/react-start@1.168.32(crossws@0.4.4(srvx@0.11.22))(esbuild@0.28.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(rolldown@1.2.0)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3))) '@types/mdx': - specifier: ^2.0.13 - version: 2.0.13 + specifier: ^2.0.14 + version: 2.0.14 '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 '@types/react': specifier: 'catalog:' - version: 19.2.15 + version: 19.2.17 '@types/react-dom': specifier: 'catalog:' - version: 19.2.3(@types/react@19.2.15) + version: 19.2.3(@types/react@19.2.17) '@vitejs/plugin-react': specifier: 'catalog:' - version: 6.0.2(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)) + version: 6.0.4(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) ai: - specifier: ^6.0.187 - version: 6.0.187(zod@4.4.3) + specifier: ^7.0.34 + version: 7.0.34(zod@4.4.3) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -398,69 +404,69 @@ importers: specifier: ^0.8.212 version: 0.8.212 fumadocs-core: - specifier: 16.7.7 - version: 16.7.7(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.15)(flexsearch@0.8.212)(lucide-react@1.16.0(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(zod@4.4.3) + specifier: 16.11.5 + version: 16.11.5(@mdx-js/mdx@3.1.1(supports-color@10.2.2))(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.2.17)(flexsearch@0.8.212)(lucide-react@1.25.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(supports-color@10.2.2)(zod@4.4.3) fumadocs-mdx: - specifier: 14.2.11 - version: 14.2.11(@types/mdast@4.0.4)(@types/mdx@2.0.13)(@types/react@19.2.15)(fumadocs-core@16.7.7(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.15)(flexsearch@0.8.212)(lucide-react@1.16.0(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(zod@4.4.3))(react@19.2.6)(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)) + specifier: 15.2.0 + version: 15.2.0(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.2.17)(fumadocs-core@16.11.5(@mdx-js/mdx@3.1.1(supports-color@10.2.2))(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.2.17)(flexsearch@0.8.212)(lucide-react@1.25.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(supports-color@10.2.2)(zod@4.4.3))(react@19.2.8)(rolldown@1.2.0)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) fumadocs-typescript: - specifier: ^5.2.6 - version: 5.2.6(68e70c9b81fddf4137df7aeb383e2acb) + specifier: ^5.3.0 + version: 5.3.0(705878ff40af08c2852ec264df7e8c87) fumadocs-ui: - specifier: 16.7.7 - version: 16.7.7(@takumi-rs/image-response@1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/mdx@2.0.13)(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(fumadocs-core@16.7.7(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.15)(flexsearch@0.8.212)(lucide-react@1.16.0(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(zod@4.4.3))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(shiki@4.1.0)(tailwindcss@4.3.0) + specifier: 16.11.5 + version: 16.11.5(@types/mdx@2.0.14)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(fumadocs-core@16.11.5(@mdx-js/mdx@3.1.1(supports-color@10.2.2))(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.2.17)(flexsearch@0.8.212)(lucide-react@1.25.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(supports-color@10.2.2)(zod@4.4.3))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3)(takumi-js@2.4.1(csstype@3.2.3)(preact@10.29.0)(react@19.2.8)) hast-util-to-jsx-runtime: specifier: ^2.3.6 - version: 2.3.6 + version: 2.3.6(supports-color@10.2.2) lucide-react: - specifier: ^1.16.0 - version: 1.16.0(react@19.2.6) + specifier: ^1.25.0 + version: 1.25.0(react@19.2.8) lucide-static: - specifier: ^0.556.0 - version: 0.556.0 + specifier: ^1.25.0 + version: 1.25.0 react: specifier: 'catalog:' - version: 19.2.6 + version: 19.2.8 react-dom: specifier: 'catalog:' - version: 19.2.6(react@19.2.6) + version: 19.2.8(react@19.2.8) remark: specifier: ^15.0.1 - version: 15.0.1 + version: 15.0.1(supports-color@10.2.2) remark-gfm: specifier: ^4.0.1 - version: 4.0.1 + version: 4.0.1(supports-color@10.2.2) remark-rehype: specifier: ^11.1.2 version: 11.1.2 serve: specifier: 'catalog:' - version: 14.2.6 + version: 14.2.6(supports-color@10.2.2) tailwind-merge: specifier: ^3.6.0 version: 3.6.0 tailwindcss: specifier: 'catalog:' - version: 4.3.0 + version: 4.3.3 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 unist-util-visit: specifier: ^5.1.0 version: 5.1.0 vite: specifier: 'catalog:' - version: 8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) + version: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) vite-tsconfig-paths: specifier: 'catalog:' - version: 6.1.1(typescript@6.0.3)(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)) + version: 6.1.1(supports-color@10.2.2)(typescript@7.0.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) zod: specifier: ^4.4.3 version: 4.4.3 devDependencies: '@types/hast': - specifier: ^3.0.4 - version: 3.0.4 + specifier: ^3.0.5 + version: 3.0.5 apps/orchestrator-cli: dependencies: @@ -469,14 +475,14 @@ importers: version: link:../../packages/orchestrator dotenv: specifier: 'catalog:' - version: 16.6.1 + version: 17.4.2 devDependencies: '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 apps/orchestrator-dashboard: dependencies: @@ -485,87 +491,93 @@ importers: version: link:../../packages/ui-components '@tanstack/react-query': specifier: 'catalog:' - version: 5.95.2(react@19.2.6) + version: 5.101.4(react@19.2.8) '@tanstack/react-router': specifier: 'catalog:' - version: 1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@tanstack/react-router-ssr-query': specifier: 'catalog:' - version: 1.166.10(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.2.6))(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@tanstack/router-core@1.171.4)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 1.167.1(@tanstack/query-core@5.101.4)(@tanstack/react-query@5.101.4(react@19.2.8))(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@tanstack/router-core@1.171.15)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@tanstack/react-start': specifier: 'catalog:' - version: 1.167.10(crossws@0.4.4(srvx@0.11.15))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(webpack@5.103.0(esbuild@0.28.0)) + version: 1.168.32(crossws@0.4.4(srvx@0.11.22))(esbuild@0.28.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(rolldown@1.2.0)(rollup@4.62.2)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)) '@tanstack/router-plugin': specifier: 'catalog:' - version: 1.167.10(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(webpack@5.103.0(esbuild@0.28.0)) + version: 1.168.23(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.62.2)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)) clsx: specifier: 'catalog:' version: 2.1.1 react: specifier: 'catalog:' - version: 19.2.6 + version: 19.2.8 react-dom: specifier: 'catalog:' - version: 19.2.6(react@19.2.6) + version: 19.2.8(react@19.2.8) tailwind-merge: specifier: 'catalog:' - version: 2.6.0 + version: 3.6.0 tailwindcss: specifier: 'catalog:' - version: 4.3.0 + version: 4.3.3 zod: specifier: 'catalog:' - version: 4.3.6 + version: 4.4.3 devDependencies: '@tailwindcss/vite': specifier: 'catalog:' - version: 4.3.0(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)) + version: 4.3.3(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) '@tanstack/router-generator': specifier: 'catalog:' - version: 1.166.22 + version: 1.167.21(supports-color@10.2.2) '@types/react': specifier: 'catalog:' - version: 19.2.15 + version: 19.2.17 '@types/react-dom': specifier: 'catalog:' - version: 19.2.3(@types/react@19.2.15) + version: 19.2.3(@types/react@19.2.17) '@vitejs/plugin-react': specifier: 'catalog:' - version: 6.0.2(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)) + version: 6.0.4(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vite: specifier: 'catalog:' - version: 8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) + version: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) vite-tsconfig-paths: specifier: 'catalog:' - version: 6.1.1(typescript@6.0.3)(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)) + version: 6.1.1(supports-color@10.2.2)(typescript@7.0.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) apps/registry: dependencies: serve: - specifier: ^14.2.0 - version: 14.2.5 + specifier: ^14.2.6 + version: 14.2.6(supports-color@10.2.2) integrations/chatwoot: dependencies: '@open-wa/plugin-sdk': specifier: workspace:* version: link:../../packages/plugin-sdk + effect: + specifier: 'catalog:' + version: 4.0.0-beta.100 hono: specifier: 'catalog:' - version: 4.12.9 + version: 4.12.31 devDependencies: '@open-wa/logger': specifier: workspace:* version: link:../../packages/logger '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 + vitest: + specifier: 'catalog:' + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) integrations/cloudflare: dependencies: @@ -576,15 +588,15 @@ importers: specifier: workspace:* version: link:../../packages/logger cloudflared: - specifier: ^0.5.0 - version: 0.5.3 + specifier: ^0.7.1 + version: 0.7.1 devDependencies: '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 integrations/node-red: dependencies: @@ -601,68 +613,71 @@ importers: puppeteer: built: false devDependencies: - '@rollup/plugin-typescript': - specifier: ^8.2.3 - version: 8.5.0(rollup@2.79.2)(tslib@2.8.1)(typescript@6.0.3) + '@rollup/plugin-swc': + specifier: ^0.4.1 + version: 0.4.1(@swc/core@1.15.46(@swc/helpers@0.5.23))(rollup@4.62.2) + '@swc/core': + specifier: ^1.15.46 + version: 1.15.46(@swc/helpers@0.5.23) '@types/express': specifier: 'catalog:' - version: 4.17.25 + version: 5.0.6 '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 '@types/node-red': - specifier: ^1.1.1 + specifier: ^1.3.5 version: 1.3.5 '@types/node-red-node-test-helper': - specifier: ^0.2.2 - version: 0.2.3 + specifier: ^0.3.5 + version: 0.3.5 '@types/sinon': - specifier: ^10.0.2 - version: 10.0.20 + specifier: ^22.0.0 + version: 22.0.0 '@types/supertest': - specifier: ^2.0.11 - version: 2.0.16 + specifier: ^7.2.1 + version: 7.2.1 colorette: - specifier: ^1.2.2 - version: 1.4.0 + specifier: ^2.0.20 + version: 2.0.20 concurrently: - specifier: ^7.6.0 - version: 7.6.0 + specifier: ^10.0.3 + version: 10.0.3 copyfiles: specifier: ^2.4.1 version: 2.4.1 glob: - specifier: ^7.1.7 - version: 7.2.3 + specifier: ^13.0.6 + version: 13.0.6 mustache: specifier: ^4.2.0 version: 4.2.0 node-red: - specifier: ^1.3.5 - version: 1.3.7(debug@4.4.3) + specifier: ^5.0.1 + version: 5.0.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2) node-red-node-test-helper: - specifier: ^0.2.7 - version: 0.2.7 + specifier: ^0.3.6 + version: 0.3.6(supports-color@10.2.2) onchange: specifier: ^7.1.0 version: 7.1.0 prettier: specifier: 'catalog:' - version: 3.8.1 + version: 3.9.6 rollup: - specifier: ^2.53.2 - version: 2.79.2 + specifier: ^4.62.2 + version: 4.62.2 type-fest: - specifier: ^2.1.0 - version: 2.19.0 + specifier: ^5.8.0 + version: 5.8.0 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) yarpm: - specifier: ^1.1.1 + specifier: ^1.2.0 version: 1.2.0 integrations/s3: @@ -673,53 +688,62 @@ importers: '@open-wa/logger': specifier: workspace:* version: link:../../packages/logger + '@open-wa/runtime-core': + specifier: workspace:* + version: link:../../packages/runtime-core + effect: + specifier: 'catalog:' + version: 4.0.0-beta.100 mime: - specifier: ^4.0.0 + specifier: ^4.1.0 version: 4.1.0 - p-queue: - specifier: ^8.0.0 - version: 8.1.1 pico-s3: - specifier: ^1.0.0 - version: 1.1.4 + specifier: ^2.11.0 + version: 2.11.0(supports-color@10.2.2) devDependencies: '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 + vitest: + specifier: 'catalog:' + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) integrations/webhook: dependencies: '@open-wa/plugin-sdk': specifier: workspace:* version: link:../../packages/plugin-sdk - p-queue: - specifier: ^8.0.0 - version: 8.1.1 + '@open-wa/runtime-core': + specifier: workspace:* + version: link:../../packages/runtime-core + effect: + specifier: 'catalog:' + version: 4.0.0-beta.100 devDependencies: '@open-wa/logger': specifier: workspace:* version: link:../../packages/logger '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 + vitest: + specifier: 'catalog:' + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/api: dependencies: '@elastic/elasticsearch': specifier: 'catalog:' - version: 9.2.0 + version: 9.4.2(apache-arrow@21.1.0)(supports-color@10.2.2) '@hono/node-server': specifier: 'catalog:' - version: 1.19.12(hono@4.12.9) - '@hono/node-ws': - specifier: ^1.3.0 - version: 1.3.0(@hono/node-server@1.19.12(hono@4.12.9))(hono@4.12.9) + version: 2.0.11(hono@4.12.31) '@open-wa/mcp': specifier: workspace:* version: link:../mcp @@ -731,78 +755,90 @@ importers: version: link:../screencaster hono: specifier: 'catalog:' - version: 4.12.9 + version: 4.12.31 tree-kill: specifier: ^1.2.2 version: 1.2.2 vite: specifier: '*' - version: 8.0.8(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) + version: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) + ws: + specifier: ^8.21.1 + version: 8.21.1 devDependencies: '@open-wa/dashboard-neo': specifier: workspace:* version: link:../../apps/dashboard-neo '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 + '@types/ws': + specifier: ^8.18.1 + version: 8.18.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.8(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/cf-proxy: devDependencies: '@cloudflare/workers-types': - specifier: ^4.20240320.1 - version: 4.20260402.1 + specifier: ^5.20260722.1 + version: 5.20260722.1 typescript: - specifier: ^5.5.0 - version: 5.9.3 + specifier: ^7.0.2 + version: 7.0.2 wrangler: specifier: 'catalog:' - version: 4.93.0(@cloudflare/workers-types@4.20260402.1) + version: 4.113.0(@cloudflare/workers-types@5.20260722.1) packages/cli: dependencies: '@open-wa/core': specifier: workspace:* version: link:../core + '@open-wa/hyperemitter': + specifier: workspace:* + version: link:../hyperemitter '@open-wa/wa-automate': specifier: workspace:* version: link:../wa-automate ink: - specifier: ^5.2.1 - version: 5.2.1(@types/react@18.3.28)(react@18.3.1) + specifier: ^7.1.1 + version: 7.1.1(@types/react@19.2.17)(react@19.2.8) qrcode: specifier: ^1.5.4 version: 1.5.4 react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.2.8 + version: 19.2.8 ws: - specifier: ^8.20.0 - version: 8.20.0 + specifier: ^8.21.1 + version: 8.21.1 zod: specifier: 'catalog:' - version: 4.3.6 + version: 4.4.3 devDependencies: '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 + '@types/qrcode': + specifier: ^1.5.6 + version: 1.5.6 '@types/react': - specifier: ^18.3.12 - version: 18.3.28 + specifier: ^19.2.17 + version: 19.2.17 '@types/ws': specifier: ^8.18.1 version: 8.18.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/client: dependencies: @@ -821,50 +857,56 @@ importers: '@open-wa/logger': specifier: workspace:* version: link:../logger + '@open-wa/runtime-core': + specifier: workspace:* + version: link:../runtime-core '@open-wa/schema': specifier: workspace:* version: link:../schema axios: specifier: 'catalog:' version: redaxios@0.5.1 + effect: + specifier: 'catalog:' + version: 4.0.0-beta.100 devDependencies: '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/config: dependencies: cosmiconfig: - specifier: ^9.0.0 - version: 9.0.0(typescript@6.0.3) + specifier: ^9.0.2 + version: 9.0.2(typescript@7.0.2) cosmiconfig-typescript-loader: - specifier: ^6.0.0 - version: 6.2.0(@types/node@25.9.1)(cosmiconfig@9.0.0(typescript@6.0.3))(typescript@6.0.3) + specifier: ^6.3.0 + version: 6.3.0(@types/node@26.1.1)(cosmiconfig@9.0.2(typescript@7.0.2))(typescript@7.0.2) deepmerge-ts: - specifier: ^7.1.3 + specifier: ^7.1.5 version: 7.1.5 zod: specifier: 'catalog:' - version: 4.3.6 + version: 4.4.3 zod-to-json-schema: - specifier: ^3.22.3 - version: 3.25.0(zod@4.3.6) + specifier: ^3.25.2 + version: 3.25.2(zod@4.4.3) devDependencies: '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/core: dependencies: @@ -886,34 +928,34 @@ importers: '@open-wa/plugin-sdk': specifier: workspace:* version: link:../plugin-sdk + '@open-wa/runtime-core': + specifier: workspace:* + version: link:../runtime-core '@open-wa/schema': specifier: workspace:* version: link:../schema effect: specifier: 'catalog:' - version: 4.0.0-beta.94 + version: 4.0.0-beta.100 hono: specifier: 'catalog:' - version: 4.12.9 - p-queue: - specifier: 6.6.2 - version: 6.6.2 + version: 4.12.31 uuid: specifier: 'catalog:' - version: 9.0.1 + version: 14.0.1 devDependencies: '@open-wa/driver-puppeteer': specifier: workspace:* version: link:../driver-puppeteer '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/decrypt: devDependencies: @@ -922,13 +964,13 @@ importers: version: link:../schema '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/domain: dependencies: @@ -941,19 +983,19 @@ importers: devDependencies: '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/driver-interface: devDependencies: typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 packages/driver-lightpanda: dependencies: @@ -965,17 +1007,17 @@ importers: version: link:../driver-interface puppeteer: specifier: '>=22.0.0' - version: 24.40.0(typescript@6.0.3) + version: 24.40.0(supports-color@10.2.2)(typescript@7.0.2) devDependencies: '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/driver-playwright: dependencies: @@ -983,18 +1025,18 @@ importers: specifier: workspace:* version: link:../driver-interface playwright: - specifier: ^1.41.0 - version: 1.58.0 + specifier: ^1.61.1 + version: 1.61.1 devDependencies: '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/driver-puppeteer: dependencies: @@ -1003,20 +1045,20 @@ importers: version: link:../driver-interface puppeteer: specifier: 'catalog:' - version: 24.40.0(typescript@6.0.3) + version: 25.3.0(yauzl@2.10.0) puppeteer-extra: specifier: 'catalog:' - version: 3.3.6(puppeteer-core@24.40.0)(puppeteer@24.40.0(typescript@6.0.3)) + version: 3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@25.3.0(yauzl@2.10.0))(supports-color@10.2.2) devDependencies: '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/hyperemitter: dependencies: @@ -1025,409 +1067,66 @@ importers: version: link:../logger devDependencies: emittery: - specifier: ^1.0.1 - version: 1.2.0 + specifier: ^2.0.0 + version: 2.0.0 eventemitter2: specifier: ^6.4.9 version: 6.4.9 eventemitter3: - specifier: ^5.0.1 - version: 5.0.1 + specifier: ^5.0.4 + version: 5.0.4 mitt: specifier: ^3.0.1 version: 3.0.1 tseep: - specifier: ^1.0.1 - version: 1.3.1 - typescript: - specifier: 'catalog:' - version: 6.0.3 - - packages/legacy-documented: - dependencies: - '@brillout/import': - specifier: ^0.2.1 - version: 0.2.6 - '@open-wa/config': - specifier: workspace:* - version: link:../config - '@open-wa/wa-automate-socket-client': - specifier: ^3.3.0 - version: 3.3.0 - '@open-wa/wa-decrypt': - specifier: 4.4.0 - version: 4.4.0 - atob: - specifier: ^2.1.2 - version: 2.1.2 - aws4: - specifier: ^1.11.0 - version: 1.13.2 - axios: - specifier: ^1.4.0 - version: 1.18.1(debug@4.4.3) - boxen: - specifier: ^5.0.0 - version: 5.1.2 - cfonts: - specifier: ^2.8.5 - version: 2.10.1 - change-case: - specifier: ^4.1.2 - version: 4.1.2 - chokidar: - specifier: ^3.5.3 - version: 3.6.0 - chrome-launcher: - specifier: ^0.15.0 - version: 0.15.2 - cloudflared: - specifier: ^0.5.1 - version: 0.5.3 - command-exists: - specifier: ^1.2.9 - version: 1.2.9 - command-line-usage: - specifier: ^6.1.1 - version: 6.1.3 - cors: - specifier: ^2.8.5 - version: 2.8.5 - cross-env: - specifier: ^7.0.3 - version: 7.0.3 - cross-spawn: - specifier: ^7.0.3 - version: 7.0.6 - datauri: - specifier: ^4.0.1 - version: 4.1.0 - death: - specifier: ^1.1.0 - version: 1.1.0 - eventemitter2: - specifier: ^6.4.9 - version: 6.4.9 - express: - specifier: ^4.17.3 - version: 4.22.1 - express-ipfilter: specifier: ^1.3.1 - version: 1.3.2 - express-robots-txt: - specifier: ^1.0.0 - version: 1.0.0(express@4.22.1) - file-type: - specifier: ^18.0.0 - version: 18.7.0 - find-up: - specifier: ^5.0.0 - version: 5.0.0 - form-data: - specifier: ^4.0.0 - version: 4.0.5 - fs-extra: - specifier: ^10.1.0 - version: 10.1.0 - get-port: - specifier: ^5.1.1 - version: 5.1.1 - hasha: - specifier: ^5.2.0 - version: 5.2.2 - helmet: - specifier: ^6.0.0 - version: 6.2.0 - image-type: - specifier: ^4.1.0 - version: 4.1.0 - is-url-superb: - specifier: ^6.1.0 - version: 6.1.0 - json5: - specifier: ^2.2.1 - version: 2.2.3 - klona: - specifier: ^2.0.5 - version: 2.0.6 - lodash.uniq: - specifier: ^4.5.0 - version: 4.5.0 - meow: - specifier: ^9.0.0 - version: 9.0.0 - mime: - specifier: ^3.0.0 - version: 3.0.0 - node-persist: - specifier: ^3.1.0 - version: 3.1.3 - open: - specifier: ^8.0.2 - version: 8.4.2 - os-name: - specifier: ^5.0.1 - version: 5.1.0 - p-queue: - specifier: 6.6.2 - version: 6.6.2 - parse-function: - specifier: ^5.6.10 - version: 5.6.10 - parse-url: - specifier: ^5.0.2 - version: 5.0.8 - patch-package: - specifier: ^6.4.7 - version: 6.5.1 - pico-s3: - specifier: ^2.1.0 - version: 2.11.0 - pidtree: - specifier: ^0.6.0 - version: 0.6.0 - pidusage: - specifier: ^3.0.0 - version: 3.0.2 - postman-2-swagger: - specifier: ^0.5.0 - version: 0.5.0(lodash@4.17.23) - puppeteer: - specifier: ^23.6.0 - version: 23.11.1(typescript@5.9.3) - puppeteer-extra: - specifier: ^3.3.6 - version: 3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3)) - puppeteer-extra-plugin-block-resources: - specifier: ^2.4.3 - version: 2.4.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))) - puppeteer-extra-plugin-devtools: - specifier: ^2.4.6 - version: 2.4.6(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))) - puppeteer-extra-plugin-stealth: - specifier: ^2.11.2 - version: 2.11.2(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))) - qrcode-terminal: - specifier: ^0.12.0 - version: 0.12.0 - qs: - specifier: ^6.10.1 - version: 6.14.0 - rxjs: - specifier: ^7.0.0 - version: 7.8.2 - smashah-puppeteer-page-proxy: - specifier: ^1.2.8 - version: 1.2.9 - socket.io: - specifier: ^4.5.4 - version: 4.8.1 - socket.io-client: - specifier: ^4.6.1 - version: 4.8.1 - spinnies: - specifier: ^0.5.1 - version: 0.5.1 - swagger-stats: - specifier: ^0.99.1 - version: 0.99.7(prom-client@14.2.0) - swagger-ui-dist: - specifier: ^4.10.3 - version: 4.19.1 - swagger-ui-express: - specifier: ^4.1.4 - version: 4.6.3(express@4.22.1) - tcp-port-used: - specifier: ^1.0.1 - version: 1.0.2 - terminal-link: - specifier: ^2.1.1 - version: 2.1.1 - terminate: - specifier: ^2.5.0 - version: 2.8.0 - traverse: - specifier: ^0.6.6 - version: 0.6.11 - ts-loader: - specifier: ^9.4.1 - version: 9.5.4(typescript@5.9.3)(webpack@5.103.0(esbuild@0.28.0)) - ts-morph: - specifier: ^12.0.0 - version: 12.2.0 - type-fest: - specifier: ^2.1.0 - version: 2.19.0 - update-notifier: - specifier: ^5.0.0 - version: 5.1.0 - uuid: - specifier: ^9.0.0 - version: 9.0.1 - uuid-apikey: - specifier: ^1.5.3 - version: 1.5.3 - winston: - specifier: ^3.8.2 - version: 3.19.0 - winston-daily-rotate-file: - specifier: ^4.7.1 - version: 4.7.1(winston@3.19.0) - winston-syslog: - specifier: ^2.7.0 - version: 2.7.1(winston@3.19.0) - xmlbuilder2: - specifier: ^3.0.2 - version: 3.1.1 - devDependencies: - '@types/changelog-parser': - specifier: ^2.7.1 - version: 2.8.4 - '@types/command-line-args': - specifier: ^5.0.0 - version: 5.2.3 - '@types/command-line-usage': - specifier: ^5.0.1 - version: 5.0.4 - '@types/cross-spawn': - specifier: ^6.0.2 - version: 6.0.6 - '@types/death': - specifier: ^1.1.1 - version: 1.1.5 - '@types/express': - specifier: ^4.17.14 - version: 4.17.25 - '@types/fs-extra': - specifier: ^9.0.11 - version: 9.0.13 - '@types/line-reader': - specifier: 0.0.34 - version: 0.0.34 - '@types/marked': - specifier: ^4.0.2 - version: 4.3.2 - '@types/mime': - specifier: ^3.0.1 - version: 3.0.4 - '@types/node': - specifier: ^20.0.0 - version: 20.19.26 - '@types/shelljs': - specifier: ^0.8.5 - version: 0.8.17 - '@types/winston-syslog': - specifier: ^2.4.0 - version: 2.4.4 - auto-changelog: - specifier: ^2.0.0 - version: 2.5.0 - ava: - specifier: ^5.1.0 - version: 5.3.1 - changelog-parser: - specifier: ^2.8.0 - version: 2.8.1 - command-line-args: - specifier: ^5.1.1 - version: 5.2.1 - docusaurus: - specifier: ^1.14.7 - version: 1.14.7(eslint@8.57.1)(typescript@5.9.3)(webpack@5.103.0(esbuild@0.28.0)) - husky: - specifier: ^7.0.0 - version: 7.0.4 - line-reader: - specifier: ^0.4.0 - version: 0.4.0 - marked: - specifier: ^4.0.10 - version: 4.3.0 - node-emoji: - specifier: ^1.10.0 - version: 1.11.0 - onchange: - specifier: ^7.1.0 - version: 7.1.0 - precise-commits: - specifier: ^1.0.2 - version: 1.0.2(prettier@3.7.4) - prettier: - specifier: ^3.0.0 - version: 3.7.4 - release-it: - specifier: ^14.0.3 - version: 14.14.3 - shelljs: - specifier: ^0.8.3 - version: 0.8.5 - tiny-glob: - specifier: ^0.2.9 - version: 0.2.9 - ts-json-schema-generator: - specifier: ^v1.1.0-next.5 - version: 1.5.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.2(@types/node@20.19.26)(typescript@5.9.3) - tsc-watch: - specifier: ^4.0.0 - version: 4.6.2(typescript@5.9.3) - typeconv: - specifier: ^1.7.0 - version: 1.8.0 - typedoc: - specifier: 0.28.15 - version: 0.28.15(typescript@5.9.3) + version: 1.3.1 typescript: - specifier: ^5.2.0 - version: 5.9.3 - vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@20.19.26)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@20.19.26)(typescript@5.9.3))(vite@8.0.13(@types/node@20.19.26)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 7.0.2 packages/logger: dependencies: chalk: - specifier: ^4.1.2 - version: 4.1.2 + specifier: ^5.6.2 + version: 5.6.2 figlet: - specifier: ^1.5.2 - version: 1.9.4 + specifier: ^1.11.3 + version: 1.11.3 log-update: - specifier: ^4.0.0 - version: 4.0.0 + specifier: ^8.0.0 + version: 8.0.0 ora: - specifier: ^5.4.1 - version: 5.4.1 + specifier: ^9.4.1 + version: 9.4.1 winston: - specifier: ^3.11.0 + specifier: ^3.19.0 version: 3.19.0 winston-transport: - specifier: ^4.6.0 + specifier: ^4.9.0 version: 4.9.0 zod: specifier: 'catalog:' - version: 4.3.6 + version: 4.4.3 devDependencies: '@types/figlet': - specifier: ^1.5.8 + specifier: ^1.7.0 version: 1.7.0 '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/mcp: dependencies: '@modelcontextprotocol/sdk': - specifier: ^1.0.1 - version: 1.29.0(zod@4.3.6) + specifier: ^1.29.0 + version: 1.29.0(supports-color@10.2.2)(zod@4.4.3) '@open-wa/config': specifier: workspace:* version: link:../config @@ -1439,64 +1138,67 @@ importers: version: link:../utils hono: specifier: 'catalog:' - version: 4.12.9 + version: 4.12.31 zod: specifier: 'catalog:' - version: 4.3.6 + version: 4.4.3 zod-to-json-schema: - specifier: ^3.23.2 - version: 3.25.2(zod@4.3.6) + specifier: ^3.25.2 + version: 3.25.2(zod@4.4.3) devDependencies: tsdown: - specifier: ^0.21.7 - version: 0.21.7(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(typescript@6.0.3) + specifier: ^0.22.13 + version: 0.22.13(tsx@4.23.1)(typescript@7.0.2)(unrun@0.2.34(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)) typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/orchestrator: dependencies: '@hono/node-server': specifier: 'catalog:' - version: 1.19.12(hono@4.12.9) + version: 2.0.11(hono@4.12.31) '@open-wa/config': specifier: workspace:* version: link:../config + '@open-wa/runtime-core': + specifier: workspace:* + version: link:../runtime-core ansi-colors: specifier: ^4.1.3 version: 4.1.3 cross-spawn: - specifier: ^7.0.3 + specifier: ^7.0.6 version: 7.0.6 firebase: - specifier: ^9.14.0 - version: 9.23.0 + specifier: ^12.16.0 + version: 12.16.0 fs-extra: - specifier: ^10.1.0 - version: 10.1.0 + specifier: ^11.3.6 + version: 11.3.6 get-port: - specifier: ^5.1.1 - version: 5.1.1 + specifier: ^7.2.0 + version: 7.2.0 hono: specifier: 'catalog:' - version: 4.12.9 + version: 4.12.31 human-id: - specifier: ^3.0.0 - version: 3.0.1 + specifier: ^4.2.0 + version: 4.2.0 is-url-superb: specifier: ^6.1.0 version: 6.1.0 json5: - specifier: ^2.2.1 + specifier: ^2.2.3 version: 2.2.3 keygenerator: specifier: ^1.0.4 version: 1.0.4 klona: - specifier: ^2.0.5 + specifier: ^2.0.6 version: 2.0.6 ms: specifier: ^2.1.3 @@ -1505,76 +1207,174 @@ importers: specifier: ^1.1.12 version: 1.1.12 os-name: - specifier: ^5.0.1 - version: 5.1.0 - p-queue: - specifier: 6.6.2 - version: 6.6.2 + specifier: ^7.0.0 + version: 7.0.0 patch-package: - specifier: ^6.4.7 - version: 6.5.1 + specifier: ^8.0.1 + version: 8.0.1 pico-s3: - specifier: ^2.1.0 - version: 2.11.0 + specifier: ^2.11.0 + version: 2.11.0(supports-color@10.2.2) ping: - specifier: ^0.4.2 - version: 0.4.4 + specifier: ^1.0.0 + version: 1.0.0 pm2: specifier: 'catalog:' - version: 5.4.3 + version: 7.0.3(supports-color@10.2.2) public-ip: specifier: 'catalog:' - version: 4.0.4 + version: 8.0.0 traverse: - specifier: ^0.6.6 + specifier: ^0.6.11 version: 0.6.11 uuid: specifier: 'catalog:' - version: 9.0.1 + version: 14.0.1 winston: specifier: 'catalog:' version: 3.19.0 winston-daily-rotate-file: - specifier: ^4.7.1 - version: 4.7.1(winston@3.19.0) + specifier: ^5.0.0 + version: 5.0.0(winston@3.19.0) winston-papertrail: specifier: ^1.0.5 version: 1.0.5(winston@3.19.0) winston-syslog: - specifier: ^2.7.0 + specifier: ^2.7.1 version: 2.7.1(winston@3.19.0) devDependencies: '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/plugin-sdk: dependencies: hono: specifier: 'catalog:' - version: 4.12.9 + version: 4.12.31 zod: specifier: 'catalog:' - version: 4.3.6 + version: 4.4.3 + devDependencies: + typescript: + specifier: 'catalog:' + version: 7.0.2 + vitest: + specifier: 'catalog:' + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) + + packages/runtime-browser: + dependencies: + '@effect/platform-browser': + specifier: 'catalog:' + version: 4.0.0-beta.100(effect@4.0.0-beta.100) + '@open-wa/runtime-core': + specifier: workspace:* + version: link:../runtime-core + effect: + specifier: 'catalog:' + version: 4.0.0-beta.100 + devDependencies: + '@types/node': + specifier: 'catalog:' + version: 26.1.1 + typescript: + specifier: 'catalog:' + version: 7.0.2 + vitest: + specifier: 'catalog:' + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) + + packages/runtime-bun: + dependencies: + '@effect/platform-bun': + specifier: 'catalog:' + version: 4.0.0-beta.100(effect@4.0.0-beta.100) + '@open-wa/runtime-core': + specifier: workspace:* + version: link:../runtime-core + effect: + specifier: 'catalog:' + version: 4.0.0-beta.100 + devDependencies: + '@types/node': + specifier: 'catalog:' + version: 26.1.1 + typescript: + specifier: 'catalog:' + version: 7.0.2 + vitest: + specifier: 'catalog:' + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) + + packages/runtime-core: + dependencies: + effect: + specifier: 'catalog:' + version: 4.0.0-beta.100 + devDependencies: + '@types/node': + specifier: 'catalog:' + version: 26.1.1 + typescript: + specifier: 'catalog:' + version: 7.0.2 + vitest: + specifier: 'catalog:' + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) + + packages/runtime-edge: + dependencies: + '@open-wa/runtime-core': + specifier: workspace:* + version: link:../runtime-core + effect: + specifier: 'catalog:' + version: 4.0.0-beta.100 devDependencies: + '@types/node': + specifier: 'catalog:' + version: 26.1.1 + typescript: + specifier: 'catalog:' + version: 7.0.2 + vitest: + specifier: 'catalog:' + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) + + packages/runtime-node: + dependencies: + '@effect/platform-node': + specifier: 'catalog:' + version: 4.0.0-beta.100(effect@4.0.0-beta.100)(ioredis@5.11.1(supports-color@10.2.2)) + '@open-wa/runtime-core': + specifier: workspace:* + version: link:../runtime-core + effect: + specifier: 'catalog:' + version: 4.0.0-beta.100 + devDependencies: + '@types/node': + specifier: 'catalog:' + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/schema: dependencies: '@asteasolutions/zod-to-openapi': - specifier: ^8.5.0 - version: 8.5.0(zod@4.3.6) + specifier: ^9.1.0 + version: 9.1.0(zod@4.4.3) '@open-wa/config': specifier: workspace:* version: link:../config @@ -1583,36 +1383,36 @@ importers: version: link:../utils zod: specifier: 'catalog:' - version: 4.3.6 + version: 4.4.3 zod-to-json-schema: - specifier: ^3.22.3 - version: 3.25.0(zod@4.3.6) + specifier: ^3.25.2 + version: 3.25.2(zod@4.4.3) devDependencies: ts-node: specifier: 'catalog:' - version: 10.9.2(@types/node@25.9.1)(typescript@6.0.3) + version: 10.9.2(@swc/core@1.15.46(@swc/helpers@0.5.23))(@types/node@26.1.1)(typescript@7.0.2) typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/screencaster: dependencies: hono: specifier: 'catalog:' - version: 4.12.9 + version: 4.12.31 devDependencies: '@open-wa/driver-interface': specifier: workspace:* version: link:../driver-interface '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 packages/session-sync: dependencies: @@ -1620,30 +1420,30 @@ importers: specifier: workspace:* version: link:../schema chokidar: - specifier: ^4.0.0 - version: 4.0.3 + specifier: ^5.0.0 + version: 5.0.0 pico-s3: specifier: ^2.11.0 - version: 2.11.0 + version: 2.11.0(supports-color@10.2.2) simple-zstd: - specifier: ^1.4.1 - version: 1.4.2 + specifier: ^2.1.0 + version: 2.1.0(supports-color@10.2.2) tar-fs: - specifier: ^3.0.0 - version: 3.1.1 + specifier: ^3.1.3 + version: 3.1.3 devDependencies: '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 '@types/tar-fs': specifier: 'catalog:' version: 2.0.4 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/socket-client: dependencies: @@ -1651,27 +1451,27 @@ importers: specifier: workspace:* version: link:../types-only debug: - specifier: ^4.3.4 - version: 4.4.3 + specifier: ^4.4.3 + version: 4.4.3(supports-color@10.2.2) eventemitter2: specifier: ^6.4.9 version: 6.4.9 eventsource: - specifier: ^3.0.7 - version: 3.0.7 + specifier: ^4.1.0 + version: 4.1.0 isomorphic-ws: specifier: ^5.0.0 - version: 5.0.0(ws@8.20.0) + version: 5.0.0(ws@8.21.1) ws: - specifier: ^8.20.0 - version: 8.20.0 + specifier: ^8.21.1 + version: 8.21.1 devDependencies: typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages/types-only: dependencies: @@ -1681,65 +1481,65 @@ importers: devDependencies: typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 packages/ui-components: dependencies: '@radix-ui/react-avatar': - specifier: ^1.1.11 - version: 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: ^1.2.3 + version: 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-dialog': - specifier: ^1.1.15 - version: 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: ^1.1.20 + version: 1.1.20(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-label': - specifier: ^2.1.8 - version: 2.1.8(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: ^2.1.12 + version: 2.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@radix-ui/react-slot': - specifier: ^1.2.4 - version: 1.2.4(@types/react@19.2.15)(react@19.2.6) + specifier: ^1.3.0 + version: 1.3.0(@types/react@19.2.17)(react@19.2.8) '@radix-ui/react-toast': - specifier: ^1.2.15 - version: 1.2.15(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: ^1.2.20 + version: 1.2.20(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) class-variance-authority: - specifier: ^0.7.0 + specifier: ^0.7.1 version: 0.7.1 clsx: specifier: 'catalog:' version: 2.1.1 lucide-react: specifier: 'catalog:' - version: 0.378.0(react@19.2.6) + version: 1.25.0(react@19.2.8) react: specifier: 'catalog:' - version: 19.2.6 + version: 19.2.8 react-dom: specifier: 'catalog:' - version: 19.2.6(react@19.2.6) + version: 19.2.8(react@19.2.8) tailwind-merge: specifier: 'catalog:' - version: 2.6.0 + version: 3.6.0 tailwindcss: specifier: 'catalog:' - version: 4.3.0 + version: 4.3.3 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@4.3.0) + version: 1.0.7(tailwindcss@4.3.3) devDependencies: '@types/react': specifier: 'catalog:' - version: 19.2.15 + version: 19.2.17 '@types/react-dom': specifier: 'catalog:' - version: 19.2.3(@types/react@19.2.15) + version: 19.2.3(@types/react@19.2.17) autoprefixer: specifier: 'catalog:' - version: 10.4.22(postcss@8.5.8) + version: 10.5.4(postcss@8.5.22) postcss: specifier: 'catalog:' - version: 8.5.8 + version: 8.5.22 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 packages/utils: dependencies: @@ -1747,30 +1547,30 @@ importers: specifier: ^2.2.3 version: 2.2.3 pidtree: - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^1.0.0 + version: 1.0.0 pidusage: - specifier: ^3.0.2 - version: 3.0.2 + specifier: ^4.0.1 + version: 4.0.1 devDependencies: '@types/node': specifier: 'catalog:' - version: 25.9.1 + version: 26.1.1 '@types/pidusage': specifier: ^2.0.5 version: 2.0.5 typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 packages/wa-automate: dependencies: '@elastic/elasticsearch': specifier: 'catalog:' - version: 9.2.0 + version: 9.4.2(apache-arrow@21.1.0)(supports-color@10.2.2) '@hono/node-server': specifier: 'catalog:' - version: 1.19.12(hono@4.12.9) + version: 2.0.11(hono@4.12.31) '@open-wa/api': specifier: workspace:* version: link:../api @@ -1792,6 +1592,12 @@ importers: '@open-wa/logger': specifier: workspace:* version: link:../logger + '@open-wa/runtime-core': + specifier: workspace:* + version: link:../runtime-core + '@open-wa/runtime-node': + specifier: workspace:* + version: link:../runtime-node '@open-wa/schema': specifier: workspace:* version: link:../schema @@ -1799,45 +1605,42 @@ importers: specifier: workspace:* version: link:../session-sync boxen: - specifier: ^5.0.0 - version: 5.1.2 + specifier: ^8.0.1 + version: 8.0.1 chrome-launcher: - specifier: ^0.15.0 - version: 0.15.2 + specifier: ^1.2.1 + version: 1.2.1(supports-color@10.2.2) hono: specifier: 'catalog:' - version: 4.12.9 + version: 4.12.31 qrcode-terminal: specifier: ^0.12.0 version: 0.12.0 devDependencies: typescript: specifier: 'catalog:' - version: 6.0.3 + version: 7.0.2 vitest: specifier: 'catalog:' - version: 4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) packages: - '@acemir/cssom@0.9.31': - resolution: {integrity: sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==} - - '@ai-sdk/gateway@3.0.118': - resolution: {integrity: sha512-XYPbVoDo1TDMVLe5Eg42gIjdOyxaizh9H0kiSSnTXr+AdrqZvutk/ypLOiqBXPV3D1K3+BSm/sbFeomZJlM64A==} + '@ai-sdk/gateway@3.0.13': + resolution: {integrity: sha512-g7nE4PFtngOZNZSy1lOPpkC+FAiHxqBJXqyRMEG7NUrEVZlz5goBdtHg1YgWRJIX776JTXAmbOI5JreAKVAsVA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/gateway@3.0.13': - resolution: {integrity: sha512-g7nE4PFtngOZNZSy1lOPpkC+FAiHxqBJXqyRMEG7NUrEVZlz5goBdtHg1YgWRJIX776JTXAmbOI5JreAKVAsVA==} - engines: {node: '>=18'} + '@ai-sdk/gateway@4.0.26': + resolution: {integrity: sha512-b/nc3COKtk8IxzgcCi418IoZFky/Bw+Jg8+J0/SBBnu/mOXA4bkIKCu81coEtJAWuH2g5Fvvsa0ar7EpmzNWTw==} + engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider-utils@4.0.27': - resolution: {integrity: sha512-ubkAJ+xODouwtmN1tYlvTPphH1hPOBfZaEQe8U7skGvFAnIRs9PPpsq57bC2+Ky/MB4yzhd6YOsxTAx9sGpazw==} - engines: {node: '>=18'} + '@ai-sdk/mcp@2.0.16': + resolution: {integrity: sha512-jC2r+StEuk8uIldfP4j8nBwOEBJ2TRwy/bz71SHMZ3NG6PSbvRPXGfyoHHR6JTm1O5GcIww0f6B8LznzkrseDA==} + engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -1847,17 +1650,23 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider@3.0.10': - resolution: {integrity: sha512-Q3BZ27qfpYqnCYGvE3vt+Qi6LGOF9R5Nmzn+9JoM1lCRsD9mYaIhfJLkSunN48nfGXJ6n+XNV0J/XVpqGQl7Dw==} - engines: {node: '>=18'} + '@ai-sdk/provider-utils@5.0.12': + resolution: {integrity: sha512-bbhlOgHeYwrIGheLkM6fhS8hVger8uFPmcOLg+kxc9EFh7y30XYorWhthlYAgpadO3SJhFZrIcEknN7qEqEVvA==} + engines: {node: '>=22'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 '@ai-sdk/provider@3.0.2': resolution: {integrity: sha512-HrEmNt/BH/hkQ7zpi2o6N3k1ZR1QTb7z85WYhYygiTxOQuaml4CMtHCWRbric5WPU+RNsYI7r1EpyVQMKO1pYw==} engines: {node: '>=18'} - '@ai-sdk/react@3.0.189': - resolution: {integrity: sha512-sQGm6Qpevn68EOSAodDqs7DD3mhVtvYnFfIv1nDNzCmObHpQ9Zyo9uN6MTqTBuc66Qvk7BG0bW5qpuFofhgo9w==} - engines: {node: '>=18'} + '@ai-sdk/provider@4.0.3': + resolution: {integrity: sha512-e0CpNWJUY7OxAFAnCZkw+ri9QOHWwTs1tXP42782KFGCU07qt8NiXCrCVowyCB5dP2r5/Uls+g2oPd8kOJn9dw==} + engines: {node: '>=22'} + + '@ai-sdk/react@4.0.37': + resolution: {integrity: sha512-YOjXv64YdnK6VGvon2tMvE8MYfGBu+PIIwZykVuer5jwgs8LQD7QCFHO0aNRa0xh2Gibg8x/iQEjRFop8tN/IA==} + engines: {node: '>=22'} peerDependencies: react: ^18 || ~19.0.1 || ~19.1.2 || ^19.2.1 @@ -1867,851 +1676,329 @@ packages: peerDependencies: vue: ^3.3.4 - '@alcalzone/ansi-tokenize@0.1.3': - resolution: {integrity: sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw==} - engines: {node: '>=14.13.1'} + '@alcalzone/ansi-tokenize@0.3.0': + resolution: {integrity: sha512-p+CMKJ93HFmLkjXKlXiVGlMQEuRb6H0MokBSwUsX+S6BRX8eV5naFZpQJFfJHjRZY0Hmnqy1/r6UWl3x+19zYA==} + engines: {node: '>=18'} + + '@asamuzakjp/css-color@5.1.11': + resolution: {integrity: sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - '@asamuzakjp/css-color@4.1.2': - resolution: {integrity: sha512-NfBUvBaYgKIuq6E/RBLY1m0IohzNHAYyaJGuTK79Z23uNwmz2jl1mPsC5ZxCCxylinKhT1Amn5oNTlx1wN8cQg==} + '@asamuzakjp/dom-selector@7.1.1': + resolution: {integrity: sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - '@asamuzakjp/dom-selector@6.8.1': - resolution: {integrity: sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==} + '@asamuzakjp/generational-cache@1.0.1': + resolution: {integrity: sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} '@asamuzakjp/nwsapi@2.3.9': resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} - '@asteasolutions/zod-to-openapi@8.5.0': - resolution: {integrity: sha512-SABbKiObg5dLRiTFnqiW1WWwGcg1BJfmHtT2asIBnBHg6Smy/Ms2KHc650+JI4Hw7lSkdiNebEGXpwoxfben8Q==} + '@asteasolutions/zod-to-openapi@9.1.0': + resolution: {integrity: sha512-pLMeRgRYS7/vZIgAAkOe2P6+XGTifR1MT9pqDoxZ11EmcJJ+DPmdPqLN8ZZF4U8R9KHCCQCS9c2wtuE8wSrfkw==} peerDependencies: zod: ^4.0.0 - '@babel/code-frame@7.10.4': - resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==} - '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/code-frame@7.29.0': - resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.28.5': - resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.29.0': - resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.28.5': - resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} engines: {node: '>=6.9.0'} - '@babel/core@7.29.0': - resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} engines: {node: '>=6.9.0'} - '@babel/generator@7.29.1': - resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} engines: {node: '>=6.9.0'} - '@babel/generator@8.0.0-rc.3': - resolution: {integrity: sha512-em37/13/nR320G4jab/nIIHZgc2Wz2y/D39lxnTyxB4/D/omPQncl/lSdlnJY1OhQcRGugTSIF2l/69o31C9dA==} - engines: {node: ^20.19.0 || >=22.12.0} - - '@babel/helper-annotate-as-pure@7.27.3': - resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.27.2': - resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + '@babel/generator@7.29.7': + resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.28.6': - resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} + '@babel/helper-annotate-as-pure@7.29.7': + resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.28.5': - resolution: {integrity: sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-create-class-features-plugin@7.28.6': - resolution: {integrity: sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==} + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-create-regexp-features-plugin@7.28.5': - resolution: {integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==} + '@babel/helper-create-class-features-plugin@7.29.7': + resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-define-polyfill-provider@0.6.5': - resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - '@babel/helper-globals@7.28.0': - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-member-expression-to-functions@7.28.5': - resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.27.1': - resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.28.6': - resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} + '@babel/helper-member-expression-to-functions@7.29.7': + resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.28.3': - resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-module-transforms@7.28.6': - resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-optimise-call-expression@7.27.1': - resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-plugin-utils@7.27.1': - resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-plugin-utils@7.28.6': - resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} - engines: {node: '>=6.9.0'} - - '@babel/helper-remap-async-to-generator@7.27.1': - resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==} + '@babel/helper-optimise-call-expression@7.29.7': + resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.27.1': - resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.28.6': - resolution: {integrity: sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==} + '@babel/helper-replace-supers@7.29.7': + resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-skip-transparent-expression-wrappers@7.27.1': - resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.27.1': - resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@8.0.0-rc.3': - resolution: {integrity: sha512-AmwWFx1m8G/a5cXkxLxTiWl+YEoWuoFLUCwqMlNuWO1tqAYITQAbCRPUkyBHv1VOFgfjVOqEj6L3u15J5ZCzTA==} - engines: {node: ^20.19.0 || >=22.12.0} - - '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@8.0.0-rc.3': - resolution: {integrity: sha512-8AWCJ2VJJyDFlGBep5GpaaQ9AAaE/FjAcrqI7jyssYhtL7WGV0DOKpJsQqM037xDbpRLHXsY8TwU7zDma7coOw==} - engines: {node: ^20.19.0 || >=22.12.0} - - '@babel/helper-validator-option@7.27.1': - resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.28.3': - resolution: {integrity: sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==} + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.28.4': - resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.29.2': - resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==} + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.25.9': - resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.5': - resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.29.2': - resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.29.3': - resolution: {integrity: sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==} + '@babel/parser@7.29.7': + resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/parser@8.0.0-rc.3': - resolution: {integrity: sha512-B20dvP3MfNc/XS5KKCHy/oyWl5IA6Cn9YjXRdDlCjNmUFrjvLXMNUfQq/QUy9fnG2gYkKKcrto2YaF9B32ToOQ==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5': - resolution: {integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1': - resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1': - resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1': - resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3': - resolution: {integrity: sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-proposal-class-properties@7.18.6': - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + '@babel/plugin-syntax-jsx@7.29.7': + resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-object-rest-spread@7.20.7': - resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + '@babel/plugin-syntax-typescript@7.29.7': + resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + '@babel/plugin-transform-modules-commonjs@7.29.7': + resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-assertions@7.27.1': - resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==} + '@babel/plugin-transform-typescript@7.29.7': + resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.27.1': - resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} + '@babel/preset-typescript@7.29.7': + resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.27.1': - resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} + '@babel/runtime@7.29.7': + resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.28.6': - resolution: {integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==} + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.28.6': - resolution: {integrity: sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==} + '@babel/traverse@7.29.7': + resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + '@babel/types@7.29.7': + resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/plugin-transform-arrow-functions@7.27.1': - resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==} - engines: {node: '>=6.9.0'} + '@base-ui/react@1.6.0': + resolution: {integrity: sha512-/jzjTWJYXhRFO45Bev9lc3cHbmjzCMpUqbMZ2AgKy/z25mY9B6shGSNcXcjQar9n5doM0KYW1W8fcFv2jZBuMw==} + engines: {node: '>=14.0.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@date-fns/tz': ^1.2.0 + '@types/react': ^17 || ^18 || ^19 + date-fns: ^4.0.0 + react: ^17 || ^18 || ^19 + react-dom: ^17 || ^18 || ^19 + peerDependenciesMeta: + '@date-fns/tz': + optional: true + '@types/react': + optional: true + date-fns: + optional: true - '@babel/plugin-transform-async-generator-functions@7.28.0': - resolution: {integrity: sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==} - engines: {node: '>=6.9.0'} + '@base-ui/utils@0.3.1': + resolution: {integrity: sha512-gFFiltORVmW/N6IILTGxizP3PBpVpysqML1ALY5Vk0mH+7faVkCknOU31goYHN5Aoek2dkjxva1XOD2Ce9WuIg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/react': ^17 || ^18 || ^19 + react: ^17 || ^18 || ^19 + react-dom: ^17 || ^18 || ^19 + peerDependenciesMeta: + '@types/react': + optional: true - '@babel/plugin-transform-async-to-generator@7.27.1': - resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@blakeembrey/deque@1.0.5': + resolution: {integrity: sha512-6xnwtvp9DY1EINIKdTfvfeAtCYw4OqBZJhtiqkT3ivjnEfa25VQ3TsKvaFfKm8MyGIEfE95qLe+bNEt3nB0Ylg==} - '@babel/plugin-transform-block-scoped-functions@7.27.1': - resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@blakeembrey/template@1.2.0': + resolution: {integrity: sha512-w/63nURdkRPpg3AXbNr7lPv6HgOuVDyefTumiXsbXxtIwcuk5EXayWR5OpSwDjsQPgaYsfUSedMduaNOjAYY8A==} - '@babel/plugin-transform-block-scoping@7.28.5': - resolution: {integrity: sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@borewit/text-codec@0.2.2': + resolution: {integrity: sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==} - '@babel/plugin-transform-class-properties@7.27.1': - resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@bramus/specificity@2.4.2': + resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==} + hasBin: true - '@babel/plugin-transform-class-static-block@7.28.3': - resolution: {integrity: sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 + '@brillout/import@0.2.6': + resolution: {integrity: sha512-1GUTmADc8trUC1YSW2lp9r6PmwluMoEyHajnE1kxVdbKGD0wJOlq/DvTWMUqLtBDCnQR+n//qgMtz6HwA/lotA==} - '@babel/plugin-transform-classes@7.28.4': - resolution: {integrity: sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/apply-release-plan@7.1.1': + resolution: {integrity: sha512-9qPCm/rLx/xoOFXIHGB229+4GOL76S4MC+7tyOuTsR6+1jYlfFDQORdvwR5hDA6y4FL2BPt3qpbcQIS+dW85LA==} - '@babel/plugin-transform-computed-properties@7.27.1': - resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/assemble-release-plan@6.0.10': + resolution: {integrity: sha512-rSDcqdJ9KbVyjpBIuCidhvZNIiVt1XaIYp73ycVQRIA5n/j6wQaEk0ChRLMUQ1vkxZe51PTQ9OIhbg6HQMW45A==} - '@babel/plugin-transform-destructuring@7.28.5': - resolution: {integrity: sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/changelog-git@0.2.1': + resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - '@babel/plugin-transform-dotall-regex@7.27.1': - resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/changelog-github@0.7.0': + resolution: {integrity: sha512-rBsbRvc4TVn+FvFnOVM3LxlFJfTXXCp8gfVJ+0BubxWNSVnLuAzowi5j+IEraLLP52w8AAs9QfKbPS3MMiXQJA==} - '@babel/plugin-transform-duplicate-keys@7.27.1': - resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/cli@2.31.1': + resolution: {integrity: sha512-uO05WTcRBwuVOJVSW8Cmpqw6q0WDL53ajGCMyszutvOe5toOnunbpM4jZzf+qxBOz7i0AzopZ8diBuewjmF40w==} + hasBin: true - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1': - resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@changesets/config@3.1.4': + resolution: {integrity: sha512-pf0bvD/v6WI2cRlZ6hzpjtZdSlXDXMAJ+Iz7xfFzV4ZxJ8OGGAON+1qYc99ZPrijnt4xp3VGG7eNvAOGS24V1Q==} - '@babel/plugin-transform-dynamic-import@7.27.1': - resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/errors@0.2.0': + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - '@babel/plugin-transform-explicit-resource-management@7.28.0': - resolution: {integrity: sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/get-dependents-graph@2.1.4': + resolution: {integrity: sha512-ZsS00x6WvmHq3sQv8oCMwL0f/z3wbXCVuSVTJwCnnmbC/iBdNJGFx1EcbMG4PC6sXRyH69liM4A2WKXzn/kRPg==} - '@babel/plugin-transform-exponentiation-operator@7.28.5': - resolution: {integrity: sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/get-github-info@0.8.0': + resolution: {integrity: sha512-cRnC+xdF0JIik7coko3iUP9qbnfi1iJQ3sAa6dE+Tx3+ET8bjFEm63PA4WEohgjYcmsOikPHWzPsMWWiZmntOQ==} - '@babel/plugin-transform-export-namespace-from@7.27.1': - resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/get-release-plan@4.0.16': + resolution: {integrity: sha512-2K5Om6CrMPm45rtvckfzWo7e9jOVCKLCnXia5eUPaURH7/LWzri7pK1TycdzAuAtehLkW7VPbWLCSExTHmiI6g==} - '@babel/plugin-transform-for-of@7.27.1': - resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/get-version-range-type@0.4.0': + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - '@babel/plugin-transform-function-name@7.27.1': - resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/git@3.0.4': + resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==} - '@babel/plugin-transform-json-strings@7.27.1': - resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/logger@0.1.1': + resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} - '@babel/plugin-transform-literals@7.27.1': - resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/parse@0.4.3': + resolution: {integrity: sha512-ZDmNc53+dXdWEv7fqIUSgRQOLYoUom5Z40gmLgmATmYR9NbL6FJJHwakcCpzaeCy+1D0m0n7mT4jj2B/MQPl7A==} - '@babel/plugin-transform-logical-assignment-operators@7.28.5': - resolution: {integrity: sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/pre@2.0.2': + resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} - '@babel/plugin-transform-member-expression-literals@7.27.1': - resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/read@0.6.7': + resolution: {integrity: sha512-D1G4AUYGrBEk8vj8MGwf75k9GpN6XL3wg8i42P2jZZwFLXnlr2Pn7r9yuQNbaMCarP7ZQWNJbV6XLeysAIMhTA==} - '@babel/plugin-transform-modules-amd@7.27.1': - resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/should-skip-package@0.1.2': + resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} - '@babel/plugin-transform-modules-commonjs@7.27.1': - resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/types@4.1.0': + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} - '@babel/plugin-transform-modules-systemjs@7.28.5': - resolution: {integrity: sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/types@6.1.0': + resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==} - '@babel/plugin-transform-modules-umd@7.27.1': - resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/write@0.4.0': + resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1': - resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@cloudflare/kv-asset-handler@0.5.0': + resolution: {integrity: sha512-jxQYkj8dSIzc0cD6cMMNdOc1UVjqSqu8BZdor5s8cGjW2I8BjODt/kWPVdY+u9zj3ms75Q5qaZgnxUad83+eAg==} + engines: {node: '>=22.0.0'} - '@babel/plugin-transform-new-target@7.27.1': - resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==} - engines: {node: '>=6.9.0'} + '@cloudflare/unenv-preset@2.16.1': + resolution: {integrity: sha512-ECxObrMfyTl5bhQf/lZCXwo5G6xX9IAUo+nDMKK4SZ8m4Jvvxp52vilxyySSWh2YTZz8+HQ07qGH/2rEom1vDw==} peerDependencies: - '@babel/core': ^7.0.0-0 + unenv: 2.0.0-rc.24 + workerd: '>1.20260305.0 <2.0.0-0' + peerDependenciesMeta: + workerd: + optional: true - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1': - resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==} - engines: {node: '>=6.9.0'} + '@cloudflare/vite-plugin@1.46.0': + resolution: {integrity: sha512-+pnxcFWo+kMozeCah9CxYI6VywMQmBBfEiGJZgYkIji+vnNWkWEC0WkL5MQWHCBIiEPIbcoZDQiKr6yruLFI2Q==} + hasBin: true peerDependencies: - '@babel/core': ^7.0.0-0 + vite: ^6.1.0 || ^7.0.0 || ^8.0.0 + wrangler: ^4.113.0 - '@babel/plugin-transform-numeric-separator@7.27.1': - resolution: {integrity: sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-rest-spread@7.28.4': - resolution: {integrity: sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-super@7.27.1': - resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-catch-binding@7.27.1': - resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-chaining@7.28.5': - resolution: {integrity: sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-parameters@7.27.7': - resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-methods@7.27.1': - resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-property-in-object@7.27.1': - resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-property-literals@7.27.1': - resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-display-name@7.28.0': - resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx-development@7.27.1': - resolution: {integrity: sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx@7.27.1': - resolution: {integrity: sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-pure-annotations@7.27.1': - resolution: {integrity: sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regenerator@7.28.4': - resolution: {integrity: sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regexp-modifiers@7.27.1': - resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-reserved-words@7.27.1': - resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-shorthand-properties@7.27.1': - resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-spread@7.27.1': - resolution: {integrity: sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-sticky-regex@7.27.1': - resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-template-literals@7.27.1': - resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typeof-symbol@7.27.1': - resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typescript@7.28.6': - resolution: {integrity: sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-escapes@7.27.1': - resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-property-regex@7.27.1': - resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-regex@7.27.1': - resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-sets-regex@7.27.1': - resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/polyfill@7.12.1': - resolution: {integrity: sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==} - deprecated: 🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information. - - '@babel/preset-env@7.28.5': - resolution: {integrity: sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - - '@babel/preset-react@7.28.5': - resolution: {integrity: sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-typescript@7.28.5': - resolution: {integrity: sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/register@7.28.3': - resolution: {integrity: sha512-CieDOtd8u208eI49bYl4z1J22ySFw87IGwE+IswFEExH7e3rLgKb0WNQeumnacQ1+VoDJLYI5QFA3AJZuyZQfA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/runtime@7.29.2': - resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.28.6': - resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.28.5': - resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.29.0': - resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.28.5': - resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.29.0': - resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} - engines: {node: '>=6.9.0'} - - '@babel/types@8.0.0-rc.3': - resolution: {integrity: sha512-mOm5ZrYmphGfqVWoH5YYMTITb3cDXsFgmvFlvkvWDMsR9X8RFnt7a0Wb6yNIdoFsiMO9WjYLq+U/FMtqIYAF8Q==} - engines: {node: ^20.19.0 || >=22.12.0} - - '@base-ui/react@1.3.0': - resolution: {integrity: sha512-FwpKqZbPz14AITp1CVgf4AjhKPe1OeeVKSBMdgD10zbFlj3QSWelmtCMLi2+/PFZZcIm3l87G7rwtCZJwHyXWA==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@types/react': ^17 || ^18 || ^19 - react: ^17 || ^18 || ^19 - react-dom: ^17 || ^18 || ^19 - peerDependenciesMeta: - '@types/react': - optional: true - - '@base-ui/utils@0.2.6': - resolution: {integrity: sha512-yQ+qeuqohwhsNpoYDqqXaLllYAkPCP4vYdDrVo8FQXaAPfHWm1pG/Vm+jmGTA5JFS0BAIjookyapuJFY8F9PIw==} - peerDependencies: - '@types/react': ^17 || ^18 || ^19 - react: ^17 || ^18 || ^19 - react-dom: ^17 || ^18 || ^19 - peerDependenciesMeta: - '@types/react': - optional: true - - '@blakeembrey/deque@1.0.5': - resolution: {integrity: sha512-6xnwtvp9DY1EINIKdTfvfeAtCYw4OqBZJhtiqkT3ivjnEfa25VQ3TsKvaFfKm8MyGIEfE95qLe+bNEt3nB0Ylg==} - - '@blakeembrey/template@1.2.0': - resolution: {integrity: sha512-w/63nURdkRPpg3AXbNr7lPv6HgOuVDyefTumiXsbXxtIwcuk5EXayWR5OpSwDjsQPgaYsfUSedMduaNOjAYY8A==} - - '@borewit/text-codec@0.1.1': - resolution: {integrity: sha512-5L/uBxmjaCIX5h8Z+uu+kA9BQLkc/Wl06UGR5ajNRxu+/XjonB5i8JpgFMrPj3LXTCPA0pv8yxUvbUi+QthGGA==} - - '@brillout/import@0.2.6': - resolution: {integrity: sha512-1GUTmADc8trUC1YSW2lp9r6PmwluMoEyHajnE1kxVdbKGD0wJOlq/DvTWMUqLtBDCnQR+n//qgMtz6HwA/lotA==} - - '@changesets/apply-release-plan@7.1.0': - resolution: {integrity: sha512-yq8ML3YS7koKQ/9bk1PqO0HMzApIFNwjlwCnwFEXMzNe8NpzeeYYKCmnhWJGkN8g7E51MnWaSbqRcTcdIxUgnQ==} - - '@changesets/assemble-release-plan@6.0.9': - resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==} - - '@changesets/changelog-git@0.2.1': - resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - - '@changesets/changelog-github@0.6.0': - resolution: {integrity: sha512-wA2/y4hR/A1K411cCT75rz0d46Iezxp1WYRFoFJDIUpkQ6oDBAIUiU7BZkDCmYgz0NBl94X1lgcZO+mHoiHnFg==} - - '@changesets/cli@2.30.0': - resolution: {integrity: sha512-5D3Nk2JPqMI1wK25pEymeWRSlSMdo5QOGlyfrKg0AOufrUcjEE3RQgaCpHoBiM31CSNrtSgdJ0U6zL1rLDDfBA==} - hasBin: true - - '@changesets/config@3.1.3': - resolution: {integrity: sha512-vnXjcey8YgBn2L1OPWd3ORs0bGC4LoYcK/ubpgvzNVr53JXV5GiTVj7fWdMRsoKUH7hhhMAQnsJUqLr21EncNw==} - - '@changesets/errors@0.2.0': - resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - - '@changesets/get-dependents-graph@2.1.3': - resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} - - '@changesets/get-github-info@0.8.0': - resolution: {integrity: sha512-cRnC+xdF0JIik7coko3iUP9qbnfi1iJQ3sAa6dE+Tx3+ET8bjFEm63PA4WEohgjYcmsOikPHWzPsMWWiZmntOQ==} - - '@changesets/get-release-plan@4.0.15': - resolution: {integrity: sha512-Q04ZaRPuEVZtA+auOYgFaVQQSA98dXiVe/yFaZfY7hoSmQICHGvP0TF4u3EDNHWmmCS4ekA/XSpKlSM2PyTS2g==} - - '@changesets/get-version-range-type@0.4.0': - resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - - '@changesets/git@3.0.4': - resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==} - - '@changesets/logger@0.1.1': - resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} - - '@changesets/parse@0.4.3': - resolution: {integrity: sha512-ZDmNc53+dXdWEv7fqIUSgRQOLYoUom5Z40gmLgmATmYR9NbL6FJJHwakcCpzaeCy+1D0m0n7mT4jj2B/MQPl7A==} - - '@changesets/pre@2.0.2': - resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} - - '@changesets/read@0.6.7': - resolution: {integrity: sha512-D1G4AUYGrBEk8vj8MGwf75k9GpN6XL3wg8i42P2jZZwFLXnlr2Pn7r9yuQNbaMCarP7ZQWNJbV6XLeysAIMhTA==} - - '@changesets/should-skip-package@0.1.2': - resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} - - '@changesets/types@4.1.0': - resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} - - '@changesets/types@6.1.0': - resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==} - - '@changesets/write@0.4.0': - resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - - '@cloudflare/kv-asset-handler@0.5.0': - resolution: {integrity: sha512-jxQYkj8dSIzc0cD6cMMNdOc1UVjqSqu8BZdor5s8cGjW2I8BjODt/kWPVdY+u9zj3ms75Q5qaZgnxUad83+eAg==} - engines: {node: '>=22.0.0'} - - '@cloudflare/unenv-preset@2.16.1': - resolution: {integrity: sha512-ECxObrMfyTl5bhQf/lZCXwo5G6xX9IAUo+nDMKK4SZ8m4Jvvxp52vilxyySSWh2YTZz8+HQ07qGH/2rEom1vDw==} - peerDependencies: - unenv: 2.0.0-rc.24 - workerd: '>1.20260305.0 <2.0.0-0' - peerDependenciesMeta: - workerd: - optional: true - - '@cloudflare/vite-plugin@1.37.2': - resolution: {integrity: sha512-+QSQVdRcaRp63R3PqPHuIxqZUJnp1wJI2C+Un3DuwYAy2rjiHXKHwAvPWeUWIB8u04sydPFEuOwa0RaZA/hsJQ==} - peerDependencies: - vite: ^6.1.0 || ^7.0.0 || ^8.0.0 - wrangler: ^4.93.0 - - '@cloudflare/workerd-darwin-64@1.20260518.1': - resolution: {integrity: sha512-IhZEf5kDd0CLRtFxGS9AUqfM5SY3EFScqqCY1VF9twNMdYpJDYrDZDJAkQitHF8sF/sPVVHYR4Aifpdq6tzmaA==} + '@cloudflare/workerd-darwin-64@1.20260721.1': + resolution: {integrity: sha512-VivNMhiEdZIB4JBWxf1RMJGROErv53qmQ+dvhjA1evrCouvqRYW718VqDideU3PSV7Ythl5Df48NqZYWoaEHpQ==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20260518.1': - resolution: {integrity: sha512-uqlNP1psd8SWfN1Lg5p8ePv8/piOOXt+ycvb8+NQopXECGeh9+PQ/yr/IQjpurxBhYpvSaMC+vEeihejahjkJg==} + '@cloudflare/workerd-darwin-arm64@1.20260721.1': + resolution: {integrity: sha512-k7oye1ZiuwnnBBA2eTMduconr/ud5ZxFtRNTsYwMdmJeeeislw2+M72otrHxxvybCP7JWPPlJ38uhfajpcyhOA==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@cloudflare/workerd-linux-64@1.20260518.1': - resolution: {integrity: sha512-D9p8Hl0lIQ46nYs4fQZp5F+9hhvgOcQJTF1SMQWpAxQSS5f8oX+vL5YdCrETUYnyoaoyEQETtkRrWYKJkPTFeg==} + '@cloudflare/workerd-linux-64@1.20260721.1': + resolution: {integrity: sha512-hon0lW4ZQ4boAVgaw+0ZFTNS8v5MWPWvK0HZnt4tDpKYnDUviLZawtUW3KqvFmCQTipVHl1S34j3J8Eqb93hGQ==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20260518.1': - resolution: {integrity: sha512-+vNRkuOp9E/uRKHgQXVDUBPF5cwtTeXK6+ucLK50QUFzMYycqVl8kTFN2b//BX2H5BI4bjMRhXoBpe/zAlGRWQ==} + '@cloudflare/workerd-linux-arm64@1.20260721.1': + resolution: {integrity: sha512-nAl+HRQqpX5b7xVwWcvLPZmCk8NQ2yjI0yvJTWcHiRswbMEg1ZZckVmjJUAn0PHzZARbCSyIV7v3UjM+SPRmIQ==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@cloudflare/workerd-windows-64@1.20260518.1': - resolution: {integrity: sha512-tnqofUq+ZvKliQHhboygbH7iy/Zm/MaCCotIlrqVj5a988+tPtndxyLM0r4vaAIC10iy/2LWCkwnE67VFTFiUA==} + '@cloudflare/workerd-windows-64@1.20260721.1': + resolution: {integrity: sha512-9paFG5cMTKz/CRixnEEnZbe5uvFPBFSDthxJHANfCWhUtBj49GSL1FPIokIg+Q+H8DGJEExU0lL92LtxD0lTxQ==} engines: {node: '>=16'} cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20260402.1': - resolution: {integrity: sha512-+oJ6FmNNYqct9yq2o1K98dIw8Pf1SF8qcs2mjyra40tK3PblB6Gqp890Ndmgj8stXwtJ9dAgSbO8i9tVHKwQyQ==} + '@cloudflare/workers-types@5.20260722.1': + resolution: {integrity: sha512-8+kivCgFGzwrAfNOWgSpzy/VDvmT/i5KWBgQhnygv3d1kajNn6mCYTbLKpouG0aY8mXjhv+IQm1a8r2K/H4pqQ==} - '@codemirror/autocomplete@6.20.1': - resolution: {integrity: sha512-1cvg3Vz1dSSToCNlJfRA2WSI4ht3K+WplO0UMOgmUYPivCyy2oueZY6Lx7M9wThm7SDUBViRmuT+OG/i8+ON9A==} + '@codemirror/autocomplete@6.20.3': + resolution: {integrity: sha512-tlosUqb+3BbxCxZdu4tKeRghPFC+QM7q4X5YhKV2eCmPG+1r2F3f4AaSz5sCrFqUtX4Jh20VFTKecl16MgiV9g==} - '@codemirror/commands@6.10.3': - resolution: {integrity: sha512-JFRiqhKu+bvSkDLI+rUhJwSxQxYb759W5GBezE8Uc8mHLqC9aV/9aTC7yJSqCtB3F00pylrLCwnyS91Ap5ej4Q==} + '@codemirror/commands@6.10.4': + resolution: {integrity: sha512-Ryk9y9T0FFVF0cUGhAknveAyUOl/A1qReTFi+qPKtOh2Z9F4AUBz3XOrYD4ZEgZirdugVzHvd/2/Wcwy5OliTg==} '@codemirror/lang-css@6.3.1': resolution: {integrity: sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==} @@ -2731,17 +2018,17 @@ packages: '@codemirror/lang-yaml@6.1.3': resolution: {integrity: sha512-AZ8DJBuXGVHybpBQhmZtgew5//4hv3tdkXnr3vDmOUMJRuB6vn/uuwtmTOTlqEaQFg3hQSVeA90NmvIQyUV6FQ==} - '@codemirror/language@6.12.3': - resolution: {integrity: sha512-QwCZW6Tt1siP37Jet9Tb02Zs81TQt6qQrZR2H+eGMcFsL1zMrk2/b9CLC7/9ieP1fjIUMgviLWMmgiHoJrj+ZA==} + '@codemirror/language@6.12.4': + resolution: {integrity: sha512-1q4PaT+o6PbgpkJt4Q8Fv5XJxTy4FUZ4MWETtyiDw3J0Pyr9E2vqcKL+k9wcvjNTIsauxvE7OfmWj3FRPHQ76A==} - '@codemirror/lint@6.9.5': - resolution: {integrity: sha512-GElsbU9G7QT9xXhpUg1zWGmftA/7jamh+7+ydKRuT0ORpWS3wOSP0yT1FOlIZa7mIJjpVPipErsyvVqB9cfTFA==} + '@codemirror/lint@6.9.7': + resolution: {integrity: sha512-28/+iWLYxKxsvGYhSYL7zaCZqLz5+FFFDq9tVsvGv9kv8RY4fFAchJ5WX9M3YrrRlTIsECjsXPqeNgnSmNP2dg==} - '@codemirror/state@6.6.0': - resolution: {integrity: sha512-4nbvra5R5EtiCzr9BTHiTLc+MLXK2QGiAVYMyi8PkQd3SR+6ixar/Q/01Fa21TBIDOZXgeWV4WppsQolSreAPQ==} + '@codemirror/state@6.7.1': + resolution: {integrity: sha512-9QzNDgE4EYDnAHfrTlR2lwiPciiOymLtwKK+8yHQzCc7GXhAP9xdEbEJFy2IWB1j9UGUl9BsgMmTo/ImA02T7A==} - '@codemirror/view@6.41.0': - resolution: {integrity: sha512-6H/qadXsVuDY219Yljhohglve8xf4B8xJkVOEWfA5uiYKiTFppjqsvsfR5iPA0RbvRBoOyTZpbLIxe9+0UR8xA==} + '@codemirror/view@6.43.6': + resolution: {integrity: sha512-EVunGSYN1wz1p75WY1s3Xg7t3i8Yol0kGZGizNdX9BUFgMFILYVe8/u6EVpo7Ff5PwbZuILb4QAq7IZoKzIEQA==} '@colors/colors@1.6.0': resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} @@ -2751,19 +2038,19 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@csstools/color-helpers@6.0.2': - resolution: {integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==} + '@csstools/color-helpers@6.1.0': + resolution: {integrity: sha512-064IFJdjTfUqnjpCVpMOdbr8FLQBhinbZj6yRv2An2E41O/pLEXqfFRWqGq/SxlE5PEUYTlvWsG2r8MswAVvkg==} engines: {node: '>=20.19.0'} - '@csstools/css-calc@3.1.1': - resolution: {integrity: sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==} + '@csstools/css-calc@3.2.1': + resolution: {integrity: sha512-DtdHlgXh5ZkA43cwBcAm+huzgJiwx3ZTWVjBs94kwz2xKqSimDA3lBgCjphYgwgVUMWatSM0pDd8TILB1yrVVg==} engines: {node: '>=20.19.0'} peerDependencies: '@csstools/css-parser-algorithms': ^4.0.0 '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-color-parser@4.0.2': - resolution: {integrity: sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==} + '@csstools/css-color-parser@4.1.9': + resolution: {integrity: sha512-paQcIaOO53Rk5+YrBaBjm/SgrV4INImjo2BT1DtQRYr+XeTRbeAYlS+jxXp9drqvKmtFnWRJKIalDLhZZDu42A==} engines: {node: '>=20.19.0'} peerDependencies: '@csstools/css-parser-algorithms': ^4.0.0 @@ -2775,8 +2062,8 @@ packages: peerDependencies: '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-syntax-patches-for-csstree@1.1.2': - resolution: {integrity: sha512-5GkLzz4prTIpoyeUiIu3iV6CSG3Plo7xRVOFPKI7FVEJ3mZ0A8SwK0XU3Gl7xAkiQ+mDyam+NNp875/C5y+jSA==} + '@csstools/css-syntax-patches-for-csstree@1.1.6': + resolution: {integrity: sha512-TcJCWFbXLPpJYq6z7bfOyjWYJDiDg2/I4gyUC9pqPNqHFRIey0EB0q0L5cSnQDfWJg8Jd6VadakxdIez/3zkqQ==} peerDependencies: css-tree: ^3.2.1 peerDependenciesMeta: @@ -2795,909 +2082,495 @@ packages: engines: {node: '>=16.9.0'} deprecated: no longer supported - '@dotenvx/dotenvx@1.59.1': - resolution: {integrity: sha512-Qg+meC+XFxliuVSDlEPkKnaUjdaJKK6FNx/Wwl2UxhQR8pyPIuLhMavsF7ePdB9qFZUWV1jEK3ckbJir/WmF4w==} + '@dotenvx/dotenvx@1.75.1': + resolution: {integrity: sha512-/BITOC9dmS/edY2zQwZNicQ059O6RKabtQfyEafV0nGtfYRNHYy1DIPiYVcov40+tob9hfmBnbR963dS+EQ1DQ==} hasBin: true - '@ecies/ciphers@0.2.6': - resolution: {integrity: sha512-patgsRPKGkhhoBjETV4XxD0En4ui5fbX0hzayqI3M8tvNMGUoUvmyYAIWwlxBc1KX5cturfqByYdj5bYGRpN9g==} - engines: {bun: '>=1', deno: '>=2.7.10', node: '>=16'} - peerDependencies: - '@noble/ciphers': ^1.0.0 + '@dotenvx/primitives@0.8.0': + resolution: {integrity: sha512-VYJy0uhFm9zTJ1TxBaW/pA8bjbOM/OttaNMwZ1RHG4JKyRG7DhSdiqD1ipQoAyoD22olUtxbP78W9xY3Wd11bg==} - '@effect/data@0.17.1': - resolution: {integrity: sha512-QCYkLE5Y5Dm5Yax5R3GmW4ZIgTx7W+kSZ7yq5eqQ/mFWa8i4yxbLuu8cudqzdeZtRtTGZKlhDxfFfgVtMywXJg==} - deprecated: this package has been merged into the main effect package + '@effect/platform-browser@4.0.0-beta.100': + resolution: {integrity: sha512-Ezxkl9nQuPQrHqkxSdJWazQmjaD+ZOYhKoFEiQvfCdiSoEKLN7SWWGkaCKlbO451hLyO4NUO7s2UGTGU3CHVsw==} + peerDependencies: + effect: ^4.0.0-beta.100 - '@effect/io@0.38.0': - resolution: {integrity: sha512-qlVC9ASxNC+L2NKX5qOV9672CE5wWizfwBSFaX2XLI7CC118WRvohCTIPQ52n50Bj5TmR20+na+U9C7e4VkqzA==} - deprecated: this package has been merged into the main effect package + '@effect/platform-bun@4.0.0-beta.100': + resolution: {integrity: sha512-UyH4bgzlV3aJOXbUr/3Zej3MBPe9TDrdkwStLDpVn9Yc6dKIKOJBd0G/8+OQhunGAuCL9a4SaNvwhkMJajahrg==} peerDependencies: - '@effect/data': ^0.17.1 + effect: ^4.0.0-beta.100 - '@effect/match@0.32.0': - resolution: {integrity: sha512-04QfnIgCcMnnNbGxTv2xa9/7q1c5kgpsBodqTUZ8eX86A/EdE8Czz+JkVarG00/xE+nYhQLXOXCN9Zj+dtqVkQ==} - deprecated: this package has been merged into the main effect package + '@effect/platform-node-shared@4.0.0-beta.100': + resolution: {integrity: sha512-PMsCXQeK2wnlmnqGCc79oqK9CX8ipZvoHxAy/CRojMF+zHIluxh61L3pzWAYEbMb19Be4Bxgqs7gK2hiV8H8Pg==} + engines: {node: '>=18.0.0'} peerDependencies: - '@effect/data': ^0.17.1 - '@effect/schema': ^0.33.0 + effect: ^4.0.0-beta.100 - '@effect/schema@0.33.1': - resolution: {integrity: sha512-h+fQInui4q3we8fegAygL0Cs5B2DD/+oC3JWthOh8eLcbKkbYM9smCD/PsHuyQ+BaeWiSP5JdvREGlP4Sg+Ysw==} - deprecated: this package has been merged into the main effect package + '@effect/platform-node@4.0.0-beta.100': + resolution: {integrity: sha512-nH5xgxOLfPj5Bi0/o4OaDsR98Z59lHKGty+TDqckg7zRz6jry82hGW982NRPduzX0MJloDsGp/3rfeN4Hu7Keg==} + engines: {node: '>=18.0.0'} peerDependencies: - '@effect/data': ^0.17.1 - '@effect/io': ^0.38.0 + effect: ^4.0.0-beta.100 + ioredis: ^5.7.0 - '@elastic/elasticsearch@9.2.0': - resolution: {integrity: sha512-M59qmMOZOk8pTcI9Ns2ow18PlyMbYrpcXqYwkChjiyXSmmqoCTvFXkC2bGQLxrrQkXaPbYR7aZqWD9b5F1405A==} - engines: {node: '>=18'} + '@elastic/elasticsearch@9.4.2': + resolution: {integrity: sha512-H9myMlLUeotkZhZ4ppinoMGDFxmW3lY8/s+4TIk1vFHyCvWU1Ej4T7azX5buCzemyFApgN0ywnEuvOtpel2VZg==} + engines: {node: '>=20'} + peerDependencies: + apache-arrow: 18.x - 21.x + peerDependenciesMeta: + apache-arrow: + optional: true - '@elastic/transport@9.2.3': - resolution: {integrity: sha512-BfeH5D6PXFYxZDVfy/47HhsBdV7hBPPd07LJPP5lJvstauAj3rzWkrXvce42OSuRPtI8IoR6/Pi5jNaYlptW8A==} + '@elastic/transport@9.3.7': + resolution: {integrity: sha512-L38Ax21uF2OPUmCRWycZ/dZdMYf7gMrtClcxvVrqJVFmn8ET2M++GYmFGJpLqOHS1beATxOXLWe7y2ijSQz/ng==} engines: {node: '>=20'} '@emnapi/core@1.10.0': resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} - '@emnapi/core@1.9.2': - resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==} + '@emnapi/core@1.11.1': + resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} + + '@emnapi/core@1.11.2': + resolution: {integrity: sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA==} '@emnapi/runtime@1.10.0': resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} - '@emnapi/runtime@1.9.2': - resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==} + '@emnapi/runtime@1.11.1': + resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} + + '@emnapi/runtime@1.11.2': + resolution: {integrity: sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA==} '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} - '@esbuild/aix-ppc64@0.27.3': - resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.27.4': - resolution: {integrity: sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.27.7': - resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] + '@emnapi/wasi-threads@1.2.2': + resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} - '@esbuild/aix-ppc64@0.28.0': - resolution: {integrity: sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==} + '@esbuild/aix-ppc64@0.28.1': + resolution: {integrity: sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.27.3': - resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} + '@esbuild/android-arm64@0.28.1': + resolution: {integrity: sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.27.4': - resolution: {integrity: sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==} + '@esbuild/android-arm@0.28.1': + resolution: {integrity: sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==} engines: {node: '>=18'} - cpu: [arm64] + cpu: [arm] os: [android] - '@esbuild/android-arm64@0.27.7': - resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} + '@esbuild/android-x64@0.28.1': + resolution: {integrity: sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==} engines: {node: '>=18'} - cpu: [arm64] + cpu: [x64] os: [android] - '@esbuild/android-arm64@0.28.0': - resolution: {integrity: sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==} + '@esbuild/darwin-arm64@0.28.1': + resolution: {integrity: sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==} engines: {node: '>=18'} cpu: [arm64] - os: [android] + os: [darwin] - '@esbuild/android-arm@0.27.3': - resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} + '@esbuild/darwin-x64@0.28.1': + resolution: {integrity: sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==} engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.27.4': - resolution: {integrity: sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.27.7': - resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] + cpu: [x64] + os: [darwin] - '@esbuild/android-arm@0.28.0': - resolution: {integrity: sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==} + '@esbuild/freebsd-arm64@0.28.1': + resolution: {integrity: sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==} engines: {node: '>=18'} - cpu: [arm] - os: [android] + cpu: [arm64] + os: [freebsd] - '@esbuild/android-x64@0.27.3': - resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} + '@esbuild/freebsd-x64@0.28.1': + resolution: {integrity: sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==} engines: {node: '>=18'} cpu: [x64] - os: [android] + os: [freebsd] - '@esbuild/android-x64@0.27.4': - resolution: {integrity: sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==} + '@esbuild/linux-arm64@0.28.1': + resolution: {integrity: sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==} engines: {node: '>=18'} - cpu: [x64] - os: [android] + cpu: [arm64] + os: [linux] - '@esbuild/android-x64@0.27.7': - resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} + '@esbuild/linux-arm@0.28.1': + resolution: {integrity: sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==} engines: {node: '>=18'} - cpu: [x64] - os: [android] + cpu: [arm] + os: [linux] - '@esbuild/android-x64@0.28.0': - resolution: {integrity: sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==} + '@esbuild/linux-ia32@0.28.1': + resolution: {integrity: sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==} engines: {node: '>=18'} - cpu: [x64] - os: [android] + cpu: [ia32] + os: [linux] - '@esbuild/darwin-arm64@0.27.3': - resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} + '@esbuild/linux-loong64@0.28.1': + resolution: {integrity: sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==} engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] + cpu: [loong64] + os: [linux] - '@esbuild/darwin-arm64@0.27.4': - resolution: {integrity: sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==} + '@esbuild/linux-mips64el@0.28.1': + resolution: {integrity: sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==} engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] + cpu: [mips64el] + os: [linux] - '@esbuild/darwin-arm64@0.27.7': - resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} + '@esbuild/linux-ppc64@0.28.1': + resolution: {integrity: sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==} engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] + cpu: [ppc64] + os: [linux] - '@esbuild/darwin-arm64@0.28.0': - resolution: {integrity: sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==} + '@esbuild/linux-riscv64@0.28.1': + resolution: {integrity: sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==} engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] + cpu: [riscv64] + os: [linux] - '@esbuild/darwin-x64@0.27.3': - resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} + '@esbuild/linux-s390x@0.28.1': + resolution: {integrity: sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==} engines: {node: '>=18'} - cpu: [x64] - os: [darwin] + cpu: [s390x] + os: [linux] - '@esbuild/darwin-x64@0.27.4': - resolution: {integrity: sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==} + '@esbuild/linux-x64@0.28.1': + resolution: {integrity: sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==} engines: {node: '>=18'} cpu: [x64] - os: [darwin] + os: [linux] - '@esbuild/darwin-x64@0.27.7': - resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} + '@esbuild/netbsd-arm64@0.28.1': + resolution: {integrity: sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==} engines: {node: '>=18'} - cpu: [x64] - os: [darwin] + cpu: [arm64] + os: [netbsd] - '@esbuild/darwin-x64@0.28.0': - resolution: {integrity: sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==} + '@esbuild/netbsd-x64@0.28.1': + resolution: {integrity: sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==} engines: {node: '>=18'} cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.27.3': - resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] + os: [netbsd] - '@esbuild/freebsd-arm64@0.27.4': - resolution: {integrity: sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==} + '@esbuild/openbsd-arm64@0.28.1': + resolution: {integrity: sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==} engines: {node: '>=18'} cpu: [arm64] - os: [freebsd] + os: [openbsd] - '@esbuild/freebsd-arm64@0.27.7': - resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} + '@esbuild/openbsd-x64@0.28.1': + resolution: {integrity: sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==} engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] + cpu: [x64] + os: [openbsd] - '@esbuild/freebsd-arm64@0.28.0': - resolution: {integrity: sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==} + '@esbuild/openharmony-arm64@0.28.1': + resolution: {integrity: sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==} engines: {node: '>=18'} cpu: [arm64] - os: [freebsd] + os: [openharmony] - '@esbuild/freebsd-x64@0.27.3': - resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} + '@esbuild/sunos-x64@0.28.1': + resolution: {integrity: sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==} engines: {node: '>=18'} cpu: [x64] - os: [freebsd] + os: [sunos] - '@esbuild/freebsd-x64@0.27.4': - resolution: {integrity: sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==} + '@esbuild/win32-arm64@0.28.1': + resolution: {integrity: sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==} engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] + cpu: [arm64] + os: [win32] - '@esbuild/freebsd-x64@0.27.7': - resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} + '@esbuild/win32-ia32@0.28.1': + resolution: {integrity: sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==} engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] + cpu: [ia32] + os: [win32] - '@esbuild/freebsd-x64@0.28.0': - resolution: {integrity: sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==} + '@esbuild/win32-x64@0.28.1': + resolution: {integrity: sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==} engines: {node: '>=18'} cpu: [x64] - os: [freebsd] + os: [win32] - '@esbuild/linux-arm64@0.27.3': - resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@esbuild/linux-arm64@0.27.4': - resolution: {integrity: sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@esbuild/linux-arm64@0.27.7': - resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] + '@eslint/config-array@0.23.5': + resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@esbuild/linux-arm64@0.28.0': - resolution: {integrity: sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] + '@eslint/config-helpers@0.6.0': + resolution: {integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@esbuild/linux-arm@0.27.3': - resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] + '@eslint/core@1.2.1': + resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@esbuild/linux-arm@0.27.4': - resolution: {integrity: sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] + '@eslint/js@10.0.1': + resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + eslint: ^10.0.0 + peerDependenciesMeta: + eslint: + optional: true - '@esbuild/linux-arm@0.27.7': - resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] + '@eslint/object-schema@3.0.5': + resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@esbuild/linux-arm@0.28.0': - resolution: {integrity: sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] + '@eslint/plugin-kit@0.7.2': + resolution: {integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@esbuild/linux-ia32@0.27.3': - resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] + '@exodus/bytes@1.15.1': + resolution: {integrity: sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + peerDependencies: + '@noble/hashes': ^1.8.0 || ^2.0.0 + peerDependenciesMeta: + '@noble/hashes': + optional: true - '@esbuild/linux-ia32@0.27.4': - resolution: {integrity: sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] + '@firebase/ai@2.13.1': + resolution: {integrity: sha512-RhT/VViTPBSplhQSuEp62HhLvfsV+LowMh8ZUo5MMRDzG7oFtSget4Kmg5oHP50hDVyWQuQj6to9iPFEZk08Tw==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app': 0.x + '@firebase/app-types': 0.x - '@esbuild/linux-ia32@0.27.7': - resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] + '@firebase/analytics-compat@0.2.28': + resolution: {integrity: sha512-lIAlqUUbBu93FJMlQfslryQtBwwzdzvp23ePC6FNgymXk6Ook5v4Uvc0vdutvoIeqmyA3LfP0ZeRFK8+11kOOQ==} + peerDependencies: + '@firebase/app-compat': 0.x - '@esbuild/linux-ia32@0.28.0': - resolution: {integrity: sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] + '@firebase/analytics-types@0.8.4': + resolution: {integrity: sha512-zQ+XTgkwH6CY/eUSHJRP7e4LxM30RCxlCmob5sy2axs25GE3Ny0XdgpDscMTHHQIGqWkxPXad4w2Mw9sCgT8zQ==} - '@esbuild/linux-loong64@0.27.3': - resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] + '@firebase/analytics@0.10.22': + resolution: {integrity: sha512-8BSaq/QRGU1+xyi8L2PTLTJU7MH9aMA72RQdIxrbhWFauOZY9OXo8f2YDN/972xA8d588tlnNVEQ2Mo69pT9Ow==} + peerDependencies: + '@firebase/app': 0.x - '@esbuild/linux-loong64@0.27.4': - resolution: {integrity: sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] + '@firebase/app-check-compat@0.4.5': + resolution: {integrity: sha512-JI17mVcZs34zO6ZeSCrw4U2iohqy+n6GIzkbmsA+TbVjmvFLkUKt3bs5M+qRBteQm/0IWzqSHYFzEQLzDTQebg==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x - '@esbuild/linux-loong64@0.27.7': - resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] + '@firebase/app-check-interop-types@0.3.4': + resolution: {integrity: sha512-zz3i6e13B8BfWiLy8MABtTh8aGIACgKbf9UVnyHcWs+yQzJXgQcl8A46b0zfaiJHdQ+niF0ouAfcpuf+3LMPQg==} - '@esbuild/linux-loong64@0.28.0': - resolution: {integrity: sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] + '@firebase/app-check-types@0.5.4': + resolution: {integrity: sha512-xV7JsIyzVr15aA7f3Pi0rB9gdBuVubs89FGA8VkRYA4g0l78poADgdfrScgf7NndSg9mm7cR7PJyY0+t22KaGw==} - '@esbuild/linux-mips64el@0.27.3': - resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] + '@firebase/app-check@0.12.0': + resolution: {integrity: sha512-wMeT6HLWRAuW7Cp/5UjWBGKgjPNxWNOoNf4PRIv0weljoGMZVeqbUY7wNBWTI2/31cX1NlXx8gQruDLsUShB3Q==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app': 0.x - '@esbuild/linux-mips64el@0.27.4': - resolution: {integrity: sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] + '@firebase/app-compat@0.5.15': + resolution: {integrity: sha512-HaiSM9TwbGIR4b7F6+UncHWlqdH89eeY7VUskaOGOlI2PxHS5Z+6hHsYGvNLy0SHDE6zyXO+3QSA6a4aqQxsqA==} + engines: {node: '>=20.0.0'} - '@esbuild/linux-mips64el@0.27.7': - resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] + '@firebase/app-types@0.9.5': + resolution: {integrity: sha512-YevqTjvo7Iujsa9Dwowmd6dSoElhzmD63ZSrq6bzjvQ6POjYgNjOFHLmNIgJs48eNO093NCERibuFnxbfOvU7A==} - '@esbuild/linux-mips64el@0.28.0': - resolution: {integrity: sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] + '@firebase/app@0.15.1': + resolution: {integrity: sha512-iD9+Z5HcPo0Uop5f72/VYMeXwKucBhW7iFrISkJFvQ+lSZikTNgTz0FgAtaaTkAG0pEZSnCymA2Fu49n0rcufQ==} + engines: {node: '>=20.0.0'} - '@esbuild/linux-ppc64@0.27.3': - resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] + '@firebase/auth-compat@0.6.8': + resolution: {integrity: sha512-llcBREUC4iSNKZ6rvwud7Oz9Q7aAWU6KuQLa6pdu7Q+QAQsy4JLw6yFgxwtmzabsgznHmmcsX2UjHLLzqUxi3Q==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x - '@esbuild/linux-ppc64@0.27.4': - resolution: {integrity: sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] + '@firebase/auth-interop-types@0.2.5': + resolution: {integrity: sha512-1Li/YuBDBAXcKv7BzY4U28gontUmAaw53sYiqbaVOMCFb2lFKK/c3CGMUWqtwe7+TXrl3poWnTCL5umYBg85Eg==} - '@esbuild/linux-ppc64@0.27.7': - resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] + '@firebase/auth-types@0.13.1': + resolution: {integrity: sha512-0c1Mnid0uMDfGJHeUS4zfvBa4/CedJXotGy/n/NZJnBjwiJawt0ZYU+wH2VAVLiRCEfG2ncCkAX3yd1/2nrB7g==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x - '@esbuild/linux-ppc64@0.28.0': - resolution: {integrity: sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] + '@firebase/auth@1.13.3': + resolution: {integrity: sha512-bqiq4uubDN2YyQkdvSWPQeJyXAv2O76ImF41En9b6UhV5JuBVYDoHYrrrE3NzIuGkpFMKagfhMRP4Vz6t+yQSQ==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app': 0.x + '@react-native-async-storage/async-storage': ^2.2.0 || ^3.0.0 + peerDependenciesMeta: + '@react-native-async-storage/async-storage': + optional: true - '@esbuild/linux-riscv64@0.27.3': - resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] + '@firebase/component@0.7.3': + resolution: {integrity: sha512-wFofIaa2879ogD/WvkjYXJxRmfnL0scen6ORgaC3na1FNOR9ASIUANQdhqQcmWu/h77/pVHY7ch5flewa5Bcew==} + engines: {node: '>=20.0.0'} - '@esbuild/linux-riscv64@0.27.4': - resolution: {integrity: sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] + '@firebase/data-connect@0.7.1': + resolution: {integrity: sha512-2LbUU8mmSA63HknxQMmWHjpzuNLBKflvVwQc2tpoVKg0biWleNEJX031ELks0vzFs+dDjOUkCJR72RP6mQHFOg==} + peerDependencies: + '@firebase/app': 0.x - '@esbuild/linux-riscv64@0.27.7': - resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] + '@firebase/database-compat@2.1.4': + resolution: {integrity: sha512-3pK35F1MAgmqFJQlf2nhQl44vtAXQO1uaCaQOEUI9kCRtLFqi7N+QRKR7lFZPg+xIZIyubgxQaxY69YgfZRZWg==} + engines: {node: '>=20.0.0'} - '@esbuild/linux-riscv64@0.28.0': - resolution: {integrity: sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] + '@firebase/database-types@1.0.20': + resolution: {integrity: sha512-kegbOk/w8iU64pr0q6k2ItyNGjnQBMHFhwS7ohdWI4W+pc0/zhhdGXTdFj6X1oxItRjPoYOsSQmERgBkn/ihxw==} - '@esbuild/linux-s390x@0.27.3': - resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] + '@firebase/database@1.1.3': + resolution: {integrity: sha512-XwWCa+E4TvNGpGwXrycLRNfdogADwFcvuhyow6wDWma9W54roaQIhe+4PM0KiLsIftBdSCGI7OKCXrdSRHbIhw==} + engines: {node: '>=20.0.0'} - '@esbuild/linux-s390x@0.27.4': - resolution: {integrity: sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] + '@firebase/firestore-compat@0.4.11': + resolution: {integrity: sha512-W7o1WdwWq5aABK5Up2ncSvTQs/QGLR/fy7cVpFBNqhsXtxoMtflHf2xBIG6+aoptcuGAobddq4g2Sq27wqHaYw==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x - '@esbuild/linux-s390x@0.27.7': - resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] + '@firebase/firestore-types@3.0.4': + resolution: {integrity: sha512-jGn+JSS4X9zZsrfu7Yw66v5YRdOLD1oyQh4USR0xWl4CUqV/DA6bNIXRPpxH/cUl3iVTNiP6MN7g+EL42A4qfA==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x - '@esbuild/linux-s390x@0.28.0': - resolution: {integrity: sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] + '@firebase/firestore@4.16.0': + resolution: {integrity: sha512-qdHMHMvMr0nRMuZyWNR/ArWa0YlPE3C4eAbmxTASJMYXAesKPL0Y54p70moggrNPzaK7MSIIq5RDJJyntQyIYA==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app': 0.x - '@esbuild/linux-x64@0.27.3': - resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] + '@firebase/functions-compat@0.4.5': + resolution: {integrity: sha512-10qlUXGY25G5/1g9UihqksPp2po+ZqSE7LEizsrdUP7vrTmkysXxGSZCDyojSEp6mQe/ecRDdDDI+z4XRdb4wQ==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x - '@esbuild/linux-x64@0.27.4': - resolution: {integrity: sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] + '@firebase/functions-types@0.6.4': + resolution: {integrity: sha512-zV6kgqtduR4rUAdC/ilS7kmb93XD7bEZoJDlVBZqlOw2uGGGCNBQBuleww2rr0Ulr3L9o2TDjumEt68/l1f9DQ==} - '@esbuild/linux-x64@0.27.7': - resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] + '@firebase/functions@0.13.5': + resolution: {integrity: sha512-bWCx713f4kE/uFV7gdFOLBS7lDoiZj48MRkbAqe35gkXcCeWF4QjRNO07Jhmve7EJIoQOBczL29y2r8VRuN1kw==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app': 0.x - '@esbuild/linux-x64@0.28.0': - resolution: {integrity: sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] + '@firebase/installations-compat@0.2.22': + resolution: {integrity: sha512-C/zpAuTP5S9OgKSPvXRupw3hoY/JZSlA1wFjD/Sb7LIQE0FNbcMdO8Y4KXVEkjVzma/DDDDIAzxEXqKMAzc88w==} + peerDependencies: + '@firebase/app-compat': 0.x - '@esbuild/netbsd-arm64@0.27.3': - resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] + '@firebase/installations-types@0.5.4': + resolution: {integrity: sha512-U2eFapdHwjb43Vx9o+Pmj4dFfvcHEK1IirEFLqMtWrTHvmdrS3gBpBD1kmJk/9HjsOtoHZxJ2Paoe79e+L1ZPg==} + peerDependencies: + '@firebase/app-types': 0.x - '@esbuild/netbsd-arm64@0.27.4': - resolution: {integrity: sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-arm64@0.27.7': - resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-arm64@0.28.0': - resolution: {integrity: sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.27.3': - resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.27.4': - resolution: {integrity: sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.27.7': - resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.28.0': - resolution: {integrity: sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-arm64@0.27.3': - resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-arm64@0.27.4': - resolution: {integrity: sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-arm64@0.27.7': - resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-arm64@0.28.0': - resolution: {integrity: sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.27.3': - resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.27.4': - resolution: {integrity: sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.27.7': - resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.28.0': - resolution: {integrity: sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openharmony-arm64@0.27.3': - resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/openharmony-arm64@0.27.4': - resolution: {integrity: sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/openharmony-arm64@0.27.7': - resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/openharmony-arm64@0.28.0': - resolution: {integrity: sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/sunos-x64@0.27.3': - resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.27.4': - resolution: {integrity: sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.27.7': - resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.28.0': - resolution: {integrity: sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.27.3': - resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.27.4': - resolution: {integrity: sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.27.7': - resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.28.0': - resolution: {integrity: sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.27.3': - resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.27.4': - resolution: {integrity: sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.27.7': - resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.28.0': - resolution: {integrity: sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.27.3': - resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.27.4': - resolution: {integrity: sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.27.7': - resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.28.0': - resolution: {integrity: sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@eslint-community/eslint-utils@4.9.1': - resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - - '@eslint-community/regexpp@4.12.2': - resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@eslint/js@10.0.1': - resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - peerDependencies: - eslint: ^10.0.0 - peerDependenciesMeta: - eslint: - optional: true - - '@eslint/js@8.57.1': - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@exodus/bytes@1.15.0': - resolution: {integrity: sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - peerDependencies: - '@noble/hashes': ^1.8.0 || ^2.0.0 - peerDependenciesMeta: - '@noble/hashes': - optional: true - - '@firebase/analytics-compat@0.2.6': - resolution: {integrity: sha512-4MqpVLFkGK7NJf/5wPEEP7ePBJatwYpyjgJ+wQHQGHfzaCDgntOnl9rL2vbVGGKCnRqWtZDIWhctB86UWXaX2Q==} - peerDependencies: - '@firebase/app-compat': 0.x - - '@firebase/analytics-types@0.8.0': - resolution: {integrity: sha512-iRP+QKI2+oz3UAh4nPEq14CsEjrjD6a5+fuypjScisAh9kXKFvdJOZJDwk7kikLvWVLGEs9+kIUS4LPQV7VZVw==} - - '@firebase/analytics@0.10.0': - resolution: {integrity: sha512-Locv8gAqx0e+GX/0SI3dzmBY5e9kjVDtD+3zCFLJ0tH2hJwuCAiL+5WkHuxKj92rqQj/rvkBUCfA1ewlX2hehg==} - peerDependencies: - '@firebase/app': 0.x - - '@firebase/app-check-compat@0.3.7': - resolution: {integrity: sha512-cW682AxsyP1G+Z0/P7pO/WT2CzYlNxoNe5QejVarW2o5ZxeWSSPAiVEwpEpQR/bUlUmdeWThYTMvBWaopdBsqw==} - peerDependencies: - '@firebase/app-compat': 0.x - - '@firebase/app-check-interop-types@0.3.0': - resolution: {integrity: sha512-xAxHPZPIgFXnI+vb4sbBjZcde7ZluzPPaSK7Lx3/nmuVk4TjZvnL8ONnkd4ERQKL8WePQySU+pRcWkh8rDf5Sg==} - - '@firebase/app-check-types@0.5.0': - resolution: {integrity: sha512-uwSUj32Mlubybw7tedRzR24RP8M8JUVR3NPiMk3/Z4bCmgEKTlQBwMXrehDAZ2wF+TsBq0SN1c6ema71U/JPyQ==} - - '@firebase/app-check@0.8.0': - resolution: {integrity: sha512-dRDnhkcaC2FspMiRK/Vbp+PfsOAEP6ZElGm9iGFJ9fDqHoPs0HOPn7dwpJ51lCFi1+2/7n5pRPGhqF/F03I97g==} - peerDependencies: - '@firebase/app': 0.x - - '@firebase/app-compat@0.2.13': - resolution: {integrity: sha512-j6ANZaWjeVy5zg6X7uiqh6lM6o3n3LD1+/SJFNs9V781xyryyZWXe+tmnWNWPkP086QfJoNkWN9pMQRqSG4vMg==} - - '@firebase/app-types@0.9.0': - resolution: {integrity: sha512-AeweANOIo0Mb8GiYm3xhTEBVCmPwTYAu9Hcd2qSkLuga/6+j9b1Jskl5bpiSQWy9eJ/j5pavxj6eYogmnuzm+Q==} - - '@firebase/app@0.9.13': - resolution: {integrity: sha512-GfiI1JxJ7ecluEmDjPzseRXk/PX31hS7+tjgBopL7XjB2hLUdR+0FTMXy2Q3/hXezypDvU6or7gVFizDESrkXw==} - - '@firebase/auth-compat@0.4.2': - resolution: {integrity: sha512-Q30e77DWXFmXEt5dg5JbqEDpjw9y3/PcP9LslDPR7fARmAOTIY9MM6HXzm9KC+dlrKH/+p6l8g9ifJiam9mc4A==} - peerDependencies: - '@firebase/app-compat': 0.x - - '@firebase/auth-interop-types@0.2.1': - resolution: {integrity: sha512-VOaGzKp65MY6P5FI84TfYKBXEPi6LmOCSMMzys6o2BN2LOsqy7pCuZCup7NYnfbk5OkkQKzvIfHOzTm0UDpkyg==} - - '@firebase/auth-types@0.12.0': - resolution: {integrity: sha512-pPwaZt+SPOshK8xNoiQlK5XIrS97kFYc3Rc7xmy373QsOJ9MmqXxLaYssP5Kcds4wd2qK//amx/c+A8O2fVeZA==} - peerDependencies: - '@firebase/app-types': 0.x - '@firebase/util': 1.x - - '@firebase/auth@0.23.2': - resolution: {integrity: sha512-dM9iJ0R6tI1JczuGSxXmQbXAgtYie0K4WvKcuyuSTCu9V8eEDiz4tfa1sO3txsfvwg7nOY3AjoCyMYEdqZ8hdg==} - peerDependencies: - '@firebase/app': 0.x - - '@firebase/component@0.6.4': - resolution: {integrity: sha512-rLMyrXuO9jcAUCaQXCMjCMUsWrba5fzHlNK24xz5j2W6A/SRmK8mZJ/hn7V0fViLbxC0lPMtrK1eYzk6Fg03jA==} - - '@firebase/database-compat@0.3.4': - resolution: {integrity: sha512-kuAW+l+sLMUKBThnvxvUZ+Q1ZrF/vFJ58iUY9kAcbX48U03nVzIF6Tmkf0p3WVQwMqiXguSgtOPIB6ZCeF+5Gg==} - - '@firebase/database-types@0.10.4': - resolution: {integrity: sha512-dPySn0vJ/89ZeBac70T+2tWWPiJXWbmRygYv0smT5TfE3hDrQ09eKMF3Y+vMlTdrMWq7mUdYW5REWPSGH4kAZQ==} - - '@firebase/database@0.14.4': - resolution: {integrity: sha512-+Ea/IKGwh42jwdjCyzTmeZeLM3oy1h0mFPsTy6OqCWzcu/KFqRAr5Tt1HRCOBlNOdbh84JPZC47WLU18n2VbxQ==} - - '@firebase/firestore-compat@0.3.12': - resolution: {integrity: sha512-mazuNGAx5Kt9Nph0pm6ULJFp/+j7GSsx+Ncw1GrnKl+ft1CQ4q2LcUssXnjqkX2Ry0fNGqUzC1mfIUrk9bYtjQ==} - peerDependencies: - '@firebase/app-compat': 0.x - - '@firebase/firestore-types@2.5.1': - resolution: {integrity: sha512-xG0CA6EMfYo8YeUxC8FeDzf6W3FX1cLlcAGBYV6Cku12sZRI81oWcu61RSKM66K6kUENP+78Qm8mvroBcm1whw==} - peerDependencies: - '@firebase/app-types': 0.x - '@firebase/util': 1.x - - '@firebase/firestore@3.13.0': - resolution: {integrity: sha512-NwcnU+madJXQ4fbLkGx1bWvL612IJN/qO6bZ6dlPmyf7QRyu5azUosijdAN675r+bOOJxMtP1Bv981bHBXAbUg==} - engines: {node: '>=10.10.0'} - peerDependencies: - '@firebase/app': 0.x - - '@firebase/functions-compat@0.3.5': - resolution: {integrity: sha512-uD4jwgwVqdWf6uc3NRKF8cSZ0JwGqSlyhPgackyUPe+GAtnERpS4+Vr66g0b3Gge0ezG4iyHo/EXW/Hjx7QhHw==} - peerDependencies: - '@firebase/app-compat': 0.x - - '@firebase/functions-types@0.6.0': - resolution: {integrity: sha512-hfEw5VJtgWXIRf92ImLkgENqpL6IWpYaXVYiRkFY1jJ9+6tIhWM7IzzwbevwIIud/jaxKVdRzD7QBWfPmkwCYw==} - - '@firebase/functions@0.10.0': - resolution: {integrity: sha512-2U+fMNxTYhtwSpkkR6WbBcuNMOVaI7MaH3cZ6UAeNfj7AgEwHwMIFLPpC13YNZhno219F0lfxzTAA0N62ndWzA==} - peerDependencies: - '@firebase/app': 0.x - - '@firebase/installations-compat@0.2.4': - resolution: {integrity: sha512-LI9dYjp0aT9Njkn9U4JRrDqQ6KXeAmFbRC0E7jI7+hxl5YmRWysq5qgQl22hcWpTk+cm3es66d/apoDU/A9n6Q==} - peerDependencies: - '@firebase/app-compat': 0.x - - '@firebase/installations-types@0.5.0': - resolution: {integrity: sha512-9DP+RGfzoI2jH7gY4SlzqvZ+hr7gYzPODrbzVD82Y12kScZ6ZpRg/i3j6rleto8vTFC8n6Len4560FnV1w2IRg==} - peerDependencies: - '@firebase/app-types': 0.x - - '@firebase/installations@0.6.4': - resolution: {integrity: sha512-u5y88rtsp7NYkCHC3ElbFBrPtieUybZluXyzl7+4BsIz4sqb4vSAuwHEUgCgCeaQhvsnxDEU6icly8U9zsJigA==} + '@firebase/installations@0.6.22': + resolution: {integrity: sha512-ef6nn3GGQTdReCfotRMG77PJZu8CqEbiK5pEoBnM0gTu/Z9v0i/az2p3HABsa/1beQmmyh1OsOjf7P5+pgwdZw==} peerDependencies: '@firebase/app': 0.x - '@firebase/logger@0.4.0': - resolution: {integrity: sha512-eRKSeykumZ5+cJPdxxJRgAC3G5NknY2GwEbKfymdnXtnT0Ucm4pspfR6GT4MUQEDuJwRVbVcSx85kgJulMoFFA==} + '@firebase/logger@0.5.1': + resolution: {integrity: sha512-vZKLsqE1ABOy8OjQiE7cUTFn4gvaqlk88yp8N94Pk/sDpq61YqZGqmVFZTvOyflTwuYFcWirBdYGoJgbDaXKYQ==} + engines: {node: '>=20.0.0'} - '@firebase/messaging-compat@0.2.4': - resolution: {integrity: sha512-lyFjeUhIsPRYDPNIkYX1LcZMpoVbBWXX4rPl7c/rqc7G+EUea7IEtSt4MxTvh6fDfPuzLn7+FZADfscC+tNMfg==} + '@firebase/messaging-compat@0.2.27': + resolution: {integrity: sha512-JNOiu1PPgdHzEPEtoFiNxQuu0x9bm4bfETSQCpGfcTlgWkhlSK7uh7nlsjC10TQLUNgYetLmuutaYTh8aeYLVA==} peerDependencies: '@firebase/app-compat': 0.x - '@firebase/messaging-interop-types@0.2.0': - resolution: {integrity: sha512-ujA8dcRuVeBixGR9CtegfpU4YmZf3Lt7QYkcj693FFannwNuZgfAYaTmbJ40dtjB81SAu6tbFPL9YLNT15KmOQ==} + '@firebase/messaging-interop-types@0.2.5': + resolution: {integrity: sha512-tUEKnaAP2Y/MNIqgnriPpV6e5l13Vs/+p2yrd6NGlncPJT9O3a8muYZtdnWe+IJ4fgKLHJVC79n/asxk/N5Msw==} - '@firebase/messaging@0.12.4': - resolution: {integrity: sha512-6JLZct6zUaex4g7HI3QbzeUrg9xcnmDAPTWpkoMpd/GoSVWH98zDoWXMGrcvHeCAIsLpFMe4MPoZkJbrPhaASw==} + '@firebase/messaging@0.13.0': + resolution: {integrity: sha512-GZoo0uGRvEbszo83xcgbjJp4FpkmBEr4l8Z4hi8gl+P1Spn/MTK3HapanMzSX4yUHuTEiF5hasWRxOaz+o5sxQ==} peerDependencies: '@firebase/app': 0.x - '@firebase/performance-compat@0.2.4': - resolution: {integrity: sha512-nnHUb8uP9G8islzcld/k6Bg5RhX62VpbAb/Anj7IXs/hp32Eb2LqFPZK4sy3pKkBUO5wcrlRWQa6wKOxqlUqsg==} + '@firebase/performance-compat@0.2.25': + resolution: {integrity: sha512-q6NjTXpIPoFuUmCmMN/maCdTgzT6aExs9xZo+PxfVLj6uLVGvpyAD6XWjmcrb7jChsFBYbq7E5dyNDF7Zhy9kA==} peerDependencies: '@firebase/app-compat': 0.x - '@firebase/performance-types@0.2.0': - resolution: {integrity: sha512-kYrbr8e/CYr1KLrLYZZt2noNnf+pRwDq2KK9Au9jHrBMnb0/C9X9yWSXmZkFt4UIdsQknBq8uBB7fsybZdOBTA==} + '@firebase/performance-types@0.2.4': + resolution: {integrity: sha512-kJSEk7b0uhpcPRyL4SQ/GPujLqk52XNKcXlnsKDbWGAb9vugcLvOU3u6zfEdwd+d8hWJb5S5ZizV1JFFI0nkKg==} - '@firebase/performance@0.6.4': - resolution: {integrity: sha512-HfTn/bd8mfy/61vEqaBelNiNnvAbUtME2S25A67Nb34zVuCSCRIX4SseXY6zBnOFj3oLisaEqhVcJmVPAej67g==} + '@firebase/performance@0.7.12': + resolution: {integrity: sha512-fe7nV8teUU3OBHlMUZ9Lw4gLhCW2k4m5Uc3pfWGV+fl8uwJQBGp9Q3lqsJ+HSrFu3Q2pJyLAgrClPGSKyDeYgQ==} peerDependencies: '@firebase/app': 0.x - '@firebase/remote-config-compat@0.2.4': - resolution: {integrity: sha512-FKiki53jZirrDFkBHglB3C07j5wBpitAaj8kLME6g8Mx+aq7u9P7qfmuSRytiOItADhWUj7O1JIv7n9q87SuwA==} + '@firebase/remote-config-compat@0.2.27': + resolution: {integrity: sha512-FYwYWwSbUdza/pRX4NpSBm/Pimntum3jEIBpnDn5Ey1jHNWgjxrE8Z5SB4mCHd5wGCoYd3koJzxARl/VWIEx0Q==} peerDependencies: '@firebase/app-compat': 0.x - '@firebase/remote-config-types@0.3.0': - resolution: {integrity: sha512-RtEH4vdcbXZuZWRZbIRmQVBNsE7VDQpet2qFvq6vwKLBIQRQR5Kh58M4ok3A3US8Sr3rubYnaGqZSurCwI8uMA==} + '@firebase/remote-config-types@0.5.1': + resolution: {integrity: sha512-cX/1LT6KQwkXzck2eSzeKnuvXZCyr8qaPpDcikoJs7jmI+oBOXixpDLeDtWj1U6GNMkIoXrEDNoyT2Ypcyp5/A==} - '@firebase/remote-config@0.4.4': - resolution: {integrity: sha512-x1ioTHGX8ZwDSTOVp8PBLv2/wfwKzb4pxi0gFezS5GCJwbLlloUH4YYZHHS83IPxnua8b6l0IXUaWd0RgbWwzQ==} + '@firebase/remote-config@0.9.0': + resolution: {integrity: sha512-aNn6/eJhsSC+gXSToiXiYPv3ypLP9lFtzl+/q9kSOBPB7D6rae0Rt2uENZZLXGYbEgHYKQblOhijJAXGbbJjtQ==} peerDependencies: '@firebase/app': 0.x - '@firebase/storage-compat@0.3.2': - resolution: {integrity: sha512-wvsXlLa9DVOMQJckbDNhXKKxRNNewyUhhbXev3t8kSgoCotd1v3MmqhKKz93ePhDnhHnDs7bYHy+Qa8dRY6BXw==} + '@firebase/storage-compat@0.4.3': + resolution: {integrity: sha512-gruVqjtUGX8tEoeNbaWXZm0Zfcfcb7fvmDmBxV8yPAbWvExRnZYLO2+qw9idxNE7BvPXt5csyjSYHy//dAizxw==} + engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app-compat': 0.x - '@firebase/storage-types@0.8.0': - resolution: {integrity: sha512-isRHcGrTs9kITJC0AVehHfpraWFui39MPaU7Eo8QfWlqW7YPymBmRgjDrlOgFdURh6Cdeg07zmkLP5tzTKRSpg==} + '@firebase/storage-types@0.8.4': + resolution: {integrity: sha512-BT7cwxJOx8SWwlQfrlC+bD/Sk3Cw+1odCi8UZNFNWTVZoPsBnA5W+mqtZzVnvsdJpXCFGSGQ7R7vOR6dtM/BRA==} peerDependencies: '@firebase/app-types': 0.x '@firebase/util': 1.x - '@firebase/storage@0.11.2': - resolution: {integrity: sha512-CtvoFaBI4hGXlXbaCHf8humajkbXhs39Nbh6MbNxtwJiCqxPy9iH3D3CCfXAvP0QvAAwmJUTK3+z9a++Kc4nkA==} + '@firebase/storage@0.14.3': + resolution: {integrity: sha512-YX4/YL6P6/fufSSeGnVhjWddcIXbFq2cWIhMKFTZo1E/Rtcl2mJj/BYUQTwJfcE1Tl8un1FOya4L05jcSLN/Eg==} + engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app': 0.x - '@firebase/util@1.9.3': - resolution: {integrity: sha512-DY02CRhOZwpzO36fHpuVysz6JZrscPiBXD0fXp6qSrL9oNOx5KWICKdR95C0lSITzxp0TZosVyHqzatE8JbcjA==} + '@firebase/util@1.15.1': + resolution: {integrity: sha512-LUdM4Wg7YM9Pq/49nGYySJA0CSQEKnGffFzWV8+6gXN7mGxn+FL1IqvFbuZUtAQcfZgHYDwCE1wwlK7rB7gl2g==} + engines: {node: '>=20.0.0'} - '@firebase/webchannel-wrapper@0.10.1': - resolution: {integrity: sha512-Dq5rYfEpdeel0bLVN+nfD1VWmzCkK+pJbSjIawGE+RY4+NIJqhbUDDQjvV0NUK84fMfwxvtFoCtEe70HfZjFcw==} + '@firebase/webchannel-wrapper@1.0.6': + resolution: {integrity: sha512-Vr/Mqu79dMwGRAyGbJ4uN4+BtXB3/mRTdzetD1daWNeG8QaWuzhhbG77GltO5c0yYmYls8i250iX73624GJd7Q==} - '@floating-ui/core@1.7.5': - resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==} + '@floating-ui/core@1.8.0': + resolution: {integrity: sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==} - '@floating-ui/dom@1.7.6': - resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==} + '@floating-ui/dom@1.8.0': + resolution: {integrity: sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==} - '@floating-ui/react-dom@2.1.8': - resolution: {integrity: sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==} + '@floating-ui/react-dom@2.1.9': + resolution: {integrity: sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' @@ -3705,41 +2578,40 @@ packages: '@floating-ui/utils@0.2.10': resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} - '@floating-ui/utils@0.2.11': - resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==} + '@floating-ui/utils@0.2.12': + resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==} + + '@floating-ui/vue@1.1.11': + resolution: {integrity: sha512-HzHKCNVxnGS35r9fCHBc3+uCnjw9IWIlCPL683cGgM9Kgj2BiAl8x1mS7vtvP6F9S/e/q4O6MApwSHj8hNLGfw==} '@floating-ui/vue@1.1.9': resolution: {integrity: sha512-BfNqNW6KA83Nexspgb9DZuz578R7HT8MZw1CfK9I6Ah4QReNWEJsXWHN+SdmOVLNGmTPDi+fDT535Df5PzMLbQ==} - '@fontsource-variable/geist@5.2.8': - resolution: {integrity: sha512-cJ6m9e+8MQ5dCYJsLylfZrgBh6KkG4bOLckB35Tr9J/EqdkEM6QllH5PxqP1dhTvFup+HtMRPuz9xOjxXJggxw==} + '@fontsource-variable/geist@5.3.0': + resolution: {integrity: sha512-j0m+vLQuG5XAYoHtGCVu0spvlGreR3EzpECUVzkFmI1mTVnAO38l/NEPDCFgZ177JxzYJCLSmTQibIiYPilGrA==} - '@formatjs/fast-memoize@3.1.5': - resolution: {integrity: sha512-KLi3fan6WnCHmigd9pmEEN8Hid0v4wiFBW576M/d07KMWYecf1CvyMI3n34vCmHT4AoVqG2n702kiHbXjzZX2A==} - - '@formatjs/intl-localematcher@0.8.8': - resolution: {integrity: sha512-pBr2hVKWvkHVnfXegW+53NT9U2uaVQCc+EgzLPCCwXqBA3nvM5fPbK9IcJlNjV+NMKGyZ2F3ZSG78iGdxAAqbA==} + '@fuma-translate/react@1.0.2': + resolution: {integrity: sha512-uOiOtBx3nRXR8Nu1GzBf1tApgF1FErDBTHxRIAQeyQdyOoZbrNRN6H4kDCWObY4qyGeGbHydG0DHzgeUgFDMIw==} + peerDependencies: + '@types/react': '*' + react: ^19.2.0 + react-dom: ^19.2.0 + peerDependenciesMeta: + '@types/react': + optional: true - '@fumadocs/tailwind@0.0.3': - resolution: {integrity: sha512-/FWcggMz9BhoX+13xBoZLX+XX9mYvJ50dkTqy3IfocJqua65ExcsKfxwKH8hgTO3vA5KnWv4+4jU7LaW2AjAmQ==} + '@fumadocs/tailwind@0.1.1': + resolution: {integrity: sha512-BnPe52UxSaG8yKlHMKBxXw8h6GpK5qO55ci6+Qd5JnquTvIw6SpfbC1P+qAi82PuPWv1KZAWY8bxRk4+x9ctXw==} peerDependencies: tailwindcss: ^4.0.0 peerDependenciesMeta: tailwindcss: optional: true - '@gerrit0/mini-shiki@3.20.0': - resolution: {integrity: sha512-Wa57i+bMpK6PGJZ1f2myxo3iO+K/kZikcyvH8NIqNNZhQUbDav7V9LQmWOXhf946mz5c1NZ19WMsGYiDKTryzQ==} - - '@grpc/grpc-js@1.7.3': - resolution: {integrity: sha512-H9l79u4kJ2PVSxUNA08HMYAnUBLj9v6KjYQ7SQ71hOZcEXhShE/y5iQCesP8+6/Ik/7i2O0a10bPquIcYfufog==} + '@grpc/grpc-js@1.9.16': + resolution: {integrity: sha512-wE4Ut/olIzfKqp631XrG+wbF0v1vWFN4YL9FyXC2LJiG33DsV7PLzURjrCvY/6je2ntdRkeLpPDluzSRGaVltQ==} engines: {node: ^8.13.0 || >=10.10.0} - '@grpc/proto-loader@0.6.13': - resolution: {integrity: sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==} - engines: {node: '>=6'} - hasBin: true - '@grpc/proto-loader@0.7.15': resolution: {integrity: sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==} engines: {node: '>=6'} @@ -3757,43 +2629,45 @@ packages: peerDependencies: vue: ^3.2.0 - '@hono/node-server@1.19.12': - resolution: {integrity: sha512-txsUW4SQ1iilgE0l9/e9VQWmELXifEFvmdA1j6WFh/aFPj99hIntrSsq/if0UWyGVkmrRPKA1wCeP+UCr1B9Uw==} + '@hono/node-server@1.19.14': + resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==} engines: {node: '>=18.14.1'} peerDependencies: hono: ^4 - '@hono/node-ws@1.3.0': - resolution: {integrity: sha512-ju25YbbvLuXdqBCmLZLqnNYu1nbHIQjoyUqA8ApZOeL1k4skuiTcw5SW77/5SUYo2Xi2NVBJoVlfQurnKEp03Q==} - engines: {node: '>=18.14.1'} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + '@hono/node-server@2.0.11': + resolution: {integrity: sha512-bjD221KPLoJTWUwso1J6fGKiTXEUFedG/s0visavY4zakFPkeGURMRNly+FhBHs7T8Dz4qHaZIMX9ZoJHSJtKA==} + engines: {node: '>=20'} peerDependencies: - '@hono/node-server': ^1.19.2 - hono: ^4.6.0 + hono: ^4 - '@hugeicons/core-free-icons@4.1.1': - resolution: {integrity: sha512-teqIBvPHl90ygIwKyJwTxOH8aNp1X1PjDTcMvLkEwdPxPD+8mssrZ5kXKIAJJFYPsz69a8LYQY0UPid4PAdavg==} + '@hugeicons/core-free-icons@4.2.3': + resolution: {integrity: sha512-fpiU0qFZkv4ABi23xJ2m4qNr0BBfuIaYjPboN8WDA6aj9D+OzXa7eykxKOpACZRuGbDz1U9S5DsNx1d5KNnsgA==} - '@hugeicons/react@1.1.6': - resolution: {integrity: sha512-c2LhXJMAW5wN1pC/smBXG0YPqUON6ceR/ZdXHCjEI9KvB+hjtqYjmzIxok5hAQOeXGz0WtORgCQMzqewFKAZwg==} + '@hugeicons/react@1.1.9': + resolution: {integrity: sha512-O+lWSWjbijoAvMCxn4K2bQWCGN5+mP1y5j+X99j23mXMj+s0X25fs71T6t9YJLaBodwmZdaewD27dzS/PiboQw==} peerDependencies: react: '>=16.0.0' - '@humanwhocodes/config-array@0.13.0': - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@humanfs/core@0.19.2': + resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.8': + resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} + engines: {node: '>=18.18.0'} + + '@humanfs/types@0.15.0': + resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==} + engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead - - '@iarna/toml@2.2.5': - resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} '@img/colour@1.1.0': resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} @@ -3992,23 +2866,18 @@ packages: '@types/node': optional: true - '@internationalized/date@3.12.0': - resolution: {integrity: sha512-/PyIMzK29jtXaGU23qTvNZxvBXRtKbNnGDFD+PY6CZw/Y8Ex8pFUzkuCJCG9aOqmShjqhS9mPqP6Dk5onQY8rQ==} + '@internationalized/date@3.12.2': + resolution: {integrity: sha512-FY1Y+H64NDs+HAF6omlnWxm3mEpfgaCSWtL5l551ZZfImA+kGjPFgrnJrGjH6lfmLL0g8Z/mBu1R3kufeCp6Jw==} - '@internationalized/number@3.6.5': - resolution: {integrity: sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g==} + '@internationalized/number@3.6.7': + resolution: {integrity: sha512-3ji1fcrT+FPAK86UqEhB/psHixYo6niWPJtt7+qRaYFynt/BaJG8GhAPimtWUpEiVSTq8ZM8L5psMxGquiB/Vg==} - '@isaacs/balanced-match@4.0.1': - resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} - engines: {node: 20 || >=22} - - '@isaacs/brace-expansion@5.0.0': - resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} - engines: {node: 20 || >=22} + '@ioredis/commands@1.10.0': + resolution: {integrity: sha512-UmeW7z4LfctwoQ5wkhVzgq8tXkreED2xZGpX+Bg+zA+WJFZCT6c062AfCK/Dfk81xZnnwdhJCUMkitihRaoC2Q==} - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -4032,14 +2901,17 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@keyv/serialize@1.1.1': + resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==} + '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} - '@lezer/common@1.5.1': - resolution: {integrity: sha512-6YRVG9vBkaY7p1IVxL4s44n5nUnaNnGM2/AckNgYOnxTG2kWh1vR8BMxPseWPjRNpb5VtXnMpeYAEAADoRV1Iw==} + '@lezer/common@1.5.2': + resolution: {integrity: sha512-sxQE460fPZyU3sdc8lafxiPwJHBzZRy/udNFynGQky1SePYBdhkBl1kOagA9uT3pxR8K09bOrmTUqA9wb/PjSQ==} - '@lezer/css@1.3.3': - resolution: {integrity: sha512-RzBo8r+/6QJeow7aPHIpGVIH59xTcJXp399820gZoMo9noQDRVpJLheIBUicYwKcsbOYoBRoLZlf2720dG/4Tg==} + '@lezer/css@1.3.4': + resolution: {integrity: sha512-N+tn9tej2hPvyKgHEApMOQfHczDJCwxrRFS3SPn9QjYN+uwHvEDnCgKRrb3mxDYxRS8sKMM8fhC3+lc04Abz5Q==} '@lezer/highlight@1.2.3': resolution: {integrity: sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==} @@ -4053,8 +2925,8 @@ packages: '@lezer/json@1.0.3': resolution: {integrity: sha512-BP9KzdF9Y35PDpv04r0VeSTKDeox5vVr3efE7eBbx3r4s3oNLfunchejZhjArmeieBH+nVOpgIiBJpEAv8ilqQ==} - '@lezer/lr@1.4.8': - resolution: {integrity: sha512-bPWa0Pgx69ylNlMlPvBPryqeLYQjyJjqPx+Aupm5zydLIF3NE+6MMLT8Yi23Bd9cif9VS00aUebn+6fDIGBcDA==} + '@lezer/lr@1.4.10': + resolution: {integrity: sha512-rnCpTIBafOx4mRp43xOxDJbFipJm/c0cia/V5TiGlhmMa+wsSdoGmUN3w5Bqrks/09Q/D4tNAmWaT8p6NRi77A==} '@lezer/xml@1.0.6': resolution: {integrity: sha512-CdDwirL0OEaStFue/66ZmFSeppuL6Dwjlk8qk153mSQwiSH/Dlri4GNymrNWnUmPl2Um7QfV1FO9KFUyX3Twww==} @@ -4072,8 +2944,8 @@ packages: '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - '@marijn/find-cluster-break@1.0.2': - resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} + '@marijn/find-cluster-break@1.0.3': + resolution: {integrity: sha512-FY+MKLBoTsLNJF/eLWaOsXGdz6uh3Iu1axjPf6TUq92IYumcTcXWHoS747JARLkcdlJ/Waiaxc5wQfFO8jC6NA==} '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} @@ -4088,10 +2960,6 @@ packages: '@cfworker/json-schema': optional: true - '@mrmlnc/readdir-enhanced@2.2.1': - resolution: {integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==} - engines: {node: '>=4'} - '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4': resolution: {integrity: sha512-LCkGo6JDfaBhgST7UpPWgNgLINpcpabaHfyz5OBx75nUYxBsaEPxjnyNjWpeb/xBup/682QnBfRBy2/LvPutZQ==} cpu: [arm64] @@ -4122,112 +2990,143 @@ packages: cpu: [x64] os: [win32] - '@mswjs/interceptors@0.41.3': - resolution: {integrity: sha512-cXu86tF4VQVfwz8W1SPbhoRyHJkti6mjH/XJIxp40jhO4j2k1m4KYrEykxqWPkFF3vrK4rgQppBh//AwyGSXPA==} + '@mswjs/interceptors@0.41.9': + resolution: {integrity: sha512-VVPPgHyQ6ShqnrmDWuxjmUIsO9gWyOZFmuOfLd9LfBGQJwZfy0gvv9pbHSJuoFNIYC7ZDX9aoFwowjcdSC4E8w==} engines: {node: '>=18'} '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} - '@napi-rs/wasm-runtime@1.1.3': - resolution: {integrity: sha512-xK9sGVbJWYb08+mTJt3/YV24WxvxpXcXtP6B172paPZ+Ts69Re9dAr7lKwJoeIx8OoeuimEiRZ7umkiUVClmmQ==} + '@napi-rs/wasm-runtime@1.1.6': + resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==} peerDependencies: '@emnapi/core': ^1.7.1 '@emnapi/runtime': ^1.7.1 - '@napi-rs/wasm-runtime@1.1.4': - resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} - peerDependencies: - '@emnapi/core': ^1.7.1 - '@emnapi/runtime': ^1.7.1 - - '@noble/ciphers@1.3.0': - resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} - engines: {node: ^14.21.3 || >=16} - - '@noble/curves@1.9.7': - resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} - engines: {node: ^14.21.3 || >=16} - '@noble/hashes@1.8.0': resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} engines: {node: ^14.21.3 || >=16} - '@node-red/editor-api@1.3.7': - resolution: {integrity: sha512-tm+umybD+Bq/Kkj77/l9hOE60hfmfUCIzHwKaiDnSDJymHKuPy0eCNCg37MR/J9HodXtY5Th2we++4mUCS5uYA==} + '@node-red/editor-api@5.0.1': + resolution: {integrity: sha512-i4CTvFMI920+MC9WTWkj5kj4nIw34c66/vP9MS6x6PsOjRdKS3P/CgX7cSce2uF8MORJRZ7s8BKUrBDI6yI6/A==} - '@node-red/editor-client@1.3.7': - resolution: {integrity: sha512-ti1AwZOZq4a8Ro1QyiLnotfaIIJ8oHdzacH5f75bhNi9bv9UNVd5UikvKcjYSZAEFHUlEZ7IYk9Pg7DaGQiDbw==} + '@node-red/editor-client@5.0.1': + resolution: {integrity: sha512-pNEYkvEryXL2SWJ3iJh+HoR8kgGZWlgd/56uUoEzEi0P/aGUYxfql5J3LZRGT4fSlGCprdUsbwVCNmpzRFEWWw==} - '@node-red/nodes@1.3.7': - resolution: {integrity: sha512-iQG6GeX+tHB92rSK3T+7KQAssDhSXNmV9tpp+8Zybyo1ljShWZ/A3ZI+z4qTbn1MJB123E5eDTZn86N/bQ29Gw==} + '@node-red/nodes@5.0.1': + resolution: {integrity: sha512-+2st1mNoVCTjlR8UHna1Veg6e9l7Kqojhdf8fv+6Nv5RStIDBNksX8zttSYLRVpZ43ZRIOj5nGr5yrf7dilepA==} - '@node-red/registry@1.3.7': - resolution: {integrity: sha512-nv0GNzldsl+zSbKGNEueh8IIA4p6cr8AwBZd691mZGWv/7uPDwa2C/FPllagCMTs7+wtb7Q5gYDFz+1uGGlKyw==} + '@node-red/registry@5.0.1': + resolution: {integrity: sha512-F5N/vdlPcY0Y5z3XZ8AWLqNqXbmnjnPNR62aY+swCHBbf2djms/q9N9pFik+XdT73iwmWV6ZUUYWS2LcO6T2RA==} - '@node-red/runtime@1.3.7': - resolution: {integrity: sha512-4m6FnFy2qo9rQKet0MmUfLHC6gdhszfp5snoLzfAH8DZkBOdnqtnOHab7K4v4GyaXNS8pRoD6yD7ARiiYxGbug==} + '@node-red/runtime@5.0.1': + resolution: {integrity: sha512-9CETAQcUMX99kcpUg+tW21RFKkd2duxmUvbLC3ghsXzS6uicPOqlXopqANVBgtb0TUlGciwDtU3ZdKvq4DvhaA==} - '@node-red/util@1.3.7': - resolution: {integrity: sha512-k7uZgz6FaMqYZ3ixoGiII/gxoxJTlB0knKq59O7an4x9sORv17JjqIerF0Ok6UiOWYHdtH8cybzVsVPSxF7BGA==} + '@node-red/util@5.0.1': + resolution: {integrity: sha512-w382JAYDFl6ui4J5FkVDLC6gCXXI2TiFLnx/YwgJMWgoq7YKLHj2CxKjYA3PJ5Sk24N83uq7GlR5C0qltKzOtw==} - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@node-rs/bcrypt-android-arm-eabi@1.10.7': + resolution: {integrity: sha512-8dO6/PcbeMZXS3VXGEtct9pDYdShp2WBOWlDvSbcRwVqyB580aCBh0BEFmKYtXLzLvUK8Wf+CG3U6sCdILW1lA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] - '@nodelib/fs.stat@1.1.3': - resolution: {integrity: sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==} - engines: {node: '>= 6'} + '@node-rs/bcrypt-android-arm64@1.10.7': + resolution: {integrity: sha512-UASFBS/CucEMHiCtL/2YYsAY01ZqVR1N7vSb94EOvG5iwW7BQO06kXXCTgj+Xbek9azxixrCUmo3WJnkJZ0hTQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + '@node-rs/bcrypt-darwin-arm64@1.10.7': + resolution: {integrity: sha512-DgzFdAt455KTuiJ/zYIyJcKFobjNDR/hnf9OS7pK5NRS13Nq4gLcSIIyzsgHwZHxsJWbLpHmFc1H23Y7IQoQBw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@node-rs/bcrypt-darwin-x64@1.10.7': + resolution: {integrity: sha512-SPWVfQ6sxSokoUWAKWD0EJauvPHqOGQTd7CxmYatcsUgJ/bruvEHxZ4bIwX1iDceC3FkOtmeHO0cPwR480n/xA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@node-rs/bcrypt-freebsd-x64@1.10.7': + resolution: {integrity: sha512-gpa+Ixs6GwEx6U6ehBpsQetzUpuAGuAFbOiuLB2oo4N58yU4AZz1VIcWyWAHrSWRs92O0SHtmo2YPrMrwfBbSw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] - '@octokit/auth-token@2.5.0': - resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==} + '@node-rs/bcrypt-linux-arm-gnueabihf@1.10.7': + resolution: {integrity: sha512-kYgJnTnpxrzl9sxYqzflobvMp90qoAlaX1oDL7nhNTj8OYJVDIk0jQgblj0bIkjmoPbBed53OJY/iu4uTS+wig==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] - '@octokit/core@3.6.0': - resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==} + '@node-rs/bcrypt-linux-arm64-gnu@1.10.7': + resolution: {integrity: sha512-7cEkK2RA+gBCj2tCVEI1rDSJV40oLbSq7bQ+PNMHNI6jCoXGmj9Uzo7mg7ZRbNZ7piIyNH5zlJqutjo8hh/tmA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] - '@octokit/endpoint@6.0.12': - resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==} + '@node-rs/bcrypt-linux-arm64-musl@1.10.7': + resolution: {integrity: sha512-X7DRVjshhwxUqzdUKDlF55cwzh+wqWJ2E/tILvZPboO3xaNO07Um568Vf+8cmKcz+tiZCGP7CBmKbBqjvKN/Pw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] - '@octokit/graphql@4.8.0': - resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==} + '@node-rs/bcrypt-linux-x64-gnu@1.10.7': + resolution: {integrity: sha512-LXRZsvG65NggPD12hn6YxVgH0W3VR5fsE/o1/o2D5X0nxKcNQGeLWnRzs5cP8KpoFOuk1ilctXQJn8/wq+Gn/Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] - '@octokit/openapi-types@12.11.0': - resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==} + '@node-rs/bcrypt-linux-x64-musl@1.10.7': + resolution: {integrity: sha512-tCjHmct79OfcO3g5q21ME7CNzLzpw1MAsUXCLHLGWH+V6pp/xTvMbIcLwzkDj6TI3mxK6kehTn40SEjBkZ3Rog==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] - '@octokit/plugin-paginate-rest@2.21.3': - resolution: {integrity: sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==} - peerDependencies: - '@octokit/core': '>=2' + '@node-rs/bcrypt-wasm32-wasi@1.10.7': + resolution: {integrity: sha512-4qXSihIKeVXYglfXZEq/QPtYtBUvR8d3S85k15Lilv3z5B6NSGQ9mYiNleZ7QHVLN2gEc5gmi7jM353DMH9GkA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] - '@octokit/plugin-request-log@1.0.4': - resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} - peerDependencies: - '@octokit/core': '>=3' + '@node-rs/bcrypt-win32-arm64-msvc@1.10.7': + resolution: {integrity: sha512-FdfUQrqmDfvC5jFhntMBkk8EI+fCJTx/I1v7Rj+Ezlr9rez1j1FmuUnywbBj2Cg15/0BDhwYdbyZ5GCMFli2aQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] - '@octokit/plugin-rest-endpoint-methods@5.16.2': - resolution: {integrity: sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==} - peerDependencies: - '@octokit/core': '>=3' + '@node-rs/bcrypt-win32-ia32-msvc@1.10.7': + resolution: {integrity: sha512-lZLf4Cx+bShIhU071p5BZft4OvP4PGhyp542EEsb3zk34U5GLsGIyCjOafcF/2DGewZL6u8/aqoxbSuROkgFXg==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] - '@octokit/request-error@2.1.0': - resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==} + '@node-rs/bcrypt-win32-x64-msvc@1.10.7': + resolution: {integrity: sha512-hdw7tGmN1DxVAMTzICLdaHpXjy+4rxaxnBMgI8seG1JL5e3VcRGsd1/1vVDogVp2cbsmgq+6d6yAY+D9lW/DCg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@node-rs/bcrypt@1.10.7': + resolution: {integrity: sha512-1wk0gHsUQC/ap0j6SJa2K34qNhomxXRcEe3T8cI5s+g6fgHBgLTN7U9LzWTG/HE6G4+2tWWLeCabk1wiYGEQSA==} + engines: {node: '>= 10'} - '@octokit/request@5.6.3': - resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==} + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} - '@octokit/rest@18.12.0': - resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==} + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} - '@octokit/types@6.41.0': - resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==} + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} '@oozcitak/dom@1.15.10': resolution: {integrity: sha512-0JT29/LaxVgRcGKvHmSrUTEvZ8BXvZhGl2LASRUgHqDTC1M5g1pLmVv56IYNyt3bG2CUjDkc67wnyZC14pbQrQ==} @@ -4286,16 +3185,12 @@ packages: resolution: {integrity: sha512-D2e+7OvbSPv7Sh/+8Off5aYnFfHRTC27kOWOss3HcEzxIXh/AqLrHu5sfLB/m99cOZnXaCdWrZ48RS4lafDhuQ==} engines: {node: '>=12'} - '@openrouter/ai-sdk-provider@2.9.0': - resolution: {integrity: sha512-Seva+NCa0WUQnJIUE5GzHsUv1WTIeyqwz0ELl2VtS6NP+eF+77yCXGFVOMbvoCM7QMjlnhv7931e89R+8pJdcQ==} - engines: {node: '>=18'} + '@openrouter/ai-sdk-provider@3.0.0': + resolution: {integrity: sha512-m9XTSWoODH2RM5OsZpaGiN7QRR8cdP5paBWq699Tu3JVmGPBKT8xF8XwV0ZBVVsjikD/JgWfak4VSsTR4wAVbg==} + engines: {node: '>=22'} peerDependencies: - ai: ^6.0.0 - zod: ^3.25.0 || ^4.0.0 - - '@opentelemetry/api-logs@0.208.0': - resolution: {integrity: sha512-CjruKY9V6NMssL/T1kAFgzosF1v9o6oeN+aX5JB/C/xPNtmgIJqcXHG7fA82Ou1zCpWGl4lROQUKwUNE1pMCyg==} - engines: {node: '>=8.0.0'} + ai: ^7.0.0 + zod: ^3.25.76 || ^4.1.8 '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} @@ -4305,220 +3200,294 @@ packages: resolution: {integrity: sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==} engines: {node: '>=8.0.0'} - '@opentelemetry/core@2.2.0': - resolution: {integrity: sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==} + '@opentelemetry/core@2.9.0': + resolution: {integrity: sha512-m2nckMT80NnmjTYSPjJQObBJ+8dgkoajEOUbznL8AHZ3T3yHRk2P7gI1PhEBc1+lOnrYE9UWrWHqJDsmqjmNbw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/core@2.6.1': - resolution: {integrity: sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/semantic-conventions@1.43.0': + resolution: {integrity: sha512-eSYWTm620tTk45EKSedaUL8MFYI8hW164hIXsgIHyxu3VobUB3fFCu5t0hQby6OoWRPsG1KkKUG2M5UadiLiVg==} + engines: {node: '>=14'} - '@opentelemetry/exporter-logs-otlp-http@0.208.0': - resolution: {integrity: sha512-jOv40Bs9jy9bZVLo/i8FwUiuCvbjWDI+ZW13wimJm4LjnlwJxGgB+N/VWOZUTpM+ah/awXeQqKdNlpLf2EjvYg==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@orama/orama@3.1.18': + resolution: {integrity: sha512-a61ljmRVVyG5MC/698C8/FfFDw5a8LOIvyOLW5fztgUXqUpc1jOfQzOitSCbge657OgXXThmY3Tk8fpiDb4UcA==} + engines: {node: '>= 20.0.0'} - '@opentelemetry/otlp-exporter-base@0.208.0': - resolution: {integrity: sha512-gMd39gIfVb2OgxldxUtOwGJYSH8P1kVFFlJLuut32L6KgUC4gl1dMhn+YC2mGn0bDOiQYSk/uHOdSjuKp58vvA==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@oxc-parser/binding-android-arm-eabi@0.120.0': + resolution: {integrity: sha512-WU3qtINx802wOl8RxAF1v0VvmC2O4D9M8Sv486nLeQ7iPHVmncYZrtBhB4SYyX+XZxj2PNnCcN+PW21jHgiOxg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] - '@opentelemetry/otlp-transformer@0.208.0': - resolution: {integrity: sha512-DCFPY8C6lAQHUNkzcNT9R+qYExvsk6C5Bto2pbNxgicpcSWbe2WHShLxkOxIdNcBiYPdVHv/e7vH7K6TI+C+fQ==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@oxc-parser/binding-android-arm64@0.120.0': + resolution: {integrity: sha512-SEf80EHdhlbjZEgzeWm0ZA/br4GKMenDW3QB/gtyeTV1gStvvZeFi40ioHDZvds2m4Z9J1bUAUL8yn1/+A6iGg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] - '@opentelemetry/resources@2.2.0': - resolution: {integrity: sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@oxc-parser/binding-darwin-arm64@0.120.0': + resolution: {integrity: sha512-xVrrbCai8R8CUIBu3CjryutQnEYhZqs1maIqDvtUCFZb8vY33H7uh9mHpL3a0JBIKoBUKjPH8+rzyAeXnS2d6A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] - '@opentelemetry/resources@2.6.1': - resolution: {integrity: sha512-lID/vxSuKWXM55XhAKNoYXu9Cutoq5hFdkbTdI/zDKQktXzcWBVhNsOkiZFTMU9UtEWuGRNe0HUgmsFldIdxVA==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@oxc-parser/binding-darwin-x64@0.120.0': + resolution: {integrity: sha512-xyHBbnJ6mydnQUH7MAcafOkkrNzQC6T+LXgDH/3InEq2BWl/g424IMRiJVSpVqGjB+p2bd0h0WRR8iIwzjU7rw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] - '@opentelemetry/sdk-logs@0.208.0': - resolution: {integrity: sha512-QlAyL1jRpOeaqx7/leG1vJMp84g0xKP6gJmfELBpnI4O/9xPX+Hu5m1POk9Kl+veNkyth5t19hRlN6tNY1sjbA==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': '>=1.4.0 <1.10.0' + '@oxc-parser/binding-freebsd-x64@0.120.0': + resolution: {integrity: sha512-UMnVRllquXUYTeNfFKmxTTEdZ/ix1nLl0ducDzMSREoWYGVIHnOOxoKMWlCOvRr9Wk/HZqo2rh1jeumbPGPV9A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] - '@opentelemetry/sdk-metrics@2.2.0': - resolution: {integrity: sha512-G5KYP6+VJMZzpGipQw7Giif48h6SGQ2PFKEYCybeXJsOCB4fp8azqMAAzE5lnnHK3ZVwYQrgmFbsUJO/zOnwGw==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': '>=1.9.0 <1.10.0' + '@oxc-parser/binding-linux-arm-gnueabihf@0.120.0': + resolution: {integrity: sha512-tkvn2CQ7QdcsMnpfiX3fd3wA3EFsWKYlcQzq9cFw/xc89Al7W6Y4O0FgLVkVQpo0Tnq/qtE1XfkJOnRRA9S/NA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] - '@opentelemetry/sdk-trace-base@2.2.0': - resolution: {integrity: sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@oxc-parser/binding-linux-arm-musleabihf@0.120.0': + resolution: {integrity: sha512-WN5y135Ic42gQDk9grbwY9++fDhqf8knN6fnP+0WALlAUh4odY/BDK1nfTJRSfpJD9P3r1BwU0m3pW2DU89whQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] - '@opentelemetry/semantic-conventions@1.38.0': - resolution: {integrity: sha512-kocjix+/sSggfJhwXqClZ3i9Y/MI0fp7b+g7kCRm6psy2dsf8uApTRclwG18h8Avm7C9+fnt+O36PspJ/OzoWg==} - engines: {node: '>=14'} + '@oxc-parser/binding-linux-arm64-gnu@0.120.0': + resolution: {integrity: sha512-1GgQBCcXvFMw99EPdMy+4NZ3aYyXsxjf9kbUUg8HuAy3ZBXzOry5KfFEzT9nqmgZI1cuetvApkiJBZLAPo8uaw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] - '@orama/orama@3.1.18': - resolution: {integrity: sha512-a61ljmRVVyG5MC/698C8/FfFDw5a8LOIvyOLW5fztgUXqUpc1jOfQzOitSCbge657OgXXThmY3Tk8fpiDb4UcA==} - engines: {node: '>= 20.0.0'} + '@oxc-parser/binding-linux-arm64-musl@0.120.0': + resolution: {integrity: sha512-gmMQ70gsPdDBgpcErvJEoWNBr7bJooSLlvOBVBSGfOzlP5NvJ3bFvnUeZZ9d+dPrqSngtonf7nyzWUTUj/U+lw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxc-parser/binding-linux-ppc64-gnu@0.120.0': + resolution: {integrity: sha512-T/kZuU0ajop0xhzVMwH5r3srC9Nqup5HaIo+3uFjIN5uPxa0LvSxC1ZqP4aQGJVW5G0z8/nCkjIfSMS91P/wzw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-riscv64-gnu@0.120.0': + resolution: {integrity: sha512-vn21KXLAXzaI3N5CZWlBr1iWeXLl9QFIMor7S1hUjUGTeUuWCoE6JZB040/ZNDwf+JXPX8Ao9KbmJq9FMC2iGw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-riscv64-musl@0.120.0': + resolution: {integrity: sha512-SUbUxlar007LTGmSLGIC5x/WJvwhdX+PwNzFJ9f/nOzZOrCFbOT4ikt7pJIRg1tXVsEfzk5mWpGO1NFiSs4PIw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxc-parser/binding-linux-s390x-gnu@0.120.0': + resolution: {integrity: sha512-hYiPJTxyfJY2+lMBFk3p2bo0R9GN+TtpPFlRqVchL1qvLG+pznstramHNvJlw9AjaoRUHwp9IKR7UZQnRPGjgQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-x64-gnu@0.120.0': + resolution: {integrity: sha512-q+5jSVZkprJCIy3dzJpApat0InJaoxQLsJuD6DkX8hrUS61z2lHQ1Fe9L2+TYbKHXCLWbL0zXe7ovkIdopBGMQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-x64-musl@0.120.0': + resolution: {integrity: sha512-D9QDDZNnH24e7X4ftSa6ar/2hCavETfW3uk0zgcMIrZNy459O5deTbWrjGzZiVrSWigGtlQwzs2McBP0QsfV1w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxc-parser/binding-openharmony-arm64@0.120.0': + resolution: {integrity: sha512-TBU8ZwOUWAOUWVfmI16CYWbvh4uQb9zHnGBHsw5Cp2JUVG044OIY1CSHODLifqzQIMTXvDvLzcL89GGdUIqNrA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxc-parser/binding-wasm32-wasi@0.120.0': + resolution: {integrity: sha512-WG/FOZgDJCpJnuF3ToG/K28rcOmSY7FmFmfBKYb2fmLyhDzPpUldFGV7/Fz4ru0Iz/v4KPmf8xVgO8N3lO4KHA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-parser/binding-win32-arm64-msvc@0.120.0': + resolution: {integrity: sha512-1T0HKGcsz/BKo77t7+89L8Qvu4f9DoleKWHp3C5sJEcbCjDOLx3m9m722bWZTY+hANlUEs+yjlK+lBFsA+vrVQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxc-parser/binding-win32-ia32-msvc@0.120.0': + resolution: {integrity: sha512-L7vfLzbOXsjBXV0rv/6Y3Jd9BRjPeCivINZAqrSyAOZN3moCopDN+Psq9ZrGNZtJzP8946MtlRFZ0Als0wBCOw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxc-parser/binding-win32-x64-msvc@0.120.0': + resolution: {integrity: sha512-ys+upfqNtSu58huAhJMBKl3XCkGzyVFBlMlGPzHeFKgpFF/OdgNs1MMf8oaJIbgMH8ZxgGF7qfue39eJohmKIg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@oxc-project/types@0.120.0': + resolution: {integrity: sha512-k1YNu55DuvAip/MGE1FTsIuU3FUCn6v/ujG9V7Nq5Df/kX2CWb13hhwD0lmJGMGqE+bE1MXvv9SZVnMzEXlWcg==} '@oxc-project/types@0.122.0': resolution: {integrity: sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==} - '@oxc-project/types@0.124.0': - resolution: {integrity: sha512-VBFWMTBvHxS11Z5Lvlr3IWgrwhMTXV+Md+EQF0Xf60+wAdsGFTBx7X7K/hP4pi8N7dcm1RvcHwDxZ16Qx8keUg==} + '@oxc-project/types@0.139.0': + resolution: {integrity: sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==} - '@oxc-project/types@0.130.0': - resolution: {integrity: sha512-ibD2usx9JRu7f5pu2tMKMI4cpA4NgXJQoYRP4pQ7Pxmn1l6k/53qWtQWZayhYy3X4QZkt90Ot+mJEaeXouio6Q==} + '@oxc-project/types@0.140.0': + resolution: {integrity: sha512-h5LUOzGArYemnW1NMz/DuuQhBi96J6JL2Bk8zE4kvqxB5Sg3jxmCiH4uyOWHDkiKSt5vWlG4FIwCR/DbstcNRQ==} - '@oxlint/binding-android-arm-eabi@1.57.0': - resolution: {integrity: sha512-C7EiyfAJG4B70496eV543nKiq5cH0o/xIh/ufbjQz3SIvHhlDDsyn+mRFh+aW8KskTyUpyH2LGWL8p2oN6bl1A==} + '@oxlint/binding-android-arm-eabi@1.75.0': + resolution: {integrity: sha512-lutovtFzJqlRaqpZrCqSSGaHZzl9nIxxpjLzhSRLunN6dCLylj0uzlCyQGaQDIys7rrv8kVXiFO+R4Zpn0bX7g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxlint/binding-android-arm64@1.57.0': - resolution: {integrity: sha512-9i80AresjZ/FZf5xK8tKFbhQnijD4s1eOZw6/FHUwD59HEZbVLRc2C88ADYJfLZrF5XofWDiRX/Ja9KefCLy7w==} + '@oxlint/binding-android-arm64@1.75.0': + resolution: {integrity: sha512-hXI0hDgHkw4w5nfru72aG7y+2iQJmC4waH/KV6H/hbgA6yAP5jYNx0P9yug15Hs0tWl/+mda3Jjn/2gmDT48tw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxlint/binding-darwin-arm64@1.57.0': - resolution: {integrity: sha512-0eUfhRz5L2yKa9I8k3qpyl37XK3oBS5BvrgdVIx599WZK63P8sMbg+0s4IuxmIiZuBK68Ek+Z+gcKgeYf0otsg==} + '@oxlint/binding-darwin-arm64@1.75.0': + resolution: {integrity: sha512-D91BWbK/dMYfCcrghspPIuKs2D9LF4Z/OabVSQjw1AO6PWxArD7teDA48bm0ySFqWDaPVqmQRl5GMWNglTXyrQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxlint/binding-darwin-x64@1.57.0': - resolution: {integrity: sha512-UvrSuzBaYOue+QMAcuDITe0k/Vhj6KZGjfnI6x+NkxBTke/VoM7ZisaxgNY0LWuBkTnd1OmeQfEQdQ48fRjkQg==} + '@oxlint/binding-darwin-x64@1.75.0': + resolution: {integrity: sha512-02mpwzf12BonZ6PT0TuQoomvEh2kVl2WGBIKWezCyToIS+rYkQZ6GXnARBAl9A4Ovm2V+Xe7M4KretyqmmcnJQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxlint/binding-freebsd-x64@1.57.0': - resolution: {integrity: sha512-wtQq0dCoiw4bUwlsNVDJJ3pxJA218fOezpgtLKrbQqUtQJcM9yP8z+I9fu14aHg0uyAxIY+99toL6uBa2r7nxA==} + '@oxlint/binding-freebsd-x64@1.75.0': + resolution: {integrity: sha512-qZJgLnDaBsiL5YESx2t/TZ8eXkL9fEkKoXEdzegROhlz9A0lgyGnZ0dAzJrh7LJAHQl2K9RdRueN2s/9N7+odg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxlint/binding-linux-arm-gnueabihf@1.57.0': - resolution: {integrity: sha512-qxFWl2BBBFcT4djKa+OtMdnLgoHEJXpqjyGwz8OhW35ImoCwR5qtAGqApNYce5260FQqoAHW8S8eZTjiX67Tsg==} + '@oxlint/binding-linux-arm-gnueabihf@1.75.0': + resolution: {integrity: sha512-7XlaWA5BJD3XpCfrEqjEe6Zseeb14S7QGa304XfwKignRaKQ+eIj775BQ7nIslggWickl4IsPUFqJ+/gAyNHVg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxlint/binding-linux-arm-musleabihf@1.57.0': - resolution: {integrity: sha512-SQoIsBU7J0bDW15/f0/RvxHfY3Y0+eB/caKBQtNFbuerTiA6JCYx9P1MrrFTwY2dTm/lMgTSgskvCEYk2AtG/Q==} + '@oxlint/binding-linux-arm-musleabihf@1.75.0': + resolution: {integrity: sha512-av6Tpv8yrcMMMOadOqENBhlsLRcGFXXwoQ0hzHhsmS9FJ4Wioy8we427GbcMe2XTxmL2e60T67H1Dyr3up+tAA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxlint/binding-linux-arm64-gnu@1.57.0': - resolution: {integrity: sha512-jqxYd1W6WMeozsCmqe9Rzbu3SRrGTyGDAipRlRggetyYbUksJqJKvUNTQtZR/KFoJPb+grnSm5SHhdWrywv3RQ==} + '@oxlint/binding-linux-arm64-gnu@1.75.0': + resolution: {integrity: sha512-WcUhd8fHT5plrA14lANevl+hOl815mVI5t2hU21oFWrZKFXIVV/Sr4rWQV0NzSvzBupbMLNc5ErEA6Ehxh5jMg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-arm64-musl@1.57.0': - resolution: {integrity: sha512-i66WyEPVEvq9bxRUCJ/MP5EBfnTDN3nhwEdFZFTO5MmLLvzngfWEG3NSdXQzTT3vk5B9i6C2XSIYBh+aG6uqyg==} + '@oxlint/binding-linux-arm64-musl@1.75.0': + resolution: {integrity: sha512-UWzp5wRHFe/ESO3+eEaxXsTkYTGLYjnTsi/I5neEacXSItQ6WNleapfOAeA4x2b8nyhJ4uQxqvtv9pHv8kWJtQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxlint/binding-linux-ppc64-gnu@1.57.0': - resolution: {integrity: sha512-oMZDCwz4NobclZU3pH+V1/upVlJZiZvne4jQP+zhJwt+lmio4XXr4qG47CehvrW1Lx2YZiIHuxM2D4YpkG3KVA==} + '@oxlint/binding-linux-ppc64-gnu@1.75.0': + resolution: {integrity: sha512-XEVRwGMLKCUKrvhLAz4F6AIh8MJrQVdSZtAmPpRZt9tGPsUnamPOcl3dS/ZQzJnar/Ymgc//+xho0L60Emzuxg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-riscv64-gnu@1.57.0': - resolution: {integrity: sha512-uoBnjJ3MMEBbfnWC1jSFr7/nSCkcQYa72NYoNtLl1imshDnWSolYCjzb8LVCwYCCfLJXD+0gBLD7fyC14c0+0g==} + '@oxlint/binding-linux-riscv64-gnu@1.75.0': + resolution: {integrity: sha512-mAG4DUXqfLC8cTjMD2kt3jDmVzFREYtDyeLNdLdsCcBc4Zbl2EMuiFektGBilQwkNjYnMvCqJs55U+Hyb+b+jw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-riscv64-musl@1.57.0': - resolution: {integrity: sha512-BdrwD7haPZ8a9KrZhKJRSj6jwCor+Z8tHFZ3PT89Y3Jq5v3LfMfEePeAmD0LOTWpiTmzSzdmyw9ijneapiVHKQ==} + '@oxlint/binding-linux-riscv64-musl@1.75.0': + resolution: {integrity: sha512-95hrAvriAlI+pekSomTFIn0+bawMDlDwTNVmdjsFusTHyL2JWh7TWvRNG/Lkim72uN8OiCcO9wcaC6omLP5E3w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxlint/binding-linux-s390x-gnu@1.57.0': - resolution: {integrity: sha512-BNs+7ZNsRstVg2tpNxAXfMX/Iv5oZh204dVyb8Z37+/gCh+yZqNTlg6YwCLIMPSk5wLWIGOaQjT0GUOahKYImw==} + '@oxlint/binding-linux-s390x-gnu@1.75.0': + resolution: {integrity: sha512-4b6f2+FrtruAESrCqIKcrarzfrSx+wk2QNcp+RT91/Prc+pMQMAfyZ1rG1c3tFQNl8Bc616tx40uNXyxNBRPbQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxlint/binding-linux-x64-gnu@1.57.0': - resolution: {integrity: sha512-AghS18w+XcENcAX0+BQGLiqjpqpaxKJa4cWWP0OWNLacs27vHBxu7TYkv9LUSGe5w8lOJHeMxcYfZNOAPqw2bg==} + '@oxlint/binding-linux-x64-gnu@1.75.0': + resolution: {integrity: sha512-nshAhrUvXFUWOvqQ2soIw7HFNWvpvEV4o0cYSqPtzLiPF5gKyYTDOOTJ6Rn8g8K/iGvPIrbDA4v8+5MvnjJrrg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-x64-musl@1.57.0': - resolution: {integrity: sha512-E/FV3GB8phu/Rpkhz5T96hAiJlGzn91qX5yj5gU754P5cmVGXY1Jw/VSjDSlZBCY3VHjsVLdzgdkJaomEmcNOg==} + '@oxlint/binding-linux-x64-musl@1.75.0': + resolution: {integrity: sha512-e4jNxLKnxLC6sYBQRxrI2pgIIxnmMtF8U/VwNYcjTT/CLS+spH624cYVnj07bTKwaEWT37/e025isOs6j/0xqA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxlint/binding-openharmony-arm64@1.57.0': - resolution: {integrity: sha512-xvZ2yZt0nUVfU14iuGv3V25jpr9pov5N0Wr28RXnHFxHCRxNDMtYPHV61gGLhN9IlXM96gI4pyYpLSJC5ClLCQ==} + '@oxlint/binding-openharmony-arm64@1.75.0': + resolution: {integrity: sha512-hZ2lH+1qLf/DiEP9UWuQTK2JWj/BgvMB4jhIV4SmNU1wfEiYYX4TynQyAZXx0j9X4qRYizAL042SKaV+8ynh4w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxlint/binding-win32-arm64-msvc@1.57.0': - resolution: {integrity: sha512-Z4D8Pd0AyHBKeazhdIXeUUy5sIS3Mo0veOlzlDECg6PhRRKgEsBJCCV1n+keUZtQ04OP+i7+itS3kOykUyNhDg==} + '@oxlint/binding-win32-arm64-msvc@1.75.0': + resolution: {integrity: sha512-Ilj6PNzGDS3bCU0MSJH7Msh0NhH+T/mRp2shwg+q+GHeVlPwP5LEboW96aW+3kVKFk6zYZy1Xi5pZkqZh6X8KQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxlint/binding-win32-ia32-msvc@1.57.0': - resolution: {integrity: sha512-StOZ9nFMVKvevicbQfql6Pouu9pgbeQnu60Fvhz2S6yfMaii+wnueLnqQ5I1JPgNF0Syew4voBlAaHD13wH6tw==} + '@oxlint/binding-win32-ia32-msvc@1.75.0': + resolution: {integrity: sha512-QVit2nOEOiPhkmsrksPSkoGCdnZRNkspt8fwoYyP09te1VEbnSj4LAxua4rc8FKTmWkySVe05j8iz9GXYfF1AQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxlint/binding-win32-x64-msvc@1.57.0': - resolution: {integrity: sha512-6PuxhYgth8TuW0+ABPOIkGdBYw+qYGxgIdXPHSVpiCDm+hqTTWCmC739St1Xni0DJBt8HnSHTG67i1y6gr8qrA==} + '@oxlint/binding-win32-x64-msvc@1.75.0': + resolution: {integrity: sha512-DSxnNkBUAYARPwJtR12Ig3deWr8w0H997xP6jy33i+e0SyYJw8FKuz4+cZtpmPEhQmvlPJE3X/2vNxDmLkd/rA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@package-json/types@0.0.12': - resolution: {integrity: sha512-uu43FGU34B5VM9mCNjXCwLaGHYjXdNincqKLaraaCW+7S2+SmiBg1Nv8bPnmschrIfZmfKNY9f3fC376MRrObw==} + '@paralleldrive/cuid2@2.3.1': + resolution: {integrity: sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==} '@phosphor-icons/core@2.1.1': resolution: {integrity: sha512-v4ARvrip4qBCImOE5rmPUylOEK4iiED9ZyKjcvzuezqMaiRASCHKcRIuvvxL/twvLpkfnEODCOJp5dM4eZilxQ==} - '@pm2/agent@2.0.4': - resolution: {integrity: sha512-n7WYvvTJhHLS2oBb1PjOtgLpMhgImOq8sXkPBw6smeg9LJBWZjiEgPKOpR8mn9UJZsB5P3W4V/MyvNnp31LKeA==} - - '@pm2/io@6.0.1': - resolution: {integrity: sha512-KiA+shC6sULQAr9mGZ1pg+6KVW9MF8NpG99x26Lf/082/Qy8qsTCtnJy+HQReW1A9Rdf0C/404cz0RZGZro+IA==} - engines: {node: '>=6.0'} + '@pm2/blessed@0.1.81': + resolution: {integrity: sha512-ZcNHqQjMuNRcQ7Z1zJbFIQZO/BDKV3KbiTckWdfbUaYhj7uNmUwb+FbdDWSCkvxNr9dBJQwvV17o6QBkAvgO0g==} + engines: {node: '>= 0.8.0'} + hasBin: true - '@pm2/js-api@0.8.0': - resolution: {integrity: sha512-nmWzrA/BQZik3VBz+npRcNIu01kdBhWL0mxKmP1ciF/gTcujPTQqt027N9fc1pK9ERM8RipFhymw7RcmCyOEYA==} + '@pm2/js-api@0.8.1': + resolution: {integrity: sha512-n9tDOz1ojyDOs05XthEXrLFVQYbbh2oAN19UakLPyEZDrUyEq05h8wIZU8+dNXBQY/KeFlWMLVA76nnX52ofRg==} engines: {node: '>=4.0'} '@pm2/pm2-version-check@1.0.4': @@ -4533,41 +3502,32 @@ packages: '@poppinss/exception@1.2.3': resolution: {integrity: sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==} - '@posthog/core@1.24.1': - resolution: {integrity: sha512-e8AciAnc6MRFws89ux8lJKFAaI03yEon0ASDoUO7yS91FVqbUGXYekObUUR3LHplcg+pmyiJBI0jolY0SFbGRA==} - - '@posthog/types@1.363.2': - resolution: {integrity: sha512-UcUwHEd2LXxWq4bW/I4TbwYcA+BHO/cSuHcNpGXjRCp76eJk1eOuQnm/a3MrfHtbt2X11CQu+eWpqiSgcv+X6A==} - '@protobufjs/aspromise@1.1.2': resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} '@protobufjs/base64@1.1.2': resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} - '@protobufjs/codegen@2.0.4': - resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + '@protobufjs/codegen@2.0.5': + resolution: {integrity: sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==} - '@protobufjs/eventemitter@1.1.0': - resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + '@protobufjs/eventemitter@1.1.1': + resolution: {integrity: sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==} - '@protobufjs/fetch@1.1.0': - resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + '@protobufjs/fetch@1.1.1': + resolution: {integrity: sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==} '@protobufjs/float@1.0.2': resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} - '@protobufjs/inquire@1.1.0': - resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} - '@protobufjs/path@1.1.2': resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} '@protobufjs/pool@1.1.0': resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} - '@protobufjs/utf8@1.1.0': - resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + '@protobufjs/utf8@1.1.2': + resolution: {integrity: sha512-b1UQwcEZ4yCnMCD8DAL1VlbvBJE9/IX4FTIp7BG1xYpf29SLazLSrqUkj4w7Y5y7cCVP6E5tcqqcI0xemPkHug==} '@puppeteer/browsers@2.13.0': resolution: {integrity: sha512-46BZJYJjc/WwmKjsvDFykHtXrtomsCIrwYQPOP7VfMJoZY2bsDF9oROBABR3paDjDcmkUye1Pb1BqdcdiipaWA==} @@ -4579,17 +3539,30 @@ packages: engines: {node: '>=18'} hasBin: true + '@puppeteer/browsers@3.0.6': + resolution: {integrity: sha512-B/gKoqlFkzhvzsI6jo9K1cZz9o5ypviVv/xu8CwA4grZzyVwN+XfkT+tu8T1zrauuEXv6VhS2oGX+6NL95WcKA==} + engines: {node: '>=22.12.0'} + hasBin: true + peerDependencies: + proxy-agent: '>=8.0.1' + yauzl: ^2.10.0 || ^3.4.0 + peerDependenciesMeta: + proxy-agent: + optional: true + yauzl: + optional: true + '@quansync/fs@1.0.0': resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} - '@radix-ui/number@1.1.1': - resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==} + '@radix-ui/number@1.1.2': + resolution: {integrity: sha512-ceTwaxc4I5IOi97DgCotl3pqiyRGvffcc0oOsE2dQYaJOFIDsDt4VWG6xEbg1QePv9QWausCEIppud/tJ1wNig==} - '@radix-ui/primitive@1.1.3': - resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==} + '@radix-ui/primitive@1.1.6': + resolution: {integrity: sha512-w9hl+724uYEgCGR3bhuRepjBtrNB/6gkhCnAf58Ke+SLbHPPQqVZZB59z60roB+5H+nh3nWTcdJhQdFMEydWmw==} - '@radix-ui/react-accordion@1.2.12': - resolution: {integrity: sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA==} + '@radix-ui/react-accordion@1.2.17': + resolution: {integrity: sha512-l3Dmp+qPPc3SqT8+SPnxIgoWBEU2MMBxcQ7BsoRgak2UT75xY83SFvFcrUkUAWukOV3LFF+BQ9aBIFtZsIG8yQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4601,8 +3574,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-arrow@1.1.7': - resolution: {integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==} + '@radix-ui/react-arrow@1.1.12': + resolution: {integrity: sha512-ltXCE0glRomMZ9+u10d9o1Go+edqa1aLxufH59JRNNM3Yz1uvaeNWSaS1HeVh1X64agtdBG5JA1W1I6ySqWiwA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4614,8 +3587,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-avatar@1.1.11': - resolution: {integrity: sha512-0Qk603AHGV28BOBO34p7IgD5m+V5Sg/YovfayABkoDDBM5d3NCx0Mp4gGrjzLGes1jV5eNOE1r3itqOR33VC6Q==} + '@radix-ui/react-avatar@1.2.3': + resolution: {integrity: sha512-peavtnApRB1tABx42tHw+rPU83GSg5tXicMYO/Xi1/lqNcRsF6jkr6L7Njo7gj4q/xtDRDKBkqJvbMtoOMYWtA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4627,8 +3600,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-collapsible@1.1.12': - resolution: {integrity: sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==} + '@radix-ui/react-collapsible@1.1.17': + resolution: {integrity: sha512-DJgqGsNXa0df3ifz9PFNgvgj/bzIu5QTVWCt5nQWaUkM6y0EarUv4QG4s6mCoeQdOIyVOT/Q1osFuEGub2TDXQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4640,8 +3613,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-collection@1.1.7': - resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==} + '@radix-ui/react-collection@1.1.12': + resolution: {integrity: sha512-nb67INpE0IahJKN7EYPp9m9YGwYeKlnzxT3MwXVkgCskaSJia97kG4T0ywpjNUSSnoJk/uvk12V8vbrEHEj+/Q==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4653,17 +3626,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-compose-refs@1.1.2': - resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-context@1.1.2': - resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==} + '@radix-ui/react-compose-refs@1.1.3': + resolution: {integrity: sha512-rYOP8OMnuuPMQF1uhPVlGNcCDlkokKqGFE3JcxFViIkAXP7EvFWUliJAstrapypaBLJNHbZL6jGhbVDGTwmVhA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -4671,8 +3635,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-context@1.1.3': - resolution: {integrity: sha512-ieIFACdMpYfMEjF0rEf5KLvfVyIkOz6PDGyNnP+u+4xQ6jny3VCgA4OgXOwNx2aUkxn8zx9fiVcM8CfFYv9Lxw==} + '@radix-ui/react-context@1.2.0': + resolution: {integrity: sha512-fOE+JtN9rygNZkCnHRBEP0TAvLldlhyOxMsbwFvTP4nAs+nBmfnna+o/Zski2wkmY1YMrFC0aSzsHoLY47iLrg==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -4680,8 +3644,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-dialog@1.1.15': - resolution: {integrity: sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==} + '@radix-ui/react-dialog@1.1.20': + resolution: {integrity: sha512-cngVJcvK0yMvR7wICJpv+1uW3Qw4T7QM5sdbb+oE/lxOdTdvF00oaRpWUjVgmjyXe3J+xh7eZyXZlVF3g2g59g==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4693,8 +3657,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-direction@1.1.1': - resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==} + '@radix-ui/react-direction@1.1.2': + resolution: {integrity: sha512-C3vFhbyi4SW3PmbAi6Awpu4OzJtd0MxGurvSsYtr7p7nM8RNB3VAF3CUmnp2j50knpkrRcB7+ycVXzgLgF6yNA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -4702,8 +3666,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-dismissable-layer@1.1.11': - resolution: {integrity: sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==} + '@radix-ui/react-dismissable-layer@1.1.16': + resolution: {integrity: sha512-t45h68IjFx0ccBnPJqk0X6ecv69LkCFWd6DNCFQX56mUnVEXZbNOLCH/u9fHlAjFZ1RrFdl8/m4zev7B7NyhXQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4715,8 +3679,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-focus-guards@1.1.3': - resolution: {integrity: sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==} + '@radix-ui/react-focus-guards@1.1.4': + resolution: {integrity: sha512-cot/aB/mOm0IYVYTTmQcEEK1M48lZWi8FlYe5nDPQQ8NYZUlXEFgncJ9p2Kzer3RKSrY7cTTpEMLZKNo9QoP5Q==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -4724,8 +3688,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-focus-scope@1.1.7': - resolution: {integrity: sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==} + '@radix-ui/react-focus-scope@1.1.13': + resolution: {integrity: sha512-dE04aPEuP9rvKKT0d0KjSOtTEYNg6bmCYFsoSJpfC+y91Hic28ZfDCGgv6aJ+2Kw/LBXYipMZpyqVj/OD3Z8Gg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4737,30 +3701,17 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-id@1.1.1': - resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-label@2.1.8': - resolution: {integrity: sha512-FmXs37I6hSBVDlO4y764TNz1rLgKwjJMQ0EGte6F3Cb3f4bIuHB/iLa/8I9VKkmOy+gNHq8rql3j686ACVV21A==} + '@radix-ui/react-id@1.1.2': + resolution: {integrity: sha512-orBC88futVpqCmhX1p4cvquNHsELQ+w+vBJnuj3ftETI5bJb0bZn3Tqu3SWN2IOcPycTnMGnhwoermvISt72sA==} peerDependencies: '@types/react': '*' - '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-navigation-menu@1.2.14': - resolution: {integrity: sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==} + '@radix-ui/react-label@2.1.12': + resolution: {integrity: sha512-dxioNQ7VOrYKKWJIxMRmJPDSWQN0gNCUy3zaqUSBwsuFAiFzI0yLGJr2q3ml07k/HlOk55N8KEfwa1ZgfprJ3w==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4772,8 +3723,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-popover@1.1.15': - resolution: {integrity: sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==} + '@radix-ui/react-navigation-menu@1.2.19': + resolution: {integrity: sha512-58OVQUrpWx/zGVV3lxGUyAtjX4n0305Z8xIdUAq2QlFO2m2hd1eBS4x1yIVtV8bzCQJja0TJttWcwiPI6y6tmw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4785,8 +3736,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-popper@1.2.8': - resolution: {integrity: sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==} + '@radix-ui/react-popover@1.1.20': + resolution: {integrity: sha512-/PYqbsyuDkNj+IxMcRx71qNt6GelnuNulMwdCV7AtFEhUyK6XkbwreEN6CCLydMeTiDozBV4uv5aF5d12dDH7w==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4798,8 +3749,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-portal@1.1.9': - resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==} + '@radix-ui/react-popper@1.3.4': + resolution: {integrity: sha512-PXnCa3XgTQk0FegMctxgqJXtFLZe4IFJdbUkB7jKSCKEpb6utEO4S9Vog/pkyCfEPdzM331gvE4xpztmBAfMng==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4811,8 +3762,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-presence@1.1.5': - resolution: {integrity: sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==} + '@radix-ui/react-portal@1.1.14': + resolution: {integrity: sha512-REwjAGPMa3J9oyDE4cuWkZbwnCbbyky66NurquQklXMSDn67cl6oGFx2gO7KZhPtFNbNw9xTWNrti3VIhgluYw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4824,8 +3775,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-primitive@2.1.3': - resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==} + '@radix-ui/react-presence@1.1.8': + resolution: {integrity: sha512-0hhyrQdXMaATgq4ammLG9+iPqsXxzZkgTSIxdrJHdfLnXO4Uo5L7BoO3/Xf0AEaettadGZWGGJMw6ujzQvIpGA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4837,8 +3788,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-primitive@2.1.4': - resolution: {integrity: sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==} + '@radix-ui/react-primitive@2.1.7': + resolution: {integrity: sha512-bC3NiwsprbxKjuon9l7X6BUTw7FPVzEYaL92MPEY5SCd/9hUTPXVFtVwRix7778wtRsVao+zE062gL79FZleeQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4850,8 +3801,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-roving-focus@1.1.11': - resolution: {integrity: sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==} + '@radix-ui/react-roving-focus@1.1.16': + resolution: {integrity: sha512-w7lLsTSd3940vFYEshKkHw+NGf7H0QDJPHYsy8NRjDCVbO6ZdKW1X/xoJSYHZtttnrdZiYqbN2O/2uHGB0zasw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4863,8 +3814,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-scroll-area@1.2.10': - resolution: {integrity: sha512-tAXIa1g3sM5CGpVT0uIbUx/U3Gs5N8T52IICuCtObaos1S8fzsrPXG5WObkQN3S6NVl6wKgPhAIiBGbWnvc97A==} + '@radix-ui/react-scroll-area@1.2.15': + resolution: {integrity: sha512-JVBHNfTBbGd9hhq/xZZOgmVnBCXhLs8PJJ8vMzgwI0pLZNsKckW9pkoqHyxokUCt1hoxbwDNvF9DItEeZsG68g==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4876,17 +3827,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-slot@1.2.3': - resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-slot@1.2.4': - resolution: {integrity: sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==} + '@radix-ui/react-slot@1.3.0': + resolution: {integrity: sha512-MojKku4U/miO8Av4Dkb+ctMAQx7JmY96LmtDQlAarCRtd7rN52QCSzBF+XAvr5S6coSVj9HEPBgHAHKEJVk/WA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -4894,8 +3836,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-tabs@1.1.13': - resolution: {integrity: sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==} + '@radix-ui/react-tabs@1.1.18': + resolution: {integrity: sha512-1zq2XkQkK/KfbZn84edytYpOLquhNalra5LXc3NAMKhNRSGtyXqjMv6OyC9jlSuNKpqvQtsb57WKoICNk1v/sQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4907,8 +3849,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-toast@1.2.15': - resolution: {integrity: sha512-3OSz3TacUWy4WtOXV38DggwxoqJK4+eDkNMl5Z/MJZaoUPaP4/9lf81xXMe1I2ReTAptverZUpbPY4wWwWyL5g==} + '@radix-ui/react-toast@1.2.20': + resolution: {integrity: sha512-S28OtO1IvYSpWfaUBtiYCTTwRLF8doafj+a+uQw8rc8dLINS52uuG3CIPCeZc3Jfdb/S7o7HhlQxLoXlIYRu6g==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -4920,17 +3862,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-use-callback-ref@1.1.1': - resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-use-controllable-state@1.2.2': - resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==} + '@radix-ui/react-use-callback-ref@1.1.2': + resolution: {integrity: sha512-xCso9j1/u8sEgP1RNHjFrXJLApL8LiqOkI1R4ywuN00rxWdYg4oQXuwKLS3i0j5NWLromUD27/4nlxj2UFVvIw==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -4938,8 +3871,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-effect-event@0.0.2': - resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==} + '@radix-ui/react-use-controllable-state@1.2.4': + resolution: {integrity: sha512-cx2DixxmSfjCcEoRvDvy1NLd6SWK94XFcEEOZUcharUlXbmahFQGKCfwdKZL2ub34iIwOPOEFVF80xb+yfLYiA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -4947,8 +3880,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-escape-keydown@1.1.1': - resolution: {integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==} + '@radix-ui/react-use-effect-event@0.0.3': + resolution: {integrity: sha512-6c8ZqvPTWILEKnyVkP53EGRCcpnJiKTC21sS/6R1GF5xKyHJJWQEPfkqlcgUkdRQivd6tb23abUwe4ngWmY0JA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -4956,8 +3889,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-is-hydrated@0.1.0': - resolution: {integrity: sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==} + '@radix-ui/react-use-is-hydrated@0.1.1': + resolution: {integrity: sha512-qwOiz4Tjo8CNnrOLAYUMXeZwDzXgXpvK4TKQPmWLECM9XoWvA6+0Z2/7Ag3A4ivjS4ovbLJPbskkxioFyBhr8A==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -4965,8 +3898,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-layout-effect@1.1.1': - resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==} + '@radix-ui/react-use-layout-effect@1.1.2': + resolution: {integrity: sha512-jrBWOxZITuGcnjRCM2t2U5ZPkCLxD+Ym6DjfssS5haTj2iiak/DOb64JeN6OdLfLgptb6/e2kKR+ZuTrGoZTPA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -4974,8 +3907,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-previous@1.1.1': - resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==} + '@radix-ui/react-use-previous@1.1.2': + resolution: {integrity: sha512-IGBQPtRFdhN6MQ8dbegVmBq1LVZluya3F1jWY+puIcQC3MHctRwTDSBWCkL/3ZcnMJLTMJ++Z+ktmvg0F89iCw==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -4983,8 +3916,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-rect@1.1.1': - resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==} + '@radix-ui/react-use-rect@1.1.2': + resolution: {integrity: sha512-d8a+bBY/FxikNPlgJJoaBHZX+zKVbWHYJGTLnLvveQgFSTntkGdEKv3JDtHrMS0DNYpllz2nRsTLGLKYttbpmw==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -4992,8 +3925,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-size@1.1.1': - resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==} + '@radix-ui/react-use-size@1.1.2': + resolution: {integrity: sha512-giWQp+4mxjBPt4KZ0MmyuykFNWfbDxKt4x+fPkRYmgRFJSbCZFzUglvMb/Kjn38tm10YP4ufiQZDx3zna4LU6w==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -5001,8 +3934,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-visually-hidden@1.2.3': - resolution: {integrity: sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==} + '@radix-ui/react-visually-hidden@1.2.8': + resolution: {integrity: sha512-FjsQEpkNBJJYiPSat6jh2LGKLPX2jAoDVS3AZSBNX3cOUoEGhw/f+z2FCY8Cf1NkoYIbytJ1f4mlWPQpR+MjVg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -5014,8 +3947,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/rect@1.1.1': - resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==} + '@radix-ui/rect@1.1.2': + resolution: {integrity: sha512-xnXE7wG13PI+cxieVssYXlQJuYVRhH9NBoxt3KNwzghDIA69GMm7d4wXRouHIYjE+KvS6U/MsMO73NdS2MH9ZA==} '@replit/codemirror-css-color-picker@6.3.0': resolution: {integrity: sha512-19biDANghUm7Fz7L1SNMIhK48tagaWuCOHj4oPPxc7hxPGkTVY2lU/jVZ8tsbTKQPVG7BO2CBDzs7CBwb20t4A==} @@ -5030,14 +3963,14 @@ packages: cpu: [arm64] os: [android] - '@rolldown/binding-android-arm64@1.0.0-rc.15': - resolution: {integrity: sha512-YYe6aWruPZDtHNpwu7+qAHEMbQ/yRl6atqb/AhznLTnD3UY99Q1jE7ihLSahNWkF4EqRPVC4SiR4O0UkLK02tA==} + '@rolldown/binding-android-arm64@1.1.5': + resolution: {integrity: sha512-lZg8fqIv2v7FF237bwMgzGZEJvGL79/s5knJ/i6FmsGF4XXlzccZ4jb+TrFIxtSSxFtIpdsgrPZeMk1I9AFcyQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-android-arm64@1.0.1': - resolution: {integrity: sha512-fJI3I0r3C3Oj/zdBCpaCmBRZYf07xpaq4yCfDDoSFm+beWNzbIl26puW8RraUdugoJw/95zerNOn6jasAhzSmg==} + '@rolldown/binding-android-arm64@1.2.0': + resolution: {integrity: sha512-9yB1l95IrJuNGDFdOYe79vdApdz6WWBCObE+rQ2LUliYUlcyFwSYIb2xb5/Ifw7dAtMy2ZqNyd8QTSOc7duAKw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] @@ -5048,14 +3981,14 @@ packages: cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-arm64@1.0.0-rc.15': - resolution: {integrity: sha512-oArR/ig8wNTPYsXL+Mzhs0oxhxfuHRfG7Ikw7jXsw8mYOtk71W0OkF2VEVh699pdmzjPQsTjlD1JIOoHkLP1Fg==} + '@rolldown/binding-darwin-arm64@1.1.5': + resolution: {integrity: sha512-51Bnx9pNiMRKSUNtBfySkNJ9vMU9Hh3I1ozDd6gyPPYzaXCfnptUcEZxXGYFn+ul2dtcMUiqGR1Yai2K10uoTw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-arm64@1.0.1': - resolution: {integrity: sha512-cKnAhWEsV7TPcA/5EAteDp6KcJZBQ2G+BqE7zayMMi7kMvwRsbv7WT9aOnn0WNl4SKEIf43vjS31iUPu80nzXg==} + '@rolldown/binding-darwin-arm64@1.2.0': + resolution: {integrity: sha512-pexNaW9ACLUOaBITOpU6qVu4VrsOFIjTv6bzgu0YUATo4eUJx0V605PxwZfndpPOn0ilqGqvGQ0M8UW0IE24jg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] @@ -5066,14 +3999,14 @@ packages: cpu: [x64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-rc.15': - resolution: {integrity: sha512-YzeVqOqjPYvUbJSWJ4EDL8ahbmsIXQpgL3JVipmN+MX0XnXMeWomLN3Fb+nwCmP/jfyqte5I3XRSm7OfQrbyxw==} + '@rolldown/binding-darwin-x64@1.1.5': + resolution: {integrity: sha512-Tm+gbfC0aHu1tBA/JvKQh32S0K6YgCHkiAF4/W6xX0K0RmNuc94VeK419dJoE65R5aRxmo+noZQSWrAMF6yb6g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.1': - resolution: {integrity: sha512-YKrVwQjIRBPo+5G/u03wGjbdy4q7pyzCe93DK9VJ7zkVmeg8LJ7GbgsiHWdR4xSoe4CAXRD7Bcjgbtr64bkXNg==} + '@rolldown/binding-darwin-x64@1.2.0': + resolution: {integrity: sha512-NqKYaq0355ZmNMG4QGpxtEDxsc7tGDhjhCm4PpE0cwnBW+5Il95LJyq414niEiaKLVjnVHBEjSo1wngKxJNiFw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] @@ -5084,14 +4017,14 @@ packages: cpu: [x64] os: [freebsd] - '@rolldown/binding-freebsd-x64@1.0.0-rc.15': - resolution: {integrity: sha512-9Erhx956jeQ0nNTyif1+QWAXDRD38ZNjr//bSHrt6wDwB+QkAfl2q6Mn1k6OBPerznjRmbM10lgRb1Pli4xZPw==} + '@rolldown/binding-freebsd-x64@1.1.5': + resolution: {integrity: sha512-JMzDKCCXq93YccG5gz3hvOs1oXRKAf0XYpfOS88e+wZrC8Iugj6j68867vrYZkvpDDpKn/KoKORThmchMpF6TA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-freebsd-x64@1.0.1': - resolution: {integrity: sha512-z/oBsREo46SsFqBwYtFe0kpJeBijAT48O/WXLI4suiCLBkr03RTtTJMCzSdDd2znlh8VJizL09XVkQgk8IZonw==} + '@rolldown/binding-freebsd-x64@1.2.0': + resolution: {integrity: sha512-3vPoHzh6eBTz9IbB0/qZdSr0Qeks2echn+I4cHu2joV74VriPDdldswksEDzrl1mBB+oPRi+67+3Ib59paxIPQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] @@ -5102,14 +4035,14 @@ packages: cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.15': - resolution: {integrity: sha512-cVwk0w8QbZJGTnP/AHQBs5yNwmpgGYStL88t4UIaqcvYJWBfS0s3oqVLZPwsPU6M0zlW4GqjP0Zq5MnAGwFeGA==} + '@rolldown/binding-linux-arm-gnueabihf@1.1.5': + resolution: {integrity: sha512-uML21j2K5TfPGutKxub+M+nLjZIrWjXQ5Grx4lCe/nimTj9B4L63zHpjXLl4y0L3mcm2htEQIb06oCG/szerNw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm-gnueabihf@1.0.1': - resolution: {integrity: sha512-ik8q7GM11zxvYxFc2PeDcT6TBvhCQMaUxfph/M5l9sKuTs/Sjg3L+Byw0F7w0ZVLBZmx30P+gG0ECzzN+MFcmQ==} + '@rolldown/binding-linux-arm-gnueabihf@1.2.0': + resolution: {integrity: sha512-E6NNefZ1bUVmKJq2tJkf45J4Zyczj7qm9rUT7NY+Xo2474Y13qWAwc2tvBt0BAVbmtXR1llkxXg0Ou1jbDf2SQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] @@ -5121,15 +4054,15 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.15': - resolution: {integrity: sha512-eBZ/u8iAK9SoHGanqe/jrPnY0JvBN6iXbVOsbO38mbz+ZJsaobExAm1Iu+rxa4S1l2FjG0qEZn4Rc6X8n+9M+w==} + '@rolldown/binding-linux-arm64-gnu@1.1.5': + resolution: {integrity: sha512-navSiuTMogvnQoZoM/v+l3ZWo50/NTwSHSzheABx/RCnmUPaKwq9qSo4Br2OYRs21+Fz8uFqITZM3H4opOB0/Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-gnu@1.0.1': - resolution: {integrity: sha512-QoSx2EkyrrdZ6kcyE8stqZ62t0Yra8Fs5ia9lOxJrh6TMQJK7gQKmscdTHf7pOXKREKrVwOtJcQG3qVSfc866A==} + '@rolldown/binding-linux-arm64-gnu@1.2.0': + resolution: {integrity: sha512-D+TgkdgM1vu+7/Fpf8+v0ARW+RXEP9Ccazgm8zQ4JFFd9Q7SrYQ2TakU5S5ihazQDgpKyAgZDOcIFsvoHmTZ8w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -5142,15 +4075,15 @@ packages: os: [linux] libc: [musl] - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.15': - resolution: {integrity: sha512-ZvRYMGrAklV9PEkgt4LQM6MjQX2P58HPAuecwYObY2DhS2t35R0I810bKi0wmaYORt6m/2Sm+Z+nFgb0WhXNcQ==} + '@rolldown/binding-linux-arm64-musl@1.1.5': + resolution: {integrity: sha512-lAryqH7IteztmCXQXk0etKj4wBQ7Gx5S6LjKhsgp9zb8I5bsuvU/2llH1hDQcjsFeqIsovMVN339/8pUDDBXxA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-arm64-musl@1.0.1': - resolution: {integrity: sha512-uwNwFpwKeNiZawfAWBgg0VIztPTV3ihhh1vV334h9ivnNLorxnQMU6Fz8wG1Zb4Qh9LC1/MkcyT3YlDXG3Rsgg==} + '@rolldown/binding-linux-arm64-musl@1.2.0': + resolution: {integrity: sha512-wUqdwJBbAv0APN87GecstdMUtLjjNTs0hBALpxETD73mccFxdmt/XeizXDtN5RAlBwNKmI+Tg+blect2G+8IeQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -5163,15 +4096,15 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.15': - resolution: {integrity: sha512-VDpgGBzgfg5hLg+uBpCLoFG5kVvEyafmfxGUV0UHLcL5irxAK7PKNeC2MwClgk6ZAiNhmo9FLhRYgvMmedLtnQ==} + '@rolldown/binding-linux-ppc64-gnu@1.1.5': + resolution: {integrity: sha512-fsK/sNBnxzBlL4O1JNrZakVQxPspqpED5dLtNsZS9oOKmtSpdNIzxH2kkol5HYTWJN47sE20ztMJPxfZ89qGOg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-ppc64-gnu@1.0.1': - resolution: {integrity: sha512-zY1bul7OWr7DFBiJ++wofXvnr8B45ce3QsQUhKrIhXsygAh7bTkwyeM1bi1a2g5C/yC/N8TZyGDEoMfm/l9mpg==} + '@rolldown/binding-linux-ppc64-gnu@1.2.0': + resolution: {integrity: sha512-9DtF35qR9/NrfhM4oxLplCzVVjE+KKm8Pjemi0i/sdhAWkUasjmSo8WTTubNJClhSHCfyk2yeyoXDQEDPtDAAw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] @@ -5184,15 +4117,15 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.15': - resolution: {integrity: sha512-y1uXY3qQWCzcPgRJATPSOUP4tCemh4uBdY7e3EZbVwCJTY3gLJWnQABgeUetvED+bt1FQ01OeZwvhLS2bpNrAQ==} + '@rolldown/binding-linux-s390x-gnu@1.1.5': + resolution: {integrity: sha512-gLYb4BIadlfTOYT5gO503n8zQjXflgzpD0FcyKh0Mzx3rqCZKnHoJWV9xe1KXUJ5lx2JfcSHr/mhzS0PC/McAA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.1': - resolution: {integrity: sha512-0frlsT/f4Ft6I7SMESTKnF3cZsdicQn1dCMkF/jT9wDLE+gGoiQfv1nmT9e+s7s/fekvvy6tZM2jHvI2tkbJDQ==} + '@rolldown/binding-linux-s390x-gnu@1.2.0': + resolution: {integrity: sha512-RzuHrBh8X8Hntd2N4VR02QGEciq/9JhcZoTpR/Cee6otRrlILGCf3cg2ygHuih+ZebUnWmMrDX6ITI85btO6rQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] @@ -5205,15 +4138,15 @@ packages: os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.15': - resolution: {integrity: sha512-023bTPBod7J3Y/4fzAN6QtpkSABR0rigtrwaP+qSEabUh5zf6ELr9Nc7GujaROuPY3uwdSIXWrvhn1KxOvurWA==} + '@rolldown/binding-linux-x64-gnu@1.1.5': + resolution: {integrity: sha512-FjcpEKUyJygHgs1o50VYNvkt5+7Le/VEdYt0AkRpkL33MnyQfwr8l5mXwMmfmTbyMPr5vJLC+8/Gd9gXnwU1QQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.1': - resolution: {integrity: sha512-XABVmGp9Tg0WspTVvwduTc4fpqy6JnAUrSQe6OuyqD/03nI7r0O9OWUkMIwFrjKAIqolvqoA4ZrJppgwE0Gxmw==} + '@rolldown/binding-linux-x64-gnu@1.2.0': + resolution: {integrity: sha512-MK7L0018jjh1jR3mh21G2j1zAVcpscJBlPo2z19pRjv2XOYGRhaV4LyiD8HO6nCDdZln9IFgCMIV5yt4E3klGQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -5226,15 +4159,15 @@ packages: os: [linux] libc: [musl] - '@rolldown/binding-linux-x64-musl@1.0.0-rc.15': - resolution: {integrity: sha512-witB2O0/hU4CgfOOKUoeFgQ4GktPi1eEbAhaLAIpgD6+ZnhcPkUtPsoKKHRzmOoWPZue46IThdSgdo4XneOLYw==} + '@rolldown/binding-linux-x64-musl@1.1.5': + resolution: {integrity: sha512-Me+PfPI2TMeOQk0gYWfLQZtTktrmzbr8cDboqX83XKc7UrgAi55gF+2dUkWdxd19n55Essp2yeca+O9N5rBxHg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-linux-x64-musl@1.0.1': - resolution: {integrity: sha512-bV4fzswuzVcKD90o/VM6QqKxnxlDq0g2BISDLNVmxrnhpv1DDbyPhCIjYfvzYLV+MvkKKnQt2Q6AO86SEBULUQ==} + '@rolldown/binding-linux-x64-musl@1.2.0': + resolution: {integrity: sha512-gyrxLQ9NfGb/9LoVnC4kb9miUghw1mghnkfYvNHSnVIXriabnfgGPUP4RLcJm87q3KgYz4FYUG8IDiWUT+CpSw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -5246,14 +4179,14 @@ packages: cpu: [arm64] os: [openharmony] - '@rolldown/binding-openharmony-arm64@1.0.0-rc.15': - resolution: {integrity: sha512-UCL68NJ0Ud5zRipXZE9dF5PmirzJE4E4BCIOOssEnM7wLDsxjc6Qb0sGDxTNRTP53I6MZpygyCpY8Aa8sPfKPg==} + '@rolldown/binding-openharmony-arm64@1.1.5': + resolution: {integrity: sha512-yc5WrLzXks6zCQfn9Oxr8pORKyl/pF+QjHmW/Qx3qu0oyrrNC+y2JLTU1E2rcWYAmzlnqngWXHQjy51VzW70Vw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-openharmony-arm64@1.0.1': - resolution: {integrity: sha512-/Mh0Zhq3OP7fVs0kcQHZP6lZEthMGTaSf8UBQYSFEZDWGXXlEC+nJ6EqenaK2t4LBXMe3A+K/G2BVXXdtOr4PQ==} + '@rolldown/binding-openharmony-arm64@1.2.0': + resolution: {integrity: sha512-/6VFMQGRmrhP77KXDC+StIxGzcNp5JOIyYtw0CQ8gPlzhpiIRucYfoM5FaFamHd5BJYIdH86yfP46l1p3WdrFA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] @@ -5263,13 +4196,13 @@ packages: engines: {node: '>=14.0.0'} cpu: [wasm32] - '@rolldown/binding-wasm32-wasi@1.0.0-rc.15': - resolution: {integrity: sha512-ApLruZq/ig+nhaE7OJm4lDjayUnOHVUa77zGeqnqZ9pn0ovdVbbNPerVibLXDmWeUZXjIYIT8V3xkT58Rm9u5Q==} - engines: {node: '>=14.0.0'} + '@rolldown/binding-wasm32-wasi@1.1.5': + resolution: {integrity: sha512-VbQGPX2b4r48TAMIM2cjgluIM1HYutm4pcTEJsle7iEP7sB1dFqtPLBVbdLAZCxy1txCcPxf4QFf4v8uvltPqA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-wasm32-wasi@1.0.1': - resolution: {integrity: sha512-+1xc9X45l8ufsBAm6Gjvx2qDRIY9lTVt0cgWNcJ+1gdhXvkbxePA60yRTwSTuXL09CMhyJmjpV7E3NoyxbqFQQ==} + '@rolldown/binding-wasm32-wasi@1.2.0': + resolution: {integrity: sha512-rwdbUL465kisF24WEJLvP3JrEG6E5GRuIHt5wpMwHGERtHe4Wm2CIvtf5gTBgr2tGOHKh5NdKEAFS2VkOPE91g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] @@ -5279,14 +4212,14 @@ packages: cpu: [arm64] os: [win32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.15': - resolution: {integrity: sha512-KmoUoU7HnN+Si5YWJigfTws1jz1bKBYDQKdbLspz0UaqjjFkddHsqorgiW1mxcAj88lYUE6NC/zJNwT+SloqtA==} + '@rolldown/binding-win32-arm64-msvc@1.1.5': + resolution: {integrity: sha512-gHv82k63z4qpV5+Q1y/12KrK0ltWBukVDI8nZcbT7Tt/ZlOIVwppazneq0F93oDxTo3IgAMEDIoQh3E2n6mVsw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-arm64-msvc@1.0.1': - resolution: {integrity: sha512-1D+UqZdfnuR+Jy1GgMJwi85bD40H21uNmOPRWQhw4oRSuolZ/B5rixZ45DK2KXOTCvmVCecauWgEhbw8bI7tOw==} + '@rolldown/binding-win32-arm64-msvc@1.2.0': + resolution: {integrity: sha512-+5suHwRiKGmhwyUaNT8a5QbrBvLFh2DbO910TEmGRH1aSxwrCezodvGQnulv4uiWEIv1Kq4ypRsJ5+O+ry1DiA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] @@ -5297,205 +4230,314 @@ packages: cpu: [x64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.15': - resolution: {integrity: sha512-3P2A8L+x75qavWLe/Dll3EYBJLQmtkJN8rfh+U/eR3MqMgL/h98PhYI+JFfXuDPgPeCB7iZAKiqii5vqOvnA0g==} + '@rolldown/binding-win32-x64-msvc@1.1.5': + resolution: {integrity: sha512-tTZuDBPw85tEN5PQi1pnEBzDy0Z49HtScLAbD5t6hyeU92A95pRWaSMw1GZZi/RwgSgUIl0xrSlXIT/9QzvYSA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.1': - resolution: {integrity: sha512-INAycaWuhlOK3wk4mRHGsdgwYWmd9cChdPdE9bwWmy6rn9VqVNYNFGhOdXrofXUxwHIncSiPNb8tNm8knDVIeQ==} + '@rolldown/binding-win32-x64-msvc@1.2.0': + resolution: {integrity: sha512-WfFv6/qGufotqBSBzBYwgpCkJBk8Nj7697LL9vTz/XWc67e0r3oewu8iMRwQj3AUL45GVD7wVsPjCsAAtW66Wg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.0-beta.40': - resolution: {integrity: sha512-s3GeJKSQOwBlzdUrj4ISjJj5SfSh+aqn0wjOar4Bx95iV1ETI7F6S/5hLcfAxZ9kXDcyrAkxPlqmd1ZITttf+w==} - '@rolldown/pluginutils@1.0.0-rc.12': resolution: {integrity: sha512-HHMwmarRKvoFsJorqYlFeFRzXZqCt2ETQlEDOb9aqssrnVBB1/+xgTGtuTrIk5vzLNX1MjMtTf7W9z3tsSbrxw==} - '@rolldown/pluginutils@1.0.0-rc.15': - resolution: {integrity: sha512-UromN0peaE53IaBRe9W7CjrZgXl90fqGpK+mIZbA3qSTeYqg3pqpROBdIPvOG3F5ereDHNwoHBI2e50n1BDr1g==} - '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@rollup/plugin-typescript@8.5.0': - resolution: {integrity: sha512-wMv1/scv0m/rXx21wD2IsBbJFba8wGF3ErJIr6IKRfRj49S85Lszbxb4DCo8iILpluTjk2GAAu9CoZt4G3ppgQ==} - engines: {node: '>=8.0.0'} + '@rollup/plugin-swc@0.4.1': + resolution: {integrity: sha512-widfnT1TbDc4hsV37PQ61ZoLGPJ7STZE4lQzA3gWKbcMfzjOgiGsoTYfSsq21H4J2UY1y3MKwejXTMkwN2tEtQ==} + engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^2.14.0 - tslib: '*' - typescript: '>=3.7.0' + '@swc/core': ^1.3.0 + rollup: ^3.0.0||^4.0.0 peerDependenciesMeta: - tslib: + rollup: optional: true - '@rollup/pluginutils@3.1.0': - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} + '@rollup/pluginutils@5.4.0': + resolution: {integrity: sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==} + engines: {node: '>=14.0.0'} peerDependencies: - rollup: ^1.20.0||^2.0.0 - - '@scalar/agent-chat@0.9.17': - resolution: {integrity: sha512-wmXzyeSHREOtcZleeRQM2QLasHXOqutu3qzxq+64a32whzhDb315+QAHumZAQkGjWg67HtCKN3P+/OQIpSkXxg==} - engines: {node: '>=22'} + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true - '@scalar/api-client@2.39.4': - resolution: {integrity: sha512-YSRtFLUU/7nDGU6OHQiYhHnXeshECdrAo7gE/yeme1C/6YgoeSyXYLPk23Ihb3nNrr1rUEQ5d80tCvM3GJVZnA==} - engines: {node: '>=22'} + '@rollup/rollup-android-arm-eabi@4.62.2': + resolution: {integrity: sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==} + cpu: [arm] + os: [android] - '@scalar/api-reference-react@0.9.18': - resolution: {integrity: sha512-AoSsBrhVoJt/42EBSNQPPcg6JHM1YjtK3f6ccfb/qSq7WvFoMaWPt/QzSpTEqgUtALCLNzqEUaTkuTzvAqjkEw==} - engines: {node: '>=22'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 + '@rollup/rollup-android-arm64@4.62.2': + resolution: {integrity: sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==} + cpu: [arm64] + os: [android] - '@scalar/api-reference@1.49.8': - resolution: {integrity: sha512-fVdgthu8ooKVba7G+5jfI8c4H/qv4M0VYILW6UMjmktpgeDezslSGiS97vBS3JXeuQBZDKBzq8PhvydXNz/TwA==} + '@rollup/rollup-darwin-arm64@4.62.2': + resolution: {integrity: sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.62.2': + resolution: {integrity: sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.62.2': + resolution: {integrity: sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.62.2': + resolution: {integrity: sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.62.2': + resolution: {integrity: sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm-musleabihf@4.62.2': + resolution: {integrity: sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-arm64-gnu@4.62.2': + resolution: {integrity: sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm64-musl@4.62.2': + resolution: {integrity: sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-loong64-gnu@4.62.2': + resolution: {integrity: sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==} + cpu: [loong64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-loong64-musl@4.62.2': + resolution: {integrity: sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==} + cpu: [loong64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-ppc64-gnu@4.62.2': + resolution: {integrity: sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-ppc64-musl@4.62.2': + resolution: {integrity: sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==} + cpu: [ppc64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-riscv64-gnu@4.62.2': + resolution: {integrity: sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-riscv64-musl@4.62.2': + resolution: {integrity: sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-s390x-gnu@4.62.2': + resolution: {integrity: sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-gnu@4.62.2': + resolution: {integrity: sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-musl@4.62.2': + resolution: {integrity: sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rollup/rollup-openbsd-x64@4.62.2': + resolution: {integrity: sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.62.2': + resolution: {integrity: sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.62.2': + resolution: {integrity: sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.62.2': + resolution: {integrity: sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.62.2': + resolution: {integrity: sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.62.2': + resolution: {integrity: sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==} + cpu: [x64] + os: [win32] + + '@scalar/agent-chat@0.12.22': + resolution: {integrity: sha512-TQ4K8DOPMzRSwFWEVuJp7a+JQoiPD4WxbG0d7sJilC1dgtdDS6efRmadh87eRa17N+06xWfx5EcXg8hDrfKAFw==} + engines: {node: '>=22'} + + '@scalar/api-client@3.13.7': + resolution: {integrity: sha512-bd+2nI27gnfCgzCGEP13u7rd2IlNdAB+Rx+CX0i29UXEu6SVxWpv5hBVrLLTQebfNzcUk9Evr+NkIX/WjSHp0Q==} engines: {node: '>=22'} - '@scalar/code-highlight@0.3.1': - resolution: {integrity: sha512-2nUHEssDMBJ52r5D9IhqcB+3cMuVmBP9s77pwRGd8Lj6Qa/R8Pzxqcv9jNbS7uYilNSNCZ5NbgR7Efh66qHLag==} + '@scalar/api-reference-react@0.9.59': + resolution: {integrity: sha512-kF1UFrcnSjRTKK9XtBdOuMQOpS4f/1TESTmFT458WFqESlQi6TWgmPBj7CbcoSkYXEQ2z7TOZxA4cPqog/R0CQ==} engines: {node: '>=22'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 - '@scalar/components@0.21.2': - resolution: {integrity: sha512-KDI2fBg+c3akUqYn8hU9a63+GVLyegeeI01oWGKWVMxIIQzs0LRPZc0CaMe8bRsLU+BO3xCQl+5AhXQAZUklLg==} + '@scalar/api-reference@1.63.0': + resolution: {integrity: sha512-ie2DfrOeElmaVmY/xHd3aMfUpA5ApBDuPHYbcypn01l7rQPGQMFjPa7GX4QNzp4tgjnEMX3X9BYKSkyMQtH5ng==} engines: {node: '>=22'} - '@scalar/draggable@0.4.1': - resolution: {integrity: sha512-TvTiy0tB2ulfBL7jwrpnsf7Geqlq/tWaIopkyZLii9bZPxPX5y1o6fVJXMyjtsUo0FSzvB382kN4uPi1TK/Hww==} + '@scalar/asyncapi-upgrader@0.1.4': + resolution: {integrity: sha512-pyAoyuFVlUf+ZThiuHAShV4lyF9LlPab5AJrvoER8JBz00bHF1NWiGveYySRcNcvke5U5nWCr7NxtiMIokP8sA==} engines: {node: '>=22'} - '@scalar/helpers@0.4.2': - resolution: {integrity: sha512-IrgrGVSahCfYDNWITazz4Q1BOndp5eEzlimRkfxiYn++KqeWyLfALyym1omqcdKGYtiSx1KIbKaUJL9vkjaN7w==} + '@scalar/blocks@0.1.8': + resolution: {integrity: sha512-I0bOMnb8+8cjboaRMWz4Vo16rcYu8+4tzLIpPeJHsJs4I5OaIIgaoNHRPaWDip9ZrqbD4m1I2gMDJmpJU/hEmA==} engines: {node: '>=22'} - '@scalar/icons@0.7.1': - resolution: {integrity: sha512-z6ZlhZ6WOvUxQH6h28TblrWR1xP/AmKmg3nGnC8KbJf400MQY4q3ePDm4PGbPwua79I/4yAAH3QcMZQkg3GwTg==} + '@scalar/code-highlight@0.4.3': + resolution: {integrity: sha512-uueW22siajrJUtszH+k/PmABqau2MmJzajpEFTPapK7Zak167xcKUIjcMbFFFgW8SGKLMSVzLkuB/VNDbOHuOg==} engines: {node: '>=22'} - '@scalar/import@0.5.3': - resolution: {integrity: sha512-eXclOMoVMiafHpR+yRs/SrxCexxXFVBekf+TagaQy0EVTAwFHi38jDURq6rs1E8SVUJlkH0Pu/xS2kHhxtmFAQ==} + '@scalar/components@0.27.9': + resolution: {integrity: sha512-AoUTHwTfVc44zZbZnridPd7mp8lhe2LgX9KeyKw5keFlhLY1MzQv9OuXD7riLbJPrFFF/7lbqCLEpyG6vWSXQg==} engines: {node: '>=22'} - '@scalar/json-magic@0.12.4': - resolution: {integrity: sha512-ZsJM+y9SOVjRL+g9Tr/jFEodcYPfHSt5ZRrpbeGDK71yTvSZw41A3UJ7Bg+RXM8JJWRYcJkYVkzrmbb/ig7qlA==} + '@scalar/helpers@0.9.2': + resolution: {integrity: sha512-hjyMpMZjTBZQhyByZmz5oUgRKUQJO5V5AOiJxsVEGbUmgA7sJRQeTrXLB+BEwzaKS5nm2opJeNyMBYLFNK4hiQ==} engines: {node: '>=22'} - '@scalar/oas-utils@0.10.14': - resolution: {integrity: sha512-A5sS/tTRvelMxnxwVAh5ZRflZ04118+GunquvG9ug8gpDukuW4p5WRUB9o+QZdMTi4NUKJ+fokITKNDuY9CfcA==} + '@scalar/icons@0.7.5': + resolution: {integrity: sha512-kWYkjmYlHzrZ+31d8L1uJpVeil6r1xNcyR+MewnxFslpMBCDIeo9udhYzg09v8s6nWKxwuPokhdQPLbKS+SSgg==} engines: {node: '>=22'} - '@scalar/object-utils@1.3.3': - resolution: {integrity: sha512-8BvTy3d5CpF7nZjexgRDZ+TfAuv+biqvb9mJDV4UuWYMhLPZWKio0G+vcAB+8Rq3hrVrY+y9Yeha6OBz39NgVw==} + '@scalar/json-magic@0.12.19': + resolution: {integrity: sha512-1T4QoFYZ1nKt25xFeHtghAuZzaLq2X4CpCSLFXG0Fjcz6K2HIZqo+RtywfI0WD8RRRRgS34keo7X4Gv1BQUNoQ==} engines: {node: '>=22'} - '@scalar/openapi-parser@0.25.7': - resolution: {integrity: sha512-Zfagv2wEprukR3Y2zKS2qcepX1n4u1uan1jpnj3tROrWG4bFAT6TULo0cobuiPgs6YROd5sIhN64wTboA2llcg==} + '@scalar/oas-utils@0.19.8': + resolution: {integrity: sha512-A/bGTqthxnsgoveQ7Xomxtwk0JQ7V/cweaxz/Dhp9/JmvnAnjBjpcG050gcC1EuVkHhJL1sPH2+IczS9liQQ3A==} engines: {node: '>=22'} - '@scalar/openapi-types@0.6.1': - resolution: {integrity: sha512-P1RvyTFN0vRSL136OqWjlZfSFjY9JoJfuD6LM1mIjoocfwmqX3WuzsFEFX6hAeeDlTh6gjbiy+OdhSee8GFfSA==} + '@scalar/openapi-types@0.9.3': + resolution: {integrity: sha512-34qglt5jSo55iZfH9i7EhjQCdE0Po2xZeh8wytQKolSnXrxsYMSyFDJEBxz1Gaew4on9N3XIWsd0QpwKVA5CSA==} engines: {node: '>=22'} - '@scalar/openapi-upgrader@0.2.3': - resolution: {integrity: sha512-h8Orhztvd4hivrxoj809nTw3TOKY0al8cB0wXWHR6fZvI9UtsQchkDgXw1FfGMZstgKcDD6W3PHg98frwpFezg==} + '@scalar/openapi-upgrader@0.2.11': + resolution: {integrity: sha512-eYEFBO8mZfgXEO/hv8rdL5OA4oOB8orFT5kXNK4I/x9xca2D7A4BteuFXqRaw9lE1CIjtG+StlAUYVz5omTXew==} engines: {node: '>=22'} - '@scalar/postman-to-openapi@0.6.0': - resolution: {integrity: sha512-gniwB1hqpmLBgty7g0y+rxlvXjUEdMD2bAD93/gQZJ6QhSkXEidD/5m/p03x9mQvLtkzYYVze+Jly9pJR3GlGQ==} + '@scalar/schemas@0.7.4': + resolution: {integrity: sha512-Or31zxR+ceGGhkVU5XBO2Zv7oyGDtjsJOjM2Rr0WRZ1/tRsQc2/FsVv+9kPmCA7sqFL8BKWlNfTXcPITI7WRHw==} engines: {node: '>=22'} - '@scalar/sidebar@0.8.16': - resolution: {integrity: sha512-iZZsX50TBtBV/AjIVYNITVPd5VG3uFtxrndRWa7yJO7TCA3iwKloDHnMsdrcHqUybpRgnvgcKq7JfCbSCYjABQ==} + '@scalar/sidebar@0.9.33': + resolution: {integrity: sha512-y00qMs6dPu4Te+OuyyGSg0hGWTPsnUrn7juErtF4bOIse2w9BM1rHkYZWSdEL/afYv27x1wMBZJwAReiUeHguA==} engines: {node: '>=22'} - '@scalar/snippetz@0.7.7': - resolution: {integrity: sha512-TCW900YpkscT0/sy4s8Zvakp9dqH27KPYWe/EC9rLu0h66tG3jHXELULehLJWI+M05g1nbtuJs0Z3pVvEX1IJg==} + '@scalar/snippetz@0.9.23': + resolution: {integrity: sha512-bjahBX9J7VQsOpDERMPZSPuIKZmz1DEh9NHdCE5dEe6uz1rHicai0Zqjpuduw6DVDVyWrDI0trxPzCqGzpj0oQ==} engines: {node: '>=22'} - '@scalar/themes@0.15.1': - resolution: {integrity: sha512-+UtMhokjshg+FJwOFIAIMlrn2/k6FC/Otd9QSL0unW7doP+vGY3nMXpyfQ18mNU4Tok8/nbLtfXHONxRIJgQHQ==} + '@scalar/themes@0.17.1': + resolution: {integrity: sha512-aqR6o44CpDvgVT6dHlc1/56JRdWUrbNgaLyHKEd1KC/+Gcznix9Ud0fW7cKw2VvNgPgcqlO+MhZIrYHwbkNMew==} engines: {node: '>=22'} '@scalar/typebox@0.1.3': resolution: {integrity: sha512-lU055AUccECZMIfGA0z/C1StYmboAYIPJLDFBzOO81yXBi35Pxdq+I4fWX6iUZ8qcoHneiLGk9jAUM1rA93iEg==} - '@scalar/types@0.7.5': - resolution: {integrity: sha512-LUR/+nNpHfMbGCqTnrzyRlgRTC4FMyyqwCYCFYVs57gkEWzmXnrx+r3+igrWtuZoK/Hsr+ffFMzbBvmxnTFH7g==} + '@scalar/types@0.16.4': + resolution: {integrity: sha512-fLf0ANAC3iQq0sIVdmH6aGM+pFSLyD8GfGBxSWcLpI0jE0iFAzX2A3p0qVZm7vqBT4TQnn0fSwg5U+h+FZ52BA==} engines: {node: '>=22'} - '@scalar/use-codemirror@0.14.10': - resolution: {integrity: sha512-MtriwvGzWrHkYyUANzMGvD6aT6h2f/YBMA938ZKTxj9Rx0RxvolwGw+MdwBOYDHqVGNyrA3sxkbkZzlNv+O1Fw==} + '@scalar/use-codemirror@0.14.14': + resolution: {integrity: sha512-A7Exfctudg7d3DeQFSSrZYc6yhrEsLX3Iq6GJ7m7ruqgev9y8Hbx7g8yvZWYRQuMUdFtLH5euP7a1ZwM8OrHKA==} engines: {node: '>=22'} - '@scalar/use-hooks@0.4.1': - resolution: {integrity: sha512-+lx57gPT9c5WT18MwgUQMxsYv8sqdcV1K/aaCRevD/SWMoFmG5rvUDsoApWtNpjjKsyR2G/QOLXIj7CN/RXOFQ==} + '@scalar/use-hooks@0.4.9': + resolution: {integrity: sha512-RnflJ178BPdH7pKY9/YBcRlhyc7uJxtqG4hBbi8IPEM4YkpLHcMmxWKgHAgC3MBc21rpuKKBE+DTJOiYmU+UyA==} engines: {node: '>=22'} - '@scalar/use-toasts@0.10.1': - resolution: {integrity: sha512-8fsDd4efEDF+EydA+1+np/ac2KsAXPR1LdTYtTUxpv8Uj1l7lUMT/T5A7xnR+wNKmyVREihb9KnGp3pSjO2kYg==} + '@scalar/use-toasts@0.10.4': + resolution: {integrity: sha512-OHXkVfFKV0qx2WpKlzUpvIUkoA/PiloBcXe6soX2S/1z/D042QlKO8rNxkuC3Hlamvyvj8ru8XN17XNl+D0OPg==} engines: {node: '>=22'} - '@scalar/validation@0.2.0': - resolution: {integrity: sha512-nWW319vw6hLDT0l+JD0Vw8e2WUE+uGuOTR3HavWsqXGAA9EyrO8dgsNL1QrLO/ccOpBZ/wapSK+1+V3vCC60gQ==} + '@scalar/validation@0.6.2': + resolution: {integrity: sha512-Sc1TkcwGV6aVCO51AyKeaGiP8gpwAHxEtO5d3tZzPV+KsnlC/YokQxFxwBrbIXw73k9hmcExnJyGu3k5i6n6VA==} engines: {node: '>=20'} - '@scalar/workspace-store@0.42.0': - resolution: {integrity: sha512-Iwwua2h+e1G6c+CTDfwVmPOgZpWGF6cnlaMqGtns1lOw7aT4zAfIsUM9MRBdfO9Lbw8nXmKb9Wvp4XM8UxNZoQ==} + '@scalar/workspace-store@0.55.6': + resolution: {integrity: sha512-l7yuW1XplVRu+bqN7Mt+XtMovuKRBOHSGb00e+nEvjkkL1WIFd6pMJCogYt0ZlLvyLFPbWODWA4oG6LZjr7ijQ==} engines: {node: '>=22'} + '@scarf/scarf@1.4.0': + resolution: {integrity: sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==} + '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@shikijs/core@4.1.0': - resolution: {integrity: sha512-jLJtSJeuFffqX6/inRE1zqU5aFv2hrszvYgq3OjbAgFRZiWv7abKMDdQzYxuSDfmUPQozZvI/kuy6VMTvnvqTQ==} - engines: {node: '>=20'} - - '@shikijs/engine-javascript@4.1.0': - resolution: {integrity: sha512-YquhawCUgaBfhsS72e2Y/dI59gCBNPHu3fEO/tvLaXrTssxZrY5ddjtNLTwndrMgPo8b3IscE+xoICDzpTmlFQ==} - engines: {node: '>=20'} - - '@shikijs/engine-oniguruma@3.20.0': - resolution: {integrity: sha512-Yx3gy7xLzM0ZOjqoxciHjA7dAt5tyzJE3L4uQoM83agahy+PlW244XJSrmJRSBvGYELDhYXPacD4R/cauV5bzQ==} - - '@shikijs/engine-oniguruma@4.1.0': - resolution: {integrity: sha512-axLpjVs45YBvvINa+dJF+NPW+KtFkNXsFr4SDw2BMj9GdeMnGxVB9PQb2xXlJYovslt/nz6giedAyOANkfc7hg==} + '@shikijs/core@4.3.1': + resolution: {integrity: sha512-ANMDxuaPsNMdDC1m4vfvhlDmJweMwkE5XitTwrq2rWHx5jM+dlm4MmHt2PP6t0uejfR77SuhrhJ0zEijIF/uhA==} engines: {node: '>=20'} - '@shikijs/langs@3.20.0': - resolution: {integrity: sha512-le+bssCxcSHrygCWuOrYJHvjus6zhQ2K7q/0mgjiffRbkhM4o1EWu2m+29l0yEsHDbWaWPNnDUTRVVBvBBeKaA==} - - '@shikijs/langs@4.1.0': - resolution: {integrity: sha512-nwOMruEkbgdZfQ/b8CgpNBVOpvG1k0N5tbmgiFeqsan401+x3ILqlzZJowSla4Agmq4hG2Uf2wh5jLTEhR8VSg==} + '@shikijs/engine-javascript@4.3.1': + resolution: {integrity: sha512-JBItcnPuYq7jVJdZo/vMj94r+szT7XEjHFX+mvFDGSEIbVAXAGyHAHzhbWzpGOwYidCZrErJLLgn2PVeiokHnQ==} engines: {node: '>=20'} - '@shikijs/primitive@4.1.0': - resolution: {integrity: sha512-zx2/2Uwj2q9X3KSyYREEhXO23xBw5WUhP4orK2lE4r+t9JGITmEe0JH+wPmJhqHpOT2bRRs6lAL945+LDvOAGw==} + '@shikijs/engine-oniguruma@4.3.1': + resolution: {integrity: sha512-OXyNMzg0pews+msMj4cHeqT4xiYKKvbnn6VbdAXxfoFl3SSx4fJTc8FadECuc5/H9p3BzhNAoAUXKwAu9rWYhg==} engines: {node: '>=20'} - '@shikijs/rehype@4.1.0': - resolution: {integrity: sha512-HQwltCcO2/UiFz44/8whyji4rP1VghLu++MgvQn+lQA8/gvuycGkay8DH8o8VAOvLBDKGOkBEw7cC1Cm33GObQ==} + '@shikijs/langs@4.3.1': + resolution: {integrity: sha512-m0l9nsDqgBHvbZbk7A0/kXz/impK3uB/c6rAn6Gpg/uPtdZRQ+alsN/17MU5thb68XTj/4DxkZAotrM0GGSpDQ==} engines: {node: '>=20'} - '@shikijs/themes@3.20.0': - resolution: {integrity: sha512-U1NSU7Sl26Q7ErRvJUouArxfM2euWqq1xaSrbqMu2iqa+tSp0D1Yah8216sDYbdDHw4C8b75UpE65eWorm2erQ==} - - '@shikijs/themes@4.1.0': - resolution: {integrity: sha512-emCcTnUM7yO2wltYbaxm+yLvcCI4+h8XBKc4KmJ7EZUXoSGjcCHifkI//R4OFit9ewpg7H2/9tjOuXrT2v/Knw==} + '@shikijs/primitive@4.3.1': + resolution: {integrity: sha512-CXQRQOYy1leqQ8ceTeJdmXv/bsUY++6QyLpXJ94LZAAYj5X2SKRdc5ipguv4NPyGVKItB2PPwUpRNe0Sjh5S1A==} engines: {node: '>=20'} - '@shikijs/transformers@4.1.0': - resolution: {integrity: sha512-YbuOcAA3kwqKDU9YSt00dtFLrY5lBXjKU3dWaMATyEyPSqBm9Jqblk/uVICxz7lcjwAHzYaEvIiMWX3mTpogkA==} + '@shikijs/themes@4.3.1': + resolution: {integrity: sha512-dgpoJ4WqNi2yTmizQHBJ5zcX6j2lE6icN/0yt4l1kkf16jrY/pwPLoTb1ETsWMz0OBLf9ZNvwmxft+cH+N9qSA==} engines: {node: '>=20'} - '@shikijs/types@3.20.0': - resolution: {integrity: sha512-lhYAATn10nkZcBQ0BlzSbJA3wcmL5MXUUF8d2Zzon6saZDlToKaiRX60n2+ZaHJCmXEcZRWNzn+k9vplr8Jhsw==} - - '@shikijs/types@4.1.0': - resolution: {integrity: sha512-3EQWX54fMpniOrDblzAhiwiJwpiTMW6+B9DWyUd9ska483tbayFYuw47UxwuPknI31bKnySfVQ/QW+jFL4rFdA==} + '@shikijs/types@4.3.1': + resolution: {integrity: sha512-CHFxE0jztBIZRHH6gxXE7DXUCFXjReEGxZ/j0rfSLGKZuwp2xBYycEP14875DSa9KLL/6700oxIq6oO6ef9K2g==} engines: {node: '>=20'} '@shikijs/vscode-textmate@10.0.2': @@ -5524,11 +4566,17 @@ packages: '@sinonjs/commons@1.8.6': resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} - '@sinonjs/fake-timers@6.0.1': - resolution: {integrity: sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==} + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@11.3.1': + resolution: {integrity: sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==} - '@sinonjs/samsam@5.3.1': - resolution: {integrity: sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==} + '@sinonjs/fake-timers@7.1.2': + resolution: {integrity: sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==} + + '@sinonjs/samsam@6.1.3': + resolution: {integrity: sha512-nhOb2dWPeb1sd3IQXL/dVPnKHDOAFfvichtBf4xV00/rU1QbPCQqKMbvIheIjqwVjh7qIgf2AHTHi391yMOMpQ==} '@sinonjs/text-encoding@0.7.3': resolution: {integrity: sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==} @@ -5542,38 +4590,38 @@ packages: '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} - '@solid-primitives/event-listener@2.4.5': - resolution: {integrity: sha512-nwRV558mIabl4yVAhZKY8cb6G+O1F0M6Z75ttTu5hk+SxdOnKSGj+eetDIu7Oax1P138ZdUU01qnBPR8rnxaEA==} + '@solid-primitives/event-listener@2.4.6': + resolution: {integrity: sha512-5I0YJcTVYIWoMmgBSROBZGcz+ymhew/pGTg2dHW74BUjFKsV8Li4bOZYl0YAGP4mHw5o4UBd9/BEesqBci3wxw==} peerDependencies: solid-js: ^1.6.12 - '@solid-primitives/keyboard@1.3.5': - resolution: {integrity: sha512-sav+l+PL+74z3yaftVs7qd8c2SXkqzuxPOVibUe5wYMt+U5Hxp3V3XCPgBPN2I6cANjvoFtz0NiU8uHVLdi9FQ==} + '@solid-primitives/keyboard@1.3.7': + resolution: {integrity: sha512-558RPNYnXx4nGh537DSqAn4xMrC8iFipl/5+xzgzWoTNFst4RnUN3BOLmtDjJ0UGGoQXVMALYR3bNOHM0xnt1Q==} peerDependencies: solid-js: ^1.6.12 - '@solid-primitives/resize-observer@2.1.5': - resolution: {integrity: sha512-AiyTknKcNBaKHbcSMuxtSNM8FjIuiSuFyFghdD0TcCMU9hKi9EmsC5pjfjDwxE+5EueB1a+T/34PLRI5vbBbKw==} + '@solid-primitives/resize-observer@2.2.0': + resolution: {integrity: sha512-9Fuu/EWBeGj+atGHRJp70HKhdfalmpjwxY8a32NZixdLNmfCJ45AfhLQNr6uOzETbbiMx4iCKlTrJ8KZCHC2Ww==} peerDependencies: solid-js: ^1.6.12 - '@solid-primitives/rootless@1.5.3': - resolution: {integrity: sha512-N8cIDAHbWcLahNRLr0knAAQvXyEdEMoAZvIMZKmhNb1mlx9e2UOv9BRD5YNwQUJwbNoYVhhLwFOEOcVXFx0HqA==} + '@solid-primitives/rootless@1.5.4': + resolution: {integrity: sha512-TOIZa1VUfVJ+9nkCcRajw3U4t9vBOP1HxX1WHNTbXq32mXwlqTvUnC4CRIilohcryBkT9u2ZkhUDSHRTaGp55g==} peerDependencies: solid-js: ^1.6.12 - '@solid-primitives/static-store@0.1.3': - resolution: {integrity: sha512-uxez7SXnr5GiRnzqO2IEDjOJRIXaG+0LZLBizmUA1FwSi+hrpuMzVBwyk70m4prcl8X6FDDXUl9O8hSq8wHbBQ==} + '@solid-primitives/static-store@0.1.4': + resolution: {integrity: sha512-LgtVaVBtB7EbmS4+M0b8xY5Iq6pUWXBsIC4VgtrFKDGDdyCaDt88sHk0fUlx1Enxm/XZnZyLXJABRoa39RjJqA==} peerDependencies: solid-js: ^1.6.12 - '@solid-primitives/utils@6.4.0': - resolution: {integrity: sha512-AeGTBg8Wtkh/0s+evyLtP8piQoS4wyqqQaAFs2HJcFMMjYAtUgo+ZPduRXLjPlqKVc2ejeR544oeqpbn8Egn8A==} + '@solid-primitives/utils@6.4.1': + resolution: {integrity: sha512-ISSB5QX1qP2ynrheIpYwc4oKR5Ny4siNuUyf1qZniy+Il+p/PtDB0QK1Dnle8noiHpwRD3gpPdubOC3qI/Zamg==} peerDependencies: solid-js: ^1.6.12 - '@speed-highlight/core@1.2.15': - resolution: {integrity: sha512-BMq1K3DsElxDWawkX6eLg9+CKJrTVGCBAWVuHXVUV2u0s2711qiChLSId6ikYPfxhdYocLNt3wWwSvDiTvFabw==} + '@speed-highlight/core@1.2.17': + resolution: {integrity: sha512-Z92FwKpCtfaW1V0jTU/fh3QzYEZN8wDwrzRIBoADCJfn4mJCNcJN/XegifX7BDrQ8/h9Xh/JnbyMchL0FqXrkg==} '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} @@ -5584,8 +4632,101 @@ packages: peerDependencies: eslint: ^9.0.0 || ^10.0.0 - '@swc/helpers@0.5.17': - resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} + '@swc/core-darwin-arm64@1.15.46': + resolution: {integrity: sha512-IsISIT22EfktVJrlvIpnAxG2u/A9aob9l99HMlx80x72WlFmFPk1V3UhkEzx86eJP8hw049KTFv/RISho2cq2Q==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/core-darwin-x64@1.15.46': + resolution: {integrity: sha512-4Tj4ppVIPCmUMpmGFiGtyEriwLyJ+yi/US4WfBrP/ok8COGddDZXLEzQETnKyK46mjvr1v0jevrS23zjoff7vA==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/core-linux-arm-gnueabihf@1.15.46': + resolution: {integrity: sha512-i8tUGnNjyOgMmfmgFSg4aeJLQoFyfpIHK5FjpQAwpRyQIqEUB2w1e8zIDQzY1WhOxx8NoS1S5iUL813Un4Sf5A==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/core-linux-arm64-gnu@1.15.46': + resolution: {integrity: sha512-c0OnhqzdhfOvv6qhNCcByepB+sNYOGZyhtr2Qa6ZCHvAWTYhSRw4j/u92Stue9PbZ/6q74b9nHzi76+kVzqQHQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@swc/core-linux-arm64-musl@1.15.46': + resolution: {integrity: sha512-imyRpNEcUzFQFV2LE4jL68ErvmKEuZCbvZru77iQREunJ+bR4i658cupTgtG1mLYM3F1Tzy3Sb9xYb02KghWTg==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@swc/core-linux-ppc64-gnu@1.15.46': + resolution: {integrity: sha512-ctEfcl/HcUeomK33cbySiHZm98GEDIxTm1EkpBsYCiHxElYBzvTXVeuQT2YwbUXn9XCrjiw4ipyUNk33k26qRg==} + engines: {node: '>=10'} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@swc/core-linux-s390x-gnu@1.15.46': + resolution: {integrity: sha512-DxlMdnt84TtRVTv7WL/thWyz9+QU8QZNNoAP9rrk0P68LziuhfePp8MjQ44zIprpTHTsEwyziIuGUUN5iSC1bQ==} + engines: {node: '>=10'} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@swc/core-linux-x64-gnu@1.15.46': + resolution: {integrity: sha512-SKxI7J6t90XPl8hRUqtJi9NfGdunN/E/vZMc7Bc0figeRdOPDBT+Tm8g7cx9xM0T0mewh2l+8dewa3Am27/P+A==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@swc/core-linux-x64-musl@1.15.46': + resolution: {integrity: sha512-qj9T6B7bosI0VEsrWOVXZN1OXxS8Tp63ywyrLxNdOycnUtLdkgYcoBsN5y8ImnDDsnwrEWZOy1e+J4xSe7mA3Q==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@swc/core-win32-arm64-msvc@1.15.46': + resolution: {integrity: sha512-8p7l4c3LU+eA5g9Et1JPhNeMC1oQwXTGU+uah8DPIBX7YXzqswvaBtyKVmXefVGi/DJU1x3YJsc3mbAp9aWzSQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/core-win32-ia32-msvc@1.15.46': + resolution: {integrity: sha512-tUEnfr3Bn9u6FOjUb3PN9p+09qZC2j+wNDLKHzXXZn22rqGcUqR/ohCRSS+nG9B9+X+U+3FewNEHJkTmdIvMjQ==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/core-win32-x64-msvc@1.15.46': + resolution: {integrity: sha512-Vux7UDzBJYQggSuPfcl2w9iu+IJpgpRCxHzgCaVkELnAXAE4XZMOTX9HNcaNiwfeIDqdu2rkr69RuDm6wY8neA==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/core@1.15.46': + resolution: {integrity: sha512-Ri3em2mBpq3h2zSPliCYl63otDGqek8PPEfv2nWgRQEbZ/VBCNyypVTVQ6cEbTCXBhy+WE2T3fQb08moIyuYaw==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '>=0.5.17' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/helpers@0.5.23': + resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} + + '@swc/types@0.1.27': + resolution: {integrity: sha512-K6h3iUlqeM946U4sXFYeahefR1YBbXJvko+hv8WS8/0BNJ4OHiHRywMnQUJCqkR7Y9+hqQ1TvEpiKqUhz7NEFg==} '@szmarczak/http-timer@1.1.2': resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} @@ -5595,69 +4736,69 @@ packages: resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} engines: {node: '>=10'} - '@tailwindcss/node@4.3.0': - resolution: {integrity: sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==} + '@tailwindcss/node@4.3.3': + resolution: {integrity: sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==} - '@tailwindcss/oxide-android-arm64@4.3.0': - resolution: {integrity: sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==} + '@tailwindcss/oxide-android-arm64@4.3.3': + resolution: {integrity: sha512-Y85A2gmPSkl5Ve5qR86GL4HT509cFqQh1aes9p3sSkyTPwt0Pppf3GkwGe4JPACcRYjgJIEhQgM6dBClnr0NYw==} engines: {node: '>= 20'} cpu: [arm64] os: [android] - '@tailwindcss/oxide-darwin-arm64@4.3.0': - resolution: {integrity: sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==} + '@tailwindcss/oxide-darwin-arm64@4.3.3': + resolution: {integrity: sha512-BiaWatpBcERQFDlOjRDpIVXuFK5PJez5SA4JMg6VYZdBYU+qKfV/vqjcIs+IYmtitf1xYQZTwXvU/8y4lfZUGw==} engines: {node: '>= 20'} cpu: [arm64] os: [darwin] - '@tailwindcss/oxide-darwin-x64@4.3.0': - resolution: {integrity: sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==} + '@tailwindcss/oxide-darwin-x64@4.3.3': + resolution: {integrity: sha512-fAeUqfV5ndhxRwai8cXGzdLvul9utWOmeTkv69unv4ZXixjn61Z+p9lCWdwOwA3TYboG3BwdVuN/RDjhBRl0mw==} engines: {node: '>= 20'} cpu: [x64] os: [darwin] - '@tailwindcss/oxide-freebsd-x64@4.3.0': - resolution: {integrity: sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==} + '@tailwindcss/oxide-freebsd-x64@4.3.3': + resolution: {integrity: sha512-iyf5bV6+wnAlflVeEy7R25dupxTNECZN5QMI0qNT6eT+EgaGdZcKhGkr5SdoaWiLJ3spLqIY9VCeSGrwmtg4kw==} engines: {node: '>= 20'} cpu: [x64] os: [freebsd] - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': - resolution: {integrity: sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==} + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.3': + resolution: {integrity: sha512-aAYUprJAJQWWbRrPvtjdroZ56Md+JM8pMiopS6xGEwDfLhqj+2ver2p4nU4Mb3CRqcMmNBjo8KkUgcxhkzVQGQ==} engines: {node: '>= 20'} cpu: [arm] os: [linux] - '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': - resolution: {integrity: sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==} + '@tailwindcss/oxide-linux-arm64-gnu@4.3.3': + resolution: {integrity: sha512-nDxldcEENOxZRzC2uu9jrutZdAAQtb+8WWDCSnWL1zvBk1+FN+x6MtDViPB5AJMfttVCUhehGWus3XBPgatM/w==} engines: {node: '>= 20'} cpu: [arm64] os: [linux] libc: [glibc] - '@tailwindcss/oxide-linux-arm64-musl@4.3.0': - resolution: {integrity: sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==} + '@tailwindcss/oxide-linux-arm64-musl@4.3.3': + resolution: {integrity: sha512-Md44bD6veX/PC5iyF8cDVnw4HBIANZepRZZ7a8DQOvkfo5WUBwcp6iAuCUz23u+4SUkhJlD3eL7hNdW8ezd/kA==} engines: {node: '>= 20'} cpu: [arm64] os: [linux] libc: [musl] - '@tailwindcss/oxide-linux-x64-gnu@4.3.0': - resolution: {integrity: sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==} + '@tailwindcss/oxide-linux-x64-gnu@4.3.3': + resolution: {integrity: sha512-tx7us1muwOKAKWao2v/GaafFeQboE6aj88vC6ziN2NCGcRm8gWUhwjzg+YdVB1e4boAtdtma4L43onunI6NS4w==} engines: {node: '>= 20'} cpu: [x64] os: [linux] libc: [glibc] - '@tailwindcss/oxide-linux-x64-musl@4.3.0': - resolution: {integrity: sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==} + '@tailwindcss/oxide-linux-x64-musl@4.3.3': + resolution: {integrity: sha512-SJxX60smvHgasZoBy11dX6YRjXJFovwWBoedhbQPOBzgFWBHGB+TVPWB9BxzR7TTxU8FQZAI2AyiNCMzFm8Img==} engines: {node: '>= 20'} cpu: [x64] os: [linux] libc: [musl] - '@tailwindcss/oxide-wasm32-wasi@4.3.0': - resolution: {integrity: sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==} + '@tailwindcss/oxide-wasm32-wasi@4.3.3': + resolution: {integrity: sha512-jx1+rPhY/5Ympkktd656HBWEBLxP7dH06losBLjjf5vgCODXvi9KhtftWcMIwTFIDqBr7cRnQkdLnAG+IOlGvQ==} engines: {node: '>=14.0.0'} cpu: [wasm32] bundledDependencies: @@ -5668,128 +4809,141 @@ packages: - '@emnapi/wasi-threads' - tslib - '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': - resolution: {integrity: sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==} + '@tailwindcss/oxide-win32-arm64-msvc@4.3.3': + resolution: {integrity: sha512-3rc292Ca2ceK6Ulcc/bAVnTs/3nDtoPhyEKlgPv+yQJQi/JS/AMJlqzxvlDacL1nekbrcf6bTqp/jV4qgnPxNQ==} engines: {node: '>= 20'} cpu: [arm64] os: [win32] - '@tailwindcss/oxide-win32-x64-msvc@4.3.0': - resolution: {integrity: sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==} + '@tailwindcss/oxide-win32-x64-msvc@4.3.3': + resolution: {integrity: sha512-yJ0pwIVc/nYeGoV02WtsN8KYyLQv7kyI2wDnkezyJlGGjkd4QLwDGAwl47YpPJeuI0M0ObaXGSPjvWDPeTPggw==} engines: {node: '>= 20'} cpu: [x64] os: [win32] - '@tailwindcss/oxide@4.3.0': - resolution: {integrity: sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==} + '@tailwindcss/oxide@4.3.3': + resolution: {integrity: sha512-krXjAikiaFSPaK/FkAQT5UTx3VormQaiZ5hBFlJZ9UFQGB/rwg1MZIhHAG9smMQRTdyJxP6Qt5MwMtdyU5FWrA==} engines: {node: '>= 20'} - '@tailwindcss/vite@4.3.0': - resolution: {integrity: sha512-t6J3OrB5Fc0ExuhohouH0fWUGMYL6PTLhW+E7zIk/pdbnJARZDCwjBznFnkh5ynRnIRSI4YjtTH0t6USjJISrw==} + '@tailwindcss/vite@4.3.3': + resolution: {integrity: sha512-yYU8cogLeSh/ms2jh8Fj7jaba/EWa7Ja6GoUqYZaraEuCI5YS6ms6ObZgjjedm+jm6XZjdNRWBpPP6Z86oOxcw==} peerDependencies: vite: ^5.2.0 || ^6 || ^7 || ^8 - '@takumi-rs/core-darwin-arm64@1.6.0': - resolution: {integrity: sha512-Ib5W+lE3M8kN6oJixDozVHBSp9wZVm64z3yHGqPO3hdnCoaozAsM8YfQbZL61ESWrnLzutBJtwFHD3jSZ+3ilA==} - engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} + '@takumi-rs/core-darwin-arm64@2.4.1': + resolution: {integrity: sha512-8Caa7tIU6OY0uww6hh8LFJfAy6zsf2+bDNUcqkkWAAEkxPSLgUNdRxRZPTVNAqpYXE70LxO+D7xhmbOvx3jw4g==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@takumi-rs/core-darwin-x64@1.6.0': - resolution: {integrity: sha512-CmvPOafon70xNcbmocDEJK18ONCeck3oBENdVriP8hQxPVJA8qwtObFxLBzbkEFtQIW3PzeFM24UYmUnba9OVg==} - engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} + '@takumi-rs/core-darwin-x64@2.4.1': + resolution: {integrity: sha512-24rySftJ5Jldn2BhtGr4Z15flQfD+y4qPEh5OkuQ65Wput4n7AwXbYMjx57Su1jn2kSgePjLVOO+DaRs3MPz9A==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@takumi-rs/core-linux-arm64-gnu@1.6.0': - resolution: {integrity: sha512-sMcAiBPMnuECsxyUP3xF89yC7WCatUTcMYuAJ1nWgkY1QZ86oimuitlukCV2a6Wi011aOou02ALgf6SucDn8Rw==} - engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} + '@takumi-rs/core-linux-arm64-gnu@2.4.1': + resolution: {integrity: sha512-YuzyFk4NsNlrYORBSevLwX7LDsmnmQRIYFyAtfpcVv+YZw4vkEyvekU04nlh8dd7hjJaOY25KY68l+y5FAQkqA==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] libc: [glibc] - '@takumi-rs/core-linux-arm64-musl@1.6.0': - resolution: {integrity: sha512-G1llacEnQ37XXz4a8/CIzXCczp+s9Cz2diOEOTPUlID4/wWwNL8DRel3lP4NA7y7H7lsWB+C8KLz0by3T/icgg==} - engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} + '@takumi-rs/core-linux-arm64-musl@2.4.1': + resolution: {integrity: sha512-w+dor/U/zQffPXhoOrgViUy0pjHZUjkjyXojdGHe9z2i2/NMsAaONdUNASE/ZjWaehrDs2bWPdJ+cgxYFwbKGg==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] libc: [musl] - '@takumi-rs/core-linux-x64-gnu@1.6.0': - resolution: {integrity: sha512-e6LQXzHii9RIWbQGLlDilLzyrTo4UrPAAA+/MVTcrgH3LE2AXlCMSRddFDQoPzlrElNSK7afS0OqOU3ZlF3biQ==} - engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} + '@takumi-rs/core-linux-x64-gnu@2.4.1': + resolution: {integrity: sha512-6zFsEkSMOhXJxkktT0v/OnE/CPDAI+DxE3QHsj5L4VJa9yYA4MrxB+yiop2aXS63ZbnRdS5GlqUft/tkxZWs9w==} + engines: {node: '>=18'} cpu: [x64] os: [linux] libc: [glibc] - '@takumi-rs/core-linux-x64-musl@1.6.0': - resolution: {integrity: sha512-pDGU7dBdYvhYlS1BGd+AIHs18EklT+jHMvWoOq0Qcm0SYbejYkuzj3H8iQyzAhnWhjWWwK3DPLHArNWNTsQYLw==} - engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} + '@takumi-rs/core-linux-x64-musl@2.4.1': + resolution: {integrity: sha512-95wuhp/gM1NwJ47CGEW89Np9/Qt1gMkpmyYACjtpX9jMS9iTA5uAeU1Ur+ouGEa+SRp6wf5v5HEBmVMO9TfCBQ==} + engines: {node: '>=18'} cpu: [x64] os: [linux] libc: [musl] - '@takumi-rs/core-win32-arm64-msvc@1.6.0': - resolution: {integrity: sha512-WCtl6+fKM0jqojm5Q+UjGBg9Kk5kdDwNYLrW4p1TU/H73XJ73h7fNNe46EnwBarnV5VIG2ReLGusm6tDq1xwXw==} - engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} + '@takumi-rs/core-win32-arm64-msvc@2.4.1': + resolution: {integrity: sha512-I8k6g4BDY48Q4C6L6CQL9M7lfpijtegKk1AtD0i41SaRpWLkGcEmxjH8iYym3X3LYEL/GX6J9iQZaoG9J8saZg==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@takumi-rs/core-win32-x64-msvc@1.6.0': - resolution: {integrity: sha512-fOmQrTz8MtcNA85zJpwFEzag5Iej9Q/VFIQcOyTxFGfE1Oyl2rwBQE0XGYU2JVD8h00d6RWZdllgRfvlJwalzg==} - engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} + '@takumi-rs/core-win32-x64-msvc@2.4.1': + resolution: {integrity: sha512-ugGBq7pbGr0Tqm+egrgDcGglsJXsiFdE3w33iI4+ImXcuoaV+19oSPZZqP5Vr44/+lp3rcEJ29vlufUmljBB3g==} + engines: {node: '>=18'} cpu: [x64] os: [win32] - '@takumi-rs/core@1.6.0': - resolution: {integrity: sha512-U98BRuHhDtAojGP+NBZYWL53Fkt9rBAK9bOgh8MkbR5QKOQ6bObgoZj1TnwFePc57nLOU33DCgzBncse6RLPUA==} - engines: {node: '>= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0'} + '@takumi-rs/core@2.4.1': + resolution: {integrity: sha512-eAFDIg9HRLU1ciCd2HPfZ3MPREF3MAkTHMzZ3570fcYI9Y/qLdPE77oo6CgBPxisp7pccxC1ub3/MxvpL6r6Pg==} + engines: {node: '>=18'} + peerDependencies: + csstype: '*' + peerDependenciesMeta: + csstype: + optional: true - '@takumi-rs/helpers@1.6.0': - resolution: {integrity: sha512-pjNmUhh1sfqWoyCHRAd0eMciFaDCUYis7FTAb8+XZgNGC3FNJ0b+6hWpnj5zMuP8xrAUoq61FNgj2kGt+B5TRg==} + '@takumi-rs/helpers@2.4.1': + resolution: {integrity: sha512-gpm1exkspnPNcPp9lnII204hTC7i0bu0ksyqC01aMF4eSw6u1OxnlKEDVUTGm1dFBFecfHaPZBbi+O8SAypXpw==} + engines: {node: '>=18'} peerDependencies: - react: ^19.2.5 - react-dom: ^18.0.0 || ^19.0.0 + preact: ^10.0.0 + react: ^18.0.0 || ^19.0.0 peerDependenciesMeta: - react: + preact: optional: true - react-dom: + react: optional: true - '@takumi-rs/image-response@1.6.0': - resolution: {integrity: sha512-dz1gviOqH1BE3X0RdCfsms33tp/X+PGI0bmNgEwRP0okJgkWKcO42OfzJyljqQ34bhYwx98aOcke1DpyD02n5w==} + '@takumi-rs/image-response@2.4.1': + resolution: {integrity: sha512-k0Ruzaat9z0M8eL2pWs3bltf/p/69KODGF4L/Yt9csshwvzp5SEK4/WpIJ5EXRwQEbTjh9IChSrpgfkRWj2AvA==} + engines: {node: '>=18'} - '@takumi-rs/wasm@1.6.0': - resolution: {integrity: sha512-3VFzUth3+vht8LtjdXRIdVB4vzTJHa0vEypjL149mbq+A7mXRHNCMqeQl4hqHK3lk2H2VElzmxilwzuwtGZf/g==} + '@takumi-rs/wasm@2.4.1': + resolution: {integrity: sha512-VhJtfCCRs+vxGCAFEkeu3/UI0VpToX6ys7KfeNBUTtVb9SGtkxBFxXixwmorALW0kzUuRkLHUl2HpylvlKk7Xg==} + engines: {node: '>=18'} + peerDependencies: + csstype: '*' + peerDependenciesMeta: + csstype: + optional: true - '@tanstack/devtools-client@0.0.6': - resolution: {integrity: sha512-f85ZJXJnDIFOoykG/BFIixuAevJovCvJF391LPs6YjBAPhGYC50NWlx1y4iF/UmK5/cCMx+/JqI5SBOz7FanQQ==} + '@tanstack/devtools-client@0.0.8': + resolution: {integrity: sha512-cG3iZkGWCwN330bLBKa8+9r4Of2AXNoz2zUqcsy/4XsD3105ghVBx78cGyvJj9fSclNomPxoqAnDGXXhg1WLvA==} engines: {node: '>=18'} - '@tanstack/devtools-event-bus@0.4.1': - resolution: {integrity: sha512-cNnJ89Q021Zf883rlbBTfsaxTfi2r73/qejGtyTa7ksErF3hyDyAq1aTbo5crK9dAL7zSHh9viKY1BtMls1QOA==} + '@tanstack/devtools-event-bus@0.4.2': + resolution: {integrity: sha512-2LHzhwBFlKHCcklsQrGe8TeyjHd4XAF8nuCO6wHmva5fePUkJUULbu6CsCNAlGlCi0KkEsMXZSvRdR4HgMq4yA==} engines: {node: '>=18'} - '@tanstack/devtools-event-client@0.4.3': - resolution: {integrity: sha512-OZI6QyULw0FI0wjgmeYzCIfbgPsOEzwJtCpa69XrfLMtNXLGnz3d/dIabk7frg0TmHo+Ah49w5I4KC7Tufwsvw==} + '@tanstack/devtools-event-client@0.5.0': + resolution: {integrity: sha512-H+OH3zC6Vhu/K0NaVfQKknEKawc/+2PT+D3SB3Ox0V8SiMlTo0abbmH2rH0721R2aNYbjdMXA1oENOd8E2UVoA==} engines: {node: '>=18'} hasBin: true - '@tanstack/devtools-ui@0.5.1': - resolution: {integrity: sha512-T9JjAdqMSnxsVO6AQykD5vhxPF4iFLKtbYxee/bU3OLlk446F5C1220GdCmhDSz7y4lx+m8AvIS0bq6zzvdDUA==} + '@tanstack/devtools-ui@0.6.0': + resolution: {integrity: sha512-CVaM6rT6Nl5ijo83vJYFa2SjofvpuOl/uOvbYGhBrRgUhhelNHhx8zZX+hnZCHmIr0/lzM65hsocnZ72592Rvg==} engines: {node: '>=18'} peerDependencies: solid-js: '>=1.9.7' - '@tanstack/devtools-vite@0.6.0': - resolution: {integrity: sha512-h0r0ct7zlrgjkhmn4QW6wRjgUXd4JMs+r7gtx+BXo9f5H9Y+jtUdtvC0rnZcPto6gw/9yMUq7yOmMK5qDWRExg==} + '@tanstack/devtools-vite@0.8.1': + resolution: {integrity: sha512-oQxOo0fI0bwhHtw/psFlIR0OS/bsKrirBxwnw2vuhCM4bjt3k4EZZsW/lvZ1+Vpouhts7LSyvngnxvGXbQ1sUQ==} engines: {node: '>=18'} hasBin: true peerDependencies: vite: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@tanstack/devtools@0.11.1': - resolution: {integrity: sha512-g3nHgVP76kT9190d6O32AjANoEnujLEB+51PDtBzlah8hvKeEygK53cunN+HXhjlfhM4PoOCi8/B96cdJVSnLg==} + '@tanstack/devtools@0.12.5': + resolution: {integrity: sha512-JdxTSeVdjJheycgz4c7qbldNKDCEDWlWr1l9dZBhd9sOmRBT5Z70ka9Eb8mb+FUnalcOIB62IDSR/iSxAIUD8Q==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -5801,19 +4955,15 @@ packages: peerDependencies: eslint: ^9.0.0 || ^10.0.0 - '@tanstack/history@1.161.6': - resolution: {integrity: sha512-NaOGLRrddszbQj9upGat6HG/4TKvXLvu+osAIgfxPYA+eIvYKv8GKDJOrY2D3/U9MRnKfMWD7bU4jeD4xmqyIg==} - engines: {node: '>=20.19'} - '@tanstack/history@1.162.0': resolution: {integrity: sha512-79pf/RkhteYZTRgcR4F9kbk84P2N8rugQJswxfIqovlbRiT3yI7eBE+5QorIrZaOKktsgzRlXh1l/du/xpl4iA==} engines: {node: '>=20.19'} - '@tanstack/query-core@5.95.2': - resolution: {integrity: sha512-o4T8vZHZET4Bib3jZ/tCW9/7080urD4c+0/AUaYVpIqOsr7y0reBc1oX3ttNaSW5mYyvZHctiQ/UOP2PfdmFEQ==} + '@tanstack/query-core@5.101.4': + resolution: {integrity: sha512-gNwcvOJcRbLWPOLG/2OBm+zM+Yv+MKsXKEOWC57USuZDEsI71hEErQsiEGx5wX9rzWWkfwM0fVSPoiIFSsxfiw==} - '@tanstack/react-devtools@0.10.1': - resolution: {integrity: sha512-cvcd0EqN7Q2LYatQXxFhOkEa9RUQXZlhXnM1mwuibxmyRX+CMyohUZcgjodtIfgh+RT0Pmvt49liTdZby5ovZw==} + '@tanstack/react-devtools@0.10.8': + resolution: {integrity: sha512-YJV6YttQf9lhhPbPBLULgy1eScEvJUMsCS26mjg9hfBKgAJQA5sF9zvzorDzW9Ob6o/asoXikO81JnRUVuFX0Q==} engines: {node: '>=18'} peerDependencies: '@types/react': '>=16.8' @@ -5821,25 +4971,25 @@ packages: react: '>=16.8' react-dom: '>=16.8' - '@tanstack/react-query@5.95.2': - resolution: {integrity: sha512-/wGkvLj/st5Ud1Q76KF1uFxScV7WeqN1slQx5280ycwAyYkIPGaRZAEgHxe3bjirSd5Zpwkj6zNcR4cqYni/ZA==} + '@tanstack/react-query@5.101.4': + resolution: {integrity: sha512-yRg2pfOCxIs4ZJW3XYYHU/WgtD04FHSnfHlpRT7h7pR77hwkdRG4wxbKe4aq6P0RvXUTBSQpQeadS1SUYUe+KA==} peerDependencies: react: ^18 || ^19 - '@tanstack/react-router-devtools@1.166.13': - resolution: {integrity: sha512-6yKRFFJrEEOiGp5RAAuGCYsl81M4XAhJmLcu9PKj+HZle4A3dsP60lwHoqQYWHMK9nKKFkdXR+D8qxzxqtQbEA==} + '@tanstack/react-router-devtools@1.167.0': + resolution: {integrity: sha512-nGw095EG7IHx0h5NtlEmzf6vcCTaFNPWdTSuDKazajhN0ct/v/TkekJ9J6KYUCeV1a8/2ZmToc58M+0rrOyn7w==} engines: {node: '>=20.19'} peerDependencies: - '@tanstack/react-router': ^1.168.15 - '@tanstack/router-core': ^1.168.11 + '@tanstack/react-router': ^1.170.0 + '@tanstack/router-core': ^1.170.0 react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' peerDependenciesMeta: '@tanstack/router-core': optional: true - '@tanstack/react-router-ssr-query@1.166.10': - resolution: {integrity: sha512-Ny5jKZPSy+RBXICJBJkW2q3SKjEwVooIn2zuWfIFL1MNVImQPh/p+yvqDqKdJseIQ45B4JsqFtWVcdy/6rQ0Rg==} + '@tanstack/react-router-ssr-query@1.167.1': + resolution: {integrity: sha512-W9j5JPnBikyafvuUfykFfHIWod58OAbAAa5leNkXBcoDoocghMmu6w9uZOmUZvAWT7CSvgj5tBUtF7CM2OoHXQ==} engines: {node: '>=20.19'} peerDependencies: '@tanstack/query-core': '>=5.90.0' @@ -5848,42 +4998,61 @@ packages: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-router@1.168.13': - resolution: {integrity: sha512-rvrL1bK/bOjjfDyAKKFvkVXeo8IZZmwfy9DwJaMlj7lCmpWl4Qban2/d+EirlHPcwHDNq5OkS5jhcBiZ+24RJw==} + '@tanstack/react-router@1.170.18': + resolution: {integrity: sha512-wpbGYZEp/fmz1q4bn7BD8VZ+/VZ7GBqSJv5V969pU+chP8y7dquWDmKTFMohvUegb9lg12m1uPVvD6kB2wORvQ==} engines: {node: '>=20.19'} peerDependencies: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-router@1.168.5': - resolution: {integrity: sha512-jh+S5bqvHxH7ng4KKsN3wTYegJIP4V68dGrgUUwmYSmipb4cJyq+09TqCWVRXQ9f9xVeESRAqotAgK7GOS1uFQ==} - engines: {node: '>=20.19'} + '@tanstack/react-start-client@1.168.16': + resolution: {integrity: sha512-1OfHgy0wpHwe2tlB3FxMeA+IMX6Il/QAMf+8UdXuimReIc2Lz3BkMLBL38k4GIxBguX9sI8EMLO5jlTZ4e1olw==} + engines: {node: '>=22.12.0'} peerDependencies: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-start-client@1.166.20': - resolution: {integrity: sha512-/xix+rfmzdcm+YDYNCdZx3iGGK+m80qQYBdQKwyJLfO3EdUVHFYZYZcqvCFHyZbqZHm6fY0fKR9sJSXDKgQgFA==} + '@tanstack/react-start-rsc@0.1.31': + resolution: {integrity: sha512-WxjkXYflq550vTNJpdPyMaPC+Vyh88L5wOL+SiDTjPMGne9ad7FZmoJxqfCFEv1e7HVKMH/mMoE8619TsTNVzQ==} engines: {node: '>=22.12.0'} peerDependencies: + '@rspack/core': '>=2.0.0-0' + '@vitejs/plugin-rsc': '>=0.5.20' react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' + react-server-dom-rspack: '>=0.0.2' + peerDependenciesMeta: + '@rspack/core': + optional: true + '@vitejs/plugin-rsc': + optional: true + react-server-dom-rspack: + optional: true - '@tanstack/react-start-server@1.166.20': - resolution: {integrity: sha512-P9NV9R3zON7gd17H33D3WDuLDb1Rta9dZ0+DY0JRVb94AlpQsIZxuFfF4MM7sFhprBB5S7nMfnoMFajgNScXzw==} + '@tanstack/react-start-server@1.167.22': + resolution: {integrity: sha512-eH2PeHuLfL3R5YzE9+y2FfcE4Ld1LNV2ZfrCNVPJMMJFt+9nXDaRHg9BsEmc+JkTAGzz3FKLyQEoWwpbG6Ehqg==} engines: {node: '>=22.12.0'} peerDependencies: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-start@1.167.10': - resolution: {integrity: sha512-rdER2wsD3UQ0YKVzLVnI69UKp4UBh8yRw+uc6lxsCdkh83Q6V4uHPx59uusz0P8WrXWe5G7vDoz6QEUekpIFeA==} + '@tanstack/react-start@1.168.32': + resolution: {integrity: sha512-y1WXHo+jPfHxiuuN1m+br06IcriiBQnEWryBdbKdEOS5vw2PmnOj+Cgf1/YcGOqtSougScWFeE2rL1FXWvsLLg==} engines: {node: '>=22.12.0'} hasBin: true peerDependencies: + '@rsbuild/core': ^2.0.0 + '@vitejs/plugin-rsc': '*' react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' vite: '>=7.0.0' + peerDependenciesMeta: + '@rsbuild/core': + optional: true + '@vitejs/plugin-rsc': + optional: true + vite: + optional: true '@tanstack/react-store@0.9.3': resolution: {integrity: sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg==} @@ -5891,74 +5060,33 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tanstack/router-core@1.168.5': - resolution: {integrity: sha512-k378TPlJBM1x+7ixgQL+gC+v6omN6vF31QuhOBzcISQ1oW/oyHsJf8D4OWnZ4wJD63vD2P5kXLb8QcHM419oeg==} - engines: {node: '>=20.19'} - hasBin: true - - '@tanstack/router-core@1.168.7': - resolution: {integrity: sha512-z4UEdlzMrFaKBsG4OIxlZEm+wsYBtEp//fnX6kW18jhQpETNcM6u2SXNdX+bcIYp6AaR7ERS3SBENzjC/xxwQQ==} + '@tanstack/router-core@1.171.15': + resolution: {integrity: sha512-IILCDcLaItMZQ2jEmCABHY1Nhjjn5XUvwpQp3e4Nmu+vfg0BgYFuu/QASz2SwE2ZNbVMrvt8X/wxa+Gg5aErxA==} engines: {node: '>=20.19'} - hasBin: true - - '@tanstack/router-core@1.168.9': - resolution: {integrity: sha512-18oeEwEDyXOIuO1VBP9ACaK7tYHZUjynGDCoUh/5c/BNhia9vCJCp9O0LfhZXOorDc/PmLSgvmweFhVmIxF10g==} - engines: {node: '>=20.19'} - hasBin: true - '@tanstack/router-core@1.171.4': - resolution: {integrity: sha512-LU9YuVdgaP+h4MEXRvokyjIEelulylgsromHMfYwVfgo1PF9oJP3NHyy7qtjxGLJq6zoZMCfoa1frDJlPo7I8g==} - engines: {node: '>=20.19'} - - '@tanstack/router-devtools-core@1.167.3': - resolution: {integrity: sha512-fJ1VMhyQgnoashTrP763c2HRc9kofgF61L7Jb3F6eTHAmCKtGVx8BRtiFt37sr3U0P0jmaaiiSPGP6nT5JtVNg==} + '@tanstack/router-devtools-core@1.168.0': + resolution: {integrity: sha512-wQoQhlBK7nlZgqzaqdYXKWNTpdHdsaREdaPhFZVH0/Ador+F+eM3/NF2i3f2LPeS0GgKraZUQXe1Q/1+KHyEYg==} engines: {node: '>=20.19'} peerDependencies: - '@tanstack/router-core': ^1.168.11 + '@tanstack/router-core': ^1.170.0 csstype: ^3.0.10 peerDependenciesMeta: csstype: optional: true - '@tanstack/router-generator@1.166.20': - resolution: {integrity: sha512-WY0DOyPBFUX1Hjm9piOGyORHGnQ1OFBJuiRCuWtW5vMPbLn7driSr8YtkBoH7GDljDp+hQncIzXd2kQzYLNWVg==} - engines: {node: '>=20.19'} - - '@tanstack/router-generator@1.166.22': - resolution: {integrity: sha512-wQ7H8/Q2rmSPuaxWnurJ3DATNnqWV2tajxri9TSiW4QHsG7cWPD34+goeIinKG+GajJyEdfVpz6w/gRJXfbAPw==} + '@tanstack/router-generator@1.167.21': + resolution: {integrity: sha512-m3oXZyienj8owialdyoZ0txHQrnEx/Ra+D9kWtar5fC2cWZr5Pvxl86VY2mX5RRLC5QLKLeRGT1x4HV95wHVDQ==} engines: {node: '>=20.19'} - '@tanstack/router-plugin@1.167.10': - resolution: {integrity: sha512-40xLNP2QAZwOIKLj0lieUhtdVgjLaDfZpVB4WLccFPT3UmkE41ugXTVRDAfDzhPhP6OCBAyucp+L93WNhqH5Jg==} - engines: {node: '>=20.19'} - hasBin: true - peerDependencies: - '@rsbuild/core': '>=1.0.2' - '@tanstack/react-router': ^1.168.8 - vite: '>=5.0.0 || >=6.0.0 || >=7.0.0' - vite-plugin-solid: ^2.11.10 - webpack: '>=5.92.0' - peerDependenciesMeta: - '@rsbuild/core': - optional: true - '@tanstack/react-router': - optional: true - vite: - optional: true - vite-plugin-solid: - optional: true - webpack: - optional: true - - '@tanstack/router-plugin@1.167.7': - resolution: {integrity: sha512-ykNi3Z5H272tM1v0MQ/VpmYAhL+ya9FKHVF+rc3VH6kVEmJdDHobQjU9MIzq8nkUzd/QMUqE7ZGJlBfu61no5Q==} + '@tanstack/router-plugin@1.168.23': + resolution: {integrity: sha512-0+PIcvnaAimFwjoEIeV3h7LKjzC8zNnp7pH2UamdKwQ9QlY99WU9V0Xl0zbM0i9hrUa/mKgWPDAzELmPUu5fMA==} engines: {node: '>=20.19'} hasBin: true peerDependencies: - '@rsbuild/core': '>=1.0.2' - '@tanstack/react-router': ^1.168.5 - vite: '>=5.0.0 || >=6.0.0 || >=7.0.0' - vite-plugin-solid: ^2.11.10 + '@rsbuild/core': '>=1.0.2 || ^2.0.0' + '@tanstack/react-router': ^1.170.18 + vite: '>=5.0.0 || >=6.0.0 || >=7.0.0 || >=8.0.0' + vite-plugin-solid: ^2.11.10 || ^3.0.0-0 webpack: '>=5.92.0' peerDependenciesMeta: '@rsbuild/core': @@ -5972,82 +5100,69 @@ packages: webpack: optional: true - '@tanstack/router-ssr-query-core@1.167.0': - resolution: {integrity: sha512-+fpK1U+NR8YzcUmXhEy2tdPfT/XxIn1AMd/ODkYGMExAAUWnV8Zptptf41djK5eBj6718P6YTfxLRkxtfUdnVA==} + '@tanstack/router-ssr-query-core@1.169.1': + resolution: {integrity: sha512-rngux8s/3mPQzcjLYDLkNU31coYVyCgrVTfpdwqUdY5jIEHqGTXrO73DTkPR1PppwYUeVhmNCgl8TctRcnupjg==} engines: {node: '>=20.19'} peerDependencies: '@tanstack/query-core': '>=5.90.0' '@tanstack/router-core': '>=1.127.0' - '@tanstack/router-utils@1.161.6': - resolution: {integrity: sha512-nRcYw+w2OEgK6VfjirYvGyPLOK+tZQz1jkYcmH5AjMamQ9PycnlxZF2aEZtPpNoUsaceX2bHptn6Ub5hGXqNvw==} + '@tanstack/router-utils@1.162.2': + resolution: {integrity: sha512-hTWqJtqIFFdvuCl8WXNyrodp2L9zo2G37xKRrcVmVRWpAB2h+U1LuRAfS4tsFTiWOIoE/B+WDVFB8JpoEdw6jQ==} engines: {node: '>=20.19'} - '@tanstack/router-utils@1.162.1': - resolution: {integrity: sha512-62layyTGmclHDQS/eidwKRfN1hhCKwViG7iEBcVmL0MXgcAB3OOucWCEcDDGd9Cu11H6b4QQ5oOo47MWIqwz0A==} - engines: {node: '>=20.19'} - - '@tanstack/start-client-core@1.167.5': - resolution: {integrity: sha512-UjrSDBGAWelqDHCOhNrgnaULuPtu4LG7+hf7V/7X5sPHfnOk4O1kK6KMryQMbHrILLABz4guUTBeMEmJDBH9jA==} - engines: {node: '>=22.12.0'} - hasBin: true - - '@tanstack/start-client-core@1.170.1': - resolution: {integrity: sha512-KvUDEtQX7rURFtOsfh2OhOQ8YC46b+d0+T6gXi9Wpe9IRm1QzWUY38LH0SWlto4Dcs2VnN689Y7VgvkdnFHrzQ==} - engines: {node: '>=22.12.0'} - - '@tanstack/start-fn-stubs@1.161.6': - resolution: {integrity: sha512-Y6QSlGiLga8cHfvxGGaonXIlt2bIUTVdH6AMjmpMp7+ANNCp+N96GQbjjhLye3JkaxDfP68x5iZA8NK4imgRig==} + '@tanstack/start-client-core@1.170.14': + resolution: {integrity: sha512-yasBgEIFSWysL4EiFIGwp638nCoXXKiTqkc48EP2oty4OyNsZPTC1yfJ82zjq2KGkTAYtIaeMl7otqqRl1n85Q==} engines: {node: '>=22.12.0'} '@tanstack/start-fn-stubs@1.162.0': resolution: {integrity: sha512-QWfUZ3Yo923tdQn38LyKMU8rcTw69zc+T4dAvgTWV4O56SqFRsGfS0lSWIMhJRwXIx/bvdi7nTUBDdZtTHtpTQ==} engines: {node: '>=22.12.0'} - '@tanstack/start-plugin-core@1.167.12': - resolution: {integrity: sha512-FzkCKKX+QmszJ5tpZ6eFYmLAPIVJqGhLXEmrFwzA+r+zDwdySlXnDYckgqh+VmnY59FYLOJfl1FSS4Nt7NdmWQ==} + '@tanstack/start-plugin-core@1.171.24': + resolution: {integrity: sha512-l/tm+T0ntXHeIzr9kJDTJ2IDNZC0yFazjkvbEVeZsDOrJ8F+HiZmY+tXYqI5/nDYkwxY0DVQr+kGsTRVb6y2Jw==} engines: {node: '>=22.12.0'} peerDependencies: + '@rsbuild/core': ^2.0.0 vite: '>=7.0.0' + peerDependenciesMeta: + '@rsbuild/core': + optional: true + vite: + optional: true - '@tanstack/start-server-core@1.167.5': - resolution: {integrity: sha512-ACFtJcMfBI8HedkyhPP6BZIX38M1i9sg4LT85UeVZx8wyaFFNCFUB75+TCmngTeom9McK3Qp7LklrjQDLW5DrA==} + '@tanstack/start-server-core@1.169.17': + resolution: {integrity: sha512-u0N+PHJhMHnzfnlXYI9F+A/qweDe3E2X0mfkORPGIEkNQgvS548RA9fjwvixR2en5b848CfpEqUzwFhm/tQ40Q==} engines: {node: '>=22.12.0'} - hasBin: true - '@tanstack/start-static-server-functions@1.167.6': - resolution: {integrity: sha512-zQgKzuXNb4gtJMDJlZw8u+yritQkGiGu57WIlx7cZcrdx6G9gTe71YarpwwFOrmowPE2WCsqn/ODHL2FTk2dKA==} + '@tanstack/start-static-server-functions@1.167.19': + resolution: {integrity: sha512-NxzGG39VBnCbhKSJqpzM4bLCSLicPRR1HPTU/2e1AYwHPCYbYKicE1M81MDX4J/KfTyJrqXpObi2cVl9laBhPg==} engines: {node: '>=22.12.0'} peerDependencies: - '@tanstack/react-start': ^1.168.8 - '@tanstack/solid-start': ^1.168.8 + '@tanstack/react-start': ^1.168.28 + '@tanstack/solid-start': ^1.168.28 peerDependenciesMeta: '@tanstack/react-start': optional: true '@tanstack/solid-start': optional: true - '@tanstack/start-storage-context@1.166.19': - resolution: {integrity: sha512-u4+A3n//n4jeLzPYvqKBT2ssjg/cfNblCLtLex6OzoJdaPXEVrf+oq1+DYYWVeKxFDymEA8SSV69QuNmV5+71Q==} - engines: {node: '>=22.12.0'} - - '@tanstack/start-storage-context@1.167.6': - resolution: {integrity: sha512-+bfS+L/r7QUHtuxSV3QtpcU5kn1V0j2fKlOY/XH3zLZqpTocKZdV8Q97grmqY3OcNJkRFPZEXSYNQg0Fn4Ilaw==} + '@tanstack/start-storage-context@1.167.17': + resolution: {integrity: sha512-ntkDyGx0PE0opIlWNAMpkMb8qkjR4uyCUOfC0CiT0STM25+EcwPuwYNfDXXeVObMrTAPgsQ4yOj3xdY0Xr4ptw==} engines: {node: '>=22.12.0'} '@tanstack/store@0.9.3': resolution: {integrity: sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw==} - '@tanstack/virtual-core@3.13.23': - resolution: {integrity: sha512-zSz2Z2HNyLjCplANTDyl3BcdQJc2k1+yyFoKhNRmCr7V7dY8o8q5m8uFTI1/Pg1kL+Hgrz6u3Xo6eFUB7l66cg==} + '@tanstack/virtual-core@3.17.5': + resolution: {integrity: sha512-AXfBC3sq6PuYSwyxYORqqgHCNjPGAvKJvZuBBJ1klhztWBB5cgqgwsq8+fNfaQJG7/K4xYBja9S90QFn2zmQAg==} - '@tanstack/virtual-file-routes@1.161.7': - resolution: {integrity: sha512-olW33+Cn+bsCsZKPwEGhlkqS6w3M2slFv11JIobdnCFKMLG97oAI2kWKdx5/zsywTL8flpnoIgaZZPlQTFYhdQ==} + '@tanstack/virtual-file-routes@1.162.0': + resolution: {integrity: sha512-uhOeFyxLcU41HzvrxsGpiWdcMbScY1EDgbZ5K7DVRMYInbLYWAC0EA/kx9wXAoSM8q82bUG2hRl8+EAjE6XAbA==} engines: {node: '>=20.19'} - hasBin: true - '@tanstack/vue-virtual@3.13.23': - resolution: {integrity: sha512-b5jPluAR6U3eOq6GWAYSpj3ugnAIZgGR0e6aGAgyRse0Yu6MVQQ0ZWm9SArSXWtageogn6bkVD8D//c4IjW3xQ==} + '@tanstack/vue-virtual@3.13.33': + resolution: {integrity: sha512-R1j/o/5pdgzDqV3Us/s7VEV1Il6ocTsElKxK9g04rq66V3m7kIULgKXD04BAQwCO0IMemXsw3ex6LSH4ug3Feg==} peerDependencies: vue: ^2.7.0 || ^3.0.0 @@ -6105,41 +5220,38 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@turbo/darwin-64@2.9.10': - resolution: {integrity: sha512-5BVJnes8/zMPydF8ktfBBWqCCpUeWVxwZ6avYHRqLzk2PuTAsLz0TlaKdDe1nk1cz3/o0c+7CEf6zqNXdB2N7Q==} + '@turbo/darwin-64@2.10.5': + resolution: {integrity: sha512-ENvPwy3x5yS7MwNYHeWjqOBXkwIMp39Pd+/zXC6PoiNzF8EIvvLZOZZ+ny6L9x4WgS5vxUii2LM5gM+zjPdnWw==} cpu: [x64] os: [darwin] - '@turbo/darwin-arm64@2.9.10': - resolution: {integrity: sha512-MwaJl+vsxlkkDJYWN87GWKYD64kOvZFFlrDtGmCDeEx/488Kola5TVgS0VQkEUwnbDPjaDIB7kBMIzdzJRElbg==} + '@turbo/darwin-arm64@2.10.5': + resolution: {integrity: sha512-rqROo9zsF/P9RqsdtbLD1nFJicjSrYyvQ9kNJC38AbxA3pAs6VAlATvtvOFx7bqOv6vicf20SP9kF33avJjy2w==} cpu: [arm64] os: [darwin] - '@turbo/linux-64@2.9.10': - resolution: {integrity: sha512-HWrCKR+kUicEf4awj1EVRh5LI2hiDncpWZSXqhVj+wQT3SolBSXqXiSPYHgdh6hkmyfvz75Ex/+axXGcgQGdeA==} + '@turbo/linux-64@2.10.5': + resolution: {integrity: sha512-RoSSiNFUxi27zLJuM9F6GyWWjHgLch9t6nwD6K0FkXRirZkTLlzIj6IhFnK8H9++nefLtdFqylE4vGjZAv6AAA==} cpu: [x64] os: [linux] - '@turbo/linux-arm64@2.9.10': - resolution: {integrity: sha512-edJINoZcDn4g1zkOZHFrGtLX0EWTryoNJSlZK5SEVux4hITT6hTCzugVGtOUmdI+PuJ/xRRL3jKGa+JgjSoq5A==} + '@turbo/linux-arm64@2.10.5': + resolution: {integrity: sha512-4ZComcpzmHGmVynQqvvi+iZOSq/tBvY1SltXB8g4NZRsrA01W8E+yRL8RNM+PLoyWsrCnJa8xa+DkWkv+xg4iQ==} cpu: [arm64] os: [linux] - '@turbo/windows-64@2.9.10': - resolution: {integrity: sha512-rkASn89ATUtSyKvhGaWSyqVHBwtqFEUV1rFNKCtthSoix0T/kUHLJDKpepE/Wh6CtSnhxAfsY8cODtevD/hR7A==} + '@turbo/windows-64@2.10.5': + resolution: {integrity: sha512-eL2Iyj4DbMINq1Sr1w0iAi6nAiZOF16KSlRGwCJpVh+IWZeY33MAsLHVOBMj1xoFtncVJXclCVpTPL2nBoYkFg==} cpu: [x64] os: [win32] - '@turbo/windows-arm64@2.9.10': - resolution: {integrity: sha512-cblXqub7uABXKNMzvPB1IyOuSQpeMo7zZHSREB2C0mtIVn4lUSd2CfaGBtOrDqmkC9dsan3itxY4IejChQvfpg==} + '@turbo/windows-arm64@2.10.5': + resolution: {integrity: sha512-sog+wP+8YSJrdWZ/rUJg8xghVTrwoG+BrSlDQpnK5fzSgJHn1INRWXbVWRH0d3vX8dBI01E3yxXRre9Dn+OXQA==} cpu: [arm64] os: [win32] - '@tybys/wasm-util@0.10.1': - resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} - - '@tybys/wasm-util@0.10.2': - resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} + '@tybys/wasm-util@0.10.3': + resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} '@types/ace@0.0.52': resolution: {integrity: sha512-YPF9S7fzpuyrxru+sG/rrTpZkC6gpHBPF14W3x70kqVOD+ks6jkYLapk4yceh36xej7K4HYxcyz9ZDQ2lTvwgQ==} @@ -6147,9 +5259,6 @@ packages: '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} - '@types/bintrees@1.0.6': - resolution: {integrity: sha512-pZWT4Bz+tWwxlDspSjdoIza4PE5lbGI4Xvs3FZV/2v5m5SDA8LwNpU8AXxlndmARO7OaQ1Vf3zFenOsNMzaRkQ==} - '@types/body-parser@1.19.6': resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} @@ -6159,9 +5268,6 @@ packages: '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} - '@types/changelog-parser@2.8.4': - resolution: {integrity: sha512-lCjy5pdZr+PmGMUSnn/z1BPWb3ADiGXjwbKdLa6EnvZ+dY6815Ak65VWstOIq/x3mqEwdvmv+/2ExRElEEcXMw==} - '@types/command-line-args@5.2.3': resolution: {integrity: sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==} @@ -6177,15 +5283,6 @@ packages: '@types/cors@2.8.19': resolution: {integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==} - '@types/cross-spawn@6.0.6': - resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} - - '@types/death@1.1.5': - resolution: {integrity: sha512-r9LUPz2hMUZZyViBRbOTU1NV0a92xB23aeC/gXRWTIBOuhX/MtmeYPVBQ7Je86jVYt5trKEr2sfeFGyWU+ijPA==} - - '@types/debug@4.1.12': - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/debug@4.1.13': resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} @@ -6204,44 +5301,32 @@ packages: '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} - '@types/estree@0.0.39': - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} - '@types/estree@1.0.9': resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} - '@types/express-serve-static-core@4.19.7': - resolution: {integrity: sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==} + '@types/express-serve-static-core@5.1.2': + resolution: {integrity: sha512-d3KvEXBSo/lOAMc2u6fkyDHBvetBHeqD7wm/AcXfLpSOQwlmG9D/aQ0SFswVjv05p7ullQS7Mjohj6/VdbZuTg==} - '@types/express@4.17.25': - resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} + '@types/express@5.0.6': + resolution: {integrity: sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==} '@types/figlet@1.7.0': resolution: {integrity: sha512-KwrT7p/8Eo3Op/HBSIwGXOsTZKYiM9NpWRBJ5sVjWP/SmlS+oxxRvJht/FNAtliJvja44N3ul1yATgohnVBV0Q==} - '@types/fs-extra@9.0.13': - resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} - - '@types/glossy@0.1.3': - resolution: {integrity: sha512-CrdAR+ZgRf0MQnDAW4tUm2LpPmfC6sAWlrBwcX0O2oUKyZvseb6wlHZ0alo++DyaLckxqM4CUa+EfzyITJM7mA==} - '@types/har-format@1.2.16': resolution: {integrity: sha512-fluxdy7ryD3MV6h8pTfTYpy/xQzCFC7m89nOH9y94cNqJ1mDIDPut7MnRHI3F6qRmh/cT2fUjG1MLdCNb4hE9A==} - '@types/hast@3.0.4': - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/hast@3.0.5': + resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==} - '@types/http-cache-semantics@4.0.4': - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + '@types/http-cache-semantics@4.2.0': + resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==} '@types/http-errors@2.0.5': resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} - '@types/jquery@3.5.33': - resolution: {integrity: sha512-SeyVJXlCZpEki5F0ghuYe+L+PprQta6nRZqhONt9F13dWBtR/ftoaIbdRQ7cis7womE+X2LKhsDdDtkkDhJS6g==} - - '@types/jsesc@2.5.1': - resolution: {integrity: sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw==} + '@types/jquery@4.0.1': + resolution: {integrity: sha512-9a59A/tycXgYuPABcp6/3spSShn0NT2UOM4EfHvMumjYi4lJWTsK5SZWjhx3yRm9IHGCeWXdV2YfNsrWrft/CA==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -6249,38 +5334,23 @@ packages: '@types/keyv@3.1.4': resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - '@types/line-reader@0.0.34': - resolution: {integrity: sha512-r6RzbnrY+IoBgDIO4P6l2a+/ad+YCLe/htv7hp+Oqsqeb7cJbV3keKpg07ZlLlk3ZJz9xozNO8lFOiKRux234Q==} - - '@types/long@4.0.2': - resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} - - '@types/marked@4.3.2': - resolution: {integrity: sha512-a79Yc3TOk6dGdituy8hmTTJXjOkZ7zsFYV10L337ttq/rec8lRMDBpV7fL3uLx6TgbFCa5DU/h8FmIBQPSbU0w==} - '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - '@types/mdx@2.0.13': - resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + '@types/mdx@2.0.14': + resolution: {integrity: sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==} '@types/methods@1.1.4': resolution: {integrity: sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==} - '@types/mime@1.3.5': - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - - '@types/mime@3.0.4': - resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} - '@types/minimist@1.2.5': resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node-red-node-test-helper@0.2.3': - resolution: {integrity: sha512-l8ai5Vlm2ujcwQcvxuY4L+GkLFn3ZPmqhRGH5jhi7hs2iWBmgb56RIWKFgx5CNi1mYcxANpXTXzWzW8yeoZxyA==} + '@types/node-red-node-test-helper@0.3.5': + resolution: {integrity: sha512-ppCrp+3ncOCvciPXwQWhXy5voENjDyK1Xvw98Q9a4tJsSdqiitdy7HsUgtbCSn/mrKStRzZ61l+fHDAknR0BgA==} '@types/node-red@1.3.5': resolution: {integrity: sha512-LBP8TmXJszHOoRgieyxgUrspvatmTZlkPRftlSNGE9TVJCQzSSyX3tF/Qe4evQlIUBmMGOijxcUOcKZSvq4piQ==} @@ -6303,38 +5373,29 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@20.19.26': - resolution: {integrity: sha512-0l6cjgF0XnihUpndDhk+nyD3exio3iKaYROSgvh/qSevPXax3L8p5DBRFjbvalnwatGgHEQn2R88y2fA3g4irg==} - - '@types/node@22.19.15': - resolution: {integrity: sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg==} + '@types/node@24.13.3': + resolution: {integrity: sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==} - '@types/node@24.12.4': - resolution: {integrity: sha512-GUUEShf+PBCGW2KaXwcIt3Yk+e3pkKwWKb9GSyM9WQVE+ep2jzmHdGsHzu4wgcZy5fN9FBdVzjpBQsYlpfpgLA==} - - '@types/node@25.9.1': - resolution: {integrity: sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==} + '@types/node@26.1.1': + resolution: {integrity: sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/parse-json@4.0.2': - resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - '@types/passport@1.0.17': resolution: {integrity: sha512-aciLyx+wDwT2t2/kJGJR2AEeBz0nJU4WuRX04Wu9Dqc5lSUtwu0WERPHYsLhF9PtseiAMPBGNUOtFjxZ56prsg==} '@types/pidusage@2.0.5': resolution: {integrity: sha512-MIiyZI4/MK9UGUXWt0jJcCZhVw7YdhBuTOuqP/BjuLDLZ2PmmViMIQgZiWxtaMicQfAz/kMrZ5T7PKxFSkTeUA==} - '@types/prop-types@15.7.15': - resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} - '@types/q@1.5.8': resolution: {integrity: sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==} - '@types/qs@6.14.0': - resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} + '@types/qrcode@1.5.6': + resolution: {integrity: sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw==} + + '@types/qs@6.15.1': + resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} @@ -6344,47 +5405,35 @@ packages: peerDependencies: '@types/react': ^19.2.0 - '@types/react@18.3.28': - resolution: {integrity: sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==} + '@types/react@19.2.17': + resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} - '@types/react@19.2.14': - resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==} - - '@types/react@19.2.15': - resolution: {integrity: sha512-eRwcGNHve+E8qtEQSSRl6urh+rFop4v8gm6O8rGv25CodbvFdLjA1vVQ1KkiFE0w0UPOnb8tDiFKL5lp0rtY5Q==} + '@types/readable-stream@4.0.24': + resolution: {integrity: sha512-NRvUNC/JFGPJvqdAfEve8oginbM6V08u5NzLWpG8MwA2kTPOLnqk+wpwuPT+mp3aUsxyuT6m2gnrPuHYCruzEg==} '@types/responselike@1.0.3': resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} - '@types/send@0.17.6': - resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} - '@types/send@1.2.1': resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} - '@types/serve-static@1.15.10': - resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} + '@types/serve-static@2.2.0': + resolution: {integrity: sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==} - '@types/shelljs@0.8.17': - resolution: {integrity: sha512-IDksKYmQA2W9MkQjiyptbMmcQx+8+Ol6b7h6dPU5S05JyiQDSb/nZKnrMrZqGwgV6VkVdl6/SPCKPDlMRvqECg==} - - '@types/sinon@10.0.20': - resolution: {integrity: sha512-2APKKruFNCAZgx3daAyACGzWuJ028VVCUDk6o2rw/Z4PXT0ogwdV4KUegW0MwVs0Zu59auPXbbuBJHF12Sx1Eg==} + '@types/sinon@22.0.0': + resolution: {integrity: sha512-TDbVpbccc2HfiqHR09Argj3mHV1KMW7sCCKj52fsl8lbRLkEn7fB1966EWhOKWUBcqfBueZuPoA7/OK1CKiy3g==} '@types/sinonjs__fake-timers@15.0.1': resolution: {integrity: sha512-Ko2tjWJq8oozHzHV+reuvS5KYIRAokHnGbDwGh/J64LntgpbuylF74ipEL24HCyRjf9FOlBiBHWBR1RlVKsI1w==} - '@types/sizzle@2.3.10': - resolution: {integrity: sha512-TC0dmN0K8YcWEAEfiPi5gJP14eJe30TTGjkvek3iM/1NdHHsdCA/Td6GvNndMOo/iSnIsZ4HuuhrYPDAmbxzww==} - '@types/statuses@2.0.6': resolution: {integrity: sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==} - '@types/superagent@8.1.9': - resolution: {integrity: sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==} + '@types/superagent@8.1.11': + resolution: {integrity: sha512-KA7srSW/HENDtOw9DOqaFLgWuMqN9WgjEw62lh9dpvRaZDkhdOkazASd7X7i2eMUYLHa1U37ZttnePsH5zTDHw==} - '@types/supertest@2.0.16': - resolution: {integrity: sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==} + '@types/supertest@7.2.1': + resolution: {integrity: sha512-4CbBvoYVLHL7+yhbYrZET0vsvuyXTC05aRe7dNQkwMzm56auceoy6Yu3K50uZmwfHna1os3CMSgM/3QVkUtPTw==} '@types/tar-fs@2.0.4': resolution: {integrity: sha512-ipPec0CjTmVDWE+QKr9cTmIIoTl7dFG/yARCM5MqK8i6CNLIG1P8x4kwDsOQY1ChZOZjH0wO9nvfgBvWl4R3kA==} @@ -6395,9 +5444,6 @@ packages: '@types/triple-beam@1.3.5': resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} - '@types/trusted-types@2.0.7': - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} @@ -6413,182 +5459,316 @@ packages: '@types/web-bluetooth@0.0.21': resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} - '@types/winston-syslog@2.4.4': - resolution: {integrity: sha512-qGIMiLQ+ruuJBdiarTMX+aOYYoxCnWRqAvPJkpdIK9M4T6Y6eUH9oFUodPqS6JPM7TgqYcnhIbH+sXp3GPXUzw==} - '@types/ws@8.18.1': resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.58.0': - resolution: {integrity: sha512-RLkVSiNuUP1C2ROIWfqX+YcUfLaSnxGE/8M+Y57lopVwg9VTYYfhuz15Yf1IzCKgZj6/rIbYTmJCUSqr76r0Wg==} + '@typescript-eslint/eslint-plugin@8.65.0': + resolution: {integrity: sha512-IEgob78X12rHpUmtcwFsXhZdVGJtwTVP8FiCLZkR6GlYVrl2PcuB+KhCE5BlVC/eQpQnu8WXRtkHZuPar+gCRA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.58.0 + '@typescript-eslint/parser': ^8.65.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.58.0': - resolution: {integrity: sha512-rLoGZIf9afaRBYsPUMtvkDWykwXwUPL60HebR4JgTI8mxfFe2cQTu3AGitANp4b9B2QlVru6WzjgB2IzJKiCSA==} + '@typescript-eslint/parser@8.65.0': + resolution: {integrity: sha512-CZ4nMxWwgu1HEEFNkeaCptra9QCtkmKdgf3sWh1rl1trIhmxLilgTV4cwcbQ4wemnT4sWQN8CaKOmdYx+g2gMA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.58.0': - resolution: {integrity: sha512-8Q/wBPWLQP1j16NxoPNIKpDZFMaxl7yWIoqXWYeWO+Bbd2mjgvoF0dxP2jKZg5+x49rgKdf7Ck473M8PC3V9lg==} + '@typescript-eslint/project-service@8.65.0': + resolution: {integrity: sha512-SxnPhbTsGahizDgbu7oqFH/xVtzIqMd/s+WtnSxNxJZJpLbdT5IPdzg8EZxO3+PoKahXmwJLeNQOpKJb3/bi7Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.58.0': - resolution: {integrity: sha512-W1Lur1oF50FxSnNdGp3Vs6P+yBRSmZiw4IIjEeYxd8UQJwhUF0gDgDD/W/Tgmh73mxgEU3qX0Bzdl/NGuSPEpQ==} + '@typescript-eslint/scope-manager@8.65.0': + resolution: {integrity: sha512-Esbl8OSYiVxBokYgWPf7VVWg/BE798wXhimnn9ML9Pt5qoDf8bfQlgjlKXR/k98+AcNzlLKYrpCcrcuZ9DZLgg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.58.0': - resolution: {integrity: sha512-doNSZEVJsWEu4htiVC+PR6NpM+pa+a4ClH9INRWOWCUzMst/VA9c4gXq92F8GUD1rwhNvRLkgjfYtFXegXQF7A==} + '@typescript-eslint/tsconfig-utils@8.65.0': + resolution: {integrity: sha512-j6GzGqCiRdA7Qhur2VVmKZAkBLfnHFQfx4TaJGL9RMveZqCo48jSHHO0DTgizEnGhtWnqmbtCUSrqSkdiY/0Hg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.58.0': - resolution: {integrity: sha512-aGsCQImkDIqMyx1u4PrVlbi/krmDsQUs4zAcCV6M7yPcPev+RqVlndsJy9kJ8TLihW9TZ0kbDAzctpLn5o+lOg==} + '@typescript-eslint/type-utils@8.65.0': + resolution: {integrity: sha512-YjaZ7PRI5qY7ax2L3PbvX0rRyGtipAReCWs0mhhDBHjH/vl0g0BonaGXrKdKpMbIIsMIwDgbk/xzkBTyAltS5g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/types@8.58.0': - resolution: {integrity: sha512-O9CjxypDT89fbHxRfETNoAnHj/i6IpRK0CvbVN3qibxlLdo5p5hcLmUuCCrHMpxiWSwKyI8mCP7qRNYuOJ0Uww==} + '@typescript-eslint/types@8.65.0': + resolution: {integrity: sha512-JSSwWNy+H0E/01jJEM+hrX6N0OFDzFzeIhHFSAS01tlVaevpG8cFyYRPhS5yjGOvBUx3sqQHVMjCL1CAZZMxBg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.58.0': - resolution: {integrity: sha512-7vv5UWbHqew/dvs+D3e1RvLv1v2eeZ9txRHPnEEBUgSNLx5ghdzjHa0sgLWYVKssH+lYmV0JaWdoubo0ncGYLA==} + '@typescript-eslint/typescript-estree@8.65.0': + resolution: {integrity: sha512-JboAE2swaYt4tb1fHhHTABE2K+OLy09XfcTbhnk4Pw96f9dd2e9iYsJ28gBggHlo5z5x1rkyWvcPoTuNTd4oGg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.58.0': - resolution: {integrity: sha512-RfeSqcFeHMHlAWzt4TBjWOAtoW9lnsAGiP3GbaX9uVgTYYrMbVnGONEfUCiSss+xMHFl+eHZiipmA8WkQ7FuNA==} + '@typescript-eslint/utils@8.65.0': + resolution: {integrity: sha512-gXiwIHsYreboxeJucHKPvgwl7dXt50mF8s1/c00cP/WoVTyWKFdtfhRWwZiXYFU5H2O8vVoSLNrexFZjYS/SGA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.58.0': - resolution: {integrity: sha512-XJ9UD9+bbDo4a4epraTwG3TsNPeiB9aShrUneAVXy8q4LuwowN+qu89/6ByLMINqvIMeI9H9hOHQtg/ijrYXzQ==} + '@typescript-eslint/visitor-keys@8.65.0': + resolution: {integrity: sha512-8C71BQkGjiMmXtop7pHVJu1l2NNShFdkCyD6a2ezzs5vU/L3LRtb69EtcteFwz0mYMPzIgOw0n6OV4VBUWZd7A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ungap/structured-clone@1.3.1': - resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} + '@typescript/typescript-aix-ppc64@7.0.2': + resolution: {integrity: sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [aix] + + '@typescript/typescript-darwin-arm64@7.0.2': + resolution: {integrity: sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [darwin] + + '@typescript/typescript-darwin-x64@7.0.2': + resolution: {integrity: sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [darwin] + + '@typescript/typescript-freebsd-arm64@7.0.2': + resolution: {integrity: sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [freebsd] + + '@typescript/typescript-freebsd-x64@7.0.2': + resolution: {integrity: sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [freebsd] + + '@typescript/typescript-linux-arm64@7.0.2': + resolution: {integrity: sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [linux] + + '@typescript/typescript-linux-arm@7.0.2': + resolution: {integrity: sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==} + engines: {node: '>=16.20.0'} + cpu: [arm] + os: [linux] + + '@typescript/typescript-linux-loong64@7.0.2': + resolution: {integrity: sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==} + engines: {node: '>=16.20.0'} + cpu: [loong64] + os: [linux] + + '@typescript/typescript-linux-mips64el@7.0.2': + resolution: {integrity: sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==} + engines: {node: '>=16.20.0'} + cpu: [mips64el] + os: [linux] + + '@typescript/typescript-linux-ppc64@7.0.2': + resolution: {integrity: sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [linux] + + '@typescript/typescript-linux-riscv64@7.0.2': + resolution: {integrity: sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==} + engines: {node: '>=16.20.0'} + cpu: [riscv64] + os: [linux] + + '@typescript/typescript-linux-s390x@7.0.2': + resolution: {integrity: sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==} + engines: {node: '>=16.20.0'} + cpu: [s390x] + os: [linux] + + '@typescript/typescript-linux-x64@7.0.2': + resolution: {integrity: sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [linux] + + '@typescript/typescript-netbsd-arm64@7.0.2': + resolution: {integrity: sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [netbsd] + + '@typescript/typescript-netbsd-x64@7.0.2': + resolution: {integrity: sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [netbsd] + + '@typescript/typescript-openbsd-arm64@7.0.2': + resolution: {integrity: sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [openbsd] + + '@typescript/typescript-openbsd-x64@7.0.2': + resolution: {integrity: sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [openbsd] + + '@typescript/typescript-sunos-x64@7.0.2': + resolution: {integrity: sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [sunos] + + '@typescript/typescript-win32-arm64@7.0.2': + resolution: {integrity: sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [win32] + + '@typescript/typescript-win32-x64@7.0.2': + resolution: {integrity: sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [win32] + + '@ungap/structured-clone@1.3.3': + resolution: {integrity: sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==} - '@unhead/vue@2.1.12': - resolution: {integrity: sha512-zEWqg0nZM8acpuTZE40wkeUl8AhIe0tU0OkilVi1D4fmVjACrwoh5HP6aNqJ8kUnKsoy6D+R3Vi/O+fmdNGO7g==} + '@unhead/vue@2.1.16': + resolution: {integrity: sha512-t6QykImeMJcrUTbFB0Coy0cB/OZItHdQFRFLoH8GAVXKWmQORGPrwvueP9me7adOCuMH2uVvrv0nCkbi6zksaA==} peerDependencies: vue: '>=3.5.18' - '@unrs/resolver-binding-android-arm-eabi@1.11.1': - resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==} + '@unrs/resolver-binding-android-arm-eabi@1.12.2': + resolution: {integrity: sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==} cpu: [arm] os: [android] - '@unrs/resolver-binding-android-arm64@1.11.1': - resolution: {integrity: sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==} + '@unrs/resolver-binding-android-arm64@1.12.2': + resolution: {integrity: sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==} cpu: [arm64] os: [android] - '@unrs/resolver-binding-darwin-arm64@1.11.1': - resolution: {integrity: sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==} + '@unrs/resolver-binding-darwin-arm64@1.12.2': + resolution: {integrity: sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==} cpu: [arm64] os: [darwin] - '@unrs/resolver-binding-darwin-x64@1.11.1': - resolution: {integrity: sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==} + '@unrs/resolver-binding-darwin-x64@1.12.2': + resolution: {integrity: sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==} cpu: [x64] os: [darwin] - '@unrs/resolver-binding-freebsd-x64@1.11.1': - resolution: {integrity: sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==} + '@unrs/resolver-binding-freebsd-x64@1.12.2': + resolution: {integrity: sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==} cpu: [x64] os: [freebsd] - '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': - resolution: {integrity: sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==} + '@unrs/resolver-binding-linux-arm-gnueabihf@1.12.2': + resolution: {integrity: sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==} cpu: [arm] os: [linux] - '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': - resolution: {integrity: sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==} + '@unrs/resolver-binding-linux-arm-musleabihf@1.12.2': + resolution: {integrity: sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==} cpu: [arm] os: [linux] - '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': - resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==} + '@unrs/resolver-binding-linux-arm64-gnu@1.12.2': + resolution: {integrity: sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==} cpu: [arm64] os: [linux] libc: [glibc] - '@unrs/resolver-binding-linux-arm64-musl@1.11.1': - resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==} + '@unrs/resolver-binding-linux-arm64-musl@1.12.2': + resolution: {integrity: sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==} cpu: [arm64] os: [linux] libc: [musl] - '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': - resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==} + '@unrs/resolver-binding-linux-loong64-gnu@1.12.2': + resolution: {integrity: sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==} + cpu: [loong64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-loong64-musl@1.12.2': + resolution: {integrity: sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==} + cpu: [loong64] + os: [linux] + libc: [musl] + + '@unrs/resolver-binding-linux-ppc64-gnu@1.12.2': + resolution: {integrity: sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==} cpu: [ppc64] os: [linux] libc: [glibc] - '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': - resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==} + '@unrs/resolver-binding-linux-riscv64-gnu@1.12.2': + resolution: {integrity: sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': - resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==} + '@unrs/resolver-binding-linux-riscv64-musl@1.12.2': + resolution: {integrity: sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==} cpu: [riscv64] os: [linux] libc: [musl] - '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': - resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==} + '@unrs/resolver-binding-linux-s390x-gnu@1.12.2': + resolution: {integrity: sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==} cpu: [s390x] os: [linux] libc: [glibc] - '@unrs/resolver-binding-linux-x64-gnu@1.11.1': - resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==} + '@unrs/resolver-binding-linux-x64-gnu@1.12.2': + resolution: {integrity: sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==} cpu: [x64] os: [linux] libc: [glibc] - '@unrs/resolver-binding-linux-x64-musl@1.11.1': - resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==} + '@unrs/resolver-binding-linux-x64-musl@1.12.2': + resolution: {integrity: sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==} cpu: [x64] os: [linux] libc: [musl] - '@unrs/resolver-binding-wasm32-wasi@1.11.1': - resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==} + '@unrs/resolver-binding-openharmony-arm64@1.12.2': + resolution: {integrity: sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==} + cpu: [arm64] + os: [openharmony] + + '@unrs/resolver-binding-wasm32-wasi@1.12.2': + resolution: {integrity: sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': - resolution: {integrity: sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==} + '@unrs/resolver-binding-win32-arm64-msvc@1.12.2': + resolution: {integrity: sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==} cpu: [arm64] os: [win32] - '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': - resolution: {integrity: sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==} + '@unrs/resolver-binding-win32-ia32-msvc@1.12.2': + resolution: {integrity: sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==} cpu: [ia32] os: [win32] - '@unrs/resolver-binding-win32-x64-msvc@1.11.1': - resolution: {integrity: sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==} + '@unrs/resolver-binding-win32-x64-msvc@1.12.2': + resolution: {integrity: sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==} cpu: [x64] os: [win32] @@ -6600,8 +5780,8 @@ packages: resolution: {integrity: sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug==} engines: {node: '>= 20'} - '@vitejs/plugin-react@6.0.2': - resolution: {integrity: sha512-DlSMqo4WhThw4vB8Mpn0Woe9J+Jfq1geJ61AKW0QEgLzGMNwtIMdxbDUzLxcun8W7NbJO0e2Jg/Nxm3cCSVzzg==} + '@vitejs/plugin-react@6.0.4': + resolution: {integrity: sha512-XcCQz0TBpBgljhj0gMuuDj49i6Ytqh5q1osT/Gp5uAVJUCTWxyskk/l1jwYYiu2xcNHHipdMz40EGfM1VdamVg==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 @@ -6613,11 +5793,11 @@ packages: babel-plugin-react-compiler: optional: true - '@vitest/expect@4.1.2': - resolution: {integrity: sha512-gbu+7B0YgUJ2nkdsRJrFFW6X7NTP44WlhiclHniUhxADQJH5Szt9mZ9hWnJPJ8YwOK5zUOSSlSvyzRf0u1DSBQ==} + '@vitest/expect@4.1.10': + resolution: {integrity: sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==} - '@vitest/mocker@4.1.2': - resolution: {integrity: sha512-Ize4iQtEALHDttPRCmN+FKqOl2vxTiNUhzobQFFt/BM1lRUTG7zRCLOykG/6Vo4E4hnUdfVLo5/eqKPukcWW7Q==} + '@vitest/mocker@4.1.10': + resolution: {integrity: sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -6627,52 +5807,47 @@ packages: vite: optional: true - '@vitest/pretty-format@4.1.2': - resolution: {integrity: sha512-dwQga8aejqeuB+TvXCMzSQemvV9hNEtDDpgUKDzOmNQayl2OG241PSWeJwKRH3CiC+sESrmoFd49rfnq7T4RnA==} - - '@vitest/runner@4.1.2': - resolution: {integrity: sha512-Gr+FQan34CdiYAwpGJmQG8PgkyFVmARK8/xSijia3eTFgVfpcpztWLuP6FttGNfPLJhaZVP/euvujeNYar36OQ==} + '@vitest/pretty-format@4.1.10': + resolution: {integrity: sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==} - '@vitest/snapshot@4.1.2': - resolution: {integrity: sha512-g7yfUmxYS4mNxk31qbOYsSt2F4m1E02LFqO53Xpzg3zKMhLAPZAjjfyl9e6z7HrW6LvUdTwAQR3HHfLjpko16A==} + '@vitest/runner@4.1.10': + resolution: {integrity: sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==} - '@vitest/spy@4.1.2': - resolution: {integrity: sha512-DU4fBnbVCJGNBwVA6xSToNXrkZNSiw59H8tcuUspVMsBDBST4nfvsPsEHDHGtWRRnqBERBQu7TrTKskmjqTXKA==} + '@vitest/snapshot@4.1.10': + resolution: {integrity: sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==} - '@vitest/utils@4.1.2': - resolution: {integrity: sha512-xw2/TiX82lQHA06cgbqRKFb5lCAy3axQ4H4SoUFhUsg+wztiet+co86IAMDtF6Vm1hc7J6j09oh/rgDn+JdKIQ==} + '@vitest/spy@4.1.10': + resolution: {integrity: sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==} - '@vue/compiler-core@3.5.31': - resolution: {integrity: sha512-k/ueL14aNIEy5Onf0OVzR8kiqF/WThgLdFhxwa4e/KF/0qe38IwIdofoSWBTvvxQOesaz6riAFAUaYjoF9fLLQ==} + '@vitest/utils@4.1.10': + resolution: {integrity: sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==} - '@vue/compiler-dom@3.5.31': - resolution: {integrity: sha512-BMY/ozS/xxjYqRFL+tKdRpATJYDTTgWSo0+AJvJNg4ig+Hgb0dOsHPXvloHQ5hmlivUqw1Yt2pPIqp4e0v1GUw==} + '@vue/compiler-core@3.5.40': + resolution: {integrity: sha512-39E8IgOhTbVDnoJFMKc2DvYnypcZwUqgUhQkccva/0m6FUwtIKSGV7n1hpVmYcFaoRAwf9pBcwnKlCEsN63ZEQ==} - '@vue/compiler-sfc@3.5.31': - resolution: {integrity: sha512-M8wpPgR9UJ8MiRGjppvx9uWJfLV7A/T+/rL8s/y3QG3u0c2/YZgff3d6SuimKRIhcYnWg5fTfDMlz2E6seUW8Q==} + '@vue/compiler-dom@3.5.40': + resolution: {integrity: sha512-pwkx4vqlqOspFstrcmzwkKLePVMD3PT65imRzLhanU2V1Fj4K13g6OXjanOyzw3aTAuRk84BOmY8f3rEHqPaVA==} - '@vue/compiler-ssr@3.5.31': - resolution: {integrity: sha512-h0xIMxrt/LHOvJKMri+vdYT92BrK3HFLtDqq9Pr/lVVfE4IyKZKvWf0vJFW10Yr6nX02OR4MkJwI0c1HDa1hog==} + '@vue/compiler-sfc@3.5.40': + resolution: {integrity: sha512-gIf497P4kpuALcvs5n3AEg1Vdn0pSY4XbjASIfHNYF1/MP3T2Mf2STERTubysBxCRxzJGJYtF/O7vwJrxFB3Vw==} - '@vue/devtools-api@6.6.4': - resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + '@vue/compiler-ssr@3.5.40': + resolution: {integrity: sha512-rrE5xiXG663+vHCHa3J9p2z5OcBRjXmoqenprJxAFQxg5pSshzeBiCE6pu46axapRJ2Adk0YDA2BRZVjiHXnhg==} - '@vue/reactivity@3.5.31': - resolution: {integrity: sha512-DtKXxk9E/KuVvt8VxWu+6Luc9I9ETNcqR1T1oW1gf02nXaZ1kuAx58oVu7uX9XxJR0iJCro6fqBLw9oSBELo5g==} + '@vue/reactivity@3.5.40': + resolution: {integrity: sha512-B7ot9UlUZOi1zbq61/LvE88ZLTV8IlajTdiZTAEiDQgrnIMIZoPr9kGw0Zw46ObW62O9+H/Be3kMbfb7kYPQZA==} - '@vue/runtime-core@3.5.31': - resolution: {integrity: sha512-AZPmIHXEAyhpkmN7aWlqjSfYynmkWlluDNPHMCZKFHH+lLtxP/30UJmoVhXmbDoP1Ng0jG0fyY2zCj1PnSSA6Q==} + '@vue/runtime-core@3.5.40': + resolution: {integrity: sha512-KAZLweuZ6uUJPK1PMSQPgBU5gCjgrrfjUhSglmU9NhH+Zjepa8cnwSydPWDWHDwOgY4g3VcZ+PljbiHlURNCbw==} - '@vue/runtime-dom@3.5.31': - resolution: {integrity: sha512-xQJsNRmGPeDCJq/u813tyonNgWBFjzfVkBwDREdEWndBnGdHLHgkwNBQxLtg4zDrzKTEcnikUy1UUNecb3lJ6g==} + '@vue/runtime-dom@3.5.40': + resolution: {integrity: sha512-ZfrX8ssZQds900L9pr8AuK05ddnMsR4MPMZr8cPN9GoqoPWcXLhjvvbIA2SMv+7a97sJ1vv9pj/zxK0Cq/eEFQ==} - '@vue/server-renderer@3.5.31': - resolution: {integrity: sha512-GJuwRvMcdZX/CriUnyIIOGkx3rMV3H6sOu0JhdKbduaeCji6zb60iOGMY7tFoN24NfsUYoFBhshZtGxGpxO4iA==} - peerDependencies: - vue: 3.5.31 + '@vue/server-renderer@3.5.40': + resolution: {integrity: sha512-XNJym9WpevhTVt1HuwOrCRJ5Q+9z4BjTMrDtjTrvx74SmUll8spNTw6whWJa9mEkO4PKn5TihI/bm/8ds2QVJw==} - '@vue/shared@3.5.31': - resolution: {integrity: sha512-nBxuiuS9Lj5bPkPbWogPUnjxxWpkRniX7e5UBQDWl6Fsf4roq9wwV+cR7ezQ4zXswNvPIlsdj1slcLB7XCsRAw==} + '@vue/shared@3.5.40': + resolution: {integrity: sha512-WxnBtruIqOoV3rA4jeKDWzrYI5h7Cp4+pjwDi8kWGHz+IslhiN+wguLVVhtv2l8VoU02rzDCVfDjgCl1lNpZVg==} '@vueuse/core@10.11.1': resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==} @@ -6783,6 +5958,9 @@ packages: '@webassemblyjs/wast-printer@1.14.1': resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + '@workflow/serde@4.1.0': + resolution: {integrity: sha512-pav4F2BoirECWR7Nf1TKt+2eETcBj7jj4cBefQ8VXQCA6NPkaKeLfj/zMgi+3zYV5ZIBT4GuUiphsj0/b9hPQQ==} + '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} @@ -6792,6 +5970,198 @@ packages: '@yarnpkg/lockfile@1.1.0': resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} + '@yuku-analyzer/binding-darwin-arm64@0.6.12': + resolution: {integrity: sha512-9rpIP7IeybjyvWUf6WnU24h1qo+JdxIHr1o3yb06HoE8tM3S/Jh5RrUw9aw5P9BKSIvSPbLyVlItX7PcD3o5bQ==} + cpu: [arm64] + os: [darwin] + + '@yuku-analyzer/binding-darwin-x64@0.6.12': + resolution: {integrity: sha512-ELLhNT4FGnqY8yh0W3cSs9rGMSeUyhib1aYD84RupjlfsrDTrQRoDhWu01Dv6xCfYgASYaj1Abntk91A7njNag==} + cpu: [x64] + os: [darwin] + + '@yuku-analyzer/binding-freebsd-x64@0.6.12': + resolution: {integrity: sha512-s76XocUMlK9liTyipALFb2K64ku35u/wg238A0NW8U5CUDsuIe/8tu5TzdLjJAGxnd0IV+gBneDt9cJJzLeFRQ==} + cpu: [x64] + os: [freebsd] + + '@yuku-analyzer/binding-linux-arm-gnu@0.6.12': + resolution: {integrity: sha512-hm8Tq0umop3RGu6dOMF61q69tYn1bDp1CeYD5ZjuGFQJclp0moVtjzY4z0bzusicKeZ9+k5LRroR0p5HWC2hDw==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@yuku-analyzer/binding-linux-arm-musl@0.6.12': + resolution: {integrity: sha512-CxtPKLddogHAB3ZHVWaUl+U8jx0pdriTSbQ1K/orlDqU0GDhg8LuIRyUscP7r2/62fGGMzkc119fE71I4Nl1Fg==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@yuku-analyzer/binding-linux-arm64-gnu@0.6.12': + resolution: {integrity: sha512-EOyLcpAmF5qAVDKmKvV7xt8oBGeWQ92CqFI4s7h7TRlrF6TfGRrh8PwawGn92gFploNLAYj/1Z9Q1gVvwGgG9g==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@yuku-analyzer/binding-linux-arm64-musl@0.6.12': + resolution: {integrity: sha512-T3eCYy6bMnVRMQEYAbDcpj08/XM93dBTtnn/DDocJN21RARe+KCzWKeL26J3yd3bOW3WVjVLq09BfdpAGB0buQ==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@yuku-analyzer/binding-linux-x64-gnu@0.6.12': + resolution: {integrity: sha512-1Y+noIuvnDugIVsoIr5NduZqX7KuFTzICSkvG8RW3OKK9URVeTOicKK217i44ABZSSZJ7A0E7vzifapx0c9VDw==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@yuku-analyzer/binding-linux-x64-musl@0.6.12': + resolution: {integrity: sha512-woN/GuG95Fd6bp+ZQfmiFrZnoA2hdu3vfVSc89A8LElnYpzFaJM81sOZp8f3tVOVUJxbt7KAUiCLwSy34MJKqA==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@yuku-analyzer/binding-win32-arm64@0.6.12': + resolution: {integrity: sha512-8OVFnKbK+lgsL6MqILPLpzlsa00K4KiKsdbHH94hpGcrqaz1jv+k0Y7ujSaoYTWw5Bb7Lr9GJ3L1n1hT2sXoYA==} + cpu: [arm64] + os: [win32] + + '@yuku-analyzer/binding-win32-x64@0.6.12': + resolution: {integrity: sha512-3w8w1Xc5njwgbGTcn3JfDxWuQnFvtSll1D8gBlk4U8CI5v7ibKOMIdABucCXH8WtsRREG0ME5Vn0i422eX3zLQ==} + cpu: [x64] + os: [win32] + + '@yuku-codegen/binding-darwin-arm64@0.7.2': + resolution: {integrity: sha512-SUE7nUmiPmr/H6qUUgsKtXY3wCtKsIeru3MSUKr4rVzZ/Q/zzNwdCP7WiOHQKEhjvXAcOedAx0VXJ/0ORpqUVA==} + cpu: [arm64] + os: [darwin] + + '@yuku-codegen/binding-darwin-x64@0.7.2': + resolution: {integrity: sha512-wNpZq7AtVeONNKTvHlTQ/XxFHu/tmFWqt/91TLMYDph92E+uT1V57w9CpJwO7B2r7w28vsiDEWejhsjdAE+Meg==} + cpu: [x64] + os: [darwin] + + '@yuku-codegen/binding-freebsd-x64@0.7.2': + resolution: {integrity: sha512-s7bs6umtg6UtT9L2qBRdpOdE4lQo8J7SCipYk8u+GnKTL5v+97mx+UnA2FcLr4fw/iR9Af+JaA5TCh2uz9qwsg==} + cpu: [x64] + os: [freebsd] + + '@yuku-codegen/binding-linux-arm-gnu@0.7.2': + resolution: {integrity: sha512-M29TJWdke63e3wNfUomjkP9vhEnE21D9JMDlD3hvejFPoE+PZQBT7rKs3uL3xsjdA+eK7Ew4Qpz0i1gIvuaflw==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@yuku-codegen/binding-linux-arm-musl@0.7.2': + resolution: {integrity: sha512-6NLPG63+jwW7EoUNJavgEL19qCq9EcWMrc2cO1kvxz7kpZgowynxTQQAof8bdYfMtnE+y25xhERhNsIIhq/m2w==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@yuku-codegen/binding-linux-arm64-gnu@0.7.2': + resolution: {integrity: sha512-XyEc+b0Wk3KvurEQhmqYcYJJbjhXOgR+pdDezslieIRsRvfvNQRN1FtNkRwnQ6WXcAC+ERcho1Ab25j9HANRrA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@yuku-codegen/binding-linux-arm64-musl@0.7.2': + resolution: {integrity: sha512-0oN2QWP1sI+win7XMkVkuQErTm8bWcDlWdrxc2JvsHanc5vrLYHyBo+Mg9n5/eXA0WcJ7KlURBm4LnVSf1s1KA==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@yuku-codegen/binding-linux-x64-gnu@0.7.2': + resolution: {integrity: sha512-S7zDIlyjJuah+UgWpskVicRL0beMQTbZyuqJDBOQ/px9BxLypVM84JawWoqI0nHdrpq77NsMnG8NzKVMmJbcMw==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@yuku-codegen/binding-linux-x64-musl@0.7.2': + resolution: {integrity: sha512-cB6bkjdEJvoJTTNAwBgPTtzpASPQj1lu0RpET9rEF0SOEOrnNtl+7Zbh5WxiMOvm/JWsyd1bYHCvkfoxRyiMMw==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@yuku-codegen/binding-win32-arm64@0.7.2': + resolution: {integrity: sha512-+rwuttTJiz6iRyJ+1VllG8hZ+WxryI6eLcGmFVPyh6r84XcX4GuxlllY5ZW0kC/kBJqW+DjpKCca3LLu1BIAsA==} + cpu: [arm64] + os: [win32] + + '@yuku-codegen/binding-win32-x64@0.7.2': + resolution: {integrity: sha512-WE0QHGXNKYYkOUuunI82bTj4GYDVT8uoOvUC7101h1CCCwRKTWx4Pd8pZS5O0VHV+q1vi2hloPqHNkYSYy+pJQ==} + cpu: [x64] + os: [win32] + + '@yuku-parser/binding-darwin-arm64@0.7.2': + resolution: {integrity: sha512-EFbKdlDpz6xqGU28dwn/KzuCgVHWIEizAgxSd+EZVss71fjxHa8EdZDj2AY0GlxXhbaFGznlptedDmlWgZdAkQ==} + cpu: [arm64] + os: [darwin] + + '@yuku-parser/binding-darwin-x64@0.7.2': + resolution: {integrity: sha512-f2BMrEaBN3pd5R8Veu6USW6fXb4vmIuPU4onrdYN3wf84sWAK0Ua+wLIffumDCCvoI6iNs/ismJPqt8LKH9tig==} + cpu: [x64] + os: [darwin] + + '@yuku-parser/binding-freebsd-x64@0.7.2': + resolution: {integrity: sha512-aQCulS5ZyJFGqOOXF8kDheKI3JRkblEufAtLP621+vEL9NvCD5kngcAa41WQjM+dPv/cxiwkmyZB+S280RZOHA==} + cpu: [x64] + os: [freebsd] + + '@yuku-parser/binding-linux-arm-gnu@0.7.2': + resolution: {integrity: sha512-rKzWCf/64B8MflUcyfn57NUO81a3xhKh40GCCEeXQH4mAXH6TUBm3cXxqSbH47dFzWI7kt1BxrWpUNHpllpIaw==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-arm-musl@0.7.2': + resolution: {integrity: sha512-VTAC4uJQTp5hM8iF4+7Nrc3HCRBz/cP4YxEssSS2xZiJlqutdK13obQy98iGhIsJoM5DNjuyeNtGsC6DuXhgmg==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-linux-arm64-gnu@0.7.2': + resolution: {integrity: sha512-lDAgSyYjiHGZ1dmT7frR8IHJgd7TPfAVaHUatl1jz+8VwXbmUXNiSQc7jw+LhZKTT1YR5vNz7xGat8YNQXFuNg==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-arm64-musl@0.7.2': + resolution: {integrity: sha512-UjWmH4B+GE7aRbVZm/2TzZa9+hxIe4ZG1g1HbPW0J8+x+MJuK9lP07jOkfJOukFXEGeWj++DTIP4uubS+FTuFQ==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-linux-x64-gnu@0.7.2': + resolution: {integrity: sha512-7AN1KPO66eKf4HJvkBMJ9GkceQ0tdeKwYD9o/377Ezaw33NbzswL2xr6cuS7R/40XyY9tn6GKAgdu54/Qmm/1g==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-x64-musl@0.7.2': + resolution: {integrity: sha512-9XdmW6lB4MbQXbPEwsIch8IiEfDRLPeE3gTVirHtMIhg1n19/+o96D//hQZl++q90nJcJQFXvoiQEzZ4zzUtUA==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-win32-arm64@0.7.2': + resolution: {integrity: sha512-57zR6ezG5ljh+KxX3nVrTBTKZUIEZi1LwctTb0ryNhDMDhEQQx4U7hHO5c0pDHTrSwiRYoqXeeGiKdWCASMH+Q==} + cpu: [arm64] + os: [win32] + + '@yuku-parser/binding-win32-x64@0.7.2': + resolution: {integrity: sha512-9G7Cw6TbwqFAgMIGbZGnfT3KlHkGE40Y5uZmYOKsYYpSsQAMR5rRiem6BzUTRymDtmfyLW7/apFgMmj5a3fXJw==} + cpu: [x64] + os: [win32] + + '@yuku-toolchain/types@0.6.11': + resolution: {integrity: sha512-i1JYFNJaKNCgyJ/nVoR8GK7wvlXF+ShYzFHBauWcvg8IoiXInK7pVziHcgNz/MWLPNr/Mb/CtmXccrJMkKqSHQ==} + + '@yuku-toolchain/types@0.6.8': + resolution: {integrity: sha512-AbUd1775RVkOxJkh8hkldIWoU6kRMTCsZFSZq8Ny53q7GkbaVe5UCfleNZ3RWCoz/ZKE8qwfeB7Cj0xqhLWsKA==} + + '@yuku-toolchain/types@0.7.2': + resolution: {integrity: sha512-9zl3G+nhrY4RqV+UJs4eVJVQGC9clmiSZ2xpqJngiD9eccGXBa/kgfQr5wpVIPu6zWZU2B9rP2kAp6sRQVMBzg==} + '@zeit/schemas@2.36.0': resolution: {integrity: sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==} @@ -6821,33 +6191,20 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.1.0: - resolution: {integrity: sha512-mjmzmv12YIG/G8JQdQuz2MUDShEJ6teYpT5bmWA4q7iwoGen8xtt3twF3OvzIUl+Q06aWIjvnwQUKvQ6TtMRjg==} + acorn-walk@8.3.5: + resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} engines: {node: '>=0.4.0'} - acorn-walk@8.3.4: - resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} - engines: {node: '>=0.4.0'} - - acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.16.0: resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} engines: {node: '>=0.4.0'} hasBin: true - acorn@8.3.0: - resolution: {integrity: sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==} + acorn@8.17.0: + resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==} engines: {node: '>=0.4.0'} hasBin: true - address@1.1.2: - resolution: {integrity: sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==} - engines: {node: '>= 0.12.0'} - agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -6856,35 +6213,17 @@ packages: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} - aggregate-error@4.0.1: - resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} - engines: {node: '>=12'} - - ai@6.0.187: - resolution: {integrity: sha512-+0SWsOnrZ1CvfMeLUMBTd5L3ytf82FuL9VyJnaw475P78CUbvudZ1Jj/x/kmu3xE8ECoLqyu9Mn3LmuAjjbLIg==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - ai@6.0.33: resolution: {integrity: sha512-bVokbmy2E2QF6Efl+5hOJx5MRWoacZ/CZY/y1E+VcewknvGlgaiCzMu8Xgddz6ArFJjiMFNUPHKxAhIePE4rmg==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - airbnb-prop-types@2.16.0: - resolution: {integrity: sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg==} - deprecated: This package has been renamed to 'prop-types-tools' - peerDependencies: - react: ^0.14 || ^15.0.0 || ^16.0.0-alpha - - ajv-draft-04@1.0.0: - resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} + ai@7.0.34: + resolution: {integrity: sha512-jDqclWYqPGFKcUG4CQiKcBiwi5XqVMqvYy6eJdujVpvE1SDoB6j7RtjrGYz3Bn5B1dzTj1StAlrOebY//WK9/Q==} + engines: {node: '>=22'} peerDependencies: - ajv: ^8.5.0 - peerDependenciesMeta: - ajv: - optional: true + zod: ^3.25.76 || ^4.1.8 ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} @@ -6907,18 +6246,9 @@ packages: peerDependencies: ajv: ^8.8.2 - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - - ajv@6.14.0: - resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} - ajv@6.15.0: resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} - ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - ajv@8.18.0: resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} @@ -6928,9 +6258,6 @@ packages: alphanum-sort@1.0.2: resolution: {integrity: sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==} - already@2.2.1: - resolution: {integrity: sha512-qk6RIVMS/R1yTvBzfIL1T76PsIL7DIVCINoLuFw2YXKLpLtsTobqdChMs8m3OhuPS3CEE3+Ra5ibYiqdyogbsQ==} - amp-message@0.1.2: resolution: {integrity: sha512-JqutcFwoU1+jhv7ArgW38bqrE+LQdcRv4NxNw0mp0JHQyB6tXesWRjtYKlDgHRY2o3JE5UTaBGUK8kSWUdxWUg==} @@ -6952,14 +6279,6 @@ packages: resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} engines: {node: '>=18'} - ansi-red@0.1.1: - resolution: {integrity: sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==} - engines: {node: '>=0.10.0'} - - ansi-regex@2.1.1: - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} - engines: {node: '>=0.10.0'} - ansi-regex@4.1.1: resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} engines: {node: '>=6'} @@ -6972,10 +6291,6 @@ packages: resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} - ansi-styles@2.2.1: - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} - engines: {node: '>=0.10.0'} - ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -6992,16 +6307,12 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} - ansi-wrap@0.1.0: - resolution: {integrity: sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==} - engines: {node: '>=0.10.0'} + ansis@4.0.0-node10: + resolution: {integrity: sha512-BRrU0Bo1X9dFGw6KgGz6hWrqQuOlVEDOzkb0QSLZY9sXHqA7pNj7yHPVJRz7y/rj4EOJ3d/D5uxH+ee9leYgsg==} + engines: {node: '>=10'} - ansis@4.2.0: - resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} - engines: {node: '>=14'} - - ansis@4.3.0: - resolution: {integrity: sha512-44mvgtPvohuU/70DdY5Oz2AIrLJ9k6/5x4KmoSvPwO+5Moijo0+N9D0fKbbYZQWP1hNm5CpOf+E01jhxG/r8xg==} + ansis@4.3.1: + resolution: {integrity: sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA==} engines: {node: '>=14'} anymatch@3.1.3: @@ -7023,20 +6334,9 @@ packages: append-field@1.0.0: resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==} - aproba@1.2.0: - resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} - arch@2.2.0: resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} - archive-type@4.0.0: - resolution: {integrity: sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==} - engines: {node: '>=4'} - - are-we-there-yet@1.1.7: - resolution: {integrity: sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==} - deprecated: This package is no longer supported. - arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -7056,45 +6356,25 @@ packages: aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - arr-diff@4.0.0: - resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} - engines: {node: '>=0.10.0'} - - arr-flatten@1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} - arr-union@3.1.0: resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} engines: {node: '>=0.10.0'} - array-back@3.1.0: - resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} - engines: {node: '>=6'} - array-back@4.0.2: resolution: {integrity: sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==} engines: {node: '>=8'} - array-back@6.2.2: - resolution: {integrity: sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==} + array-back@6.2.3: + resolution: {integrity: sha512-SGDvmg6QTYiTxCBkYVmThcoa67uLl35pyzRHdpCGBOcqFy6BtwnphoFPk7LhJshD+Yk1Kt35WGWeZPTgwR4Fhw==} engines: {node: '>=12.17'} array-buffer-byte-length@1.0.2: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} - array-find-index@1.0.2: - resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==} - engines: {node: '>=0.10.0'} - array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - array-union@1.0.2: - resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} - engines: {node: '>=0.10.0'} - array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -7103,26 +6383,6 @@ packages: resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} engines: {node: '>=0.10.0'} - array-unique@0.3.2: - resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} - engines: {node: '>=0.10.0'} - - array.prototype.filter@1.0.4: - resolution: {integrity: sha512-r+mCJ7zXgXElgR4IRC+fkvNCeoaavWBs6EdCso5Tbcf+iEMKzBU/His60lt34WEZ9vlb8wDkZvQGcVI5GwkfoQ==} - engines: {node: '>= 0.4'} - - array.prototype.find@2.2.3: - resolution: {integrity: sha512-fO/ORdOELvjbbeIfZfzrXFMhYHGofRGqd+am9zm3tZ4GlJINj/pA2eITyfd65Vg6+ZbHd/Cys7stpoRSWtQFdA==} - engines: {node: '>= 0.4'} - - array.prototype.flat@1.3.3: - resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} - engines: {node: '>= 0.4'} - - array.prototype.map@1.0.8: - resolution: {integrity: sha512-YocPM7bYYu2hXGxWpb5vwZ8cMeudNHYtYBcUDY4Z1GWa53qcnQMWSl25jeBHNzitjl9HW2AWW4ro/S/nftUaOQ==} - engines: {node: '>= 0.4'} - array.prototype.reduce@1.0.8: resolution: {integrity: sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw==} engines: {node: '>= 0.4'} @@ -7131,10 +6391,6 @@ packages: resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} engines: {node: '>= 0.4'} - arrgv@1.0.2: - resolution: {integrity: sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw==} - engines: {node: '>=8.0.0'} - arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} @@ -7143,29 +6399,13 @@ packages: resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} engines: {node: '>=8'} - arrify@3.0.0: - resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} - engines: {node: '>=12'} - - asn1@0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} - - assert-plus@1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - assign-symbols@1.0.0: - resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} - engines: {node: '>=0.10.0'} - - ast-kit@3.0.0-beta.1: - resolution: {integrity: sha512-trmleAnZ2PxN/loHWVhhx1qeOHSRXq4TDsBBxq3GqeJitfk3+jTQ+v/C1km/KYq9M7wKqCewMh+/NAvVH7m+bw==} - engines: {node: '>=20.19.0'} - ast-types@0.13.4: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} @@ -7174,10 +6414,6 @@ packages: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} - astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - astring@1.9.0: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true @@ -7186,17 +6422,8 @@ packages: resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} engines: {node: '>= 0.4'} - async-limiter@1.0.1: - resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} - - async-mutex@0.3.1: - resolution: {integrity: sha512-vRfQwcqBnJTLzVQo72Sf7KIUbcSUP5hNchx6udI1U6LuPQpfePgdjJzlCe76yFZ8pxlLjn9lwcl/Ya0TSOv0Tw==} - - async-retry@1.3.3: - resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} - - async@0.1.22: - resolution: {integrity: sha512-2tEzliJmf5fHNafNwQLJXUasGzQCVctvsNkXmnlELHwypU0p08/rHohYvkqKIjyXpx+0rkrYv6QbhJ+UF4QkBg==} + async-mutex@0.5.0: + resolution: {integrity: sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==} async@2.6.4: resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} @@ -7216,67 +6443,37 @@ packages: engines: {node: '>= 4.5.0'} hasBin: true + atomically@1.7.0: + resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} + engines: {node: '>=10.12.0'} + auto-bind@5.0.1: resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - auto-changelog@2.5.0: - resolution: {integrity: sha512-UTnLjT7I9U2U/xkCUH5buDlp8C7g0SGChfib+iDrJkamcj5kaMqNKHNfbKJw1kthJUq8sUo3i3q2S6FzO/l/wA==} - engines: {node: '>=8.3'} - hasBin: true - - autolinker@0.28.1: - resolution: {integrity: sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ==} - - autolinker@3.16.2: - resolution: {integrity: sha512-JiYl7j2Z19F9NdTmirENSUUIIL/9MytEWtmzhfmsKPCp9E+G35Y0UNCMoM9tFigxT59qSc8Ml2dlZXOCVTYwuA==} - - autoprefixer@10.4.22: - resolution: {integrity: sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==} + autoprefixer@10.5.4: + resolution: {integrity: sha512-MaU0U/za7N3r6brxD4YB/l4NSrFzLPlANv6wEuQVaIPlD3L4W9rFcQPbL/EilY9BHhHvhfcz3gInDLrEtWT4EA==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 - autoprefixer@9.8.8: - resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==} - hasBin: true - - ava@5.3.1: - resolution: {integrity: sha512-Scv9a4gMOXB6+ni4toLuhAm9KYWEjsgBglJl+kMGI5+IVDt120CCDZyB5HNU9DjmLI2t4I0GbnxGLmmRfGTJGg==} - engines: {node: '>=14.19 <15 || >=16.15 <17 || >=18'} - hasBin: true - peerDependencies: - '@ava/typescript': '*' - peerDependenciesMeta: - '@ava/typescript': - optional: true - available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - awesome-ajv-errors@1.0.1: - resolution: {integrity: sha512-19e459S4ghWjDPR8VMdFzhnNBK2RhnW2n0J4f7A3DQsednwAfplQwYqAIRdlDsPrILuHHVvAL2tX7Zj2dnFMLw==} - engines: {node: '>=10'} - peerDependencies: - ajv: ^6 || ^7 - - aws-sign2@0.7.0: - resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - aws4@1.13.2: resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} - axios@0.21.1: - resolution: {integrity: sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==} - axios@0.21.4: resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} axios@0.26.1: resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} + axios@1.16.0: + resolution: {integrity: sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==} + axios@1.18.1: resolution: {integrity: sha512-3nTvFlvpn9Zu/RkHUqtc7/+al4UpRW5az71ap5zccp6e8RAYEzhMTecX8Dz1wWDYrPpUoB1HAQEGEAEvUr7S9g==} @@ -7288,27 +6485,16 @@ packages: react-native-b4a: optional: true - babel-dead-code-elimination@1.0.12: - resolution: {integrity: sha512-GERT7L2TiYcYDtYk1IpD+ASAYXjKbLTDPhBtYj7X1NuRMDTMtAx9kyBenub1Ev41lo91OHCKdmP+egTDmfQ7Ig==} - - babel-plugin-polyfill-corejs2@0.4.14: - resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-corejs3@0.13.0: - resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} + b4a@1.8.1: + resolution: {integrity: sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==} peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-regenerator@0.6.5: - resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + react-native-b4a: '*' + peerDependenciesMeta: + react-native-b4a: + optional: true - babylon@6.18.0: - resolution: {integrity: sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==} - hasBin: true + babel-dead-code-elimination@1.0.12: + resolution: {integrity: sha512-GERT7L2TiYcYDtYk1IpD+ASAYXjKbLTDPhBtYj7X1NuRMDTMtAx9kyBenub1Ev41lo91OHCKdmP+egTDmfQ7Ig==} bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -7328,6 +6514,14 @@ packages: bare-abort-controller: optional: true + bare-events@2.9.1: + resolution: {integrity: sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg==} + peerDependencies: + bare-abort-controller: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + bare-fs@4.5.2: resolution: {integrity: sha512-veTnRzkb6aPHOvSKIOy60KzURfBdUflr5VReI+NSaPL6xf+XLdONQgZgpYvUuZLVQ8dCqxpBAudaOM1+KpAUxw==} engines: {bare: '>=1.16.0'} @@ -7337,6 +6531,15 @@ packages: bare-buffer: optional: true + bare-fs@4.7.4: + resolution: {integrity: sha512-y1kC+ffIx/tPLdTE693uNjHfzTfr+ravR5tvWlMXe25nELbkqV400S71qHDwbkAQ1FVEZobB1NFRzFbCCcyBCQ==} + engines: {bare: '>=1.16.0'} + peerDependencies: + bare-buffer: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + bare-os@3.6.2: resolution: {integrity: sha512-T+V1+1srU2qYNBmJCXZkUY5vQ0B4FSlL3QDROnKQYOqeiQR8UbjNHlPa+TIbM4cuidiN9GaTaOZgSEgsvPbh5A==} engines: {bare: '>=1.14.0'} @@ -7344,6 +6547,23 @@ packages: bare-path@3.0.0: resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} + bare-path@3.1.1: + resolution: {integrity: sha512-JprUlveX3QjApC1cTpsUOiscADftCGVWkzitbHsRqv84hzYwYHw2mbluddsq5TvI8mH/8Ov1f4BiMAdcB0oYnQ==} + + bare-stream@2.13.3: + resolution: {integrity: sha512-Kc+brLqvEqGkjyfiwJmImAOqLZL7OsoLKuavx+hJjgVV3nLTOjloJyPMFxjUPerGGHrNH0fLU06jjykMLWrERQ==} + peerDependencies: + bare-abort-controller: '*' + bare-buffer: '*' + bare-events: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + bare-buffer: + optional: true + bare-events: + optional: true + bare-stream@2.7.0: resolution: {integrity: sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A==} peerDependencies: @@ -7358,6 +6578,9 @@ packages: bare-url@2.3.2: resolution: {integrity: sha512-ZMq4gd9ngV5aTMa5p9+UfY0b3skwhHELaDkhEHetMdX0LRkW9kzaym4oo/Eh+Ghm0CCDuMTsRIGM/ytUc1ZYmw==} + bare-url@2.4.5: + resolution: {integrity: sha512-K+y9xF1tN+CdPu4qWwr0QiK1Al07eFPGYK5M2pDXcmHdMdgC/tT/bpmMe1hrmRHaidKLkXrC+cRNYf3XVDUhSQ==} + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -7365,46 +6588,25 @@ packages: resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} engines: {node: ^4.5.0 || >= 5.9} - base@0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} - - baseline-browser-mapping@2.10.31: - resolution: {integrity: sha512-MujYO3eP72uvmSE0i4wltsodRfIpZATP3jvzRNRGGxgzId7aVocVJJV3nf01qnzzKFGxQVC9bpWxl5cjxTr/7Q==} + baseline-browser-mapping@2.10.44: + resolution: {integrity: sha512-T3ghW+sl/ZJ8w1v/yQx3qvJ9040DWoLBz8JT/CILbAKcFyG9b2MRe75v6W5uXjv6uH1lumK2Kv46y2zSkcej0Q==} engines: {node: '>=6.0.0'} hasBin: true - baseline-browser-mapping@2.9.6: - resolution: {integrity: sha512-v9BVVpOTLB59C9E7aSnmIF8h7qRsFpx+A2nugVMTszEOMcfjlZMsXRm4LF23I3Z9AJxc8ANpIvzbzONoX9VJlg==} - hasBin: true - basic-auth@2.0.1: resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} engines: {node: '>= 0.8'} - basic-ftp@5.0.5: - resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} + basic-ftp@5.3.1: + resolution: {integrity: sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==} engines: {node: '>=10.0.0'} - deprecated: Security vulnerability fixed in 5.2.1, please upgrade - - bcrypt-pbkdf@1.0.2: - resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} - - bcrypt@3.0.6: - resolution: {integrity: sha512-taA5bCTfXe7FUjKroKky9EXpdhkVvhE5owfxfLYodbrAR1Ul3juLmIQmIQBK4L9a5BuUcE6cqmwT+Da20lF9tg==} - engines: {node: '>= 6.0.0'} - deprecated: versions < v5.0.0 do not handle NUL in passwords properly - - bcrypt@3.0.8: - resolution: {integrity: sha512-jKV6RvLhI36TQnPDvUFqBEnGX9c8dRRygKxCZu7E+MgLfKZbmmXL8a7/SFFOyHoPNX9nV81cKRC5tbQfvEQtpw==} - engines: {node: '>= 6.0.0'} - deprecated: versions < v5.0.0 do not handle NUL in passwords properly bcryptjs@2.4.3: resolution: {integrity: sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==} - before-after-hook@2.2.3: - resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} + bcryptjs@3.0.3: + resolution: {integrity: sha512-GlF5wPWnSa/X5LKM1o0wz0suXIINz1iHRLvTS+sLyi7XPbe5ycmYI3DlZqVGZZtDgl4DmasFg7gOB3JYbphV5g==} + hasBin: true better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} @@ -7413,87 +6615,37 @@ packages: bidi-js@1.0.3: resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==} - big-integer@1.6.52: - resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} - engines: {node: '>=0.6'} - big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - bin-build@3.0.0: - resolution: {integrity: sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==} - engines: {node: '>=4'} - - bin-check@4.1.0: - resolution: {integrity: sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==} - engines: {node: '>=4'} - - bin-version-check@4.0.0: - resolution: {integrity: sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==} - engines: {node: '>=6'} - - bin-version@3.1.0: - resolution: {integrity: sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==} - engines: {node: '>=6'} - - bin-wrapper@4.1.0: - resolution: {integrity: sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==} - engines: {node: '>=6'} - binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - binary@0.3.0: - resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==} - bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} bintrees@1.0.2: resolution: {integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==} - birpc@4.0.0: - resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==} - - bl@1.2.3: - resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} - - bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + bl@6.1.6: + resolution: {integrity: sha512-jLsPgN/YSvPUg9UX0Kd73CXpm2Psg9FxMeCSXnk3WBO3CMT10JMwijubhGfHCnFu6TPn1ei3b975dxv7K2pWVg==} blake3-wasm@2.1.5: resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} - blessed@0.1.81: - resolution: {integrity: sha512-LoF5gae+hlmfORcG1M5+5XZi4LBmvlXTzwJWzUlPryN/SJdSflZvROM2TwkT0GMpq7oqT48NRd4GS7BiVBc5OQ==} - engines: {node: '>= 0.8.0'} - hasBin: true - - bluebird@3.4.7: - resolution: {integrity: sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==} - - blueimp-md5@2.19.0: - resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} - - bodec@0.1.0: - resolution: {integrity: sha512-Ylo+MAo5BDUq1KA3f3R/MFhh+g8cnHmo8bz3YPGhI1znrMaf77ol1sfvYJzsw3nTE+Y2GryfDxBaR+AqpAkEHQ==} - - body-parser@1.19.0: - resolution: {integrity: sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==} - engines: {node: '>= 0.8'} + body-parser@1.20.5: + resolution: {integrity: sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - body-parser@1.20.4: - resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} + body-parser@1.20.6: + resolution: {integrity: sha512-p5tAzS57i5MV9fZFDj9LeIiTZEufbSe2eDozP+ElheSUq1m74CRq1jI4mYNDdVs9vQztXFLuk/Gd6BWTdwRJ5g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - body-parser@2.2.2: - resolution: {integrity: sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==} + body-parser@2.3.0: + resolution: {integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==} engines: {node: '>=18'} - body@5.1.0: - resolution: {integrity: sha512-chUsBxGRtuElD6fmw1gHLpvnKdVLK302peeFa9ZqAEk8TyzZ3fygLyUEDDPTJvL9+Bor0dIwn6ePOsRM2y0zQQ==} - boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -7505,61 +6657,35 @@ packages: resolution: {integrity: sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==} engines: {node: '>=14.16'} - brace-expansion@1.1.12: - resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} - - brace-expansion@1.1.14: - resolution: {integrity: sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==} + boxen@8.0.1: + resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==} + engines: {node: '>=18'} - brace-expansion@2.0.2: - resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + brace-expansion@1.1.16: + resolution: {integrity: sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==} - brace-expansion@5.0.5: - resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} + brace-expansion@5.0.7: + resolution: {integrity: sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==} engines: {node: 18 || 20 || >=22} - braces@2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} - braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.14.2: - resolution: {integrity: sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - browserslist@4.28.1: - resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + broker-factory@3.1.15: + resolution: {integrity: sha512-ko+aWvgNuP49meGrdjUu7rC+Y+Wai3cCPxP3xWwHsHfehFjOh5ZQM2yC4gEB2UddeZ/YXhm0K1eG/L6fxym2Og==} - browserslist@4.28.2: - resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} + browserslist@4.28.6: + resolution: {integrity: sha512-FQBYNK15VMslhLHpA7+n+n1GOlF1kId2xcCg7/j95f24AOF6VDYMNH4mFxF7KuaTdv627faazpOAjFzMrfJOUw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - buffer-alloc-unsafe@1.1.0: - resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} - - buffer-alloc@1.2.0: - resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} - buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - buffer-fill@1.0.0: - resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} - buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - buffer-indexof-polyfill@1.0.2: - resolution: {integrity: sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==} - engines: {node: '>=0.10'} - buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -7570,29 +6696,22 @@ packages: resolution: {integrity: sha512-asncN5SO1YOZLCV3u26XtrbF9QXhSyq01nQOc1TFt9/gfOn7feOGJoVKk5Ewtj7wvFGPH/eGSKZ5qq/A4/PPfw==} engines: {node: '>= 0.8.0'} - buffers@0.1.1: - resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==} - engines: {node: '>=0.2.0'} - bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} - busboy@0.2.14: - resolution: {integrity: sha512-InWFDomvlkEj+xWLBfU3AvnbVYqeTWmQopiW0tWWEy5yehYm2YkGEc59sUmw/4ty5Zj/b0WHGs1LgecuBSBGrg==} - engines: {node: '>=0.8.0'} + busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} - bytes@1.0.0: - resolution: {integrity: sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ==} + byte-counter@0.1.0: + resolution: {integrity: sha512-jheRLVMeUKrDBjVw2O5+k4EvR4t9wtxHL+bo/LxfkxsVeuGMy3a5SEGgXdAFA4FSzTrU8rQXQIrsZ3oBq5a0pQ==} + engines: {node: '>=20'} bytes@3.0.0: resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} engines: {node: '>= 0.8'} - bytes@3.1.0: - resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} - engines: {node: '>= 0.8'} - bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} @@ -7601,14 +6720,18 @@ packages: resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==} engines: {node: '>=20.19.0'} - cache-base@1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} - cacheable-lookup@5.0.4: resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} engines: {node: '>=10.6.0'} + cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + + cacheable-request@13.0.19: + resolution: {integrity: sha512-SVXGH037+Mo1aIMO5B2UcleR43FGjFdN+M8JObSyEoQ2Mn4CODRWx28gN5jiTF0n5ItsgtIZfyargMNs8GX4kg==} + engines: {node: '>=18'} + cacheable-request@2.1.4: resolution: {integrity: sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==} @@ -7624,20 +6747,14 @@ packages: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} - call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + call-bind@1.0.9: + resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} engines: {node: '>= 0.4'} call-bound@1.0.4: resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} engines: {node: '>= 0.4'} - call-me-maybe@1.0.2: - resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} - - callback-stream@1.1.0: - resolution: {integrity: sha512-sAZ9kODla+mGACBZ1IpTCAisKoGnv6PykW7fPk1LrM+mMepE18Yz0515yoVcrZy7dQsTUp3uZLQ/9Sx1RnLoHw==} - caller-callsite@2.0.0: resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} engines: {node: '>=4'} @@ -7654,25 +6771,13 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - callsites@4.2.0: - resolution: {integrity: sha512-kfzR4zzQtAE9PC7CzZsjl3aBNbXWuXiSeOCdLcPpBfGW8YuCqQHcRPFDbr/BPVmd3EEPVpuFzLyuT/cUhPr4OQ==} - engines: {node: '>=12.20'} - camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} - camelcase-keys@2.1.0: - resolution: {integrity: sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==} - engines: {node: '>=0.10.0'} - camelcase-keys@6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} engines: {node: '>=8'} - camelcase@2.1.1: - resolution: {integrity: sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==} - engines: {node: '>=0.10.0'} - camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -7685,29 +6790,19 @@ packages: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} + camelcase@8.0.0: + resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} + engines: {node: '>=16'} + caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001760: - resolution: {integrity: sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==} - - caniuse-lite@1.0.30001793: - resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} + caniuse-lite@1.0.30001806: + resolution: {integrity: sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==} capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} - caseless@0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - - caw@2.0.1: - resolution: {integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==} - engines: {node: '>=4'} - - cbor@8.1.0: - resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} - engines: {node: '>=12.19'} - ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -7720,17 +6815,10 @@ packages: resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} - chainsaw@0.1.0: - resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==} - chalk-template@0.4.0: resolution: {integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==} engines: {node: '>=12'} - chalk@1.1.3: - resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} - engines: {node: '>=0.10.0'} - chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -7754,9 +6842,8 @@ packages: change-case@4.1.2: resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} - changelog-parser@2.8.1: - resolution: {integrity: sha512-tNUYFRCEeWTXmwLqoNtOEzx9wcytg72MmGQqsEs14ClYwIDln7sbQw7FJj/dulXgSlsxkemc9gpPQhZYZx1TPw==} - hasBin: true + change-case@5.4.4: + resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -7770,62 +6857,42 @@ packages: character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - - chardet@2.1.1: - resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} - - charm@0.1.2: - resolution: {integrity: sha512-syedaZ9cPe7r3hoQA9twWYKu5AIyCswN5+szkmPBe9ccdLrj4bYaCnLVPTLd2kgVRc7+zoX4tyPgRnFKCj5YjQ==} + chardet@2.2.0: + resolution: {integrity: sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==} charset@1.0.1: resolution: {integrity: sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==} engines: {node: '>=4.0.0'} - cheerio-select@2.1.0: - resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + cheerio-select@1.6.0: + resolution: {integrity: sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==} - cheerio@0.22.0: - resolution: {integrity: sha512-8/MzidM6G/TgRelkzDG13y3Y9LxBjCb+8yOEZ9+wwq5gVF2w2pV0wmHvjfT0RvuxGyR7UEuK36r+yYMbT4uKgA==} - engines: {node: '>= 0.6'} - - cheerio@1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + cheerio@1.0.0-rc.10: + resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} engines: {node: '>= 6'} - cheerio@1.1.2: - resolution: {integrity: sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==} - engines: {node: '>=20.18.1'} - - cheerio@1.2.0: - resolution: {integrity: sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==} - engines: {node: '>=20.18.1'} - chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - chokidar@4.0.3: - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} - engines: {node: '>= 14.16.0'} - chokidar@5.0.0: resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} engines: {node: '>= 20.19.0'} - chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - - chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} chrome-launcher@0.15.2: resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} engines: {node: '>=12.13.0'} hasBin: true + chrome-launcher@1.2.1: + resolution: {integrity: sha512-qmFR5PLMzHyuNJHwOloHPAHhbaNglkfeV/xDtt5b7xiFFyU1I+AZZX0PYseMuhenJSSirgxELYIbswcoc+5H4A==} + engines: {node: '>=12.13.0'} + hasBin: true + chrome-trace-event@1.0.4: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} @@ -7840,8 +6907,11 @@ packages: peerDependencies: devtools-protocol: '*' - chunkd@2.0.1: - resolution: {integrity: sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==} + chromium-bidi@16.0.1: + resolution: {integrity: sha512-J63PGu/9PpeCwLIcKYyzWP6yaVL5pxuBc0shlYCYM8BaAkmlwiQboXO1iNbOgSDbVklEyYFfNEcHD8oOAWacUA==} + engines: {node: '>=20.19.0 <22.0.0 || >=22.12.0'} + peerDependencies: + devtools-protocol: '*' ci-info@2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} @@ -7850,27 +6920,9 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - ci-parallel-vars@1.0.1: - resolution: {integrity: sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==} - - class-utils@0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} - class-variance-authority@0.7.1: resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} - classnames@2.5.1: - resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} - - clean-stack@4.2.0: - resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} - engines: {node: '>=12'} - - clean-yaml-object@0.1.0: - resolution: {integrity: sha512-3yONmlN9CSAkzNwnRCiJQ7Q2xK5mWuEfL3PuTZcAUzhObbXsfsnMptJzXwz93nc5zn9V9TwCVMmV7w4xsm43dw==} - engines: {node: '>=0.10.0'} - cli-boxes@2.2.1: resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} engines: {node: '>=6'} @@ -7879,9 +6931,9 @@ packages: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} - cli-cursor@2.1.0: - resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} - engines: {node: '>=4'} + cli-boxes@4.0.1: + resolution: {integrity: sha512-5IOn+jcCEHEraYolBPs/sT4BxYCe2nHg374OPiItB1O96KZFseS2gthU4twyYzeDcFew4DaUM/xwc5BQf08JJw==} + engines: {node: '>=18.20 <19 || >=20.10'} cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} @@ -7895,14 +6947,14 @@ packages: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} - cli-spinners@1.3.1: - resolution: {integrity: sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==} - engines: {node: '>=4'} - cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} + cli-spinners@3.4.0: + resolution: {integrity: sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==} + engines: {node: '>=18.20'} + cli-table@0.3.11: resolution: {integrity: sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==} engines: {node: '>= 0.2.0'} @@ -7911,17 +6963,9 @@ packages: resolution: {integrity: sha512-he+WTicka9cl0Fg/y+YyxcN6/bfQ/1O3QmgxRXDhABKqLzvoOSM4fMzp39uMyLBulAFuywD2N7UaoQE7WaADxQ==} engines: {node: '>=8.10.0'} - cli-truncate@3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - cli-truncate@4.0.0: - resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} - engines: {node: '>=18'} - - cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} + cli-truncate@6.1.1: + resolution: {integrity: sha512-06p9vyLahLa4zkGcgsGxU6iEkSOiuI4fhCH6Emhe2lPAcoUv73n72DnODsnHA+5wwXGnV0n9M9/qOQJSjYhFhw==} + engines: {node: '>=22'} cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} @@ -7949,9 +6993,9 @@ packages: resolution: {integrity: sha512-we+NuQo2DHhSl+DP6jlUiAhyAjBQrYnpOk15rN6c6JSPScjiCLh8IbSU+VTcph6YS3o7mASE8a0+gbZ7ChLpgg==} engines: {node: '>=0.10.0'} - clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} - engines: {node: '>=6'} + clone-regexp@3.0.0: + resolution: {integrity: sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw==} + engines: {node: '>=12'} clone-response@1.0.2: resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==} @@ -7959,10 +7003,6 @@ packages: clone-response@1.0.3: resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - clone@2.1.2: resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} engines: {node: '>=0.8'} @@ -7971,10 +7011,22 @@ packages: resolution: {integrity: sha512-v2Hxnm9uZsc3ub4hf7xEzn1MSovY2mGZR2SB/xrvMuV6l+YfFLbE8KYPNuEdpFOS6sWldOvy/bpNhKvMQKsM+Q==} hasBin: true + cloudflared@0.7.1: + resolution: {integrity: sha512-jJn1Gu9Tf4qnIu8tfiHZ25Hs8rNcRYSVf8zAd97wvYdOCzftm1CTs1S/RPhijjGi8gUT1p9yzfDi9zYlU/0RwA==} + hasBin: true + clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} + cluster-key-slot@1.1.1: + resolution: {integrity: sha512-rwHwUfXL40Chm1r08yrhU3qpUvdVlgkKNeyeGPOxnW8/SyVDvgRaed/Uz54AqWNaTCAThlj6QAs3TZcKI0xDEw==} + engines: {node: '>=0.10.0'} + + cnfast@0.0.8: + resolution: {integrity: sha512-EjXKMfGfdwtV4AcNSQ6AwQaVzpC1B7IxeiwA3FlhTXz+YFlMKVi4c1JX9tgD2QOlahQXjB8KUXrBaYG+3v871Q==} + hasBin: true + coa@2.0.2: resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==} engines: {node: '>= 4.0'} @@ -7985,31 +7037,13 @@ packages: code-block-writer@13.0.3: resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} - code-error-fragment@0.0.230: - resolution: {integrity: sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==} - engines: {node: '>= 4'} - code-excerpt@4.0.0: resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - code-point-at@1.1.0: - resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} - engines: {node: '>=0.10.0'} - - coffee-script@1.12.7: - resolution: {integrity: sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==} - engines: {node: '>=0.8.0'} - deprecated: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) - hasBin: true - collapse-white-space@2.1.0: resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} - collection-visit@1.0.0: - resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} - engines: {node: '>=0.10.0'} - color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -8045,8 +7079,8 @@ packages: resolution: {integrity: sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==} engines: {node: '>=18'} - colorette@1.4.0: - resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} colors@1.0.3: resolution: {integrity: sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==} @@ -8066,12 +7100,8 @@ packages: command-exists@1.2.9: resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} - command-line-args@5.2.1: - resolution: {integrity: sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==} - engines: {node: '>=4.0.0'} - - command-line-args@6.0.1: - resolution: {integrity: sha512-Jr3eByUjqyK0qd8W0SGFW1nZwqCaNCtbXjRo2cRJC1OYxWl3MZ5t1US3jq+cO4sPavqgw4l9BMGX0CBe+trepg==} + command-line-args@6.0.2: + resolution: {integrity: sha512-AIjYVxrV9X752LmPDLbVYv8aMCuHPSLZJXEo2qo/xJfv+NYhaZ4sMSF01rM+gHPaMgvPM0l5D/F+Qx+i2WfSmQ==} engines: {node: '>=12.20'} peerDependencies: '@75lb/nature': latest @@ -8083,24 +7113,16 @@ packages: resolution: {integrity: sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==} engines: {node: '>=8.0.0'} - command-line-usage@7.0.3: - resolution: {integrity: sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q==} + command-line-usage@7.0.4: + resolution: {integrity: sha512-85UdvzTNx/+s5CkSgBm/0hzP80RFHAa7PsfeADE5ezZF3uHz3/Tqj9gIKGT9PTtpycc3Ua64T0oVulGfKxzfqg==} engines: {node: '>=12.20.0'} - commander@11.0.0: - resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} - engines: {node: '>=16'} - commander@11.1.0: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} - commander@12.1.0: - resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} - engines: {node: '>=18'} - - commander@14.0.2: - resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==} + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} commander@2.15.1: @@ -8109,34 +7131,16 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - - commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} - - commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - commander@8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - comment-parser@1.4.6: - resolution: {integrity: sha512-ObxuY6vnbWTN6Od72xfwN9DbzC7Y2vv8u1Soi9ahRKL37gb6y1qk6/dgjs+3JWuXJHWvsg3BXIwzd/rkmAwavg==} + comment-parser@1.4.7: + resolution: {integrity: sha512-0h+uSNtQGW3D98eQt3jJ8L06Fves8hncB4V/PKdw/Qb8Hnk19VaKuTr55UNRYiSoVa7WwrFls+rh3ux9agmkeQ==} engines: {node: '>= 12.0.0'} - commist@1.1.0: - resolution: {integrity: sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==} - - common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} - - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + commist@3.2.0: + resolution: {integrity: sha512-4PIMoPniho+LqXmpS5d3NuGYncG6XWlkBSVGiWycL22dd42OYdUGil2CWuzklaJoNxyxUSpO4MKIBU94viWNAw==} component-emitter@1.3.1: resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} @@ -8163,31 +7167,19 @@ packages: resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} engines: {'0': node >= 6.0} - concat-with-sourcemaps@1.1.0: - resolution: {integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==} - - concordance@5.0.4: - resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==} - engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} - - concurrently@7.6.0: - resolution: {integrity: sha512-BKtRgvcJGeZ4XttiDiNcFiRlxoAeZOseqUvyYRUp/Vtd+9p1ULmeoSqGsDA+2ivdeDFpqrJvGvmI+StKfKl5hw==} - engines: {node: ^12.20.0 || ^14.13.0 || >=16.0.0} + concurrently@10.0.3: + resolution: {integrity: sha512-hc3LH4UaKWd/bbyDK/IGVa4RB6PtQ3CUYwtrkzqHn+wIG3Hr5fhpRlk0L/gCa8ZE1L/Ufj50Zho69cI5w8SQBA==} + engines: {node: '>=22'} hasBin: true - config-chain@1.1.13: - resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + conf@10.2.0: + resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} + engines: {node: '>=12'} configstore@5.0.1: resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} engines: {node: '>=8'} - console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - - console-stream@0.1.1: - resolution: {integrity: sha512-QC/8l9e6ofi6nqZ5PawlDgzmMw3OxIXtvolBzap/F4UDBJlDaZRSNbL/lb41C29FcbSJncBFlJFj2WJoNyZRfQ==} - constant-case@3.0.4: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} @@ -8195,10 +7187,6 @@ packages: resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} engines: {node: '>= 0.6'} - content-disposition@0.5.3: - resolution: {integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==} - engines: {node: '>= 0.6'} - content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -8207,16 +7195,13 @@ packages: resolution: {integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==} engines: {node: '>=18'} - content-type@1.0.4: - resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} - engines: {node: '>= 0.6'} - content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - continuable-cache@0.3.1: - resolution: {integrity: sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA==} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} convert-hrtime@5.0.0: resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==} @@ -8229,17 +7214,11 @@ packages: resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - cookie-es@2.0.0: - resolution: {integrity: sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg==} - - cookie-es@2.0.1: - resolution: {integrity: sha512-aVf4A4hI2w70LnF7GG+7xDQUkliwiXWXFvTjkip4+b64ygDQ2sJPRSKFDHbxn8o0xu9QzPkMuuiWIXyFSE2slA==} - cookie-es@3.1.1: resolution: {integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==} - cookie-parser@1.4.5: - resolution: {integrity: sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==} + cookie-parser@1.4.7: + resolution: {integrity: sha512-nGUvgXnotP3BsjiLX2ypbQnWoGUPIIfHQNZkkC668ntrzGWEZVW70HDEB1qnNGMicPje6EttlIgzo51YSwNQGw==} engines: {node: '>= 0.8.0'} cookie-signature@1.0.6: @@ -8252,14 +7231,6 @@ packages: resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} engines: {node: '>=6.6.0'} - cookie@0.4.0: - resolution: {integrity: sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==} - engines: {node: '>= 0.6'} - - cookie@0.4.1: - resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==} - engines: {node: '>= 0.6'} - cookie@0.7.2: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} @@ -8275,47 +7246,10 @@ packages: resolution: {integrity: sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==} engines: {node: '>= 0.8'} - copy-descriptor@0.1.1: - resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} - engines: {node: '>=0.10.0'} - copyfiles@2.4.1: resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} hasBin: true - core-js-compat@3.47.0: - resolution: {integrity: sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==} - - core-js@2.6.12: - resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} - deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. - - core-js@3.49.0: - resolution: {integrity: sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==} - - core-types-graphql@1.5.0: - resolution: {integrity: sha512-kpCIuZOQCl/7deKpjOTCHsniOcdOlOqJIzGwmI71Ll/F1hkuqRpJN3G4dkAfKXcPUxBdoCyzENlznZ5SF5Yt4Q==} - engines: {node: '>=12'} - - core-types-json-schema@1.7.0: - resolution: {integrity: sha512-2C7uAMhFIdXZPvlV4dAN7DVfIt1g28PNsJUDQ4hMDIZE9P78iDN7AvFC9RTxqm3L9k9lV3La6V59RXydfqslYA==} - engines: {node: '>=12'} - - core-types-suretype@2.0.0: - resolution: {integrity: sha512-vIQD9M95FIVPTBFfofnlgGyMqc/drk7oQhmTreIGSBH6f/051aOZ0G50fpsu1NjxCI+rjWmGFbDNsNyFjpfiPw==} - engines: {node: '>=12'} - - core-types-ts@2.0.0: - resolution: {integrity: sha512-2gM33bDptTKgjL8m8O7TjhRQbvD7duxPZH5ce+sGaths4HN2FYasMB/NqcYoV+glbF+0DGIIr3giwPyvlZERFg==} - engines: {node: '>=12'} - - core-types@1.10.0: - resolution: {integrity: sha512-91LuHgHamiRKTbMx40z6tFmLz2wCI4tw433y8rraREXOs812S1tLSZ1PtD0BO6TZJXjtiIQZudZBv+h/B/wIRA==} - engines: {node: '>=12'} - - core-util-is@1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -8323,8 +7257,12 @@ packages: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} - cosmiconfig-typescript-loader@6.2.0: - resolution: {integrity: sha512-GEN39v7TgdxgIoNcdkRE3uiAzQt3UXLyHbRHD6YoL048XAeOomyxaP+Hh/+2C6C2wYjxJ2onhJcsQp+L4YEkVQ==} + cors@2.8.6: + resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} + engines: {node: '>= 0.10'} + + cosmiconfig-typescript-loader@6.3.0: + resolution: {integrity: sha512-Akr82WH1Wfqatyiqpj8HDkO2o2KmJRu1FhKfSNJP3K4IdXwHfEyL7MOb62i1AGQVLtIQM+iCE9CGOtrfhR+mmA==} engines: {node: '>=v18'} peerDependencies: '@types/node': '*' @@ -8335,14 +7273,6 @@ packages: resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} engines: {node: '>=4'} - cosmiconfig@7.0.1: - resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} - engines: {node: '>=10'} - - cosmiconfig@8.2.0: - resolution: {integrity: sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==} - engines: {node: '>=14'} - cosmiconfig@9.0.0: resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} @@ -8352,34 +7282,37 @@ packages: typescript: optional: true + cosmiconfig@9.0.2: + resolution: {integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - crelt@1.0.6: - resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} - - cron@1.7.2: - resolution: {integrity: sha512-+SaJ2OfeRvfQqwXQ2kgr0Y5pzBR/lijf5OpnnaruwWnmI799JfWr2jN2ItOV9s3A/+TFOt6mxvKzQq5F0Jp6VQ==} + crelt@1.0.7: + resolution: {integrity: sha512-aK6BbWfhf4U/wCcLHKPJl/xa6VkVstRaPywWtMKGwuOLc/wZTyQYuoxgvZnNsBvv7Kg3YTBQYYBCggcviQczuA==} croner@4.1.97: resolution: {integrity: sha512-/f6gpQuxDaqXu+1kwQYSckUglPaOrHdbIlBAu0YuW8/Cdb45XwXYNUBXg3r/9Mo6n540Kn/smKcZWko5x99KrQ==} + cronosjs@1.7.1: + resolution: {integrity: sha512-d6S6+ep7dJxsAG8OQQCdKuByI/S/AV64d9OF5mtmcykOyPu92cAkAnF3Tbc9s5oOaLQBYYQmTNvjqYRkPJ/u5Q==} + engines: {node: '>=8.0.0'} + cross-env@7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} hasBin: true - cross-spawn@5.1.0: - resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} - cross-spawn@6.0.6: resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} engines: {node: '>=4.8'} - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -8392,10 +7325,6 @@ packages: srvx: optional: true - crowdin-cli@0.3.0: - resolution: {integrity: sha512-s1vSRqWalCqd+vW7nF4oZo1a2pMpEgwIiwVlPRD0HmGY3HjJwQKXqZ26NpX5qCDVN8UdEsScy+2jle0PPQBmAg==} - hasBin: true - crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} @@ -8410,14 +7339,11 @@ packages: css-select-base-adapter@0.1.1: resolution: {integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==} - css-select@1.2.0: - resolution: {integrity: sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==} - css-select@2.1.0: resolution: {integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==} - css-select@5.2.2: - resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} css-tree@1.0.0-alpha.37: resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==} @@ -8431,9 +7357,6 @@ packages: resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - css-what@2.1.3: - resolution: {integrity: sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==} - css-what@3.4.2: resolution: {integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==} engines: {node: '>= 6'} @@ -8475,28 +7398,9 @@ packages: resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} engines: {node: '>=8.0.0'} - cssstyle@5.3.7: - resolution: {integrity: sha512-7D2EPVltRrsTkhpQmksIu+LxeWAIEk6wRDMJ1qljlv+CKHJM+cJLlfhWIzNA44eAsHXSNe3+vO6DW1yCYx8SuQ==} - engines: {node: '>=20'} - csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - culvert@0.1.2: - resolution: {integrity: sha512-yi1x3EAWKjQTreYWeSd98431AV+IEE0qoDyOoaHJ7KJ21gv6HtBXHVLX74opVSGqcR8/AbjJBHAHpcOy2bj5Gg==} - - currently-unhandled@0.4.1: - resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==} - engines: {node: '>=0.10.0'} - - cva@1.0.0-beta.2: - resolution: {integrity: sha512-dqcOFe247I5pKxfuzqfq3seLL5iMYsTgo40Uw7+pKZAntPgFtR7Tmy59P5IVIq/XgB0NQWoIvYDt9TwHkuK8Cg==} - peerDependencies: - typescript: '>= 4.5.5 < 6' - peerDependenciesMeta: - typescript: - optional: true - cva@1.0.0-beta.4: resolution: {integrity: sha512-F/JS9hScapq4DBVQXcK85l9U91M6ePeXoBMSp7vypzShoefUBxjQTo3g3935PUHgQd+IW77DjbPRIxugy4/GCQ==} peerDependencies: @@ -8505,25 +7409,13 @@ packages: typescript: optional: true - dashdash@1.14.1: - resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} - engines: {node: '>=0.10'} - - data-uri-to-buffer@3.0.1: - resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==} - engines: {node: '>= 6'} - - data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - data-uri-to-buffer@6.0.2: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} - data-urls@6.0.1: - resolution: {integrity: sha512-euIQENZg6x8mj3fO6o9+fOW8MimUI4PpD/fZBhJfeioZVy9TUpM4UY7KjQNVZFlqwJ0UdzRDzkycB997HEq1BQ==} - engines: {node: '>=20'} + data-urls@7.0.0: + resolution: {integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} @@ -8544,23 +7436,19 @@ packages: resolution: {integrity: sha512-y17kh32+I82G+ED9MNWFkZiP/Cq/vO1hN9+tSZsT9C9qn3NrvcBnh7crSepg0AQPge1hXx2Ca44s1FRdv0gFWA==} engines: {node: '>= 10'} - date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} - engines: {node: '>=0.11'} + dayjs@1.11.15: + resolution: {integrity: sha512-MC+DfnSWiM9APs7fpiurHGCoeIx0Gdl6QZBy+5lu8MbYKN5FZEXqOgrundfibdfhGZ15o9hzmZ2xJjZnbvgKXQ==} - date-time@3.1.0: - resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} - engines: {node: '>=6'} - - dayjs@1.11.19: - resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==} - - dayjs@1.8.36: - resolution: {integrity: sha512-3VmRXEtw7RZKAf+4Tv1Ym9AGeo8r8+CjDi26x+7SYQil1UqtqdaokhzoEJohqlzt0m5kacJSDhJQkG/LWhpRBw==} + dayjs@1.11.21: + resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} death@1.1.0: resolution: {integrity: sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==} + debounce-fn@4.0.0: + resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} + engines: {node: '>=10'} + debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -8569,14 +7457,6 @@ packages: supports-color: optional: true - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.1: resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} engines: {node: '>=6.0'} @@ -8595,15 +7475,6 @@ packages: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.7: resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} @@ -8640,6 +7511,10 @@ packages: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} + decompress-response@10.0.0: + resolution: {integrity: sha512-oj7KWToJuuxlPr7VV0vabvxEIiqNMo+q0NueIiL3XhtwC6FVOX7Hr1c0C4eD0bmf7Zr+S/dSf2xvkH3Ad6sU3Q==} + engines: {node: '>=20'} + decompress-response@3.3.0: resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} engines: {node: '>=4'} @@ -8648,26 +7523,6 @@ packages: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} - decompress-tar@4.1.1: - resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} - engines: {node: '>=4'} - - decompress-tarbz2@4.1.1: - resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==} - engines: {node: '>=4'} - - decompress-targz@4.1.1: - resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==} - engines: {node: '>=4'} - - decompress-unzip@4.0.1: - resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==} - engines: {node: '>=4'} - - decompress@4.2.1: - resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==} - engines: {node: '>=4'} - dedent@1.7.2: resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==} peerDependencies: @@ -8699,9 +7554,6 @@ packages: resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} engines: {node: '>=18'} - defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - defer-to-connect@1.1.3: resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} @@ -8725,24 +7577,12 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} - define-property@0.2.5: - resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} - engines: {node: '>=0.10.0'} - define-property@1.0.0: resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} engines: {node: '>=0.10.0'} - define-property@2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} - - defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - - degenerator@3.0.4: - resolution: {integrity: sha512-Z66uPeBfHZAHVmue3HPfyKu2Q0rC2cRxbTOsvmU/po5fvvcx27W4mIu9n0PUlQih4oUYvcG1BsbtVv8x7KDOSw==} - engines: {node: '>= 6'} + defu@6.1.7: + resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==} degenerator@5.0.1: resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} @@ -8752,31 +7592,18 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - - denque@1.5.0: - resolution: {integrity: sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==} + denque@2.1.0: + resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} engines: {node: '>=0.10'} - depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} - depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - deprecation@2.3.1: - resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} - dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - destroy@1.0.4: - resolution: {integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==} - destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -8785,11 +7612,6 @@ packages: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} - detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} - hasBin: true - detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} @@ -8797,11 +7619,6 @@ packages: detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} - detect-port-alt@1.1.6: - resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==} - engines: {node: '>= 4.2.1'} - hasBin: true - devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -8811,23 +7628,18 @@ packages: devtools-protocol@0.0.1581282: resolution: {integrity: sha512-nv7iKtNZQshSW2hKzYNr46nM/Cfh5SEvE2oV0/SEGgc9XupIY5ggf84Cz8eJIkBce7S3bmTAauFD6aysMpnqsQ==} - diacritics-map@0.1.0: - resolution: {integrity: sha512-3omnDTYrGigU0i4cJjvaKwD52B8aoqyX/NEIkukFFkogBemsIbhSa1O414fpTp5nuszJG6lvQ5vBvDVNCbSsaQ==} - engines: {node: '>=0.8.0'} - - dicer@0.2.5: - resolution: {integrity: sha512-FDvbtnq7dzlPz0wyYlOExifDEZcu8h+rErEXgfxqmLfRfC/kJidEFh4+effJRO3P0xmfqyPbSMG0LveNRfTKVg==} - engines: {node: '>=0.8.0'} + devtools-protocol@0.0.1638949: + resolution: {integrity: sha512-mXwg4Fqnv0WR4iuAT/gYUmctNkjILwXFHyZ+m7Ty1dfr0ezZt2U3gnrrJTfRobJTHoXf+IbuFvFITzLrLFjwJA==} - diff-match-patch@1.0.5: - resolution: {integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==} + dezalgo@1.0.4: + resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} - diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + diff@4.0.4: + resolution: {integrity: sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==} engines: {node: '>=0.3.1'} - diff@8.0.2: - resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==} + diff@5.2.2: + resolution: {integrity: sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==} engines: {node: '>=0.3.1'} diff@8.0.4: @@ -8837,17 +7649,10 @@ packages: dijkstrajs@1.0.3: resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} - dir-glob@2.0.0: - resolution: {integrity: sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==} - engines: {node: '>=4'} - dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - discontinuous-range@1.0.0: - resolution: {integrity: sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==} - dns-packet@5.6.1: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} @@ -8856,25 +7661,14 @@ packages: resolution: {integrity: sha512-BDeBd8najI4/lS00HSKpdFia+OvUMytaVjfzR9n5Lq8MlZRSvtbI+uLtx1+XmQFls5wFU9dssccTmQQ6nfpjdg==} engines: {node: '>=6'} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - - docusaurus@1.14.7: - resolution: {integrity: sha512-UWqar4ZX0lEcpLc5Tg+MwZ2jhF/1n1toCQRSeoxDON/D+E9ToLr+vTRFVMP/Tk84NXSVjZFRlrjWwM2pXzvLsQ==} - hasBin: true - dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} - dom-serializer@0.1.1: - resolution: {integrity: sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==} - dom-serializer@0.2.2: resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} domelementtype@1.3.1: resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} @@ -8885,24 +7679,15 @@ packages: domhandler@2.4.2: resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==} - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} engines: {node: '>= 4'} - dompurify@3.1.7: - resolution: {integrity: sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==} - - dompurify@3.3.3: - resolution: {integrity: sha512-Oj6pzI2+RqBfFG+qOaOLbFXLQ90ARpcGG6UePL82bJLtdsa6CYJD7nmiU8MW9nQNOtCHV3lZ/Bzq1X0QYbBZCA==} - - domutils@1.5.1: - resolution: {integrity: sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==} - domutils@1.7.0: resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} - domutils@3.2.2: - resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} @@ -8911,29 +7696,21 @@ packages: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} - dotenv@16.6.1: - resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} - engines: {node: '>=12'} + dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} - dotenv@17.4.0: - resolution: {integrity: sha512-kCKF62fwtzwYm0IGBNjRUjtJgMfGapII+FslMHIjMR5KTnwEmBmWLDRSnc3XSNP8bNy34tekgQyDT0hr7pERRQ==} + dotenv@17.4.2: + resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==} engines: {node: '>=12'} dotenv@8.6.0: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} engines: {node: '>=10'} - download@6.2.5: - resolution: {integrity: sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==} - engines: {node: '>=4'} - - download@7.1.0: - resolution: {integrity: sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==} - engines: {node: '>=6'} - - dts-resolver@2.1.3: - resolution: {integrity: sha512-bihc7jPC90VrosXNzK0LTE2cuLP6jr0Ro8jk+kMugHReJVLIpHz/xadeq3MhuwyO4TD4OA3L1Q8pBBFRc08Tsw==} - engines: {node: '>=20.19.0'} + dts-resolver@3.0.0: + resolution: {integrity: sha512-1T1f+z+4tl9XD+m+0HBgWoL/nm0bOIffyWaUuUSBlFg/86IWvfx+wjNaO/ybU0AJzG9/Mi5hBUgGV6zCmWEN7Q==} + engines: {node: ^22.18.0 || >=24.0.0} peerDependencies: oxc-resolver: '>=11.0.0' peerDependenciesMeta: @@ -8944,49 +7721,27 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} - duplex-maker@1.0.0: - resolution: {integrity: sha512-KoHuzggxg7f+vvjqOHfXxaQYI1POzBm+ah0eec7YDssZmbt6QFBI8d1nl5GQwAgR2f+VQCPvyvZtmWWqWuFtlA==} - - duplexer2@0.1.4: - resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} - duplexer3@0.1.5: resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - duplexify@3.7.1: - resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} - - duplexify@4.1.3: - resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} - eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - ecc-jsbn@0.1.2: - resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - - eciesjs@0.4.18: - resolution: {integrity: sha512-wG99Zcfcys9fZux7Cft8BAX/YrOJLJSZ3jyYPfhZHqN2E+Ffx+QXBDsv3gubEgPtV6dTzJMSQUwk1H98/t/0wQ==} - engines: {bun: '>=1', deno: '>=2', node: '>=16'} - ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - effect@4.0.0-beta.94: - resolution: {integrity: sha512-Q8BrCNbp/3Uh+7xQYHphZBkNfm2SJnl1frQ+8yWfd/j3SU3cL13D38cBMLcnULupwza2Nt4DrjZoMzHWL3CoxQ==} + effect@4.0.0-beta.100: + resolution: {integrity: sha512-K4ed+BS3HyE+NoAZ8pJss2DpuK41mb856IO7ZlPfnwBXbq8oTtAAurrsVnwe2hzPamIuaZp/Pq4/xp9qORYv8Q==} - electron-to-chromium@1.5.267: - resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} + electron-to-chromium@1.5.394: + resolution: {integrity: sha512-Wmt2Gm0o8JWBuGgmc4XZ0u9s1RaCRqhxP47phplmfg04+qypTUurpeJGP45A7Fhv7jdrrVH44PLlR9qXo37cVQ==} - electron-to-chromium@1.5.360: - resolution: {integrity: sha512-GkcBt6YYAw9SxFWn+xVar4cLVGlXVuswwtRLBozi2zp0GjXs4ZnOrqV4zbXzg35n7w81hCkyJNYicgXlVHAmBA==} - - emittery@1.2.0: - resolution: {integrity: sha512-KxdRyyFcS85pH3dnU8Y5yFUm2YJdaHwcBZWrfG8o89ZY9a13/f9itbN+YG3ELbBo9Pg5zvIozstmuV8bX13q6g==} - engines: {node: '>=14.16'} + emittery@2.0.0: + resolution: {integrity: sha512-FLtgn/CGBXiX3ZtPAm5q4LWWepHChOt55J9u01WFu3dyap2U7IwptlrqoE1COR/kxwdy/DOxIBALSxIW449I1g==} + engines: {node: '>=22'} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -9001,8 +7756,8 @@ packages: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} - empathic@2.0.0: - resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} + empathic@2.0.1: + resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==} engines: {node: '>=14'} enabled@2.0.0: @@ -9020,39 +7775,24 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - encoding-sniffer@0.2.1: - resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} - end-of-stream@1.4.5: resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} - engine.io-client@6.6.3: - resolution: {integrity: sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==} + engine.io-client@6.6.6: + resolution: {integrity: sha512-iY6QdftLQ9pyiPoX082bpf/u1UewnOaJrtJIF9T0++QB34lZrj0uP+Q/bj8AlUsAxqhnkTV2BS8SBZSxOmoV5Q==} engine.io-parser@5.2.3: resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} engines: {node: '>=10.0.0'} - engine.io@6.6.4: - resolution: {integrity: sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==} + engine.io@6.6.9: + resolution: {integrity: sha512-clKkw4C7nJ22mGgoVcCg6V/W/TxdNyIOTr89k2ONZu81qqkddPFDF0LXcbAwhzPD8DjkiRCjzuiO6Y+fkpD4vg==} engines: {node: '>=10.2.0'} - enhanced-resolve@5.18.3: - resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} - engines: {node: '>=10.13.0'} - - enhanced-resolve@5.20.1: - resolution: {integrity: sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==} + enhanced-resolve@5.24.3: + resolution: {integrity: sha512-PwKooW9JUzh5chmYfHM3IQl5OkK2u2Nm011MgeZrss3JmFraUx/fqrf78kk8GUMYoibx/14MdwTl/1WKkG7TpQ==} engines: {node: '>=10.13.0'} - enhanced-resolve@5.21.6: - resolution: {integrity: sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==} - engines: {node: '>=10.13.0'} - - enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -9063,10 +7803,6 @@ packages: entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - entities@6.0.1: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} @@ -9075,6 +7811,10 @@ packages: resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} engines: {node: '>=0.12'} + entities@8.0.0: + resolution: {integrity: sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==} + engines: {node: '>=20.19.0'} + env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} @@ -9083,35 +7823,18 @@ packages: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} - enzyme-adapter-react-16@1.15.8: - resolution: {integrity: sha512-uYGC31eGZBp5nGsr4nKhZKvxGQjyHGjS06BJsUlWgE29/hvnpgCsT1BJvnnyny7N3GIIVyxZ4O9GChr6hy2WQA==} - peerDependencies: - enzyme: ^3.0.0 - react: ^16.0.0-0 - react-dom: ^16.0.0-0 - - enzyme-adapter-utils@1.14.2: - resolution: {integrity: sha512-1ZC++RlsYRaiOWE5NRaF5OgsMt7F5rn/VuaJIgc7eW/fmgg8eS1/Ut7EugSPPi7VMdWMLcymRnMF+mJUJ4B8KA==} - peerDependencies: - react: 0.13.x || 0.14.x || ^15.0.0-0 || ^16.0.0-0 - - enzyme-shallow-equal@1.0.7: - resolution: {integrity: sha512-/um0GFqUXnpM9SvKtje+9Tjoz3f1fpBC3eXRFrNs8kpYn69JljciYP7KZTqM/YQbUY9KUjvKB4jo/q+L6WGGvg==} - - enzyme@3.11.0: - resolution: {integrity: sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==} - error-ex@1.3.4: resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} error-stack-parser-es@1.0.5: resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} - error@7.2.1: - resolution: {integrity: sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==} + es-abstract-get@1.0.0: + resolution: {integrity: sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==} + engines: {node: '>= 0.4'} - es-abstract@1.24.0: - resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} + es-abstract@1.24.2: + resolution: {integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==} engines: {node: '>= 0.4'} es-array-method-boxes-properly@1.0.0: @@ -9125,33 +7848,26 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} - es-module-lexer@2.0.0: - resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} + es-module-lexer@2.3.1: + resolution: {integrity: sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==} - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} engines: {node: '>= 0.4'} es-set-tostringtag@2.1.0: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} - es-shim-unscopables@1.1.0: - resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} + es-to-primitive@1.3.4: + resolution: {integrity: sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==} engines: {node: '>= 0.4'} - es-to-primitive@1.3.0: - resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} - engines: {node: '>= 0.4'} - - es-toolkit@1.45.1: - resolution: {integrity: sha512-/jhoOj/Fx+A+IIyDNOvO3TItGmlMKhtX8ISAHKE90c4b/k1tqaqEZ+uUqfpU8DMnW5cgNJv606zS55jGvza0Xw==} + es-toolkit@1.49.0: + resolution: {integrity: sha512-G5iZ6Pc/FNRY/soKZHC+TxGDD83rHUDXxzaWhGCX44vAv/tMs56WMusnm/KMNK+luUPsgA9U28cGr4RDlSzL2g==} esast-util-from-estree@2.0.0: resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} @@ -9159,23 +7875,8 @@ packages: esast-util-from-js@2.0.1: resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} - esbuild@0.27.3: - resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} - engines: {node: '>=18'} - hasBin: true - - esbuild@0.27.4: - resolution: {integrity: sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==} - engines: {node: '>=18'} - hasBin: true - - esbuild@0.27.7: - resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} - engines: {node: '>=18'} - hasBin: true - - esbuild@0.28.0: - resolution: {integrity: sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==} + esbuild@0.28.1: + resolution: {integrity: sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==} engines: {node: '>=18'} hasBin: true @@ -9206,11 +7907,6 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - escodegen@1.14.3: - resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} - engines: {node: '>=4.0'} - hasBin: true - escodegen@2.1.0: resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} engines: {node: '>=6.0'} @@ -9237,8 +7933,8 @@ packages: peerDependencies: eslint: '>=8' - eslint-plugin-import-x@4.16.2: - resolution: {integrity: sha512-rM9K8UBHcWKpzQzStn1YRN2T5NvdeIfSVoKu/lKF41znQXHAUcBbYXe5wd6GNjZjTrP7viQ49n1D83x/2gYgIw==} + eslint-plugin-import-x@4.17.1: + resolution: {integrity: sha512-4cdstYkKCyjumM2Q9NSI03K8D2a9F4Ssz33K2lv2hQa4KmR9jPLwk3uWGtNvclfqBrPGfGuMBwsGMbe6dMRbfg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/utils': ^8.56.0 @@ -9260,10 +7956,6 @@ packages: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-scope@9.1.2: resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -9280,11 +7972,15 @@ packages: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@8.57.1: - resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + eslint@10.7.0: + resolution: {integrity: sha512-GVTD7s1vdIl6UYvAfriOPeY1Df8LIZjfofLvHwde+erDHGGuHyuM6xoxRxmHiebhYuD2p1vN4wWh0XzPARSGDQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true espree@10.4.0: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} @@ -9294,19 +7990,11 @@ packages: resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} - engines: {node: '>=0.10'} - esquery@1.7.0: resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} engines: {node: '>=0.10'} @@ -9344,9 +8032,6 @@ packages: estree-util-visit@2.0.0: resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} - estree-walker@1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} - estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -9368,20 +8053,14 @@ packages: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} - eventemitter2@0.4.14: - resolution: {integrity: sha512-K7J4xq5xAD5jHsGM5ReWXRTFa3JRGofHiMcVgQ8PRwgWxzjHpMWCIzsmyf60+mh8KLsqYPcjUMa0AC4hd6lPyQ==} - - eventemitter2@5.0.1: - resolution: {integrity: sha512-5EM1GHXycJBS6mauYAbVKT1cVs7POKWb2NXD4Vyt8dDqeZa7LaDK1/sjtL+Zb0lzTpSNil4596Dyu97hz37QLg==} - eventemitter2@6.4.9: resolution: {integrity: sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==} eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + eventemitter3@5.0.4: + resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} events-universal@1.0.1: resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} @@ -9390,33 +8069,17 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - eventsource-parser@3.0.6: - resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==} - engines: {node: '>=18.0.0'} - - eventsource-parser@3.0.8: - resolution: {integrity: sha512-70QWGkr4snxr0OXLRWsFLeRBIRPuQOvt4s8QYjmUlmlkyTZkRqS7EDVRZtzU3TiyDbXSzaOeF0XUKy8PchzukQ==} + eventsource-parser@3.1.0: + resolution: {integrity: sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==} engines: {node: '>=18.0.0'} eventsource@3.0.7: resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} engines: {node: '>=18.0.0'} - exec-buffer@3.2.0: - resolution: {integrity: sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==} - engines: {node: '>=4'} - - execa@0.7.0: - resolution: {integrity: sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==} - engines: {node: '>=4'} - - execa@0.9.0: - resolution: {integrity: sha512-BbUMBiX4hqiHZUA5+JujIjNb6TyAlp2D5KLheMjMluwOuzcnylDL4AxZYLLn1n2AGB49eSWwyKvvEQoRpnAtmA==} - engines: {node: '>=4'} - - execa@1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} + eventsource@4.1.0: + resolution: {integrity: sha512-2GuF51iuHX6A9xdTccMTsNb7VO0lHZihApxhvQzJB5A03DvHDd2FQepodbMaztPBmBcE/ox7o2gqaxGhYB9LhQ==} + engines: {node: '>=20.0.0'} execa@4.1.0: resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} @@ -9430,28 +8093,16 @@ packages: resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} engines: {node: ^18.19.0 || >=20.5.0} - executable@4.1.1: - resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} - engines: {node: '>=4'} - - expand-brackets@2.1.4: - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} - engines: {node: '>=0.10.0'} - - expand-range@1.8.2: - resolution: {integrity: sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==} - engines: {node: '>=0.10.0'} - - expect-type@1.3.0: - resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} + expect-type@1.4.0: + resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} engines: {node: '>=12.0.0'} - express-ipfilter@1.3.2: - resolution: {integrity: sha512-yMzCWGuVMnR8CFlsIC2spHWoQYp9vtyZXUgS/JdV5GOJgrz6zmKOEZsA4eF1XrxkOIVzaVk6yzTBk65pBhliNw==} + express-ipfilter@1.4.0: + resolution: {integrity: sha512-Q6+ufo30/gLk7DTe3HEPTkx1LGNyWAt8I5wN8w3W4OIhhzoyNokBp5U4SSjFFcyVZ4USYvMeFNs49v4gBV9U/A==} engines: {node: '>=8.9.0'} - express-rate-limit@8.3.2: - resolution: {integrity: sha512-77VmFeJkO0/rvimEDuUC5H30oqUC4EyOhyGccfqoLebB0oiEYfM7nwPrsDsBL1gsTpwfzX8SFy2MT3TDyRq+bg==} + express-rate-limit@8.6.0: + resolution: {integrity: sha512-XKJXDsASUOo0LLtFwW5hCcQGH0N4WQc/Rn8/Pvoia+TJFOkkFPvrtW9lZOeeNcxQJspvOIERMwiRLsVFlhHEkA==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' @@ -9461,40 +8112,20 @@ packages: peerDependencies: express: ^4.12.1 - express-session@1.17.1: - resolution: {integrity: sha512-UbHwgqjxQZJiWRTMyhvWGvjBQduGCSBDhhZXYenziMFjxst5rMV+aJZ6hKPHZnPyHGsrqRICxtX8jtEbm/z36Q==} + express-session@1.18.2: + resolution: {integrity: sha512-SZjssGQC7TzTs9rpPDuUrR23GNZ9+2+IkA/+IJWmvQilTr5OSliEHGF+D9scbIpdC6yGtTI0/VhaHoVes2AN/A==} engines: {node: '>= 0.8.0'} - express@4.17.1: - resolution: {integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==} - engines: {node: '>= 0.10.0'} - - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} engines: {node: '>= 18'} - exsolve@1.0.8: - resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==} - - ext-list@2.2.2: - resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} - engines: {node: '>=0.10.0'} - - ext-name@5.0.0: - resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==} - engines: {node: '>=4'} - - extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - - extend-shallow@3.0.2: - resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} - engines: {node: '>=0.10.0'} + exsolve@1.1.0: + resolution: {integrity: sha512-D+42+T12DdIlJM3uepa55qGiL3sYdLBOxIl2ifQCzCHz4c7eiolaHsi3BIqEr7JxBzxv2pYZQX9kw16ziMcEmw==} extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -9502,14 +8133,6 @@ packages: extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - - extglob@2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - extract-zip@2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} @@ -9518,38 +8141,19 @@ packages: extrareqp2@1.0.0: resolution: {integrity: sha512-Gum0g1QYb6wpPJCVypWP3bbIuaibcFiJcpuPM10YSXp/tzqi84x9PJageob+eN4xVRIOto4wjSGNLyMD54D2xA==} - extsprintf@1.3.0: - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} - engines: {'0': node >=0.6.0} - faker@5.5.3: resolution: {integrity: sha512-wLTv2a28wjUyWkbnX7u/ABZBkUkIF2fCd73V6P2oFqEGEktDfzWx4UxrSqtPRw0xPRAcjeAOIiJWqZm3pP4u3g==} - fast-check@3.23.2: - resolution: {integrity: sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==} - engines: {node: '>=8.0.0'} - - fast-check@4.8.0: - resolution: {integrity: sha512-GOJ158CUMnN6cSahsv4+ExARvIDuzzinFjkp0E9WtiBa5zcVeLozVkWaE4IzFcc+Y48Wp1EDlUZsXRyAztQcSg==} + fast-check@4.9.0: + resolution: {integrity: sha512-7ms6T7SybUev/PQITciI0yLM2pOSFy5zpG8Ty7tQofcVaQUvrMXp6CBwqF6fThLCLOrfBtuHAtwq6Yu4XPCllg==} engines: {node: '>=12.17.0'} fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} - fast-folder-size@1.6.1: - resolution: {integrity: sha512-F3tRpfkAzb7TT2JNKaJUglyuRjRa+jelQD94s9OSqkfEeytLmupCqQiD+H2KoIXGtp4pB5m4zNmv5m2Ktcr+LA==} - hasBin: true - - fast-glob@2.2.7: - resolution: {integrity: sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==} - engines: {node: '>=4.0.0'} - fast-glob@3.3.3: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} @@ -9563,31 +8167,23 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-string-compare@1.0.0: - resolution: {integrity: sha512-R0f7E2MvKy3LltU/eK7P9IYMc7kovnoaQIvWVvKx1LDDgHArVCrqgb4/6hlYJn6I9VYFn7mQoTKrsO3ELMVE8Q==} - engines: {node: '>=10'} - - fast-uri@3.1.2: - resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - fast-xml-parser@4.5.3: - resolution: {integrity: sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==} - hasBin: true + fast-unique-numbers@9.0.27: + resolution: {integrity: sha512-nDA9ADeINN8SA2u2wCtU+siWFTTDqQR37XvgPIDDmboWQeExz7X0mImxuaN+kJddliIqy2FpVRmnvRZ+j8i1/A==} + engines: {node: '>=18.2.0'} - fastq@1.19.1: - resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + fast-uri@3.1.4: + resolution: {integrity: sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw==} - faye-websocket@0.10.0: - resolution: {integrity: sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ==} - engines: {node: '>=0.4.0'} + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} faye-websocket@0.11.4: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} engines: {node: '>=0.8.0'} - fclone@1.0.11: - resolution: {integrity: sha512-GDqVQezKzRABdeqflsgMr7ktzgF9CyS+p2oe0jJqUY6izSSbhPIQJDpoU4PtGcD7VPM9xh/dVrTu6z1nwgmEGw==} - fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} @@ -9603,41 +8199,21 @@ packages: fecha@4.2.3: resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} - feed@4.2.2: - resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} - engines: {node: '>=0.4.0'} - - fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - - fflate@0.4.8: - resolution: {integrity: sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==} + fetchdts@0.1.7: + resolution: {integrity: sha512-YoZjBdafyLIop9lSxXVI33oLD5kN31q4Td+CasofLLYeLXRFeOsuOw0Uo+XNRi9PZlbfdlN2GmRtm4tCEQ9/KA==} - figlet@1.9.4: - resolution: {integrity: sha512-uN6QE+TrzTAHC1IWTyrc4FfGo2KH/82J8Jl1tyKB7+z5DBit/m3D++Iu5lg91qJMnQQ3vpJrj5gxcK/pk4R9tQ==} + figlet@1.11.3: + resolution: {integrity: sha512-7+OS4S6VjQXI2XRvfZlOdHhItd25lI0NgrR1j5UHfuyZfmMh44v65tMQUlb2bSriYGPCHAtGhuY5u23vqelvmg==} engines: {node: '>= 17.0.0'} hasBin: true - figures@1.7.0: - resolution: {integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==} - engines: {node: '>=0.10.0'} - - figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - - figures@5.0.0: - resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} - engines: {node: '>=14'} - figures@6.1.0: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} file-stream-rotator@0.6.1: resolution: {integrity: sha512-u+dBid4PvZw17PmDeRcNOtCP9CCK/9lRN2w+r1xIS7yOL9JFrIBKTvrYsxT4P0pGtThYTn++QS5ChHaUov3+zQ==} @@ -9650,69 +8226,25 @@ packages: resolution: {integrity: sha512-ihHtXRzXEziMrQ56VSgU7wkxh55iNchFkosu7Y9/S+tXHdKyrGjVK0ujbqNnsxzea+78MaLhN6PGmfYSAv1ACw==} engines: {node: '>=14.16'} - file-type@21.1.1: - resolution: {integrity: sha512-ifJXo8zUqbQ/bLbl9sFoqHNTNWbnPY1COImFfM6CCy7z+E+jC1eY9YfOKkx0fckIg+VljAy2/87T61fp0+eEkg==} + file-type@21.3.4: + resolution: {integrity: sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==} engines: {node: '>=20'} file-type@3.9.0: resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} engines: {node: '>=0.10.0'} - file-type@4.4.0: - resolution: {integrity: sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==} - engines: {node: '>=4'} - - file-type@5.2.0: - resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==} - engines: {node: '>=4'} - - file-type@6.2.0: - resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==} - engines: {node: '>=4'} - - file-type@8.1.0: - resolution: {integrity: sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==} - engines: {node: '>=6'} - file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - file-uri-to-path@2.0.0: - resolution: {integrity: sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==} - engines: {node: '>= 6'} - - filename-reserved-regex@2.0.0: - resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} - engines: {node: '>=4'} - - filenamify@2.1.0: - resolution: {integrity: sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==} - engines: {node: '>=4'} - - filesize@6.1.0: - resolution: {integrity: sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==} - engines: {node: '>= 0.4.0'} - - fill-range@2.2.4: - resolution: {integrity: sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==} - engines: {node: '>=0.10.0'} - - fill-range@4.0.0: - resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} - engines: {node: '>=0.10.0'} - - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} filter-obj@1.1.0: resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} engines: {node: '>=0.10.0'} - finalhandler@1.1.2: - resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} - engines: {node: '>= 0.8'} - finalhandler@1.3.2: resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} engines: {node: '>= 0.8'} @@ -9721,17 +8253,9 @@ packages: resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} engines: {node: '>= 18.0.0'} - find-cache-dir@2.1.0: - resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} - engines: {node: '>=6'} - find-my-way-ts@0.1.6: resolution: {integrity: sha512-a85L9ZoXtNAey3Y6Z+eBWW658kO/MwR7zIafkIUPUMf3isZG0NCs2pjW2wtjxAKuJPxMAsHUIP4ZPGv0o5gyTA==} - find-replace@3.0.0: - resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} - engines: {node: '>=4.0.0'} - find-replace@5.0.2: resolution: {integrity: sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q==} engines: {node: '>=14'} @@ -9741,14 +8265,6 @@ packages: '@75lb/nature': optional: true - find-up@1.1.2: - resolution: {integrity: sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==} - engines: {node: '>=0.10.0'} - - find-up@2.1.0: - resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} - engines: {node: '>=4'} - find-up@3.0.0: resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} engines: {node: '>=6'} @@ -9761,23 +8277,15 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - find-versions@3.2.0: - resolution: {integrity: sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==} - engines: {node: '>=6'} - find-yarn-workspace-root@2.0.0: resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} - firebase@9.23.0: - resolution: {integrity: sha512-/4lUVY0lUvBDIaeY1q6dUYhS8Sd18Qb9CgWkPZICUo9IXpJNCEagfNZXBBFCkMTTN5L5gx2Hjr27y21a9NzUcA==} + firebase@12.16.0: + resolution: {integrity: sha512-CNw6hFBdONkzF8UGLDx/RDRY9gVa5VmJNHd7qi4gdmA3ZuLkuOrhmWefB2l+FN+OxFpN77Itq7aO6zlTi780ag==} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flatbuffers@25.9.23: resolution: {integrity: sha512-MI1qs7Lo4Syw0EOzUl0xjs2lsoeqFku44KpngfIduHBYvzm8h2+7K8YMQh1JtVVVrUvhLpNwqVi4DERegUJhPQ==} @@ -9794,15 +8302,6 @@ packages: focus-trap@7.8.0: resolution: {integrity: sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==} - follow-redirects@1.15.11: - resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - follow-redirects@1.16.0: resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} engines: {node: '>=4.0'} @@ -9828,50 +8327,17 @@ packages: resolution: {integrity: sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==} engines: {node: '>=0.10.0'} - foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} - - forever-agent@0.6.1: - resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - - fork-ts-checker-webpack-plugin@4.1.6: - resolution: {integrity: sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==} - engines: {node: '>=6.11.5', yarn: '>=1.0.0'} - peerDependencies: - eslint: '>= 6' - typescript: '>= 2.7' - vue-template-compiler: '*' - webpack: '>= 4' - peerDependenciesMeta: - eslint: - optional: true - vue-template-compiler: - optional: true - - form-data@2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} - - form-data@2.5.5: - resolution: {integrity: sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==} - engines: {node: '>= 0.12'} - - form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} + form-data-encoder@4.1.0: + resolution: {integrity: sha512-G6NsmEW15s0Uw9XnCg+33H3ViYRyiM0hMrMhhqQOR8NFc5GhYrI+6I3u7OTw7b91J2g8rtvMBZJDbcGb2YUniw==} + engines: {node: '>= 18'} - form-data@4.0.5: - resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} + form-data@4.0.6: + resolution: {integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==} engines: {node: '>= 6'} - formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - - formidable@1.2.6: - resolution: {integrity: sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==} - deprecated: 'Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau' + formidable@3.5.4: + resolution: {integrity: sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==} + engines: {node: '>=14.0.0'} forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} @@ -9880,12 +8346,8 @@ packages: fraction.js@5.3.4: resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} - fragment-cache@0.2.1: - resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} - engines: {node: '>=0.10.0'} - - framer-motion@12.39.0: - resolution: {integrity: sha512-+vnLfzrv0MzjLzNl+nvNvR7jdg3q4cxxjz/YvzfifHl0TREtL00cs1RoMTxs+1PzLiEqZGV6gYsBY0oEAYZ24w==} + framer-motion@12.42.2: + resolution: {integrity: sha512-5XY9luDiu0oHfHBjpDthFMh0ES+122w6p/papSJBweMkO8Sn+PW2QaEgRblQBpWFnuvZS5qvarpt/hO2pjGmnw==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -9912,15 +8374,16 @@ packages: from@0.1.7: resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} - fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} - fs-extra@11.3.4: - resolution: {integrity: sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==} + fs-extra@11.3.0: + resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + engines: {node: '>=14.14'} + + fs-extra@11.3.6: + resolution: {integrity: sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA==} engines: {node: '>=14.14'} fs-extra@7.0.1: @@ -9935,16 +8398,6 @@ packages: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} - fs-minipass@1.2.7: - resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} - - fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - - fs.notify@0.0.4: - resolution: {integrity: sha512-xnulkRf31FQwC8NsU5DEYqMTeM3jZpYsTC2hHQcHlkXTubxQHDVWkau13U/oFmFXieCkai2oKTa1MhckXk2fRQ==} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -9958,20 +8411,11 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - fstream@1.0.12: - resolution: {integrity: sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==} - engines: {node: '>=0.6'} - deprecated: This package is no longer supported. - - ftp@0.3.10: - resolution: {integrity: sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ==} - engines: {node: '>=0.8.0'} - - fumadocs-core@16.7.7: - resolution: {integrity: sha512-Eqh3AZ24loMnwNJZlereRwBp1q2nB/JOJ5xsIG4bF6tFZ2mTzc3rToKoRRAVNhNFwMVqlZBGVXWo+rjx1hOtjQ==} + fumadocs-core@16.11.5: + resolution: {integrity: sha512-YrHjS09+QYYKOSTGyiZbxF/VDs7ciMcjurYBGfmYqtzdj14k7Ho0HX9c6VuvG54YsYHQs5mGWemT1TXm7vDBaA==} peerDependencies: '@mdx-js/mdx': '*' - '@mixedbread/sdk': ^0.46.0 + '@mixedbread/sdk': 0.x.x '@orama/core': 1.x.x '@oramacloud/client': 2.x.x '@tanstack/react-router': 1.x.x @@ -9985,8 +8429,8 @@ packages: next: 16.x.x react: ^19.2.0 react-dom: ^19.2.0 - react-router: 7.x.x - waku: ^0.26.0 || ^0.27.0 || ^1.0.0 + react-router: 7.x.x || 8.x.x + waku: '*' zod: 4.x.x peerDependenciesMeta: '@mdx-js/mdx': @@ -10026,21 +8470,23 @@ packages: zod: optional: true - fumadocs-mdx@14.2.11: - resolution: {integrity: sha512-j0gHKs45c62ARteE8/yBM2Nu2I8AE2Cs37ktPEdc/8EX7TL66XP74un5OpHp6itLyWTu8Jur0imOiiIDq8+rDg==} + fumadocs-mdx@15.2.0: + resolution: {integrity: sha512-+yBP8QYw5wA9LF5eVdMhwbP7KT1OF4B/YfC6PZoD2jz0amZi1B+6QHTI6XoRRSTmhWrI4cL5LU1DspW0itk+NA==} hasBin: true peerDependencies: - '@fumadocs/mdx-remote': ^1.4.0 + '@fumadocs/satteri': 0.x.x '@types/mdast': '*' '@types/mdx': '*' '@types/react': '*' - fumadocs-core: ^15.0.0 || ^16.0.0 + fumadocs-core: ^16.7.0 mdast-util-directive: '*' next: ^15.3.0 || ^16.0.0 - react: '*' - vite: 6.x.x || 7.x.x || 8.x.x + react: ^19.2.0 + rolldown: '*' + satteri: ^0.9.4 + vite: 7.x.x || 8.x.x peerDependenciesMeta: - '@fumadocs/mdx-remote': + '@fumadocs/satteri': optional: true '@types/mdast': optional: true @@ -10054,11 +8500,15 @@ packages: optional: true react: optional: true + rolldown: + optional: true + satteri: + optional: true vite: optional: true - fumadocs-typescript@5.2.6: - resolution: {integrity: sha512-kmidpjbjrzlSbppLTW1m4SF87R3CMu3WhvD1VW8/w5A71uC2nARvfMh2o7bNJRLzjJyq/RO9v8NHYHU/cw+QUQ==} + fumadocs-typescript@5.3.0: + resolution: {integrity: sha512-UwYug2z01/hsjgmyoPL/MCz66pyZarpxOV9hIgnyNIhopwwcReCykEnRjchY342gIhZqUjTlY/TCJRorkCHhBA==} peerDependencies: '@types/estree': '*' '@types/hast': '*' @@ -10080,45 +8530,46 @@ packages: fumadocs-ui: optional: true - fumadocs-ui@16.7.7: - resolution: {integrity: sha512-yeDkVgROkTH+FP38CFcGGlkeNGiiDyNNQpmm0btt9rg653kTITuMAzXU5F8PZ+8upwPIgOdJwFcdxuQEobjO9w==} + fumadocs-ui@16.11.5: + resolution: {integrity: sha512-Eda7x2Hk7E1iIjZ4uES0xxGr25Z72efRM5kP8sbgLSLhWg8TDCyWddvKAkzXIq8bupPOuJkdZa/YVvXbCktIEA==} peerDependencies: - '@takumi-rs/image-response': '*' '@types/mdx': '*' '@types/react': '*' - fumadocs-core: 16.7.7 + fumadocs-core: 16.11.5 next: 16.x.x react: ^19.2.0 react-dom: ^19.2.0 - shiki: '*' + takumi-js: '*' peerDependenciesMeta: - '@takumi-rs/image-response': - optional: true '@types/mdx': optional: true '@types/react': optional: true next: optional: true - shiki: + takumi-js: optional: true function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function-timeout@0.1.1: + resolution: {integrity: sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg==} + engines: {node: '>=14.16'} + function-timeout@1.0.2: resolution: {integrity: sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==} engines: {node: '>=18'} - function.prototype.name@1.1.8: - resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + function.prototype.name@1.2.0: + resolution: {integrity: sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==} engines: {node: '>= 0.4'} functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - fuse.js@7.2.0: - resolution: {integrity: sha512-zf4vdcIGpjNKTuXwug33Hm2okqX6a0t2ZEbez+o9oBJQSNhVJ5AqERfeiRD3r8HcLqP66MrjdkmzxrncbAOTUQ==} + fuse.js@7.5.0: + resolution: {integrity: sha512-sQtrEfA+ez/3G0cCZecF70oqpCRttCexYUG4mUrtWL49ULUzUyxokt5kyqwtKzj1270RaKih+hcP3qLcumccow==} engines: {node: '>=10'} futoin-hkdf@1.5.3: @@ -10128,14 +8579,6 @@ packages: fuzzysort@3.1.0: resolution: {integrity: sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==} - gauge@2.7.4: - resolution: {integrity: sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==} - deprecated: This package is no longer supported. - - gaze@1.1.3: - resolution: {integrity: sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==} - engines: {node: '>= 4.0.0'} - generator-function@2.0.1: resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} engines: {node: '>= 0.4'} @@ -10148,8 +8591,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.5.0: - resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} + get-east-asian-width@1.6.0: + resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} engines: {node: '>=18'} get-intrinsic@1.3.0: @@ -10172,22 +8615,14 @@ packages: resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} engines: {node: '>=8'} + get-port@7.2.0: + resolution: {integrity: sha512-afP4W205ONCuMoPBqcR6PSXnzX35KTcJygfJfcp+QY+uwm3p20p1YczWXhlICIzGMCxYBQcySEcOgsJcrkyobg==} + engines: {node: '>=16'} + get-proto@1.0.1: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} - get-proxy@2.1.0: - resolution: {integrity: sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==} - engines: {node: '>=4'} - - get-stdin@4.0.1: - resolution: {integrity: sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==} - engines: {node: '>=0.10.0'} - - get-stream@2.3.1: - resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} - engines: {node: '>=0.10.0'} - get-stream@3.0.0: resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} engines: {node: '>=4'} @@ -10212,55 +8647,20 @@ packages: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} - get-tsconfig@4.13.7: - resolution: {integrity: sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==} + get-tsconfig@4.14.0: + resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} - get-uri@3.0.2: - resolution: {integrity: sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==} - engines: {node: '>= 6'} + get-tsconfig@5.0.0-beta.5: + resolution: {integrity: sha512-/6gFNr0N04nob252sTQxyFLi3eKFRqIg1I87YcqAMT1i6SQrSF6KujUEQrtrjMV0H/eejTCltLdDSTEMzHbnsQ==} + engines: {node: '>=20.20.0'} get-uri@6.0.5: resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==} engines: {node: '>= 14'} - get-value@2.0.6: - resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} - engines: {node: '>=0.10.0'} - - getpass@0.1.7: - resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} - - gifsicle@4.0.1: - resolution: {integrity: sha512-A/kiCLfDdV+ERV/UB+2O41mifd+RxH8jlRG8DMxZO84Bma/Fw0htqZ+hY2iaalLRNyUu7tYZQslqUBJxBggxbg==} - engines: {node: '>=6'} - hasBin: true - - git-node-fs@1.0.0: - resolution: {integrity: sha512-bLQypt14llVXBg0S0u8q8HmU7g9p3ysH+NvVlae5vILuUvs759665HvmR5+wb04KjHyjFcDRxdYb4kyNnluMUQ==} - peerDependencies: - js-git: ^0.7.8 - peerDependenciesMeta: - js-git: - optional: true - - git-sha1@0.1.2: - resolution: {integrity: sha512-2e/nZezdVlyCopOCYHeW0onkbZg7xP1Ad6pndPy1rCygeRykefUS6r7oA5cJRGEFvseiaz5a/qUHFVX1dd6Isg==} - - git-up@4.0.5: - resolution: {integrity: sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==} - - git-url-parse@11.6.0: - resolution: {integrity: sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==} - - github-slugger@1.5.0: - resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} - github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - glob-parent@3.1.0: - resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} - glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -10269,106 +8669,44 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob-stream@6.1.0: - resolution: {integrity: sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==} - engines: {node: '>= 0.10'} - - glob-to-regexp@0.3.0: - resolution: {integrity: sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==} - glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - glob@11.1.0: - resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} - engines: {node: 20 || >=22} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - hasBin: true - glob@13.0.6: resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} engines: {node: 18 || 20 || >=22} - glob@7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - global-dirs@3.0.1: resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} engines: {node: '>=10'} - global-modules@2.0.0: - resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} - engines: {node: '>=6'} - - global-prefix@3.0.0: - resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} - engines: {node: '>=6'} - - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - globals@15.15.0: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} - globals@17.4.0: - resolution: {integrity: sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==} + globals@17.7.0: + resolution: {integrity: sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg==} engines: {node: '>=18'} globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} - globalyzer@0.1.0: - resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} - - globby@11.0.1: - resolution: {integrity: sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==} - engines: {node: '>=10'} - - globby@11.0.4: - resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} - engines: {node: '>=10'} - globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} - globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - globby@8.0.2: - resolution: {integrity: sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==} - engines: {node: '>=4'} - globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} - globule@1.3.4: - resolution: {integrity: sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==} - engines: {node: '>= 0.10'} - glossy@0.1.7: resolution: {integrity: sha512-mTCC51QFadK75MvAhrL5nPVIP291NjML1guo10Sa7Yj04tJU4V++Vgm780NIddg9etQD9D8FM67hFGqM8EE2HQ==} engines: {node: '>= 0.2.5'} - goober@2.1.18: - resolution: {integrity: sha512-2vFqsaDVIT9Gz7N6kAL++pLpp41l3PfDuusHcjnGLfR6+huZkl6ziX+zgVC3ZxpqWhzH6pyDdGrCeDhMIvwaxw==} - peerDependencies: - csstype: ^3.0.10 - goober@2.1.19: resolution: {integrity: sha512-U7veizMqxyKlM58+Z5j2ngJBH/r9siDmxpvNxSw0PylF6WQvrASJEZrxh1hidRBJc2jqoBVSyOban5u8m+6Rxg==} peerDependencies: @@ -10382,9 +8720,9 @@ packages: resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} engines: {node: '>=10.19.0'} - got@7.1.0: - resolution: {integrity: sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==} - engines: {node: '>=4'} + got@14.6.6: + resolution: {integrity: sha512-QLV1qeYSo5l13mQzWgP/y0LbMr5Plr5fJilgAIwgnwseproEbtNym8xpLsDzeZ6MWXgNE6kdWGBjdh3zT/Qerg==} + engines: {node: '>=20'} got@8.3.2: resolution: {integrity: sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==} @@ -10397,38 +8735,16 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - graph-cycles@1.2.1: - resolution: {integrity: sha512-IJly1QJTKrACgy+HVQYELr9igxhCC6zGn78PbvEX9tj4AZBvv7ZNU45m9rOrhDgprrkLtJZYmOPyhY8exZLD/Q==} - engines: {node: '>=12'} - - grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - - graphql@16.12.0: - resolution: {integrity: sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==} + graphql@16.14.2: + resolution: {integrity: sha512-Chq1s4CY7jmh8gO2qvLIJyfCDIN+EHLFW/9iShnp1z8FjBQMoodWP1kDC36VAMXXIvAjj4ARa7ntfAV2BrjsbA==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - gray-matter@2.1.1: - resolution: {integrity: sha512-vbmvP1Fe/fxuT2QuLVcqb2BfK7upGhhbLIt9/owWEvPYrZZEkelLcq2HqzxosV+PQ67dUFLaAeNpH7C4hhICAA==} - engines: {node: '>=0.10.0'} - guess-json-indent@3.0.1: resolution: {integrity: sha512-LWZ3Vr8BG7DHE3TzPYFqkhjNRw4vYgFSsv2nfMuHklAlOfiy54/EwiDQuQfFVLxENCVv20wpbjfTayooQHrEhQ==} engines: {node: '>=18.18.0'} - gulp-header@1.8.12: - resolution: {integrity: sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==} - deprecated: Removed event-stream from gulp-header - - gzip-size@5.1.1: - resolution: {integrity: sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==} - engines: {node: '>=6'} - - h3@2.0.1-rc.16: - resolution: {integrity: sha512-h+pjvyujdo9way8qj6FUbhaQcHlR8FEq65EhTX9ViT5pK8aLj68uFl4hBkF+hsTJAH+H1END2Yv6hTIsabGfag==} + h3@2.0.1-rc.20: + resolution: {integrity: sha512-28ljodXuUp0fZovdiSRq4G9OgrxCztrJe5VdYzXAB7ueRvI7pIUqLU14Xi3XqdYJ/khXjfpUOOD2EQa6CmBgsg==} engines: {node: '>=20.11.1'} hasBin: true peerDependencies: @@ -10437,28 +8753,10 @@ packages: crossws: optional: true - handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} - hasBin: true - - har-schema@2.0.0: - resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} - engines: {node: '>=4'} - - har-validator@5.1.5: - resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} - engines: {node: '>=6'} - deprecated: this library is no longer supported - hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} - has-ansi@2.0.0: - resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} - engines: {node: '>=0.10.0'} - has-bigints@1.1.0: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} engines: {node: '>= 0.4'} @@ -10492,25 +8790,6 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - - has-value@0.3.1: - resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} - engines: {node: '>=0.10.0'} - - has-value@1.0.0: - resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} - engines: {node: '>=0.10.0'} - - has-values@0.1.4: - resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} - engines: {node: '>=0.10.0'} - - has-values@1.0.0: - resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} - engines: {node: '>=0.10.0'} - has-yarn@2.1.0: resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} engines: {node: '>=8'} @@ -10526,8 +8805,8 @@ packages: resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} engines: {node: '>=8'} - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} engines: {node: '>= 0.4'} hast-util-embedded@3.0.0: @@ -10578,9 +8857,6 @@ packages: hast-util-to-parse5@8.0.1: resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} - hast-util-to-string@3.0.1: - resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} - hast-util-to-text@4.0.2: resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} @@ -10600,12 +8876,8 @@ packages: resolution: {integrity: sha512-/yX0oVZBggA9cLJh8aw3PPCfedBnbd7J2aowjzsaWwZh7/UFY0nccn/aHAggIgWUFfnykX8GKd3a1pSbrmlcVQ==} engines: {node: '>=12.0.0'} - helmet@6.2.0: - resolution: {integrity: sha512-DWlwuXLLqbrIOltR6tFQXShj/+7Cyp0gLi6uAb8qMdFh/YBBFbKSgQ6nbXmScYd8emMctuthmgIa7tUfo9Rtyg==} - engines: {node: '>=14.0.0'} - - help-me@1.1.0: - resolution: {integrity: sha512-P/IZ8yOMne3SCTHbVY429NZ67B/2bVQlcYGZh2iPPbdLrEQ/qY5aGChn0YTDmt7Sb4IKRI51fypItav+lNl76w==} + help-me@5.0.0: + resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} hex-color-regex@1.1.0: resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==} @@ -10614,19 +8886,12 @@ packages: resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==} engines: {node: '>=12.0.0'} - highlight.js@9.18.5: - resolution: {integrity: sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==} - deprecated: Support has ended for 9.x series. Upgrade to @latest - - highlightjs-curl@1.3.0: - resolution: {integrity: sha512-50UEfZq1KR0Lfk2Tr6xb/MUIZH3h10oNC0OTy9g7WELcs5Fgy/mKN1vEhuKTkKbdo8vr5F9GXstu2eLhApfQ3A==} - - hono@4.12.9: - resolution: {integrity: sha512-wy3T8Zm2bsEvxKZM5w21VdHDDcwVS1yUFFY6i8UobSsKfFceT7TOwhbhfKsDyx7tYQlmRM5FLpIuYvNFyjctiA==} + hono@4.12.31: + resolution: {integrity: sha512-zJIHFrl6bq3RDd2YusFNCDlM8qUprxKswyi/OPzPyzKDdyBXDqWx8bZlZ7R+saTdSTatUmb3O7K4SspGPaEOQg==} engines: {node: '>=16.9.0'} - hookable@6.1.0: - resolution: {integrity: sha512-ZoKZSJgu8voGK2geJS+6YtYjvIzu9AOM/KZXsBxr83uhLL++e9pEv/dlgwgy3dvHg06kTz6JOh1hk3C8Ceiymw==} + hookable@6.1.1: + resolution: {integrity: sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==} hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -10635,10 +8900,6 @@ packages: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} - hosted-git-info@6.1.3: - resolution: {integrity: sha512-HVJyzUrLIL1c0QmviVh5E8VGyUS7xCFPS6yydaVd1UegW+ibV/CohqTH9MkOLDp5o+rb82DMo77PTuc9F/8GKw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hpagent@1.2.0: resolution: {integrity: sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==} engines: {node: '>=14'} @@ -10649,9 +8910,6 @@ packages: hsla-regex@1.0.0: resolution: {integrity: sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==} - html-element-map@1.3.1: - resolution: {integrity: sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg==} - html-encoding-sniffer@6.0.0: resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} @@ -10662,17 +8920,11 @@ packages: html-whitespace-sensitive-tag-names@3.0.1: resolution: {integrity: sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==} - htmlparser2@10.0.0: - resolution: {integrity: sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==} - - htmlparser2@10.1.0: - resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} - htmlparser2@3.10.1: resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} - htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} http-auth@3.2.4: resolution: {integrity: sha512-jeWAPP0UbI3dM6knyYbYbMvBoxwXGQp0eu70GGV9Ezo/pHmpv1dFLwM0CtaG+GFqUBkGZM/V8Jp/0gXFYwIOUQ==} @@ -10684,14 +8936,6 @@ packages: http-cache-semantics@4.2.0: resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} - http-errors@1.7.2: - resolution: {integrity: sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==} - engines: {node: '>= 0.6'} - - http-errors@1.7.3: - resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} - engines: {node: '>= 0.6'} - http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} @@ -10721,17 +8965,13 @@ packages: http-reasons@0.1.0: resolution: {integrity: sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ==} - http-signature@1.2.0: - resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} - engines: {node: '>=0.8', npm: '>=1.3.7'} - http2-wrapper@1.0.3: resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} engines: {node: '>=10.19.0'} - https-proxy-agent@5.0.0: - resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==} - engines: {node: '>= 6'} + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} @@ -10741,11 +8981,8 @@ packages: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} - human-id@3.0.1: - resolution: {integrity: sha512-ybmpj4dxA6492SkdUk0CE2Dg/O5KpByoai7UuTeUEtQK2YuR0OYlC9iUzEfj3ralha4ip8TV1ALq7mRJ2LadxA==} - - human-id@4.1.3: - resolution: {integrity: sha512-tsYlhAYpjCKa//8rXZ9DqKEawhPoSytweBC2eNvcaDK+57RZLHGqNs3PZTQO6yekLFSuvA6AlnAfrw1uBvtb+Q==} + human-id@4.2.0: + resolution: {integrity: sha512-K3GbkIWqyvvlpfhBPlbEvD97TtqBpAYA4kt+cn2lD2x2HuohzZCibcA2nOlnJT6exqvJLggoB5nv2dNf192nEA==} hasBin: true human-signals@1.1.1: @@ -10760,13 +8997,13 @@ packages: resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} engines: {node: '>=18.18.0'} - husky@7.0.4: - resolution: {integrity: sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==} - engines: {node: '>=12'} - hasBin: true - - i18next@15.1.2: - resolution: {integrity: sha512-98ELn/dqep00DQ/v1E1gpM21HNN6nqU3mS85mYKd9P7lXrhfUcuysPaa3HviKSFb3WPdjf7avuAST3P0dhNp/A==} + i18next@25.8.14: + resolution: {integrity: sha512-paMUYkfWJMsWPeE/Hejcw+XLhHrQPehem+4wMo+uELnvIwvCG019L9sAIljwjCmEMtFQQO3YeitJY8Kctei3iA==} + peerDependencies: + typescript: ^5 + peerDependenciesMeta: + typescript: + optional: true iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} @@ -10780,39 +9017,26 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - iconv-lite@0.7.2: - resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} + iconv-lite@0.7.3: + resolution: {integrity: sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==} engines: {node: '>=0.10.0'} - idb@7.0.1: - resolution: {integrity: sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==} - idb@7.1.1: resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} - identifier-regex@1.0.1: - resolution: {integrity: sha512-ZrYyM0sozNPZlvBvE7Oq9Bn44n0qKGrYu5sQ0JzMUnjIhpgWYE2JB6aBoFwEYdPjqj7jPyxXTMJiHDOxDfd8yw==} + identifier-regex@1.1.0: + resolution: {integrity: sha512-SLX4H/vtcYlYnL7XqnuJKHU7Z8517TgsW9nmQiGOgMCjQ8V/deLYu6bEmbGoXe7WMMhc9+EUGyFFneHja8KabA==} engines: {node: '>=18'} ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore-by-default@2.1.0: - resolution: {integrity: sha512-yiWd4GVmJp0Q6ghmM2B/V3oZGRmjrKLXvHR3TE1nfoXsmoggllfZUQe74EN0fJdPFZu2NIvNdrMMLm3OsV7Ohw==} - engines: {node: '>=10 <11 || >=12 <13 || >=14'} - - ignore-walk@3.0.4: - resolution: {integrity: sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==} - - ignore@3.3.10: - resolution: {integrity: sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==} - ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.5: - resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + ignore@7.0.6: + resolution: {integrity: sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==} engines: {node: '>= 4'} image-size@1.0.0: @@ -10820,42 +9044,10 @@ packages: engines: {node: '>=12.0.0'} hasBin: true - image-size@2.0.2: - resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==} - engines: {node: '>=16.x'} - hasBin: true - image-type@4.1.0: resolution: {integrity: sha512-CFJMJ8QK8lJvRlTCEgarL4ro6hfDQKif2HjSvYCdQZESaIPV4v9imrf7BQHK+sQeTeNeMpWciR9hyC/g8ybXEg==} engines: {node: '>=6'} - imagemin-gifsicle@6.0.1: - resolution: {integrity: sha512-kuu47c6iKDQ6R9J10xCwL0lgs0+sMz3LRHqRcJ2CRBWdcNmo3T5hUaM8hSZfksptZXJLGKk8heSAvwtSdB1Fng==} - engines: {node: '>=6'} - - imagemin-jpegtran@6.0.0: - resolution: {integrity: sha512-Ih+NgThzqYfEWv9t58EItncaaXIHR0u9RuhKa8CtVBlMBvY0dCIxgQJQCfwImA4AV1PMfmUKlkyIHJjb7V4z1g==} - engines: {node: '>=6'} - - imagemin-optipng@6.0.0: - resolution: {integrity: sha512-FoD2sMXvmoNm/zKPOWdhKpWdFdF9qiJmKC17MxZJPH42VMAp17/QENI/lIuP7LCUnLVAloO3AUoTSNzfhpyd8A==} - engines: {node: '>=6'} - - imagemin-svgo@7.1.0: - resolution: {integrity: sha512-0JlIZNWP0Luasn1HT82uB9nU9aa+vUj6kpT+MjPW11LbprXC+iC4HDwn1r4Q2/91qj4iy9tRZNsFySMlEpLdpg==} - engines: {node: '>=6'} - - imagemin@6.1.0: - resolution: {integrity: sha512-8ryJBL1CN5uSHpiBMX0rJw79C9F9aJqMnjGnrd/1CafegpNuA81RBAAru/jQQEOWlOJJlpRnlcVFF6wq+Ist0A==} - engines: {node: '>=6'} - - immer@8.0.1: - resolution: {integrity: sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==} - - import-cwd@3.0.0: - resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} - engines: {node: '>=8'} - import-fresh@2.0.0: resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} engines: {node: '>=4'} @@ -10864,30 +9056,18 @@ packages: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} - import-from@3.0.0: - resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} - engines: {node: '>=8'} - import-lazy@2.1.0: resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} engines: {node: '>=4'} - import-lazy@3.1.0: - resolution: {integrity: sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==} - engines: {node: '>=6'} - - import-without-cache@0.2.5: - resolution: {integrity: sha512-B6Lc2s6yApwnD2/pMzFh/d5AVjdsDXjgkeJ766FmFuJELIGHNycKRj+l3A39yZPM4CchqNCB4RITEAYB1KUM6A==} - engines: {node: '>=20.19.0'} + import-without-cache@0.4.0: + resolution: {integrity: sha512-NkJQA7oZ4YHQhd2+H3BoRFKF3d/XNsiKpHZCQEMH9pDX27hQQLsTyOocyRgaIVtf8gHX3Nt3LPkR4e5EdtPAGQ==} + engines: {node: ^22.18.0 || >=24.0.0} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - indent-string@2.1.0: - resolution: {integrity: sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==} - engines: {node: '>=0.10.0'} - indent-string@4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} @@ -10903,9 +9083,6 @@ packages: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - inherits@2.0.3: - resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -10920,13 +9097,13 @@ packages: resolution: {integrity: sha512-ifK0CgjALofS5bkrcTy4RaQ9Vx2Knf/eLeIO+NaswQEpH1UblrtTSCIvN71qQDMq0PeQ/SSPojvEJp9vvvfr+w==} engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} - ink@5.2.1: - resolution: {integrity: sha512-BqcUyWrG9zq5HIwW6JcfFHsIYebJkWWb4fczNah1goUO0vv5vneIlfwuS85twyJ5hYR/y18FlAYUxrO9ChIWVg==} - engines: {node: '>=18'} + ink@7.1.1: + resolution: {integrity: sha512-Y43xxa1ZSPvpmfLHcN5o+OdP8Rf8ykkNJEuKYOUNZKT8wXVNLFTtEm1nSDMQkfBH+YANF4Xuu0hhZ4ejqAtN2w==} + engines: {node: '>=22'} peerDependencies: - '@types/react': '>=18.0.0' - react: '>=18.0.0' - react-devtools-core: ^4.19.1 + '@types/react': '>=19.2.0' + react: '>=19.2.0' + react-devtools-core: '>=6.1.2' peerDependenciesMeta: '@types/react': optional: true @@ -10936,48 +9113,38 @@ packages: inline-style-parser@0.2.7: resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} - inquirer@8.2.0: - resolution: {integrity: sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==} - engines: {node: '>=8.0.0'} - internal-slot@1.1.0: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} - interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} - into-stream@3.1.0: resolution: {integrity: sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==} engines: {node: '>=4'} - ip-address@10.1.0: - resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==} - engines: {node: '>= 12'} + ioredis@5.11.1: + resolution: {integrity: sha512-ehuGcf94bQXhfagULNXrJdfnWO38v070jxSx/qE87Kjzmu2fU7ro5EFAb+OPituLqgfyuQaym5DlrNydW2sJ9A==} + engines: {node: '>=12.22.0'} - ip-regex@4.3.0: - resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} - engines: {node: '>=8'} + ip-address@10.2.0: + resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==} + engines: {node: '>= 12'} - ip6@0.2.11: - resolution: {integrity: sha512-OmTP7FyIp+ZoNvZ7Xr97bWrCgypa3BeuYuRFNTOPT8Y11cxMW1pW1VC70kHZP1onSHHMotADcjdg5QyECiIMUw==} - hasBin: true + ip-regex@2.1.0: + resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==} + engines: {node: '>=4'} - ip@1.1.9: - resolution: {integrity: sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==} + ip-regex@5.0.0: + resolution: {integrity: sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - ip@2.0.1: - resolution: {integrity: sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==} + ip6@0.2.13: + resolution: {integrity: sha512-Q0LtzYkknxpieAmlrKgB/R4uTpa9Ej3tpdzPSRydcMaonN96g97b+WsM2LMvUqXwoFUnpzawsQppdcR0LbPujQ==} + hasBin: true ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - irregular-plurals@3.5.0: - resolution: {integrity: sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==} - engines: {node: '>=8'} - is-absolute-url@2.1.0: resolution: {integrity: sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==} engines: {node: '>=0.10.0'} @@ -10986,13 +9153,9 @@ packages: resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-absolute@1.0.0: - resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} - engines: {node: '>=0.10.0'} - - is-accessor-descriptor@1.0.1: - resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} - engines: {node: '>= 0.10'} + is-accessor-descriptor@1.0.2: + resolution: {integrity: sha512-AIbwAcazqP3R65dGvqk1V+a+vE5Fg1yu/ZKMOiBWSUIXXiwQkYmXQcVa2O0nh0tSDKDFKxG2mY7dB1Sr4hEP1g==} + engines: {node: '>= 0.4'} is-alphabetical@2.0.1: resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} @@ -11000,10 +9163,6 @@ packages: is-alphanumerical@2.0.1: resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} - is-arguments@1.2.0: - resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} - engines: {node: '>= 0.4'} - is-array-buffer@3.0.5: resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} engines: {node: '>= 0.4'} @@ -11041,15 +9200,11 @@ packages: resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} hasBin: true - is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true - is-color-stop@1.1.0: resolution: {integrity: sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==} - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + is-core-module@2.16.2: + resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} engines: {node: '>= 0.4'} is-data-descriptor@1.0.1: @@ -11067,12 +9222,8 @@ packages: is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - is-descriptor@0.1.7: - resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} - engines: {node: '>= 0.4'} - - is-descriptor@1.0.3: - resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} + is-descriptor@1.0.4: + resolution: {integrity: sha512-bv5z95W0dDtLfKwDfkTNxaRxmISBD3eQBKJeVxv2AQ7MjuUnDNG7cIQqvFtMOUYhsILWHhMayWdoGqNqYYYjww==} engines: {node: '>= 0.4'} is-directory@0.3.1: @@ -11089,17 +9240,14 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true - is-error@2.2.2: - resolution: {integrity: sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==} + is-document.all@1.0.0: + resolution: {integrity: sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==} + engines: {node: '>= 0.4'} is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} - is-extendable@1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -11108,22 +9256,10 @@ packages: resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} engines: {node: '>= 0.4'} - is-finite@1.1.0: - resolution: {integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==} - engines: {node: '>=0.10.0'} - - is-fullwidth-code-point@1.0.0: - resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} - engines: {node: '>=0.10.0'} - is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - is-fullwidth-code-point@5.1.0: resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} engines: {node: '>=18'} @@ -11132,14 +9268,6 @@ packages: resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} engines: {node: '>= 0.4'} - is-gif@3.0.0: - resolution: {integrity: sha512-IqJ/jlbw5WJSNfwQ/lHEDXF8rxhRgF6ythk2oiEvhpG29F704eX9NO6TvPfMiq9DrbwgcEDnETYNcZDPewQoVw==} - engines: {node: '>=6'} - - is-glob@3.1.0: - resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} - engines: {node: '>=0.10.0'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -11147,13 +9275,13 @@ packages: is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - is-identifier@1.0.1: - resolution: {integrity: sha512-HQ5v4rEJ7REUV54bCd2l5FaD299SGDEn2UPoVXaTHAyGviLq2menVUD2udi3trQ32uvB6LdAh/0ck2EuizrtpA==} + is-identifier@1.1.0: + resolution: {integrity: sha512-NhOds0mDx9lJu+1lBRO0xbwFo5nobA7GCk/0e5xjr6+6XugX985+0OyGX35BNrTkPAsdLcIKg02HUQJOK8D8kw==} engines: {node: '>=18'} - is-in-ci@1.0.0: - resolution: {integrity: sha512-eUuAjybVTHMYWm/U+vBO1sY/JOCgoPCXRxzdju0K+K0BiGW0SChEL1MLC0PoCIR1OlPo5YAp8HuQoUlsWEICwg==} - engines: {node: '>=18'} + is-in-ci@2.0.0: + resolution: {integrity: sha512-cFeerHriAnhrQSbpAxL37W1wcJKUUX07HyLWZCW1URJT/ra3GyUTzBgUnh24TMVfNTV2Hij2HLxkPHFZfOZy5w==} + engines: {node: '>=20'} hasBin: true is-in-ssh@1.0.0: @@ -11169,33 +9297,18 @@ packages: resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} engines: {node: '>=10'} - is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - is-interactive@2.0.0: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} - is-ip@3.1.0: - resolution: {integrity: sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==} - engines: {node: '>=8'} - - is-jpg@2.0.0: - resolution: {integrity: sha512-ODlO0ruzhkzD3sdynIainVP5eoOFNN85rxA1+cwwnPe4dKyX0r5+hxNO5XpCrxlHcmb9vkOit9mhRD2JVuimHg==} - engines: {node: '>=6'} + is-ip@5.0.1: + resolution: {integrity: sha512-FCsGHdlrOnZQcp0+XT5a+pYowf33itBalCl+7ovNXC/7o5BhIpG14M3OrpPPdBSIQJCm+0M5+9mO7S9VVTTCFw==} + engines: {node: '>=14.16'} is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} - is-natural-number@4.0.1: - resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==} - - is-negated-glob@1.0.0: - resolution: {integrity: sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==} - engines: {node: '>=0.10.0'} - is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} @@ -11211,18 +9324,10 @@ packages: resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} - is-number@2.1.0: - resolution: {integrity: sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==} - engines: {node: '>=0.10.0'} - is-number@3.0.0: resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} engines: {node: '>=0.10.0'} - is-number@4.0.0: - resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==} - engines: {node: '>=0.10.0'} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -11254,14 +9359,6 @@ packages: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} - is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - - is-png@1.1.0: - resolution: {integrity: sha512-23Rmps8UEx3Bzqr0JqAtQo0tYP6sDfIfMt1rL9rzlla/zbteftI9LSJoqsIoGgL06sJboDGdVns4RTakAW/WTw==} - engines: {node: '>=0.10.0'} - is-port-reachable@4.0.0: resolution: {integrity: sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -11280,10 +9377,6 @@ packages: resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==} engines: {node: '>=12'} - is-relative@1.0.0: - resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} - engines: {node: '>=0.10.0'} - is-resolvable@1.1.0: resolution: {integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==} @@ -11291,10 +9384,6 @@ packages: resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} engines: {node: '>=0.10.0'} - is-root@2.1.0: - resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==} - engines: {node: '>=6'} - is-set@2.0.3: resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} engines: {node: '>= 0.4'} @@ -11306,10 +9395,6 @@ packages: is-ssh@1.4.1: resolution: {integrity: sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg==} - is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -11326,13 +9411,6 @@ packages: resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} engines: {node: '>=4'} - is-subset@0.1.1: - resolution: {integrity: sha512-6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==} - - is-svg@4.4.0: - resolution: {integrity: sha512-v+AgVwiK5DsGtT9ng+m4mClp6zDAmwrW8nZi6Gg15qzvBnRWWdfWA1TGaXyCDnWq5g5asofIgMVl3PjKxvk1ug==} - engines: {node: '>=6'} - is-symbol@1.1.1: resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} engines: {node: '>= 0.4'} @@ -11344,14 +9422,6 @@ packages: is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - is-unc-path@1.0.0: - resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} - engines: {node: '>=0.10.0'} - - is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - is-unicode-supported@1.3.0: resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} engines: {node: '>=12'} @@ -11404,8 +9474,8 @@ packages: is-zst@1.0.0: resolution: {integrity: sha512-ZA5lvshKAl8z30dX7saXLpVhpsq3d2EHK9uf7qtUjnOtdw4XBpAoWb2RvZ5kyoaebdoidnGI0g2hn9Z7ObPbww==} - is2@2.0.9: - resolution: {integrity: sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==} + is2@2.0.1: + resolution: {integrity: sha512-+WaJvnaA7aJySz2q/8sLjMb2Mw14KTplHmSwcSpZ/fWJPkUmqw3YTzSWbPJ7OAwRvdYTWF2Wg+yYJ1AdP5Z8CA==} engines: {node: '>=v0.10.0'} isarray@0.0.1: @@ -11417,8 +9487,8 @@ packages: isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - isbot@5.1.40: - resolution: {integrity: sha512-yNeeynhhtIVRBk12tBV4eHNxwB42HzR4Q3Ea7vCOiJhImGaAIdIMrbJtacQlBizGLjUPw+akkFI5Dn9T70XoVQ==} + isbot@5.2.1: + resolution: {integrity: sha512-dJ+LpKyClQZ7NG+j3OensC/mAZkGpukE9YUrgPYvAZj2doVL0edfDgywTUh5CXa0o+nW9a1V9e5+CJTX8+SxRw==} engines: {node: '>=18'} isexe@2.0.0: @@ -11428,10 +9498,6 @@ packages: resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==} engines: {node: '>=18'} - isobject@2.1.0: - resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} - engines: {node: '>=0.10.0'} - isobject@3.0.1: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} @@ -11441,23 +9507,10 @@ packages: peerDependencies: ws: '*' - isstream@0.1.2: - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - isurl@1.0.0: resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} engines: {node: '>= 4'} - iterate-iterator@1.0.2: - resolution: {integrity: sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==} - - iterate-value@1.0.2: - resolution: {integrity: sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==} - - jackspeak@4.1.1: - resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} - engines: {node: 20 || >=22} - jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} @@ -11470,49 +9523,37 @@ packages: resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} hasBin: true - jose@6.2.2: - resolution: {integrity: sha512-d7kPDd34KO/YnzaDOlikGpOurfF0ByC2sEV4cANCtdqLlTfBlw2p14O/5d/zv40gJPbIQxfES3nSx1/oYNyuZQ==} - - jpegtran-bin@4.0.0: - resolution: {integrity: sha512-2cRl1ism+wJUoYAYFt6O/rLBfpXNWG2dUWbgcEkTt5WGMnqI46eEro8T4C5zGROxKRqyKpCBSdHPvt5UYCtxaQ==} - engines: {node: '>=6'} - hasBin: true - - js-base64@3.7.8: - resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==} + jose@6.2.3: + resolution: {integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==} - js-git@0.7.8: - resolution: {integrity: sha512-+E5ZH/HeRnoc/LW0AmAyhU+mNcWBzAKE+30+IDMLSLbbK+Tdt02AdkOKq9u15rlJsDEGFqtgckc8ZM59LhhiUA==} + js-base64@3.9.1: + resolution: {integrity: sha512-U73qptcvf/HIOauFOmqT3a0mDUp0MYlfd15oqoe9kqZt5XhiXVb+HG09sLvI9PQ9tZIBFS4nlErai8zbWazP0g==} - js-string-escape@1.0.1: - resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} - engines: {node: '>= 0.8'} + js-sdsl@4.3.0: + resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@3.14.0: - resolution: {integrity: sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==} - hasBin: true - js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true - js-yaml@3.14.2: - resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} + js-yaml@3.15.0: + resolution: {integrity: sha512-ttBQIIQPDeLjpPOohtUdXuXUVoA2uIB6fEH9HyJ7234s5mBJ5wTx20njxplLZQgLaOfpmPQA7X2t5AX6tIPbog==} hasBin: true js-yaml@4.1.1: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true - jsbn@0.1.1: - resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + js-yaml@4.3.0: + resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==} + hasBin: true - jsdom@27.4.0: - resolution: {integrity: sha512-mjzqwWRD9Y1J1KUi7W97Gja1bwOOM5Ug0EZ6UDK3xS7j7mndrkwozHtSblfomlzyB4NepioNt+B2sOSzczVgtQ==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + jsdom@29.1.1: + resolution: {integrity: sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} peerDependencies: canvas: ^3.0.0 peerDependenciesMeta: @@ -11540,16 +9581,15 @@ packages: json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - json-schema-cycles@1.1.0: - resolution: {integrity: sha512-vcoGVsVokTaYsbI0SJj0eyGB81S7+3fZYH358bRcW9/yzlUOjNleCSupg8mTM9Co1RBPjUXv+hUmH559lgeFvQ==} - engines: {node: '>=12'} - json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + json-schema-typed@7.0.3: + resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==} + json-schema-typed@8.0.2: resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==} @@ -11559,56 +9599,40 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json-stable-stringify@1.3.0: + resolution: {integrity: sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==} + engines: {node: '>= 0.4'} + json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - json-to-ast@2.1.0: - resolution: {integrity: sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==} - engines: {node: '>= 4'} - json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true - jsonata@1.8.4: - resolution: {integrity: sha512-OqzmM5IICtm/687zckG5BROZzInGCEuKojpYs48H8RnkII8Np+o912ryvhnYwsRrSI24TQRG/qqrSwBuaneDbg==} - engines: {node: '>= 8'} - jsonata@2.0.5: resolution: {integrity: sha512-wEse9+QLIIU5IaCgtJCPsFi/H4F3qcikWzF4bAELZiRz08ohfx3Q6CjDRf4ZPF5P/92RI3KIHtb7u3jqPaHXdQ==} engines: {node: '>= 8'} + jsonata@2.0.6: + resolution: {integrity: sha512-WhQB5tXQ32qjkx2GYHFw2XbL90u+LLzjofAYwi+86g6SyZeXHz9F1Q0amy3dWRYczshOC3Haok9J4pOCgHtwyQ==} + engines: {node: '>= 8'} + jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - jsonfile@6.2.0: - resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - - jsonpointer@4.1.0: - resolution: {integrity: sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==} - engines: {node: '>=0.10.0'} - - jsonpointer@5.0.1: - resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} - engines: {node: '>=0.10.0'} - - jsonpos@1.1.0: - resolution: {integrity: sha512-PPc+ycWz7o2VirgUIH7oVdljOMnhx3haaJnOCrXWBCVFPeS/Z4ojH0JqEJM0XRx/CR9QujKlAXQU3z5a5xp2jg==} - engines: {node: '>=10'} - - jsprim@1.4.2: - resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} - engines: {node: '>=0.6.0'} + jsonfile@6.2.1: + resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} - just-clone@6.2.0: - resolution: {integrity: sha512-1IynUYEc/HAwxhi3WDpIpxJbZpMCvvrrmZVqvj9EhpvbH8lls7HhdhiByjL7DkAaWlLIzpC0Xc/VPvy/UxLNjA==} + jsonify@0.0.1: + resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} - just-extend@4.2.1: - resolution: {integrity: sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==} + just-extend@6.2.0: + resolution: {integrity: sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==} keygenerator@1.0.4: resolution: {integrity: sha512-TIiaKqI5BNF8fKxOmwfvhEXgC5w0Lyh8iuUfjlYEOAvCc1zpti4G40oYA6Lf5UlOJBHmIvZGFOSXn7dUutN62g==} @@ -11627,6 +9651,9 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyv@5.6.0: + resolution: {integrity: sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==} + kind-of@2.0.1: resolution: {integrity: sha512-0u8i1NZ/mg0b+W3MGGw5I7+6Eib2nx72S/QvXa0hYjEkjTknYmEYQJwGu3mLC0BrhtJjtQafTkyRUQ75Kx0LVg==} engines: {node: '>=0.10.0'} @@ -11635,10 +9662,6 @@ packages: resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} engines: {node: '>=0.10.0'} - kind-of@4.0.0: - resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} - engines: {node: '>=0.10.0'} - kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -11668,8 +9691,8 @@ packages: resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} engines: {node: '>=8'} - launch-editor@2.13.2: - resolution: {integrity: sha512-4VVDnbOpLXy/s8rdRCSXb+zfMeFR0WlJWpET1iA9CQdlZDfwyLjUuGQzXU4VeOoey6AicSAluWan7Etga6Kcmg==} + launch-editor@2.14.1: + resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==} lazy-cache@0.2.7: resolution: {integrity: sha512-gkX52wvU/R8DVMMt78ATVPFMJqfW8FPz1GZ1sVHBVQHmu/WvhIWE4cE1GBzhJNFicDeYhnwp6Rl35BcAIM3YOQ==} @@ -11679,30 +9702,6 @@ packages: resolution: {integrity: sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==} engines: {node: '>=0.10.0'} - lazy-cache@2.0.2: - resolution: {integrity: sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==} - engines: {node: '>=0.10.0'} - - lazy@1.0.11: - resolution: {integrity: sha512-Y+CjUfLmIpoUCCRl0ub4smrYtGGr5AOa2AKOaWelGHOGz33X/Y/KizefGqbkwfz44+cnq/+9habclf8vOmu2LA==} - engines: {node: '>=0.2.0'} - - leven@2.1.0: - resolution: {integrity: sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==} - engines: {node: '>=0.10.0'} - - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - - leven@4.1.0: - resolution: {integrity: sha512-KZ9W9nWDT7rF7Dazg8xyLHGLrmpgq2nVNFUckhqdW3szVP6YhCpp/RAnpmVExA9JvrMynjwSLVrEj3AepHR6ew==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - levn@0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} - engines: {node: '>= 0.8.0'} - levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -11710,36 +9709,69 @@ packages: lighthouse-logger@1.4.2: resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} + lighthouse-logger@2.0.2: + resolution: {integrity: sha512-vWl2+u5jgOQuZR55Z1WM0XDdrJT6mzMP8zHUct7xTlWhuQs+eV0g+QL0RQdFjT54zVmbhLCP8vIVpy1wGn/gCg==} + lightningcss-android-arm64@1.32.0: resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [android] + lightningcss-android-arm64@1.33.0: + resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + lightningcss-darwin-arm64@1.32.0: resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] + lightningcss-darwin-arm64@1.33.0: + resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + lightningcss-darwin-x64@1.32.0: resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] + lightningcss-darwin-x64@1.33.0: + resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + lightningcss-freebsd-x64@1.32.0: resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] + lightningcss-freebsd-x64@1.33.0: + resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + lightningcss-linux-arm-gnueabihf@1.32.0: resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] + lightningcss-linux-arm-gnueabihf@1.33.0: + resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + lightningcss-linux-arm64-gnu@1.32.0: resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} engines: {node: '>= 12.0.0'} @@ -11747,6 +9779,13 @@ packages: os: [linux] libc: [glibc] + lightningcss-linux-arm64-gnu@1.33.0: + resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + lightningcss-linux-arm64-musl@1.32.0: resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} engines: {node: '>= 12.0.0'} @@ -11754,6 +9793,13 @@ packages: os: [linux] libc: [musl] + lightningcss-linux-arm64-musl@1.33.0: + resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + lightningcss-linux-x64-gnu@1.32.0: resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} engines: {node: '>= 12.0.0'} @@ -11761,6 +9807,13 @@ packages: os: [linux] libc: [glibc] + lightningcss-linux-x64-gnu@1.33.0: + resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + lightningcss-linux-x64-musl@1.32.0: resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} engines: {node: '>= 12.0.0'} @@ -11768,56 +9821,56 @@ packages: os: [linux] libc: [musl] + lightningcss-linux-x64-musl@1.33.0: + resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + lightningcss-win32-arm64-msvc@1.32.0: resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] + lightningcss-win32-arm64-msvc@1.33.0: + resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + lightningcss-win32-x64-msvc@1.32.0: resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] + lightningcss-win32-x64-msvc@1.33.0: + resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + lightningcss@1.32.0: resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} engines: {node: '>= 12.0.0'} - line-reader@0.2.4: - resolution: {integrity: sha512-342xzyZZS9uTiKwHJcMacopVl/WjrMMCZS1Qg4Uhl/WBknWRrGFdKOIS1Kec6SaiTcZMtmuxWvvIbPXj/+FMjA==} + lightningcss@1.33.0: + resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} + engines: {node: '>= 12.0.0'} - line-reader@0.4.0: - resolution: {integrity: sha512-AYJ8g+eE7v+Ba4s/cuYqzuNulH/WbjdKQ55fvx8fNVn8WQzTpioY6vI1MoxTuMgcHYX3VlmZWbVvnkIqkyJbCA==} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - linkify-it@5.0.0: - resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - liquid-json@0.3.1: resolution: {integrity: sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ==} engines: {node: '>=4'} - list-item@1.1.1: - resolution: {integrity: sha512-S3D0WZ4J6hyM8o5SNKWaMYB1ALSacPZ2nHGEuCjmHZ+dc03gFeNZoNDcqfcnO4vDhTZmNrqrpYZCdXsRh22bzw==} - engines: {node: '>=0.10.0'} - - listenercount@1.0.1: - resolution: {integrity: sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==} - - livereload-js@2.4.0: - resolution: {integrity: sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==} - - load-json-file@1.1.0: - resolution: {integrity: sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==} - engines: {node: '>=0.10.0'} - - load-json-file@7.0.1: - resolution: {integrity: sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - loader-runner@4.3.2: resolution: {integrity: sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==} engines: {node: '>=6.11.5'} @@ -11831,10 +9884,6 @@ packages: engines: {node: '>=8.3.0'} hasBin: true - locate-path@2.0.0: - resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} - engines: {node: '>=4'} - locate-path@3.0.0: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} @@ -11847,161 +9896,65 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - lodash._reinterpolate@3.0.0: - resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} - - lodash.assignin@4.2.0: - resolution: {integrity: sha512-yX/rx6d/UTVh7sSVWVSIMjfnz95evAgDFdb1ZozC35I9mSFCkmzptOzevxjgbQUsc78NR44LVHWjsoMQXy9FDg==} - - lodash.bind@4.2.1: - resolution: {integrity: sha512-lxdsn7xxlCymgLYo1gGvVrfHmkjDiyqVv62FAeF2i5ta72BipE1SLxw8hPEPLhD4/247Ijw07UQH7Hq/chT5LA==} - lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - lodash.chunk@4.2.0: - resolution: {integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==} - lodash.clonedeep@4.5.0: resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - lodash.defaults@4.2.0: - resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - - lodash.escape@4.0.1: - resolution: {integrity: sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==} - lodash.escaperegexp@4.1.2: resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} - lodash.filter@4.6.0: - resolution: {integrity: sha512-pXYUy7PR8BCLwX5mgJ/aNtyOvuJTdZAo9EQFUvMIYugqmJxnrYaANvTbgndOzHSCSR0wnlBBfRXJL5SbWxo3FQ==} - - lodash.flatten@4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - - lodash.flattendeep@4.4.0: - resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} - - lodash.foreach@4.5.0: - resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==} - lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. - lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. - lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} lodash.isstring@4.0.1: resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} - lodash.map@4.6.0: - resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==} - lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lodash.mergewith@4.6.2: resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} - lodash.padstart@4.6.1: - resolution: {integrity: sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw==} - - lodash.pick@4.4.0: - resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} - deprecated: This package is deprecated. Use destructuring assignment syntax instead. - - lodash.reduce@4.6.0: - resolution: {integrity: sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==} - - lodash.reject@4.6.0: - resolution: {integrity: sha512-qkTuvgEzYdyhiJBx42YPzPo71R1aEr0z79kAv7Ixg8wPFEjgRgJdUsGMG3Hf3OYSF/kHI79XhNlt+5Ar6OzwxQ==} - - lodash.some@4.6.0: - resolution: {integrity: sha512-j7MJE+TuT51q9ggt4fSgVqro163BEFjAt3u97IqU+JA2DkWl80nFTrowzLpZ/BnpN7rrl0JA/593NAdd8p/scQ==} - - lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - lodash.template@4.5.0: - resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} - deprecated: This package is deprecated. Use https://socket.dev/npm/package/eta instead. - - lodash.templatesettings@4.2.0: - resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} - lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - lodash@4.17.23: - resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} - - log-symbols@2.2.0: - resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} - engines: {node: '>=4'} - - log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} log-symbols@6.0.0: resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} engines: {node: '>=18'} - log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} + log-symbols@7.0.1: + resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==} + engines: {node: '>=18'} - logalot@2.1.0: - resolution: {integrity: sha512-Ah4CgdSRfeCJagxQhcVNMi9BfGYyEKLa6d7OA6xSbld/Hg3Cf2QiOa1mDpmG7Ve8LOH6DN3mdttzjQAvWTyVkw==} - engines: {node: '>=0.10.0'} + log-update@8.0.0: + resolution: {integrity: sha512-lddSgOt3bPASrylL54ZSpy8nBHns+vBVSoILlVOx+dei300pnLRN958rj/EdlVLKuWlSESU3qdnDZdAI7FXYGg==} + engines: {node: '>=22'} logform@2.7.0: resolution: {integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==} engines: {node: '>= 12.0.0'} - long@4.0.0: - resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} - long@5.3.2: resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - longest@1.0.1: - resolution: {integrity: sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==} - engines: {node: '>=0.10.0'} - - loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - - loud-rejection@1.6.0: - resolution: {integrity: sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==} - engines: {node: '>=0.10.0'} - lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} @@ -12017,16 +9970,18 @@ packages: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} + lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + lowlight@3.3.0: resolution: {integrity: sha512-0JNhgFoPvP6U6lE/UdVsSq99tn6DhjjpAj5MxG49ewd2mOBVtwWYIT8ClyABhq198aXXODMU6Ox8DrGy/CpTZQ==} - lpad-align@1.1.2: - resolution: {integrity: sha512-MMIcFmmR9zlGZtBcFOows6c2COMekHCIFJz3ew/rRpKZ1wR4mXDPzvcVqLarux8M33X4TPSq2Jdw8WJj0q0KbQ==} - engines: {node: '>=0.10.0'} - hasBin: true + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.2.7: - resolution: {integrity: sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==} + lru-cache@11.5.2: + resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==} engines: {node: 20 || >=22} lru-cache@4.1.5: @@ -12043,21 +9998,13 @@ packages: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} engines: {node: '>=12'} - lucide-react@0.378.0: - resolution: {integrity: sha512-u6EPU8juLUk9ytRcyapkWI18epAv3RU+6+TC23ivjR0e+glWKBobFeSgRwOIJihzktILQuy6E0E80P2jVTDR5g==} - peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 - - lucide-react@1.16.0: - resolution: {integrity: sha512-dYwyPzb4MEKpGUmNYk3WKWPnMrHs3FKM+q94kAnJrcDIqqn1hq2xY8scaS2ovsOCM5D51ey2gaRG3PBb1vgoYQ==} + lucide-react@1.25.0: + resolution: {integrity: sha512-/mdJTRbiwcLOQ1NZZK1amZF9rIZyvO18D6r9TngE6TG1NmqHgFuT4eE7Xrkm9UsXMbBJD1NlfwHVltCDWHrOTw==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 - lucide-static@0.556.0: - resolution: {integrity: sha512-AD0WHIYZgRvbPrdfMdAaHYTDfSlEHYSry9sh4faS14malHdsPelnZQ9j/r5M5nCD4pyTsYyAk9DFt+/2FmLSNA==} - - lunr@2.3.9: - resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + lucide-static@1.25.0: + resolution: {integrity: sha512-uJTdyP8vxKELd+Kqk45ahUvOA1rv3Ehy6ZUP7JlBt8UJwmzHgFFts0OZNU3C6/4MDKsssgR9Jrut7GnuqGgYmg==} lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} @@ -12067,8 +10014,8 @@ packages: resolution: {integrity: sha512-DXqXhEM7gW59OjZO8NIjBCz9AQ1BEMrfiOAl4AYByHCtVHRF4KoGNO8mqQeM8lRCtQe/UnJ4imO/d2HdkKsd+A==} engines: {node: '>=6'} - macos-release@3.4.0: - resolution: {integrity: sha512-wpGPwyg/xrSp4H4Db4xYSeAr6+cFQGHfspHzDUdYxswDnUW0L5Ov63UuJiSr8NMSpyaChO4u1n0MXUvVPtrN6A==} + macos-release@3.5.1: + resolution: {integrity: sha512-Lci/1in+elqZ589PXnfP/iwZXpwQifTM94WJRQwG2tZSdfY7NfB/aUaTARHrohWCgHlXoabeaeXRDOnF5X9JQw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} magic-string@0.30.21: @@ -12078,14 +10025,6 @@ packages: resolution: {integrity: sha512-ayF7iT+44LXdxJLTrTd3TLQpFDDvPCBxXxbv+pMUSuHA5Q8zyAfwkRP6aHHwNVFBUFWtxAHqwNJxF8vMZLAbVg==} engines: {node: '>=18'} - make-dir@1.3.0: - resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} - engines: {node: '>=4'} - - make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} - make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} @@ -12093,14 +10032,6 @@ packages: make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - map-age-cleaner@0.1.3: - resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} - engines: {node: '>=6'} - - map-cache@0.2.2: - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} - engines: {node: '>=0.10.0'} - map-obj@1.0.1: resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} engines: {node: '>=0.10.0'} @@ -12112,63 +10043,25 @@ packages: map-stream@0.1.0: resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} - map-visit@1.0.0: - resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} - engines: {node: '>=0.10.0'} - markdown-extensions@2.0.0: resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} engines: {node: '>=16'} - markdown-it@14.1.0: - resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} - hasBin: true - - markdown-link@0.1.1: - resolution: {integrity: sha512-TurLymbyLyo+kAUUAV9ggR9EPcDjP/ctlv9QAFiqUH7c+t6FlsbivPo9OKTU8xdOx9oNd2drW/Fi5RRElQbUqA==} - engines: {node: '>=0.10.0'} - markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - markdown-toc@1.2.0: - resolution: {integrity: sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==} - engines: {node: '>=0.10.0'} - hasBin: true - - marked@14.0.0: - resolution: {integrity: sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==} - engines: {node: '>= 18'} - hasBin: true - marked@2.0.1: resolution: {integrity: sha512-5+/fKgMv2hARmMW7DOpykr2iLhl0NgjyELk5yn92iE7z8Se1IS9n3UsFm86hFXIkvMBmVxki8+ckcpjBeyo/hw==} engines: {node: '>= 8.16.2'} hasBin: true - marked@4.3.0: - resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} - engines: {node: '>= 12'} - hasBin: true - marky@1.3.0: resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==} - matcher@5.0.0: - resolution: {integrity: sha512-s2EMBOWtXFc8dgqvoAzKJXxNHibcdJMV0gwqKUaw9E2JBJuGUK7DrNKrA6g/i+v72TT16+6sVm5mS3thaMLQUw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - math-random@1.0.4: - resolution: {integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==} - - md5-hex@3.0.1: - resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} - engines: {node: '>=8'} - mdast-util-find-and-replace@3.0.2: resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} @@ -12226,9 +10119,6 @@ packages: mdn-data@2.27.1: resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} - mdurl@2.0.0: - resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} - media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} @@ -12237,18 +10127,10 @@ packages: resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} engines: {node: '>= 0.8'} - mem@9.0.2: - resolution: {integrity: sha512-F2t4YIv9XQUBHt6AOJ0y7lSmP1+cY7Fm1DRh9GClTGzKST7UWLMx6ly9WZdLH/G/ppM5RL4MlQfRT71ri9t19A==} - engines: {node: '>=12.20'} - - memorystore@1.6.6: - resolution: {integrity: sha512-EbLl1xg9+DlnjXkZK/eMUoWyhZ1IxcWMpSuFyqyA/Z4BNuH7BR+E0yC40WbLZZ6G8LxHiUZ2DPhqV8DR8+9UQQ==} + memorystore@1.6.7: + resolution: {integrity: sha512-OZnmNY/NDrKohPQ+hxp0muBcBKrzKNtHr55DbqSx9hLsYVNnomSAMRAtI7R64t3gf3ID7tHQA7mG4oL3Hu9hdw==} engines: {node: '>=0.10'} - meow@3.7.0: - resolution: {integrity: sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==} - engines: {node: '>=0.10.0'} - meow@9.0.0: resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} engines: {node: '>=10'} @@ -12257,9 +10139,6 @@ packages: resolution: {integrity: sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==} engines: {node: '>=0.10.0'} - merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - merge-descriptors@1.0.3: resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} @@ -12274,9 +10153,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - meta-types@1.1.1: - resolution: {integrity: sha512-4fA3XbU0PbBD5dRJhUl46ry9F6DNyGuSsXVq/YEToJCvBxLMsFSmvly9WEBdAqtnbuQXedvdLA9KD8uI05MGZQ==} - methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} @@ -12284,9 +10160,6 @@ packages: microdiff@1.5.0: resolution: {integrity: sha512-Drq+/THMvDdzRYrK0oxJmOKiC24ayUV8ahrt8l3oRK51PWt6gdtrIGrlIH3pT/lFh1z93FbAcidtsHcWbnRz8Q==} - microevent.ts@0.1.1: - resolution: {integrity: sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==} - micromark-core-commonmark@2.0.3: resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} @@ -12392,10 +10265,6 @@ packages: micromark@4.0.2: resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} - micromatch@3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -12440,8 +10309,8 @@ packages: engines: {node: '>=4'} hasBin: true - mime@2.5.2: - resolution: {integrity: sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==} + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} engines: {node: '>=4.0.0'} hasBin: true @@ -12460,17 +10329,13 @@ packages: engines: {node: '>= 12'} hasBin: true - mimic-fn@1.2.0: - resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} - engines: {node: '>=4'} - mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} + mimic-fn@3.1.0: + resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} + engines: {node: '>=8'} mimic-function@5.0.1: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} @@ -12484,47 +10349,26 @@ packages: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} + mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - miniflare@4.20260518.0: - resolution: {integrity: sha512-jbvp43zWa66tuQ+P7bl7s25VJWzGMv4mVhxEEZEEATPvuqAQhGn2wj3rQViVZkZZBZmXQtZ5ZV5kX9VtmWGzuA==} + miniflare@4.20260721.0: + resolution: {integrity: sha512-fBLaCxZ2i/nPH8iyLzvza0C8/sSF4sjD1ma1Skf+pkZVK0TlaW5ujHJlUHwcwR66v2JZt+Q28d4DCX/oaLG0cA==} engines: {node: '>=22.0.0'} hasBin: true - minimatch@10.1.1: - resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} - engines: {node: 20 || >=22} - minimatch@10.2.5: resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} - minimatch@3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} - - minimatch@3.0.8: - resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@3.1.5: resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} - minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -12532,35 +10376,17 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@2.9.0: - resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} - - minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} - - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} - minipass@7.1.3: resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} - minizlib@1.3.3: - resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} - - minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} + minizlib@3.1.0: + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - mixin-deep@1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} - mixin-object@2.0.1: resolution: {integrity: sha512-ALGF1Jt9ouehcaXaHhn6t1yGWRqGaHkPFndtFVHfZXOvkIZ/yoGaSi0AHVTafb3ZBGg4dr/bDwnaEKqCXzchMA==} engines: {node: '>=0.10.0'} @@ -12574,11 +10400,9 @@ packages: engines: {node: '>=10'} hasBin: true - module-details-from-path@1.0.4: - resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==} - - moment-timezone@0.5.33: - resolution: {integrity: sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==} + modern-tar@0.7.7: + resolution: {integrity: sha512-t9VmxaqrmANnEOBhpSDI6HD192Ge48k8vmWqQQL7hSFEqHEYwZbbsu49+aKLWZeRvFs3j1pMhXOqqF4kPlvjkQ==} + engines: {node: '>=18.0.0'} moment-timezone@0.5.48: resolution: {integrity: sha512-f22b8LV1gbTO2ms2j2z13MuPogNoh5UzxL3nzNAYKGraILnbGc9NEE6dyiiiLv46DGRb8A4kg8UKWLjPthxBHw==} @@ -12586,39 +10410,14 @@ packages: moment@2.30.1: resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} - monaco-editor@0.54.0: - resolution: {integrity: sha512-hx45SEUoLatgWxHKCmlLJH81xBo0uXP4sRkESUpmDQevfi+e7K1VuiSprK6UpQ8u4zOcKNiH0pMvHvlMWA/4cw==} - - monaco-languageserver-types@0.4.0: - resolution: {integrity: sha512-QQ3BZiU5LYkJElGncSNb5AKoJ/LCs6YBMCJMAz9EA7v+JaOdn3kx2cXpPTcZfKA5AEsR0vc97sAw+5mdNhVBmw==} - - monaco-marker-data-provider@1.2.5: - resolution: {integrity: sha512-5ZdcYukhPwgYMCvlZ9H5uWs5jc23BQ8fFF5AhSIdrz5mvYLsqGZ58ZLxTv8rCX6+AxdJ8+vxg1HVSk+F2bLosg==} - - monaco-types@0.1.2: - resolution: {integrity: sha512-8LwfrlWXsedHwAL41xhXyqzPibS8IqPuIXr9NdORhonS495c2/wky+sI1PRLvMCuiI0nqC2NH1six9hdiRY4Xg==} - - monaco-worker-manager@2.0.1: - resolution: {integrity: sha512-kdPL0yvg5qjhKPNVjJoym331PY/5JC11aPJXtCZNwWRvBr6jhkIamvYAyiY5P1AWFmNOy0aRDRoMdZfa71h8kg==} - peerDependencies: - monaco-editor: '>=0.30.0' - - monaco-yaml@5.2.3: - resolution: {integrity: sha512-GEplKC+YYmS0TOlJdv0FzbqkDN/IG2FSwEw+95myECVxTlhty2amwERYjzvorvJXmIagP1grd3Lleq7aQEJpPg==} - peerDependencies: - monaco-editor: '>=0.36' - - moo@0.5.2: - resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} - - motion-dom@12.39.0: - resolution: {integrity: sha512-Xn7aAcGDhco/JZTXOub64UmaYn73C6J1Po7Fk+8EvkJsNGTqfhon6UJY53vJKXW5v5Zl8HrYsVxv6oPXeGoGLQ==} + motion-dom@12.42.2: + resolution: {integrity: sha512-5gIMWLp/PycBtJRJWRgjxke5n8dlvkSn2DrYW+tr3XcqAZY1xZh6BJyooJXCM8wdfM7wfMjkBJNLge1CKPUIRA==} motion-utils@12.39.0: resolution: {integrity: sha512-8nadJAJjTtqRkmRF36FoJTrywK9nnFmnPwnSMyxaOCU7GDjN9RTMJIxx9De8ErM+vpPhMccr/6fo5WciyQLnMQ==} - motion@12.39.0: - resolution: {integrity: sha512-H4a+Ze+a9j+/NTla5ezfb/g9vmIOxC+viDj++NGDZyTZkdRKjiOz3kSv6TalRWM8ZmD2y/CfC6TkQc97ybyqSA==} + motion@12.42.2: + resolution: {integrity: sha512-Atvv11yUKIid41cVrRBDVX5m8tF8kNpExRSlbpt6APClhDjtwQssgFHhQzejxw7/7YYbjHSPKBVbHo05BuJT5Q==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -12631,12 +10430,12 @@ packages: react-dom: optional: true - mqtt-packet@6.10.0: - resolution: {integrity: sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==} + mqtt-packet@9.0.2: + resolution: {integrity: sha512-MvIY0B8/qjq7bKxdN1eD+nrljoeaai+qjLJgfRn3TiMuz0pamsIWY2bFODPZMSNmabsLANXsLl4EMoWvlaTZWA==} - mqtt@4.2.6: - resolution: {integrity: sha512-GpxVObyOzL0CGPBqo6B04GinN8JLk12NRYAIkYvARd9ZCoJKevvOyCaWK6bdK/kFSDj3LPDnCsJbezzNlsi87Q==} - engines: {node: '>=10.0.0'} + mqtt@5.15.1: + resolution: {integrity: sha512-V1WnkGuJh3ec9QXzy5Iylw8OOBK+Xu1WhxcQ9mMpLThG+/JZIMV1PgLNRgIiqXhZnvnVLsuyxHl5A/3bHHbcAA==} + engines: {node: '>=16.0.0'} hasBin: true mri@1.2.0: @@ -12646,9 +10445,6 @@ packages: ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.1: - resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} - ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -12672,10 +10468,9 @@ packages: typescript: optional: true - multer@1.4.2: - resolution: {integrity: sha512-xY8pX7V+ybyUpbYMxtjM9KAiD9ixtg5/JkeKUTD6xilfDv0vzzOFcCp4Ljb1UU3tSOM3VTZtKo63OmzOrGi3Cg==} - engines: {node: '>= 0.10.0'} - deprecated: Multer 1.x is affected by CVE-2022-24434. This is fixed in v1.4.4-lts.1 which drops support for versions of Node.js before 6. Please upgrade to at least Node.js 6 and version 1.4.4-lts.1 of Multer. If you need support for older versions of Node.js, we are open to accepting patches that would fix the CVE on the main 1.x release line, whilst maintaining compatibility with Node.js 0.10. + multer@2.2.0: + resolution: {integrity: sha512-6rdyFg2kLrMh9Jee7/BMPuV9lEAd7lLW2YUpF9/YxR7njyoUwwQ0ZPh3TaIY50Sw6vlyD2HW3wGOkTS4P79xrQ==} + engines: {node: '>= 10.16.0'} multipasta@0.2.8: resolution: {integrity: sha512-ZPWuMKyv0cSO29f7hozp+k6+crZbQijV8ipMvxNxRf2SwtYGTX1ZX89Kd20VV4H9Znonx+EQn+iy1wGQsJ+b+Q==} @@ -12684,41 +10479,27 @@ packages: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} hasBin: true - mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} mute-stream@2.0.0: resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} engines: {node: ^18.17.0 || >=20.5.0} - nan@2.13.2: - resolution: {integrity: sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==} - - nan@2.14.0: - resolution: {integrity: sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==} - - nan@2.24.0: - resolution: {integrity: sha512-Vpf9qnVW1RaDkoNKFUvfxqAbtI8ncb8OJlqZ9wwpXzWPEsvsB1nvdUi6oYrHIkQ1Y/tMDnr1h4nczS0VB9Xykg==} - - nanoid@3.3.11: - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true + nan@2.28.0: + resolution: {integrity: sha512-fTsDz99OTq2sVePhGdp4qQhggZFtKr64ZNVyVajRKtMOkJxYekplBh577PiJB12v/D3s2E5cGtOI45LWp6rnLQ==} - nanoid@3.3.12: - resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} + nanoid@3.3.16: + resolution: {integrity: sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@5.1.7: - resolution: {integrity: sha512-ua3NDgISf6jdwezAheMOk4mbE1LXjm1DfMUDMuJf4AqxLFK3ccGpgWizwa5YV7Yz9EpXwEaWoRXSb/BnV0t5dQ==} + nanoid@5.1.16: + resolution: {integrity: sha512-kVrnsrJqMR8+oLJnGEmSWw9BivK5mt7H3FZatVRjrc5wGqFYuBxX1yG7+A7Gi5AefkX6t/oCkizcQgpu0cY1dQ==} engines: {node: ^18 || >=20} hasBin: true - nanomatch@1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - napi-postinstall@0.3.4: resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -12727,20 +10508,6 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - nearley@2.20.1: - resolution: {integrity: sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==} - hasBin: true - - needle@2.4.0: - resolution: {integrity: sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==} - engines: {node: '>= 4.4.x'} - hasBin: true - - needle@2.9.1: - resolution: {integrity: sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==} - engines: {node: '>= 4.4.x'} - hasBin: true - negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -12756,18 +10523,15 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - netmask@2.0.2: - resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} - engines: {node: '>= 0.4.0'} + neoip@2.1.0: + resolution: {integrity: sha512-4zQ8eVAmbBNV3Fmpm3Li2tNPnrU6UobMXpO1OZsY/Eg2AGOB+H8dZfAabMVrh7Xl9xAVIDcEIlUVA057Fi7QdA==} - neverpanic@0.0.7: - resolution: {integrity: sha512-GFRTSX2JAEATOCQYlyFkR+9FJPl0pD24toE1foqYAsL6aPLlRKn6L0UFOtJhZCxEbDv+SUsiW4AcPs9cIFwkFw==} - peerDependencies: - typescript: '5' + netmask@2.1.1: + resolution: {integrity: sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==} + engines: {node: '>= 0.4.0'} - new-github-release-url@1.0.0: - resolution: {integrity: sha512-dle7yf655IMjyFUqn6Nxkb18r4AOAkzRcgcZv6WZ0IqrOH4QCEZ8Sm6I7XX21zvHdBeeMeTkhR9qT2Z0EJDx6A==} - engines: {node: '>=10'} + neverpanic@0.0.8: + resolution: {integrity: sha512-vVdkelrLxaow/fdWDumzNBO+jwm6X8bxeLJc34THtpj70u0C5QBkcV6CRCu2X726km7XD45N0A3QtYCla4RvKw==} next-themes@0.4.6: resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} @@ -12778,32 +10542,12 @@ packages: nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - nise@4.1.0: - resolution: {integrity: sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==} + nise@5.1.9: + resolution: {integrity: sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==} no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - node-cleanup@2.1.2: - resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==} - - node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - deprecated: Use your platform's native DOMException instead - - node-emoji@1.11.0: - resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} - - node-fetch@2.6.7: - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -12813,10 +10557,6 @@ packages: encoding: optional: true - node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - node-gyp-build-optional-packages@5.2.2: resolution: {integrity: sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==} hasBin: true @@ -12828,56 +10568,31 @@ packages: resolution: {integrity: sha512-CaFv+kSZtsc+VeDRldK1yR47k1vPLBpzYB9re2z7LIwITxwBtljMq3s8VQnnr+x3E8pQfHbc5r2IyJsBLJhtXg==} engines: {node: '>=10.12.0'} - node-pre-gyp@0.12.0: - resolution: {integrity: sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==} - deprecated: 'Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future' - hasBin: true - - node-pre-gyp@0.14.0: - resolution: {integrity: sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==} - deprecated: 'Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future' - hasBin: true - - node-red-admin@0.2.7: - resolution: {integrity: sha512-bsFbC7KFfGY37+SuYfmM9Er00cM92anqp6xCj8x7Y+4qZHOXnLi9XDFoWtvvsC1uQyaMqas1ALCfqcOxLlWngw==} - engines: {node: '>=8'} + node-red-admin@4.1.6: + resolution: {integrity: sha512-Q4YSnNarVsCnFwH1fvRm9b9lu98mMr1O5lQ3OSNqbMBa8AGiie5X69lMk2F/pk8dc2lBL466stmE+PnNlfTxeg==} + engines: {node: '>=18'} hasBin: true - node-red-node-rbe@0.5.0: - resolution: {integrity: sha512-88zuty5SiLW2/0vK8ZpMCoEBq2JbR4GEEIoJp3YWhQQytQRRvzHgOodzOkuH4AQoMFZXuVxF1lVswL6yiDCQiQ==} - - node-red-node-tail@0.3.2: - resolution: {integrity: sha512-DXxfLXzxY3tVpkP+QVqsJ1qA4GugUen8kehQOoMbmBcMz1hZywaaTQECOzNHJFRTWa9rlY61Xwd3VNx8w9M3iA==} - - node-red-node-test-helper@0.2.7: - resolution: {integrity: sha512-OanSQ1hrsigHVtMjL/cuhtjxhTdRBXxd3IALJC9eg0WOHRF75ZI7RYhFWqqOsvQ++BwmNj8ki1S49D8cZyZTWA==} - engines: {node: '>=8'} + node-red-node-test-helper@0.3.6: + resolution: {integrity: sha512-zLmHw6CPcrMvH2SNNKZ0shgD2adbp8W0Kwa86l/lSYWyCOgPnbFSK+IBB7qoEY91zytgSM6RNwVcwITihTkBGA==} + engines: {node: '>=14'} - node-red@1.3.7: - resolution: {integrity: sha512-cdlRdl2ek10lVpGXXkxy4HPp8SoTw6s209bo9l7RN8jLMCwIU66FFBADHRhriWmxM9v6Mms1WJ4k0gETiiTfUA==} - engines: {node: '>=8'} + node-red@5.0.1: + resolution: {integrity: sha512-miIZUIC9LeTIXfLuCXhzYtrWW3rsYXwE4j5NI6XP0jWIxHD8a3pfrZMlwg0uExkbQdVKnHf32nzdWkRTszHIAQ==} + engines: {node: '>=22.9'} hasBin: true - node-releases@1.1.77: - resolution: {integrity: sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==} - - node-releases@2.0.27: - resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} - - node-releases@2.0.44: - resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} + node-releases@2.0.51: + resolution: {integrity: sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==} + engines: {node: '>=18'} - nofilter@3.1.0: - resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} - engines: {node: '>=12.19'} + node-watch@0.7.4: + resolution: {integrity: sha512-RinNxoz4W1cep1b928fuFhvAQ5ag/+1UlMDV7rbyGthBIgsiEouS4kvRayvvboxii4m8eolKOIBo3OjDqbc+uQ==} + engines: {node: '>=6'} noms@0.0.0: resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} - nopt@4.0.3: - resolution: {integrity: sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==} - hasBin: true - nopt@5.0.0: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} engines: {node: '>=6'} @@ -12894,10 +10609,6 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - normalize-range@0.1.2: - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} - engines: {node: '>=0.10.0'} - normalize-url@2.0.1: resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==} engines: {node: '>=4'} @@ -12914,26 +10625,9 @@ packages: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} - npm-bundled@1.1.2: - resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==} - - npm-conf@1.1.3: - resolution: {integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==} - engines: {node: '>=4'} - - npm-normalize-package-bin@1.0.1: - resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} - - npm-package-arg@10.1.0: - resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - npm-packlist@1.4.8: - resolution: {integrity: sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==} - - npm-run-path@2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} + normalize-url@8.1.1: + resolution: {integrity: sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==} + engines: {node: '>=14.16'} npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} @@ -12943,33 +10637,29 @@ packages: resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} engines: {node: '>=18'} - npm-to-yarn@3.0.1: - resolution: {integrity: sha512-tt6PvKu4WyzPwWUzy/hvPFqn+uwXO0K1ZHka8az3NnrhWJDmSqI8ncWq0fkL0k/lmmi5tAC11FXwXuh0rFbt1A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - npm@7.24.2: - resolution: {integrity: sha512-120p116CE8VMMZ+hk8IAb1inCPk4Dj3VZw29/n2g6UI77urJKVYb7FZUDW8hY+EBnfsjI/2yrobBgFyzo7YpVQ==} - engines: {node: '>=10'} + npm@11.18.0: + resolution: {integrity: sha512-T67M4L5wNm0cZ7EBLErcEkY1SmzEW/WJ+SADBzsFUY1UdAPfFHXFQtZ6SEXiK0+vzXysCvAsepbMaBTwnrAD+w==} + engines: {node: ^20.17.0 || >=22.9.0} hasBin: true bundledDependencies: - '@isaacs/string-locale-compare' - '@npmcli/arborist' - - '@npmcli/ci-detect' - '@npmcli/config' + - '@npmcli/fs' - '@npmcli/map-workspaces' + - '@npmcli/metavuln-calculator' - '@npmcli/package-json' + - '@npmcli/promise-spawn' + - '@npmcli/redact' - '@npmcli/run-script' + - '@sigstore/tuf' - abbrev - - ansicolors - - ansistyles - archy - cacache - chalk - - chownr - - cli-columns - - cli-table3 - - columnify + - ci-info - fastest-levenshtein + - fs-minipass - glob - graceful-fs - hosted-git-info @@ -12981,7 +10671,6 @@ packages: - libnpmdiff - libnpmexec - libnpmfund - - libnpmhook - libnpmorg - libnpmpack - libnpmpublish @@ -12989,10 +10678,9 @@ packages: - libnpmteam - libnpmversion - make-fetch-happen + - minimatch - minipass - minipass-pipeline - - mkdirp - - mkdirp-infer-owner - ms - node-gyp - nopt @@ -13003,33 +10691,96 @@ packages: - npm-profile - npm-registry-fetch - npm-user-validate - - npmlog - - opener + - p-map - pacote - parse-conflict-json + - proc-log - qrcode-terminal - read - - read-package-json - - read-package-json-fast - - readdir-scoped-modules - - rimraf - semver + - spdx-expression-parse - ssri + - supports-color - tar - text-table - tiny-relative-date - treeverse - validate-npm-package-name - which - - write-file-atomic - - npmlog@4.1.2: - resolution: {integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==} - deprecated: This package is no longer supported. - nssocket@0.6.0: - resolution: {integrity: sha512-a9GSOIql5IqgWJR3F/JXG4KpJTA3Z53Cj0MeMvGpglytB1nxE4PdFNC0jINe27CS7cGivoynwc054EzCcT3M3w==} - engines: {node: '>= 0.10.x'} + npm@12.0.1: + resolution: {integrity: sha512-L5T9i/YAQWQWqTS/xZxJkei/9zcu99hCeE4qi41IyBVV7mRQad3qc2JfuOktwmH+qwGI/V2rbCL+/UYxb1+RQA==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} + hasBin: true + bundledDependencies: + - '@isaacs/string-locale-compare' + - '@npmcli/arborist' + - '@npmcli/config' + - '@npmcli/fs' + - '@npmcli/git' + - '@npmcli/map-workspaces' + - '@npmcli/metavuln-calculator' + - '@npmcli/package-json' + - '@npmcli/promise-spawn' + - '@npmcli/redact' + - '@npmcli/run-script' + - '@sigstore/tuf' + - abbrev + - archy + - bin-links + - cacache + - chalk + - ci-info + - diff + - fastest-levenshtein + - fs-minipass + - glob + - graceful-fs + - hosted-git-info + - ini + - init-package-json + - is-cidr + - json-parse-even-better-errors + - libnpmaccess + - libnpmdiff + - libnpmexec + - libnpmfund + - libnpmorg + - libnpmpack + - libnpmpublish + - libnpmsearch + - libnpmteam + - libnpmversion + - make-fetch-happen + - minimatch + - minipass + - minipass-pipeline + - ms + - node-gyp + - nopt + - npm-audit-report + - npm-install-checks + - npm-package-arg + - npm-pick-manifest + - npm-profile + - npm-registry-fetch + - npm-user-validate + - p-map + - pacote + - parse-conflict-json + - proc-log + - qrcode-terminal + - read + - semver + - spdx-expression-parse + - ssri + - supports-color + - tar + - text-table + - tiny-relative-date + - treeverse + - validate-npm-package-name + - which nth-check@1.0.2: resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} @@ -13037,40 +10788,33 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - num2fraction@1.2.2: - resolution: {integrity: sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==} + number-allocator@1.0.14: + resolution: {integrity: sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==} number-is-nan@1.0.1: resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} engines: {node: '>=0.10.0'} - oauth-sign@0.9.0: - resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} - - oauth2orize@1.11.0: - resolution: {integrity: sha512-gI8IoWjuSxOR5wXXUol8fS94OUCuQR3Y4gwMjVO3K960kgNtkfzCZT8TgczaHdzoCmzC47Fh7JbnPnYmomo5AA==} + oauth2orize@1.12.0: + resolution: {integrity: sha512-j4XtFDQUBsvUHPjUmvmNDUDMYed2MphMIJBhyxVVe8hGCjkuYnjIsW+D9qk8c5ciXRdnk6x6tEbiO6PLeOZdCQ==} engines: {node: '>= 0.4.0'} object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - object-copy@0.1.0: - resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} - engines: {node: '>=0.10.0'} - object-hash@2.2.0: resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} engines: {node: '>= 6'} + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} - object-is@1.1.6: - resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} - engines: {node: '>= 0.4'} - object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} @@ -13079,49 +10823,26 @@ packages: resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} engines: {node: '>= 10'} - object-visit@1.0.1: - resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} - engines: {node: '>=0.10.0'} - object.assign@4.1.7: resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} - object.entries@1.1.9: - resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} - engines: {node: '>= 0.4'} - - object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} - object.getownpropertydescriptors@2.1.9: resolution: {integrity: sha512-mt8YM6XwsTTovI+kdZdHSxoyF2DI59up034orlC9NfweclcWOt7CVascNNLp6U+bjFVCVCIh9PwS76tDM/rH8g==} engines: {node: '>= 0.4'} - object.pick@1.3.0: - resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} - engines: {node: '>=0.10.0'} - object.values@1.2.1: resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} - obug@2.1.1: - resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} - - on-finished@2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} - engines: {node: '>= 0.8'} + obug@2.1.4: + resolution: {integrity: sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==} + engines: {node: '>=12.20.0'} on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} - on-headers@1.0.2: - resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} - engines: {node: '>= 0.8'} - on-headers@1.1.0: resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} engines: {node: '>= 0.8'} @@ -13136,10 +10857,6 @@ packages: one-time@1.0.0: resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} - onetime@2.0.1: - resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} - engines: {node: '>=4'} - onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} @@ -13166,72 +10883,36 @@ packages: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} - openapi-json-schema@1.1.3: - resolution: {integrity: sha512-7Nmg/XvXdD3pr8gdMwphucmpwB6GVrWzVj8k6B9Bg0Jo1rqthZ34v9xib/0nXraHDTAfeqBvr7wV3q2dJBKvLw==} - engines: {node: '>=12'} - - openapi3-ts@4.5.0: - resolution: {integrity: sha512-jaL+HgTq2Gj5jRcfdutgRGLosCy/hT8sQf6VOy+P+g36cZOjI1iukdPnijC+4CmeRzg/jEllJUboEic2FhxhtQ==} + openapi3-ts@4.6.0: + resolution: {integrity: sha512-a4sfn6L2sIShhtzJqmjGrARvxAW/3F2BJDdyRVvNF9VhAsZSh5hSyI3a9TNvmzBxXmq66nY5LNT5bQcBxYAZZg==} openurl@1.1.1: resolution: {integrity: sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==} - oppa@0.4.0: - resolution: {integrity: sha512-DFvM3+F+rB/igo3FRnkDWitjZgBH9qZAn68IacYHsqbZBKwuTA+LdD4zSJiQtgQpWq7M08we5FlGAVHz0yW7PQ==} - engines: {node: '>=10'} - - optionator@0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} - engines: {node: '>= 0.8.0'} - optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - optipng-bin@5.1.0: - resolution: {integrity: sha512-9baoqZTNNmXQjq/PQTWEXbVV3AMO2sI/GaaqZJZ8SExfAzjijeAP7FEeT+TtyumSw7gr0PZtSUYB/Ke7iHQVKA==} - engines: {node: '>=6'} - hasBin: true - - ora@1.4.0: - resolution: {integrity: sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==} - engines: {node: '>=4'} - - ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - ora@8.2.0: resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} engines: {node: '>=18'} - ordered-read-streams@1.0.1: - resolution: {integrity: sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==} - - os-filter-obj@2.0.0: - resolution: {integrity: sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==} - engines: {node: '>=4'} - - os-homedir@1.0.2: - resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} - engines: {node: '>=0.10.0'} + ora@9.4.1: + resolution: {integrity: sha512-6VlU9MLXbjVQD04AZCMX28hVtA5bUoadvUqO76MUCVA0ilwJbMiHsITRPfyVm6p/BC0Av/BXMujx39WCe1LEqw==} + engines: {node: '>=20'} os-name@4.0.1: resolution: {integrity: sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==} engines: {node: '>=10'} - os-name@5.1.0: - resolution: {integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + os-name@7.0.0: + resolution: {integrity: sha512-/HfRU/lPPr4T2VigM+cvM3cU77es+XF4OEAa4aE5zpdvrxHGD2NmH0AFIWpMNAb+CsZL45rlcIO49Re0ZcRseg==} + engines: {node: '>=20'} os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} - osenv@0.1.5: - resolution: {integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==} - deprecated: This package is no longer supported. - outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} @@ -13246,19 +10927,22 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} - oxlint@1.57.0: - resolution: {integrity: sha512-DGFsuBX5MFZX9yiDdtKjTrYPq45CZ8Fft6qCltJITYZxfwYjVdGf/6wycGYTACloauwIPxUnYhBVeZbHvleGhw==} + oxc-parser@0.120.0: + resolution: {integrity: sha512-WyPWZlcIm+Fkte63FGfgFB8mAAk33aH9h5N9lphXVOHSXEBFFsmYdOBedVKly363aWABjZdaj/m9lBfEY4wt+w==} + engines: {node: ^20.19.0 || >=22.12.0} + + oxlint@1.75.0: + resolution: {integrity: sha512-m9WzjRcRYA/uqIZDa9tclrieoPJ/ln1QYTKdFx6NUOs8uY5DiHlIwRQoCrHT6OM6O3ww3l2skY5gO7G7ZphE7g==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - oxlint-tsgolint: '>=0.15.0' + oxlint-tsgolint: '>=7.0.2001' + vite-plus: '*' peerDependenciesMeta: oxlint-tsgolint: optional: true - - p-cancelable@0.3.0: - resolution: {integrity: sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==} - engines: {node: '>=4'} + vite-plus: + optional: true p-cancelable@0.4.1: resolution: {integrity: sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==} @@ -13272,21 +10956,9 @@ packages: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} - p-defer@1.0.0: - resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==} - engines: {node: '>=4'} - - p-event@1.3.0: - resolution: {integrity: sha512-hV1zbA7gwqPVFcapfeATaNjQ3J0NuzorHPyG8GPL9g/Y/TplWVBVoCKCXL6Ej2zscrCEv195QNWJXuBH6XZuzA==} - engines: {node: '>=4'} - - p-event@2.3.1: - resolution: {integrity: sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==} - engines: {node: '>=6'} - - p-event@5.0.1: - resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-cancelable@4.0.1: + resolution: {integrity: sha512-wBowNApzd45EIKdO1LaU+LrMBwAcjfPaYtVzV3lmfM3gf8Z4CHZsiIqlM8TZZ8okYvh5A1cP6gTfCRQtwUpaUg==} + engines: {node: '>=14.16'} p-event@6.0.1: resolution: {integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==} @@ -13304,10 +10976,6 @@ packages: resolution: {integrity: sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==} engines: {node: '>=4'} - p-limit@1.3.0: - resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} - engines: {node: '>=4'} - p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -13316,14 +10984,6 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-locate@2.0.0: - resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} - engines: {node: '>=4'} - p-locate@3.0.0: resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} engines: {node: '>=6'} @@ -13336,42 +10996,14 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-map-series@1.0.0: - resolution: {integrity: sha512-4k9LlvY6Bo/1FcIdV33wqZQES0Py+iKISU9Uc8p8AjWoZPnFKMpVIVD3s0EYn4jzLh1I+WeUZkJ0Yoa4Qfw3Kg==} - engines: {node: '>=4'} - p-map@2.1.0: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} engines: {node: '>=6'} - p-map@5.5.0: - resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} - engines: {node: '>=12'} - - p-pipe@1.2.0: - resolution: {integrity: sha512-IA8SqjIGA8l9qOksXJvsvkeQ+VGb0TAzNCzvKvz9wt5wWLqfWbV6fXy43gpR2L4Te8sOq3S+Ql9biAaMKPdbtw==} - engines: {node: '>=4'} - p-queue@6.6.2: resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} engines: {node: '>=8'} - p-queue@8.1.1: - resolution: {integrity: sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==} - engines: {node: '>=18'} - - p-reduce@1.0.0: - resolution: {integrity: sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==} - engines: {node: '>=4'} - - p-timeout@1.2.1: - resolution: {integrity: sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==} - engines: {node: '>=4'} - p-timeout@2.0.1: resolution: {integrity: sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==} engines: {node: '>=4'} @@ -13380,34 +11012,18 @@ packages: resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} engines: {node: '>=8'} - p-timeout@5.1.0: - resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} - engines: {node: '>=12'} - p-timeout@6.1.4: resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==} engines: {node: '>=14.16'} - p-try@1.0.0: - resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} - engines: {node: '>=4'} - p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - pac-proxy-agent@5.0.0: - resolution: {integrity: sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==} - engines: {node: '>= 8'} - pac-proxy-agent@7.2.0: resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==} engines: {node: '>= 14'} - pac-resolver@5.0.1: - resolution: {integrity: sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==} - engines: {node: '>= 8'} - pac-resolver@7.0.1: resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} engines: {node: '>= 14'} @@ -13422,9 +11038,6 @@ packages: package-manager-detector@0.2.11: resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} - pako@0.2.9: - resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} - param-case@3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} @@ -13439,15 +11052,6 @@ packages: resolution: {integrity: sha512-mrMwHEIn8mCgTTZxCVtXbcv8+Suf13z+81004BupjoAfZfIuwEzOYy9NNS3xKYXRRVR7Ej1sjvgjjcqQmYGK4A==} engines: {node: '>=8.11'} - parse-github-url@1.0.3: - resolution: {integrity: sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==} - engines: {node: '>= 0.10'} - hasBin: true - - parse-json@2.2.0: - resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} - engines: {node: '>=0.10.0'} - parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} @@ -13456,10 +11060,6 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} - parse-ms@3.0.0: - resolution: {integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==} - engines: {node: '>=12'} - parse-ms@4.0.0: resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} engines: {node: '>=18'} @@ -13470,20 +11070,17 @@ packages: parse-url@5.0.8: resolution: {integrity: sha512-KFg5QvyiOKJGQSwUT7c5A4ELs0TJ33gmx/NBjK0FvZUD6aonFuXHUVa3SIa2XpbYVkYU8VlDrD3oCbX1ufy0zg==} - parse-url@6.0.5: - resolution: {integrity: sha512-e35AeLTSIlkw/5GFq70IN7po8fmDUjpDPY1rIK+VubRfsUvBonjQ+PBZG+vWMACnQSmNlvl524IucoDmcioMxA==} - - parse5-htmlparser2-tree-adapter@7.1.0: - resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} + parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} - parse5-parser-stream@7.1.2: - resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} - parse5@8.0.0: - resolution: {integrity: sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==} + parse5@8.0.1: + resolution: {integrity: sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==} parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} @@ -13492,10 +11089,6 @@ packages: pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} - pascalcase@0.1.1: - resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} - engines: {node: '>=0.10.0'} - passport-http-bearer@1.0.1: resolution: {integrity: sha512-SELQM+dOTuMigr9yu8Wo4Fm3ciFfkMq5h/ZQ8ffi4ELgZrX1xh9PlglqZdcUZ1upzJD/whVyt+YWF62s3U6Ipw==} engines: {node: '>= 0.4.0'} @@ -13508,8 +11101,8 @@ packages: resolution: {integrity: sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==} engines: {node: '>= 0.4.0'} - passport@0.4.1: - resolution: {integrity: sha512-IxXgZZs8d7uFSt3eqNjM9NQ3g3uQCW5avD8mRNoXV99Yig50vjuaez6dQK2qC0kVWPRTujxY0dWgGfT09adjYg==} + passport@0.7.0: + resolution: {integrity: sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==} engines: {node: '>= 0.4.0'} patch-console@2.0.0: @@ -13521,19 +11114,17 @@ packages: engines: {node: '>=10', npm: '>5'} hasBin: true + patch-package@8.0.1: + resolution: {integrity: sha512-VsKRIA8f5uqHQ7NGhwIna6Bx6D9s/1iXlA1hthBVBEbkq+t4kXD0HHt+rJhf/Z+Ci0F/HCB2hvn0qLdLG+Qxlw==} + engines: {node: '>=14', npm: '>5'} + hasBin: true + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} path-case@3.0.4: resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} - path-dirname@1.0.2: - resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==} - - path-exists@2.1.0: - resolution: {integrity: sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==} - engines: {node: '>=0.10.0'} - path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} @@ -13542,10 +11133,6 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -13568,22 +11155,12 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@2.0.1: - resolution: {integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==} - engines: {node: 20 || >=22} - path-scurry@2.0.2: resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} engines: {node: 18 || 20 || >=22} - path-to-regexp@0.1.12: - resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} - - path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - - path-to-regexp@1.9.0: - resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + path-to-regexp@0.1.13: + resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} path-to-regexp@3.3.0: resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} @@ -13594,14 +11171,6 @@ packages: path-to-regexp@8.4.2: resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==} - path-type@1.1.0: - resolution: {integrity: sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==} - engines: {node: '>=0.10.0'} - - path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} - path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -13619,18 +11188,9 @@ packages: resolution: {integrity: sha512-peBp3qZyuS6cNIJ2akRNG1uo1WJ1d0wTxg/fxMdZ0BqCVhx242bSFHM9eNqflfJVS9SsgkzgT/1UgnsurBOTMg==} engines: {node: '>=14.16'} - peek-stream@1.1.3: - resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==} - pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - performance-now@2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - - pico-s3@1.1.4: - resolution: {integrity: sha512-GAHyE7TST5RHnWSiuyoDUzqRHkXeS5nrxzrc1oNOVyAQyR4zD+veNc1d/tNnVb3kkFpjrE3t6pOkXDKHLfN2/g==} - pico-s3@2.11.0: resolution: {integrity: sha512-0s7ADLmQdgZ5clqbGdXamOwig++1PrcjtgMvnB/F17GOA8e9WbbZeNHa3hxZfnhn9O0n/w1HXKzfbxsJppcqJg==} @@ -13640,30 +11200,31 @@ packages: picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} engines: {node: '>=8.6'} - picomatch@4.0.4: - resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + picomatch@4.0.5: + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} engines: {node: '>=12'} - pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + pidtree@0.6.1: + resolution: {integrity: sha512-e0F9AOF1JMrCfBsyJOwU9lNvQ0WtXTq0j/4jk0BQ5JSI9VAybPXmDpPRw/2FQ3e5d3ZFN1mLh7jW99m/jjaptw==} engines: {node: '>=0.10'} hasBin: true - pidusage@2.0.21: - resolution: {integrity: sha512-cv3xAQos+pugVX+BfXpHsbyz/dLzX+lr44zNMsYiGxUw+kV5sgQCIcLd1z+0vq+KyC7dJ+/ts2PsfgWfSC3WXA==} - engines: {node: '>=8'} + pidtree@1.0.0: + resolution: {integrity: sha512-avfAvjB9Dd0wdj3rjJX//yS+G79OO0KrS5pJHFJENjYGX6N4SMgEDBBI/yFy0lloOYSaC6XQxzpOAMPfSYFV/Q==} + engines: {node: '>=18'} + hasBin: true pidusage@3.0.2: resolution: {integrity: sha512-g0VU+y08pKw5M8EZ2rIGiEBaB8wrQMjYGFfW2QVIfyT8V+fq8YFLkvlz4bz5ljvFDJYNFCWT3PWqcRr2FKO81w==} engines: {node: '>=10'} - pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} + pidusage@4.0.1: + resolution: {integrity: sha512-yCH2dtLHfEBnzlHUJymR/Z1nN2ePG3m392Mv8TFlTP1B0xkpMQNHAnfkY0n2tAi6ceKO6YWhxYfZ96V4vVkh/g==} + engines: {node: '>=18'} pify@3.0.0: resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} @@ -13673,87 +11234,41 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - ping@0.4.4: - resolution: {integrity: sha512-56ZMC0j7SCsMMLdOoUg12VZCfj/+ZO+yfOSjaNCRrmZZr6GLbN2X/Ui56T15dI8NhiHckaw5X2pvyfAomanwqQ==} - engines: {node: '>=4.0.0'} - - pinkie-promise@2.0.1: - resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} - engines: {node: '>=0.10.0'} - - pinkie@2.0.4: - resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} - engines: {node: '>=0.10.0'} - - pirates@4.0.7: - resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} - engines: {node: '>= 6'} + ping@1.0.0: + resolution: {integrity: sha512-3dxdgGtV+7P/EVo42JhkGSomeO/0GGicSz3mI/yK+AI+VGNAOfakw5XfcbGI4IjyBY+ZZwvuRXdhnNF2uliKew==} + engines: {node: '>=22.0.0'} pkce-challenge@5.0.1: resolution: {integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==} engines: {node: '>=16.20.0'} - pkg-conf@4.0.0: - resolution: {integrity: sha512-7dmgi4UY4qk+4mj5Cd8v/GExPo0K+SlY+hulOSdfZ/T6jVH6//y7NtzZo5WrfhDBxuQ0jCa7fLZmNaNh7EWL/w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - pkg-dir@3.0.0: - resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} - engines: {node: '>=6'} - pkg-up@3.1.0: resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} engines: {node: '>=8'} - playwright-core@1.58.0: - resolution: {integrity: sha512-aaoB1RWrdNi3//rOeKuMiS65UCcgOVljU46At6eFcOFPFHWtd2weHRRow6z/n+Lec0Lvu0k9ZPKJSjPugikirw==} + playwright-core@1.61.1: + resolution: {integrity: sha512-h7Qlt6m4REp25qvIdvbDtVmD4LqVXfpRxhORv9L0jzETM05p4fuPJ3dKyuSXQxDSbXnmS79HAgi9589lGSpLkg==} engines: {node: '>=18'} hasBin: true - playwright@1.58.0: - resolution: {integrity: sha512-2SVA0sbPktiIY/MCOPX8e86ehA/e+tDNq+e5Y8qjKYti2Z/JG7xnronT/TXTIkKbYGWlCbuucZ6dziEgkoEjQQ==} + playwright@1.61.1: + resolution: {integrity: sha512-DWnY5o3YbLWK4GovuAVwpqL+1VwGNdUGrRr++8j8PtQQzvAVZUIMjKQ90fY689sEJZJBbZVw1rXaOKSTitkzPQ==} engines: {node: '>=18'} hasBin: true - plur@5.1.0: - resolution: {integrity: sha512-VP/72JeXqak2KiOzjgKtQen5y3IZHn+9GOuLDafPv0eXa47xq0At93XahYBs26MsifCQ4enGKwbjBTKgb9QJXg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - pm2-axon-rpc@0.7.1: - resolution: {integrity: sha512-FbLvW60w+vEyvMjP/xom2UPhUN/2bVpdtLfKJeYM3gwzYhoTEEChCOICfFzxkxuoEleOlnpjie+n1nue91bDQw==} - engines: {node: '>=5'} - - pm2-axon@4.0.1: - resolution: {integrity: sha512-kES/PeSLS8orT8dR5jMlNl+Yu4Ty3nbvZRmaAtROuVm9nYYGiaoXqqKQqQYzWQzMYWUKHMQTvBlirjE5GIIxqg==} - engines: {node: '>=5'} - pm2-deploy@1.0.2: resolution: {integrity: sha512-YJx6RXKrVrWaphEYf++EdOOx9EH18vM8RSZN/P1Y+NokTKqYAca/ejXwVLyiEpNju4HPZEk3Y2uZouwMqUlcgg==} engines: {node: '>=4.0.0'} - pm2-multimeter@0.1.2: - resolution: {integrity: sha512-S+wT6XfyKfd7SJIBqRgOctGxaBzUOmVQzTAS+cg04TsEUObJVreha7lvCfX8zzGVr871XwCSnHUU7DQQ5xEsfA==} - - pm2-sysmonit@1.2.8: - resolution: {integrity: sha512-ACOhlONEXdCTVwKieBIQLSi2tQZ8eKinhcr9JpZSUAL8Qy0ajIgRtsLxG/lwPOW3JEKqPyw/UaHmTWhUzpP4kA==} - - pm2@5.4.3: - resolution: {integrity: sha512-4/I1htIHzZk1Y67UgOCo4F1cJtas1kSds31N8zN0PybO230id1nigyjGuGFzUnGmUFPmrJ0On22fO1ChFlp7VQ==} - engines: {node: '>=12.0.0'} + pm2@7.0.3: + resolution: {integrity: sha512-zRJOdburpb9OEPB0uqoNT8C1Gp7hPJPVy4Kr67XJNuT9UlMQcOt1WXrYQUmwqKPHk8FyauvP1CPhqoCrCaPw0Q==} + engines: {node: '>=18.0.0'} hasBin: true pngjs@5.0.0: resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} engines: {node: '>=10.13.0'} - portfinder@1.0.38: - resolution: {integrity: sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==} - engines: {node: '>= 10.12'} - - posix-character-classes@0.1.1: - resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} - engines: {node: '>=0.10.0'} - possible-typed-array-names@1.1.0: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} @@ -13861,12 +11376,12 @@ packages: resolution: {integrity: sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==} engines: {node: '>=8'} - postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + postcss-selector-parser@6.1.4: + resolution: {integrity: sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==} engines: {node: '>=4'} - postcss-selector-parser@7.1.1: - resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} + postcss-selector-parser@7.1.4: + resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==} engines: {node: '>=4'} postcss-svgo@4.0.3: @@ -13887,21 +11402,14 @@ packages: resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} engines: {node: '>=6.0.0'} - postcss@8.5.15: - resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} - engines: {node: ^10 || ^12 || >=14} - - postcss@8.5.8: - resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==} + postcss@8.5.21: + resolution: {integrity: sha512-v4sDNP3fdNiWMfabO7OwOQdOX8TiQSztKyT1Wj0w+j7LDallJThJRBBBmzVGyYj0crMh7jlV4zepPkiNu9UwDQ==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.9: - resolution: {integrity: sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==} + postcss@8.5.22: + resolution: {integrity: sha512-KBDEIpLrvpv16pp3K0Fw+UCoZfopFjjgeB+0tA/aaThfEE74kKDLrgg603YvOWJyg3+WYtyq3xYsQWsIyZlPqQ==} engines: {node: ^10 || ^12 || >=14} - posthog-js@1.363.2: - resolution: {integrity: sha512-4ZEWMrymlFzjgDSmh25VeJQT//2XUFbfKqEPDNUW4dxcqWiVMo1+gJFy5YhJgVYS46OAXLbMcJgmuZBCnDIgVg==} - postman-2-swagger@0.5.0: resolution: {integrity: sha512-raRuEilqUkCOP9w0wht+5k2CXaqiHSvlsBl/lNfXGaC5Xut53bZ9Tqs8rMPKnINPstapU//x+wgxZ6q/QzlGrg==} peerDependencies: @@ -13918,33 +11426,23 @@ packages: resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} engines: {node: '>=20'} + powershell-utils@0.2.0: + resolution: {integrity: sha512-ZlsFlG7MtSFCoc5xreOvBAozCJ6Pf06opgJjh9ONEv418xpZSAzNjstD36C6+JwOnfSqOW/9uDkqKjezTdxZhw==} + engines: {node: '>=20'} + preact@10.29.0: resolution: {integrity: sha512-wSAGyk2bYR1c7t3SZ3jHcM6xy0lcBcDel6lODcs9ME6Th++Dx2KU+6D3HD8wMMKGA8Wpw7OMd3/4RGzYRpzwRg==} - precise-commits@1.0.2: - resolution: {integrity: sha512-PYkoNTFXVvZRzJTDxdgzmPanhSNGj5Wtj2NgSo7IhwNXGcKktX+L4DJhyIrhFSLsWWAvd+cYyyU2eXlaX5QxzA==} - hasBin: true - peerDependencies: - prettier: '>=1.8.0' - - prelude-ls@1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} - engines: {node: '>= 0.8.0'} - prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prepend-http@1.0.4: - resolution: {integrity: sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==} - engines: {node: '>=0.10.0'} - prepend-http@2.0.0: resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} engines: {node: '>=4'} - prettier-plugin-tailwindcss@0.7.2: - resolution: {integrity: sha512-LkphyK3Fw+q2HdMOoiEHWf93fNtYJwfamoKPl7UwtjFQdei/iIBoX11G6j706FzN3ymX9mPVi97qIY8328vdnA==} + prettier-plugin-tailwindcss@0.8.1: + resolution: {integrity: sha512-iaFMYqDsE4ffdDkn5qup0j5f2aCEBFZrdrZnvu9QKTlWx/iGPeQ4HHu7b7fCPMxeo9nwQBiOAh2nSypdFYWJkw==} engines: {node: '>=20.19'} peerDependencies: '@ianvs/prettier-plugin-sort-imports': '*' @@ -14003,55 +11501,22 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.7.4: - resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==} - engines: {node: '>=14'} - hasBin: true - - prettier@3.8.1: - resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} - engines: {node: '>=14'} - hasBin: true - - prettier@3.8.3: - resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==} + prettier@3.9.6: + resolution: {integrity: sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==} engines: {node: '>=14'} hasBin: true - pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} - - pretty-bytes@7.1.0: - resolution: {integrity: sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==} - engines: {node: '>=20'} - pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - pretty-ms@8.0.0: - resolution: {integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==} - engines: {node: '>=14.16'} - pretty-ms@9.3.0: resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} engines: {node: '>=18'} - prismjs@1.30.0: - resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} - engines: {node: '>=6'} - - proc-log@3.0.0: - resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - process-streams@1.0.3: - resolution: {integrity: sha512-xkIaM5vYnyekB88WyET78YEqXiaJRy0xcvIdE22n+myhvBT7LlLmX6iAtq7jDvVH8CUx2rqQsd32JdRyJMV3NA==} - process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} @@ -14064,40 +11529,15 @@ packages: resolution: {integrity: sha512-sF308EhTenb/pDRPakm+WgiN+VdM/T1RaHj1x+MvAuT8UiQP8JmOEbxVqtkbfR4LrvOg5n7ic01kRBDGXjYikA==} engines: {node: '>=10'} - promise.allsettled@1.0.5: - resolution: {integrity: sha512-tVDqeZPoBC0SlzJHzWGZ2NKAguVq2oiYj7gbggbiTvH2itHohijTp7njOUA0aQ/nl+0lr/r6egmhoYu63UZ/pQ==} - engines: {node: '>= 0.4'} - - promptly@2.2.0: - resolution: {integrity: sha512-aC9j+BZsRSSzEsXBNBwDnAxujdx19HycZoKgRgzWnS8eOHg1asuf9heuLprfbe739zY3IdUQx+Egv6Jn135WHA==} - - prompts@2.4.0: - resolution: {integrity: sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==} - engines: {node: '>= 6'} - prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} - prop-types-exact@1.2.7: - resolution: {integrity: sha512-A4RaV6mg3jocQqBYmqi2ojJ2VnV4AKTEHhl3xHsud08/u87gcVJc8DUOtgnPegoOCQv/shUqEk4eZGYibjnHzQ==} - engines: {node: '>= 0.8'} - - prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - - property-information@7.1.0: - resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} - - proto-list@1.2.4: - resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + property-information@7.2.0: + resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==} - protobufjs@6.11.4: - resolution: {integrity: sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==} - hasBin: true - - protobufjs@7.5.4: - resolution: {integrity: sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==} + protobufjs@7.6.5: + resolution: {integrity: sha512-/FPD0nUc9jH6rfFjji9IBqOz4pcSE3CsT1m7Ep6Mdb0LxSUMj8hgl6GomOvZzpNpAqqGaXA0P3VSrZLFzIhQrw==} engines: {node: '>=12.0.0'} protocols@1.4.8: @@ -14110,14 +11550,6 @@ packages: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} - proxy-agent@5.0.0: - resolution: {integrity: sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==} - engines: {node: '>= 8'} - - proxy-agent@6.3.1: - resolution: {integrity: sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==} - engines: {node: '>= 14'} - proxy-agent@6.5.0: resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==} engines: {node: '>= 14'} @@ -14140,25 +11572,15 @@ packages: psl@1.15.0: resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} - public-ip@4.0.4: - resolution: {integrity: sha512-EJ0VMV2vF6Cu7BIPo3IMW1Maq6ME+fbR0NcPmqDfpfNGIRPue1X8QrGjrg/rfjDkOsIkKHIf2S5FlEa48hFMTA==} - engines: {node: '>=8'} - - pump@2.0.1: - resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} + public-ip@8.0.0: + resolution: {integrity: sha512-XzVyz98rNQiTRciAC+I4w45fWWxM9KKedDGNtH4unPwBcWo2Y9n7kgPXqlTiWqKN0EFlIIU1i8yrWOy9mxgZ8g==} + engines: {node: '>=20'} pump@3.0.3: resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} - pumpify@1.5.1: - resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} - - punycode.js@2.3.1: - resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} - engines: {node: '>=6'} - - punycode@1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + pump@3.0.4: + resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} @@ -14176,6 +11598,10 @@ packages: resolution: {integrity: sha512-MWL3XbUCfVgGR0gRsidzT6oKJT2QydPLhMITU6HoVWiiv4gkb6gJi3pcdAa8q4HwjBTbqISOWVP4aJiiyUJvag==} engines: {node: '>=18'} + puppeteer-core@25.3.0: + resolution: {integrity: sha512-fm+wpUr2oigH1PXZvwgATrM2tYWHMDG8ASzTEe9uukCye4X5Ldx1K5BTHPFKITrIWvQQAQ256d1NpbEveBcKjA==} + engines: {node: '>=22.12.0'} + puppeteer-extra-plugin-block-resources@2.4.3: resolution: {integrity: sha512-WLxkytm3Nn6D+3N8lFMIi9lL9lLA1mTRHZAflR+zDs9/d1oOYVy52pWPaiQaetOObgfHDpPlHBmzHE2Yhr3ZnQ==} engines: {node: '>=8'} @@ -14271,11 +11697,13 @@ packages: engines: {node: '>=18'} hasBin: true - pure-rand@6.1.0: - resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + puppeteer@25.3.0: + resolution: {integrity: sha512-O1tx8S315aw8eI99HZ5ZNcVEzJ9+jKF//eO5UvfZ3cXJ6okZ5sX3Y50u7DJaM+ewEK4LqXP068tBhfRaWikj+g==} + engines: {node: '>=22.12.0'} + hasBin: true - pure-rand@8.4.1: - resolution: {integrity: sha512-c58R2+SPFcSIPXoU834QN/KPDDOSd8sXcSrqf6e83Me6Rrp1EYkxukkjXMVrKvKaADs1SOyNkWdfvLf6zY8qLQ==} + pure-rand@8.4.2: + resolution: {integrity: sha512-vvuOGgcuPJAirlHvuQw1TrOiw7ptaIXXmIbNuiNOY6lNGJJH49PQ1Kj4nd783nPdQhQdicgOjVI2yI/9BD6/Ng==} q@1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} @@ -14294,20 +11722,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - qs@6.14.0: - resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} - engines: {node: '>=0.6'} - - qs@6.15.0: - resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} - engines: {node: '>=0.6'} - - qs@6.5.3: - resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} - engines: {node: '>=0.6'} - - qs@6.7.0: - resolution: {integrity: sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==} + qs@6.15.3: + resolution: {integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==} engines: {node: '>=0.6'} quansync@0.2.11: @@ -14316,9 +11732,6 @@ packages: quansync@1.0.0: resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} - query-selector-shadow-dom@1.0.1: - resolution: {integrity: sha512-lT5yCqEBgfoMYpf3F2xQRK7zEr1rhIIZuceDK6+xRkJQ4NMbHTwXqk4NkwDwQMNqXgG9r9fyHnzwNVs6zV5KRw==} - query-string@5.1.1: resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} engines: {node: '>=0.10.0'} @@ -14349,24 +11762,10 @@ packages: peerDependencies: vue: '>= 3.2.0' - raf@3.4.1: - resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==} - - railroad-diagrams@1.0.0: - resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==} - - randexp@0.4.6: - resolution: {integrity: sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==} - engines: {node: '>=0.12'} - random-bytes@1.0.0: resolution: {integrity: sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==} engines: {node: '>= 0.8'} - randomatic@3.1.1: - resolution: {integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==} - engines: {node: '>= 0.10.0'} - randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -14382,27 +11781,22 @@ packages: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} + range-parser@1.3.0: + resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} + engines: {node: '>= 0.6'} + range_check@2.0.4: resolution: {integrity: sha512-aed0ocXXj+SIiNNN9b+mZWA3Ow2GXHtftOGk2xQwshK5GbEZAvUcPWNQBLTx/lPcdFRIUFlFCRtHTQNIFMqynQ==} engines: {node: '>=10.0.0'} - raw-body@1.1.7: - resolution: {integrity: sha512-WmJJU2e9Y6M5UzTOkHaM7xJGAPQD8PNzx3bAd2+uhZAim6wDk6dAZxPVYLF67XhbR4hmKGh33Lpmh4XWrCH5Mg==} - engines: {node: '>= 0.8.0'} - deprecated: No longer maintained. Please upgrade to a stable version. - - raw-body@2.4.0: - resolution: {integrity: sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==} - engines: {node: '>= 0.8'} - - raw-body@2.4.1: - resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} - engines: {node: '>= 0.8'} - raw-body@2.5.3: resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} engines: {node: '>= 0.8'} + raw-body@3.0.0: + resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} + engines: {node: '>= 0.8'} + raw-body@3.0.2: resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} engines: {node: '>= 0.10'} @@ -14411,51 +11805,22 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - react-dev-utils@11.0.4: - resolution: {integrity: sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==} - engines: {node: '>=10'} - peerDependencies: - typescript: '>=2.7' - webpack: '>=4' - peerDependenciesMeta: - typescript: - optional: true - - react-dom@16.14.0: - resolution: {integrity: sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==} - peerDependencies: - react: ^16.14.0 - - react-dom@19.2.4: - resolution: {integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==} - peerDependencies: - react: ^19.2.4 + re2js@0.4.3: + resolution: {integrity: sha512-EuNmh7jurhHEE8Ge/lBo9JuMLb3qf866Xjjfyovw3wPc7+hlqDkZq4LwhrCQMEI+ARWfrKrHozEndzlpNT0WDg==} - react-dom@19.2.6: - resolution: {integrity: sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==} + react-dom@19.2.8: + resolution: {integrity: sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==} peerDependencies: - react: ^19.2.6 - - react-error-overlay@6.1.0: - resolution: {integrity: sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==} - - react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + react: ^19.2.8 react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - react-medium-image-zoom@5.4.5: - resolution: {integrity: sha512-58QSIRK6X3uw2fSTejJRnH0JuKTZl7ZJYX+sAMaYx4YTEm33gsNdnP5RuQSCnBiAvisQeErqZWAT31bR89WB6g==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - - react-reconciler@0.29.2: - resolution: {integrity: sha512-zZQqIiYgDCTP/f1N/mAR10nJGrPD2ZR+jDSEsKWJHYC7Cm2wodlwbR3upZRdC3cjIjSlTLNVyO7Iu0Yy7t2AYg==} + react-reconciler@0.33.0: + resolution: {integrity: sha512-KetWRytFv1epdpJc3J4G75I4WrplZE5jOL7Yq0p34+OVOKF4Se7WrdIdVC45XsSSmUTlht2FM/fM1FZb1mfQeA==} engines: {node: '>=0.10.0'} peerDependencies: - react: ^18.3.1 + react: ^19.2.0 react-remove-scroll-bar@2.3.8: resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} @@ -14487,39 +11852,14 @@ packages: '@types/react': optional: true - react-test-renderer@16.14.0: - resolution: {integrity: sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==} - peerDependencies: - react: ^16.14.0 - - react@16.14.0: - resolution: {integrity: sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==} - engines: {node: '>=0.10.0'} - - react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} - engines: {node: '>=0.10.0'} - - react@19.2.4: - resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==} - engines: {node: '>=0.10.0'} - - react@19.2.6: - resolution: {integrity: sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==} - engines: {node: '>=0.10.0'} - - read-pkg-up@1.0.1: - resolution: {integrity: sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==} + react@19.2.8: + resolution: {integrity: sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==} engines: {node: '>=0.10.0'} read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} - read-pkg@1.1.0: - resolution: {integrity: sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==} - engines: {node: '>=0.10.0'} - read-pkg@5.2.0: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} @@ -14528,20 +11868,13 @@ packages: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} - read-yaml-file@2.1.0: - resolution: {integrity: sha512-UkRNRIwnhG+y7hpqnycCL/xbTk7+ia9VuVTC0S+zVbwd65DI9eUpRMfsWIGrCWxTU/mi+JW8cHQCrv+zfCbEPQ==} - engines: {node: '>=10.13'} - - read@1.0.7: - resolution: {integrity: sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==} - engines: {node: '>=0.8'} + read@3.0.1: + resolution: {integrity: sha512-SLBrDU/Srs/9EoWhU5GdbAoxG1GzpQHo/6qiGItaoLJ1thmYpcNIM1qISEUvyHBzfGlWIyd6p2DNi1oV1VmAuw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} readable-stream@1.0.34: resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} - readable-stream@1.1.14: - resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} - readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -14561,22 +11894,14 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - readdirp@4.1.2: - resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} - engines: {node: '>= 14.18.0'} - readdirp@5.0.0: resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} engines: {node: '>= 20.19.0'} - recast@0.23.11: - resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==} + recast@0.23.12: + resolution: {integrity: sha512-dEWRjcINDu/F4l2dYx57ugBtD7HV9KXESyxhzw/MqWLeglJrsjJKqACPyUPg+6AF8mIgm+Zi0dZ3ACoIg+QtpA==} engines: {node: '>= 4'} - rechoir@0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} - recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} @@ -14591,21 +11916,21 @@ packages: recma-stringify@1.0.0: resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} - recursive-readdir@2.2.2: - resolution: {integrity: sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==} - engines: {node: '>=0.10.0'} - redaxios@0.5.1: resolution: {integrity: sha512-FSD2AmfdbkYwl7KDExYQlVvIrFz6Yd83pGfaGjBzM9F6rpq8g652Q4Yq5QD4c+nf4g2AgeElv1y+8ajUPiOYMg==} - redent@1.0.0: - resolution: {integrity: sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==} - engines: {node: '>=0.10.0'} - redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} + redis-errors@1.2.0: + resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} + engines: {node: '>=4'} + + redis-parser@3.0.0: + resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} + engines: {node: '>=4'} + reduce-flatten@2.0.0: resolution: {integrity: sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==} engines: {node: '>=6'} @@ -14614,20 +11939,6 @@ packages: resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} - regenerate-unicode-properties@10.2.2: - resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - - regex-not@1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} - regex-recursion@6.0.2: resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} @@ -14641,10 +11952,6 @@ packages: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} - regexpu-core@6.4.0: - resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} - engines: {node: '>=4'} - registry-auth-token@3.3.2: resolution: {integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==} @@ -14660,13 +11967,6 @@ packages: resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} engines: {node: '>=8'} - regjsgen@0.8.0: - resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - - regjsparser@0.13.0: - resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} - hasBin: true - rehype-external-links@3.0.0: resolution: {integrity: sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==} @@ -14688,14 +11988,6 @@ packages: rehype-stringify@10.0.1: resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==} - reinterval@1.1.0: - resolution: {integrity: sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==} - - release-it@14.14.3: - resolution: {integrity: sha512-CU3ySDOzkcdpaJmzKG7QXhimWVOkh9dVqVMr5tBWXhAd5oWvUdH8Lo4Tq37eYOhcVLxoukRR2vrY8mt7wSULSw==} - engines: {node: '>=10'} - hasBin: true - remark-gfm@4.0.1: resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} @@ -14714,48 +12006,6 @@ packages: remark@15.0.1: resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} - remarkable@1.7.4: - resolution: {integrity: sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==} - engines: {node: '>= 0.10.0'} - hasBin: true - - remarkable@2.0.1: - resolution: {integrity: sha512-YJyMcOH5lrR+kZdmB0aJJ4+93bEojRZ1HGDn9Eagu6ibg7aVZhc3OWbbShRid+Q5eAfsEqWxpe+g5W5nYNfNiA==} - engines: {node: '>= 6.0.0'} - hasBin: true - - remove-markdown@0.2.2: - resolution: {integrity: sha512-jwgEf3Yh/xi4WodWi/vPlasa9C9pMv1kz5ITOIAGjBW7PeZ/CHZCdBfJzQnn2VX2cBvf1xCuJv0tUJqn/FCMNA==} - - remove-trailing-separator@1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - - repeat-element@1.1.4: - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} - engines: {node: '>=0.10.0'} - - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - - repeating@2.0.1: - resolution: {integrity: sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==} - engines: {node: '>=0.10.0'} - - replace-ext@1.0.1: - resolution: {integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==} - engines: {node: '>= 0.10'} - - request@2.88.0: - resolution: {integrity: sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==} - engines: {node: '>= 4'} - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 - - request@2.88.2: - resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} - engines: {node: '>= 6'} - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -14764,18 +12014,14 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - require-in-the-middle@5.2.0: - resolution: {integrity: sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==} - engines: {node: '>=6'} - require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - reselect@5.1.1: - resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} + reselect@5.2.0: + resolution: {integrity: sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==} reserved-identifiers@1.2.0: resolution: {integrity: sha512-yE7KUfFvaBFzGPs5H3Ops1RevfUEsDc5Iz65rOwWg4lE8HJSYtle77uul3+573457oHvBKuHYDl/xqUkKpEEdw==} @@ -14784,10 +12030,6 @@ packages: resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} - resolve-from@3.0.0: resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} engines: {node: '>=4'} @@ -14803,12 +12045,8 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - resolve-url@0.2.1: - resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} - deprecated: https://github.com/lydell/resolve-url#deprecated - - resolve@1.22.11: - resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + resolve@1.22.12: + resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} engines: {node: '>= 0.4'} hasBin: true @@ -14818,9 +12056,9 @@ packages: responselike@2.0.1: resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} - restore-cursor@2.0.0: - resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} - engines: {node: '>=4'} + responselike@4.0.2: + resolution: {integrity: sha512-cGk8IbWEAnaCpdAt1BHzJ3Ahz5ewDJa0KseTsE3qIRMJ3C698W8psM7byCeWVpd/Ha7FUYzuRVzXoKoM6nRUbA==} + engines: {node: '>=20'} restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} @@ -14834,17 +12072,6 @@ packages: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} - ret@0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - - retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - - retry@0.6.1: - resolution: {integrity: sha512-txv1qsctZq8ei9J/uCXgaKKFPjlBB0H2hvtnzw9rjKWFNUFtKh59WprXxpAeAey3/QeWwHdxMFqStPaOAgy+dA==} - rettime@0.10.1: resolution: {integrity: sha512-uyDrIlUEH37cinabq0AX4QbgV4HbFZ/gqoiunWQ1UqBtRvTTytwhNYjE++pO/MjPTZL5KQCf2bEoJ/BJNVQ5Kw==} @@ -14852,6 +12079,9 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + rgb-regex@1.0.1: resolution: {integrity: sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==} @@ -14873,20 +12103,20 @@ packages: engines: {node: 20 || >=22} hasBin: true - rolldown-plugin-dts@0.23.2: - resolution: {integrity: sha512-PbSqLawLgZBGcOGT3yqWBGn4cX+wh2nt5FuBGdcMHyOhoukmjbhYAl8NT9sE4U38Cm9tqLOIQeOrvzeayM0DLQ==} - engines: {node: '>=20.19.0'} + rolldown-plugin-dts@0.27.12: + resolution: {integrity: sha512-DJg5ELVEdLAVhirvtak7GS4nbNvBzLNAtYL1M8hLghDURBFKU2MwEH6ncHibYs6khq1NaRQ97iFMiHvzw+WoSw==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - '@ts-macro/tsc': ^0.3.6 - '@typescript/native-preview': '>=7.0.0-dev.20260325.1' - rolldown: ^1.0.0-rc.12 - typescript: ^5.0.0 || ^6.0.0 - vue-tsc: ~3.2.0 + '@typescript/native-preview': '*' + '@volar/typescript': ~2.4.0 + rolldown: ^1.0.0 + typescript: ^5.0.0 || ^6.0.0 || ~7.0.0 + vue-tsc: ~3.2.0 || ~3.3.0 peerDependenciesMeta: - '@ts-macro/tsc': - optional: true '@typescript/native-preview': optional: true + '@volar/typescript': + optional: true typescript: optional: true vue-tsc: @@ -14897,25 +12127,21 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rolldown@1.0.0-rc.15: - resolution: {integrity: sha512-Ff31guA5zT6WjnGp0SXw76X6hzGRk/OQq2hE+1lcDe+lJdHSgnSX6nK3erbONHyCbpSj9a9E+uX/OvytZoWp2g==} + rolldown@1.1.5: + resolution: {integrity: sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rolldown@1.0.1: - resolution: {integrity: sha512-X0KQHljNnEkWNqqiz9zJrGunh1B0HgOxLXvnFpCOcadzcy5qohZ3tqMEUg00vncoRovXuK3ZqCT9KnnKzoInFQ==} + rolldown@1.2.0: + resolution: {integrity: sha512-u7tgm5l4Yw1iTqUL4EcYOAt7fFvCgQMLeidrnD4GALlC6aOznCjezYajgxeyKw27u0Q5N7fwgCzjVyPIWzwuBA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rollup@2.79.2: - resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==} - engines: {node: '>=10.0.0'} + rollup@4.62.2: + resolution: {integrity: sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rotated-array-set@1.0.0: - resolution: {integrity: sha512-MmMz9ERrZw7DVn8e6V7U/wkAWzEaULiPySEBXLWh4nA/F5gwSFx96bu+As4wyDpZ9bdhc+flB1CyTYmStwZo8A==} - engines: {node: '>=12'} - rou3@0.8.1: resolution: {integrity: sha512-ePa+XGk00/3HuCqrEnK3LxJW7I0SdNg6EFzKUJG73hMAdDcOUC/i/aSz7LSDwLrGr33kal/rqOGydzwl6U7zBA==} @@ -14923,17 +12149,10 @@ packages: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} - rst-selector-parser@2.2.3: - resolution: {integrity: sha512-nDG1rZeP6oFTLN6yNDV/uiAvs1+FS/KlrEwh7+y7dpuApDBy6bI2HTBcc0/V8lv9OTqfyD34eF7au2pm8aBbhA==} - run-applescript@7.1.0: resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} engines: {node: '>=18'} - run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -14943,22 +12162,16 @@ packages: rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - safe-array-concat@1.1.3: - resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + safe-array-concat@1.1.4: + resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==} engines: {node: '>=0.4'} safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - safe-buffer@5.2.0: - resolution: {integrity: sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==} - safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-json-parse@1.0.1: - resolution: {integrity: sha512-o0JmTu17WGUaUOHa1l0FPGXKBfijbxK6qoHzlkihsDXxzBHvJcA7zgviKR92Xs841rX9pK16unfphLq0/KqX7A==} - safe-push-apply@1.0.0: resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} engines: {node: '>= 0.4'} @@ -14967,9 +12180,6 @@ packages: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} - safe-regex@1.1.0: - resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} - safe-stable-stringify@2.5.0: resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} engines: {node: '>=10'} @@ -14983,19 +12193,14 @@ packages: sax@1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} - sax@1.4.3: - resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==} + sax@1.6.0: + resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} + engines: {node: '>=11.0.0'} saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} - scheduler@0.19.1: - resolution: {integrity: sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==} - - scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} - scheduler@0.27.0: resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} @@ -15009,51 +12214,25 @@ packages: secure-json-parse@4.1.0: resolution: {integrity: sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==} - seek-bzip@1.0.6: - resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==} - hasBin: true - semver-diff@3.1.1: resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} engines: {node: '>=8'} - semver-regex@2.0.0: - resolution: {integrity: sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==} - engines: {node: '>=6'} - - semver-truncate@1.1.2: - resolution: {integrity: sha512-V1fGg9i4CL3qesB6U0L6XAm4xOJiHmt4QAacazumuasc03BvtFGIMCduv01JWQ69Nv+JST9TqhSCiJoxoY031w==} - engines: {node: '>=0.10.0'} - semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true - semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true - semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.3.4: - resolution: {integrity: sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==} - engines: {node: '>=10'} - hasBin: true - semver@7.3.5: resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true - semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - - semver@7.7.3: - resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} engines: {node: '>=10'} hasBin: true @@ -15067,20 +12246,17 @@ packages: engines: {node: '>=10'} hasBin: true - send@0.17.1: - resolution: {integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==} - engines: {node: '>= 0.8.0'} + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} - send@0.19.0: - resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} - engines: {node: '>= 0.8.0'} - - send@0.19.1: - resolution: {integrity: sha512-p4rRk4f23ynFEfcD9LA0xRYngj+IyGiEYyqqOak8kaN0TvNmuxC2dcVeBn62GpCeR2CpWqyHCNScTP91QbAVFg==} + send@0.19.2: + resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} engines: {node: '>= 0.8.0'} send@1.2.1: @@ -15090,49 +12266,27 @@ packages: sentence-case@3.0.4: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} - serialize-error@7.0.1: - resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} - engines: {node: '>=10'} - - seroval-plugins@1.5.2: - resolution: {integrity: sha512-qpY0Cl+fKYFn4GOf3cMiq6l72CpuVaawb6ILjubOQ+diJ54LfOWaSSPsaswN8DRPIPW4Yq+tE1k5aKd7ILyaFg==} - engines: {node: '>=10'} - peerDependencies: - seroval: ^1.0 - - seroval-plugins@1.5.4: - resolution: {integrity: sha512-S0xQPhUTefAhNvNWFg0c1J8qJArHt5KdtJ/cFAofo06KD1MVSeFWyl4iiu+ApDIuw0WhjpOfCdgConOfAnLgkw==} + seroval-plugins@1.5.6: + resolution: {integrity: sha512-HXuLAX2pu/UByPpaeo/TaMfvMIi+1QqIoPJYCcAtU8QkVNwgR6MPlGuCQTErV1JwraaMbYaWVIBX7mppzGLATQ==} engines: {node: '>=10'} peerDependencies: seroval: ^1.0 - seroval@1.5.4: - resolution: {integrity: sha512-46uFvgrXTVxZcUorgSSRZ4y+ieqLLQRMlG4bnCZKW3qI6BZm7Rg4ntMW4p1mILEEBZWrFlcpp0AyIIlM6jD9iw==} + seroval@1.5.6: + resolution: {integrity: sha512-rVQVWjjSvlINzaQPZH5JFqsqEsIWdTxY3iJZCnTL/5gQbXIRooVZKI60tVCkOVfzcRPejboxO2t0P89dg5mQaA==} engines: {node: '>=10'} - serve-handler@6.1.6: - resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==} - serve-handler@6.1.7: resolution: {integrity: sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==} - serve-static@1.14.1: - resolution: {integrity: sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==} - engines: {node: '>= 0.8.0'} - - serve-static@1.16.2: - resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + serve-static@1.16.3: + resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} engines: {node: '>= 0.8.0'} serve-static@2.2.1: resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} engines: {node: '>= 18'} - serve@14.2.5: - resolution: {integrity: sha512-Qn/qMkzCcMFVPb60E/hQy+iRLpiU8PamOfOSYoAHmmF+fFFmpPpqa6Oci2iWYpTdOUM3VF+TINud7CfbQnsZbA==} - engines: {node: '>= 14'} - hasBin: true - serve@14.2.6: resolution: {integrity: sha512-QEjUSA+sD4Rotm1znR8s50YqA3kYpRGPmtd5GlFxbaL9n/FdUNbqMhxClqdditSk0LlZyA/dhud6XNRTOC9x2Q==} engines: {node: '>= 14'} @@ -15141,6 +12295,9 @@ packages: set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + set-cookie-parser@3.1.0: + resolution: {integrity: sha512-kjnC1DXBHcxaOaOXBHBeRtltsDG2nUiUni+jP92M9gYdW12rsmx92UsfpH7o5tDRs7I1ZZPSQJQGv3UaRfCiuw==} + set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -15149,39 +12306,22 @@ packages: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} - set-getter@0.1.1: - resolution: {integrity: sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==} - engines: {node: '>=0.10.0'} - set-proto@1.0.0: resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} engines: {node: '>= 0.4'} - set-value@2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} - - setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - - setprototypeof@1.1.1: - resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} - setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - shadcn@4.1.2: - resolution: {integrity: sha512-qNQcCavkbYsgBj+X09tF2bTcwRd8abR880bsFkDU2kMqceMCLAm5c+cLg7kWDhfh1H9g08knpQ5ZEf6y/co16g==} + shadcn@4.14.0: + resolution: {integrity: sha512-WSSMmB9ERauwy0SQwE0NlSfeaoBANHtzgSjAfoEsIHpRQwVkQBiiLV8Y9yAYOj9Wf3mbCIdQt3oLGzkH7NQFiQ==} + engines: {node: '>=20.18.1'} hasBin: true shallow-clone@0.1.2: resolution: {integrity: sha512-J1zdXCky5GmNnuauESROVu31MQSnLoYvlyEn6j2Ztk6Q5EHFIhxkMhYcv6vuDzl2XEzoRr856QwzMgWM/TmZgw==} engines: {node: '>=0.10.0'} - shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} - sharp@0.34.5: resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -15202,29 +12342,18 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shell-quote@1.7.2: - resolution: {integrity: sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==} - - shell-quote@1.8.3: - resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + shell-quote@1.10.0: + resolution: {integrity: sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA==} engines: {node: '>= 0.4'} - shelljs@0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} - hasBin: true + shell-quote@1.8.4: + resolution: {integrity: sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==} + engines: {node: '>= 0.4'} - shiki@4.1.0: - resolution: {integrity: sha512-l/ABZPUR5v70jI10EzqfMS/I96vjSGv2y0ihUV+WYFzv0EfvW4s54m0Lg8wCrrL+2IkwBzFTuxkZjPf8b2NX9Q==} + shiki@4.3.1: + resolution: {integrity: sha512-oR+qDVi2OjX1tmDpyv+3KviX01KzO6Af+0NNnKnsp9491UEGz2YpxTuJboS/6VhYpTdqzmuJBuiTlrAWWJAssw==} engines: {node: '>=20'} - shimmer@1.2.1: - resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} - - short-tree@1.0.0: - resolution: {integrity: sha512-SPhGxbdypMMjYlmdVL/dzBUCT/5FboztmleoS4WPgvCI7DqZXv8xrLSTuJqzmmuAtCTkgxkIKzfZ+jfJR6ODZg==} - engines: {node: '>=12'} - should-equal@2.0.0: resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} @@ -15248,8 +12377,8 @@ packages: should@13.2.3: resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} - side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + side-channel-list@1.0.1: + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} engines: {node: '>= 0.4'} side-channel-map@1.0.1: @@ -15260,8 +12389,8 @@ packages: resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} engines: {node: '>= 0.4'} - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + side-channel@1.1.1: + resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} engines: {node: '>= 0.4'} siginfo@2.0.0: @@ -15277,24 +12406,17 @@ packages: simple-swizzle@0.2.4: resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} - simple-zstd@1.4.2: - resolution: {integrity: sha512-kGYEvT33M5XfyQvvW4wxl3eKcWbdbCc1V7OZzuElnaXft0qbVzoIIXHXiCm3JCUki+MZKKmvjl8p2VGLJc5Y/A==} + simple-zstd@2.1.0: + resolution: {integrity: sha512-pYzmKWl167db0EHoczlsSpmyjvZ7OinXciHicDEtlHjSKZlo1hPz6tXSyOfS84QIrbWPYT0XW9tx24YtGdQ6cA==} + engines: {node: '>=22.0.0'} - sinon@9.2.4: - resolution: {integrity: sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg==} + sinon@11.1.2: + resolution: {integrity: sha512-59237HChms4kg7/sXhiRcUzdSkKuydDeTiamT/jesUVHshBgL8XAmhgFo0GfK6RruMDM/iRSij1EybmMog9cJw==} deprecated: 16.1.1 sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - sitemap@3.2.2: - resolution: {integrity: sha512-TModL/WU4m2q/mQcrDgNANn0P4LwprM9MMvG4hu5zP4c6IIKs2YLTu6nXXnNr8ODW/WFtxKggiJ1EGn2W0GNmg==} - engines: {node: '>=6.0.0', npm: '>=4.0.0'} - - slash@1.0.0: - resolution: {integrity: sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==} - engines: {node: '>=0.10.0'} - slash@2.0.0: resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} engines: {node: '>=6'} @@ -15303,21 +12425,9 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - - slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - - slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} - - slice-ansi@7.1.2: - resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==} - engines: {node: '>=18'} + slice-ansi@9.0.0: + resolution: {integrity: sha512-SO/3iYL5S3W57LLEniscOGPZgOqZUPCx6d3dB+52B80yJ0XstzsC/eV8gnA4tM3MHDrKz+OCFSLNjswdSC+/bA==} + engines: {node: '>=22'} smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} @@ -15326,34 +12436,26 @@ packages: smashah-puppeteer-page-proxy@1.2.9: resolution: {integrity: sha512-fPZLw3gbi74tp7ZDGYBAOXA8YdcMK33px7UeLLF7P4daqjkCRUJmgNwAl8nE2K/smfdtnTgMRY8w+HX3piN6eA==} + smob@1.6.2: + resolution: {integrity: sha512-RQsvleCbF8cVHEv+xuDGaA4pOizFqJ0GgjtMSRo6oP8pnN7WsigHgVGey6aILRBKv4W2YOMHLqbKdnB6hpB9fw==} + engines: {node: '>=20.0.0'} + snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} - snapdragon-node@2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} - engines: {node: '>=0.10.0'} + socket.io-adapter@2.5.8: + resolution: {integrity: sha512-6Oy52pbg+kvdCVvjcN+FnY7BvxZ7cIHNScbvztT/It5d0vbwoJoVZmF2gjJmnV0/4WlXRfG15zc45ySk9Ah8bw==} - snapdragon-util@3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} - - snapdragon@0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} - - socket.io-adapter@2.5.5: - resolution: {integrity: sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==} - - socket.io-client@4.8.1: - resolution: {integrity: sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==} + socket.io-client@4.8.3: + resolution: {integrity: sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g==} engines: {node: '>=10.0.0'} - socket.io-parser@4.2.4: - resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} + socket.io-parser@4.2.7: + resolution: {integrity: sha512-IH/iSeO9T6gz1KkFleGDWkG9N3dl4jXVYUtMhIqH10Md0ttMer8nUNWiP1DKuNrybD2xBrixLJdCC9J6ECoYkg==} engines: {node: '>=10.0.0'} - socket.io@4.8.1: - resolution: {integrity: sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==} + socket.io@4.8.3: + resolution: {integrity: sha512-2Dd78bqzzjE6KPkD5fHZmDAKRNe3J15q+YHDrIsy9WEkqttc7GY+kT9OBLSMaPbQaEd0x1BjcmtMtXkfpc+T5A==} engines: {node: '>=10.2.0'} socks-proxy-agent@5.0.1: @@ -15364,8 +12466,8 @@ packages: resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} engines: {node: '>= 14'} - socks@2.8.7: - resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} + socks@2.8.9: + resolution: {integrity: sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} solid-js@1.9.12: @@ -15377,14 +12479,6 @@ packages: react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc - sort-keys-length@1.0.1: - resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} - engines: {node: '>=0.10.0'} - - sort-keys@1.1.2: - resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==} - engines: {node: '>=0.10.0'} - sort-keys@2.0.0: resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==} engines: {node: '>=4'} @@ -15393,21 +12487,9 @@ packages: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} - source-map-resolve@0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - source-map-url@0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated - - source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -15419,9 +12501,6 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - spawn-command@0.0.2: - resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} - spawndamnit@3.0.1: resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} @@ -15434,8 +12513,8 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.22: - resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==} + spdx-license-ids@3.0.23: + resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==} spinnies@0.5.1: resolution: {integrity: sha512-WpjSXv9NQz0nU3yCT9TFEOfpFrXADY9C5fG6eAJqixLhvTX1jP3w92Y8IE5oafIe42nlF9otjhllnXN/QCaB3A==} @@ -15444,12 +12523,9 @@ packages: resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} engines: {node: '>=6'} - split-string@3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} - - split2@3.2.2: - resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} split@0.3.3: resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} @@ -15457,27 +12533,15 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - sprintf-js@1.1.2: - resolution: {integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==} - - squeak@1.3.0: - resolution: {integrity: sha512-YQL1ulInM+ev8nXX7vfXsCsDh6IqXlrremc1hzi77776BtpWgYJUMto3UM05GSAaGzJgWekszjoKDrVNB5XG+A==} - engines: {node: '>=0.10.0'} - srcset@1.0.0: resolution: {integrity: sha512-UH8e80l36aWnhACzjdtLspd4TAWldXJMa45NuOkTTU+stwekswObdqM63TtQixN4PPd/vO/kxLa6RD+tUPeFMg==} engines: {node: '>=0.10.0'} - srvx@0.11.15: - resolution: {integrity: sha512-iXsux0UcOjdvs0LCMa2Ws3WwcDUozA3JN3BquNXkaFPP7TpRqgunKdEgoZ/uwb1J6xaYHfxtz9Twlh6yzwM6Tg==} + srvx@0.11.22: + resolution: {integrity: sha512-LqZxxBDMKuMAZzFzJnDCkFOrs9MZQZr0LvHiO/SuSZVdQaXD7xQ5UWTUxheJrQPve1qk9MG2B/yttUvJxw8egQ==} engines: {node: '>=20.16.0'} hasBin: true - sshpk@1.18.0: - resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} - engines: {node: '>=0.10.0'} - hasBin: true - stable-hash-x@0.2.0: resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==} engines: {node: '>=12.0.0'} @@ -15496,13 +12560,8 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - static-extend@0.1.2: - resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} - engines: {node: '>=0.10.0'} - - statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} + standard-as-callback@2.1.0: + resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} @@ -15512,13 +12571,17 @@ packages: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} - std-env@4.0.0: - resolution: {integrity: sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==} + std-env@4.2.0: + resolution: {integrity: sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==} stdin-discarder@0.2.2: resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} engines: {node: '>=18'} + stdin-discarder@0.3.2: + resolution: {integrity: sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==} + engines: {node: '>=18'} + stop-iteration-iterator@1.1.0: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} @@ -15530,16 +12593,16 @@ packages: stream-combiner@0.0.4: resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} - stream-shift@1.0.3: - resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} - - streamsearch@0.1.2: - resolution: {integrity: sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA==} - engines: {node: '>=0.8.0'} + streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} streamx@2.23.0: resolution: {integrity: sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==} + streamx@2.28.0: + resolution: {integrity: sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw==} + strict-event-emitter@0.5.1: resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} @@ -15551,10 +12614,6 @@ packages: resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} engines: {node: '>=4'} - string-argv@0.1.2: - resolution: {integrity: sha512-mBqPGEOMNJKXRo7z0keX0wlAhbBAjilUdPW13nN0PecVryZxdHIeM7TqbsSUA7VYuS00HGC6mojP7DlQzfa9ZA==} - engines: {node: '>=0.6.19'} - string-byte-length@3.0.1: resolution: {integrity: sha512-yJ8vP0HMwZ54CcA8S8mKoXbkezpZHANFtmafFo8lGxZThCQcAwRHjdFabuSLgOzxj9OFJcmssmiAvmcOK4O2Hw==} engines: {node: '>=18.18.0'} @@ -15563,13 +12622,6 @@ packages: resolution: {integrity: sha512-GWv2K4lYyd2+AhmKH3BV+OVx62xDX+99rSLfKpaqFiQU7uOMaUY1tDjdrRD4gsrCr9lTyjMgjna7tZcCOw+Smg==} engines: {node: '>=18.18.0'} - string-template@0.2.1: - resolution: {integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==} - - string-width@1.0.2: - resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} - engines: {node: '>=0.10.0'} - string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -15582,12 +12634,16 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} - string.prototype.trim@1.2.10: - resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + string-width@8.2.2: + resolution: {integrity: sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==} + engines: {node: '>=20'} + + string.prototype.trim@1.2.11: + resolution: {integrity: sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==} engines: {node: '>= 0.4'} - string.prototype.trimend@1.0.9: - resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + string.prototype.trimend@1.0.10: + resolution: {integrity: sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==} engines: {node: '>= 0.4'} string.prototype.trimstart@1.0.8: @@ -15614,53 +12670,22 @@ packages: resolution: {integrity: sha512-6f94vIED6vmJJfh3lyVsVWxCYSfI5uM+16ntED/Ql37XIyV6kj0mRAAiTeMMc/QLYIaizC3bUprQ8pQnDDrKfA==} engines: {node: '>=20'} - strip-ansi@3.0.1: - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} - engines: {node: '>=0.10.0'} - strip-ansi@5.2.0: resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} engines: {node: '>=6'} - strip-ansi@6.0.0: - resolution: {integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==} - engines: {node: '>=8'} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - strip-ansi@7.1.2: - resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} - engines: {node: '>=12'} - strip-ansi@7.2.0: resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} engines: {node: '>=12'} - strip-bom@2.0.0: - resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} - engines: {node: '>=0.10.0'} - strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - - strip-color@0.1.0: - resolution: {integrity: sha512-p9LsUieSjWNNAxVCXLeilaDlmuUOrDS5/dF9znM1nZc7EGX5+zEFC0bEevsNIaldjlks+2jns5Siz6F9iK6jwA==} - engines: {node: '>=0.10.0'} - - strip-dirs@2.1.0: - resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==} - - strip-eof@1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} - strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -15669,11 +12694,6 @@ packages: resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} engines: {node: '>=18'} - strip-indent@1.0.1: - resolution: {integrity: sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==} - engines: {node: '>=0.10.0'} - hasBin: true - strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -15682,19 +12702,8 @@ packages: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - strip-outer@1.0.1: - resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} - engines: {node: '>=0.10.0'} - - strnum@1.1.2: - resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} - - strtok3@10.3.4: - resolution: {integrity: sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg==} + strtok3@10.3.5: + resolution: {integrity: sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==} engines: {node: '>=18'} strtok3@7.1.1: @@ -15714,32 +12723,26 @@ packages: resolution: {integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==} engines: {node: '>=6.9.0'} + super-regex@0.2.0: + resolution: {integrity: sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw==} + engines: {node: '>=14.16'} + super-regex@1.1.0: resolution: {integrity: sha512-WHkws2ZflZe41zj6AolvvmaTrWds/VuyeYr9iPVv/oQeaIoVxMKaushfFWpOGDT+GuBrM/sVqF8KUCYQlSSTdQ==} engines: {node: '>=18'} - superagent@3.8.3: - resolution: {integrity: sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==} - engines: {node: '>= 4.0'} - deprecated: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net - - supertap@3.0.1: - resolution: {integrity: sha512-u1ZpIBCawJnO+0QePsEiOknOfCRq0yERxiAchT0i4li0WHNUJbf0evXXSXOcCAR4M8iMDoajXYmstm/qO81Isw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + superagent@10.3.0: + resolution: {integrity: sha512-B+4Ik7ROgVKrQsXTV0Jwp2u+PXYLSlqtDAhYnkkD+zn3yg8s/zjA2MeGayPoY/KICrbitwneDHrjSotxKL+0XQ==} + engines: {node: '>=14.18.0'} - supertest@4.0.2: - resolution: {integrity: sha512-1BAbvrOZsGA3YTCWqbmh14L0YEq0EGICX/nBnfkfVJn7SrxQV1I3pMYjSzG9y/7ZU2V9dWqyqk2POwxlb09duQ==} - engines: {node: '>=6.0.0'} - deprecated: Please upgrade to supertest v7.1.3+, see release notes at https://github.com/forwardemail/supertest/releases/tag/v7.1.3 - maintenance is supported by Forward Email @ https://forwardemail.net + supertest@7.2.2: + resolution: {integrity: sha512-oK8WG9diS3DlhdUkcFn4tkNIiIbBx9lI2ClF8K+b2/m8Eyv47LSawxUzZQSNKUrVb2KsqeTDCcjAAVPYaSLVTA==} + engines: {node: '>=14.18.0'} supports-color@10.2.2: resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} engines: {node: '>=18'} - supports-color@2.0.0: - resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} - engines: {node: '>=0.8.0'} - supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -15760,10 +12763,6 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - suretype@2.4.1: - resolution: {integrity: sha512-dWWBT6A2sDcBM0fz2l88idBkPuHNBMtQ3TuuPid6F2/vqgVs3QddDLpyt1Ze3q4bdmVxHCfZsfXBkgfrXF7vHA==} - engines: {node: '>=12'} - svgo@1.3.2: resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==} engines: {node: '>=4.0.0'} @@ -15778,14 +12777,17 @@ packages: swagger-ui-dist@4.19.1: resolution: {integrity: sha512-n/gFn+R7G/BXWwl5UZLw6F1YgWOlf3zkwGlsPhTMhNtAAolBGKg0JS5b2RKt5NI6/hSopVaSrki2wTIMUDDy2w==} + swagger-ui-dist@5.32.9: + resolution: {integrity: sha512-8i2tzJQi+7bgxESMD2hg/UBumbTsf6vLbtu4cW5ETPz/B070UuS0rTP1hu6WSH81HcsHqYalJE+rP21Vg96rUQ==} + swagger-ui-express@4.6.3: resolution: {integrity: sha512-CDje4PndhTD2HkgyKH3pab+LKspDeB/NhPN2OF1j+piYIamQqBYwAXWESOT1Yju2xFg51bRW9sUng2WxDjzArw==} engines: {node: '>= v0.10.32'} peerDependencies: express: '>=4.0.0 || >=5.0.0-beta' - swr@2.4.1: - resolution: {integrity: sha512-2CC6CiKQtEwaEeNiqWTAw9PGykW8SR5zZX8MZk6TeAvEAnVS7Visz8WzphqgtQ8v2xz/4Q5K+j+SeMaKXeeQIA==} + swr@2.4.2: + resolution: {integrity: sha512-ej644Y2bvkIajfR32KGeSSdBXQW+ScjGjkybZgSE7kFpk9eGnV44XY9FJylXi+W75pavSX1PVNB57W5EbhGIYw==} peerDependencies: react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -15797,19 +12799,59 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - syncpack@11.2.1: - resolution: {integrity: sha512-WoUtm+ZLmWUvy0cLJy8ds/smVRH3ivI6iANcGTPrsvareCc4SmRVMvr+TwjZyFm0FDGmEfMVsAX7z16+yxL6bQ==} - engines: {node: '>=16'} + syncpack-darwin-arm64@15.3.2: + resolution: {integrity: sha512-rQwZOvWJbvUzhBySbKnvs+F5khmdkH2W/kTZo+zz6UfH651K9z2fiOYlcpDPX0L97m566gRxVmOr930ygB97ZQ==} + cpu: [arm64] + os: [darwin] + + syncpack-darwin-x64@15.3.2: + resolution: {integrity: sha512-91CWe9Pamfmlm2nY8bCL5z8GYOafGJUm/nQqtvaQDZ9SS25c6Gn8LDfRu6JSKV0dcI1zOH3EiRCM0K/kn9Mpiw==} + cpu: [x64] + os: [darwin] + + syncpack-linux-arm64-musl@15.3.2: + resolution: {integrity: sha512-IzI4Sr1rFDuF7FFbZ+ti+qA2/0Rp/aGNgzoUzNH28wYJkJMv9KBBr3Nygc1jsoO1+XE1JkYsXkJHuSFrwiwtgA==} + cpu: [arm64] + os: [linux] + + syncpack-linux-arm64@15.3.2: + resolution: {integrity: sha512-eApeUFLb8yFHAFnCyHicDieTBW0eR3HsaKSWPMmz+VOQOpZYl0cmqbRLtunsYN6OykRi9Sl1faYjKmyETow7Gg==} + cpu: [arm64] + os: [linux] + + syncpack-linux-x64-musl@15.3.2: + resolution: {integrity: sha512-dohyuYgUVHdSFz1KYW/XngyYSiSV3tarroYRsloYsT8bcSStkh2vJVBht0eMl1OFTh3Hb6lNEC12Pgtw4gWTcg==} + cpu: [x64] + os: [linux] + + syncpack-linux-x64@15.3.2: + resolution: {integrity: sha512-xrzBZx3DjKoece2h3Olv/Y/U7b1eNorWTMiF407m0tO5KJp5u926TMeHlldaA5GRCkVJBe5VaI33WYTJF753oQ==} + cpu: [x64] + os: [linux] + + syncpack-windows-arm64@15.3.2: + resolution: {integrity: sha512-ZGjVpyS8PW6Y69HyXOb8RYVWRQ+hlRklqdgOp+x+eqrCRidGho8z2nN5tleMGzcaMC7hg+qSPFh5u6Fy/BXr4w==} + cpu: [arm64] + os: [win32] + + syncpack-windows-x64@15.3.2: + resolution: {integrity: sha512-9zKWNXGhd3rryQjcpBjs02pKgvIzuz3PUS+vKL4vWnDu5VoHad4e6TzL4pvn+VfAm4wXzcuS9fZkxLBEMPLerw==} + cpu: [x64] + os: [win32] + + syncpack@15.3.2: + resolution: {integrity: sha512-RKYfXFQlrIWosTheNbyJg3xHNjTDrW2mOvwxAz3XGghrUDN4hDjhKPCTAQrUtGZw9hNeIr37qRO3/+EP927Vtg==} + engines: {node: '>=14.17.0'} hasBin: true - systeminformation@5.27.13: - resolution: {integrity: sha512-geeE/7eNDoOhdc9j+qCsLlwbcyh0HnqhOZzmfNK4WBioWGUZbhwYrg+YZsZ3UJh4tmybQsnDuqzr3UoumMifew==} - engines: {node: '>=8.0.0'} + systeminformation@5.33.0: + resolution: {integrity: sha512-0LYSL01CCbjVeJG7iXI8fUCFU76zMjzbHd/EU3or4QpSFYCLMgslR11prwHuA3siz5jmOkqoLhjgOyDRmXBKmA==} + engines: {node: '>=10.0.0'} os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true - tabbable@6.4.0: - resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==} + tabbable@6.5.0: + resolution: {integrity: sha512-wieBHXygIm7OyQOu5hQlkk62/WyCFYGlWg7L6/ZCUZwx0o398Zkn4pVmMyfYhfMG8kGrj/Krt8eIk6UKC6VzwA==} table-layout@1.0.2: resolution: {integrity: sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==} @@ -15823,15 +12865,8 @@ packages: resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} engines: {node: '>=20'} - tail@2.2.6: - resolution: {integrity: sha512-IQ6G4wK/t8VBauYiGPLx+d3fA5XjSVagjWV5SIYzvEvglbQjwEcukeYI68JOPpdydjxhZ9sIgzRlSmwSpphHyw==} - engines: {node: '>= 6.0.0'} - - tailwind-merge@2.6.0: - resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==} - - tailwind-merge@3.4.0: - resolution: {integrity: sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==} + tailwind-merge@3.5.0: + resolution: {integrity: sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==} tailwind-merge@3.6.0: resolution: {integrity: sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==} @@ -15841,26 +12876,12 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || insiders' - tailwindcss@4.2.2: - resolution: {integrity: sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==} - - tailwindcss@4.3.0: - resolution: {integrity: sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==} - - takumi-js@1.6.0: - resolution: {integrity: sha512-1+Vd0c7Z2YykJx2BkRK2iMbyPLTWzVtlSt+Kb7fMQGO2UOUmNijthr7uHx5CZTyLt3EDjuqepjlUlr6WwmtwuA==} - - tapable@1.1.3: - resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} - engines: {node: '>=6'} - - tapable@2.3.0: - resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} - engines: {node: '>=6'} + tailwindcss@4.3.3: + resolution: {integrity: sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==} - tapable@2.3.2: - resolution: {integrity: sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==} - engines: {node: '>=6'} + takumi-js@2.4.1: + resolution: {integrity: sha512-8+iPvoxWp7ur962zvsb+kNK80HlnMjYGYjf6+oNIfcN8n91or3Zct48KlOmpdsWkK1ZWSWvxS1BqL1TcJigrbg==} + engines: {node: '>=18'} tapable@2.3.3: resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} @@ -15869,40 +12890,27 @@ packages: tar-fs@3.1.1: resolution: {integrity: sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==} - tar-stream@1.6.2: - resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} - engines: {node: '>= 0.8.0'} + tar-fs@3.1.3: + resolution: {integrity: sha512-/hU4AXnIdZu+Gvl1pk0oI5f5HxWsCJRtY2aFaJdk9VvyL48DWU6iU5WAIPG+wIi1YvWA6eTJvIviP/tMAZZNwQ==} tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} - tar@4.4.19: - resolution: {integrity: sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==} - engines: {node: '>=4.5'} - deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + tar-stream@3.2.0: + resolution: {integrity: sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==} - tar@6.1.11: - resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==} - engines: {node: '>= 10'} - deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + tar@7.5.19: + resolution: {integrity: sha512-4LeEWl96twnS2Q7Bz4MGqgazLqO+hJN63GZxXoIqh1T3VweYD997gbU1ItNsQafqqXTXd5WFyFdReLtwvRBNiw==} + engines: {node: '>=18'} - tcp-port-used@1.0.2: - resolution: {integrity: sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==} + tcp-port-used@1.0.3: + resolution: {integrity: sha512-4CEQ3qRJYo+mtEbJ+OoQu3dF4TDkwaO3RDVC4UzP5cpAOIUWwuwPjD7sdxDFFqsMUjsXVVYBMlg/boAaloThMA==} tdigest@0.1.2: resolution: {integrity: sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==} - temp-dir@1.0.0: - resolution: {integrity: sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==} - engines: {node: '>=4'} - - temp-dir@3.0.0: - resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} - engines: {node: '>=14.16'} - - tempfile@2.0.0: - resolution: {integrity: sha512-ZOn6nJUgvgC09+doCEF3oB+r3ag7kUvlsXEGX069QRD60p+P3uP7XG9N2/at+EyIRGSN//ZY3LyEotA1YpmjuA==} - engines: {node: '>=4'} + teex@1.0.1: + resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==} term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} @@ -15912,12 +12920,16 @@ packages: resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} engines: {node: '>=8'} + terminal-size@4.0.1: + resolution: {integrity: sha512-avMLDQpUI9I5XFrklECw1ZEUPJhqzcwSWsyyI8blhRLT+8N1jLJWLWWYQpB2q2xthq8xDvjZPISVh53T/+CLYQ==} + engines: {node: '>=18'} + terminate@2.8.0: resolution: {integrity: sha512-bcbjJEg0wY5nuJXvGxxHfmoEPkyHLCctUKO6suwtxy7jVSgGcgPeGwpbLDLELFhIaxCGRr3dPvyNg1yuz2V0eg==} engines: {node: '>=12'} - terser-webpack-plugin@5.6.0: - resolution: {integrity: sha512-Eum+5ajkaOhf5KbM26osvv21kLD7BaGqQ1UA4Ami4arYwylmGUQTgHFpHDdmJod1q4QXa66p0to/FBKID+J1vA==} + terser-webpack-plugin@5.6.1: + resolution: {integrity: sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==} engines: {node: '>= 10.13.0'} peerDependencies: '@minify-html/node': '*' @@ -15959,48 +12971,34 @@ packages: uglify-js: optional: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} + terser@5.49.0: + resolution: {integrity: sha512-SNiDnXyHSrxVcIOtVbULzcTmniUiwcV7Nwdyj1twVubeTmbjoa8p69KKDpfkdoOavuM4/GRm1+ykI8qqnavHoA==} engines: {node: '>=10'} hasBin: true text-decoder@1.2.3: resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} + text-decoder@1.2.7: + resolution: {integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==} + text-hex@1.0.0: resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - throttleit@2.1.0: resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} engines: {node: '>=18'} - through2-filter@3.0.0: - resolution: {integrity: sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==} - through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - through2@4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - tightrope@0.1.0: - resolution: {integrity: sha512-HHHNYdCAIYwl1jOslQBT455zQpdeSo8/A346xpIb/uuqhSg+tCvYNsP5f11QW+z9VZ3vSX8YIfzTApjjuGH63w==} - engines: {node: '>=14'} - time-span@5.1.0: resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==} engines: {node: '>=12'} - time-zone@1.0.0: - resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} - engines: {node: '>=4'} - timed-out@4.0.1: resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} engines: {node: '>=0.10.0'} @@ -16008,77 +13006,57 @@ packages: timsort@0.3.0: resolution: {integrity: sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==} - tiny-glob@0.2.9: - resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} - tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - tiny-lr@1.1.1: - resolution: {integrity: sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==} - tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@1.1.1: - resolution: {integrity: sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==} + tinyexec@1.2.4: + resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} engines: {node: '>=18'} - tinyexec@1.1.2: - resolution: {integrity: sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==} - engines: {node: '>=18'} - - tinyglobby@0.2.16: - resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} tinyrainbow@3.1.0: resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} engines: {node: '>=14.0.0'} - tldts-core@7.0.27: - resolution: {integrity: sha512-YQ7uPjgWUibIK6DW5lrKujGwUKhLevU4hcGbP5O6TcIUb+oTjJYJVWPS4nZsIHrEEEG6myk/oqAJUEQmpZrHsg==} + tldts-core@6.1.86: + resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} + + tldts-core@7.4.9: + resolution: {integrity: sha512-DxKfPBI52p2msTEu7MPhdpdDTBhhVQg1a/8PjQckeyAvO13eMYElX545grIp6nnTGIMZlRvFZPvFhvI/WIz2Vg==} + + tldts@6.1.86: + resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} + hasBin: true - tldts@7.0.27: - resolution: {integrity: sha512-I4FZcVFcqCRuT0ph6dCDpPuO4Xgzvh+spkcTr1gK7peIvxWauoloVO0vuy1FQnijT63ss6AsHB6+OIM4aXHbPg==} + tldts@7.4.9: + resolution: {integrity: sha512-3kZ8wQQ/k5DrChD4X4FVvr2D7E5uoRgAqkPyLpSCGUvqOvqu+JEdr3mwMUaVWb+vMHZaKhF5fp2PBigKsui7hA==} hasBin: true + tmp-promise@3.0.3: + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} - to-absolute-glob@2.0.2: - resolution: {integrity: sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==} - engines: {node: '>=0.10.0'} - - to-buffer@1.2.2: - resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} - engines: {node: '>= 0.4'} - - to-object-path@0.3.0: - resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} - engines: {node: '>=0.10.0'} + tmp@0.2.7: + resolution: {integrity: sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==} + engines: {node: '>=14.14'} to-readable-stream@1.0.0: resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} engines: {node: '>=6'} - to-regex-range@2.1.1: - resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} - engines: {node: '>=0.10.0'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - to-regex@3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} - - toidentifier@1.0.0: - resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} - engines: {node: '>=0.6'} - toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} @@ -16087,49 +13065,33 @@ packages: resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==} engines: {node: '>=14.16'} - token-types@6.1.1: - resolution: {integrity: sha512-kh9LVIWH5CnL63Ipf0jhlBIy0UsrMj/NJDfpsy1SqOXlLKEVyXXYrnFxFT1yOOYVGBSApeVnjPw/sBz5BfEjAQ==} + token-types@6.1.2: + resolution: {integrity: sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==} engines: {node: '>=14.16'} - toml@2.3.6: - resolution: {integrity: sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==} - - toml@4.1.2: - resolution: {integrity: sha512-m0vXfHODcw3gk+KONAOlVQ5yNHc3yS3B1ybM3HS1vqDoS0RWTDDVBVVTYi8hH0k+2OM1vmo9fb1WX9EVqjqfHA==} + toml@4.3.0: + resolution: {integrity: sha512-lVb8X9BsPVuH0M4BKeS91tXAmJvCjQ5UIyAbQFaxkKGyUFK2RPkhwaFSQH8vbpl1d23eu/IBH+dwVMHWaq9A5A==} engines: {node: '>=20'} - toposort@2.0.2: - resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==} - - tough-cookie@2.4.3: - resolution: {integrity: sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==} - engines: {node: '>=0.8'} - - tough-cookie@2.5.0: - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} - engines: {node: '>=0.8'} - tough-cookie@4.1.4: resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} engines: {node: '>=6'} - tough-cookie@6.0.1: - resolution: {integrity: sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==} + tough-cookie@5.1.2: + resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} + engines: {node: '>=16'} + + tough-cookie@6.0.2: + resolution: {integrity: sha512-exgYmnmL/sJpR3upZfXG5PoatXQii55xAiXGXzY+sROLZ/Y+SLcp9PgJNI9Vz37HpQ74WvDcLT8eqm+kV3FzrA==} engines: {node: '>=16'} tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - tr46@6.0.0: resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==} engines: {node: '>=20'} - traverse@0.3.9: - resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} - traverse@0.6.11: resolution: {integrity: sha512-vxXDZg8/+p3gblxB6BhhG5yWVn1kGRlaL8O78UDXc3wRnPizB5g83dcvWV1jpDMIPnjZjOFuxlMmE82XJ4407w==} engines: {node: '>= 0.4'} @@ -16138,25 +13100,13 @@ packages: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true - tree-node-cli@1.6.0: - resolution: {integrity: sha512-M8um5Lbl76rWU5aC8oOeEhruiCM29lFCKnwpxrwMjpRicHXJx+bb9Cak11G3zYLrMb6Glsrhnn90rHIzDJrjvg==} - hasBin: true - trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - trim-newlines@1.0.0: - resolution: {integrity: sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==} - engines: {node: '>=0.10.0'} - trim-newlines@3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} - trim-repeated@1.0.0: - resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} - engines: {node: '>=0.10.0'} - triple-beam@1.4.1: resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} engines: {node: '>= 14.0.0'} @@ -16164,9 +13114,6 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - truncate-html@1.2.2: - resolution: {integrity: sha512-0pogasqkxhCj8PWqxLPTYqtC66ruVXzOS6uNcOCI7yxS1Bf2HMqeXUty5mlbv0UjjlCuExBpPN4vEAFV6imsug==} - truncate-json@3.0.1: resolution: {integrity: sha512-QVsbr1WhGLq2F0oDyYbqtOXcf3gcnL8C9H5EX8bBwAr8ZWvWGJzukpPrDrWgJMrNtgDbo74BIjI4kJu3q2xQWw==} engines: {node: '>=18.18.0'} @@ -16182,21 +13129,16 @@ packages: peerDependencies: typescript: '>=4.0.0' - ts-deepmerge@7.0.3: - resolution: {integrity: sha512-Du/ZW2RfwV/D4cmA5rXafYjBQVuvu4qGiEEla4EmEHVHgRdx68Gftx7i66jn2bzHPwSVZY36Ae6OuDn9el4ZKA==} - engines: {node: '>=14.13.1'} - - ts-json-schema-generator@1.5.1: - resolution: {integrity: sha512-apX5qG2+NA66j7b4AJm8q/DpdTeOsjfh7A3LpKsUiil0FepkNwtN28zYgjrsiiya2/OPhsr/PSjX5FUYg79rCg==} - engines: {node: '>=10.0.0'} - hasBin: true - - ts-loader@9.5.4: - resolution: {integrity: sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==} + ts-loader@9.6.2: + resolution: {integrity: sha512-R4iuczmtgxvtuI556s+hTZ6/7Ee03VCAk/l/M8LY1OAsUgB7YydsCxkgq9D9pKRaD7GJqUi2u8fp9zZP/ufjKA==} engines: {node: '>=12.0.0'} peerDependencies: + loader-utils: '*' typescript: '*' - webpack: ^5.0.0 + webpack: ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + loader-utils: + optional: true ts-morph@12.2.0: resolution: {integrity: sha512-WHXLtFDcIRwoqaiu0elAoZ/AmI+SwwDafnPKjgJmdwJ2gRVO0jMKBt88rV2liT/c6MTsXyuWbGFiHe9MRddWJw==} @@ -16221,16 +13163,6 @@ packages: '@swc/wasm': optional: true - ts-toolbelt@9.6.0: - resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==} - - tsc-watch@4.6.2: - resolution: {integrity: sha512-eHWzZGkPmzXVGQKbqQgf3BFpGiZZw1jQ29ZOJeaSe8JfyUvphbd221NfXmmsJUGGPGA/nnaSS01tXipUcyxAxg==} - engines: {node: '>=8.17.0'} - hasBin: true - peerDependencies: - typescript: '*' - tsconfck@3.1.6: resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} @@ -16246,18 +13178,20 @@ packages: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} - tsdown@0.21.7: - resolution: {integrity: sha512-ukKIxKQzngkWvOYJAyptudclkm4VQqbjq+9HF5K5qDO8GJsYtMh8gIRwicbnZEnvFPr6mquFwYAVZ8JKt3rY2g==} - engines: {node: '>=20.19.0'} + tsdown@0.22.13: + resolution: {integrity: sha512-XaYFhtiKRUvTpXv/YAehsHdbEb3LN/iMlzjSINbjlaATtXN2zVPKox2STKhcyFPlh++8Zg7suNN27E679IfAUA==} + engines: {node: ^22.18.0 || >=24.11.0} hasBin: true peerDependencies: '@arethetypeswrong/core': ^0.18.1 - '@tsdown/css': 0.21.7 - '@tsdown/exe': 0.21.7 + '@tsdown/css': 0.22.13 + '@tsdown/exe': 0.22.13 '@vitejs/devtools': '*' - publint: ^0.3.0 - typescript: ^5.0.0 || ^6.0.0 + publint: ^0.3.8 + tsx: '*' + typescript: ^5.0.0 || ^6.0.0 || ^7.0.0 unplugin-unused: ^0.5.0 + unrun: '*' peerDependenciesMeta: '@arethetypeswrong/core': optional: true @@ -16269,17 +13203,18 @@ packages: optional: true publint: optional: true + tsx: + optional: true typescript: optional: true unplugin-unused: optional: true + unrun: + optional: true tseep@1.3.1: resolution: {integrity: sha512-ZPtfk1tQnZVyr7BPtbJ93qaAh2lZuIOpTMjhrYa4XctT8xe7t4SAW9LIxrySDuYMsfNNayE51E/WNGrNVgVicQ==} - tslib@1.9.3: - resolution: {integrity: sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==} - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -16287,37 +13222,22 @@ packages: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} engines: {node: '>=0.6.x'} - tsx@4.21.0: - resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} - engines: {node: '>=18.0.0'} - hasBin: true - - tsx@4.22.3: - resolution: {integrity: sha512-mdoNxBC/cSQObGGVQ5Bpn5i+yv7j68gk3Nfm3wFjcJg3Z0Mix9jzAFfP12prmm5eVGmDKtp0yyArrs0Q+8gZHg==} + tsx@4.23.1: + resolution: {integrity: sha512-GQHnkIfxyx1wYCOS/wonik5MVRZU9hi1TEZmzGZSCJB1y9YgoZ8H6itNE/u4suE+yLmOzuE4E5S4TZ/ZX2wcWQ==} engines: {node: '>=18.0.0'} hasBin: true - tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - - turbo@2.9.10: - resolution: {integrity: sha512-YBLeNT0wLoysGgQEkvBWE2GA1liGGZ1j13wa7xHTwELJx4ZhM+c2szeXj6wUOUGO86BmyhY0Q/ELWwU3WDXzZA==} + turbo@2.10.5: + resolution: {integrity: sha512-07Y/C7OUp23l4P92PJoYtFNbHjLhftrZH5Ce7dbczS4kX2Re+wtbXvZLoxn/pUtzgsQaRCBaRuZPJp4zmAn0WQ==} hasBin: true tv4@1.3.0: resolution: {integrity: sha512-afizzfpJgvPr+eDkREK4MxJ/+r8nEEHcmitwgnPUqpaP+FpwQyadnxNoSACbgc/b1LsZYtODGoPiFxQrgJgjvw==} engines: {node: '>= 0.8.0'} - tweetnacl@0.14.5: - resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - tx2@1.0.5: resolution: {integrity: sha512-sJ24w0y03Md/bxzK4FU8J8JveYYUbSs2FViLJ2D/8bytSiyPRbuE3DyL/9UKYXTZlV3yXq0L8GLlhobTnekCVg==} - type-check@0.3.2: - resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} - engines: {node: '>= 0.8.0'} - type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -16330,10 +13250,6 @@ packages: resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} engines: {node: '>=4'} - type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - type-fest@0.18.1: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} engines: {node: '>=10'} @@ -16346,10 +13262,6 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - type-fest@0.4.1: - resolution: {integrity: sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==} - engines: {node: '>=6'} - type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} @@ -16370,22 +13282,17 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} - type-fest@5.5.0: - resolution: {integrity: sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==} + type-fest@5.8.0: + resolution: {integrity: sha512-YGYEVz3Fm5iy/AybuA0oyNFq7H4CgQNfRp/qfe8nurE1kuCeNm3/vfm9X4Mtl+qLyaKJUh5xrFZwogr41SMjYA==} engines: {node: '>=20'} type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} - - typeconv@1.8.0: - resolution: {integrity: sha512-Xi+ZmqJCjcPwuHpcCYIJaOjOGFyfLKDWEwIIXze3Kc6GBto1VM78Pl4EGw/bJWjKdzaics7Gtr1DgnYocsQiHw==} - engines: {node: '>=12'} - hasBin: true + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} @@ -16399,16 +13306,16 @@ packages: resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} engines: {node: '>= 0.4'} - typed-array-length@1.0.7: - resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + typed-array-length@1.0.8: + resolution: {integrity: sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==} engines: {node: '>= 0.4'} - typed-query-selector@2.12.0: - resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} - typed-query-selector@2.12.1: resolution: {integrity: sha512-uzR+FzI8qrUEIu96oaeBJmd9E7CFEiQ3goA5qCVgc4s5llSubcfGHq9yUstZx/k4s9dXHVKsE35YWoFyvEqEHA==} + typed-query-selector@2.12.2: + resolution: {integrity: sha512-EOPFbyIub4ngnEdqi2yOcNeDLaX/0jcE1JoAXQDDMIthap7FoN795lc/SHfIq2d416VufXpM8z/lD+WRm2gfOQ==} + typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} @@ -16419,44 +13326,18 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typedoc@0.28.15: - resolution: {integrity: sha512-mw2/2vTL7MlT+BVo43lOsufkkd2CJO4zeOSuWQQsiXoV2VuEn7f6IZp2jsUDPmBMABpgR0R5jlcJ2OGEFYmkyg==} - engines: {node: '>= 18', pnpm: '>= 10'} - hasBin: true - peerDependencies: - typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x - - typescript-eslint@8.58.0: - resolution: {integrity: sha512-e2TQzKfaI85fO+F3QywtX+tCTsu/D3WW5LVU6nz8hTFKFZ8yBJ6mSYRpXqdR3mFjPWmO0eWsTa5f+UpAOe/FMA==} + typescript-eslint@8.65.0: + resolution: {integrity: sha512-/ggrHAwyjENDusvyxbuqxAC2dTnZg/Z8F+fgQtYIz+L6n/9HfSlEZcFGV/NsMNa6CkGk0xUjUAFwC0vHOflvIA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - - typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} - engines: {node: '>=14.17'} - hasBin: true - - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} - engines: {node: '>=14.17'} - hasBin: true - - typescript@6.0.3: - resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} - engines: {node: '>=14.17'} + typescript@7.0.2: + resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==} + engines: {node: '>=16.20.0'} hasBin: true - typical@4.0.0: - resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} - engines: {node: '>=8'} - typical@5.2.0: resolution: {integrity: sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==} engines: {node: '>=8'} @@ -16465,17 +13346,9 @@ packages: resolution: {integrity: sha512-ya4mg/30vm+DOWfBg4YK3j2WD6TWtRkCbasOJr40CseYENzCUby/7rIvXA99JGsQHeNxLbnXdyLLxKSv3tauFw==} engines: {node: '>=12.17'} - uc.micro@2.1.0: - resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - ufo@1.6.4: resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} - uglify-js@3.13.3: - resolution: {integrity: sha512-otIc7O9LyxpUcQoXzj2hL4LPWKklO6LJWoJUzNa8A17Xgi4fOeDC8FBDOLHnC/Slo1CQgsZMcM6as0M76BZaig==} - engines: {node: '>=0.8.0'} - hasBin: true - uglify-js@3.19.3: resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} @@ -16499,55 +13372,28 @@ packages: unbzip2-stream@1.4.3: resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} - unc-path-regex@0.1.2: - resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} - engines: {node: '>=0.10.0'} - unconfig-core@7.5.0: resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==} - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - - undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + undici-types@7.18.2: + resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} - undici-types@7.24.6: - resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} + undici-types@8.3.0: + resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} - undici@7.16.0: - resolution: {integrity: sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==} + undici@7.28.0: + resolution: {integrity: sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==} engines: {node: '>=20.18.1'} - undici@7.24.8: - resolution: {integrity: sha512-6KQ/+QxK49Z/p3HO6E5ZCZWNnCasyZLa5ExaVYyvPxUwKtbCPMKELJOqh7EqOle0t9cH/7d2TaaTRRa6Nhs4YQ==} - engines: {node: '>=20.18.1'} - - undici@7.25.0: - resolution: {integrity: sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==} - engines: {node: '>=20.18.1'} + undici@8.8.0: + resolution: {integrity: sha512-ubshXMXwF3MQIMF1y/WxZdNBnjEKeSg2wF5mcGUtU55YTw34tnVVpKRlLf7ruDXZ5344KokPVX4RBx1wJm64Bw==} + engines: {node: '>=22.19.0'} unenv@2.0.0-rc.24: resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} - unhead@2.1.12: - resolution: {integrity: sha512-iTHdWD9ztTunOErtfUFk6Wr11BxvzumcYJ0CzaSCBUOEtg+DUZ9+gnE99i8QkLFT2q1rZD48BYYGXpOZVDLYkA==} - - unicode-canonical-property-names-ecmascript@2.0.1: - resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.2.1: - resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.2.0: - resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} - engines: {node: '>=4'} + unhead@2.1.16: + resolution: {integrity: sha512-cD2Q4a6SQHhW9/bPp17NT4GJ1yS0DSLe75WEHKQ8bKa/wjB6cIki3KeL86hhllNBcpv8i6bxdwtwQunneXPqKQ==} unicorn-magic@0.3.0: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} @@ -16556,19 +13402,12 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - union-value@1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} - uniq@1.0.1: resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} uniqs@2.0.0: resolution: {integrity: sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==} - unique-stream@2.4.0: - resolution: {integrity: sha512-V6QarSfeSgDipGA9EZdoIzu03ZDlOFkk+FbEP5cwgrZXN3iIkYR91IjU2EnM6rB835kGQsqHX8qncObTXV+6KA==} - unique-string@2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} engines: {node: '>=8'} @@ -16597,9 +13436,6 @@ packages: unist-util-visit@5.1.0: resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} - universal-user-agent@6.0.1: - resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} - universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -16623,15 +13459,44 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unplugin@2.3.11: - resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==} - engines: {node: '>=18.12.0'} + unplugin@3.3.0: + resolution: {integrity: sha512-qa66K+crbfyE6JK10GjvbJeRrOsuC/JpbnHctfyp/i4oBTxWOzJfRZyDiOk1PtErMFRu8JhsU/wPvOdBNWe5Rg==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + '@farmfe/core': '*' + '@rspack/core': '*' + bun-types-no-globals: '*' + esbuild: '*' + rolldown: '*' + rollup: '*' + unloader: '*' + vite: '*' + webpack: '*' + peerDependenciesMeta: + '@farmfe/core': + optional: true + '@rspack/core': + optional: true + bun-types-no-globals: + optional: true + esbuild: + optional: true + rolldown: + optional: true + rollup: + optional: true + unloader: + optional: true + vite: + optional: true + webpack: + optional: true unquote@1.1.1: resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} - unrs-resolver@1.11.1: - resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==} + unrs-resolver@1.12.2: + resolution: {integrity: sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==} unrun@0.2.34: resolution: {integrity: sha512-LyaghRBR++r7svhDK6tnDz2XaYHWdneBOA0jbS8wnRsHerI9MFljX4fIiTgbbNbEVzZ0C9P1OjWLLe1OqoaaEw==} @@ -16643,10 +13508,6 @@ packages: synckit: optional: true - unset-value@1.0.0: - resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} - engines: {node: '>=0.10.0'} - until-async@3.0.2: resolution: {integrity: sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw==} @@ -16654,17 +13515,8 @@ packages: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} - unzipper@0.10.14: - resolution: {integrity: sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==} - - update-browserslist-db@1.2.2: - resolution: {integrity: sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - update-browserslist-db@1.2.3: - resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -16685,17 +13537,6 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - urix@0.1.0: - resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} - deprecated: Please see https://github.com/lydell/urix#deprecated - - url-join@4.0.1: - resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} - - url-parse-lax@1.0.0: - resolution: {integrity: sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==} - engines: {node: '>=0.10.0'} - url-parse-lax@3.0.0: resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} engines: {node: '>=4'} @@ -16732,10 +13573,6 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - use@3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -16775,10 +13612,6 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - validate-npm-package-name@5.0.1: - resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - validate-npm-package-name@7.0.2: resolution: {integrity: sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==} engines: {node: ^20.17.0 || >=22.9.0} @@ -16790,9 +13623,9 @@ packages: vendors@1.0.4: resolution: {integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==} - verror@1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} - engines: {'0': node >=0.6.0} + verkit@0.1.2: + resolution: {integrity: sha512-WqkT8n3hqizuCu71W3bUzf5fjBmkbXcudsehe/NbxA8PgqoKnSOY5K0Ba2ckg1qaRaSpSz7as/n9K1R9JXjQKg==} + engines: {node: '>=18.12.0'} vfile-location@5.0.3: resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} @@ -16803,66 +13636,18 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-plugin-monaco-editor@1.1.0: - resolution: {integrity: sha512-IvtUqZotrRoVqwT0PBBDIZPNraya3BxN/bfcNfnxZ5rkJiGcNtO5eAOWWSgT7zullIAEqQwxMU83yL9J5k7gww==} - peerDependencies: - monaco-editor: '>=0.33.0' - vite-tsconfig-paths@6.1.1: resolution: {integrity: sha512-2cihq7zliibCCZ8P9cKJrQBkfgdvcFkOOc3Y02o3GWUDLgqjWsZudaoiuOwO/gzTzy17cS5F7ZPo4bsnS4DGkg==} peerDependencies: vite: '*' - vite@8.0.13: - resolution: {integrity: sha512-MFtjBYgzmSxmgA4RAfjIyXWpGe1oALnjgUTzzV7QLx/TKxCzjtMH6Fd9/eVK+5Fg1qNoz5VAwsmMs/NofrmJvw==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - peerDependencies: - '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.1.18 - esbuild: ^0.27.0 || ^0.28.0 - jiti: '>=1.21.0' - less: ^4.0.0 - sass: ^1.70.0 - sass-embedded: ^1.70.0 - stylus: '>=0.54.8' - sugarss: ^5.0.0 - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - '@types/node': - optional: true - '@vitejs/devtools': - optional: true - esbuild: - optional: true - jiti: - optional: true - less: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - tsx: - optional: true - yaml: - optional: true - - vite@8.0.8: - resolution: {integrity: sha512-dbU7/iLVa8KZALJyLOBOQ88nOXtNG8vxKuOT4I2mD+Ya70KPceF4IAmDsmU0h1Qsn5bPrvsY9HJstCRh3hG6Uw==} + vite@8.1.5: + resolution: {integrity: sha512-7ULLwsCdYx/nRyrpiEwvqb5TFHrMVZyBt+rg/OAXT7rgj/z+DtTDyKFeLAdDkubDVDKD8jOsndmy7m55XcfUsw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.1.0 + '@vitejs/devtools': ^0.3.0 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 @@ -16907,18 +13692,20 @@ packages: vite: optional: true - vitest@4.1.2: - resolution: {integrity: sha512-xjR1dMTVHlFLh98JE3i/f/WePqJsah4A0FK9cc8Ehp9Udk0AZk6ccpIZhh1qJ/yxVWRZ+Q54ocnD8TXmkhspGg==} + vitest@4.1.10: + resolution: {integrity: sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.2 - '@vitest/browser-preview': 4.1.2 - '@vitest/browser-webdriverio': 4.1.2 - '@vitest/ui': 4.1.2 + '@vitest/browser-playwright': 4.1.10 + '@vitest/browser-preview': 4.1.10 + '@vitest/browser-webdriverio': 4.1.10 + '@vitest/coverage-istanbul': 4.1.10 + '@vitest/coverage-v8': 4.1.10 + '@vitest/ui': 4.1.10 happy-dom: '*' jsdom: '*' vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -16935,6 +13722,10 @@ packages: optional: true '@vitest/browser-webdriverio': optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true '@vitest/ui': optional: true happy-dom: @@ -16942,33 +13733,8 @@ packages: jsdom: optional: true - vizion@2.2.1: - resolution: {integrity: sha512-sfAcO2yeSU0CSPFI/DmZp3FsFE9T+8913nv1xWBOyzODv13fwkn6Vl7HqxGpkr9F608M+8SuFId3s+BlZqfXww==} - engines: {node: '>=4.0'} - - vm2@3.10.0: - resolution: {integrity: sha512-3ggF4Bs0cw4M7Rxn19/Cv3nJi04xrgHwt4uLto+zkcZocaKwP/nKP9wPx6ggN2X0DSXxOOIc63BV1jvES19wXQ==} - engines: {node: '>=6.0'} - hasBin: true - - vscode-jsonrpc@8.2.0: - resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} - engines: {node: '>=14.0.0'} - - vscode-languageserver-protocol@3.17.5: - resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} - - vscode-languageserver-textdocument@1.0.12: - resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - - vscode-languageserver-types@3.17.5: - resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} - - vscode-uri@3.1.0: - resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - - vue-component-type-helpers@3.2.6: - resolution: {integrity: sha512-O02tnvIfOQVmnvoWwuSydwRoHjZVt8UEBR+2p4rT35p8GAy5VTlWP8o5qXfJR/GWCN0nVZoYWsVUvx2jwgdBmQ==} + vue-component-type-helpers@3.3.7: + resolution: {integrity: sha512-Skkhw9agYSgsWqv7bxSOGJZa9SaiJbZVGdXuFWnrzKaQYHnw9qbjD630rw6RyMqDbp54nfLCLw5SZA55if7JLg==} vue-demi@0.14.10: resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} @@ -16981,22 +13747,17 @@ packages: '@vue/composition-api': optional: true - vue-eslint-parser@10.4.0: - resolution: {integrity: sha512-Vxi9pJdbN3ZnVGLODVtZ7y4Y2kzAAE2Cm0CZ3ZDRvydVYxZ6VrnBhLikBsRS+dpwj4Jv4UCv21PTEwF5rQ9WXg==} + vue-eslint-parser@10.4.1: + resolution: {integrity: sha512-Gk6gRDj0n/fkRa3C3l0bBheoBckUq/Rs0F/TvMWIS6nzzx67amAViMe9CkNgsP2tXyQONvGiHQESHwFtZ3aYDA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - vue-router@4.6.2: - resolution: {integrity: sha512-my83mxQKXyCms9EegBXZldehOihxBjgSjZqrZwgg4vBacNGl0oBCO+xT//wgOYpLV1RW93ZfqxrjTozd+82nbA==} - peerDependencies: - vue: ^3.5.0 - vue-sonner@1.3.2: resolution: {integrity: sha512-UbZ48E9VIya3ToiRHAZUbodKute/z/M1iT8/3fU8zEbwBRE11AKuHikssv18LMk2gTTr6eMQT4qf6JoLHWuj/A==} - vue@3.5.31: - resolution: {integrity: sha512-iV/sU9SzOlmA/0tygSmjkEN6Jbs3nPoIPFhCMLD2STrjgOU8DX7ZtzMhg4ahVwf5Rp9KoFzcXeB1ZrVbLBp5/Q==} + vue@3.5.40: + resolution: {integrity: sha512-+8PJ4SJXdn/cHGImF4CKdxlWHIN5Dkt7DoufRREM6h6uVCx2m7QxgcEQmmzyOK8A9mcafg7sFbJFYsdFVubTig==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -17010,22 +13771,18 @@ packages: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} - watchpack@2.5.1: - resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} + watchpack@2.5.2: + resolution: {integrity: sha512-6i/00NBjP4yGPs+caKSyRfpTF/8Torsu0MOW3mMzIbhgISFder8i7xbqgHlLMwJrdiN8ndBV3UA1/AfzPSr+jg==} engines: {node: '>=10.13.0'} - wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} + web-vitals@4.2.4: + resolution: {integrity: sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==} - web-vitals@5.2.0: - resolution: {integrity: sha512-i2z98bEmaCqSDiHEDu+gHl/dmR4Q+TxFmG3/13KkMO+o8UxQzCqWaDRCiLgEa41nlO4VpXSI0ASa1xWmO9sBlA==} + web-vitals@6.0.0: + resolution: {integrity: sha512-Guaibvy/+uNtL6Bsu4jmMJGzuSl91oeRH5iO9pPRbYftnFUr3yqT1TUNX/OE4o9HexuEMU3Kb/Wg7iKhlffZUA==} web-worker@1.5.0: resolution: {integrity: sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==} @@ -17033,18 +13790,18 @@ packages: webdriver-bidi-protocol@0.4.1: resolution: {integrity: sha512-ARrjNjtWRRs2w4Tk7nqrf2gBI0QXWuOmMCx2hU+1jUt6d00MjMxURrhxhGbrsoiZKJrhTSTzbIrc554iKI10qw==} + webdriver-bidi-protocol@0.4.2: + resolution: {integrity: sha512-VSV+fzfChirL3e7jay2yUC7B4HQCGtEWEg/MSSQbK+qWbqeGlRLlXTzPpYr3XGUvbpDHumWZBJxgesg4N7dbtA==} + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - webidl-conversions@8.0.1: resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==} engines: {node: '>=20'} - webpack-sources@3.4.1: - resolution: {integrity: sha512-eACpxRN02yaawnt+uUNIF7Qje6A9zArxBbcAJjK1PK3S9Ycg5jIuJ8pW4q8EMnwNZCEGltcjkRx1QzOxOkKD8A==} + webpack-sources@3.5.1: + resolution: {integrity: sha512-jyuiGJdtvY434z5bUZrjz67v76/ePNvFZTp9Mdz29IlH4+GPsgyGjiv0fKI+M7BdkU6ADjulUcKAd3tUK3WlEw==} engines: {node: '>=10.13.0'} webpack-virtual-modules@0.6.2: @@ -17060,41 +13817,25 @@ packages: webpack-cli: optional: true - websocket-driver@0.7.4: - resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + websocket-driver@0.7.5: + resolution: {integrity: sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==} engines: {node: '>=0.8.0'} websocket-extensions@0.1.4: resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} engines: {node: '>=0.8.0'} - well-known-symbols@2.0.0: - resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} - engines: {node: '>=6'} - - whatwg-encoding@3.1.1: - resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} - engines: {node: '>=18'} - deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation - - whatwg-mimetype@4.0.0: - resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} - engines: {node: '>=18'} - whatwg-mimetype@5.0.0: resolution: {integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==} engines: {node: '>=20'} - whatwg-url@15.1.0: - resolution: {integrity: sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==} - engines: {node: '>=20'} + whatwg-url@16.0.1: + resolution: {integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - which-boxed-primitive@1.1.1: resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} engines: {node: '>= 0.4'} @@ -17110,8 +13851,8 @@ packages: which-module@2.0.1: resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - which-typed-array@1.1.19: - resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} + which-typed-array@1.1.22: + resolution: {integrity: sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==} engines: {node: '>= 0.4'} which@1.3.1: @@ -17133,9 +13874,6 @@ packages: engines: {node: '>=8'} hasBin: true - wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - widest-line@3.1.0: resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} engines: {node: '>=8'} @@ -17148,8 +13886,9 @@ packages: resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} engines: {node: '>=18'} - wildcard-match@5.1.2: - resolution: {integrity: sha512-qNXwI591Z88c8bWxp+yjV60Ch4F8Riawe3iGxbzquhy8Xs9m+0+SLFBGb/0yCTIDElawtaImC37fYZ+dr32KqQ==} + widest-line@6.0.0: + resolution: {integrity: sha512-U89AsyEeAsyoF0zVJBkG9zBgekjgjK7yk9sje3F4IQpXBJ10TF6ByLlIfjMhcmHMJgHZI4KHt4rdNfktzxIAMA==} + engines: {node: '>=20'} window-size@1.1.1: resolution: {integrity: sha512-5D/9vujkmVQ7pSmc0SCBmHXbkv6eaHwXEx65MywhmUMsI8sGqJ972APq1lotfcwMKPFLuCFfL8xGHLIp7jaBmA==} @@ -17160,9 +13899,9 @@ packages: resolution: {integrity: sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==} engines: {node: '>=10'} - windows-release@5.1.1: - resolution: {integrity: sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + windows-release@7.1.1: + resolution: {integrity: sha512-0GBwC9WmR8Bm3WYiz3FC391054BsFHZ2gzBVdYj9uj5eIVYzbn/YPYCYW9SWdh9vwnLuzpn1UGwJKiMG4F236w==} + engines: {node: '>=20'} winston-daily-rotate-file@4.7.1: resolution: {integrity: sha512-7LGPiYGBPNyGHLn9z33i96zx/bd71pjBn9tqQzO3I4Tayv94WPmBNwKC7CO1wPHdP9uvu+Md/1nr6VSH9h0iaA==} @@ -17170,6 +13909,12 @@ packages: peerDependencies: winston: ^3 + winston-daily-rotate-file@5.0.0: + resolution: {integrity: sha512-JDjiXXkM5qvwY06733vf09I2wnMXpZEhxEVOSPenZMii+g7pcDcTBt2MRugnoi8BwVSuCT2jfRXBUy+n1Zz/Yw==} + engines: {node: '>=8'} + peerDependencies: + winston: ^3 + winston-papertrail@1.0.5: resolution: {integrity: sha512-l39k9M/lacwZcqIEOXY5VttZAgG8mXDrmbPBblgdNVRQrYKfYiAVJyfxtwS3WRG+VQBZdLVYBpz1XfU2M6XhsA==} engines: {node: '>= 0.4.0'} @@ -17194,13 +13939,6 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - wordwrap@0.0.2: - resolution: {integrity: sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==} - engines: {node: '>=0.4.0'} - - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - wordwrapjs@4.0.1: resolution: {integrity: sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==} engines: {node: '>=8.0.0'} @@ -17209,24 +13947,37 @@ packages: resolution: {integrity: sha512-0yweIbkINJodk27gX9LBGMzyQdBDan3s/dEAiwBOj+Mf0PPyWL6/rikalkv8EeD0E8jm4o5RXEOrFTP3NXbhJg==} engines: {node: '>=12.17'} - worker-rpc@0.1.1: - resolution: {integrity: sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==} + worker-factory@7.0.50: + resolution: {integrity: sha512-hhwc0G+sFwM4qBuhJIUBn2p1Jf8v/FwmLUANBf/Q+Lt2uI8mfIZQhXaZQACodQD4R7Zp6cn/6702bIvNn2puJQ==} + + worker-timers-broker@8.0.18: + resolution: {integrity: sha512-FrjzDVX1wKfZN0gRbCFqv8VHuTncG4sbI/WGEg4tSSQeIsnwqg4YBYWMAHYLJtUDEYYmiK65UKFrVMVk2irDSg==} - workerd@1.20260518.1: - resolution: {integrity: sha512-rLquk/eeqqJCbdGljSSuIZWW25vzYjTblXkD/tXQXKR5YsSIC91EtlqrzA1L4TJDZCxXKeFXPYqkW7R16UipXQ==} + worker-timers-worker@9.0.15: + resolution: {integrity: sha512-KKUe7lZ/Aignr51H6hOUik8LwTnIgojH/1lwhli8A8qIEIyewogZTpNpMW5B6BF7nmwBOkUoTYgf1H3QShcjSA==} + + worker-timers@8.0.33: + resolution: {integrity: sha512-RQVlKkek80v8M6SHvdMKiywaXFmX3XTpYTXTw0r62PdXB06t74XNxcTuG8wsQwnjorAQymNQyyQ0rzv7PykEMQ==} + + workerd@1.20260721.1: + resolution: {integrity: sha512-b/DWhpV0jTudzQpLhDovcOgBz233386q+3Hbari7CLCNT9UXxjQziSTZ9yCoKdT2K3TSx5jrwlOisq8hlLWXYg==} engines: {node: '>=16'} hasBin: true - wrangler@4.93.0: - resolution: {integrity: sha512-qNsPr0oWRTc85SG7s1MjX+mWNTvkNV1zEQvRpTsV6eo8uqtvZoEAq8t8strQi9TtrDP3BOsxmy+N/G3ML6hH2w==} + wrangler@4.113.0: + resolution: {integrity: sha512-ROGzSloJv0y21It6Oc9LaruNcu1tdiQ/XzL3Jc3YkFjzXEMXzTqVhA8vQaGMTdZHTjFP0PVcwAHNgaw3gXu4wA==} engines: {node: '>=22.0.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^4.20260518.1 + '@cloudflare/workers-types': ^5.20260721.1 peerDependenciesMeta: '@cloudflare/workers-types': optional: true + wrap-ansi@10.0.0: + resolution: {integrity: sha512-SGcvg80f0wUy2/fXES19feHMz8E0JoXv2uNgHOu4Dgi2OrCy1lqwFYEJz1BLbDI0exjPMe/ZdzZ/YpGECBG/aQ==} + engines: {node: '>=20'} + wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -17249,23 +14000,8 @@ packages: write-file-atomic@3.0.3: resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - write-file-atomic@5.0.1: - resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - ws@6.2.2: - resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@7.5.10: - resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + ws@7.5.11: + resolution: {integrity: sha512-zS54Oen9bITtp7kp2XM3AydrCIq1D+HwJOuH+c+e4LfpL/lotP5osijd+UoMnxwAam1GN8R4KtLAyIrIcBNpiA==} engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 @@ -17276,8 +14012,8 @@ packages: utf-8-validate: optional: true - ws@8.17.1: - resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} + ws@8.21.0: + resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -17288,20 +14024,8 @@ packages: utf-8-validate: optional: true - ws@8.18.0: - resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.21.1: + resolution: {integrity: sha512-+0NTnW77fFN/DjQi6k/Sq/Yvk4Sgajw7urW8V+asjXnRgDs9gyGkdb7EzgfhA4goXsRIZKE28fzIXBHEzhuiWw==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -17320,16 +14044,12 @@ packages: resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} engines: {node: '>=8'} - xml-js@1.6.11: - resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} - hasBin: true - xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} - xml2js@0.4.23: - resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==} + xml2js@0.6.2: + resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} engines: {node: '>=4.0.0'} xmlbuilder2@3.1.1: @@ -17344,10 +14064,6 @@ packages: resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} engines: {node: '>=4.0'} - xmlbuilder@13.0.2: - resolution: {integrity: sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==} - engines: {node: '>=6.0'} - xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} @@ -17355,9 +14071,6 @@ packages: resolution: {integrity: sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==} engines: {node: '>=0.4.0'} - xregexp@2.0.0: - resolution: {integrity: sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==} - xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -17378,24 +14091,19 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} - yaml@2.8.2: - resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} - engines: {node: '>= 14.6'} - hasBin: true + yaml@1.10.3: + resolution: {integrity: sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==} + engines: {node: '>= 6'} yaml@2.9.0: resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} engines: {node: '>= 14.6'} hasBin: true - yamljs@0.2.10: - resolution: {integrity: sha512-sbkbOosewjeRmJ23Hjee1RgTxn+xa7mt4sew3tfD0SdH0LTcswnZC9dhSNq4PIz15roQMzb84DjECyQo5DWIww==} - hasBin: true - yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} @@ -17416,8 +14124,8 @@ packages: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} engines: {node: '>=8'} - yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + yargs@16.2.2: + resolution: {integrity: sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==} engines: {node: '>=10'} yargs@17.1.1: @@ -17428,13 +14136,14 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} + yargs@17.7.3: + resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} + engines: {node: '>=12'} + yargs@18.0.0: resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} engines: {node: ^20.19.0 || ^22.12.0 || >=23} - yargs@2.3.0: - resolution: {integrity: sha512-w48USdbTdaVMcE3CnXsEtSY9zYSN7dTyVnLBgrJF2quA5rLwobC9zixxfexereLGFaxjxtR3oWdydC0qoayakw==} - yarpm@1.2.0: resolution: {integrity: sha512-gxN4Ali09uey8EpLfbYG+bTXf1hF6TA5oAXFPpKi5Nt5aztXU9AIEksXE0lpuvC50vL4De/KIeP8JXgYOZ8KbQ==} hasBin: true @@ -17450,9 +14159,9 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.2.2: - resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} - engines: {node: '>=12.20'} + yocto-spinner@1.2.2: + resolution: {integrity: sha512-DODGl1wJjA/s5pnJFKau9lIYHT81lnhob1i3e1TjxZRxEhWRKl74nTbWE6H5KlkViQQTo/Z29YFdxzTZAMY3ng==} + engines: {node: '>=18.19'} yoctocolors-cjs@2.1.3: resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} @@ -17471,10 +14180,20 @@ packages: youch@4.1.0-beta.10: resolution: {integrity: sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==} - zod-to-json-schema@3.25.0: - resolution: {integrity: sha512-HvWtU2UG41LALjajJrML6uQejQhNJx+JBO9IflpSja4R03iNWfKXrj6W2h7ljuLyc1nKS+9yDyL/9tD1U/yBnQ==} - peerDependencies: - zod: ^3.25 || ^4 + yuku-analyzer@0.6.12: + resolution: {integrity: sha512-0zu/gwv6nKA3wm2GMjM1iczw9rbt77ijEyR5tXpPQ8AZcXIpXlll66BXOtMHgYudLn91bJx0ybhpARoJWm5/dw==} + + yuku-ast@0.6.11: + resolution: {integrity: sha512-ZfXkFYVsDewS45+kv3WiA/qNB73CRfxFDEQwfnRMUAR4AD5zRI7PRqxmI2U3Jz/oG41GneTVW6mxDOQal0lgeA==} + + yuku-ast@0.7.2: + resolution: {integrity: sha512-1e2h4+pIrp9B7j/3VH13thFIFtR1LLjKGLN3QtQcYOLknMlczDbr0yIXiGdFWu+gykeWQaL/Wk7I8KzaaWNwKQ==} + + yuku-codegen@0.7.2: + resolution: {integrity: sha512-hedpl2EFttmPsw8viWYqXyzBF0wqnTIPsryHCcpowbL2tVYD3nL5Ld0XOjYIZXS6d2Ed/i02FnFZq4U52bdqWg==} + + yuku-parser@0.7.2: + resolution: {integrity: sha512-zm2l0cMvXb8QftlDB6pZraEXQgElK4PC+ndYSABJrsjn06fVSlnyP5GzMMkahEIMuj6mPBpbryjWoz6bf5Pmvw==} zod-to-json-schema@3.25.2: resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==} @@ -17487,9 +14206,6 @@ packages: zod@3.25.76: resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - zod@4.3.6: - resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} - zod@4.4.3: resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} @@ -17498,15 +14214,6 @@ packages: snapshots: - '@acemir/cssom@0.9.31': {} - - '@ai-sdk/gateway@3.0.118(zod@4.4.3)': - dependencies: - '@ai-sdk/provider': 3.0.10 - '@ai-sdk/provider-utils': 4.0.27(zod@4.4.3) - '@vercel/oidc': 3.2.0 - zod: 4.4.3 - '@ai-sdk/gateway@3.0.13(zod@4.4.3)': dependencies: '@ai-sdk/provider': 3.0.2 @@ -17514,1048 +14221,326 @@ snapshots: '@vercel/oidc': 3.1.0 zod: 4.4.3 - '@ai-sdk/provider-utils@4.0.27(zod@4.4.3)': + '@ai-sdk/gateway@4.0.26(zod@4.4.3)': dependencies: - '@ai-sdk/provider': 3.0.10 - '@standard-schema/spec': 1.1.0 - eventsource-parser: 3.0.8 + '@ai-sdk/provider': 4.0.3 + '@ai-sdk/provider-utils': 5.0.12(zod@4.4.3) + '@vercel/oidc': 3.2.0 + zod: 4.4.3 + + '@ai-sdk/mcp@2.0.16(zod@4.4.3)': + dependencies: + '@ai-sdk/provider': 4.0.3 + '@ai-sdk/provider-utils': 5.0.12(zod@4.4.3) + pkce-challenge: 5.0.1 zod: 4.4.3 '@ai-sdk/provider-utils@4.0.5(zod@4.4.3)': dependencies: '@ai-sdk/provider': 3.0.2 '@standard-schema/spec': 1.1.0 - eventsource-parser: 3.0.8 + eventsource-parser: 3.1.0 zod: 4.4.3 - '@ai-sdk/provider@3.0.10': + '@ai-sdk/provider-utils@5.0.12(zod@4.4.3)': dependencies: - json-schema: 0.4.0 + '@ai-sdk/provider': 4.0.3 + '@standard-schema/spec': 1.1.0 + '@workflow/serde': 4.1.0 + eventsource-parser: 3.1.0 + zod: 4.4.3 '@ai-sdk/provider@3.0.2': dependencies: json-schema: 0.4.0 - '@ai-sdk/react@3.0.189(react@19.2.6)(zod@4.4.3)': + '@ai-sdk/provider@4.0.3': dependencies: - '@ai-sdk/provider-utils': 4.0.27(zod@4.4.3) - ai: 6.0.187(zod@4.4.3) - react: 19.2.6 - swr: 2.4.1(react@19.2.6) - throttleit: 2.1.0 - transitivePeerDependencies: - - zod + json-schema: 0.4.0 - '@ai-sdk/vue@3.0.33(vue@3.5.31(typescript@5.9.3))(zod@4.4.3)': + '@ai-sdk/react@4.0.37(react@19.2.8)(zod@4.4.3)': dependencies: - '@ai-sdk/provider-utils': 4.0.5(zod@4.4.3) - ai: 6.0.33(zod@4.4.3) - swrv: 1.2.0(vue@3.5.31(typescript@5.9.3)) - vue: 3.5.31(typescript@5.9.3) + '@ai-sdk/mcp': 2.0.16(zod@4.4.3) + '@ai-sdk/provider': 4.0.3 + '@ai-sdk/provider-utils': 5.0.12(zod@4.4.3) + ai: 7.0.34(zod@4.4.3) + react: 19.2.8 + swr: 2.4.2(react@19.2.8) + throttleit: 2.1.0 transitivePeerDependencies: - zod - '@ai-sdk/vue@3.0.33(vue@3.5.31(typescript@6.0.3))(zod@4.4.3)': + '@ai-sdk/vue@3.0.33(vue@3.5.40(typescript@7.0.2))(zod@4.4.3)': dependencies: '@ai-sdk/provider-utils': 4.0.5(zod@4.4.3) ai: 6.0.33(zod@4.4.3) - swrv: 1.2.0(vue@3.5.31(typescript@6.0.3)) - vue: 3.5.31(typescript@6.0.3) + swrv: 1.2.0(vue@3.5.40(typescript@7.0.2)) + vue: 3.5.40(typescript@7.0.2) transitivePeerDependencies: - zod - '@alcalzone/ansi-tokenize@0.1.3': + '@alcalzone/ansi-tokenize@0.3.0': dependencies: ansi-styles: 6.2.3 - is-fullwidth-code-point: 4.0.0 + is-fullwidth-code-point: 5.1.0 - '@asamuzakjp/css-color@4.1.2': + '@asamuzakjp/css-color@5.1.11': dependencies: - '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) - '@csstools/css-color-parser': 4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@asamuzakjp/generational-cache': 1.0.1 + '@csstools/css-calc': 3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-color-parser': 4.1.9(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 - lru-cache: 11.2.7 - '@asamuzakjp/dom-selector@6.8.1': + '@asamuzakjp/dom-selector@7.1.1': dependencies: + '@asamuzakjp/generational-cache': 1.0.1 '@asamuzakjp/nwsapi': 2.3.9 bidi-js: 1.0.3 css-tree: 3.2.1 is-potential-custom-element-name: 1.0.1 - lru-cache: 11.2.7 - '@asamuzakjp/nwsapi@2.3.9': {} + '@asamuzakjp/generational-cache@1.0.1': {} - '@asteasolutions/zod-to-openapi@8.5.0(zod@4.3.6)': - dependencies: - openapi3-ts: 4.5.0 - zod: 4.3.6 + '@asamuzakjp/nwsapi@2.3.9': {} - '@babel/code-frame@7.10.4': + '@asteasolutions/zod-to-openapi@9.1.0(zod@4.4.3)': dependencies: - '@babel/highlight': 7.25.9 + openapi3-ts: 4.6.0 + zod: 4.4.3 '@babel/code-frame@7.27.1': dependencies: - '@babel/helper-validator-identifier': 7.28.5 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/code-frame@7.29.0': - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.28.5': {} - - '@babel/compat-data@7.29.0': {} - - '@babel/core@7.28.5': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helpers': 7.28.4 - '@babel/parser': 7.29.2 - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - '@jridgewell/remapping': 2.3.5 - convert-source-map: 2.0.0 - debug: 4.4.3 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/core@7.29.0': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helpers': 7.29.2 - '@babel/parser': 7.29.3 - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - '@jridgewell/remapping': 2.3.5 - convert-source-map: 2.0.0 - debug: 4.4.3 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.29.1': - dependencies: - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 - - '@babel/generator@8.0.0-rc.3': - dependencies: - '@babel/parser': 8.0.0-rc.3 - '@babel/types': 8.0.0-rc.3 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - '@types/jsesc': 2.5.1 - jsesc: 3.1.0 - - '@babel/helper-annotate-as-pure@7.27.3': - dependencies: - '@babel/types': 7.29.0 - - '@babel/helper-compilation-targets@7.27.2': - dependencies: - '@babel/compat-data': 7.28.5 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.1 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-compilation-targets@7.28.6': - dependencies: - '@babel/compat-data': 7.29.0 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.2 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.29.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.29.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - regexpu-core: 6.4.0 - semver: 6.3.1 - - '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - debug: 4.4.3 - lodash.debounce: 4.0.8 - resolve: 1.22.11 - transitivePeerDependencies: - - supports-color - - '@babel/helper-globals@7.28.0': {} - - '@babel/helper-member-expression-to-functions@7.28.5': - dependencies: - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.27.1': - dependencies: - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.28.6': - dependencies: - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.28.6(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.27.1': - dependencies: - '@babel/types': 7.29.0 - - '@babel/helper-plugin-utils@7.27.1': {} - - '@babel/helper-plugin-utils@7.28.6': {} - - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-wrap-function': 7.28.3 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.27.1': - dependencies: - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-string-parser@7.27.1': {} - - '@babel/helper-string-parser@8.0.0-rc.3': {} - - '@babel/helper-validator-identifier@7.28.5': {} - - '@babel/helper-validator-identifier@8.0.0-rc.3': {} - - '@babel/helper-validator-option@7.27.1': {} - - '@babel/helper-wrap-function@7.28.3': - dependencies: - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.28.4': - dependencies: - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - - '@babel/helpers@7.29.2': - dependencies: - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - - '@babel/highlight@7.25.9': - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - chalk: 2.4.2 + '@babel/helper-validator-identifier': 7.29.7 js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/parser@7.28.5': - dependencies: - '@babel/types': 7.29.0 - - '@babel/parser@7.29.2': - dependencies: - '@babel/types': 7.29.0 - - '@babel/parser@7.29.3': - dependencies: - '@babel/types': 7.29.0 - - '@babel/parser@8.0.0-rc.3': - dependencies: - '@babel/types': 8.0.0-rc.3 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.28.5)': - dependencies: - '@babel/compat-data': 7.28.5 - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-block-scoping@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-globals': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/template': 7.28.6 - - '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-exponentiation-operator@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-logical-assignment-operators@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color + picocolors: 1.1.1 - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.5)': + '@babel/code-frame@7.29.7': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/compat-data@7.29.7': {} - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.5)': + '@babel/core@7.29.7(supports-color@10.2.2)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7(supports-color@10.2.2) + '@babel/types': 7.29.7 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3(supports-color@10.2.2) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.5)': + '@babel/generator@7.29.7': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 - '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.5)': + '@babel/helper-annotate-as-pure@7.29.7': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/types': 7.29.7 - '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.5)': + '@babel/helper-compilation-targets@7.29.7': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.6 + lru-cache: 5.1.1 + semver: 6.3.1 - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.5)': + '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7(supports-color@10.2.2) + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@10.2.2) + '@babel/traverse': 7.29.7(supports-color@10.2.2) + semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-globals@7.29.7': {} - '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.28.5)': + '@babel/helper-member-expression-to-functions@7.29.7(supports-color@10.2.2)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.29.7(supports-color@10.2.2) + '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.5)': + '@babel/helper-module-imports@7.29.7(supports-color@10.2.2)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.7(supports-color@10.2.2) + '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.5)': + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-module-imports': 7.29.7(supports-color@10.2.2) + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7(supports-color@10.2.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.5)': + '@babel/helper-optimise-call-expression@7.29.7': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/types': 7.29.7 - '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils@7.29.7': {} - '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.5)': + '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)': dependencies: - '@babel/core': 7.28.5 - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5) + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-member-expression-to-functions': 7.29.7(supports-color@10.2.2) + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/traverse': 7.29.7(supports-color@10.2.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.5)': + '@babel/helper-skip-transparent-expression-wrappers@7.29.7(supports-color@10.2.2)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) - '@babel/types': 7.29.0 + '@babel/traverse': 7.29.7(supports-color@10.2.2) + '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-string-parser@7.29.7': {} - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-validator-identifier@7.29.7': {} - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-validator-option@7.29.7': {} - '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.5)': + '@babel/helpers@7.29.7': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.5)': + '@babel/parser@7.29.7': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/types': 7.29.7 - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-typescript@7.28.6(@babel/core@7.29.0)': + '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/polyfill@7.12.1': - dependencies: - core-js: 2.6.12 - regenerator-runtime: 0.13.11 - - '@babel/preset-env@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/compat-data': 7.28.5 - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.5) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5) - '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.5) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.5) - '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-exponentiation-operator': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-logical-assignment-operators': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.5) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.5) - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.5) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.5) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) - core-js-compat: 3.47.0 - semver: 6.3.1 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 transitivePeerDependencies: - supports-color - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/types': 7.29.0 - esutils: 2.0.3 - - '@babel/preset-react@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.28.5) + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7(supports-color@10.2.2) + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2)) transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.28.5(@babel/core@7.29.0)': + '@babel/preset-typescript@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2)) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) + '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) transitivePeerDependencies: - supports-color - '@babel/register@7.28.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - clone-deep: 4.0.1 - find-cache-dir: 2.1.0 - make-dir: 2.1.0 - pirates: 4.0.7 - source-map-support: 0.5.21 - - '@babel/runtime@7.29.2': {} + '@babel/runtime@7.29.7': {} - '@babel/template@7.28.6': + '@babel/template@7.29.7': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 - - '@babel/traverse@7.28.5': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.2 - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 - '@babel/traverse@7.29.0': + '@babel/traverse@7.29.7(supports-color@10.2.2)': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.3 - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - debug: 4.4.3 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color - '@babel/types@7.28.5': + '@babel/types@7.29.7': dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 - '@babel/types@7.29.0': + '@base-ui/react@1.6.0(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - - '@babel/types@8.0.0-rc.3': - dependencies: - '@babel/helper-string-parser': 8.0.0-rc.3 - '@babel/helper-validator-identifier': 8.0.0-rc.3 - - '@base-ui/react@1.3.0(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@babel/runtime': 7.29.2 - '@base-ui/utils': 0.2.6(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@floating-ui/react-dom': 2.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@floating-ui/utils': 0.2.11 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - tabbable: 6.4.0 - use-sync-external-store: 1.6.0(react@19.2.4) + '@babel/runtime': 7.29.7 + '@base-ui/utils': 0.3.1(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@floating-ui/react-dom': 2.1.9(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@floating-ui/utils': 0.2.12 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + use-sync-external-store: 1.6.0(react@19.2.8) optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.17 - '@base-ui/utils@0.2.6(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@base-ui/utils@0.3.1(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 - '@floating-ui/utils': 0.2.11 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - reselect: 5.1.1 - use-sync-external-store: 1.6.0(react@19.2.4) + '@babel/runtime': 7.29.7 + '@floating-ui/utils': 0.2.12 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + reselect: 5.2.0 + use-sync-external-store: 1.6.0(react@19.2.8) optionalDependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.17 '@blakeembrey/deque@1.0.5': {} '@blakeembrey/template@1.2.0': {} - '@borewit/text-codec@0.1.1': {} + '@borewit/text-codec@0.2.2': {} + + '@bramus/specificity@2.4.2': + dependencies: + css-tree: 3.2.1 '@brillout/import@0.2.6': {} - '@changesets/apply-release-plan@7.1.0': + '@changesets/apply-release-plan@7.1.1': dependencies: - '@changesets/config': 3.1.3 + '@changesets/config': 3.1.4 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.4 '@changesets/should-skip-package': 0.1.2 @@ -18567,22 +14552,22 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.7.3 + semver: 7.8.5 - '@changesets/assemble-release-plan@6.0.9': + '@changesets/assemble-release-plan@6.0.10': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.3 + '@changesets/get-dependents-graph': 2.1.4 '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 - semver: 7.7.3 + semver: 7.8.5 '@changesets/changelog-git@0.2.1': dependencies: '@changesets/types': 6.1.0 - '@changesets/changelog-github@0.6.0': + '@changesets/changelog-github@0.7.0': dependencies: '@changesets/get-github-info': 0.8.0 '@changesets/types': 6.1.0 @@ -18590,15 +14575,15 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/cli@2.30.0(@types/node@25.9.1)': + '@changesets/cli@2.31.1(@types/node@26.1.1)': dependencies: - '@changesets/apply-release-plan': 7.1.0 - '@changesets/assemble-release-plan': 6.0.9 + '@changesets/apply-release-plan': 7.1.1 + '@changesets/assemble-release-plan': 6.0.10 '@changesets/changelog-git': 0.2.1 - '@changesets/config': 3.1.3 + '@changesets/config': 3.1.4 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.3 - '@changesets/get-release-plan': 4.0.15 + '@changesets/get-dependents-graph': 2.1.4 + '@changesets/get-release-plan': 4.0.16 '@changesets/git': 3.0.4 '@changesets/logger': 0.1.1 '@changesets/pre': 2.0.2 @@ -18606,7 +14591,7 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.3(@types/node@25.9.1) + '@inquirer/external-editor': 1.0.3(@types/node@26.1.1) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 enquirer: 2.4.1 @@ -18615,16 +14600,16 @@ snapshots: package-manager-detector: 0.2.11 picocolors: 1.1.1 resolve-from: 5.0.0 - semver: 7.7.3 + semver: 7.8.5 spawndamnit: 3.0.1 term-size: 2.2.1 transitivePeerDependencies: - '@types/node' - '@changesets/config@3.1.3': + '@changesets/config@3.1.4': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.3 + '@changesets/get-dependents-graph': 2.1.4 '@changesets/logger': 0.1.1 '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 @@ -18636,12 +14621,12 @@ snapshots: dependencies: extendable-error: 0.1.7 - '@changesets/get-dependents-graph@2.1.3': + '@changesets/get-dependents-graph@2.1.4': dependencies: '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 picocolors: 1.1.1 - semver: 7.7.3 + semver: 7.8.5 '@changesets/get-github-info@0.8.0': dependencies: @@ -18650,10 +14635,10 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/get-release-plan@4.0.15': + '@changesets/get-release-plan@4.0.16': dependencies: - '@changesets/assemble-release-plan': 6.0.9 - '@changesets/config': 3.1.3 + '@changesets/assemble-release-plan': 6.0.10 + '@changesets/config': 3.1.4 '@changesets/pre': 2.0.2 '@changesets/read': 0.6.7 '@changesets/types': 6.1.0 @@ -18676,7 +14661,7 @@ snapshots: '@changesets/parse@0.4.3': dependencies: '@changesets/types': 6.1.0 - js-yaml: 4.1.1 + js-yaml: 4.3.0 '@changesets/pre@2.0.2': dependencies: @@ -18708,1052 +14693,835 @@ snapshots: dependencies: '@changesets/types': 6.1.0 fs-extra: 7.0.1 - human-id: 4.1.3 + human-id: 4.2.0 prettier: 2.8.8 '@cloudflare/kv-asset-handler@0.5.0': {} - '@cloudflare/unenv-preset@2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260518.1)': + '@cloudflare/unenv-preset@2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260721.1)': dependencies: unenv: 2.0.0-rc.24 optionalDependencies: - workerd: 1.20260518.1 + workerd: 1.20260721.1 - '@cloudflare/vite-plugin@1.37.2(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(workerd@1.20260518.1)(wrangler@4.93.0)': + '@cloudflare/vite-plugin@1.46.0(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(wrangler@4.113.0(@cloudflare/workers-types@5.20260722.1))': dependencies: - '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260518.1) - miniflare: 4.20260518.0 + '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260721.1) + miniflare: 4.20260721.0 unenv: 2.0.0-rc.24 - vite: 8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) - wrangler: 4.93.0(@cloudflare/workers-types@4.20260402.1) - ws: 8.18.0 + vite: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) + workerd: 1.20260721.1 + wrangler: 4.113.0(@cloudflare/workers-types@5.20260722.1) + ws: 8.21.0 transitivePeerDependencies: - bufferutil - utf-8-validate - - workerd - '@cloudflare/workerd-darwin-64@1.20260518.1': + '@cloudflare/workerd-darwin-64@1.20260721.1': optional: true - '@cloudflare/workerd-darwin-arm64@1.20260518.1': + '@cloudflare/workerd-darwin-arm64@1.20260721.1': optional: true - '@cloudflare/workerd-linux-64@1.20260518.1': + '@cloudflare/workerd-linux-64@1.20260721.1': optional: true - '@cloudflare/workerd-linux-arm64@1.20260518.1': + '@cloudflare/workerd-linux-arm64@1.20260721.1': optional: true - '@cloudflare/workerd-windows-64@1.20260518.1': + '@cloudflare/workerd-windows-64@1.20260721.1': optional: true - '@cloudflare/workers-types@4.20260402.1': {} + '@cloudflare/workers-types@5.20260722.1': {} - '@codemirror/autocomplete@6.20.1': + '@codemirror/autocomplete@6.20.3': dependencies: - '@codemirror/language': 6.12.3 - '@codemirror/state': 6.6.0 - '@codemirror/view': 6.41.0 - '@lezer/common': 1.5.1 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.6 + '@lezer/common': 1.5.2 - '@codemirror/commands@6.10.3': + '@codemirror/commands@6.10.4': dependencies: - '@codemirror/language': 6.12.3 - '@codemirror/state': 6.6.0 - '@codemirror/view': 6.41.0 - '@lezer/common': 1.5.1 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.6 + '@lezer/common': 1.5.2 '@codemirror/lang-css@6.3.1': dependencies: - '@codemirror/autocomplete': 6.20.1 - '@codemirror/language': 6.12.3 - '@codemirror/state': 6.6.0 - '@lezer/common': 1.5.1 - '@lezer/css': 1.3.3 + '@codemirror/autocomplete': 6.20.3 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.1 + '@lezer/common': 1.5.2 + '@lezer/css': 1.3.4 '@codemirror/lang-html@6.4.11': dependencies: - '@codemirror/autocomplete': 6.20.1 + '@codemirror/autocomplete': 6.20.3 '@codemirror/lang-css': 6.3.1 '@codemirror/lang-javascript': 6.2.5 - '@codemirror/language': 6.12.3 - '@codemirror/state': 6.6.0 - '@codemirror/view': 6.41.0 - '@lezer/common': 1.5.1 - '@lezer/css': 1.3.3 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.6 + '@lezer/common': 1.5.2 + '@lezer/css': 1.3.4 '@lezer/html': 1.3.13 '@codemirror/lang-javascript@6.2.5': dependencies: - '@codemirror/autocomplete': 6.20.1 - '@codemirror/language': 6.12.3 - '@codemirror/lint': 6.9.5 - '@codemirror/state': 6.6.0 - '@codemirror/view': 6.41.0 - '@lezer/common': 1.5.1 + '@codemirror/autocomplete': 6.20.3 + '@codemirror/language': 6.12.4 + '@codemirror/lint': 6.9.7 + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.6 + '@lezer/common': 1.5.2 '@lezer/javascript': 1.5.4 '@codemirror/lang-json@6.0.2': dependencies: - '@codemirror/language': 6.12.3 + '@codemirror/language': 6.12.4 '@lezer/json': 1.0.3 '@codemirror/lang-xml@6.1.0': dependencies: - '@codemirror/autocomplete': 6.20.1 - '@codemirror/language': 6.12.3 - '@codemirror/state': 6.6.0 - '@codemirror/view': 6.41.0 - '@lezer/common': 1.5.1 + '@codemirror/autocomplete': 6.20.3 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.6 + '@lezer/common': 1.5.2 '@lezer/xml': 1.0.6 - '@codemirror/lang-yaml@6.1.3': - dependencies: - '@codemirror/autocomplete': 6.20.1 - '@codemirror/language': 6.12.3 - '@codemirror/state': 6.6.0 - '@lezer/common': 1.5.1 - '@lezer/highlight': 1.2.3 - '@lezer/lr': 1.4.8 - '@lezer/yaml': 1.0.4 - - '@codemirror/language@6.12.3': - dependencies: - '@codemirror/state': 6.6.0 - '@codemirror/view': 6.41.0 - '@lezer/common': 1.5.1 - '@lezer/highlight': 1.2.3 - '@lezer/lr': 1.4.8 - style-mod: 4.1.3 - - '@codemirror/lint@6.9.5': - dependencies: - '@codemirror/state': 6.6.0 - '@codemirror/view': 6.41.0 - crelt: 1.0.6 - - '@codemirror/state@6.6.0': - dependencies: - '@marijn/find-cluster-break': 1.0.2 - - '@codemirror/view@6.41.0': - dependencies: - '@codemirror/state': 6.6.0 - crelt: 1.0.6 - style-mod: 4.1.3 - w3c-keyname: 2.2.8 - - '@colors/colors@1.6.0': {} - - '@cspotcode/source-map-support@0.8.1': - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - - '@csstools/color-helpers@6.0.2': {} - - '@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': - dependencies: - '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) - '@csstools/css-tokenizer': 4.0.0 - - '@csstools/css-color-parser@4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': - dependencies: - '@csstools/color-helpers': 6.0.2 - '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) - '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) - '@csstools/css-tokenizer': 4.0.0 - - '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)': - dependencies: - '@csstools/css-tokenizer': 4.0.0 - - '@csstools/css-syntax-patches-for-csstree@1.1.2(css-tree@3.2.1)': - optionalDependencies: - css-tree: 3.2.1 - - '@csstools/css-tokenizer@4.0.0': {} - - '@dabh/diagnostics@2.0.8': - dependencies: - '@so-ric/colorspace': 1.1.6 - enabled: 2.0.0 - kuler: 2.0.0 - - '@discordjs/collection@0.8.0': {} - - '@dotenvx/dotenvx@1.59.1': - dependencies: - commander: 11.1.0 - dotenv: 17.4.0 - eciesjs: 0.4.18 - execa: 5.1.1 - fdir: 6.5.0(picomatch@4.0.4) - ignore: 5.3.2 - object-treeify: 1.1.33 - picomatch: 4.0.4 - which: 4.0.0 - - '@ecies/ciphers@0.2.6(@noble/ciphers@1.3.0)': - dependencies: - '@noble/ciphers': 1.3.0 - - '@effect/data@0.17.1': {} - - '@effect/io@0.38.0(@effect/data@0.17.1)': - dependencies: - '@effect/data': 0.17.1 - - '@effect/match@0.32.0(@effect/data@0.17.1)(@effect/schema@0.33.1(@effect/data@0.17.1)(@effect/io@0.38.0(@effect/data@0.17.1)))': - dependencies: - '@effect/data': 0.17.1 - '@effect/schema': 0.33.1(@effect/data@0.17.1)(@effect/io@0.38.0(@effect/data@0.17.1)) - - '@effect/schema@0.33.1(@effect/data@0.17.1)(@effect/io@0.38.0(@effect/data@0.17.1))': - dependencies: - '@effect/data': 0.17.1 - '@effect/io': 0.38.0(@effect/data@0.17.1) - fast-check: 3.23.2 - - '@elastic/elasticsearch@9.2.0': - dependencies: - '@elastic/transport': 9.2.3 - apache-arrow: 21.1.0 - tslib: 2.8.1 - transitivePeerDependencies: - - '@75lb/nature' - - supports-color - - '@elastic/transport@9.2.3': - dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) - debug: 4.4.3 - hpagent: 1.2.0 - ms: 2.1.3 - secure-json-parse: 4.1.0 - tslib: 2.8.1 - undici: 7.16.0 - transitivePeerDependencies: - - supports-color - - '@emnapi/core@1.10.0': - dependencies: - '@emnapi/wasi-threads': 1.2.1 - tslib: 2.8.1 - optional: true - - '@emnapi/core@1.9.2': - dependencies: - '@emnapi/wasi-threads': 1.2.1 - tslib: 2.8.1 - optional: true - - '@emnapi/runtime@1.10.0': - dependencies: - tslib: 2.8.1 - optional: true - - '@emnapi/runtime@1.9.2': - dependencies: - tslib: 2.8.1 - optional: true - - '@emnapi/wasi-threads@1.2.1': - dependencies: - tslib: 2.8.1 - optional: true - - '@esbuild/aix-ppc64@0.27.3': - optional: true - - '@esbuild/aix-ppc64@0.27.4': - optional: true - - '@esbuild/aix-ppc64@0.27.7': - optional: true - - '@esbuild/aix-ppc64@0.28.0': - optional: true - - '@esbuild/android-arm64@0.27.3': - optional: true - - '@esbuild/android-arm64@0.27.4': - optional: true - - '@esbuild/android-arm64@0.27.7': - optional: true - - '@esbuild/android-arm64@0.28.0': - optional: true - - '@esbuild/android-arm@0.27.3': - optional: true - - '@esbuild/android-arm@0.27.4': - optional: true - - '@esbuild/android-arm@0.27.7': - optional: true - - '@esbuild/android-arm@0.28.0': - optional: true - - '@esbuild/android-x64@0.27.3': - optional: true - - '@esbuild/android-x64@0.27.4': - optional: true - - '@esbuild/android-x64@0.27.7': - optional: true - - '@esbuild/android-x64@0.28.0': - optional: true - - '@esbuild/darwin-arm64@0.27.3': - optional: true - - '@esbuild/darwin-arm64@0.27.4': - optional: true - - '@esbuild/darwin-arm64@0.27.7': - optional: true - - '@esbuild/darwin-arm64@0.28.0': - optional: true - - '@esbuild/darwin-x64@0.27.3': - optional: true - - '@esbuild/darwin-x64@0.27.4': - optional: true - - '@esbuild/darwin-x64@0.27.7': - optional: true - - '@esbuild/darwin-x64@0.28.0': - optional: true - - '@esbuild/freebsd-arm64@0.27.3': - optional: true - - '@esbuild/freebsd-arm64@0.27.4': - optional: true - - '@esbuild/freebsd-arm64@0.27.7': - optional: true - - '@esbuild/freebsd-arm64@0.28.0': - optional: true - - '@esbuild/freebsd-x64@0.27.3': - optional: true - - '@esbuild/freebsd-x64@0.27.4': - optional: true - - '@esbuild/freebsd-x64@0.27.7': - optional: true - - '@esbuild/freebsd-x64@0.28.0': - optional: true - - '@esbuild/linux-arm64@0.27.3': - optional: true - - '@esbuild/linux-arm64@0.27.4': - optional: true - - '@esbuild/linux-arm64@0.27.7': - optional: true - - '@esbuild/linux-arm64@0.28.0': - optional: true - - '@esbuild/linux-arm@0.27.3': - optional: true - - '@esbuild/linux-arm@0.27.4': - optional: true - - '@esbuild/linux-arm@0.27.7': - optional: true - - '@esbuild/linux-arm@0.28.0': - optional: true - - '@esbuild/linux-ia32@0.27.3': - optional: true - - '@esbuild/linux-ia32@0.27.4': - optional: true - - '@esbuild/linux-ia32@0.27.7': - optional: true - - '@esbuild/linux-ia32@0.28.0': - optional: true - - '@esbuild/linux-loong64@0.27.3': - optional: true - - '@esbuild/linux-loong64@0.27.4': - optional: true - - '@esbuild/linux-loong64@0.27.7': - optional: true - - '@esbuild/linux-loong64@0.28.0': - optional: true + '@codemirror/lang-yaml@6.1.3': + dependencies: + '@codemirror/autocomplete': 6.20.3 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.1 + '@lezer/common': 1.5.2 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.10 + '@lezer/yaml': 1.0.4 - '@esbuild/linux-mips64el@0.27.3': - optional: true + '@codemirror/language@6.12.4': + dependencies: + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.6 + '@lezer/common': 1.5.2 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.10 + style-mod: 4.1.3 - '@esbuild/linux-mips64el@0.27.4': - optional: true + '@codemirror/lint@6.9.7': + dependencies: + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.6 + crelt: 1.0.7 - '@esbuild/linux-mips64el@0.27.7': - optional: true + '@codemirror/state@6.7.1': + dependencies: + '@marijn/find-cluster-break': 1.0.3 - '@esbuild/linux-mips64el@0.28.0': - optional: true + '@codemirror/view@6.43.6': + dependencies: + '@codemirror/state': 6.7.1 + crelt: 1.0.7 + style-mod: 4.1.3 + w3c-keyname: 2.2.8 - '@esbuild/linux-ppc64@0.27.3': - optional: true + '@colors/colors@1.6.0': {} - '@esbuild/linux-ppc64@0.27.4': - optional: true + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 - '@esbuild/linux-ppc64@0.27.7': - optional: true + '@csstools/color-helpers@6.1.0': {} - '@esbuild/linux-ppc64@0.28.0': - optional: true + '@csstools/css-calc@3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': + dependencies: + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 - '@esbuild/linux-riscv64@0.27.3': - optional: true + '@csstools/css-color-parser@4.1.9(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': + dependencies: + '@csstools/color-helpers': 6.1.0 + '@csstools/css-calc': 3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 - '@esbuild/linux-riscv64@0.27.4': - optional: true + '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)': + dependencies: + '@csstools/css-tokenizer': 4.0.0 - '@esbuild/linux-riscv64@0.27.7': - optional: true + '@csstools/css-syntax-patches-for-csstree@1.1.6(css-tree@3.2.1)': + optionalDependencies: + css-tree: 3.2.1 - '@esbuild/linux-riscv64@0.28.0': - optional: true + '@csstools/css-tokenizer@4.0.0': {} - '@esbuild/linux-s390x@0.27.3': - optional: true + '@dabh/diagnostics@2.0.8': + dependencies: + '@so-ric/colorspace': 1.1.6 + enabled: 2.0.0 + kuler: 2.0.0 - '@esbuild/linux-s390x@0.27.4': - optional: true + '@discordjs/collection@0.8.0': {} - '@esbuild/linux-s390x@0.27.7': - optional: true + '@dotenvx/dotenvx@1.75.1': + dependencies: + '@dotenvx/primitives': 0.8.0 + commander: 11.1.0 + conf: 10.2.0 + dotenv: 17.4.2 + enquirer: 2.4.1 + env-paths: 2.2.1 + execa: 5.1.1 + fdir: 6.5.0(picomatch@4.0.5) + ignore: 5.3.2 + object-treeify: 1.1.33 + open: 8.4.2 + picomatch: 4.0.5 + systeminformation: 5.33.0 + undici: 7.28.0 + which: 4.0.0 + yocto-spinner: 1.2.2 - '@esbuild/linux-s390x@0.28.0': - optional: true + '@dotenvx/primitives@0.8.0': {} - '@esbuild/linux-x64@0.27.3': - optional: true + '@effect/platform-browser@4.0.0-beta.100(effect@4.0.0-beta.100)': + dependencies: + effect: 4.0.0-beta.100 + multipasta: 0.2.8 - '@esbuild/linux-x64@0.27.4': - optional: true + '@effect/platform-bun@4.0.0-beta.100(effect@4.0.0-beta.100)': + dependencies: + '@effect/platform-node-shared': 4.0.0-beta.100(effect@4.0.0-beta.100) + effect: 4.0.0-beta.100 + transitivePeerDependencies: + - bufferutil + - utf-8-validate - '@esbuild/linux-x64@0.27.7': - optional: true + '@effect/platform-node-shared@4.0.0-beta.100(effect@4.0.0-beta.100)': + dependencies: + '@types/ws': 8.18.1 + effect: 4.0.0-beta.100 + ws: 8.21.1 + transitivePeerDependencies: + - bufferutil + - utf-8-validate - '@esbuild/linux-x64@0.28.0': - optional: true + '@effect/platform-node@4.0.0-beta.100(effect@4.0.0-beta.100)(ioredis@5.11.1(supports-color@10.2.2))': + dependencies: + '@effect/platform-node-shared': 4.0.0-beta.100(effect@4.0.0-beta.100) + effect: 4.0.0-beta.100 + ioredis: 5.11.1(supports-color@10.2.2) + mime: 4.1.0 + undici: 8.8.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate - '@esbuild/netbsd-arm64@0.27.3': - optional: true + '@elastic/elasticsearch@9.4.2(apache-arrow@21.1.0)(supports-color@10.2.2)': + dependencies: + '@elastic/transport': 9.3.7(supports-color@10.2.2) + tslib: 2.8.1 + optionalDependencies: + apache-arrow: 21.1.0 + transitivePeerDependencies: + - supports-color - '@esbuild/netbsd-arm64@0.27.4': - optional: true + '@elastic/transport@9.3.7(supports-color@10.2.2)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.9.0(@opentelemetry/api@1.9.1) + debug: 4.4.3(supports-color@10.2.2) + hpagent: 1.2.0 + ms: 2.1.3 + secure-json-parse: 4.1.0 + tslib: 2.8.1 + undici: 7.28.0 + transitivePeerDependencies: + - supports-color - '@esbuild/netbsd-arm64@0.27.7': + '@emnapi/core@1.10.0': + dependencies: + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 optional: true - '@esbuild/netbsd-arm64@0.28.0': + '@emnapi/core@1.11.1': + dependencies: + '@emnapi/wasi-threads': 1.2.2 + tslib: 2.8.1 optional: true - '@esbuild/netbsd-x64@0.27.3': + '@emnapi/core@1.11.2': + dependencies: + '@emnapi/wasi-threads': 1.2.2 + tslib: 2.8.1 optional: true - '@esbuild/netbsd-x64@0.27.4': + '@emnapi/runtime@1.10.0': + dependencies: + tslib: 2.8.1 optional: true - '@esbuild/netbsd-x64@0.27.7': + '@emnapi/runtime@1.11.1': + dependencies: + tslib: 2.8.1 optional: true - '@esbuild/netbsd-x64@0.28.0': + '@emnapi/runtime@1.11.2': + dependencies: + tslib: 2.8.1 optional: true - '@esbuild/openbsd-arm64@0.27.3': + '@emnapi/wasi-threads@1.2.1': + dependencies: + tslib: 2.8.1 optional: true - '@esbuild/openbsd-arm64@0.27.4': + '@emnapi/wasi-threads@1.2.2': + dependencies: + tslib: 2.8.1 optional: true - '@esbuild/openbsd-arm64@0.27.7': + '@esbuild/aix-ppc64@0.28.1': optional: true - '@esbuild/openbsd-arm64@0.28.0': + '@esbuild/android-arm64@0.28.1': optional: true - '@esbuild/openbsd-x64@0.27.3': + '@esbuild/android-arm@0.28.1': optional: true - '@esbuild/openbsd-x64@0.27.4': + '@esbuild/android-x64@0.28.1': optional: true - '@esbuild/openbsd-x64@0.27.7': + '@esbuild/darwin-arm64@0.28.1': optional: true - '@esbuild/openbsd-x64@0.28.0': + '@esbuild/darwin-x64@0.28.1': optional: true - '@esbuild/openharmony-arm64@0.27.3': + '@esbuild/freebsd-arm64@0.28.1': optional: true - '@esbuild/openharmony-arm64@0.27.4': + '@esbuild/freebsd-x64@0.28.1': optional: true - '@esbuild/openharmony-arm64@0.27.7': + '@esbuild/linux-arm64@0.28.1': optional: true - '@esbuild/openharmony-arm64@0.28.0': + '@esbuild/linux-arm@0.28.1': optional: true - '@esbuild/sunos-x64@0.27.3': + '@esbuild/linux-ia32@0.28.1': optional: true - '@esbuild/sunos-x64@0.27.4': + '@esbuild/linux-loong64@0.28.1': optional: true - '@esbuild/sunos-x64@0.27.7': + '@esbuild/linux-mips64el@0.28.1': optional: true - '@esbuild/sunos-x64@0.28.0': + '@esbuild/linux-ppc64@0.28.1': optional: true - '@esbuild/win32-arm64@0.27.3': + '@esbuild/linux-riscv64@0.28.1': optional: true - '@esbuild/win32-arm64@0.27.4': + '@esbuild/linux-s390x@0.28.1': optional: true - '@esbuild/win32-arm64@0.27.7': + '@esbuild/linux-x64@0.28.1': optional: true - '@esbuild/win32-arm64@0.28.0': + '@esbuild/netbsd-arm64@0.28.1': optional: true - '@esbuild/win32-ia32@0.27.3': + '@esbuild/netbsd-x64@0.28.1': optional: true - '@esbuild/win32-ia32@0.27.4': + '@esbuild/openbsd-arm64@0.28.1': optional: true - '@esbuild/win32-ia32@0.27.7': + '@esbuild/openbsd-x64@0.28.1': optional: true - '@esbuild/win32-ia32@0.28.0': + '@esbuild/openharmony-arm64@0.28.1': optional: true - '@esbuild/win32-x64@0.27.3': + '@esbuild/sunos-x64@0.28.1': optional: true - '@esbuild/win32-x64@0.27.4': + '@esbuild/win32-arm64@0.28.1': optional: true - '@esbuild/win32-x64@0.27.7': + '@esbuild/win32-ia32@0.28.1': optional: true - '@esbuild/win32-x64@0.28.0': + '@esbuild/win32-x64@0.28.1': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@8.57.1)': + '@eslint-community/eslint-utils@4.9.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))': dependencies: - eslint: 8.57.1 + eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} - '@eslint/eslintrc@2.1.4': + '@eslint/config-array@0.23.5(supports-color@10.2.2)': dependencies: - ajv: 6.15.0 - debug: 4.4.3 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.2 - import-fresh: 3.3.1 - js-yaml: 4.1.1 - minimatch: 3.1.5 - strip-json-comments: 3.1.1 + '@eslint/object-schema': 3.0.5 + debug: 4.4.3(supports-color@10.2.2) + minimatch: 10.2.5 transitivePeerDependencies: - supports-color - '@eslint/js@10.0.1(eslint@8.57.1)': + '@eslint/config-helpers@0.6.0': + dependencies: + '@eslint/core': 1.2.1 + + '@eslint/core@1.2.1': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/js@10.0.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))': optionalDependencies: - eslint: 8.57.1 + eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2) + + '@eslint/object-schema@3.0.5': {} - '@eslint/js@8.57.1': {} + '@eslint/plugin-kit@0.7.2': + dependencies: + '@eslint/core': 1.2.1 + levn: 0.4.1 - '@exodus/bytes@1.15.0(@noble/hashes@1.8.0)': + '@exodus/bytes@1.15.1(@noble/hashes@1.8.0)': optionalDependencies: '@noble/hashes': 1.8.0 - '@firebase/analytics-compat@0.2.6(@firebase/app-compat@0.2.13)(@firebase/app@0.9.13)': + '@firebase/ai@2.13.1(@firebase/app-types@0.9.5)(@firebase/app@0.15.1)': dependencies: - '@firebase/analytics': 0.10.0(@firebase/app@0.9.13) - '@firebase/analytics-types': 0.8.0 - '@firebase/app-compat': 0.2.13 - '@firebase/component': 0.6.4 - '@firebase/util': 1.9.3 + '@firebase/app': 0.15.1 + '@firebase/app-check-interop-types': 0.3.4 + '@firebase/app-types': 0.9.5 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 + tslib: 2.8.1 + + '@firebase/analytics-compat@0.2.28(@firebase/app-compat@0.5.15)(@firebase/app@0.15.1)': + dependencies: + '@firebase/analytics': 0.10.22(@firebase/app@0.15.1) + '@firebase/analytics-types': 0.8.4 + '@firebase/app-compat': 0.5.15 + '@firebase/component': 0.7.3 + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/analytics-types@0.8.0': {} + '@firebase/analytics-types@0.8.4': {} - '@firebase/analytics@0.10.0(@firebase/app@0.9.13)': + '@firebase/analytics@0.10.22(@firebase/app@0.15.1)': dependencies: - '@firebase/app': 0.9.13 - '@firebase/component': 0.6.4 - '@firebase/installations': 0.6.4(@firebase/app@0.9.13) - '@firebase/logger': 0.4.0 - '@firebase/util': 1.9.3 + '@firebase/app': 0.15.1 + '@firebase/component': 0.7.3 + '@firebase/installations': 0.6.22(@firebase/app@0.15.1) + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/app-check-compat@0.3.7(@firebase/app-compat@0.2.13)(@firebase/app@0.9.13)': + '@firebase/app-check-compat@0.4.5(@firebase/app-compat@0.5.15)(@firebase/app@0.15.1)': dependencies: - '@firebase/app-check': 0.8.0(@firebase/app@0.9.13) - '@firebase/app-check-types': 0.5.0 - '@firebase/app-compat': 0.2.13 - '@firebase/component': 0.6.4 - '@firebase/logger': 0.4.0 - '@firebase/util': 1.9.3 + '@firebase/app-check': 0.12.0(@firebase/app@0.15.1) + '@firebase/app-check-types': 0.5.4 + '@firebase/app-compat': 0.5.15 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/app-check-interop-types@0.3.0': {} + '@firebase/app-check-interop-types@0.3.4': {} - '@firebase/app-check-types@0.5.0': {} + '@firebase/app-check-types@0.5.4': {} - '@firebase/app-check@0.8.0(@firebase/app@0.9.13)': + '@firebase/app-check@0.12.0(@firebase/app@0.15.1)': dependencies: - '@firebase/app': 0.9.13 - '@firebase/component': 0.6.4 - '@firebase/logger': 0.4.0 - '@firebase/util': 1.9.3 + '@firebase/app': 0.15.1 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/app-compat@0.2.13': + '@firebase/app-compat@0.5.15': dependencies: - '@firebase/app': 0.9.13 - '@firebase/component': 0.6.4 - '@firebase/logger': 0.4.0 - '@firebase/util': 1.9.3 + '@firebase/app': 0.15.1 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/app-types@0.9.0': {} + '@firebase/app-types@0.9.5': + dependencies: + '@firebase/logger': 0.5.1 - '@firebase/app@0.9.13': + '@firebase/app@0.15.1': dependencies: - '@firebase/component': 0.6.4 - '@firebase/logger': 0.4.0 - '@firebase/util': 1.9.3 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 idb: 7.1.1 tslib: 2.8.1 - '@firebase/auth-compat@0.4.2(@firebase/app-compat@0.2.13)(@firebase/app-types@0.9.0)(@firebase/app@0.9.13)': + '@firebase/auth-compat@0.6.8(@firebase/app-compat@0.5.15)(@firebase/app-types@0.9.5)(@firebase/app@0.15.1)': dependencies: - '@firebase/app-compat': 0.2.13 - '@firebase/auth': 0.23.2(@firebase/app@0.9.13) - '@firebase/auth-types': 0.12.0(@firebase/app-types@0.9.0)(@firebase/util@1.9.3) - '@firebase/component': 0.6.4 - '@firebase/util': 1.9.3 - node-fetch: 2.6.7 + '@firebase/app-compat': 0.5.15 + '@firebase/auth': 1.13.3(@firebase/app@0.15.1) + '@firebase/auth-types': 0.13.1(@firebase/app-types@0.9.5)(@firebase/util@1.15.1) + '@firebase/component': 0.7.3 + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/app-types' - - encoding + - '@react-native-async-storage/async-storage' - '@firebase/auth-interop-types@0.2.1': {} + '@firebase/auth-interop-types@0.2.5': {} - '@firebase/auth-types@0.12.0(@firebase/app-types@0.9.0)(@firebase/util@1.9.3)': + '@firebase/auth-types@0.13.1(@firebase/app-types@0.9.5)(@firebase/util@1.15.1)': dependencies: - '@firebase/app-types': 0.9.0 - '@firebase/util': 1.9.3 + '@firebase/app-types': 0.9.5 + '@firebase/util': 1.15.1 - '@firebase/auth@0.23.2(@firebase/app@0.9.13)': + '@firebase/auth@1.13.3(@firebase/app@0.15.1)': dependencies: - '@firebase/app': 0.9.13 - '@firebase/component': 0.6.4 - '@firebase/logger': 0.4.0 - '@firebase/util': 1.9.3 - node-fetch: 2.6.7 + '@firebase/app': 0.15.1 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 + tslib: 2.8.1 + + '@firebase/component@0.7.3': + dependencies: + '@firebase/util': 1.15.1 tslib: 2.8.1 - transitivePeerDependencies: - - encoding - '@firebase/component@0.6.4': + '@firebase/data-connect@0.7.1(@firebase/app@0.15.1)': dependencies: - '@firebase/util': 1.9.3 + '@firebase/app': 0.15.1 + '@firebase/auth-interop-types': 0.2.5 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/database-compat@0.3.4': + '@firebase/database-compat@2.1.4': dependencies: - '@firebase/component': 0.6.4 - '@firebase/database': 0.14.4 - '@firebase/database-types': 0.10.4 - '@firebase/logger': 0.4.0 - '@firebase/util': 1.9.3 + '@firebase/component': 0.7.3 + '@firebase/database': 1.1.3 + '@firebase/database-types': 1.0.20 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/database-types@0.10.4': + '@firebase/database-types@1.0.20': dependencies: - '@firebase/app-types': 0.9.0 - '@firebase/util': 1.9.3 + '@firebase/app-types': 0.9.5 + '@firebase/util': 1.15.1 - '@firebase/database@0.14.4': + '@firebase/database@1.1.3': dependencies: - '@firebase/auth-interop-types': 0.2.1 - '@firebase/component': 0.6.4 - '@firebase/logger': 0.4.0 - '@firebase/util': 1.9.3 + '@firebase/app-check-interop-types': 0.3.4 + '@firebase/auth-interop-types': 0.2.5 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 faye-websocket: 0.11.4 tslib: 2.8.1 - '@firebase/firestore-compat@0.3.12(@firebase/app-compat@0.2.13)(@firebase/app-types@0.9.0)(@firebase/app@0.9.13)': + '@firebase/firestore-compat@0.4.11(@firebase/app-compat@0.5.15)(@firebase/app-types@0.9.5)(@firebase/app@0.15.1)': dependencies: - '@firebase/app-compat': 0.2.13 - '@firebase/component': 0.6.4 - '@firebase/firestore': 3.13.0(@firebase/app@0.9.13) - '@firebase/firestore-types': 2.5.1(@firebase/app-types@0.9.0)(@firebase/util@1.9.3) - '@firebase/util': 1.9.3 + '@firebase/app-compat': 0.5.15 + '@firebase/component': 0.7.3 + '@firebase/firestore': 4.16.0(@firebase/app@0.15.1) + '@firebase/firestore-types': 3.0.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.1) + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/app-types' - - encoding - '@firebase/firestore-types@2.5.1(@firebase/app-types@0.9.0)(@firebase/util@1.9.3)': + '@firebase/firestore-types@3.0.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.1)': dependencies: - '@firebase/app-types': 0.9.0 - '@firebase/util': 1.9.3 + '@firebase/app-types': 0.9.5 + '@firebase/util': 1.15.1 - '@firebase/firestore@3.13.0(@firebase/app@0.9.13)': + '@firebase/firestore@4.16.0(@firebase/app@0.15.1)': dependencies: - '@firebase/app': 0.9.13 - '@firebase/component': 0.6.4 - '@firebase/logger': 0.4.0 - '@firebase/util': 1.9.3 - '@firebase/webchannel-wrapper': 0.10.1 - '@grpc/grpc-js': 1.7.3 - '@grpc/proto-loader': 0.6.13 - node-fetch: 2.6.7 + '@firebase/app': 0.15.1 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 + '@firebase/webchannel-wrapper': 1.0.6 + '@grpc/grpc-js': 1.9.16 + '@grpc/proto-loader': 0.7.15 + re2js: 0.4.3 tslib: 2.8.1 - transitivePeerDependencies: - - encoding - '@firebase/functions-compat@0.3.5(@firebase/app-compat@0.2.13)(@firebase/app@0.9.13)': + '@firebase/functions-compat@0.4.5(@firebase/app-compat@0.5.15)(@firebase/app@0.15.1)': dependencies: - '@firebase/app-compat': 0.2.13 - '@firebase/component': 0.6.4 - '@firebase/functions': 0.10.0(@firebase/app@0.9.13) - '@firebase/functions-types': 0.6.0 - '@firebase/util': 1.9.3 + '@firebase/app-compat': 0.5.15 + '@firebase/component': 0.7.3 + '@firebase/functions': 0.13.5(@firebase/app@0.15.1) + '@firebase/functions-types': 0.6.4 + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - - encoding - '@firebase/functions-types@0.6.0': {} + '@firebase/functions-types@0.6.4': {} - '@firebase/functions@0.10.0(@firebase/app@0.9.13)': + '@firebase/functions@0.13.5(@firebase/app@0.15.1)': dependencies: - '@firebase/app': 0.9.13 - '@firebase/app-check-interop-types': 0.3.0 - '@firebase/auth-interop-types': 0.2.1 - '@firebase/component': 0.6.4 - '@firebase/messaging-interop-types': 0.2.0 - '@firebase/util': 1.9.3 - node-fetch: 2.6.7 + '@firebase/app': 0.15.1 + '@firebase/app-check-interop-types': 0.3.4 + '@firebase/auth-interop-types': 0.2.5 + '@firebase/component': 0.7.3 + '@firebase/messaging-interop-types': 0.2.5 + '@firebase/util': 1.15.1 tslib: 2.8.1 - transitivePeerDependencies: - - encoding - '@firebase/installations-compat@0.2.4(@firebase/app-compat@0.2.13)(@firebase/app-types@0.9.0)(@firebase/app@0.9.13)': + '@firebase/installations-compat@0.2.22(@firebase/app-compat@0.5.15)(@firebase/app-types@0.9.5)(@firebase/app@0.15.1)': dependencies: - '@firebase/app-compat': 0.2.13 - '@firebase/component': 0.6.4 - '@firebase/installations': 0.6.4(@firebase/app@0.9.13) - '@firebase/installations-types': 0.5.0(@firebase/app-types@0.9.0) - '@firebase/util': 1.9.3 + '@firebase/app-compat': 0.5.15 + '@firebase/component': 0.7.3 + '@firebase/installations': 0.6.22(@firebase/app@0.15.1) + '@firebase/installations-types': 0.5.4(@firebase/app-types@0.9.5) + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/app-types' - '@firebase/installations-types@0.5.0(@firebase/app-types@0.9.0)': + '@firebase/installations-types@0.5.4(@firebase/app-types@0.9.5)': dependencies: - '@firebase/app-types': 0.9.0 + '@firebase/app-types': 0.9.5 - '@firebase/installations@0.6.4(@firebase/app@0.9.13)': + '@firebase/installations@0.6.22(@firebase/app@0.15.1)': dependencies: - '@firebase/app': 0.9.13 - '@firebase/component': 0.6.4 - '@firebase/util': 1.9.3 - idb: 7.0.1 + '@firebase/app': 0.15.1 + '@firebase/component': 0.7.3 + '@firebase/util': 1.15.1 + idb: 7.1.1 tslib: 2.8.1 - '@firebase/logger@0.4.0': + '@firebase/logger@0.5.1': dependencies: tslib: 2.8.1 - '@firebase/messaging-compat@0.2.4(@firebase/app-compat@0.2.13)(@firebase/app@0.9.13)': + '@firebase/messaging-compat@0.2.27(@firebase/app-compat@0.5.15)(@firebase/app@0.15.1)': dependencies: - '@firebase/app-compat': 0.2.13 - '@firebase/component': 0.6.4 - '@firebase/messaging': 0.12.4(@firebase/app@0.9.13) - '@firebase/util': 1.9.3 + '@firebase/app-compat': 0.5.15 + '@firebase/component': 0.7.3 + '@firebase/messaging': 0.13.0(@firebase/app@0.15.1) + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/messaging-interop-types@0.2.0': {} + '@firebase/messaging-interop-types@0.2.5': {} - '@firebase/messaging@0.12.4(@firebase/app@0.9.13)': + '@firebase/messaging@0.13.0(@firebase/app@0.15.1)': dependencies: - '@firebase/app': 0.9.13 - '@firebase/component': 0.6.4 - '@firebase/installations': 0.6.4(@firebase/app@0.9.13) - '@firebase/messaging-interop-types': 0.2.0 - '@firebase/util': 1.9.3 - idb: 7.0.1 + '@firebase/app': 0.15.1 + '@firebase/component': 0.7.3 + '@firebase/installations': 0.6.22(@firebase/app@0.15.1) + '@firebase/messaging-interop-types': 0.2.5 + '@firebase/util': 1.15.1 + idb: 7.1.1 tslib: 2.8.1 - '@firebase/performance-compat@0.2.4(@firebase/app-compat@0.2.13)(@firebase/app@0.9.13)': + '@firebase/performance-compat@0.2.25(@firebase/app-compat@0.5.15)(@firebase/app@0.15.1)': dependencies: - '@firebase/app-compat': 0.2.13 - '@firebase/component': 0.6.4 - '@firebase/logger': 0.4.0 - '@firebase/performance': 0.6.4(@firebase/app@0.9.13) - '@firebase/performance-types': 0.2.0 - '@firebase/util': 1.9.3 + '@firebase/app-compat': 0.5.15 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/performance': 0.7.12(@firebase/app@0.15.1) + '@firebase/performance-types': 0.2.4 + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/performance-types@0.2.0': {} + '@firebase/performance-types@0.2.4': {} - '@firebase/performance@0.6.4(@firebase/app@0.9.13)': + '@firebase/performance@0.7.12(@firebase/app@0.15.1)': dependencies: - '@firebase/app': 0.9.13 - '@firebase/component': 0.6.4 - '@firebase/installations': 0.6.4(@firebase/app@0.9.13) - '@firebase/logger': 0.4.0 - '@firebase/util': 1.9.3 + '@firebase/app': 0.15.1 + '@firebase/component': 0.7.3 + '@firebase/installations': 0.6.22(@firebase/app@0.15.1) + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 + web-vitals: 4.2.4 - '@firebase/remote-config-compat@0.2.4(@firebase/app-compat@0.2.13)(@firebase/app@0.9.13)': + '@firebase/remote-config-compat@0.2.27(@firebase/app-compat@0.5.15)(@firebase/app@0.15.1)': dependencies: - '@firebase/app-compat': 0.2.13 - '@firebase/component': 0.6.4 - '@firebase/logger': 0.4.0 - '@firebase/remote-config': 0.4.4(@firebase/app@0.9.13) - '@firebase/remote-config-types': 0.3.0 - '@firebase/util': 1.9.3 + '@firebase/app-compat': 0.5.15 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/remote-config': 0.9.0(@firebase/app@0.15.1) + '@firebase/remote-config-types': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/remote-config-types@0.3.0': {} + '@firebase/remote-config-types@0.5.1': {} - '@firebase/remote-config@0.4.4(@firebase/app@0.9.13)': + '@firebase/remote-config@0.9.0(@firebase/app@0.15.1)': dependencies: - '@firebase/app': 0.9.13 - '@firebase/component': 0.6.4 - '@firebase/installations': 0.6.4(@firebase/app@0.9.13) - '@firebase/logger': 0.4.0 - '@firebase/util': 1.9.3 + '@firebase/app': 0.15.1 + '@firebase/component': 0.7.3 + '@firebase/installations': 0.6.22(@firebase/app@0.15.1) + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/storage-compat@0.3.2(@firebase/app-compat@0.2.13)(@firebase/app-types@0.9.0)(@firebase/app@0.9.13)': + '@firebase/storage-compat@0.4.3(@firebase/app-compat@0.5.15)(@firebase/app-types@0.9.5)(@firebase/app@0.15.1)': dependencies: - '@firebase/app-compat': 0.2.13 - '@firebase/component': 0.6.4 - '@firebase/storage': 0.11.2(@firebase/app@0.9.13) - '@firebase/storage-types': 0.8.0(@firebase/app-types@0.9.0)(@firebase/util@1.9.3) - '@firebase/util': 1.9.3 + '@firebase/app-compat': 0.5.15 + '@firebase/component': 0.7.3 + '@firebase/storage': 0.14.3(@firebase/app@0.15.1) + '@firebase/storage-types': 0.8.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.1) + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/app-types' - - encoding - '@firebase/storage-types@0.8.0(@firebase/app-types@0.9.0)(@firebase/util@1.9.3)': + '@firebase/storage-types@0.8.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.1)': dependencies: - '@firebase/app-types': 0.9.0 - '@firebase/util': 1.9.3 + '@firebase/app-types': 0.9.5 + '@firebase/util': 1.15.1 - '@firebase/storage@0.11.2(@firebase/app@0.9.13)': + '@firebase/storage@0.14.3(@firebase/app@0.15.1)': dependencies: - '@firebase/app': 0.9.13 - '@firebase/component': 0.6.4 - '@firebase/util': 1.9.3 - node-fetch: 2.6.7 + '@firebase/app': 0.15.1 + '@firebase/component': 0.7.3 + '@firebase/util': 1.15.1 tslib: 2.8.1 - transitivePeerDependencies: - - encoding - '@firebase/util@1.9.3': + '@firebase/util@1.15.1': dependencies: tslib: 2.8.1 - '@firebase/webchannel-wrapper@0.10.1': {} - - '@floating-ui/core@1.7.5': - dependencies: - '@floating-ui/utils': 0.2.11 + '@firebase/webchannel-wrapper@1.0.6': {} - '@floating-ui/dom@1.7.6': + '@floating-ui/core@1.8.0': dependencies: - '@floating-ui/core': 1.7.5 - '@floating-ui/utils': 0.2.11 + '@floating-ui/utils': 0.2.12 - '@floating-ui/react-dom@2.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@floating-ui/dom@1.8.0': dependencies: - '@floating-ui/dom': 1.7.6 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@floating-ui/core': 1.8.0 + '@floating-ui/utils': 0.2.12 - '@floating-ui/react-dom@2.1.8(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@floating-ui/react-dom@2.1.9(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@floating-ui/dom': 1.7.6 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@floating-ui/dom': 1.8.0 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) '@floating-ui/utils@0.2.10': {} - '@floating-ui/utils@0.2.11': {} + '@floating-ui/utils@0.2.12': {} - '@floating-ui/vue@1.1.9(vue@3.5.31(typescript@5.9.3))': + '@floating-ui/vue@1.1.11(vue@3.5.40(typescript@7.0.2))': dependencies: - '@floating-ui/dom': 1.7.6 - '@floating-ui/utils': 0.2.11 - vue-demi: 0.14.10(vue@3.5.31(typescript@5.9.3)) + '@floating-ui/dom': 1.8.0 + '@floating-ui/utils': 0.2.12 + vue-demi: 0.14.10(vue@3.5.40(typescript@7.0.2)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@floating-ui/vue@1.1.9(vue@3.5.31(typescript@6.0.3))': + '@floating-ui/vue@1.1.9(vue@3.5.40(typescript@7.0.2))': dependencies: - '@floating-ui/dom': 1.7.6 - '@floating-ui/utils': 0.2.11 - vue-demi: 0.14.10(vue@3.5.31(typescript@6.0.3)) + '@floating-ui/dom': 1.8.0 + '@floating-ui/utils': 0.2.10 + vue-demi: 0.14.10(vue@3.5.40(typescript@7.0.2)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@fontsource-variable/geist@5.2.8': {} - - '@formatjs/fast-memoize@3.1.5': {} - - '@formatjs/intl-localematcher@0.8.8': - dependencies: - '@formatjs/fast-memoize': 3.1.5 + '@fontsource-variable/geist@5.3.0': {} - '@fumadocs/tailwind@0.0.3(tailwindcss@4.3.0)': + '@fuma-translate/react@1.0.2(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - postcss-selector-parser: 7.1.1 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - tailwindcss: 4.3.0 + '@types/react': 19.2.17 - '@gerrit0/mini-shiki@3.20.0': - dependencies: - '@shikijs/engine-oniguruma': 3.20.0 - '@shikijs/langs': 3.20.0 - '@shikijs/themes': 3.20.0 - '@shikijs/types': 3.20.0 - '@shikijs/vscode-textmate': 10.0.2 + '@fumadocs/tailwind@0.1.1(tailwindcss@4.3.3)': + optionalDependencies: + tailwindcss: 4.3.3 - '@grpc/grpc-js@1.7.3': + '@grpc/grpc-js@1.9.16': dependencies: '@grpc/proto-loader': 0.7.15 - '@types/node': 22.19.15 - - '@grpc/proto-loader@0.6.13': - dependencies: - '@types/long': 4.0.2 - lodash.camelcase: 4.3.0 - long: 4.0.0 - protobufjs: 6.11.4 - yargs: 16.2.0 + '@types/node': 26.1.1 '@grpc/proto-loader@0.7.15': dependencies: lodash.camelcase: 4.3.0 long: 5.3.2 - protobufjs: 7.5.4 - yargs: 17.7.2 + protobufjs: 7.6.5 + yargs: 17.7.3 - '@headlessui/tailwindcss@0.2.2(tailwindcss@4.2.2)': + '@headlessui/tailwindcss@0.2.2(tailwindcss@4.3.3)': dependencies: - tailwindcss: 4.2.2 + tailwindcss: 4.3.3 - '@headlessui/tailwindcss@0.2.2(tailwindcss@4.3.0)': + '@headlessui/vue@1.7.23(vue@3.5.40(typescript@7.0.2))': dependencies: - tailwindcss: 4.3.0 + '@tanstack/vue-virtual': 3.13.33(vue@3.5.40(typescript@7.0.2)) + vue: 3.5.40(typescript@7.0.2) - '@headlessui/vue@1.7.23(vue@3.5.31(typescript@5.9.3))': + '@hono/node-server@1.19.14(hono@4.12.31)': dependencies: - '@tanstack/vue-virtual': 3.13.23(vue@3.5.31(typescript@5.9.3)) - vue: 3.5.31(typescript@5.9.3) + hono: 4.12.31 - '@headlessui/vue@1.7.23(vue@3.5.31(typescript@6.0.3))': + '@hono/node-server@2.0.11(hono@4.12.31)': dependencies: - '@tanstack/vue-virtual': 3.13.23(vue@3.5.31(typescript@6.0.3)) - vue: 3.5.31(typescript@6.0.3) + hono: 4.12.31 - '@hono/node-server@1.19.12(hono@4.12.9)': - dependencies: - hono: 4.12.9 + '@hugeicons/core-free-icons@4.2.3': {} - '@hono/node-ws@1.3.0(@hono/node-server@1.19.12(hono@4.12.9))(hono@4.12.9)': + '@hugeicons/react@1.1.9(react@19.2.8)': dependencies: - '@hono/node-server': 1.19.12(hono@4.12.9) - hono: 4.12.9 - ws: 8.20.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@hugeicons/core-free-icons@4.1.1': {} + react: 19.2.8 - '@hugeicons/react@1.1.6(react@19.2.4)': + '@humanfs/core@0.19.2': dependencies: - react: 19.2.4 + '@humanfs/types': 0.15.0 - '@humanwhocodes/config-array@0.13.0': + '@humanfs/node@0.16.8': dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.3 - minimatch: 3.1.5 - transitivePeerDependencies: - - supports-color + '@humanfs/core': 0.19.2 + '@humanfs/types': 0.15.0 + '@humanwhocodes/retry': 0.4.3 - '@humanwhocodes/module-importer@1.0.1': {} + '@humanfs/types@0.15.0': {} - '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/module-importer@1.0.1': {} - '@iarna/toml@2.2.5': {} + '@humanwhocodes/retry@0.4.3': {} '@img/colour@1.1.0': {} @@ -19839,7 +15607,7 @@ snapshots: '@img/sharp-wasm32@0.34.5': dependencies: - '@emnapi/runtime': 1.10.0 + '@emnapi/runtime': 1.11.2 optional: true '@img/sharp-win32-arm64@0.34.5': @@ -19851,117 +15619,59 @@ snapshots: '@img/sharp-win32-x64@0.34.5': optional: true - '@inquirer/ansi@1.0.2': {} - - '@inquirer/confirm@5.1.21(@types/node@20.19.26)': - dependencies: - '@inquirer/core': 10.3.2(@types/node@20.19.26) - '@inquirer/type': 3.0.10(@types/node@20.19.26) - optionalDependencies: - '@types/node': 20.19.26 - optional: true - - '@inquirer/confirm@5.1.21(@types/node@22.19.15)': - dependencies: - '@inquirer/core': 10.3.2(@types/node@22.19.15) - '@inquirer/type': 3.0.10(@types/node@22.19.15) - optionalDependencies: - '@types/node': 22.19.15 - - '@inquirer/confirm@5.1.21(@types/node@25.9.1)': - dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.1) - '@inquirer/type': 3.0.10(@types/node@25.9.1) - optionalDependencies: - '@types/node': 25.9.1 + '@inquirer/ansi@1.0.2': optional: true - '@inquirer/core@10.3.2(@types/node@20.19.26)': + '@inquirer/confirm@5.1.21(@types/node@26.1.1)': dependencies: - '@inquirer/ansi': 1.0.2 - '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@20.19.26) - cli-width: 4.1.0 - mute-stream: 2.0.0 - signal-exit: 4.1.0 - wrap-ansi: 6.2.0 - yoctocolors-cjs: 2.1.3 + '@inquirer/core': 10.3.2(@types/node@26.1.1) + '@inquirer/type': 3.0.10(@types/node@26.1.1) optionalDependencies: - '@types/node': 20.19.26 + '@types/node': 26.1.1 optional: true - '@inquirer/core@10.3.2(@types/node@22.19.15)': + '@inquirer/core@10.3.2(@types/node@26.1.1)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@22.19.15) + '@inquirer/type': 3.0.10(@types/node@26.1.1) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.19.15 - - '@inquirer/core@10.3.2(@types/node@25.9.1)': - dependencies: - '@inquirer/ansi': 1.0.2 - '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.9.1) - cli-width: 4.1.0 - mute-stream: 2.0.0 - signal-exit: 4.1.0 - wrap-ansi: 6.2.0 - yoctocolors-cjs: 2.1.3 - optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 26.1.1 optional: true - '@inquirer/external-editor@1.0.3(@types/node@25.9.1)': + '@inquirer/external-editor@1.0.3(@types/node@26.1.1)': dependencies: - chardet: 2.1.1 - iconv-lite: 0.7.2 + chardet: 2.2.0 + iconv-lite: 0.7.3 optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 26.1.1 - '@inquirer/figures@1.0.15': {} - - '@inquirer/type@3.0.10(@types/node@20.19.26)': - optionalDependencies: - '@types/node': 20.19.26 + '@inquirer/figures@1.0.15': optional: true - '@inquirer/type@3.0.10(@types/node@22.19.15)': - optionalDependencies: - '@types/node': 22.19.15 - - '@inquirer/type@3.0.10(@types/node@25.9.1)': + '@inquirer/type@3.0.10(@types/node@26.1.1)': optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 26.1.1 optional: true - '@internationalized/date@3.12.0': + '@internationalized/date@3.12.2': dependencies: - '@swc/helpers': 0.5.17 + '@swc/helpers': 0.5.23 - '@internationalized/number@3.6.5': + '@internationalized/number@3.6.7': dependencies: - '@swc/helpers': 0.5.17 - - '@isaacs/balanced-match@4.0.1': {} + '@swc/helpers': 0.5.23 - '@isaacs/brace-expansion@5.0.0': - dependencies: - '@isaacs/balanced-match': 4.0.1 + '@ioredis/commands@1.10.0': {} - '@isaacs/cliui@8.0.2': + '@isaacs/fs-minipass@4.0.1': dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.2.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 + minipass: 7.1.3 '@jridgewell/gen-mapping@0.3.13': dependencies: @@ -19992,53 +15702,55 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + '@keyv/serialize@1.1.1': {} + '@leichtgewicht/ip-codec@2.0.5': {} - '@lezer/common@1.5.1': {} + '@lezer/common@1.5.2': {} - '@lezer/css@1.3.3': + '@lezer/css@1.3.4': dependencies: - '@lezer/common': 1.5.1 + '@lezer/common': 1.5.2 '@lezer/highlight': 1.2.3 - '@lezer/lr': 1.4.8 + '@lezer/lr': 1.4.10 '@lezer/highlight@1.2.3': dependencies: - '@lezer/common': 1.5.1 + '@lezer/common': 1.5.2 '@lezer/html@1.3.13': dependencies: - '@lezer/common': 1.5.1 + '@lezer/common': 1.5.2 '@lezer/highlight': 1.2.3 - '@lezer/lr': 1.4.8 + '@lezer/lr': 1.4.10 '@lezer/javascript@1.5.4': dependencies: - '@lezer/common': 1.5.1 + '@lezer/common': 1.5.2 '@lezer/highlight': 1.2.3 - '@lezer/lr': 1.4.8 + '@lezer/lr': 1.4.10 '@lezer/json@1.0.3': dependencies: - '@lezer/common': 1.5.1 + '@lezer/common': 1.5.2 '@lezer/highlight': 1.2.3 - '@lezer/lr': 1.4.8 + '@lezer/lr': 1.4.10 - '@lezer/lr@1.4.8': + '@lezer/lr@1.4.10': dependencies: - '@lezer/common': 1.5.1 + '@lezer/common': 1.5.2 '@lezer/xml@1.0.6': dependencies: - '@lezer/common': 1.5.1 + '@lezer/common': 1.5.2 '@lezer/highlight': 1.2.3 - '@lezer/lr': 1.4.8 + '@lezer/lr': 1.4.10 '@lezer/yaml@1.0.4': dependencies: - '@lezer/common': 1.5.1 + '@lezer/common': 1.5.2 '@lezer/highlight': 1.2.3 - '@lezer/lr': 1.4.8 + '@lezer/lr': 1.4.10 '@lightpanda/browser@1.2.0': dependencies: @@ -20046,42 +15758,42 @@ snapshots: '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 globby: 11.1.0 read-yaml-file: 1.1.0 - '@marijn/find-cluster-break@1.0.2': {} + '@marijn/find-cluster-break@1.0.3': {} - '@mdx-js/mdx@3.1.1': + '@mdx-js/mdx@3.1.1(supports-color@10.2.2)': dependencies: '@types/estree': 1.0.9 '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdx': 2.0.13 - acorn: 8.16.0 + '@types/hast': 3.0.5 + '@types/mdx': 2.0.14 + acorn: 8.17.0 collapse-white-space: 2.1.0 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 estree-util-scope: 1.0.0 estree-walker: 3.0.3 - hast-util-to-jsx-runtime: 2.3.6 + hast-util-to-jsx-runtime: 2.3.6(supports-color@10.2.2) markdown-extensions: 2.0.0 recma-build-jsx: 1.0.0 - recma-jsx: 1.0.1(acorn@8.16.0) + recma-jsx: 1.0.1(acorn@8.17.0) recma-stringify: 1.0.0 - rehype-recma: 1.0.0 - remark-mdx: 3.1.1 - remark-parse: 11.0.0 + rehype-recma: 1.0.0(supports-color@10.2.2) + remark-mdx: 3.1.1(supports-color@10.2.2) + remark-parse: 11.0.0(supports-color@10.2.2) remark-rehype: 11.1.2 source-map: 0.7.6 unified: 11.0.5 @@ -20092,20 +15804,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@modelcontextprotocol/sdk@1.29.0(zod@3.25.76)': + '@modelcontextprotocol/sdk@1.29.0(supports-color@10.2.2)(zod@3.25.76)': dependencies: - '@hono/node-server': 1.19.12(hono@4.12.9) - ajv: 8.18.0 - ajv-formats: 3.0.1(ajv@8.18.0) + '@hono/node-server': 1.19.14(hono@4.12.31) + ajv: 8.20.0 + ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 - cors: 2.8.5 + cors: 2.8.6 cross-spawn: 7.0.6 eventsource: 3.0.7 - eventsource-parser: 3.0.6 - express: 5.2.1 - express-rate-limit: 8.3.2(express@5.2.1) - hono: 4.12.9 - jose: 6.2.2 + eventsource-parser: 3.1.0 + express: 5.2.1(supports-color@10.2.2) + express-rate-limit: 8.6.0(express@5.2.1(supports-color@10.2.2))(supports-color@10.2.2) + hono: 4.12.31 + jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 raw-body: 3.0.2 @@ -20114,33 +15826,28 @@ snapshots: transitivePeerDependencies: - supports-color - '@modelcontextprotocol/sdk@1.29.0(zod@4.3.6)': + '@modelcontextprotocol/sdk@1.29.0(supports-color@10.2.2)(zod@4.4.3)': dependencies: - '@hono/node-server': 1.19.12(hono@4.12.9) - ajv: 8.18.0 - ajv-formats: 3.0.1(ajv@8.18.0) + '@hono/node-server': 1.19.14(hono@4.12.31) + ajv: 8.20.0 + ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 - cors: 2.8.5 + cors: 2.8.6 cross-spawn: 7.0.6 eventsource: 3.0.7 - eventsource-parser: 3.0.6 - express: 5.2.1 - express-rate-limit: 8.3.2(express@5.2.1) - hono: 4.12.9 - jose: 6.2.2 + eventsource-parser: 3.1.0 + express: 5.2.1(supports-color@10.2.2) + express-rate-limit: 8.6.0(express@5.2.1(supports-color@10.2.2))(supports-color@10.2.2) + hono: 4.12.31 + jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 raw-body: 3.0.2 - zod: 4.3.6 - zod-to-json-schema: 3.25.2(zod@4.3.6) + zod: 4.4.3 + zod-to-json-schema: 3.25.2(zod@4.4.3) transitivePeerDependencies: - supports-color - '@mrmlnc/readdir-enhanced@2.2.1': - dependencies: - call-me-maybe: 1.0.2 - glob-to-regexp: 0.3.0 - '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4': optional: true @@ -20159,7 +15866,7 @@ snapshots: '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.4': optional: true - '@mswjs/interceptors@0.41.3': + '@mswjs/interceptors@0.41.9': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -20167,225 +15874,220 @@ snapshots: is-node-process: 1.2.0 outvariant: 1.4.3 strict-event-emitter: 0.5.1 + optional: true '@napi-rs/wasm-runtime@0.2.12': dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.2 + '@emnapi/core': 1.11.2 + '@emnapi/runtime': 1.11.2 + '@tybys/wasm-util': 0.10.3 optional: true - '@napi-rs/wasm-runtime@1.1.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.1 + '@tybys/wasm-util': 0.10.3 optional: true - '@napi-rs/wasm-runtime@1.1.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': dependencies: - '@emnapi/core': 1.9.2 - '@emnapi/runtime': 1.9.2 - '@tybys/wasm-util': 0.10.1 + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 + '@tybys/wasm-util': 0.10.3 optional: true - '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.2 + '@emnapi/core': 1.11.2 + '@emnapi/runtime': 1.11.2 + '@tybys/wasm-util': 0.10.3 optional: true - '@noble/ciphers@1.3.0': {} - - '@noble/curves@1.9.7': - dependencies: - '@noble/hashes': 1.8.0 - '@noble/hashes@1.8.0': {} - '@node-red/editor-api@1.3.7': + '@node-red/editor-api@5.0.1(supports-color@10.2.2)(typescript@7.0.2)': dependencies: - '@node-red/editor-client': 1.3.7 - '@node-red/util': 1.3.7 - bcryptjs: 2.4.3 - body-parser: 1.19.0 + '@node-red/editor-client': 5.0.1 + '@node-red/util': 5.0.1(typescript@7.0.2) + bcryptjs: 3.0.3 + body-parser: 1.20.5(supports-color@10.2.2) clone: 2.1.2 cors: 2.8.5 - express: 4.17.1 - express-session: 1.17.1 - memorystore: 1.6.6 - mime: 2.5.2 - multer: 1.4.2 + express: 4.22.2(supports-color@10.2.2) + express-session: 1.18.2(supports-color@10.2.2) + memorystore: 1.6.7(supports-color@10.2.2) + mime: 3.0.0 + multer: 2.2.0 mustache: 4.2.0 - oauth2orize: 1.11.0 - passport: 0.4.1 + oauth2orize: 1.12.0(supports-color@10.2.2) + passport: 0.7.0 passport-http-bearer: 1.0.1 passport-oauth2-client-password: 0.1.2 - ws: 6.2.2 + ws: 7.5.11 optionalDependencies: - bcrypt: 3.0.6 + '@node-rs/bcrypt': 1.10.7 transitivePeerDependencies: - bufferutil - supports-color + - typescript - utf-8-validate - '@node-red/editor-client@1.3.7': {} + '@node-red/editor-client@5.0.1': {} - '@node-red/nodes@1.3.7': + '@node-red/nodes@5.0.1(supports-color@10.2.2)': dependencies: - acorn: 8.3.0 - acorn-walk: 8.1.0 - ajv: 6.12.6 - body-parser: 1.19.0 - cheerio: 0.22.0 - content-type: 1.0.4 - cookie: 0.4.1 - cookie-parser: 1.4.5 + acorn: 8.16.0 + acorn-walk: 8.3.5 + ajv: 8.18.0 + body-parser: 1.20.5(supports-color@10.2.2) + cheerio: 1.0.0-rc.10 + content-type: 1.0.5 + cookie: 0.7.2 + cookie-parser: 1.4.7 cors: 2.8.5 - cron: 1.7.2 - denque: 1.5.0 - fs-extra: 8.1.0 - fs.notify: 0.0.4 + cronosjs: 1.7.1 + denque: 2.1.0 + form-data: 4.0.6 + fs-extra: 11.3.0 + got: 14.6.6 hash-sum: 2.0.0 - https-proxy-agent: 5.0.0 - iconv-lite: 0.6.2 + hpagent: 1.2.0 + https-proxy-agent: 5.0.1(supports-color@10.2.2) + iconv-lite: 0.6.3 is-utf8: 0.2.1 - js-yaml: 3.14.0 + js-yaml: 4.3.0 media-typer: 1.1.0 - mqtt: 4.2.6 - multer: 1.4.2 + mqtt: 5.15.1(supports-color@10.2.2) + multer: 2.2.0 mustache: 4.2.0 - on-headers: 1.0.2 - raw-body: 2.4.1 - request: 2.88.0 - ws: 6.2.2 - xml2js: 0.4.23 + node-watch: 0.7.4 + on-headers: 1.1.0 + raw-body: 3.0.0 + tough-cookie: 5.1.2 + ws: 7.5.11 + xml2js: 0.6.2 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - '@node-red/registry@1.3.7': + '@node-red/registry@5.0.1(typescript@7.0.2)': dependencies: - '@node-red/util': 1.3.7 + '@node-red/util': 5.0.1(typescript@7.0.2) clone: 2.1.2 - fs-extra: 8.1.0 - semver: 6.3.0 - tar: 6.1.11 - uglify-js: 3.13.3 + fs-extra: 11.3.0 + npm: 11.18.0 + semver: 7.7.4 + tar: 7.5.19 + uglify-js: 3.19.3 + validate-npm-package-name: 7.0.2 + transitivePeerDependencies: + - typescript - '@node-red/runtime@1.3.7': + '@node-red/runtime@5.0.1(supports-color@10.2.2)(typescript@7.0.2)': dependencies: - '@node-red/registry': 1.3.7 - '@node-red/util': 1.3.7 - async-mutex: 0.3.1 + '@node-red/registry': 5.0.1(typescript@7.0.2) + '@node-red/util': 5.0.1(typescript@7.0.2) + async-mutex: 0.5.0 clone: 2.1.2 - express: 4.17.1 - fs-extra: 8.1.0 + cronosjs: 1.7.1 + express: 4.22.2(supports-color@10.2.2) + fs-extra: 11.3.0 + got: 14.6.6 json-stringify-safe: 5.0.1 + rfdc: 1.4.1 + semver: 7.7.4 transitivePeerDependencies: - supports-color + - typescript - '@node-red/util@1.3.7': + '@node-red/util@5.0.1(typescript@7.0.2)': dependencies: - fs-extra: 8.1.0 - i18next: 15.1.2 + chalk: 4.1.2 + fs-extra: 11.3.0 + i18next: 25.8.14(typescript@7.0.2) json-stringify-safe: 5.0.1 - jsonata: 1.8.4 + jsonata: 2.0.6 lodash.clonedeep: 4.5.0 - moment-timezone: 0.5.33 + moment: 2.30.1 + moment-timezone: 0.5.48 + transitivePeerDependencies: + - typescript - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 + '@node-rs/bcrypt-android-arm-eabi@1.10.7': + optional: true - '@nodelib/fs.stat@1.1.3': {} + '@node-rs/bcrypt-android-arm64@1.10.7': + optional: true - '@nodelib/fs.stat@2.0.5': {} + '@node-rs/bcrypt-darwin-arm64@1.10.7': + optional: true - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.1 + '@node-rs/bcrypt-darwin-x64@1.10.7': + optional: true - '@octokit/auth-token@2.5.0': - dependencies: - '@octokit/types': 6.41.0 + '@node-rs/bcrypt-freebsd-x64@1.10.7': + optional: true - '@octokit/core@3.6.0': - dependencies: - '@octokit/auth-token': 2.5.0 - '@octokit/graphql': 4.8.0 - '@octokit/request': 5.6.3 - '@octokit/request-error': 2.1.0 - '@octokit/types': 6.41.0 - before-after-hook: 2.2.3 - universal-user-agent: 6.0.1 - transitivePeerDependencies: - - encoding + '@node-rs/bcrypt-linux-arm-gnueabihf@1.10.7': + optional: true - '@octokit/endpoint@6.0.12': - dependencies: - '@octokit/types': 6.41.0 - is-plain-object: 5.0.0 - universal-user-agent: 6.0.1 + '@node-rs/bcrypt-linux-arm64-gnu@1.10.7': + optional: true - '@octokit/graphql@4.8.0': - dependencies: - '@octokit/request': 5.6.3 - '@octokit/types': 6.41.0 - universal-user-agent: 6.0.1 - transitivePeerDependencies: - - encoding + '@node-rs/bcrypt-linux-arm64-musl@1.10.7': + optional: true + + '@node-rs/bcrypt-linux-x64-gnu@1.10.7': + optional: true - '@octokit/openapi-types@12.11.0': {} + '@node-rs/bcrypt-linux-x64-musl@1.10.7': + optional: true - '@octokit/plugin-paginate-rest@2.21.3(@octokit/core@3.6.0)': + '@node-rs/bcrypt-wasm32-wasi@1.10.7': dependencies: - '@octokit/core': 3.6.0 - '@octokit/types': 6.41.0 + '@napi-rs/wasm-runtime': 0.2.12 + optional: true - '@octokit/plugin-request-log@1.0.4(@octokit/core@3.6.0)': - dependencies: - '@octokit/core': 3.6.0 + '@node-rs/bcrypt-win32-arm64-msvc@1.10.7': + optional: true - '@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0)': - dependencies: - '@octokit/core': 3.6.0 - '@octokit/types': 6.41.0 - deprecation: 2.3.1 + '@node-rs/bcrypt-win32-ia32-msvc@1.10.7': + optional: true - '@octokit/request-error@2.1.0': - dependencies: - '@octokit/types': 6.41.0 - deprecation: 2.3.1 - once: 1.4.0 + '@node-rs/bcrypt-win32-x64-msvc@1.10.7': + optional: true - '@octokit/request@5.6.3': - dependencies: - '@octokit/endpoint': 6.0.12 - '@octokit/request-error': 2.1.0 - '@octokit/types': 6.41.0 - is-plain-object: 5.0.0 - node-fetch: 2.7.0 - universal-user-agent: 6.0.1 - transitivePeerDependencies: - - encoding + '@node-rs/bcrypt@1.10.7': + optionalDependencies: + '@node-rs/bcrypt-android-arm-eabi': 1.10.7 + '@node-rs/bcrypt-android-arm64': 1.10.7 + '@node-rs/bcrypt-darwin-arm64': 1.10.7 + '@node-rs/bcrypt-darwin-x64': 1.10.7 + '@node-rs/bcrypt-freebsd-x64': 1.10.7 + '@node-rs/bcrypt-linux-arm-gnueabihf': 1.10.7 + '@node-rs/bcrypt-linux-arm64-gnu': 1.10.7 + '@node-rs/bcrypt-linux-arm64-musl': 1.10.7 + '@node-rs/bcrypt-linux-x64-gnu': 1.10.7 + '@node-rs/bcrypt-linux-x64-musl': 1.10.7 + '@node-rs/bcrypt-wasm32-wasi': 1.10.7 + '@node-rs/bcrypt-win32-arm64-msvc': 1.10.7 + '@node-rs/bcrypt-win32-ia32-msvc': 1.10.7 + '@node-rs/bcrypt-win32-x64-msvc': 1.10.7 + optional: true - '@octokit/rest@18.12.0': + '@nodelib/fs.scandir@2.1.5': dependencies: - '@octokit/core': 3.6.0 - '@octokit/plugin-paginate-rest': 2.21.3(@octokit/core@3.6.0) - '@octokit/plugin-request-log': 1.0.4(@octokit/core@3.6.0) - '@octokit/plugin-rest-endpoint-methods': 5.16.2(@octokit/core@3.6.0) - transitivePeerDependencies: - - encoding + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} - '@octokit/types@6.41.0': + '@nodelib/fs.walk@1.2.8': dependencies: - '@octokit/openapi-types': 12.11.0 + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 '@oozcitak/dom@1.15.10': dependencies: @@ -20421,22 +16123,25 @@ snapshots: '@oozcitak/util@8.3.8': {} - '@open-draft/deferred-promise@2.2.0': {} + '@open-draft/deferred-promise@2.2.0': + optional: true '@open-draft/logger@0.3.0': dependencies: is-node-process: 1.2.0 outvariant: 1.4.3 + optional: true - '@open-draft/until@2.1.0': {} + '@open-draft/until@2.1.0': + optional: true - '@open-wa/wa-automate-socket-client@3.3.0': + '@open-wa/wa-automate-socket-client@3.3.0(supports-color@10.2.2)': dependencies: '@discordjs/collection': 0.8.0 '@open-wa/wa-automate-types-only': 4.76.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) eventemitter2: 6.4.9 - socket.io-client: 4.8.1 + socket.io-client: 4.8.3(supports-color@10.2.2) uuid: 9.0.1 transitivePeerDependencies: - bufferutil @@ -20445,35 +16150,35 @@ snapshots: '@open-wa/wa-automate-types-only@4.76.0': {} - '@open-wa/wa-automate@4.76.0(lodash@4.17.23)(prom-client@14.2.0)(puppeteer-core@24.40.0)(typescript@6.0.3)(webpack@5.103.0)': + '@open-wa/wa-automate@4.76.0(debug@4.3.2(supports-color@10.2.2))(loader-utils@2.0.0)(lodash@4.18.1)(prom-client@14.2.0)(puppeteer-core@25.3.0(yauzl@2.10.0))(supports-color@10.2.2)(typescript@7.0.2)(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3))': dependencies: '@brillout/import': 0.2.6 '@discordjs/collection': 0.8.0 - '@open-wa/wa-automate-socket-client': 3.3.0 - '@open-wa/wa-decrypt': 4.4.0 + '@open-wa/wa-automate-socket-client': 3.3.0(supports-color@10.2.2) + '@open-wa/wa-decrypt': 4.4.0(debug@4.3.2(supports-color@10.2.2)) atob: 2.1.2 aws4: 1.13.2 - axios: 1.18.1(debug@4.4.3) + axios: 1.18.1(debug@4.3.2(supports-color@10.2.2))(supports-color@10.2.2) boxen: 5.1.2 cfonts: 2.10.1 change-case: 4.1.2 chokidar: 3.6.0 - chrome-launcher: 0.15.2 + chrome-launcher: 0.15.2(supports-color@10.2.2) cloudflared: 0.5.3 command-exists: 1.2.9 command-line-usage: 6.1.3 - cors: 2.8.5 + cors: 2.8.6 cross-env: 7.0.3 cross-spawn: 7.0.6 datauri: 4.1.0 death: 1.1.0 eventemitter2: 6.4.9 - express: 4.22.1 - express-ipfilter: 1.3.2 - express-robots-txt: 1.0.0(express@4.22.1) + express: 4.22.2(supports-color@10.2.2) + express-ipfilter: 1.4.0 + express-robots-txt: 1.0.0(express@4.22.2(supports-color@10.2.2)) file-type: 18.7.0 find-up: 5.0.0 - form-data: 4.0.5 + form-data: 4.0.6 fs-extra: 10.1.0 get-port: 5.1.1 hasha: 5.2.2 @@ -20492,30 +16197,30 @@ snapshots: parse-function: 5.6.10 parse-url: 5.0.8 patch-package: 6.5.1 - pico-s3: 2.11.0 - pidtree: 0.6.0 + pico-s3: 2.11.0(supports-color@10.2.2) + pidtree: 0.6.1 pidusage: 3.0.2 - postman-2-swagger: 0.5.0(lodash@4.17.23) - puppeteer: 23.11.1(typescript@6.0.3) - puppeteer-extra: 3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3)) - puppeteer-extra-plugin-block-resources: 2.4.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))) - puppeteer-extra-plugin-devtools: 2.4.6(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))) - puppeteer-extra-plugin-stealth: 2.11.2(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))) + postman-2-swagger: 0.5.0(lodash@4.18.1) + puppeteer: 23.11.1(supports-color@10.2.2)(typescript@7.0.2) + puppeteer-extra: 3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2) + puppeteer-extra-plugin-block-resources: 2.4.3(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2) + puppeteer-extra-plugin-devtools: 2.4.6(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2) + puppeteer-extra-plugin-stealth: 2.11.2(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2) qrcode-terminal: 0.12.0 - qs: 6.14.0 + qs: 6.15.3 rxjs: 7.8.2 - smashah-puppeteer-page-proxy: 1.2.9 - socket.io: 4.8.1 - socket.io-client: 4.8.1 + smashah-puppeteer-page-proxy: 1.2.9(supports-color@10.2.2) + socket.io: 4.8.3(supports-color@10.2.2) + socket.io-client: 4.8.3(supports-color@10.2.2) spinnies: 0.5.1 - swagger-stats: 0.99.7(prom-client@14.2.0) + swagger-stats: 0.99.7(prom-client@14.2.0)(supports-color@10.2.2) swagger-ui-dist: 4.19.1 - swagger-ui-express: 4.6.3(express@4.22.1) - tcp-port-used: 1.0.2 + swagger-ui-express: 4.6.3(express@4.22.2(supports-color@10.2.2)) + tcp-port-used: 1.0.3(supports-color@10.2.2) terminal-link: 2.1.1 terminate: 2.8.0 traverse: 0.6.11 - ts-loader: 9.5.4(typescript@6.0.3)(webpack@5.103.0) + ts-loader: 9.6.2(loader-utils@2.0.0)(typescript@7.0.2)(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)) ts-morph: 12.2.0 type-fest: 1.4.0 update-notifier: 5.1.0 @@ -20531,6 +16236,7 @@ snapshots: - bare-buffer - bufferutil - debug + - loader-utils - lodash - playwright-extra - prom-client @@ -20541,216 +16247,188 @@ snapshots: - utf-8-validate - webpack - '@open-wa/wa-decrypt@4.4.0': + '@open-wa/wa-decrypt@4.4.0(debug@4.3.2(supports-color@10.2.2))': dependencies: '@open-wa/wa-automate-types-only': 4.76.0 atob: 2.1.2 - axios: 0.26.1(debug@4.4.3) + axios: 0.26.1(debug@4.3.2(supports-color@10.2.2)) futoin-hkdf: 1.5.3 type-fest: 2.19.0 transitivePeerDependencies: - debug - '@openrouter/ai-sdk-provider@2.9.0(ai@6.0.187(zod@4.4.3))(zod@4.4.3)': + '@openrouter/ai-sdk-provider@3.0.0(ai@7.0.34(zod@4.4.3))(zod@4.4.3)': dependencies: - ai: 6.0.187(zod@4.4.3) + ai: 7.0.34(zod@4.4.3) zod: 4.4.3 - '@opentelemetry/api-logs@0.208.0': - dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/api@1.9.0': {} '@opentelemetry/api@1.9.1': {} - '@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/core@2.9.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.43.0 - '@opentelemetry/core@2.6.1(@opentelemetry/api@1.9.1)': - dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions@1.43.0': {} - '@opentelemetry/exporter-logs-otlp-http@0.208.0(@opentelemetry/api@1.9.1)': - dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/api-logs': 0.208.0 - '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-exporter-base': 0.208.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.208.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-logs': 0.208.0(@opentelemetry/api@1.9.1) + '@orama/orama@3.1.18': {} - '@opentelemetry/otlp-exporter-base@0.208.0(@opentelemetry/api@1.9.1)': - dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-transformer': 0.208.0(@opentelemetry/api@1.9.1) + '@oxc-parser/binding-android-arm-eabi@0.120.0': + optional: true - '@opentelemetry/otlp-transformer@0.208.0(@opentelemetry/api@1.9.1)': - dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/api-logs': 0.208.0 - '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-logs': 0.208.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-metrics': 2.2.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace-base': 2.2.0(@opentelemetry/api@1.9.1) - protobufjs: 7.5.4 + '@oxc-parser/binding-android-arm64@0.120.0': + optional: true - '@opentelemetry/resources@2.2.0(@opentelemetry/api@1.9.1)': - dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.38.0 + '@oxc-parser/binding-darwin-arm64@0.120.0': + optional: true - '@opentelemetry/resources@2.6.1(@opentelemetry/api@1.9.1)': - dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.38.0 + '@oxc-parser/binding-darwin-x64@0.120.0': + optional: true - '@opentelemetry/sdk-logs@0.208.0(@opentelemetry/api@1.9.1)': - dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/api-logs': 0.208.0 - '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.1) + '@oxc-parser/binding-freebsd-x64@0.120.0': + optional: true - '@opentelemetry/sdk-metrics@2.2.0(@opentelemetry/api@1.9.1)': - dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.1) + '@oxc-parser/binding-linux-arm-gnueabihf@0.120.0': + optional: true - '@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.1)': - dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.38.0 + '@oxc-parser/binding-linux-arm-musleabihf@0.120.0': + optional: true + + '@oxc-parser/binding-linux-arm64-gnu@0.120.0': + optional: true - '@opentelemetry/semantic-conventions@1.38.0': {} + '@oxc-parser/binding-linux-arm64-musl@0.120.0': + optional: true - '@orama/orama@3.1.18': {} + '@oxc-parser/binding-linux-ppc64-gnu@0.120.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-gnu@0.120.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-musl@0.120.0': + optional: true - '@oxc-project/types@0.122.0': {} + '@oxc-parser/binding-linux-s390x-gnu@0.120.0': + optional: true + + '@oxc-parser/binding-linux-x64-gnu@0.120.0': + optional: true - '@oxc-project/types@0.124.0': {} + '@oxc-parser/binding-linux-x64-musl@0.120.0': + optional: true - '@oxc-project/types@0.130.0': {} + '@oxc-parser/binding-openharmony-arm64@0.120.0': + optional: true - '@oxlint/binding-android-arm-eabi@1.57.0': + '@oxc-parser/binding-wasm32-wasi@0.120.0(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': + dependencies: + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' optional: true - '@oxlint/binding-android-arm64@1.57.0': + '@oxc-parser/binding-win32-arm64-msvc@0.120.0': optional: true - '@oxlint/binding-darwin-arm64@1.57.0': + '@oxc-parser/binding-win32-ia32-msvc@0.120.0': optional: true - '@oxlint/binding-darwin-x64@1.57.0': + '@oxc-parser/binding-win32-x64-msvc@0.120.0': optional: true - '@oxlint/binding-freebsd-x64@1.57.0': + '@oxc-project/types@0.120.0': {} + + '@oxc-project/types@0.122.0': optional: true - '@oxlint/binding-linux-arm-gnueabihf@1.57.0': + '@oxc-project/types@0.139.0': {} + + '@oxc-project/types@0.140.0': {} + + '@oxlint/binding-android-arm-eabi@1.75.0': optional: true - '@oxlint/binding-linux-arm-musleabihf@1.57.0': + '@oxlint/binding-android-arm64@1.75.0': optional: true - '@oxlint/binding-linux-arm64-gnu@1.57.0': + '@oxlint/binding-darwin-arm64@1.75.0': optional: true - '@oxlint/binding-linux-arm64-musl@1.57.0': + '@oxlint/binding-darwin-x64@1.75.0': optional: true - '@oxlint/binding-linux-ppc64-gnu@1.57.0': + '@oxlint/binding-freebsd-x64@1.75.0': optional: true - '@oxlint/binding-linux-riscv64-gnu@1.57.0': + '@oxlint/binding-linux-arm-gnueabihf@1.75.0': optional: true - '@oxlint/binding-linux-riscv64-musl@1.57.0': + '@oxlint/binding-linux-arm-musleabihf@1.75.0': optional: true - '@oxlint/binding-linux-s390x-gnu@1.57.0': + '@oxlint/binding-linux-arm64-gnu@1.75.0': optional: true - '@oxlint/binding-linux-x64-gnu@1.57.0': + '@oxlint/binding-linux-arm64-musl@1.75.0': optional: true - '@oxlint/binding-linux-x64-musl@1.57.0': + '@oxlint/binding-linux-ppc64-gnu@1.75.0': optional: true - '@oxlint/binding-openharmony-arm64@1.57.0': + '@oxlint/binding-linux-riscv64-gnu@1.75.0': optional: true - '@oxlint/binding-win32-arm64-msvc@1.57.0': + '@oxlint/binding-linux-riscv64-musl@1.75.0': optional: true - '@oxlint/binding-win32-ia32-msvc@1.57.0': + '@oxlint/binding-linux-s390x-gnu@1.75.0': optional: true - '@oxlint/binding-win32-x64-msvc@1.57.0': + '@oxlint/binding-linux-x64-gnu@1.75.0': optional: true - '@package-json/types@0.0.12': {} + '@oxlint/binding-linux-x64-musl@1.75.0': + optional: true - '@phosphor-icons/core@2.1.1': {} + '@oxlint/binding-openharmony-arm64@1.75.0': + optional: true - '@pm2/agent@2.0.4': - dependencies: - async: 3.2.6 - chalk: 3.0.0 - dayjs: 1.8.36 - debug: 4.3.7 - eventemitter2: 5.0.1 - fast-json-patch: 3.1.1 - fclone: 1.0.11 - nssocket: 0.6.0 - pm2-axon: 4.0.1 - pm2-axon-rpc: 0.7.1 - proxy-agent: 6.3.1 - semver: 7.5.4 - ws: 7.5.10 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate + '@oxlint/binding-win32-arm64-msvc@1.75.0': + optional: true + + '@oxlint/binding-win32-ia32-msvc@1.75.0': + optional: true + + '@oxlint/binding-win32-x64-msvc@1.75.0': + optional: true - '@pm2/io@6.0.1': + '@paralleldrive/cuid2@2.3.1': dependencies: - async: 2.6.4 - debug: 4.3.7 - eventemitter2: 6.4.9 - require-in-the-middle: 5.2.0 - semver: 7.5.4 - shimmer: 1.2.1 - signal-exit: 3.0.7 - tslib: 1.9.3 - transitivePeerDependencies: - - supports-color + '@noble/hashes': 1.8.0 + + '@phosphor-icons/core@2.1.1': {} + + '@pm2/blessed@0.1.81': {} - '@pm2/js-api@0.8.0': + '@pm2/js-api@0.8.1(supports-color@10.2.2)': dependencies: async: 2.6.4 - debug: 4.3.7 + debug: 4.3.7(supports-color@10.2.2) eventemitter2: 6.4.9 - extrareqp2: 1.0.0(debug@4.3.7) - ws: 7.5.10 + extrareqp2: 1.0.0(debug@4.3.7(supports-color@10.2.2)) + ws: 8.21.1 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - '@pm2/pm2-version-check@1.0.4': + '@pm2/pm2-version-check@1.0.4(supports-color@10.2.2)': dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color @@ -20766,41 +16444,32 @@ snapshots: '@poppinss/exception@1.2.3': {} - '@posthog/core@1.24.1': - dependencies: - cross-spawn: 7.0.6 - - '@posthog/types@1.363.2': {} - '@protobufjs/aspromise@1.1.2': {} '@protobufjs/base64@1.1.2': {} - '@protobufjs/codegen@2.0.4': {} + '@protobufjs/codegen@2.0.5': {} - '@protobufjs/eventemitter@1.1.0': {} + '@protobufjs/eventemitter@1.1.1': {} - '@protobufjs/fetch@1.1.0': + '@protobufjs/fetch@1.1.1': dependencies: '@protobufjs/aspromise': 1.1.2 - '@protobufjs/inquire': 1.1.0 '@protobufjs/float@1.0.2': {} - '@protobufjs/inquire@1.1.0': {} - '@protobufjs/path@1.1.2': {} '@protobufjs/pool@1.1.0': {} - '@protobufjs/utf8@1.1.0': {} + '@protobufjs/utf8@1.1.2': {} - '@puppeteer/browsers@2.13.0': + '@puppeteer/browsers@2.13.0(supports-color@10.2.2)': dependencies: - debug: 4.4.3 - extract-zip: 2.0.1 + debug: 4.4.3(supports-color@10.2.2) + extract-zip: 2.0.1(supports-color@10.2.2) progress: 2.0.3 - proxy-agent: 6.5.0 + proxy-agent: 6.5.0(supports-color@10.2.2) semver: 7.8.0 tar-fs: 3.1.1 yargs: 17.7.2 @@ -20810,741 +16479,698 @@ snapshots: - react-native-b4a - supports-color - '@puppeteer/browsers@2.6.1': + '@puppeteer/browsers@2.6.1(supports-color@10.2.2)': dependencies: - debug: 4.4.3 - extract-zip: 2.0.1 + debug: 4.4.3(supports-color@10.2.2) + extract-zip: 2.0.1(supports-color@10.2.2) progress: 2.0.3 - proxy-agent: 6.5.0 - semver: 7.7.3 - tar-fs: 3.1.1 + proxy-agent: 6.5.0(supports-color@10.2.2) + semver: 7.8.5 + tar-fs: 3.1.3 unbzip2-stream: 1.4.3 - yargs: 17.7.2 + yargs: 17.7.3 transitivePeerDependencies: - bare-abort-controller - bare-buffer - react-native-b4a - supports-color + '@puppeteer/browsers@3.0.6(yauzl@2.10.0)': + dependencies: + modern-tar: 0.7.7 + yargs: 18.0.0 + optionalDependencies: + yauzl: 2.10.0 + '@quansync/fs@1.0.0': dependencies: quansync: 1.0.0 - '@radix-ui/number@1.1.1': {} + '@radix-ui/number@1.1.2': {} - '@radix-ui/primitive@1.1.3': {} + '@radix-ui/primitive@1.1.6': {} - '@radix-ui/react-accordion@1.2.12(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-accordion@1.2.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/primitive': 1.1.6 + '@radix-ui/react-collapsible': 1.1.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-collection': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-context': 1.2.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-use-controllable-state': 1.2.4(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-arrow@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) - - '@radix-ui/react-avatar@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@radix-ui/react-context': 1.1.3(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) - - '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + + '@radix-ui/react-avatar@1.2.3(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@radix-ui/primitive': 1.1.6 + '@radix-ui/react-context': 1.2.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-is-hydrated': 0.1.1(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) - - '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + + '@radix-ui/react-collapsible@1.1.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@radix-ui/primitive': 1.1.6 + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-context': 1.2.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-presence': 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-use-controllable-state': 1.2.4(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-collection@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - react: 19.2.6 + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-context': 1.2.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - '@radix-ui/react-context@1.1.2(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-compose-refs@1.1.3(@types/react@19.2.17)(react@19.2.8)': dependencies: - react: 19.2.6 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - '@radix-ui/react-context@1.1.3(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-context@1.2.0(@types/react@19.2.17)(react@19.2.8)': dependencies: - react: 19.2.6 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 - - '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.15)(react@19.2.6) + '@types/react': 19.2.17 + + '@radix-ui/react-dialog@1.1.20(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@radix-ui/primitive': 1.1.6 + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-context': 1.2.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-dismissable-layer': 1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-focus-scope': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-portal': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-presence': 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-controllable-state': 1.2.4(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.8) aria-hidden: 1.2.6 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - react-remove-scroll: 2.7.2(@types/react@19.2.15)(react@19.2.6) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - '@radix-ui/react-direction@1.1.1(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-direction@1.1.2(@types/react@19.2.17)(react@19.2.8)': dependencies: - react: 19.2.6 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-dismissable-layer@1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/primitive': 1.1.6 + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-focus-guards@1.1.4(@types/react@19.2.17)(react@19.2.8)': dependencies: - react: 19.2.6 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-focus-scope@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - '@radix-ui/react-id@1.1.1(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-id@1.1.2(@types/react@19.2.17)(react@19.2.8)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - '@radix-ui/react-label@2.1.8(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-label@2.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) - - '@radix-ui/react-navigation-menu@1.2.14(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + + '@radix-ui/react-navigation-menu@1.2.19(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@radix-ui/primitive': 1.1.6 + '@radix-ui/react-collection': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-context': 1.2.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-dismissable-layer': 1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-presence': 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-controllable-state': 1.2.4(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-previous': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-visually-hidden': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) - - '@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.15)(react@19.2.6) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + + '@radix-ui/react-popover@1.1.20(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@radix-ui/primitive': 1.1.6 + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-context': 1.2.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-dismissable-layer': 1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-focus-scope': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-popper': 1.3.4(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-portal': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-presence': 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-controllable-state': 1.2.4(@types/react@19.2.17)(react@19.2.8) aria-hidden: 1.2.6 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - react-remove-scroll: 2.7.2(@types/react@19.2.15)(react@19.2.6) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) - - '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@floating-ui/react-dom': 2.1.8(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/rect': 1.1.1 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + + '@radix-ui/react-popper@1.3.4(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@floating-ui/react-dom': 2.1.9(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-arrow': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-context': 1.2.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-rect': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-size': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/rect': 1.1.2 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-portal@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-presence@1.1.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-primitive@2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) - - '@radix-ui/react-primitive@2.1.4(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@radix-ui/react-slot': 1.2.4(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) - - '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) - - '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@radix-ui/number': 1.1.1 - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + + '@radix-ui/react-roving-focus@1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@radix-ui/primitive': 1.1.6 + '@radix-ui/react-collection': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-context': 1.2.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-controllable-state': 1.2.4(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-is-hydrated': 0.1.1(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) - - '@radix-ui/react-slot@1.2.3(@types/react@19.2.15)(react@19.2.6)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + + '@radix-ui/react-scroll-area@1.2.15(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@radix-ui/number': 1.1.2 + '@radix-ui/primitive': 1.1.6 + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-context': 1.2.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-presence': 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - '@radix-ui/react-slot@1.2.4(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-slot@1.3.0(@types/react@19.2.17)(react@19.2.8)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 - - '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-id': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@types/react': 19.2.17 + + '@radix-ui/react-tabs@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@radix-ui/primitive': 1.1.6 + '@radix-ui/react-context': 1.2.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-presence': 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-roving-focus': 1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-use-controllable-state': 1.2.4(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) - - '@radix-ui/react-toast@1.2.15(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-context': 1.1.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) - - '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.15)(react@19.2.6)': - dependencies: - react: 19.2.6 + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + + '@radix-ui/react-toast@1.2.20(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@radix-ui/primitive': 1.1.6 + '@radix-ui/react-collection': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-context': 1.2.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-dismissable-layer': 1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-portal': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-presence': 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-controllable-state': 1.2.4(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-visually-hidden': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-use-callback-ref@1.1.2(@types/react@19.2.17)(react@19.2.8)': dependencies: - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-use-controllable-state@1.2.4(@types/react@19.2.17)(react@19.2.8)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 + '@radix-ui/primitive': 1.1.6 + '@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-use-effect-event@0.0.3(@types/react@19.2.17)(react@19.2.8)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - '@radix-ui/react-use-is-hydrated@0.1.0(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-use-is-hydrated@0.1.1(@types/react@19.2.17)(react@19.2.8)': dependencies: - react: 19.2.6 - use-sync-external-store: 1.6.0(react@19.2.6) + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-use-layout-effect@1.1.2(@types/react@19.2.17)(react@19.2.8)': dependencies: - react: 19.2.6 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-use-previous@1.1.2(@types/react@19.2.17)(react@19.2.8)': dependencies: - react: 19.2.6 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-use-rect@1.1.2(@types/react@19.2.17)(react@19.2.8)': dependencies: - '@radix-ui/rect': 1.1.1 - react: 19.2.6 + '@radix-ui/rect': 1.1.2 + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - '@radix-ui/react-use-size@1.1.1(@types/react@19.2.15)(react@19.2.6)': + '@radix-ui/react-use-size@1.1.2(@types/react@19.2.17)(react@19.2.8)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.15)(react@19.2.6) - react: 19.2.6 + '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.8) + react: 19.2.8 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@radix-ui/react-visually-hidden@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 - '@types/react-dom': 19.2.3(@types/react@19.2.15) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - '@radix-ui/rect@1.1.1': {} + '@radix-ui/rect@1.1.2': {} - '@replit/codemirror-css-color-picker@6.3.0(@codemirror/language@6.12.3)(@codemirror/state@6.6.0)(@codemirror/view@6.41.0)': + '@replit/codemirror-css-color-picker@6.3.0(@codemirror/language@6.12.4)(@codemirror/state@6.7.1)(@codemirror/view@6.43.6)': dependencies: - '@codemirror/language': 6.12.3 - '@codemirror/state': 6.6.0 - '@codemirror/view': 6.41.0 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.6 '@rolldown/binding-android-arm64@1.0.0-rc.12': optional: true - '@rolldown/binding-android-arm64@1.0.0-rc.15': + '@rolldown/binding-android-arm64@1.1.5': optional: true - '@rolldown/binding-android-arm64@1.0.1': + '@rolldown/binding-android-arm64@1.2.0': optional: true '@rolldown/binding-darwin-arm64@1.0.0-rc.12': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-rc.15': + '@rolldown/binding-darwin-arm64@1.1.5': optional: true - '@rolldown/binding-darwin-arm64@1.0.1': + '@rolldown/binding-darwin-arm64@1.2.0': optional: true '@rolldown/binding-darwin-x64@1.0.0-rc.12': optional: true - '@rolldown/binding-darwin-x64@1.0.0-rc.15': + '@rolldown/binding-darwin-x64@1.1.5': optional: true - '@rolldown/binding-darwin-x64@1.0.1': + '@rolldown/binding-darwin-x64@1.2.0': optional: true '@rolldown/binding-freebsd-x64@1.0.0-rc.12': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-rc.15': + '@rolldown/binding-freebsd-x64@1.1.5': optional: true - '@rolldown/binding-freebsd-x64@1.0.1': + '@rolldown/binding-freebsd-x64@1.2.0': optional: true '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.12': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.15': + '@rolldown/binding-linux-arm-gnueabihf@1.1.5': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.1': + '@rolldown/binding-linux-arm-gnueabihf@1.2.0': optional: true '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.12': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.15': + '@rolldown/binding-linux-arm64-gnu@1.1.5': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.1': + '@rolldown/binding-linux-arm64-gnu@1.2.0': optional: true '@rolldown/binding-linux-arm64-musl@1.0.0-rc.12': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.15': + '@rolldown/binding-linux-arm64-musl@1.1.5': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.1': + '@rolldown/binding-linux-arm64-musl@1.2.0': optional: true '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.12': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.15': + '@rolldown/binding-linux-ppc64-gnu@1.1.5': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.1': + '@rolldown/binding-linux-ppc64-gnu@1.2.0': optional: true '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.12': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.15': + '@rolldown/binding-linux-s390x-gnu@1.1.5': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.1': + '@rolldown/binding-linux-s390x-gnu@1.2.0': optional: true '@rolldown/binding-linux-x64-gnu@1.0.0-rc.12': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.15': + '@rolldown/binding-linux-x64-gnu@1.1.5': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.1': + '@rolldown/binding-linux-x64-gnu@1.2.0': optional: true '@rolldown/binding-linux-x64-musl@1.0.0-rc.12': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-rc.15': + '@rolldown/binding-linux-x64-musl@1.1.5': optional: true - '@rolldown/binding-linux-x64-musl@1.0.1': + '@rolldown/binding-linux-x64-musl@1.2.0': optional: true '@rolldown/binding-openharmony-arm64@1.0.0-rc.12': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-rc.15': + '@rolldown/binding-openharmony-arm64@1.1.5': optional: true - '@rolldown/binding-openharmony-arm64@1.0.1': + '@rolldown/binding-openharmony-arm64@1.2.0': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.12(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + '@rolldown/binding-wasm32-wasi@1.0.0-rc.12(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': dependencies: - '@napi-rs/wasm-runtime': 1.1.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.15': + '@rolldown/binding-wasm32-wasi@1.1.5': dependencies: - '@emnapi/core': 1.9.2 - '@emnapi/runtime': 1.9.2 - '@napi-rs/wasm-runtime': 1.1.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) optional: true - '@rolldown/binding-wasm32-wasi@1.0.1': + '@rolldown/binding-wasm32-wasi@1.2.0': dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@emnapi/core': 1.11.2 + '@emnapi/runtime': 1.11.2 + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) optional: true '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.12': optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.15': + '@rolldown/binding-win32-arm64-msvc@1.1.5': optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.1': + '@rolldown/binding-win32-arm64-msvc@1.2.0': optional: true '@rolldown/binding-win32-x64-msvc@1.0.0-rc.12': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.15': + '@rolldown/binding-win32-x64-msvc@1.1.5': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.1': + '@rolldown/binding-win32-x64-msvc@1.2.0': optional: true - '@rolldown/pluginutils@1.0.0-beta.40': {} - - '@rolldown/pluginutils@1.0.0-rc.12': {} - - '@rolldown/pluginutils@1.0.0-rc.15': {} + '@rolldown/pluginutils@1.0.0-rc.12': + optional: true '@rolldown/pluginutils@1.0.1': {} - '@rollup/plugin-typescript@8.5.0(rollup@2.79.2)(tslib@2.8.1)(typescript@6.0.3)': + '@rollup/plugin-swc@0.4.1(@swc/core@1.15.46(@swc/helpers@0.5.23))(rollup@4.62.2)': dependencies: - '@rollup/pluginutils': 3.1.0(rollup@2.79.2) - resolve: 1.22.11 - rollup: 2.79.2 - typescript: 6.0.3 + '@rollup/pluginutils': 5.4.0(rollup@4.62.2) + '@swc/core': 1.15.46(@swc/helpers@0.5.23) + smob: 1.6.2 optionalDependencies: - tslib: 2.8.1 + rollup: 4.62.2 - '@rollup/pluginutils@3.1.0(rollup@2.79.2)': - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.3.1 - rollup: 2.79.2 - - '@scalar/agent-chat@0.9.17(axios@1.18.1)(qrcode@1.5.4)(tailwindcss@4.2.2)(typescript@5.9.3)': - dependencies: - '@ai-sdk/vue': 3.0.33(vue@3.5.31(typescript@5.9.3))(zod@4.4.3) - '@scalar/api-client': 2.39.4(axios@1.18.1)(qrcode@1.5.4)(tailwindcss@4.2.2)(typescript@5.9.3) - '@scalar/components': 0.21.2(typescript@5.9.3) - '@scalar/helpers': 0.4.2 - '@scalar/icons': 0.7.1(typescript@5.9.3) - '@scalar/json-magic': 0.12.4 - '@scalar/openapi-types': 0.6.1 - '@scalar/themes': 0.15.1 - '@scalar/types': 0.7.5 - '@scalar/use-toasts': 0.10.1(typescript@5.9.3) - '@scalar/workspace-store': 0.42.0(typescript@5.9.3) - '@vueuse/core': 13.9.0(vue@3.5.31(typescript@5.9.3)) - ai: 6.0.33(zod@4.4.3) - neverpanic: 0.0.7(typescript@5.9.3) - truncate-json: 3.0.1 - vue: 3.5.31(typescript@5.9.3) - whatwg-mimetype: 4.0.0 - zod: 4.4.3 - transitivePeerDependencies: - - '@vue/composition-api' - - async-validator - - axios - - change-case - - drauu - - idb-keyval - - jwt-decode - - nprogress - - qrcode - - sortablejs - - supports-color - - tailwindcss - - typescript - - universal-cookie + '@rollup/pluginutils@5.4.0(rollup@4.62.2)': + dependencies: + '@types/estree': 1.0.9 + estree-walker: 2.0.2 + picomatch: 4.0.5 + optionalDependencies: + rollup: 4.62.2 - '@scalar/agent-chat@0.9.17(axios@1.18.1)(qrcode@1.5.4)(tailwindcss@4.3.0)(typescript@6.0.3)': - dependencies: - '@ai-sdk/vue': 3.0.33(vue@3.5.31(typescript@6.0.3))(zod@4.4.3) - '@scalar/api-client': 2.39.4(axios@1.18.1)(qrcode@1.5.4)(tailwindcss@4.3.0)(typescript@6.0.3) - '@scalar/components': 0.21.2(typescript@6.0.3) - '@scalar/helpers': 0.4.2 - '@scalar/icons': 0.7.1(typescript@6.0.3) - '@scalar/json-magic': 0.12.4 - '@scalar/openapi-types': 0.6.1 - '@scalar/themes': 0.15.1 - '@scalar/types': 0.7.5 - '@scalar/use-toasts': 0.10.1(typescript@6.0.3) - '@scalar/workspace-store': 0.42.0(typescript@6.0.3) - '@vueuse/core': 13.9.0(vue@3.5.31(typescript@6.0.3)) - ai: 6.0.33(zod@4.4.3) - neverpanic: 0.0.7(typescript@6.0.3) - truncate-json: 3.0.1 - vue: 3.5.31(typescript@6.0.3) - whatwg-mimetype: 4.0.0 - zod: 4.4.3 - transitivePeerDependencies: - - '@vue/composition-api' - - async-validator - - axios - - change-case - - drauu - - idb-keyval - - jwt-decode - - nprogress - - qrcode - - sortablejs - - supports-color - - tailwindcss - - typescript - - universal-cookie + '@rollup/rollup-android-arm-eabi@4.62.2': + optional: true + + '@rollup/rollup-android-arm64@4.62.2': + optional: true + + '@rollup/rollup-darwin-arm64@4.62.2': + optional: true + + '@rollup/rollup-darwin-x64@4.62.2': + optional: true + + '@rollup/rollup-freebsd-arm64@4.62.2': + optional: true + + '@rollup/rollup-freebsd-x64@4.62.2': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.62.2': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.62.2': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.62.2': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.62.2': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.62.2': + optional: true + + '@rollup/rollup-linux-loong64-musl@4.62.2': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.62.2': + optional: true + + '@rollup/rollup-linux-ppc64-musl@4.62.2': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.62.2': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.62.2': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.62.2': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.62.2': + optional: true + + '@rollup/rollup-linux-x64-musl@4.62.2': + optional: true + + '@rollup/rollup-openbsd-x64@4.62.2': + optional: true + + '@rollup/rollup-openharmony-arm64@4.62.2': + optional: true - '@scalar/api-client@2.39.4(axios@1.18.1)(qrcode@1.5.4)(tailwindcss@4.2.2)(typescript@5.9.3)': - dependencies: - '@headlessui/tailwindcss': 0.2.2(tailwindcss@4.2.2) - '@headlessui/vue': 1.7.23(vue@3.5.31(typescript@5.9.3)) - '@scalar/components': 0.21.2(typescript@5.9.3) - '@scalar/draggable': 0.4.1(typescript@5.9.3) - '@scalar/helpers': 0.4.2 - '@scalar/icons': 0.7.1(typescript@5.9.3) - '@scalar/import': 0.5.3 - '@scalar/json-magic': 0.12.4 - '@scalar/oas-utils': 0.10.14(typescript@5.9.3) - '@scalar/object-utils': 1.3.3 - '@scalar/openapi-types': 0.6.1 - '@scalar/postman-to-openapi': 0.6.0 - '@scalar/sidebar': 0.8.16(typescript@5.9.3) - '@scalar/snippetz': 0.7.7 - '@scalar/themes': 0.15.1 - '@scalar/typebox': 0.1.3 - '@scalar/types': 0.7.5 - '@scalar/use-codemirror': 0.14.10(typescript@5.9.3) - '@scalar/use-hooks': 0.4.1(typescript@5.9.3) - '@scalar/use-toasts': 0.10.1(typescript@5.9.3) - '@scalar/workspace-store': 0.42.0(typescript@5.9.3) - '@types/har-format': 1.2.16 - '@vueuse/core': 13.9.0(vue@3.5.31(typescript@5.9.3)) - '@vueuse/integrations': 13.9.0(axios@1.18.1)(focus-trap@7.8.0)(fuse.js@7.2.0)(qrcode@1.5.4)(vue@3.5.31(typescript@5.9.3)) - focus-trap: 7.8.0 - fuse.js: 7.2.0 - js-base64: 3.7.8 - microdiff: 1.5.0 - monaco-editor: 0.54.0 - monaco-yaml: 5.2.3(monaco-editor@0.54.0) - nanoid: 5.1.7 - posthog-js: 1.363.2 - pretty-bytes: 7.1.0 - pretty-ms: 9.3.0 - radix-vue: 1.9.17(vue@3.5.31(typescript@5.9.3)) - shell-quote: 1.8.3 - type-fest: 5.5.0 - vite-plugin-monaco-editor: 1.1.0(monaco-editor@0.54.0) - vue: 3.5.31(typescript@5.9.3) - vue-router: 4.6.2(vue@3.5.31(typescript@5.9.3)) - whatwg-mimetype: 4.0.0 - yaml: 2.8.2 - zod: 4.4.3 + '@rollup/rollup-win32-arm64-msvc@4.62.2': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.62.2': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.62.2': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.62.2': + optional: true + + '@scalar/agent-chat@0.12.22(axios@1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(change-case@5.4.4)(qrcode@1.5.4)(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2)(zod@4.4.3)': + dependencies: + '@ai-sdk/vue': 3.0.33(vue@3.5.40(typescript@7.0.2))(zod@4.4.3) + '@scalar/api-client': 3.13.7(axios@1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(change-case@5.4.4)(qrcode@1.5.4)(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2) + '@scalar/components': 0.27.9(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2) + '@scalar/helpers': 0.9.2 + '@scalar/icons': 0.7.5(typescript@7.0.2) + '@scalar/json-magic': 0.12.19 + '@scalar/openapi-types': 0.9.3 + '@scalar/schemas': 0.7.4 + '@scalar/themes': 0.17.1 + '@scalar/types': 0.16.4 + '@scalar/use-toasts': 0.10.4(typescript@7.0.2) + '@scalar/validation': 0.6.2 + '@scalar/workspace-store': 0.55.6(typescript@7.0.2) + '@vueuse/core': 13.9.0(vue@3.5.40(typescript@7.0.2)) + ai: 6.0.33(zod@4.4.3) + js-base64: 3.9.1 + neverpanic: 0.0.8 + truncate-json: 3.0.1 + vue: 3.5.40(typescript@7.0.2) transitivePeerDependencies: - '@vue/composition-api' - async-validator @@ -21560,51 +17186,39 @@ snapshots: - tailwindcss - typescript - universal-cookie + - zod - '@scalar/api-client@2.39.4(axios@1.18.1)(qrcode@1.5.4)(tailwindcss@4.3.0)(typescript@6.0.3)': - dependencies: - '@headlessui/tailwindcss': 0.2.2(tailwindcss@4.3.0) - '@headlessui/vue': 1.7.23(vue@3.5.31(typescript@6.0.3)) - '@scalar/components': 0.21.2(typescript@6.0.3) - '@scalar/draggable': 0.4.1(typescript@6.0.3) - '@scalar/helpers': 0.4.2 - '@scalar/icons': 0.7.1(typescript@6.0.3) - '@scalar/import': 0.5.3 - '@scalar/json-magic': 0.12.4 - '@scalar/oas-utils': 0.10.14(typescript@6.0.3) - '@scalar/object-utils': 1.3.3 - '@scalar/openapi-types': 0.6.1 - '@scalar/postman-to-openapi': 0.6.0 - '@scalar/sidebar': 0.8.16(typescript@6.0.3) - '@scalar/snippetz': 0.7.7 - '@scalar/themes': 0.15.1 + '@scalar/api-client@3.13.7(axios@1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(change-case@5.4.4)(qrcode@1.5.4)(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2)': + dependencies: + '@headlessui/tailwindcss': 0.2.2(tailwindcss@4.3.3) + '@headlessui/vue': 1.7.23(vue@3.5.40(typescript@7.0.2)) + '@scalar/blocks': 0.1.8(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2) + '@scalar/components': 0.27.9(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2) + '@scalar/helpers': 0.9.2 + '@scalar/icons': 0.7.5(typescript@7.0.2) + '@scalar/oas-utils': 0.19.8(typescript@7.0.2) + '@scalar/openapi-types': 0.9.3 + '@scalar/sidebar': 0.9.33(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2) + '@scalar/snippetz': 0.9.23 + '@scalar/themes': 0.17.1 '@scalar/typebox': 0.1.3 - '@scalar/types': 0.7.5 - '@scalar/use-codemirror': 0.14.10(typescript@6.0.3) - '@scalar/use-hooks': 0.4.1(typescript@6.0.3) - '@scalar/use-toasts': 0.10.1(typescript@6.0.3) - '@scalar/workspace-store': 0.42.0(typescript@6.0.3) - '@types/har-format': 1.2.16 - '@vueuse/core': 13.9.0(vue@3.5.31(typescript@6.0.3)) - '@vueuse/integrations': 13.9.0(axios@1.18.1)(focus-trap@7.8.0)(fuse.js@7.2.0)(qrcode@1.5.4)(vue@3.5.31(typescript@6.0.3)) + '@scalar/types': 0.16.4 + '@scalar/use-codemirror': 0.14.14(typescript@7.0.2) + '@scalar/use-hooks': 0.4.9(typescript@7.0.2) + '@scalar/use-toasts': 0.10.4(typescript@7.0.2) + '@scalar/workspace-store': 0.55.6(typescript@7.0.2) + '@vueuse/core': 13.9.0(vue@3.5.40(typescript@7.0.2)) + '@vueuse/integrations': 13.9.0(axios@1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(change-case@5.4.4)(focus-trap@7.8.0)(fuse.js@7.5.0)(qrcode@1.5.4)(vue@3.5.40(typescript@7.0.2)) focus-trap: 7.8.0 - fuse.js: 7.2.0 - js-base64: 3.7.8 - microdiff: 1.5.0 - monaco-editor: 0.54.0 - monaco-yaml: 5.2.3(monaco-editor@0.54.0) - nanoid: 5.1.7 - posthog-js: 1.363.2 - pretty-bytes: 7.1.0 + fuse.js: 7.5.0 + js-base64: 3.9.1 + jsonc-parser: 3.3.1 + nanoid: 5.1.16 pretty-ms: 9.3.0 - radix-vue: 1.9.17(vue@3.5.31(typescript@6.0.3)) - shell-quote: 1.8.3 - type-fest: 5.5.0 - vite-plugin-monaco-editor: 1.1.0(monaco-editor@0.54.0) - vue: 3.5.31(typescript@6.0.3) - vue-router: 4.6.2(vue@3.5.31(typescript@6.0.3)) - whatwg-mimetype: 4.0.0 - yaml: 2.8.2 + radix-vue: 1.9.17(vue@3.5.40(typescript@7.0.2)) + set-cookie-parser: 3.1.0 + vue: 3.5.40(typescript@7.0.2) + yaml: 2.9.0 zod: 4.4.3 transitivePeerDependencies: - '@vue/composition-api' @@ -21622,32 +17236,11 @@ snapshots: - typescript - universal-cookie - '@scalar/api-reference-react@0.9.18(axios@1.18.1)(qrcode@1.5.4)(react@19.2.4)(tailwindcss@4.2.2)(typescript@5.9.3)': - dependencies: - '@scalar/api-reference': 1.49.8(axios@1.18.1)(qrcode@1.5.4)(tailwindcss@4.2.2)(typescript@5.9.3) - '@scalar/types': 0.7.5 - react: 19.2.4 - transitivePeerDependencies: - - '@vue/composition-api' - - async-validator - - axios - - change-case - - drauu - - idb-keyval - - jwt-decode - - nprogress - - qrcode - - sortablejs - - supports-color - - tailwindcss - - typescript - - universal-cookie - - '@scalar/api-reference-react@0.9.18(axios@1.18.1)(qrcode@1.5.4)(react@19.2.6)(tailwindcss@4.3.0)(typescript@6.0.3)': + '@scalar/api-reference-react@0.9.59(axios@1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(change-case@5.4.4)(qrcode@1.5.4)(react@19.2.8)(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2)(zod@4.4.3)': dependencies: - '@scalar/api-reference': 1.49.8(axios@1.18.1)(qrcode@1.5.4)(tailwindcss@4.3.0)(typescript@6.0.3) - '@scalar/types': 0.7.5 - react: 19.2.6 + '@scalar/api-reference': 1.63.0(axios@1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(change-case@5.4.4)(qrcode@1.5.4)(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2)(zod@4.4.3) + '@scalar/types': 0.16.4 + react: 19.2.8 transitivePeerDependencies: - '@vue/composition-api' - async-validator @@ -21663,33 +17256,35 @@ snapshots: - tailwindcss - typescript - universal-cookie + - zod - '@scalar/api-reference@1.49.8(axios@1.18.1)(qrcode@1.5.4)(tailwindcss@4.2.2)(typescript@5.9.3)': - dependencies: - '@headlessui/vue': 1.7.23(vue@3.5.31(typescript@5.9.3)) - '@scalar/agent-chat': 0.9.17(axios@1.18.1)(qrcode@1.5.4)(tailwindcss@4.2.2)(typescript@5.9.3) - '@scalar/api-client': 2.39.4(axios@1.18.1)(qrcode@1.5.4)(tailwindcss@4.2.2)(typescript@5.9.3) - '@scalar/code-highlight': 0.3.1 - '@scalar/components': 0.21.2(typescript@5.9.3) - '@scalar/helpers': 0.4.2 - '@scalar/icons': 0.7.1(typescript@5.9.3) - '@scalar/oas-utils': 0.10.14(typescript@5.9.3) - '@scalar/openapi-types': 0.6.1 - '@scalar/sidebar': 0.8.16(typescript@5.9.3) - '@scalar/snippetz': 0.7.7 - '@scalar/themes': 0.15.1 - '@scalar/types': 0.7.5 - '@scalar/use-hooks': 0.4.1(typescript@5.9.3) - '@scalar/use-toasts': 0.10.1(typescript@5.9.3) - '@scalar/workspace-store': 0.42.0(typescript@5.9.3) - '@unhead/vue': 2.1.12(vue@3.5.31(typescript@5.9.3)) - '@vueuse/core': 13.9.0(vue@3.5.31(typescript@5.9.3)) - fuse.js: 7.2.0 - github-slugger: 2.0.0 + '@scalar/api-reference@1.63.0(axios@1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(change-case@5.4.4)(qrcode@1.5.4)(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2)(zod@4.4.3)': + dependencies: + '@headlessui/vue': 1.7.23(vue@3.5.40(typescript@7.0.2)) + '@scalar/agent-chat': 0.12.22(axios@1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(change-case@5.4.4)(qrcode@1.5.4)(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2)(zod@4.4.3) + '@scalar/api-client': 3.13.7(axios@1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(change-case@5.4.4)(qrcode@1.5.4)(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2) + '@scalar/blocks': 0.1.8(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2) + '@scalar/code-highlight': 0.4.3(supports-color@10.2.2) + '@scalar/components': 0.27.9(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2) + '@scalar/helpers': 0.9.2 + '@scalar/icons': 0.7.5(typescript@7.0.2) + '@scalar/oas-utils': 0.19.8(typescript@7.0.2) + '@scalar/schemas': 0.7.4 + '@scalar/sidebar': 0.9.33(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2) + '@scalar/snippetz': 0.9.23 + '@scalar/themes': 0.17.1 + '@scalar/types': 0.16.4 + '@scalar/use-hooks': 0.4.9(typescript@7.0.2) + '@scalar/use-toasts': 0.10.4(typescript@7.0.2) + '@scalar/validation': 0.6.2 + '@scalar/workspace-store': 0.55.6(typescript@7.0.2) + '@unhead/vue': 2.1.16(vue@3.5.40(typescript@7.0.2)) + '@vueuse/core': 13.9.0(vue@3.5.40(typescript@7.0.2)) + fuse.js: 7.5.0 microdiff: 1.5.0 - nanoid: 5.1.7 - vue: 3.5.31(typescript@5.9.3) - yaml: 2.8.2 + nanoid: 5.1.16 + vue: 3.5.40(typescript@7.0.2) + yaml: 2.9.0 transitivePeerDependencies: - '@vue/composition-api' - async-validator @@ -21705,54 +17300,34 @@ snapshots: - tailwindcss - typescript - universal-cookie + - zod - '@scalar/api-reference@1.49.8(axios@1.18.1)(qrcode@1.5.4)(tailwindcss@4.3.0)(typescript@6.0.3)': - dependencies: - '@headlessui/vue': 1.7.23(vue@3.5.31(typescript@6.0.3)) - '@scalar/agent-chat': 0.9.17(axios@1.18.1)(qrcode@1.5.4)(tailwindcss@4.3.0)(typescript@6.0.3) - '@scalar/api-client': 2.39.4(axios@1.18.1)(qrcode@1.5.4)(tailwindcss@4.3.0)(typescript@6.0.3) - '@scalar/code-highlight': 0.3.1 - '@scalar/components': 0.21.2(typescript@6.0.3) - '@scalar/helpers': 0.4.2 - '@scalar/icons': 0.7.1(typescript@6.0.3) - '@scalar/oas-utils': 0.10.14(typescript@6.0.3) - '@scalar/openapi-types': 0.6.1 - '@scalar/sidebar': 0.8.16(typescript@6.0.3) - '@scalar/snippetz': 0.7.7 - '@scalar/themes': 0.15.1 - '@scalar/types': 0.7.5 - '@scalar/use-hooks': 0.4.1(typescript@6.0.3) - '@scalar/use-toasts': 0.10.1(typescript@6.0.3) - '@scalar/workspace-store': 0.42.0(typescript@6.0.3) - '@unhead/vue': 2.1.12(vue@3.5.31(typescript@6.0.3)) - '@vueuse/core': 13.9.0(vue@3.5.31(typescript@6.0.3)) - fuse.js: 7.2.0 - github-slugger: 2.0.0 - microdiff: 1.5.0 - nanoid: 5.1.7 - vue: 3.5.31(typescript@6.0.3) - yaml: 2.8.2 + '@scalar/asyncapi-upgrader@0.1.4': + dependencies: + '@scalar/helpers': 0.9.2 + + '@scalar/blocks@0.1.8(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2)': + dependencies: + '@scalar/components': 0.27.9(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2) + '@scalar/helpers': 0.9.2 + '@scalar/icons': 0.7.5(typescript@7.0.2) + '@scalar/snippetz': 0.9.23 + '@scalar/themes': 0.17.1 + '@scalar/types': 0.16.4 + '@scalar/workspace-store': 0.55.6(typescript@7.0.2) + '@types/har-format': 1.2.16 + js-base64: 3.9.1 + vue: 3.5.40(typescript@7.0.2) transitivePeerDependencies: - '@vue/composition-api' - - async-validator - - axios - - change-case - - drauu - - idb-keyval - - jwt-decode - - nprogress - - qrcode - - sortablejs - supports-color - tailwindcss - typescript - - universal-cookie - '@scalar/code-highlight@0.3.1': + '@scalar/code-highlight@0.4.3(supports-color@10.2.2)': dependencies: hast-util-to-text: 4.0.2 highlight.js: 11.11.1 - highlightjs-curl: 1.3.0 lowlight: 3.3.0 rehype-external-links: 3.0.0 rehype-format: 5.0.1 @@ -21760,8 +17335,8 @@ snapshots: rehype-raw: 7.0.0 rehype-sanitize: 6.0.0 rehype-stringify: 10.0.1 - remark-gfm: 4.0.1 - remark-parse: 11.0.0 + remark-gfm: 4.0.1(supports-color@10.2.2) + remark-parse: 11.0.0(supports-color@10.2.2) remark-rehype: 11.1.2 remark-stringify: 11.0.0 unified: 11.0.5 @@ -21769,398 +17344,202 @@ snapshots: transitivePeerDependencies: - supports-color - '@scalar/components@0.21.2(typescript@5.9.3)': - dependencies: - '@floating-ui/utils': 0.2.10 - '@floating-ui/vue': 1.1.9(vue@3.5.31(typescript@5.9.3)) - '@headlessui/vue': 1.7.23(vue@3.5.31(typescript@5.9.3)) - '@scalar/code-highlight': 0.3.1 - '@scalar/helpers': 0.4.2 - '@scalar/icons': 0.7.1(typescript@5.9.3) - '@scalar/themes': 0.15.1 - '@scalar/use-hooks': 0.4.1(typescript@5.9.3) - '@vueuse/core': 13.9.0(vue@3.5.31(typescript@5.9.3)) - cva: 1.0.0-beta.4(typescript@5.9.3) - nanoid: 5.1.7 - pretty-bytes: 7.1.0 - radix-vue: 1.9.17(vue@3.5.31(typescript@5.9.3)) - vue: 3.5.31(typescript@5.9.3) - vue-component-type-helpers: 3.2.6 - transitivePeerDependencies: - - '@vue/composition-api' - - supports-color - - typescript - - '@scalar/components@0.21.2(typescript@6.0.3)': + '@scalar/components@0.27.9(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2)': dependencies: '@floating-ui/utils': 0.2.10 - '@floating-ui/vue': 1.1.9(vue@3.5.31(typescript@6.0.3)) - '@headlessui/vue': 1.7.23(vue@3.5.31(typescript@6.0.3)) - '@scalar/code-highlight': 0.3.1 - '@scalar/helpers': 0.4.2 - '@scalar/icons': 0.7.1(typescript@6.0.3) - '@scalar/themes': 0.15.1 - '@scalar/use-hooks': 0.4.1(typescript@6.0.3) - '@vueuse/core': 13.9.0(vue@3.5.31(typescript@6.0.3)) - cva: 1.0.0-beta.4(typescript@6.0.3) - nanoid: 5.1.7 - pretty-bytes: 7.1.0 - radix-vue: 1.9.17(vue@3.5.31(typescript@6.0.3)) - vue: 3.5.31(typescript@6.0.3) - vue-component-type-helpers: 3.2.6 + '@floating-ui/vue': 1.1.9(vue@3.5.40(typescript@7.0.2)) + '@headlessui/tailwindcss': 0.2.2(tailwindcss@4.3.3) + '@headlessui/vue': 1.7.23(vue@3.5.40(typescript@7.0.2)) + '@scalar/code-highlight': 0.4.3(supports-color@10.2.2) + '@scalar/helpers': 0.9.2 + '@scalar/icons': 0.7.5(typescript@7.0.2) + '@scalar/themes': 0.17.1 + '@scalar/use-hooks': 0.4.9(typescript@7.0.2) + '@vueuse/core': 13.9.0(vue@3.5.40(typescript@7.0.2)) + cva: 1.0.0-beta.4(typescript@7.0.2) + radix-vue: 1.9.17(vue@3.5.40(typescript@7.0.2)) + vue: 3.5.40(typescript@7.0.2) + vue-component-type-helpers: 3.3.7 transitivePeerDependencies: - '@vue/composition-api' - supports-color + - tailwindcss - typescript - '@scalar/draggable@0.4.1(typescript@5.9.3)': - dependencies: - vue: 3.5.31(typescript@5.9.3) - transitivePeerDependencies: - - typescript - - '@scalar/draggable@0.4.1(typescript@6.0.3)': - dependencies: - vue: 3.5.31(typescript@6.0.3) - transitivePeerDependencies: - - typescript - - '@scalar/helpers@0.4.2': {} - - '@scalar/icons@0.7.1(typescript@5.9.3)': - dependencies: - '@phosphor-icons/core': 2.1.1 - '@types/node': 24.12.4 - chalk: 5.6.2 - vue: 3.5.31(typescript@5.9.3) - transitivePeerDependencies: - - typescript + '@scalar/helpers@0.9.2': {} - '@scalar/icons@0.7.1(typescript@6.0.3)': + '@scalar/icons@0.7.5(typescript@7.0.2)': dependencies: '@phosphor-icons/core': 2.1.1 - '@types/node': 24.12.4 + '@types/node': 24.13.3 chalk: 5.6.2 - vue: 3.5.31(typescript@6.0.3) + vue: 3.5.40(typescript@7.0.2) transitivePeerDependencies: - typescript - '@scalar/import@0.5.3': - dependencies: - '@scalar/helpers': 0.4.2 - yaml: 2.8.2 - - '@scalar/json-magic@0.12.4': + '@scalar/json-magic@0.12.19': dependencies: - '@scalar/helpers': 0.4.2 + '@scalar/helpers': 0.9.2 pathe: 2.0.3 - yaml: 2.8.2 - - '@scalar/oas-utils@0.10.14(typescript@5.9.3)': - dependencies: - '@scalar/helpers': 0.4.2 - '@scalar/json-magic': 0.12.4 - '@scalar/object-utils': 1.3.3 - '@scalar/openapi-parser': 0.25.7 - '@scalar/openapi-types': 0.6.1 - '@scalar/themes': 0.15.1 - '@scalar/types': 0.7.5 - '@scalar/workspace-store': 0.42.0(typescript@5.9.3) - flatted: 3.4.2 - github-slugger: 2.0.0 - type-fest: 5.5.0 - vue: 3.5.31(typescript@5.9.3) - yaml: 2.8.2 - zod: 4.4.3 - transitivePeerDependencies: - - supports-color - - typescript + yaml: 2.9.0 - '@scalar/oas-utils@0.10.14(typescript@6.0.3)': + '@scalar/oas-utils@0.19.8(typescript@7.0.2)': dependencies: - '@scalar/helpers': 0.4.2 - '@scalar/json-magic': 0.12.4 - '@scalar/object-utils': 1.3.3 - '@scalar/openapi-parser': 0.25.7 - '@scalar/openapi-types': 0.6.1 - '@scalar/themes': 0.15.1 - '@scalar/types': 0.7.5 - '@scalar/workspace-store': 0.42.0(typescript@6.0.3) + '@scalar/helpers': 0.9.2 + '@scalar/themes': 0.17.1 + '@scalar/types': 0.16.4 + '@scalar/workspace-store': 0.55.6(typescript@7.0.2) flatted: 3.4.2 - github-slugger: 2.0.0 - type-fest: 5.5.0 - vue: 3.5.31(typescript@6.0.3) - yaml: 2.8.2 - zod: 4.4.3 + vue: 3.5.40(typescript@7.0.2) + yaml: 2.9.0 transitivePeerDependencies: - - supports-color - typescript - '@scalar/object-utils@1.3.3': - dependencies: - '@scalar/helpers': 0.4.2 - flatted: 3.4.2 - just-clone: 6.2.0 - ts-deepmerge: 7.0.3 - - '@scalar/openapi-parser@0.25.7': - dependencies: - '@scalar/helpers': 0.4.2 - '@scalar/json-magic': 0.12.4 - '@scalar/openapi-types': 0.6.1 - '@scalar/openapi-upgrader': 0.2.3 - ajv: 8.20.0 - ajv-draft-04: 1.0.0(ajv@8.20.0) - ajv-formats: 3.0.1(ajv@8.20.0) - jsonpointer: 5.0.1 - leven: 4.1.0 - yaml: 2.8.2 - - '@scalar/openapi-types@0.6.1': - dependencies: - zod: 4.4.3 - - '@scalar/openapi-upgrader@0.2.3': - dependencies: - '@scalar/openapi-types': 0.6.1 + '@scalar/openapi-types@0.9.3': {} - '@scalar/postman-to-openapi@0.6.0': + '@scalar/openapi-upgrader@0.2.11': dependencies: - '@scalar/helpers': 0.4.2 - '@scalar/openapi-types': 0.6.1 + '@scalar/openapi-types': 0.9.3 - '@scalar/sidebar@0.8.16(typescript@5.9.3)': + '@scalar/schemas@0.7.4': dependencies: - '@scalar/components': 0.21.2(typescript@5.9.3) - '@scalar/helpers': 0.4.2 - '@scalar/icons': 0.7.1(typescript@5.9.3) - '@scalar/themes': 0.15.1 - '@scalar/use-hooks': 0.4.1(typescript@5.9.3) - '@scalar/workspace-store': 0.42.0(typescript@5.9.3) - vue: 3.5.31(typescript@5.9.3) - transitivePeerDependencies: - - '@vue/composition-api' - - supports-color - - typescript + '@scalar/helpers': 0.9.2 + '@scalar/validation': 0.6.2 - '@scalar/sidebar@0.8.16(typescript@6.0.3)': + '@scalar/sidebar@0.9.33(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2)': dependencies: - '@scalar/components': 0.21.2(typescript@6.0.3) - '@scalar/helpers': 0.4.2 - '@scalar/icons': 0.7.1(typescript@6.0.3) - '@scalar/themes': 0.15.1 - '@scalar/use-hooks': 0.4.1(typescript@6.0.3) - '@scalar/workspace-store': 0.42.0(typescript@6.0.3) - vue: 3.5.31(typescript@6.0.3) + '@scalar/components': 0.27.9(supports-color@10.2.2)(tailwindcss@4.3.3)(typescript@7.0.2) + '@scalar/helpers': 0.9.2 + '@scalar/icons': 0.7.5(typescript@7.0.2) + '@scalar/themes': 0.17.1 + '@scalar/use-hooks': 0.4.9(typescript@7.0.2) + '@scalar/workspace-store': 0.55.6(typescript@7.0.2) + vue: 3.5.40(typescript@7.0.2) transitivePeerDependencies: - '@vue/composition-api' - supports-color + - tailwindcss - typescript - '@scalar/snippetz@0.7.7': + '@scalar/snippetz@0.9.23': dependencies: - '@scalar/types': 0.7.5 - js-base64: 3.7.8 + '@scalar/helpers': 0.9.2 + '@scalar/types': 0.16.4 + js-base64: 3.9.1 stringify-object: 6.0.0 - '@scalar/themes@0.15.1': + '@scalar/themes@0.17.1': dependencies: - nanoid: 5.1.7 + nanoid: 5.1.16 '@scalar/typebox@0.1.3': {} - '@scalar/types@0.7.5': + '@scalar/types@0.16.4': dependencies: - '@scalar/helpers': 0.4.2 - nanoid: 5.1.7 - type-fest: 5.5.0 + '@scalar/helpers': 0.9.2 + nanoid: 5.1.16 + type-fest: 5.8.0 zod: 4.4.3 - '@scalar/use-codemirror@0.14.10(typescript@5.9.3)': - dependencies: - '@codemirror/autocomplete': 6.20.1 - '@codemirror/commands': 6.10.3 - '@codemirror/lang-css': 6.3.1 - '@codemirror/lang-html': 6.4.11 - '@codemirror/lang-json': 6.0.2 - '@codemirror/lang-xml': 6.1.0 - '@codemirror/lang-yaml': 6.1.3 - '@codemirror/language': 6.12.3 - '@codemirror/lint': 6.9.5 - '@codemirror/state': 6.6.0 - '@codemirror/view': 6.41.0 - '@lezer/common': 1.5.1 - '@lezer/highlight': 1.2.3 - '@replit/codemirror-css-color-picker': 6.3.0(@codemirror/language@6.12.3)(@codemirror/state@6.6.0)(@codemirror/view@6.41.0) - vue: 3.5.31(typescript@5.9.3) - transitivePeerDependencies: - - typescript - - '@scalar/use-codemirror@0.14.10(typescript@6.0.3)': + '@scalar/use-codemirror@0.14.14(typescript@7.0.2)': dependencies: - '@codemirror/autocomplete': 6.20.1 - '@codemirror/commands': 6.10.3 + '@codemirror/autocomplete': 6.20.3 + '@codemirror/commands': 6.10.4 '@codemirror/lang-css': 6.3.1 '@codemirror/lang-html': 6.4.11 '@codemirror/lang-json': 6.0.2 '@codemirror/lang-xml': 6.1.0 '@codemirror/lang-yaml': 6.1.3 - '@codemirror/language': 6.12.3 - '@codemirror/lint': 6.9.5 - '@codemirror/state': 6.6.0 - '@codemirror/view': 6.41.0 - '@lezer/common': 1.5.1 + '@codemirror/language': 6.12.4 + '@codemirror/lint': 6.9.7 + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.6 + '@lezer/common': 1.5.2 '@lezer/highlight': 1.2.3 - '@replit/codemirror-css-color-picker': 6.3.0(@codemirror/language@6.12.3)(@codemirror/state@6.6.0)(@codemirror/view@6.41.0) - vue: 3.5.31(typescript@6.0.3) - transitivePeerDependencies: - - typescript - - '@scalar/use-hooks@0.4.1(typescript@5.9.3)': - dependencies: - '@scalar/use-toasts': 0.10.1(typescript@5.9.3) - '@vueuse/core': 13.9.0(vue@3.5.31(typescript@5.9.3)) - cva: 1.0.0-beta.2(typescript@5.9.3) - tailwind-merge: 3.4.0 - vue: 3.5.31(typescript@5.9.3) - zod: 4.4.3 - transitivePeerDependencies: - - typescript - - '@scalar/use-hooks@0.4.1(typescript@6.0.3)': - dependencies: - '@scalar/use-toasts': 0.10.1(typescript@6.0.3) - '@vueuse/core': 13.9.0(vue@3.5.31(typescript@6.0.3)) - cva: 1.0.0-beta.2(typescript@6.0.3) - tailwind-merge: 3.4.0 - vue: 3.5.31(typescript@6.0.3) - zod: 4.4.3 + '@replit/codemirror-css-color-picker': 6.3.0(@codemirror/language@6.12.4)(@codemirror/state@6.7.1)(@codemirror/view@6.43.6) + vue: 3.5.40(typescript@7.0.2) transitivePeerDependencies: - typescript - '@scalar/use-toasts@0.10.1(typescript@5.9.3)': + '@scalar/use-hooks@0.4.9(typescript@7.0.2)': dependencies: - vue: 3.5.31(typescript@5.9.3) - vue-sonner: 1.3.2 + '@scalar/use-toasts': 0.10.4(typescript@7.0.2) + '@scalar/validation': 0.6.2 + '@vueuse/core': 13.9.0(vue@3.5.40(typescript@7.0.2)) + cva: 1.0.0-beta.4(typescript@7.0.2) + tailwind-merge: 3.5.0 + vue: 3.5.40(typescript@7.0.2) transitivePeerDependencies: - typescript - '@scalar/use-toasts@0.10.1(typescript@6.0.3)': + '@scalar/use-toasts@0.10.4(typescript@7.0.2)': dependencies: - vue: 3.5.31(typescript@6.0.3) + vue: 3.5.40(typescript@7.0.2) vue-sonner: 1.3.2 transitivePeerDependencies: - typescript - '@scalar/validation@0.2.0': {} + '@scalar/validation@0.6.2': {} - '@scalar/workspace-store@0.42.0(typescript@5.9.3)': + '@scalar/workspace-store@0.55.6(typescript@7.0.2)': dependencies: - '@scalar/code-highlight': 0.3.1 - '@scalar/helpers': 0.4.2 - '@scalar/json-magic': 0.12.4 - '@scalar/openapi-upgrader': 0.2.3 - '@scalar/snippetz': 0.7.7 + '@scalar/asyncapi-upgrader': 0.1.4 + '@scalar/helpers': 0.9.2 + '@scalar/json-magic': 0.12.19 + '@scalar/openapi-upgrader': 0.2.11 + '@scalar/schemas': 0.7.4 + '@scalar/snippetz': 0.9.23 '@scalar/typebox': 0.1.3 - '@scalar/types': 0.7.5 - '@scalar/validation': 0.2.0 - github-slugger: 2.0.0 - type-fest: 5.5.0 - vue: 3.5.31(typescript@5.9.3) - yaml: 2.8.2 + '@scalar/types': 0.16.4 + '@scalar/validation': 0.6.2 + js-base64: 3.9.1 + type-fest: 5.8.0 + vue: 3.5.40(typescript@7.0.2) + yaml: 2.9.0 transitivePeerDependencies: - - supports-color - typescript - '@scalar/workspace-store@0.42.0(typescript@6.0.3)': - dependencies: - '@scalar/code-highlight': 0.3.1 - '@scalar/helpers': 0.4.2 - '@scalar/json-magic': 0.12.4 - '@scalar/openapi-upgrader': 0.2.3 - '@scalar/snippetz': 0.7.7 - '@scalar/typebox': 0.1.3 - '@scalar/types': 0.7.5 - '@scalar/validation': 0.2.0 - github-slugger: 2.0.0 - type-fest: 5.5.0 - vue: 3.5.31(typescript@6.0.3) - yaml: 2.8.2 - transitivePeerDependencies: - - supports-color - - typescript + '@scarf/scarf@1.4.0': {} '@sec-ant/readable-stream@0.4.1': {} - '@shikijs/core@4.1.0': + '@shikijs/core@4.3.1': dependencies: - '@shikijs/primitive': 4.1.0 - '@shikijs/types': 4.1.0 + '@shikijs/primitive': 4.3.1 + '@shikijs/types': 4.3.1 '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-to-html: 9.0.5 - '@shikijs/engine-javascript@4.1.0': + '@shikijs/engine-javascript@4.3.1': dependencies: - '@shikijs/types': 4.1.0 + '@shikijs/types': 4.3.1 '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.6 - '@shikijs/engine-oniguruma@3.20.0': - dependencies: - '@shikijs/types': 3.20.0 - '@shikijs/vscode-textmate': 10.0.2 - - '@shikijs/engine-oniguruma@4.1.0': + '@shikijs/engine-oniguruma@4.3.1': dependencies: - '@shikijs/types': 4.1.0 + '@shikijs/types': 4.3.1 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.20.0': + '@shikijs/langs@4.3.1': dependencies: - '@shikijs/types': 3.20.0 + '@shikijs/types': 4.3.1 - '@shikijs/langs@4.1.0': + '@shikijs/primitive@4.3.1': dependencies: - '@shikijs/types': 4.1.0 - - '@shikijs/primitive@4.1.0': - dependencies: - '@shikijs/types': 4.1.0 + '@shikijs/types': 4.3.1 '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 - - '@shikijs/rehype@4.1.0': - dependencies: - '@shikijs/types': 4.1.0 - '@types/hast': 3.0.4 - hast-util-to-string: 3.0.1 - shiki: 4.1.0 - unified: 11.0.5 - unist-util-visit: 5.1.0 - - '@shikijs/themes@3.20.0': - dependencies: - '@shikijs/types': 3.20.0 + '@types/hast': 3.0.5 - '@shikijs/themes@4.1.0': + '@shikijs/themes@4.3.1': dependencies: - '@shikijs/types': 4.1.0 + '@shikijs/types': 4.3.1 - '@shikijs/transformers@4.1.0': - dependencies: - '@shikijs/core': 4.1.0 - '@shikijs/types': 4.1.0 - - '@shikijs/types@3.20.0': - dependencies: - '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 - - '@shikijs/types@4.1.0': + '@shikijs/types@4.3.1': dependencies: '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@shikijs/vscode-textmate@10.0.2': {} @@ -22178,11 +17557,19 @@ snapshots: dependencies: type-detect: 4.0.8 - '@sinonjs/fake-timers@6.0.1': + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@11.3.1': + dependencies: + '@sinonjs/commons': 3.0.1 + + '@sinonjs/fake-timers@7.1.2': dependencies: '@sinonjs/commons': 1.8.6 - '@sinonjs/samsam@5.3.1': + '@sinonjs/samsam@6.1.3': dependencies: '@sinonjs/commons': 1.8.6 lodash.get: 4.4.2 @@ -22197,58 +17584,119 @@ snapshots: '@socket.io/component-emitter@3.1.2': {} - '@solid-primitives/event-listener@2.4.5(solid-js@1.9.12)': + '@solid-primitives/event-listener@2.4.6(solid-js@1.9.12)': dependencies: - '@solid-primitives/utils': 6.4.0(solid-js@1.9.12) + '@solid-primitives/utils': 6.4.1(solid-js@1.9.12) solid-js: 1.9.12 - '@solid-primitives/keyboard@1.3.5(solid-js@1.9.12)': + '@solid-primitives/keyboard@1.3.7(solid-js@1.9.12)': dependencies: - '@solid-primitives/event-listener': 2.4.5(solid-js@1.9.12) - '@solid-primitives/rootless': 1.5.3(solid-js@1.9.12) - '@solid-primitives/utils': 6.4.0(solid-js@1.9.12) + '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.12) + '@solid-primitives/rootless': 1.5.4(solid-js@1.9.12) + '@solid-primitives/utils': 6.4.1(solid-js@1.9.12) solid-js: 1.9.12 - '@solid-primitives/resize-observer@2.1.5(solid-js@1.9.12)': + '@solid-primitives/resize-observer@2.2.0(solid-js@1.9.12)': dependencies: - '@solid-primitives/event-listener': 2.4.5(solid-js@1.9.12) - '@solid-primitives/rootless': 1.5.3(solid-js@1.9.12) - '@solid-primitives/static-store': 0.1.3(solid-js@1.9.12) - '@solid-primitives/utils': 6.4.0(solid-js@1.9.12) + '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.12) + '@solid-primitives/rootless': 1.5.4(solid-js@1.9.12) + '@solid-primitives/static-store': 0.1.4(solid-js@1.9.12) + '@solid-primitives/utils': 6.4.1(solid-js@1.9.12) solid-js: 1.9.12 - '@solid-primitives/rootless@1.5.3(solid-js@1.9.12)': + '@solid-primitives/rootless@1.5.4(solid-js@1.9.12)': dependencies: - '@solid-primitives/utils': 6.4.0(solid-js@1.9.12) + '@solid-primitives/utils': 6.4.1(solid-js@1.9.12) solid-js: 1.9.12 - '@solid-primitives/static-store@0.1.3(solid-js@1.9.12)': + '@solid-primitives/static-store@0.1.4(solid-js@1.9.12)': dependencies: - '@solid-primitives/utils': 6.4.0(solid-js@1.9.12) + '@solid-primitives/utils': 6.4.1(solid-js@1.9.12) solid-js: 1.9.12 - '@solid-primitives/utils@6.4.0(solid-js@1.9.12)': + '@solid-primitives/utils@6.4.1(solid-js@1.9.12)': dependencies: solid-js: 1.9.12 - '@speed-highlight/core@1.2.15': {} + '@speed-highlight/core@1.2.17': {} '@standard-schema/spec@1.1.0': {} - '@stylistic/eslint-plugin@5.10.0(eslint@8.57.1)': + '@stylistic/eslint-plugin@5.10.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) - '@typescript-eslint/types': 8.58.0 - eslint: 8.57.1 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2)) + '@typescript-eslint/types': 8.65.0 + eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 - picomatch: 4.0.4 + picomatch: 4.0.5 + + '@swc/core-darwin-arm64@1.15.46': + optional: true + + '@swc/core-darwin-x64@1.15.46': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.15.46': + optional: true + + '@swc/core-linux-arm64-gnu@1.15.46': + optional: true + + '@swc/core-linux-arm64-musl@1.15.46': + optional: true + + '@swc/core-linux-ppc64-gnu@1.15.46': + optional: true + + '@swc/core-linux-s390x-gnu@1.15.46': + optional: true - '@swc/helpers@0.5.17': + '@swc/core-linux-x64-gnu@1.15.46': + optional: true + + '@swc/core-linux-x64-musl@1.15.46': + optional: true + + '@swc/core-win32-arm64-msvc@1.15.46': + optional: true + + '@swc/core-win32-ia32-msvc@1.15.46': + optional: true + + '@swc/core-win32-x64-msvc@1.15.46': + optional: true + + '@swc/core@1.15.46(@swc/helpers@0.5.23)': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.27 + optionalDependencies: + '@swc/core-darwin-arm64': 1.15.46 + '@swc/core-darwin-x64': 1.15.46 + '@swc/core-linux-arm-gnueabihf': 1.15.46 + '@swc/core-linux-arm64-gnu': 1.15.46 + '@swc/core-linux-arm64-musl': 1.15.46 + '@swc/core-linux-ppc64-gnu': 1.15.46 + '@swc/core-linux-s390x-gnu': 1.15.46 + '@swc/core-linux-x64-gnu': 1.15.46 + '@swc/core-linux-x64-musl': 1.15.46 + '@swc/core-win32-arm64-msvc': 1.15.46 + '@swc/core-win32-ia32-msvc': 1.15.46 + '@swc/core-win32-x64-msvc': 1.15.46 + '@swc/helpers': 0.5.23 + + '@swc/counter@0.1.3': {} + + '@swc/helpers@0.5.23': dependencies: tslib: 2.8.1 + '@swc/types@0.1.27': + dependencies: + '@swc/counter': 0.1.3 + '@szmarczak/http-timer@1.1.2': dependencies: defer-to-connect: 1.1.3 @@ -22257,623 +17705,497 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tailwindcss/node@4.3.0': + '@tailwindcss/node@4.3.3': dependencies: '@jridgewell/remapping': 2.3.5 - enhanced-resolve: 5.21.6 + enhanced-resolve: 5.24.3 jiti: 2.7.0 lightningcss: 1.32.0 magic-string: 0.30.21 source-map-js: 1.2.1 - tailwindcss: 4.3.0 + tailwindcss: 4.3.3 - '@tailwindcss/oxide-android-arm64@4.3.0': + '@tailwindcss/oxide-android-arm64@4.3.3': optional: true - '@tailwindcss/oxide-darwin-arm64@4.3.0': + '@tailwindcss/oxide-darwin-arm64@4.3.3': optional: true - '@tailwindcss/oxide-darwin-x64@4.3.0': + '@tailwindcss/oxide-darwin-x64@4.3.3': optional: true - '@tailwindcss/oxide-freebsd-x64@4.3.0': + '@tailwindcss/oxide-freebsd-x64@4.3.3': optional: true - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.3': optional: true - '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': + '@tailwindcss/oxide-linux-arm64-gnu@4.3.3': optional: true - '@tailwindcss/oxide-linux-arm64-musl@4.3.0': + '@tailwindcss/oxide-linux-arm64-musl@4.3.3': optional: true - '@tailwindcss/oxide-linux-x64-gnu@4.3.0': + '@tailwindcss/oxide-linux-x64-gnu@4.3.3': optional: true - '@tailwindcss/oxide-linux-x64-musl@4.3.0': + '@tailwindcss/oxide-linux-x64-musl@4.3.3': optional: true - '@tailwindcss/oxide-wasm32-wasi@4.3.0': + '@tailwindcss/oxide-wasm32-wasi@4.3.3': optional: true - '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': + '@tailwindcss/oxide-win32-arm64-msvc@4.3.3': optional: true - '@tailwindcss/oxide-win32-x64-msvc@4.3.0': + '@tailwindcss/oxide-win32-x64-msvc@4.3.3': optional: true - '@tailwindcss/oxide@4.3.0': + '@tailwindcss/oxide@4.3.3': optionalDependencies: - '@tailwindcss/oxide-android-arm64': 4.3.0 - '@tailwindcss/oxide-darwin-arm64': 4.3.0 - '@tailwindcss/oxide-darwin-x64': 4.3.0 - '@tailwindcss/oxide-freebsd-x64': 4.3.0 - '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.0 - '@tailwindcss/oxide-linux-arm64-gnu': 4.3.0 - '@tailwindcss/oxide-linux-arm64-musl': 4.3.0 - '@tailwindcss/oxide-linux-x64-gnu': 4.3.0 - '@tailwindcss/oxide-linux-x64-musl': 4.3.0 - '@tailwindcss/oxide-wasm32-wasi': 4.3.0 - '@tailwindcss/oxide-win32-arm64-msvc': 4.3.0 - '@tailwindcss/oxide-win32-x64-msvc': 4.3.0 - - '@tailwindcss/vite@4.3.0(vite@8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))': - dependencies: - '@tailwindcss/node': 4.3.0 - '@tailwindcss/oxide': 4.3.0 - tailwindcss: 4.3.0 - vite: 8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) + '@tailwindcss/oxide-android-arm64': 4.3.3 + '@tailwindcss/oxide-darwin-arm64': 4.3.3 + '@tailwindcss/oxide-darwin-x64': 4.3.3 + '@tailwindcss/oxide-freebsd-x64': 4.3.3 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.3 + '@tailwindcss/oxide-linux-arm64-gnu': 4.3.3 + '@tailwindcss/oxide-linux-arm64-musl': 4.3.3 + '@tailwindcss/oxide-linux-x64-gnu': 4.3.3 + '@tailwindcss/oxide-linux-x64-musl': 4.3.3 + '@tailwindcss/oxide-wasm32-wasi': 4.3.3 + '@tailwindcss/oxide-win32-arm64-msvc': 4.3.3 + '@tailwindcss/oxide-win32-x64-msvc': 4.3.3 - '@tailwindcss/vite@4.3.0(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))': + '@tailwindcss/vite@4.3.3(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))': dependencies: - '@tailwindcss/node': 4.3.0 - '@tailwindcss/oxide': 4.3.0 - tailwindcss: 4.3.0 - vite: 8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) + '@tailwindcss/node': 4.3.3 + '@tailwindcss/oxide': 4.3.3 + tailwindcss: 4.3.3 + vite: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) - '@takumi-rs/core-darwin-arm64@1.6.0': + '@takumi-rs/core-darwin-arm64@2.4.1': optional: true - '@takumi-rs/core-darwin-x64@1.6.0': + '@takumi-rs/core-darwin-x64@2.4.1': optional: true - '@takumi-rs/core-linux-arm64-gnu@1.6.0': + '@takumi-rs/core-linux-arm64-gnu@2.4.1': optional: true - '@takumi-rs/core-linux-arm64-musl@1.6.0': + '@takumi-rs/core-linux-arm64-musl@2.4.1': optional: true - '@takumi-rs/core-linux-x64-gnu@1.6.0': + '@takumi-rs/core-linux-x64-gnu@2.4.1': optional: true - '@takumi-rs/core-linux-x64-musl@1.6.0': + '@takumi-rs/core-linux-x64-musl@2.4.1': optional: true - '@takumi-rs/core-win32-arm64-msvc@1.6.0': + '@takumi-rs/core-win32-arm64-msvc@2.4.1': optional: true - '@takumi-rs/core-win32-x64-msvc@1.6.0': + '@takumi-rs/core-win32-x64-msvc@2.4.1': optional: true - '@takumi-rs/core@1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@takumi-rs/core@2.4.1(csstype@3.2.3)(preact@10.29.0)(react@19.2.8)': dependencies: - '@takumi-rs/helpers': 1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@takumi-rs/helpers': 2.4.1(preact@10.29.0)(react@19.2.8) optionalDependencies: - '@takumi-rs/core-darwin-arm64': 1.6.0 - '@takumi-rs/core-darwin-x64': 1.6.0 - '@takumi-rs/core-linux-arm64-gnu': 1.6.0 - '@takumi-rs/core-linux-arm64-musl': 1.6.0 - '@takumi-rs/core-linux-x64-gnu': 1.6.0 - '@takumi-rs/core-linux-x64-musl': 1.6.0 - '@takumi-rs/core-win32-arm64-msvc': 1.6.0 - '@takumi-rs/core-win32-x64-msvc': 1.6.0 + '@takumi-rs/core-darwin-arm64': 2.4.1 + '@takumi-rs/core-darwin-x64': 2.4.1 + '@takumi-rs/core-linux-arm64-gnu': 2.4.1 + '@takumi-rs/core-linux-arm64-musl': 2.4.1 + '@takumi-rs/core-linux-x64-gnu': 2.4.1 + '@takumi-rs/core-linux-x64-musl': 2.4.1 + '@takumi-rs/core-win32-arm64-msvc': 2.4.1 + '@takumi-rs/core-win32-x64-msvc': 2.4.1 + csstype: 3.2.3 transitivePeerDependencies: + - preact - react - - react-dom - '@takumi-rs/helpers@1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@takumi-rs/helpers@2.4.1(preact@10.29.0)(react@19.2.8)': optionalDependencies: - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + preact: 10.29.0 + react: 19.2.8 - '@takumi-rs/image-response@1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@takumi-rs/image-response@2.4.1(csstype@3.2.3)(preact@10.29.0)(react@19.2.8)': dependencies: - takumi-js: 1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + takumi-js: 2.4.1(csstype@3.2.3)(preact@10.29.0)(react@19.2.8) transitivePeerDependencies: + - csstype + - preact - react - - react-dom - '@takumi-rs/wasm@1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@takumi-rs/wasm@2.4.1(csstype@3.2.3)(preact@10.29.0)(react@19.2.8)': dependencies: - '@takumi-rs/helpers': 1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@takumi-rs/helpers': 2.4.1(preact@10.29.0)(react@19.2.8) + optionalDependencies: + csstype: 3.2.3 transitivePeerDependencies: + - preact - react - - react-dom - '@tanstack/devtools-client@0.0.6': + '@tanstack/devtools-client@0.0.8': dependencies: - '@tanstack/devtools-event-client': 0.4.3 + '@tanstack/devtools-event-client': 0.5.0 - '@tanstack/devtools-event-bus@0.4.1': + '@tanstack/devtools-event-bus@0.4.2': dependencies: - ws: 8.20.0 + ws: 8.21.1 transitivePeerDependencies: - bufferutil - utf-8-validate - '@tanstack/devtools-event-client@0.4.3': {} + '@tanstack/devtools-event-client@0.5.0': {} - '@tanstack/devtools-ui@0.5.1(csstype@3.2.3)(solid-js@1.9.12)': + '@tanstack/devtools-ui@0.6.0(csstype@3.2.3)(solid-js@1.9.12)': dependencies: clsx: 2.1.1 - dayjs: 1.11.19 - goober: 2.1.18(csstype@3.2.3) + dayjs: 1.11.21 + goober: 2.1.19(csstype@3.2.3) solid-js: 1.9.12 transitivePeerDependencies: - csstype - '@tanstack/devtools-vite@0.6.0(vite@8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))': + '@tanstack/devtools-vite@0.8.1(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))': dependencies: - '@babel/core': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/parser': 7.29.2 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - '@tanstack/devtools-client': 0.0.6 - '@tanstack/devtools-event-bus': 0.4.1 + '@tanstack/devtools-client': 0.0.8 + '@tanstack/devtools-event-bus': 0.4.2 chalk: 5.6.2 - launch-editor: 2.13.2 - picomatch: 4.0.4 - vite: 8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) + launch-editor: 2.14.1 + magic-string: 0.30.21 + oxc-parser: 0.120.0(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + picomatch: 4.0.5 + vite: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' - bufferutil - - supports-color - utf-8-validate - '@tanstack/devtools@0.11.1(csstype@3.2.3)(solid-js@1.9.12)': + '@tanstack/devtools@0.12.5(csstype@3.2.3)(solid-js@1.9.12)': dependencies: - '@solid-primitives/event-listener': 2.4.5(solid-js@1.9.12) - '@solid-primitives/keyboard': 1.3.5(solid-js@1.9.12) - '@solid-primitives/resize-observer': 2.1.5(solid-js@1.9.12) - '@tanstack/devtools-client': 0.0.6 - '@tanstack/devtools-event-bus': 0.4.1 - '@tanstack/devtools-ui': 0.5.1(csstype@3.2.3)(solid-js@1.9.12) + '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.12) + '@solid-primitives/keyboard': 1.3.7(solid-js@1.9.12) + '@solid-primitives/resize-observer': 2.2.0(solid-js@1.9.12) + '@tanstack/devtools-client': 0.0.8 + '@tanstack/devtools-event-bus': 0.4.2 + '@tanstack/devtools-ui': 0.6.0(csstype@3.2.3)(solid-js@1.9.12) clsx: 2.1.1 - goober: 2.1.18(csstype@3.2.3) + goober: 2.1.19(csstype@3.2.3) solid-js: 1.9.12 transitivePeerDependencies: - bufferutil - csstype - utf-8-validate - '@tanstack/eslint-config@0.4.0(@typescript-eslint/utils@8.58.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)': + '@tanstack/eslint-config@0.4.0(@typescript-eslint/utils@8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2))(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2)': dependencies: - '@eslint/js': 10.0.1(eslint@8.57.1) - '@stylistic/eslint-plugin': 5.10.0(eslint@8.57.1) - eslint: 8.57.1 - eslint-plugin-import-x: 4.16.2(@typescript-eslint/utils@8.58.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1) - eslint-plugin-n: 17.24.0(eslint@8.57.1)(typescript@5.9.3) - globals: 17.4.0 - typescript-eslint: 8.58.0(eslint@8.57.1)(typescript@5.9.3) - vue-eslint-parser: 10.4.0(eslint@8.57.1) + '@eslint/js': 10.0.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2)) + '@stylistic/eslint-plugin': 5.10.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2)) + eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2) + eslint-plugin-import-x: 4.17.1(@typescript-eslint/utils@8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2))(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2) + eslint-plugin-n: 17.24.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(typescript@7.0.2) + globals: 17.7.0 + typescript-eslint: 8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2) + vue-eslint-parser: 10.4.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2) transitivePeerDependencies: - '@typescript-eslint/utils' - eslint-import-resolver-node - supports-color - typescript - '@tanstack/history@1.161.6': {} - '@tanstack/history@1.162.0': {} - '@tanstack/query-core@5.95.2': {} + '@tanstack/query-core@5.101.4': {} - '@tanstack/react-devtools@0.10.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(csstype@3.2.3)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(solid-js@1.9.12)': + '@tanstack/react-devtools@0.10.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(csstype@3.2.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(solid-js@1.9.12)': dependencies: - '@tanstack/devtools': 0.11.1(csstype@3.2.3)(solid-js@1.9.12) - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@tanstack/devtools': 0.12.5(csstype@3.2.3)(solid-js@1.9.12) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: - bufferutil - csstype - solid-js - utf-8-validate - '@tanstack/react-query@5.95.2(react@19.2.4)': - dependencies: - '@tanstack/query-core': 5.95.2 - react: 19.2.4 - - '@tanstack/react-query@5.95.2(react@19.2.6)': - dependencies: - '@tanstack/query-core': 5.95.2 - react: 19.2.6 - - '@tanstack/react-router-devtools@1.166.13(@tanstack/react-router@1.168.13(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@tanstack/router-core@1.171.4)(csstype@3.2.3)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@tanstack/react-query@5.101.4(react@19.2.8)': dependencies: - '@tanstack/react-router': 1.168.13(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@tanstack/router-devtools-core': 1.167.3(@tanstack/router-core@1.171.4)(csstype@3.2.3) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - optionalDependencies: - '@tanstack/router-core': 1.171.4 - transitivePeerDependencies: - - csstype + '@tanstack/query-core': 5.101.4 + react: 19.2.8 - '@tanstack/react-router-devtools@1.166.13(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@tanstack/router-core@1.171.4)(csstype@3.2.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@tanstack/react-router-devtools@1.167.0(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@tanstack/router-core@1.171.15)(csstype@3.2.3)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@tanstack/react-router': 1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@tanstack/router-devtools-core': 1.167.3(@tanstack/router-core@1.171.4)(csstype@3.2.3) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@tanstack/react-router': 1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@tanstack/router-devtools-core': 1.168.0(@tanstack/router-core@1.171.15)(csstype@3.2.3) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@tanstack/router-core': 1.171.4 + '@tanstack/router-core': 1.171.15 transitivePeerDependencies: - csstype - '@tanstack/react-router-ssr-query@1.166.10(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.2.4))(@tanstack/react-router@1.168.13(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@tanstack/router-core@1.171.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@tanstack/react-router-ssr-query@1.167.1(@tanstack/query-core@5.101.4)(@tanstack/react-query@5.101.4(react@19.2.8))(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@tanstack/router-core@1.171.15)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@tanstack/query-core': 5.95.2 - '@tanstack/react-query': 5.95.2(react@19.2.4) - '@tanstack/react-router': 1.168.13(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@tanstack/router-ssr-query-core': 1.167.0(@tanstack/query-core@5.95.2)(@tanstack/router-core@1.171.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@tanstack/query-core': 5.101.4 + '@tanstack/react-query': 5.101.4(react@19.2.8) + '@tanstack/react-router': 1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@tanstack/router-ssr-query-core': 1.169.1(@tanstack/query-core@5.101.4)(@tanstack/router-core@1.171.15) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: - '@tanstack/router-core' - '@tanstack/react-router-ssr-query@1.166.10(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.2.6))(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@tanstack/router-core@1.171.4)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@tanstack/query-core': 5.95.2 - '@tanstack/react-query': 5.95.2(react@19.2.6) - '@tanstack/react-router': 1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@tanstack/router-ssr-query-core': 1.167.0(@tanstack/query-core@5.95.2)(@tanstack/router-core@1.171.4) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@tanstack/history': 1.162.0 + '@tanstack/react-store': 0.9.3(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@tanstack/router-core': 1.171.15 + isbot: 5.2.1 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + + '@tanstack/react-start-client@1.168.16(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@tanstack/react-router': 1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@tanstack/router-core': 1.171.15 + '@tanstack/start-client-core': 1.170.14 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + + '@tanstack/react-start-rsc@0.1.31(crossws@0.4.4(srvx@0.11.22))(esbuild@0.28.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(rolldown@1.2.0)(rollup@4.62.2)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3))': + dependencies: + '@tanstack/react-router': 1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@tanstack/router-core': 1.171.15 + '@tanstack/router-utils': 1.162.2(supports-color@10.2.2) + '@tanstack/start-client-core': 1.170.14 + '@tanstack/start-fn-stubs': 1.162.0 + '@tanstack/start-plugin-core': 1.171.24(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(crossws@0.4.4(srvx@0.11.22))(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.62.2)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)) + '@tanstack/start-server-core': 1.169.17(crossws@0.4.4(srvx@0.11.22)) + '@tanstack/start-storage-context': 1.167.17 + pathe: 2.0.3 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: - - '@tanstack/router-core' + - '@farmfe/core' + - '@rsbuild/core' + - bun-types-no-globals + - crossws + - esbuild + - rolldown + - rollup + - supports-color + - unloader + - vite + - vite-plugin-solid + - webpack - '@tanstack/react-router@1.168.13(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@tanstack/history': 1.161.6 - '@tanstack/react-store': 0.9.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@tanstack/router-core': 1.168.9 - isbot: 5.1.40 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - '@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@tanstack/history': 1.161.6 - '@tanstack/react-store': 0.9.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@tanstack/router-core': 1.168.9 - isbot: 5.1.40 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - '@tanstack/react-router@1.168.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@tanstack/history': 1.161.6 - '@tanstack/react-store': 0.9.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@tanstack/router-core': 1.168.5 - isbot: 5.1.40 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - '@tanstack/react-start-client@1.166.20(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@tanstack/react-router': 1.168.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@tanstack/router-core': 1.168.5 - '@tanstack/start-client-core': 1.167.5 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - '@tanstack/react-start-server@1.166.20(crossws@0.4.4(srvx@0.11.15))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': - dependencies: - '@tanstack/history': 1.161.6 - '@tanstack/react-router': 1.168.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@tanstack/router-core': 1.168.5 - '@tanstack/start-client-core': 1.167.5 - '@tanstack/start-server-core': 1.167.5(crossws@0.4.4(srvx@0.11.15)) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + '@tanstack/react-start-server@1.167.22(crossws@0.4.4(srvx@0.11.22))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + dependencies: + '@tanstack/react-router': 1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@tanstack/router-core': 1.171.15 + '@tanstack/start-server-core': 1.169.17(crossws@0.4.4(srvx@0.11.22)) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: - crossws - '@tanstack/react-start@1.167.10(crossws@0.4.4(srvx@0.11.15))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(webpack@5.103.0(esbuild@0.28.0))': + '@tanstack/react-start@1.168.32(crossws@0.4.4(srvx@0.11.22))(esbuild@0.28.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(rolldown@1.2.0)(rollup@4.62.2)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3))': dependencies: - '@tanstack/react-router': 1.168.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@tanstack/react-start-client': 1.166.20(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@tanstack/react-start-server': 1.166.20(crossws@0.4.4(srvx@0.11.15))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@tanstack/router-utils': 1.162.1 - '@tanstack/start-client-core': 1.167.5 - '@tanstack/start-plugin-core': 1.167.12(@tanstack/react-router@1.168.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(crossws@0.4.4(srvx@0.11.15))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(webpack@5.103.0(esbuild@0.28.0)) - '@tanstack/start-server-core': 1.167.5(crossws@0.4.4(srvx@0.11.15)) + '@tanstack/react-router': 1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@tanstack/react-start-client': 1.168.16(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@tanstack/react-start-rsc': 0.1.31(crossws@0.4.4(srvx@0.11.22))(esbuild@0.28.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(rolldown@1.2.0)(rollup@4.62.2)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)) + '@tanstack/react-start-server': 1.167.22(crossws@0.4.4(srvx@0.11.22))(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@tanstack/router-utils': 1.162.2(supports-color@10.2.2) + '@tanstack/start-client-core': 1.170.14 + '@tanstack/start-plugin-core': 1.171.24(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(crossws@0.4.4(srvx@0.11.22))(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.62.2)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)) + '@tanstack/start-server-core': 1.169.17(crossws@0.4.4(srvx@0.11.22)) pathe: 2.0.3 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - vite: 8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + optionalDependencies: + vite: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) transitivePeerDependencies: - - '@rsbuild/core' + - '@farmfe/core' + - '@rspack/core' + - bun-types-no-globals - crossws + - esbuild + - react-server-dom-rspack + - rolldown + - rollup - supports-color + - unloader - vite-plugin-solid - webpack - '@tanstack/react-store@0.9.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': - dependencies: - '@tanstack/store': 0.9.3 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - use-sync-external-store: 1.6.0(react@19.2.4) - - '@tanstack/react-store@0.9.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@tanstack/react-store@0.9.3(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: '@tanstack/store': 0.9.3 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - use-sync-external-store: 1.6.0(react@19.2.6) - - '@tanstack/router-core@1.168.5': - dependencies: - '@tanstack/history': 1.161.6 - cookie-es: 2.0.1 - seroval: 1.5.4 - seroval-plugins: 1.5.4(seroval@1.5.4) - - '@tanstack/router-core@1.168.7': - dependencies: - '@tanstack/history': 1.161.6 - cookie-es: 2.0.0 - seroval: 1.5.4 - seroval-plugins: 1.5.2(seroval@1.5.4) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + use-sync-external-store: 1.6.0(react@19.2.8) - '@tanstack/router-core@1.168.9': - dependencies: - '@tanstack/history': 1.161.6 - cookie-es: 2.0.1 - seroval: 1.5.4 - seroval-plugins: 1.5.4(seroval@1.5.4) - - '@tanstack/router-core@1.171.4': + '@tanstack/router-core@1.171.15': dependencies: '@tanstack/history': 1.162.0 cookie-es: 3.1.1 - seroval: 1.5.4 - seroval-plugins: 1.5.4(seroval@1.5.4) + seroval: 1.5.6 + seroval-plugins: 1.5.6(seroval@1.5.6) - '@tanstack/router-devtools-core@1.167.3(@tanstack/router-core@1.171.4)(csstype@3.2.3)': + '@tanstack/router-devtools-core@1.168.0(@tanstack/router-core@1.171.15)(csstype@3.2.3)': dependencies: - '@tanstack/router-core': 1.171.4 + '@tanstack/router-core': 1.171.15 clsx: 2.1.1 goober: 2.1.19(csstype@3.2.3) optionalDependencies: csstype: 3.2.3 - '@tanstack/router-generator@1.166.20': - dependencies: - '@tanstack/router-core': 1.168.5 - '@tanstack/router-utils': 1.161.6 - '@tanstack/virtual-file-routes': 1.161.7 - prettier: 3.8.3 - recast: 0.23.11 - source-map: 0.7.6 - tsx: 4.22.3 - zod: 3.25.76 - transitivePeerDependencies: - - supports-color - - '@tanstack/router-generator@1.166.22': + '@tanstack/router-generator@1.167.21(supports-color@10.2.2)': dependencies: - '@tanstack/router-core': 1.168.7 - '@tanstack/router-utils': 1.161.6 - '@tanstack/virtual-file-routes': 1.161.7 - prettier: 3.8.1 - recast: 0.23.11 - source-map: 0.7.6 - tsx: 4.21.0 - zod: 3.25.76 - transitivePeerDependencies: - - supports-color - - '@tanstack/router-plugin@1.167.10(@tanstack/react-router@1.168.13(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(webpack@5.103.0(esbuild@0.28.0))': - dependencies: - '@babel/core': 7.29.0 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - '@tanstack/router-core': 1.168.7 - '@tanstack/router-generator': 1.166.22 - '@tanstack/router-utils': 1.161.6 - '@tanstack/virtual-file-routes': 1.161.7 - chokidar: 3.6.0 - unplugin: 2.3.11 - zod: 3.25.76 - optionalDependencies: - '@tanstack/react-router': 1.168.13(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - vite: 8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) - webpack: 5.103.0(esbuild@0.28.0) - transitivePeerDependencies: - - supports-color - - '@tanstack/router-plugin@1.167.10(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(webpack@5.103.0(esbuild@0.28.0))': - dependencies: - '@babel/core': 7.29.0 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - '@tanstack/router-core': 1.168.7 - '@tanstack/router-generator': 1.166.22 - '@tanstack/router-utils': 1.161.6 - '@tanstack/virtual-file-routes': 1.161.7 - chokidar: 3.6.0 - unplugin: 2.3.11 - zod: 3.25.76 - optionalDependencies: - '@tanstack/react-router': 1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - vite: 8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) - webpack: 5.103.0(esbuild@0.28.0) + '@babel/types': 7.29.7 + '@tanstack/router-core': 1.171.15 + '@tanstack/router-utils': 1.162.2(supports-color@10.2.2) + '@tanstack/virtual-file-routes': 1.162.0 + jiti: 2.7.0 + magic-string: 0.30.21 + prettier: 3.9.6 + zod: 4.4.3 transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.167.7(@tanstack/react-router@1.168.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(webpack@5.103.0(esbuild@0.28.0))': - dependencies: - '@babel/core': 7.29.0 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - '@tanstack/router-core': 1.168.5 - '@tanstack/router-generator': 1.166.20 - '@tanstack/router-utils': 1.161.6 - '@tanstack/virtual-file-routes': 1.161.7 - chokidar: 3.6.0 - unplugin: 2.3.11 - zod: 3.25.76 + '@tanstack/router-plugin@1.168.23(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.62.2)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3))': + dependencies: + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + '@tanstack/router-core': 1.171.15 + '@tanstack/router-generator': 1.167.21(supports-color@10.2.2) + '@tanstack/router-utils': 1.162.2(supports-color@10.2.2) + chokidar: 5.0.0 + unplugin: 3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.62.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)) + zod: 4.4.3 optionalDependencies: - '@tanstack/react-router': 1.168.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - vite: 8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) - webpack: 5.103.0(esbuild@0.28.0) + '@tanstack/react-router': 1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + vite: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) + webpack: 5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3) transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - bun-types-no-globals + - esbuild + - rolldown + - rollup - supports-color + - unloader - '@tanstack/router-ssr-query-core@1.167.0(@tanstack/query-core@5.95.2)(@tanstack/router-core@1.171.4)': - dependencies: - '@tanstack/query-core': 5.95.2 - '@tanstack/router-core': 1.171.4 - - '@tanstack/router-utils@1.161.6': + '@tanstack/router-ssr-query-core@1.169.1(@tanstack/query-core@5.101.4)(@tanstack/router-core@1.171.15)': dependencies: - '@babel/core': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/parser': 7.29.2 - '@babel/types': 7.29.0 - ansis: 4.2.0 - babel-dead-code-elimination: 1.0.12 - diff: 8.0.4 - pathe: 2.0.3 - tinyglobby: 0.2.16 - transitivePeerDependencies: - - supports-color + '@tanstack/query-core': 5.101.4 + '@tanstack/router-core': 1.171.15 - '@tanstack/router-utils@1.162.1': + '@tanstack/router-utils@1.162.2(supports-color@10.2.2)': dependencies: - '@babel/core': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/parser': 7.29.3 - '@babel/types': 7.29.0 - ansis: 4.3.0 - babel-dead-code-elimination: 1.0.12 + '@babel/generator': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + ansis: 4.3.1 + babel-dead-code-elimination: 1.0.12(supports-color@10.2.2) diff: 8.0.4 pathe: 2.0.3 - tinyglobby: 0.2.16 + tinyglobby: 0.2.17 transitivePeerDependencies: - supports-color - '@tanstack/start-client-core@1.167.5': - dependencies: - '@tanstack/router-core': 1.168.5 - '@tanstack/start-fn-stubs': 1.161.6 - '@tanstack/start-storage-context': 1.166.19 - seroval: 1.5.4 - - '@tanstack/start-client-core@1.170.1': + '@tanstack/start-client-core@1.170.14': dependencies: - '@tanstack/router-core': 1.171.4 + '@tanstack/router-core': 1.171.15 '@tanstack/start-fn-stubs': 1.162.0 - '@tanstack/start-storage-context': 1.167.6 - seroval: 1.5.4 - - '@tanstack/start-fn-stubs@1.161.6': {} + '@tanstack/start-storage-context': 1.167.17 + seroval: 1.5.6 '@tanstack/start-fn-stubs@1.162.0': {} - '@tanstack/start-plugin-core@1.167.12(@tanstack/react-router@1.168.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(crossws@0.4.4(srvx@0.11.15))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(webpack@5.103.0(esbuild@0.28.0))': + '@tanstack/start-plugin-core@1.171.24(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(crossws@0.4.4(srvx@0.11.22))(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.62.2)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3))': dependencies: '@babel/code-frame': 7.27.1 - '@babel/core': 7.29.0 - '@babel/types': 7.29.0 - '@rolldown/pluginutils': 1.0.0-beta.40 - '@tanstack/router-core': 1.168.5 - '@tanstack/router-generator': 1.166.20 - '@tanstack/router-plugin': 1.167.7(@tanstack/react-router@1.168.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(webpack@5.103.0(esbuild@0.28.0)) - '@tanstack/router-utils': 1.161.6 - '@tanstack/start-client-core': 1.167.5 - '@tanstack/start-server-core': 1.167.5(crossws@0.4.4(srvx@0.11.15)) - cheerio: 1.2.0 - exsolve: 1.0.8 + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/types': 7.29.7 + '@tanstack/router-core': 1.171.15 + '@tanstack/router-generator': 1.167.21(supports-color@10.2.2) + '@tanstack/router-plugin': 1.168.23(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.62.2)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)) + '@tanstack/router-utils': 1.162.2(supports-color@10.2.2) + '@tanstack/start-server-core': 1.169.17(crossws@0.4.4(srvx@0.11.22)) + exsolve: 1.1.0 + lightningcss: 1.33.0 pathe: 2.0.3 - picomatch: 4.0.4 + picomatch: 4.0.5 + seroval: 1.5.6 source-map: 0.7.6 - srvx: 0.11.15 - tinyglobby: 0.2.16 + srvx: 0.11.22 + tinyglobby: 0.2.17 ufo: 1.6.4 - vite: 8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) - vitefu: 1.1.3(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)) + vitefu: 1.1.3(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) xmlbuilder2: 4.0.3 - zod: 3.25.76 + zod: 4.4.3 + optionalDependencies: + vite: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) transitivePeerDependencies: - - '@rsbuild/core' + - '@farmfe/core' + - '@rspack/core' - '@tanstack/react-router' + - bun-types-no-globals - crossws + - esbuild + - rolldown + - rollup - supports-color + - unloader - vite-plugin-solid - webpack - '@tanstack/start-server-core@1.167.5(crossws@0.4.4(srvx@0.11.15))': + '@tanstack/start-server-core@1.169.17(crossws@0.4.4(srvx@0.11.22))': dependencies: - '@tanstack/history': 1.161.6 - '@tanstack/router-core': 1.168.5 - '@tanstack/start-client-core': 1.167.5 - '@tanstack/start-storage-context': 1.166.19 - h3-v2: h3@2.0.1-rc.16(crossws@0.4.4(srvx@0.11.15)) - seroval: 1.5.4 + '@tanstack/history': 1.162.0 + '@tanstack/router-core': 1.171.15 + '@tanstack/start-client-core': 1.170.14 + '@tanstack/start-storage-context': 1.167.17 + fetchdts: 0.1.7 + h3-v2: h3@2.0.1-rc.20(crossws@0.4.4(srvx@0.11.22)) + seroval: 1.5.6 transitivePeerDependencies: - crossws - '@tanstack/start-static-server-functions@1.167.6(@tanstack/react-start@1.167.10(crossws@0.4.4(srvx@0.11.15))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(webpack@5.103.0(esbuild@0.28.0)))': + '@tanstack/start-static-server-functions@1.167.19(@tanstack/react-start@1.168.32(crossws@0.4.4(srvx@0.11.22))(esbuild@0.28.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(rolldown@1.2.0)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)))': dependencies: - '@tanstack/start-client-core': 1.170.1 - seroval: 1.5.4 + '@tanstack/start-client-core': 1.170.14 + seroval: 1.5.6 optionalDependencies: - '@tanstack/react-start': 1.167.10(crossws@0.4.4(srvx@0.11.15))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))(webpack@5.103.0(esbuild@0.28.0)) - - '@tanstack/start-storage-context@1.166.19': - dependencies: - '@tanstack/router-core': 1.168.5 + '@tanstack/react-start': 1.168.32(crossws@0.4.4(srvx@0.11.22))(esbuild@0.28.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(rolldown@1.2.0)(rollup@4.62.2)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)) - '@tanstack/start-storage-context@1.167.6': + '@tanstack/start-storage-context@1.167.17': dependencies: - '@tanstack/router-core': 1.171.4 + '@tanstack/router-core': 1.171.15 '@tanstack/store@0.9.3': {} - '@tanstack/virtual-core@3.13.23': {} + '@tanstack/virtual-core@3.17.5': {} - '@tanstack/virtual-file-routes@1.161.7': {} + '@tanstack/virtual-file-routes@1.162.0': {} - '@tanstack/vue-virtual@3.13.23(vue@3.5.31(typescript@5.9.3))': + '@tanstack/vue-virtual@3.13.33(vue@3.5.40(typescript@7.0.2))': dependencies: - '@tanstack/virtual-core': 3.13.23 - vue: 3.5.31(typescript@5.9.3) - - '@tanstack/vue-virtual@3.13.23(vue@3.5.31(typescript@6.0.3))': - dependencies: - '@tanstack/virtual-core': 3.13.23 - vue: 3.5.31(typescript@6.0.3) + '@tanstack/virtual-core': 3.17.5 + vue: 3.5.40(typescript@7.0.2) '@testing-library/dom@10.4.1': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/runtime': 7.29.2 + '@babel/code-frame': 7.29.7 + '@babel/runtime': 7.29.7 '@types/aria-query': 5.0.4 aria-query: 5.3.0 dom-accessibility-api: 0.5.16 @@ -22881,20 +18203,20 @@ snapshots: picocolors: 1.1.1 pretty-format: 27.5.1 - '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 '@testing-library/dom': 10.4.1 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) optionalDependencies: - '@types/react': 19.2.14 - '@types/react-dom': 19.2.3(@types/react@19.2.14) + '@types/react': 19.2.17 + '@types/react-dom': 19.2.3(@types/react@19.2.17) - '@tokenizer/inflate@0.4.1': + '@tokenizer/inflate@0.4.1(supports-color@10.2.2)': dependencies: - debug: 4.4.3 - token-types: 6.1.1 + debug: 4.4.3(supports-color@10.2.2) + token-types: 6.1.2 transitivePeerDependencies: - supports-color @@ -22921,7 +18243,7 @@ snapshots: dependencies: minimatch: 10.2.5 path-browserify: 1.0.1 - tinyglobby: 0.2.16 + tinyglobby: 0.2.17 '@tsconfig/node10@1.0.12': {} @@ -22931,30 +18253,25 @@ snapshots: '@tsconfig/node16@1.0.4': {} - '@turbo/darwin-64@2.9.10': - optional: true - - '@turbo/darwin-arm64@2.9.10': + '@turbo/darwin-64@2.10.5': optional: true - '@turbo/linux-64@2.9.10': + '@turbo/darwin-arm64@2.10.5': optional: true - '@turbo/linux-arm64@2.9.10': + '@turbo/linux-64@2.10.5': optional: true - '@turbo/windows-64@2.9.10': + '@turbo/linux-arm64@2.10.5': optional: true - '@turbo/windows-arm64@2.9.10': + '@turbo/windows-64@2.10.5': optional: true - '@tybys/wasm-util@0.10.1': - dependencies: - tslib: 2.8.1 + '@turbo/windows-arm64@2.10.5': optional: true - '@tybys/wasm-util@0.10.2': + '@tybys/wasm-util@0.10.3': dependencies: tslib: 2.8.1 optional: true @@ -22963,18 +18280,16 @@ snapshots: '@types/aria-query@5.0.4': {} - '@types/bintrees@1.0.6': {} - '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.19.15 + '@types/node': 26.1.1 '@types/cacheable-request@6.0.3': dependencies: - '@types/http-cache-semantics': 4.0.4 + '@types/http-cache-semantics': 4.2.0 '@types/keyv': 3.1.4 - '@types/node': 22.19.15 + '@types/node': 26.1.1 '@types/responselike': 1.0.3 '@types/chai@5.2.3': @@ -22982,31 +18297,21 @@ snapshots: '@types/deep-eql': 4.0.2 assertion-error: 2.0.1 - '@types/changelog-parser@2.8.4': {} - - '@types/command-line-args@5.2.3': {} + '@types/command-line-args@5.2.3': + optional: true - '@types/command-line-usage@5.0.4': {} + '@types/command-line-usage@5.0.4': + optional: true '@types/connect@3.4.38': dependencies: - '@types/node': 22.19.15 + '@types/node': 26.1.1 '@types/cookiejar@2.1.5': {} '@types/cors@2.8.19': dependencies: - '@types/node': 22.19.15 - - '@types/cross-spawn@6.0.6': - dependencies: - '@types/node': 22.19.15 - - '@types/death@1.1.5': {} - - '@types/debug@4.1.12': - dependencies: - '@types/ms': 2.1.0 + '@types/node': 26.1.1 '@types/debug@4.1.13': dependencies: @@ -23030,90 +18335,63 @@ snapshots: dependencies: '@types/estree': 1.0.9 - '@types/estree@0.0.39': {} - '@types/estree@1.0.9': {} - '@types/express-serve-static-core@4.19.7': + '@types/express-serve-static-core@5.1.2': dependencies: - '@types/node': 22.19.15 - '@types/qs': 6.14.0 + '@types/node': 26.1.1 + '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 - '@types/express@4.17.25': + '@types/express@5.0.6': dependencies: '@types/body-parser': 1.19.6 - '@types/express-serve-static-core': 4.19.7 - '@types/qs': 6.14.0 - '@types/serve-static': 1.15.10 + '@types/express-serve-static-core': 5.1.2 + '@types/serve-static': 2.2.0 '@types/figlet@1.7.0': {} - '@types/fs-extra@9.0.13': - dependencies: - '@types/node': 22.19.15 - - '@types/glossy@0.1.3': - dependencies: - '@types/node': 22.19.15 - '@types/har-format@1.2.16': {} - '@types/hast@3.0.4': + '@types/hast@3.0.5': dependencies: '@types/unist': 3.0.3 - '@types/http-cache-semantics@4.0.4': {} + '@types/http-cache-semantics@4.2.0': {} '@types/http-errors@2.0.5': {} - '@types/jquery@3.5.33': - dependencies: - '@types/sizzle': 2.3.10 - - '@types/jsesc@2.5.1': {} + '@types/jquery@4.0.1': {} '@types/json-schema@7.0.15': {} '@types/keyv@3.1.4': dependencies: - '@types/node': 22.19.15 - - '@types/line-reader@0.0.34': - dependencies: - '@types/node': 22.19.15 - - '@types/long@4.0.2': {} - - '@types/marked@4.3.2': {} + '@types/node': 26.1.1 '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 - '@types/mdx@2.0.13': {} + '@types/mdx@2.0.14': {} '@types/methods@1.1.4': {} - '@types/mime@1.3.5': {} - - '@types/mime@3.0.4': {} - '@types/minimist@1.2.5': {} '@types/ms@2.1.0': {} - '@types/node-red-node-test-helper@0.2.3': + '@types/node-red-node-test-helper@0.3.5': dependencies: '@types/node-red': 1.3.5 '@types/node-red__runtime': 1.3.8 - '@types/sinon': 10.0.20 - '@types/supertest': 2.0.16 + '@types/sinon': 22.0.0 + '@types/supertest': 7.2.1 '@types/node-red@1.3.5': dependencies: - '@types/express': 4.17.25 + '@types/express': 5.0.6 '@types/node-red__editor-api': 1.3.5 '@types/node-red__editor-client': 1.3.11 '@types/node-red__registry': 1.3.11 @@ -23122,27 +18400,27 @@ snapshots: '@types/node-red__editor-api@1.3.5': dependencies: - '@types/express': 4.17.25 + '@types/express': 5.0.6 '@types/node-red__runtime': 1.3.8 '@types/node-red__editor-client@1.3.11': dependencies: '@types/ace': 0.0.52 - '@types/jquery': 3.5.33 + '@types/jquery': 4.0.1 '@types/node-red__registry': 1.3.11 '@types/node-red__runtime': 1.3.8 '@types/node-red__util': 1.3.8 '@types/node-red__registry@1.3.11': dependencies: - '@types/express': 4.17.25 + '@types/express': 5.0.6 '@types/node-red__runtime': 1.3.8 '@types/node-red__util': 1.3.8 '@types/node-red__runtime@1.3.8': dependencies: '@types/cors': 2.8.19 - '@types/express': 4.17.25 + '@types/express': 5.0.6 '@types/node-red__editor-api': 1.3.5 '@types/node-red__util': 1.3.8 '@types/passport': 1.0.17 @@ -23155,120 +18433,90 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@20.19.26': + '@types/node@24.13.3': dependencies: - undici-types: 6.21.0 + undici-types: 7.18.2 - '@types/node@22.19.15': + '@types/node@26.1.1': dependencies: - undici-types: 6.21.0 - - '@types/node@24.12.4': - dependencies: - undici-types: 7.16.0 - - '@types/node@25.9.1': - dependencies: - undici-types: 7.24.6 + undici-types: 8.3.0 '@types/normalize-package-data@2.4.4': {} - '@types/parse-json@4.0.2': {} - '@types/passport@1.0.17': dependencies: - '@types/express': 4.17.25 + '@types/express': 5.0.6 '@types/pidusage@2.0.5': {} - '@types/prop-types@15.7.15': {} + '@types/q@1.5.8': + optional: true - '@types/q@1.5.8': {} + '@types/qrcode@1.5.6': + dependencies: + '@types/node': 26.1.1 - '@types/qs@6.14.0': {} + '@types/qs@6.15.1': {} '@types/range-parser@1.2.7': {} - '@types/react-dom@19.2.3(@types/react@19.2.14)': + '@types/react-dom@19.2.3(@types/react@19.2.17)': dependencies: - '@types/react': 19.2.14 + '@types/react': 19.2.17 - '@types/react-dom@19.2.3(@types/react@19.2.15)': - dependencies: - '@types/react': 19.2.15 - - '@types/react@18.3.28': - dependencies: - '@types/prop-types': 15.7.15 - csstype: 3.2.3 - - '@types/react@19.2.14': + '@types/react@19.2.17': dependencies: csstype: 3.2.3 - '@types/react@19.2.15': + '@types/readable-stream@4.0.24': dependencies: - csstype: 3.2.3 + '@types/node': 26.1.1 '@types/responselike@1.0.3': dependencies: - '@types/node': 22.19.15 - - '@types/send@0.17.6': - dependencies: - '@types/mime': 1.3.5 - '@types/node': 22.19.15 + '@types/node': 26.1.1 '@types/send@1.2.1': dependencies: - '@types/node': 22.19.15 + '@types/node': 26.1.1 - '@types/serve-static@1.15.10': + '@types/serve-static@2.2.0': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 22.19.15 - '@types/send': 0.17.6 + '@types/node': 26.1.1 - '@types/shelljs@0.8.17': - dependencies: - '@types/node': 22.19.15 - glob: 11.1.0 - - '@types/sinon@10.0.20': + '@types/sinon@22.0.0': dependencies: '@types/sinonjs__fake-timers': 15.0.1 '@types/sinonjs__fake-timers@15.0.1': {} - '@types/sizzle@2.3.10': {} - - '@types/statuses@2.0.6': {} + '@types/statuses@2.0.6': + optional: true - '@types/superagent@8.1.9': + '@types/superagent@8.1.11': dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 22.19.15 - form-data: 4.0.5 + '@types/node': 26.1.1 + form-data: 4.0.6 - '@types/supertest@2.0.16': + '@types/supertest@7.2.1': dependencies: - '@types/superagent': 8.1.9 + '@types/methods': 1.1.4 + '@types/superagent': 8.1.11 '@types/tar-fs@2.0.4': dependencies: - '@types/node': 22.19.15 + '@types/node': 26.1.1 '@types/tar-stream': 3.1.4 '@types/tar-stream@3.1.4': dependencies: - '@types/node': 22.19.15 + '@types/node': 26.1.1 '@types/triple-beam@1.3.5': {} - '@types/trusted-types@2.0.7': - optional: true - '@types/unist@2.0.11': {} '@types/unist@3.0.3': {} @@ -23279,412 +18527,392 @@ snapshots: '@types/web-bluetooth@0.0.21': {} - '@types/winston-syslog@2.4.4': - dependencies: - '@types/glossy': 0.1.3 - '@types/node': 22.19.15 - winston: 3.19.0 - winston-transport: 4.9.0 - '@types/ws@8.18.1': dependencies: - '@types/node': 22.19.15 + '@types/node': 26.1.1 '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.19.15 + '@types/node': 26.1.1 optional: true - '@typescript-eslint/eslint-plugin@8.58.0(@typescript-eslint/parser@8.58.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2))(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.58.0(eslint@8.57.1)(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.58.0 - '@typescript-eslint/type-utils': 8.58.0(eslint@8.57.1)(typescript@5.9.3) - '@typescript-eslint/utils': 8.58.0(eslint@8.57.1)(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.58.0 - eslint: 8.57.1 - ignore: 7.0.5 + '@typescript-eslint/parser': 8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2) + '@typescript-eslint/scope-manager': 8.65.0 + '@typescript-eslint/type-utils': 8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2) + '@typescript-eslint/utils': 8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2) + '@typescript-eslint/visitor-keys': 8.65.0 + eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2) + ignore: 7.0.6 natural-compare: 1.4.0 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.5.0(typescript@7.0.2) + typescript: 7.0.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.58.0(eslint@8.57.1)(typescript@5.9.3)': + '@typescript-eslint/parser@8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2)': dependencies: - '@typescript-eslint/scope-manager': 8.58.0 - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/typescript-estree': 8.58.0(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.58.0 - debug: 4.4.3 - eslint: 8.57.1 - typescript: 5.9.3 + '@typescript-eslint/scope-manager': 8.65.0 + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/typescript-estree': 8.65.0(supports-color@10.2.2)(typescript@7.0.2) + '@typescript-eslint/visitor-keys': 8.65.0 + debug: 4.4.3(supports-color@10.2.2) + eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2) + typescript: 7.0.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.58.0(typescript@5.9.3)': + '@typescript-eslint/project-service@8.65.0(supports-color@10.2.2)(typescript@7.0.2)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.58.0(typescript@5.9.3) - '@typescript-eslint/types': 8.58.0 - debug: 4.4.3 - typescript: 5.9.3 + '@typescript-eslint/tsconfig-utils': 8.65.0(typescript@7.0.2) + '@typescript-eslint/types': 8.65.0 + debug: 4.4.3(supports-color@10.2.2) + typescript: 7.0.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.58.0': + '@typescript-eslint/scope-manager@8.65.0': dependencies: - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/visitor-keys': 8.58.0 + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/visitor-keys': 8.65.0 - '@typescript-eslint/tsconfig-utils@8.58.0(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.65.0(typescript@7.0.2)': dependencies: - typescript: 5.9.3 + typescript: 7.0.2 - '@typescript-eslint/type-utils@8.58.0(eslint@8.57.1)(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2)': dependencies: - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/typescript-estree': 8.58.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.58.0(eslint@8.57.1)(typescript@5.9.3) - debug: 4.4.3 - eslint: 8.57.1 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/typescript-estree': 8.65.0(supports-color@10.2.2)(typescript@7.0.2) + '@typescript-eslint/utils': 8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2) + debug: 4.4.3(supports-color@10.2.2) + eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2) + ts-api-utils: 2.5.0(typescript@7.0.2) + typescript: 7.0.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.58.0': {} + '@typescript-eslint/types@8.65.0': {} - '@typescript-eslint/typescript-estree@8.58.0(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.65.0(supports-color@10.2.2)(typescript@7.0.2)': dependencies: - '@typescript-eslint/project-service': 8.58.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.58.0(typescript@5.9.3) - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/visitor-keys': 8.58.0 - debug: 4.4.3 + '@typescript-eslint/project-service': 8.65.0(supports-color@10.2.2)(typescript@7.0.2) + '@typescript-eslint/tsconfig-utils': 8.65.0(typescript@7.0.2) + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/visitor-keys': 8.65.0 + debug: 4.4.3(supports-color@10.2.2) minimatch: 10.2.5 - semver: 7.8.0 - tinyglobby: 0.2.16 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 + semver: 7.8.5 + tinyglobby: 0.2.17 + ts-api-utils: 2.5.0(typescript@7.0.2) + typescript: 7.0.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.58.0(eslint@8.57.1)(typescript@5.9.3)': + '@typescript-eslint/utils@8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) - '@typescript-eslint/scope-manager': 8.58.0 - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/typescript-estree': 8.58.0(typescript@5.9.3) - eslint: 8.57.1 - typescript: 5.9.3 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2)) + '@typescript-eslint/scope-manager': 8.65.0 + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/typescript-estree': 8.65.0(supports-color@10.2.2)(typescript@7.0.2) + eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2) + typescript: 7.0.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.58.0': + '@typescript-eslint/visitor-keys@8.65.0': dependencies: - '@typescript-eslint/types': 8.58.0 + '@typescript-eslint/types': 8.65.0 eslint-visitor-keys: 5.0.1 - '@ungap/structured-clone@1.3.1': {} + '@typescript/typescript-aix-ppc64@7.0.2': + optional: true - '@unhead/vue@2.1.12(vue@3.5.31(typescript@5.9.3))': - dependencies: - hookable: 6.1.0 - unhead: 2.1.12 - vue: 3.5.31(typescript@5.9.3) + '@typescript/typescript-darwin-arm64@7.0.2': + optional: true + + '@typescript/typescript-darwin-x64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-x64@7.0.2': + optional: true + + '@typescript/typescript-linux-arm64@7.0.2': + optional: true - '@unhead/vue@2.1.12(vue@3.5.31(typescript@6.0.3))': + '@typescript/typescript-linux-arm@7.0.2': + optional: true + + '@typescript/typescript-linux-loong64@7.0.2': + optional: true + + '@typescript/typescript-linux-mips64el@7.0.2': + optional: true + + '@typescript/typescript-linux-ppc64@7.0.2': + optional: true + + '@typescript/typescript-linux-riscv64@7.0.2': + optional: true + + '@typescript/typescript-linux-s390x@7.0.2': + optional: true + + '@typescript/typescript-linux-x64@7.0.2': + optional: true + + '@typescript/typescript-netbsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-netbsd-x64@7.0.2': + optional: true + + '@typescript/typescript-openbsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-openbsd-x64@7.0.2': + optional: true + + '@typescript/typescript-sunos-x64@7.0.2': + optional: true + + '@typescript/typescript-win32-arm64@7.0.2': + optional: true + + '@typescript/typescript-win32-x64@7.0.2': + optional: true + + '@ungap/structured-clone@1.3.3': {} + + '@unhead/vue@2.1.16(vue@3.5.40(typescript@7.0.2))': dependencies: - hookable: 6.1.0 - unhead: 2.1.12 - vue: 3.5.31(typescript@6.0.3) + hookable: 6.1.1 + unhead: 2.1.16 + vue: 3.5.40(typescript@7.0.2) + + '@unrs/resolver-binding-android-arm-eabi@1.12.2': + optional: true + + '@unrs/resolver-binding-android-arm64@1.12.2': + optional: true + + '@unrs/resolver-binding-darwin-arm64@1.12.2': + optional: true - '@unrs/resolver-binding-android-arm-eabi@1.11.1': + '@unrs/resolver-binding-darwin-x64@1.12.2': optional: true - '@unrs/resolver-binding-android-arm64@1.11.1': + '@unrs/resolver-binding-freebsd-x64@1.12.2': optional: true - '@unrs/resolver-binding-darwin-arm64@1.11.1': + '@unrs/resolver-binding-linux-arm-gnueabihf@1.12.2': optional: true - '@unrs/resolver-binding-darwin-x64@1.11.1': + '@unrs/resolver-binding-linux-arm-musleabihf@1.12.2': optional: true - '@unrs/resolver-binding-freebsd-x64@1.11.1': + '@unrs/resolver-binding-linux-arm64-gnu@1.12.2': optional: true - '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': + '@unrs/resolver-binding-linux-arm64-musl@1.12.2': optional: true - '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': + '@unrs/resolver-binding-linux-loong64-gnu@1.12.2': optional: true - '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': + '@unrs/resolver-binding-linux-loong64-musl@1.12.2': optional: true - '@unrs/resolver-binding-linux-arm64-musl@1.11.1': + '@unrs/resolver-binding-linux-ppc64-gnu@1.12.2': optional: true - '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': + '@unrs/resolver-binding-linux-riscv64-gnu@1.12.2': optional: true - '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': + '@unrs/resolver-binding-linux-riscv64-musl@1.12.2': optional: true - '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': + '@unrs/resolver-binding-linux-s390x-gnu@1.12.2': optional: true - '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': + '@unrs/resolver-binding-linux-x64-gnu@1.12.2': optional: true - '@unrs/resolver-binding-linux-x64-gnu@1.11.1': + '@unrs/resolver-binding-linux-x64-musl@1.12.2': optional: true - '@unrs/resolver-binding-linux-x64-musl@1.11.1': + '@unrs/resolver-binding-openharmony-arm64@1.12.2': optional: true - '@unrs/resolver-binding-wasm32-wasi@1.11.1': + '@unrs/resolver-binding-wasm32-wasi@1.12.2': dependencies: - '@napi-rs/wasm-runtime': 0.2.12 + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': + '@unrs/resolver-binding-win32-arm64-msvc@1.12.2': optional: true - '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': + '@unrs/resolver-binding-win32-ia32-msvc@1.12.2': optional: true - '@unrs/resolver-binding-win32-x64-msvc@1.11.1': + '@unrs/resolver-binding-win32-x64-msvc@1.12.2': optional: true '@vercel/oidc@3.1.0': {} '@vercel/oidc@3.2.0': {} - '@vitejs/plugin-react@6.0.2(vite@8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))': - dependencies: - '@rolldown/pluginutils': 1.0.1 - vite: 8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) - - '@vitejs/plugin-react@6.0.2(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))': + '@vitejs/plugin-react@6.0.4(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) + vite: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) - '@vitest/expect@4.1.2': + '@vitest/expect@4.1.10': dependencies: '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.3 - '@vitest/spy': 4.1.2 - '@vitest/utils': 4.1.2 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.2(msw@2.12.14(@types/node@20.19.26)(typescript@5.9.3))(vite@8.0.13(@types/node@20.19.26)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0))': - dependencies: - '@vitest/spy': 4.1.2 - estree-walker: 3.0.3 - magic-string: 0.30.21 - optionalDependencies: - msw: 2.12.14(@types/node@20.19.26)(typescript@5.9.3) - vite: 8.0.13(@types/node@20.19.26)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0) - - '@vitest/mocker@4.1.2(msw@2.12.14(@types/node@22.19.15)(typescript@5.9.3))(vite@8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))': - dependencies: - '@vitest/spy': 4.1.2 - estree-walker: 3.0.3 - magic-string: 0.30.21 - optionalDependencies: - msw: 2.12.14(@types/node@22.19.15)(typescript@5.9.3) - vite: 8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) - - '@vitest/mocker@4.1.2(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0))': - dependencies: - '@vitest/spy': 4.1.2 - estree-walker: 3.0.3 - magic-string: 0.30.21 - optionalDependencies: - msw: 2.12.14(@types/node@25.9.1)(typescript@6.0.3) - vite: 8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0) - - '@vitest/mocker@4.1.2(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.8(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2))': + '@vitest/mocker@4.1.10(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))': dependencies: - '@vitest/spy': 4.1.2 + '@vitest/spy': 4.1.10 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - msw: 2.12.14(@types/node@25.9.1)(typescript@6.0.3) - vite: 8.0.8(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) + msw: 2.12.14(@types/node@26.1.1)(typescript@7.0.2) + vite: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) - '@vitest/pretty-format@4.1.2': + '@vitest/pretty-format@4.1.10': dependencies: tinyrainbow: 3.1.0 - '@vitest/runner@4.1.2': + '@vitest/runner@4.1.10': dependencies: - '@vitest/utils': 4.1.2 + '@vitest/utils': 4.1.10 pathe: 2.0.3 - '@vitest/snapshot@4.1.2': + '@vitest/snapshot@4.1.10': dependencies: - '@vitest/pretty-format': 4.1.2 - '@vitest/utils': 4.1.2 + '@vitest/pretty-format': 4.1.10 + '@vitest/utils': 4.1.10 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.1.2': {} + '@vitest/spy@4.1.10': {} - '@vitest/utils@4.1.2': + '@vitest/utils@4.1.10': dependencies: - '@vitest/pretty-format': 4.1.2 + '@vitest/pretty-format': 4.1.10 convert-source-map: 2.0.0 tinyrainbow: 3.1.0 - '@vue/compiler-core@3.5.31': + '@vue/compiler-core@3.5.40': dependencies: - '@babel/parser': 7.29.3 - '@vue/shared': 3.5.31 + '@babel/parser': 7.29.7 + '@vue/shared': 3.5.40 entities: 7.0.1 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.31': + '@vue/compiler-dom@3.5.40': dependencies: - '@vue/compiler-core': 3.5.31 - '@vue/shared': 3.5.31 + '@vue/compiler-core': 3.5.40 + '@vue/shared': 3.5.40 - '@vue/compiler-sfc@3.5.31': + '@vue/compiler-sfc@3.5.40': dependencies: - '@babel/parser': 7.29.3 - '@vue/compiler-core': 3.5.31 - '@vue/compiler-dom': 3.5.31 - '@vue/compiler-ssr': 3.5.31 - '@vue/shared': 3.5.31 + '@babel/parser': 7.29.7 + '@vue/compiler-core': 3.5.40 + '@vue/compiler-dom': 3.5.40 + '@vue/compiler-ssr': 3.5.40 + '@vue/shared': 3.5.40 estree-walker: 2.0.2 magic-string: 0.30.21 - postcss: 8.5.15 + postcss: 8.5.21 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.31': + '@vue/compiler-ssr@3.5.40': dependencies: - '@vue/compiler-dom': 3.5.31 - '@vue/shared': 3.5.31 + '@vue/compiler-dom': 3.5.40 + '@vue/shared': 3.5.40 - '@vue/devtools-api@6.6.4': {} - - '@vue/reactivity@3.5.31': + '@vue/reactivity@3.5.40': dependencies: - '@vue/shared': 3.5.31 + '@vue/shared': 3.5.40 - '@vue/runtime-core@3.5.31': + '@vue/runtime-core@3.5.40': dependencies: - '@vue/reactivity': 3.5.31 - '@vue/shared': 3.5.31 + '@vue/reactivity': 3.5.40 + '@vue/shared': 3.5.40 - '@vue/runtime-dom@3.5.31': + '@vue/runtime-dom@3.5.40': dependencies: - '@vue/reactivity': 3.5.31 - '@vue/runtime-core': 3.5.31 - '@vue/shared': 3.5.31 + '@vue/reactivity': 3.5.40 + '@vue/runtime-core': 3.5.40 + '@vue/shared': 3.5.40 csstype: 3.2.3 - '@vue/server-renderer@3.5.31(vue@3.5.31(typescript@5.9.3))': - dependencies: - '@vue/compiler-ssr': 3.5.31 - '@vue/shared': 3.5.31 - vue: 3.5.31(typescript@5.9.3) - - '@vue/server-renderer@3.5.31(vue@3.5.31(typescript@6.0.3))': + '@vue/server-renderer@3.5.40': dependencies: - '@vue/compiler-ssr': 3.5.31 - '@vue/shared': 3.5.31 - vue: 3.5.31(typescript@6.0.3) - - '@vue/shared@3.5.31': {} + '@vue/compiler-ssr': 3.5.40 + '@vue/runtime-dom': 3.5.40 + '@vue/shared': 3.5.40 - '@vueuse/core@10.11.1(vue@3.5.31(typescript@5.9.3))': - dependencies: - '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.11.1 - '@vueuse/shared': 10.11.1(vue@3.5.31(typescript@5.9.3)) - vue-demi: 0.14.10(vue@3.5.31(typescript@5.9.3)) - transitivePeerDependencies: - - '@vue/composition-api' - - vue + '@vue/shared@3.5.40': {} - '@vueuse/core@10.11.1(vue@3.5.31(typescript@6.0.3))': + '@vueuse/core@10.11.1(vue@3.5.40(typescript@7.0.2))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.1 - '@vueuse/shared': 10.11.1(vue@3.5.31(typescript@6.0.3)) - vue-demi: 0.14.10(vue@3.5.31(typescript@6.0.3)) + '@vueuse/shared': 10.11.1(vue@3.5.40(typescript@7.0.2)) + vue-demi: 0.14.10(vue@3.5.40(typescript@7.0.2)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/core@13.9.0(vue@3.5.31(typescript@5.9.3))': - dependencies: - '@types/web-bluetooth': 0.0.21 - '@vueuse/metadata': 13.9.0 - '@vueuse/shared': 13.9.0(vue@3.5.31(typescript@5.9.3)) - vue: 3.5.31(typescript@5.9.3) - - '@vueuse/core@13.9.0(vue@3.5.31(typescript@6.0.3))': + '@vueuse/core@13.9.0(vue@3.5.40(typescript@7.0.2))': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 13.9.0 - '@vueuse/shared': 13.9.0(vue@3.5.31(typescript@6.0.3)) - vue: 3.5.31(typescript@6.0.3) - - '@vueuse/integrations@13.9.0(axios@1.18.1)(focus-trap@7.8.0)(fuse.js@7.2.0)(qrcode@1.5.4)(vue@3.5.31(typescript@5.9.3))': - dependencies: - '@vueuse/core': 13.9.0(vue@3.5.31(typescript@5.9.3)) - '@vueuse/shared': 13.9.0(vue@3.5.31(typescript@5.9.3)) - vue: 3.5.31(typescript@5.9.3) - optionalDependencies: - axios: 1.18.1(debug@4.4.3) - focus-trap: 7.8.0 - fuse.js: 7.2.0 - qrcode: 1.5.4 + '@vueuse/shared': 13.9.0(vue@3.5.40(typescript@7.0.2)) + vue: 3.5.40(typescript@7.0.2) - '@vueuse/integrations@13.9.0(axios@1.18.1)(focus-trap@7.8.0)(fuse.js@7.2.0)(qrcode@1.5.4)(vue@3.5.31(typescript@6.0.3))': + '@vueuse/integrations@13.9.0(axios@1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(change-case@5.4.4)(focus-trap@7.8.0)(fuse.js@7.5.0)(qrcode@1.5.4)(vue@3.5.40(typescript@7.0.2))': dependencies: - '@vueuse/core': 13.9.0(vue@3.5.31(typescript@6.0.3)) - '@vueuse/shared': 13.9.0(vue@3.5.31(typescript@6.0.3)) - vue: 3.5.31(typescript@6.0.3) + '@vueuse/core': 13.9.0(vue@3.5.40(typescript@7.0.2)) + '@vueuse/shared': 13.9.0(vue@3.5.40(typescript@7.0.2)) + vue: 3.5.40(typescript@7.0.2) optionalDependencies: - axios: 1.18.1(debug@4.4.3) + axios: 1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2) + change-case: 5.4.4 focus-trap: 7.8.0 - fuse.js: 7.2.0 + fuse.js: 7.5.0 qrcode: 1.5.4 '@vueuse/metadata@10.11.1': {} '@vueuse/metadata@13.9.0': {} - '@vueuse/shared@10.11.1(vue@3.5.31(typescript@5.9.3))': - dependencies: - vue-demi: 0.14.10(vue@3.5.31(typescript@5.9.3)) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - - '@vueuse/shared@10.11.1(vue@3.5.31(typescript@6.0.3))': + '@vueuse/shared@10.11.1(vue@3.5.40(typescript@7.0.2))': dependencies: - vue-demi: 0.14.10(vue@3.5.31(typescript@6.0.3)) + vue-demi: 0.14.10(vue@3.5.40(typescript@7.0.2)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/shared@13.9.0(vue@3.5.31(typescript@5.9.3))': + '@vueuse/shared@13.9.0(vue@3.5.40(typescript@7.0.2))': dependencies: - vue: 3.5.31(typescript@5.9.3) - - '@vueuse/shared@13.9.0(vue@3.5.31(typescript@6.0.3))': - dependencies: - vue: 3.5.31(typescript@6.0.3) + vue: 3.5.40(typescript@7.0.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -23748,25 +18976,132 @@ snapshots: '@webassemblyjs/wasm-gen': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 - '@webassemblyjs/wasm-parser@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-api-error': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 + '@webassemblyjs/wasm-parser@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wast-printer@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + + '@workflow/serde@4.1.0': {} + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + '@yarnpkg/lockfile@1.1.0': {} + + '@yuku-analyzer/binding-darwin-arm64@0.6.12': + optional: true + + '@yuku-analyzer/binding-darwin-x64@0.6.12': + optional: true + + '@yuku-analyzer/binding-freebsd-x64@0.6.12': + optional: true + + '@yuku-analyzer/binding-linux-arm-gnu@0.6.12': + optional: true + + '@yuku-analyzer/binding-linux-arm-musl@0.6.12': + optional: true + + '@yuku-analyzer/binding-linux-arm64-gnu@0.6.12': + optional: true + + '@yuku-analyzer/binding-linux-arm64-musl@0.6.12': + optional: true + + '@yuku-analyzer/binding-linux-x64-gnu@0.6.12': + optional: true + + '@yuku-analyzer/binding-linux-x64-musl@0.6.12': + optional: true + + '@yuku-analyzer/binding-win32-arm64@0.6.12': + optional: true + + '@yuku-analyzer/binding-win32-x64@0.6.12': + optional: true + + '@yuku-codegen/binding-darwin-arm64@0.7.2': + optional: true + + '@yuku-codegen/binding-darwin-x64@0.7.2': + optional: true + + '@yuku-codegen/binding-freebsd-x64@0.7.2': + optional: true + + '@yuku-codegen/binding-linux-arm-gnu@0.7.2': + optional: true + + '@yuku-codegen/binding-linux-arm-musl@0.7.2': + optional: true + + '@yuku-codegen/binding-linux-arm64-gnu@0.7.2': + optional: true + + '@yuku-codegen/binding-linux-arm64-musl@0.7.2': + optional: true + + '@yuku-codegen/binding-linux-x64-gnu@0.7.2': + optional: true + + '@yuku-codegen/binding-linux-x64-musl@0.7.2': + optional: true + + '@yuku-codegen/binding-win32-arm64@0.7.2': + optional: true + + '@yuku-codegen/binding-win32-x64@0.7.2': + optional: true + + '@yuku-parser/binding-darwin-arm64@0.7.2': + optional: true + + '@yuku-parser/binding-darwin-x64@0.7.2': + optional: true + + '@yuku-parser/binding-freebsd-x64@0.7.2': + optional: true + + '@yuku-parser/binding-linux-arm-gnu@0.7.2': + optional: true + + '@yuku-parser/binding-linux-arm-musl@0.7.2': + optional: true + + '@yuku-parser/binding-linux-arm64-gnu@0.7.2': + optional: true + + '@yuku-parser/binding-linux-arm64-musl@0.7.2': + optional: true + + '@yuku-parser/binding-linux-x64-gnu@0.7.2': + optional: true - '@webassemblyjs/wast-printer@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@xtuc/long': 4.2.2 + '@yuku-parser/binding-linux-x64-musl@0.7.2': + optional: true - '@xtuc/ieee754@1.2.0': {} + '@yuku-parser/binding-win32-arm64@0.7.2': + optional: true - '@xtuc/long@4.2.2': {} + '@yuku-parser/binding-win32-x64@0.7.2': + optional: true - '@yarnpkg/lockfile@1.1.0': {} + '@yuku-toolchain/types@0.6.11': {} + + '@yuku-toolchain/types@0.6.8': {} + + '@yuku-toolchain/types@0.7.2': {} '@zeit/schemas@2.36.0': {} @@ -23786,49 +19121,30 @@ snapshots: mime-types: 3.0.2 negotiator: 1.0.0 - acorn-import-phases@1.0.4(acorn@8.16.0): + acorn-import-phases@1.0.4(acorn@8.17.0): dependencies: - acorn: 8.16.0 + acorn: 8.17.0 - acorn-jsx@5.3.2(acorn@8.16.0): + acorn-jsx@5.3.2(acorn@8.17.0): dependencies: - acorn: 8.16.0 + acorn: 8.17.0 - acorn-walk@8.1.0: {} - - acorn-walk@8.3.4: + acorn-walk@8.3.5: dependencies: - acorn: 8.16.0 - - acorn@8.15.0: {} + acorn: 8.17.0 acorn@8.16.0: {} - acorn@8.3.0: {} - - address@1.1.2: {} + acorn@8.17.0: {} - agent-base@6.0.2: + agent-base@6.0.2(supports-color@10.2.2): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color agent-base@7.1.4: {} - aggregate-error@4.0.1: - dependencies: - clean-stack: 4.2.0 - indent-string: 5.0.0 - - ai@6.0.187(zod@4.4.3): - dependencies: - '@ai-sdk/gateway': 3.0.118(zod@4.4.3) - '@ai-sdk/provider': 3.0.10 - '@ai-sdk/provider-utils': 4.0.27(zod@4.4.3) - '@opentelemetry/api': 1.9.1 - zod: 4.4.3 - ai@6.0.33(zod@4.4.3): dependencies: '@ai-sdk/gateway': 3.0.13(zod@4.4.3) @@ -23837,31 +19153,17 @@ snapshots: '@opentelemetry/api': 1.9.0 zod: 4.4.3 - airbnb-prop-types@2.16.0(react@16.14.0): + ai@7.0.34(zod@4.4.3): dependencies: - array.prototype.find: 2.2.3 - function.prototype.name: 1.1.8 - is-regex: 1.2.1 - object-is: 1.1.6 - object.assign: 4.1.7 - object.entries: 1.1.9 - prop-types: 15.8.1 - prop-types-exact: 1.2.7 - react: 16.14.0 - react-is: 16.13.1 - - ajv-draft-04@1.0.0(ajv@8.20.0): - optionalDependencies: - ajv: 8.20.0 + '@ai-sdk/gateway': 4.0.26(zod@4.4.3) + '@ai-sdk/provider': 4.0.3 + '@ai-sdk/provider-utils': 5.0.12(zod@4.4.3) + zod: 4.4.3 ajv-formats@2.1.1(ajv@8.20.0): optionalDependencies: ajv: 8.20.0 - ajv-formats@3.0.1(ajv@8.18.0): - optionalDependencies: - ajv: 8.18.0 - ajv-formats@3.0.1(ajv@8.20.0): optionalDependencies: ajv: 8.20.0 @@ -23871,20 +19173,6 @@ snapshots: ajv: 8.20.0 fast-deep-equal: 3.1.3 - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - - ajv@6.14.0: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - ajv@6.15.0: dependencies: fast-deep-equal: 3.1.3 @@ -23892,30 +19180,22 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.12.0: - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - ajv@8.18.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.2 + fast-uri: 3.1.4 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 ajv@8.20.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.2 + fast-uri: 3.1.4 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - alphanum-sort@1.0.2: {} - - already@2.2.1: {} + alphanum-sort@1.0.2: + optional: true amp-message@0.1.2: dependencies: @@ -23937,20 +19217,12 @@ snapshots: dependencies: environment: 1.1.0 - ansi-red@0.1.1: - dependencies: - ansi-wrap: 0.1.0 - - ansi-regex@2.1.1: {} - ansi-regex@4.1.1: {} ansi-regex@5.0.1: {} ansi-regex@6.2.2: {} - ansi-styles@2.2.1: {} - ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 @@ -23963,30 +19235,29 @@ snapshots: ansi-styles@6.2.3: {} - ansi-wrap@0.1.0: {} + ansis@4.0.0-node10: {} - ansis@4.2.0: {} - - ansis@4.3.0: {} + ansis@4.3.1: {} anymatch@3.1.3: dependencies: normalize-path: 3.0.0 - picomatch: 2.3.1 + picomatch: 2.3.2 apache-arrow@21.1.0: dependencies: - '@swc/helpers': 0.5.17 + '@swc/helpers': 0.5.23 '@types/command-line-args': 5.2.3 '@types/command-line-usage': 5.0.4 - '@types/node': 24.12.4 - command-line-args: 6.0.1 - command-line-usage: 7.0.3 + '@types/node': 24.13.3 + command-line-args: 6.0.2 + command-line-usage: 7.0.4 flatbuffers: 25.9.23 json-bignum: 0.0.3 tslib: 2.8.1 transitivePeerDependencies: - '@75lb/nature' + optional: true apache-crypt@1.2.6: dependencies: @@ -23996,21 +19267,8 @@ snapshots: append-field@1.0.0: {} - aproba@1.2.0: - optional: true - arch@2.2.0: {} - archive-type@4.0.0: - dependencies: - file-type: 4.4.0 - - are-we-there-yet@1.1.7: - dependencies: - delegates: 1.0.0 - readable-stream: 2.3.8 - optional: true - arg@4.1.3: {} arg@5.0.2: {} @@ -24029,116 +19287,54 @@ snapshots: dependencies: dequal: 2.0.3 - arr-diff@4.0.0: {} - - arr-flatten@1.1.0: {} - arr-union@3.1.0: {} - array-back@3.1.0: {} - array-back@4.0.2: {} - array-back@6.2.2: {} + array-back@6.2.3: + optional: true array-buffer-byte-length@1.0.2: dependencies: call-bound: 1.0.4 is-array-buffer: 3.0.5 - array-find-index@1.0.2: {} - array-flatten@1.1.1: {} - array-union@1.0.2: - dependencies: - array-uniq: 1.0.3 - array-union@2.1.0: {} array-uniq@1.0.3: {} - array-unique@0.3.2: {} - - array.prototype.filter@1.0.4: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.0 - es-array-method-boxes-properly: 1.0.0 - es-object-atoms: 1.1.1 - is-string: 1.1.1 - - array.prototype.find@2.2.3: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.0 - es-object-atoms: 1.1.1 - es-shim-unscopables: 1.1.0 - - array.prototype.flat@1.3.3: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.0 - es-shim-unscopables: 1.1.0 - - array.prototype.map@1.0.8: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-abstract: 1.24.0 - es-array-method-boxes-properly: 1.0.0 - es-object-atoms: 1.1.1 - is-string: 1.1.1 - array.prototype.reduce@1.0.8: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 es-array-method-boxes-properly: 1.0.0 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 is-string: 1.1.1 + optional: true arraybuffer.prototype.slice@1.0.4: dependencies: array-buffer-byte-length: 1.0.2 - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 es-errors: 1.3.0 get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 - arrgv@1.0.2: {} - arrify@1.0.1: {} arrify@2.0.1: {} - arrify@3.0.0: {} - - asn1@0.2.6: - dependencies: - safer-buffer: 2.1.2 - - assert-plus@1.0.0: {} + asap@2.0.6: {} assertion-error@2.0.1: {} - assign-symbols@1.0.0: {} - - ast-kit@3.0.0-beta.1: - dependencies: - '@babel/parser': 8.0.0-rc.3 - estree-walker: 3.0.3 - pathe: 2.0.3 - ast-types@0.13.4: dependencies: tslib: 2.8.1 @@ -24147,27 +19343,17 @@ snapshots: dependencies: tslib: 2.8.1 - astral-regex@2.0.0: {} - astring@1.9.0: {} async-function@1.0.0: {} - async-limiter@1.0.1: {} - - async-mutex@0.3.1: + async-mutex@0.5.0: dependencies: tslib: 2.8.1 - async-retry@1.3.3: - dependencies: - retry: 0.13.1 - - async@0.1.22: {} - async@2.6.4: dependencies: - lodash: 4.17.23 + lodash: 4.18.1 async@3.2.6: {} @@ -24177,184 +19363,88 @@ snapshots: atob@2.1.2: {} - auto-bind@5.0.1: {} - - auto-changelog@2.5.0: - dependencies: - commander: 7.2.0 - handlebars: 4.7.8 - import-cwd: 3.0.0 - node-fetch: 2.7.0 - parse-github-url: 1.0.3 - semver: 7.7.3 - transitivePeerDependencies: - - encoding - - autolinker@0.28.1: - dependencies: - gulp-header: 1.8.12 + atomically@1.7.0: {} - autolinker@3.16.2: - dependencies: - tslib: 2.8.1 + auto-bind@5.0.1: {} - autoprefixer@10.4.22(postcss@8.5.8): + autoprefixer@10.5.4(postcss@8.5.22): dependencies: - browserslist: 4.28.1 - caniuse-lite: 1.0.30001760 + browserslist: 4.28.6 + caniuse-lite: 1.0.30001806 fraction.js: 5.3.4 - normalize-range: 0.1.2 picocolors: 1.1.1 - postcss: 8.5.8 - postcss-value-parser: 4.2.0 - - autoprefixer@9.8.8: - dependencies: - browserslist: 4.28.1 - caniuse-lite: 1.0.30001760 - normalize-range: 0.1.2 - num2fraction: 1.2.2 - picocolors: 0.2.1 - postcss: 7.0.39 + postcss: 8.5.22 postcss-value-parser: 4.2.0 - ava@5.3.1: - dependencies: - acorn: 8.15.0 - acorn-walk: 8.3.4 - ansi-styles: 6.2.3 - arrgv: 1.0.2 - arrify: 3.0.0 - callsites: 4.2.0 - cbor: 8.1.0 - chalk: 5.6.2 - chokidar: 3.6.0 - chunkd: 2.0.1 - ci-info: 3.9.0 - ci-parallel-vars: 1.0.1 - clean-yaml-object: 0.1.0 - cli-truncate: 3.1.0 - code-excerpt: 4.0.0 - common-path-prefix: 3.0.0 - concordance: 5.0.4 - currently-unhandled: 0.4.1 - debug: 4.4.3 - emittery: 1.2.0 - figures: 5.0.0 - globby: 13.2.2 - ignore-by-default: 2.1.0 - indent-string: 5.0.0 - is-error: 2.2.2 - is-plain-object: 5.0.0 - is-promise: 4.0.0 - matcher: 5.0.0 - mem: 9.0.2 - ms: 2.1.3 - p-event: 5.0.1 - p-map: 5.5.0 - picomatch: 2.3.1 - pkg-conf: 4.0.0 - plur: 5.1.0 - pretty-ms: 8.0.0 - resolve-cwd: 3.0.0 - stack-utils: 2.0.6 - strip-ansi: 7.1.2 - supertap: 3.0.1 - temp-dir: 3.0.0 - write-file-atomic: 5.0.1 - yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 - awesome-ajv-errors@1.0.1(ajv@6.14.0): - dependencies: - ajv: 6.14.0 - chalk: 4.1.2 - jsonpointer: 4.1.0 - jsonpos: 1.1.0 - leven: 3.1.0 - terminal-link: 2.1.1 - - aws-sign2@0.7.0: {} - aws4@1.13.2: {} - axios@0.21.1(debug@4.4.3): + axios@0.21.4(debug@4.3.2(supports-color@10.2.2)): dependencies: - follow-redirects: 1.15.11(debug@4.4.3) + follow-redirects: 1.16.0(debug@4.3.2(supports-color@10.2.2)) transitivePeerDependencies: - debug - axios@0.21.4(debug@4.3.2): + axios@0.26.1(debug@4.3.2(supports-color@10.2.2)): dependencies: - follow-redirects: 1.15.11(debug@4.3.2) + follow-redirects: 1.16.0(debug@4.3.2(supports-color@10.2.2)) transitivePeerDependencies: - debug - axios@0.26.1(debug@4.4.3): + axios@1.16.0(debug@4.4.3(supports-color@10.2.2)): dependencies: - follow-redirects: 1.15.11(debug@4.4.3) + follow-redirects: 1.16.0(debug@4.4.3(supports-color@10.2.2)) + form-data: 4.0.6 + proxy-from-env: 2.1.0 transitivePeerDependencies: - debug - axios@1.18.1(debug@4.4.3): + axios@1.18.1(debug@4.3.2(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - follow-redirects: 1.16.0(debug@4.4.3) - form-data: 4.0.5 - https-proxy-agent: 5.0.1 + follow-redirects: 1.16.0(debug@4.3.2(supports-color@10.2.2)) + form-data: 4.0.6 + https-proxy-agent: 5.0.1(supports-color@10.2.2) proxy-from-env: 2.1.0 transitivePeerDependencies: - debug - supports-color - b4a@1.7.3: {} - - babel-dead-code-elimination@1.0.12: + axios@1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - '@babel/core': 7.29.0 - '@babel/parser': 7.29.3 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 + follow-redirects: 1.16.0(debug@4.4.3(supports-color@10.2.2)) + form-data: 4.0.6 + https-proxy-agent: 5.0.1(supports-color@10.2.2) + proxy-from-env: 2.1.0 transitivePeerDependencies: + - debug - supports-color - babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.5): - dependencies: - '@babel/compat-data': 7.28.5 - '@babel/core': 7.28.5 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color + b4a@1.7.3: {} - babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.5): - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) - core-js-compat: 3.47.0 - transitivePeerDependencies: - - supports-color + b4a@1.8.1: {} - babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.5): + babel-dead-code-elimination@1.0.12(supports-color@10.2.2): dependencies: - '@babel/core': 7.28.5 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/parser': 7.29.7 + '@babel/traverse': 7.29.7(supports-color@10.2.2) + '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color - babylon@6.18.0: {} - bail@2.0.2: {} balanced-match@1.0.2: {} balanced-match@4.0.4: {} - bare-events@2.8.2: {} + bare-events@2.8.2: + optional: true + + bare-events@2.9.1: {} bare-fs@4.5.2: dependencies: @@ -24368,6 +19458,17 @@ snapshots: - react-native-b4a optional: true + bare-fs@4.7.4: + dependencies: + bare-events: 2.9.1 + bare-path: 3.1.1 + bare-stream: 2.13.3(bare-events@2.9.1) + bare-url: 2.4.5 + fast-fifo: 1.3.2 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + bare-os@3.6.2: optional: true @@ -24376,6 +19477,18 @@ snapshots: bare-os: 3.6.2 optional: true + bare-path@3.1.1: {} + + bare-stream@2.13.3(bare-events@2.9.1): + dependencies: + b4a: 1.8.1 + streamx: 2.28.0 + teex: 1.0.1 + optionalDependencies: + bare-events: 2.9.1 + transitivePeerDependencies: + - react-native-b4a + bare-stream@2.7.0(bare-events@2.8.2): dependencies: streamx: 2.23.0 @@ -24391,53 +19504,25 @@ snapshots: bare-path: 3.0.0 optional: true + bare-url@2.4.5: + dependencies: + bare-path: 3.1.1 + base64-js@1.5.1: {} base64id@2.0.0: {} - base@0.11.2: - dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.1 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 - - baseline-browser-mapping@2.10.31: {} - - baseline-browser-mapping@2.9.6: {} + baseline-browser-mapping@2.10.44: {} basic-auth@2.0.1: dependencies: safe-buffer: 5.1.2 - basic-ftp@5.0.5: {} - - bcrypt-pbkdf@1.0.2: - dependencies: - tweetnacl: 0.14.5 - - bcrypt@3.0.6: - dependencies: - nan: 2.13.2 - node-pre-gyp: 0.12.0 - transitivePeerDependencies: - - supports-color - optional: true - - bcrypt@3.0.8: - dependencies: - nan: 2.14.0 - node-pre-gyp: 0.14.0 - transitivePeerDependencies: - - supports-color - optional: true + basic-ftp@5.3.1: {} bcryptjs@2.4.3: {} - before-after-hook@2.2.3: {} + bcryptjs@3.0.3: {} better-path-resolve@1.0.0: dependencies: @@ -24447,50 +19532,11 @@ snapshots: dependencies: require-from-string: 2.0.2 - big-integer@1.6.52: {} - - big.js@5.2.2: {} - - bin-build@3.0.0: - dependencies: - decompress: 4.2.1 - download: 6.2.5 - execa: 0.7.0 - p-map-series: 1.0.0 - tempfile: 2.0.0 - - bin-check@4.1.0: - dependencies: - execa: 0.7.0 - executable: 4.1.1 - - bin-version-check@4.0.0: - dependencies: - bin-version: 3.1.0 - semver: 5.7.2 - semver-truncate: 1.1.2 - - bin-version@3.1.0: - dependencies: - execa: 1.0.0 - find-versions: 3.2.0 - - bin-wrapper@4.1.0: - dependencies: - bin-check: 4.1.0 - bin-version-check: 4.0.0 - download: 7.1.0 - import-lazy: 3.1.0 - os-filter-obj: 2.0.0 - pify: 4.0.1 + big.js@5.2.2: + optional: true binary-extensions@2.3.0: {} - binary@0.3.0: - dependencies: - buffers: 0.1.1 - chainsaw: 0.1.0 - bindings@1.5.0: dependencies: file-uri-to-path: 1.0.0 @@ -24498,82 +19544,63 @@ snapshots: bintrees@1.0.2: {} - birpc@4.0.0: {} - - bl@1.2.3: - dependencies: - readable-stream: 2.3.8 - safe-buffer: 5.2.1 - - bl@4.1.0: + bl@6.1.6: dependencies: - buffer: 5.7.1 + '@types/readable-stream': 4.0.24 + buffer: 6.0.3 inherits: 2.0.4 - readable-stream: 3.6.2 + readable-stream: 4.7.0 blake3-wasm@2.1.5: {} - blessed@0.1.81: {} - - bluebird@3.4.7: {} - - blueimp-md5@2.19.0: {} - - bodec@0.1.0: {} - - body-parser@1.19.0: + body-parser@1.20.5(supports-color@10.2.2): dependencies: - bytes: 3.1.0 + bytes: 3.1.2 content-type: 1.0.5 - debug: 2.6.9 - depd: 1.1.2 - http-errors: 1.7.2 + debug: 2.6.9(supports-color@10.2.2) + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.1 iconv-lite: 0.4.24 - on-finished: 2.3.0 - qs: 6.7.0 - raw-body: 2.4.0 + on-finished: 2.4.1 + qs: 6.15.3 + raw-body: 2.5.3 type-is: 1.6.18 + unpipe: 1.0.0 transitivePeerDependencies: - supports-color - body-parser@1.20.4: + body-parser@1.20.6(supports-color@10.2.2): dependencies: bytes: 3.1.2 content-type: 1.0.5 - debug: 2.6.9 + debug: 2.6.9(supports-color@10.2.2) depd: 2.0.0 destroy: 1.2.0 http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.14.0 + qs: 6.15.3 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 transitivePeerDependencies: - supports-color - body-parser@2.2.2: + body-parser@2.3.0(supports-color@10.2.2): dependencies: bytes: 3.1.2 - content-type: 1.0.5 - debug: 4.4.3 + content-type: 2.0.0 + debug: 4.4.3(supports-color@10.2.2) http-errors: 2.0.1 - iconv-lite: 0.7.2 + iconv-lite: 0.7.3 on-finished: 2.4.1 - qs: 6.15.0 + qs: 6.15.3 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color - body@5.1.0: - dependencies: - continuable-cache: 0.3.1 - error: 7.2.1 - raw-body: 1.1.7 - safe-json-parse: 1.0.1 - boolbase@1.0.0: {} boxen@5.1.2: @@ -24598,81 +19625,49 @@ snapshots: widest-line: 4.0.1 wrap-ansi: 8.1.0 - brace-expansion@1.1.12: + boxen@8.0.1: dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 + ansi-align: 3.0.1 + camelcase: 8.0.0 + chalk: 5.6.2 + cli-boxes: 3.0.0 + string-width: 7.2.0 + type-fest: 4.41.0 + widest-line: 5.0.0 + wrap-ansi: 9.0.2 - brace-expansion@1.1.14: + brace-expansion@1.1.16: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.2: - dependencies: - balanced-match: 1.0.2 - - brace-expansion@5.0.5: + brace-expansion@5.0.7: dependencies: balanced-match: 4.0.4 - braces@2.3.2: - dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - braces@3.0.3: dependencies: fill-range: 7.1.1 - browserslist@4.14.2: + broker-factory@3.1.15: dependencies: - caniuse-lite: 1.0.30001760 - electron-to-chromium: 1.5.267 - escalade: 3.2.0 - node-releases: 1.1.77 - - browserslist@4.28.1: - dependencies: - baseline-browser-mapping: 2.9.6 - caniuse-lite: 1.0.30001760 - electron-to-chromium: 1.5.267 - node-releases: 2.0.27 - update-browserslist-db: 1.2.2(browserslist@4.28.1) - - browserslist@4.28.2: - dependencies: - baseline-browser-mapping: 2.10.31 - caniuse-lite: 1.0.30001793 - electron-to-chromium: 1.5.360 - node-releases: 2.0.44 - update-browserslist-db: 1.2.3(browserslist@4.28.2) - - buffer-alloc-unsafe@1.1.0: {} + '@babel/runtime': 7.29.7 + fast-unique-numbers: 9.0.27 + tslib: 2.8.1 + worker-factory: 7.0.50 - buffer-alloc@1.2.0: + browserslist@4.28.6: dependencies: - buffer-alloc-unsafe: 1.1.0 - buffer-fill: 1.0.0 + baseline-browser-mapping: 2.10.44 + caniuse-lite: 1.0.30001806 + electron-to-chromium: 1.5.394 + node-releases: 2.0.51 + update-browserslist-db: 1.2.3(browserslist@4.28.6) buffer-crc32@0.2.13: {} - buffer-fill@1.0.0: {} - buffer-from@1.1.2: {} - buffer-indexof-polyfill@1.0.2: {} - buffer@5.7.1: dependencies: base64-js: 1.5.1 @@ -24685,41 +19680,36 @@ snapshots: bufferhelper@0.2.1: {} - buffers@0.1.1: {} - bundle-name@4.1.0: dependencies: run-applescript: 7.1.0 - busboy@0.2.14: + busboy@1.6.0: dependencies: - dicer: 0.2.5 - readable-stream: 1.1.14 + streamsearch: 1.1.0 - bytes@1.0.0: {} + byte-counter@0.1.0: {} bytes@3.0.0: {} - bytes@3.1.0: {} - bytes@3.1.2: {} cac@7.0.0: {} - cache-base@1.0.1: - dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.1 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 - cacheable-lookup@5.0.4: {} + cacheable-lookup@7.0.0: {} + + cacheable-request@13.0.19: + dependencies: + '@types/http-cache-semantics': 4.2.0 + get-stream: 9.0.1 + http-cache-semantics: 4.2.0 + keyv: 5.6.0 + mimic-response: 4.0.0 + normalize-url: 8.1.1 + responselike: 4.0.2 + cacheable-request@2.1.4: dependencies: clone-response: 1.0.2 @@ -24755,7 +19745,7 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 - call-bind@1.0.8: + call-bind@1.0.9: dependencies: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 @@ -24767,61 +19757,49 @@ snapshots: call-bind-apply-helpers: 1.0.2 get-intrinsic: 1.3.0 - call-me-maybe@1.0.2: {} - - callback-stream@1.1.0: - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 - caller-callsite@2.0.0: dependencies: callsites: 2.0.0 + optional: true caller-path@2.0.0: dependencies: caller-callsite: 2.0.0 + optional: true - callsites@2.0.0: {} + callsites@2.0.0: + optional: true callsites@3.1.0: {} - callsites@4.2.0: {} - camel-case@4.1.2: dependencies: pascal-case: 3.1.2 tslib: 2.8.1 - camelcase-keys@2.1.0: - dependencies: - camelcase: 2.1.1 - map-obj: 1.0.1 - camelcase-keys@6.2.2: dependencies: camelcase: 5.3.1 map-obj: 4.3.0 quick-lru: 4.0.1 - camelcase@2.1.1: {} - camelcase@5.3.1: {} camelcase@6.3.0: {} camelcase@7.0.1: {} + camelcase@8.0.0: {} + caniuse-api@3.0.0: dependencies: - browserslist: 4.28.1 - caniuse-lite: 1.0.30001760 + browserslist: 4.28.6 + caniuse-lite: 1.0.30001806 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 + optional: true - caniuse-lite@1.0.30001760: {} - - caniuse-lite@1.0.30001793: {} + caniuse-lite@1.0.30001806: {} capital-case@1.0.4: dependencies: @@ -24829,19 +19807,6 @@ snapshots: tslib: 2.8.1 upper-case-first: 2.0.2 - caseless@0.12.0: {} - - caw@2.0.1: - dependencies: - get-proxy: 2.1.0 - isurl: 1.0.0 - tunnel-agent: 0.6.0 - url-to-options: 1.0.1 - - cbor@8.1.0: - dependencies: - nofilter: 3.1.0 - ccount@2.0.1: {} cfonts@2.10.1: @@ -24851,22 +19816,10 @@ snapshots: chai@6.2.2: {} - chainsaw@0.1.0: - dependencies: - traverse: 0.3.9 - chalk-template@0.4.0: dependencies: chalk: 4.1.2 - chalk@1.1.3: - dependencies: - ansi-styles: 2.2.1 - escape-string-regexp: 1.0.5 - has-ansi: 2.0.0 - strip-ansi: 3.0.1 - supports-color: 2.0.0 - chalk@2.4.2: dependencies: ansi-styles: 3.2.1 @@ -24902,10 +19855,8 @@ snapshots: snake-case: 3.0.4 tslib: 2.8.1 - changelog-parser@2.8.1: - dependencies: - line-reader: 0.2.4 - remove-markdown: 0.2.2 + change-case@5.4.4: + optional: true character-entities-html4@2.1.0: {} @@ -24915,79 +19866,27 @@ snapshots: character-reference-invalid@2.0.1: {} - chardet@0.7.0: {} - - chardet@2.1.1: {} - - charm@0.1.2: {} + chardet@2.2.0: {} charset@1.0.1: {} - cheerio-select@2.1.0: + cheerio-select@1.6.0: dependencies: - boolbase: 1.0.0 - css-select: 5.2.2 + css-select: 4.3.0 css-what: 6.2.2 domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - - cheerio@0.22.0: - dependencies: - css-select: 1.2.0 - dom-serializer: 0.1.1 - entities: 1.1.2 - htmlparser2: 3.10.1 - lodash.assignin: 4.2.0 - lodash.bind: 4.2.1 - lodash.defaults: 4.2.0 - lodash.filter: 4.6.0 - lodash.flatten: 4.4.0 - lodash.foreach: 4.5.0 - lodash.map: 4.6.0 - lodash.merge: 4.6.2 - lodash.pick: 4.4.0 - lodash.reduce: 4.6.0 - lodash.reject: 4.6.0 - lodash.some: 4.6.0 - - cheerio@1.0.0-rc.12: - dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - domutils: 3.2.2 - htmlparser2: 8.0.2 - parse5: 7.3.0 - parse5-htmlparser2-tree-adapter: 7.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 - cheerio@1.1.2: + cheerio@1.0.0-rc.10: dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - domutils: 3.2.2 - encoding-sniffer: 0.2.1 - htmlparser2: 10.0.0 - parse5: 7.3.0 - parse5-htmlparser2-tree-adapter: 7.1.0 - parse5-parser-stream: 7.1.2 - undici: 7.25.0 - whatwg-mimetype: 4.0.0 - - cheerio@1.2.0: - dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - domutils: 3.2.2 - encoding-sniffer: 0.2.1 - htmlparser2: 10.1.0 - parse5: 7.3.0 - parse5-htmlparser2-tree-adapter: 7.1.0 - parse5-parser-stream: 7.1.2 - undici: 7.25.0 - whatwg-mimetype: 4.0.0 + cheerio-select: 1.6.0 + dom-serializer: 1.4.1 + domhandler: 4.3.1 + htmlparser2: 6.1.0 + parse5: 6.0.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + tslib: 2.8.1 chokidar@3.6.0: dependencies: @@ -25001,25 +19900,27 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chokidar@4.0.3: - dependencies: - readdirp: 4.1.2 - chokidar@5.0.0: dependencies: readdirp: 5.0.0 - chownr@1.1.4: - optional: true + chownr@3.0.0: {} - chownr@2.0.0: {} + chrome-launcher@0.15.2(supports-color@10.2.2): + dependencies: + '@types/node': 26.1.1 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 1.4.2(supports-color@10.2.2) + transitivePeerDependencies: + - supports-color - chrome-launcher@0.15.2: + chrome-launcher@1.2.1(supports-color@10.2.2): dependencies: - '@types/node': 22.19.15 + '@types/node': 26.1.1 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 - lighthouse-logger: 1.4.2 + lighthouse-logger: 2.0.2(supports-color@10.2.2) transitivePeerDependencies: - supports-color @@ -25037,40 +19938,25 @@ snapshots: mitt: 3.0.1 zod: 3.25.76 - chunkd@2.0.1: {} + chromium-bidi@16.0.1(devtools-protocol@0.0.1638949): + dependencies: + devtools-protocol: 0.0.1638949 + mitt: 3.0.1 + zod: 3.25.76 ci-info@2.0.0: {} ci-info@3.9.0: {} - ci-parallel-vars@1.0.1: {} - - class-utils@0.3.6: - dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 - class-variance-authority@0.7.1: dependencies: clsx: 2.1.1 - classnames@2.5.1: {} - - clean-stack@4.2.0: - dependencies: - escape-string-regexp: 5.0.0 - - clean-yaml-object@0.1.0: {} - cli-boxes@2.2.1: {} cli-boxes@3.0.0: {} - cli-cursor@2.1.0: - dependencies: - restore-cursor: 2.0.0 + cli-boxes@4.0.1: {} cli-cursor@3.1.0: dependencies: @@ -25084,10 +19970,10 @@ snapshots: dependencies: restore-cursor: 5.1.0 - cli-spinners@1.3.1: {} - cli-spinners@2.9.2: {} + cli-spinners@3.4.0: {} + cli-table@0.3.11: dependencies: colors: 1.0.3 @@ -25096,19 +19982,13 @@ snapshots: dependencies: chalk: 3.0.0 - cli-truncate@3.1.0: - dependencies: - slice-ansi: 5.0.0 - string-width: 5.1.2 - - cli-truncate@4.0.0: + cli-truncate@6.1.1: dependencies: - slice-ansi: 5.0.0 - string-width: 7.2.0 - - cli-width@3.0.0: {} + slice-ansi: 9.0.0 + string-width: 8.2.2 - cli-width@4.1.0: {} + cli-width@4.1.0: + optional: true clipboardy@3.0.0: dependencies: @@ -25148,11 +20028,9 @@ snapshots: lazy-cache: 1.0.4 shallow-clone: 0.1.2 - clone-deep@4.0.1: + clone-regexp@3.0.0: dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 + is-regexp: 3.1.0 clone-response@1.0.2: dependencies: @@ -25162,42 +20040,35 @@ snapshots: dependencies: mimic-response: 1.0.1 - clone@1.0.4: {} - clone@2.1.2: {} cloudflared@0.5.3: {} + cloudflared@0.7.1: {} + clsx@2.1.1: {} + cluster-key-slot@1.1.1: {} + + cnfast@0.0.8: {} + coa@2.0.2: dependencies: '@types/q': 1.5.8 chalk: 2.4.2 q: 1.5.1 + optional: true code-block-writer@10.1.1: {} code-block-writer@13.0.3: {} - code-error-fragment@0.0.230: {} - code-excerpt@4.0.0: dependencies: convert-to-spaces: 2.0.1 - code-point-at@1.1.0: - optional: true - - coffee-script@1.12.7: {} - collapse-white-space@2.1.0: {} - collection-visit@1.0.0: - dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 - color-convert@1.9.3: dependencies: color-name: 1.1.3 @@ -25220,6 +20091,7 @@ snapshots: dependencies: color-name: 1.1.4 simple-swizzle: 0.2.4 + optional: true color-string@2.1.4: dependencies: @@ -25229,13 +20101,14 @@ snapshots: dependencies: color-convert: 1.9.3 color-string: 1.9.1 + optional: true color@5.0.3: dependencies: color-convert: 3.1.3 color-string: 2.1.4 - colorette@1.4.0: {} + colorette@2.0.20: {} colors@1.0.3: {} @@ -25249,19 +20122,13 @@ snapshots: command-exists@1.2.9: {} - command-line-args@5.2.1: - dependencies: - array-back: 3.1.0 - find-replace: 3.0.0 - lodash.camelcase: 4.3.0 - typical: 4.0.0 - - command-line-args@6.0.1: + command-line-args@6.0.2: dependencies: - array-back: 6.2.2 + array-back: 6.2.3 find-replace: 5.0.2 lodash.camelcase: 4.3.0 typical: 7.3.0 + optional: true command-line-usage@6.1.3: dependencies: @@ -25270,43 +20137,27 @@ snapshots: table-layout: 1.0.2 typical: 5.2.0 - command-line-usage@7.0.3: + command-line-usage@7.0.4: dependencies: - array-back: 6.2.2 + array-back: 6.2.3 chalk-template: 0.4.0 table-layout: 4.1.1 typical: 7.3.0 - - commander@11.0.0: {} + optional: true commander@11.1.0: {} - commander@12.1.0: {} - - commander@14.0.2: {} + commander@14.0.3: {} commander@2.15.1: {} commander@2.20.3: {} - commander@4.1.1: {} - - commander@5.1.0: {} - - commander@7.2.0: {} - commander@8.3.0: {} - comment-parser@1.4.6: {} + comment-parser@1.4.7: {} - commist@1.1.0: - dependencies: - leven: 2.1.0 - minimist: 1.2.8 - - common-path-prefix@3.0.0: {} - - commondir@1.0.1: {} + commist@3.2.0: {} component-emitter@1.3.1: {} @@ -25314,11 +20165,11 @@ snapshots: dependencies: mime-db: 1.54.0 - compression@1.8.1: + compression@1.8.1(supports-color@10.2.2): dependencies: bytes: 3.1.2 compressible: 2.0.18 - debug: 2.6.9 + debug: 2.6.9(supports-color@10.2.2) negotiator: 0.6.4 on-headers: 1.1.0 safe-buffer: 5.2.1 @@ -25344,37 +20195,27 @@ snapshots: readable-stream: 3.6.2 typedarray: 0.0.6 - concat-with-sourcemaps@1.1.0: - dependencies: - source-map: 0.6.1 - - concordance@5.0.4: + concurrently@10.0.3: dependencies: - date-time: 3.1.0 - esutils: 2.0.3 - fast-diff: 1.3.0 - js-string-escape: 1.0.1 - lodash: 4.17.21 - md5-hex: 3.0.1 - semver: 7.7.3 - well-known-symbols: 2.0.0 - - concurrently@7.6.0: - dependencies: - chalk: 4.1.2 - date-fns: 2.30.0 - lodash: 4.17.21 + chalk: 5.6.2 rxjs: 7.8.2 - shell-quote: 1.8.3 - spawn-command: 0.0.2 - supports-color: 8.1.1 + shell-quote: 1.8.4 + supports-color: 10.2.2 tree-kill: 1.2.2 - yargs: 17.7.2 + yargs: 18.0.0 - config-chain@1.1.13: + conf@10.2.0: dependencies: - ini: 1.3.8 - proto-list: 1.2.4 + ajv: 8.20.0 + ajv-formats: 2.1.1(ajv@8.20.0) + atomically: 1.7.0 + debounce-fn: 4.0.0 + dot-prop: 6.0.1 + env-paths: 2.2.1 + json-schema-typed: 7.0.3 + onetime: 5.1.2 + pkg-up: 3.1.0 + semver: 7.8.5 configstore@5.0.1: dependencies: @@ -25385,11 +20226,6 @@ snapshots: write-file-atomic: 3.0.3 xdg-basedir: 4.0.0 - console-control-strings@1.1.0: - optional: true - - console-stream@0.1.1: {} - constant-case@3.0.4: dependencies: no-case: 3.0.4 @@ -25398,21 +20234,15 @@ snapshots: content-disposition@0.5.2: {} - content-disposition@0.5.3: - dependencies: - safe-buffer: 5.1.2 - content-disposition@0.5.4: dependencies: safe-buffer: 5.2.1 content-disposition@1.1.0: {} - content-type@1.0.4: {} - content-type@1.0.5: {} - continuable-cache@0.3.1: {} + content-type@2.0.0: {} convert-hrtime@5.0.0: {} @@ -25420,15 +20250,11 @@ snapshots: convert-to-spaces@2.0.1: {} - cookie-es@2.0.0: {} - - cookie-es@2.0.1: {} - cookie-es@3.1.1: {} - cookie-parser@1.4.5: + cookie-parser@1.4.7: dependencies: - cookie: 0.4.0 + cookie: 0.7.2 cookie-signature: 1.0.6 cookie-signature@1.0.6: {} @@ -25437,10 +20263,6 @@ snapshots: cookie-signature@1.2.2: {} - cookie@0.4.0: {} - - cookie@0.4.1: {} - cookie@0.7.2: {} cookie@1.1.1: {} @@ -25452,59 +20274,15 @@ snapshots: depd: 2.0.0 keygrip: 1.1.0 - copy-descriptor@0.1.1: {} - copyfiles@2.4.1: dependencies: glob: 7.2.3 - minimatch: 3.1.2 + minimatch: 3.1.5 mkdirp: 1.0.4 noms: 0.0.0 through2: 2.0.5 untildify: 4.0.0 - yargs: 16.2.0 - - core-js-compat@3.47.0: - dependencies: - browserslist: 4.28.1 - - core-js@2.6.12: {} - - core-js@3.49.0: {} - - core-types-graphql@1.5.0: - dependencies: - core-types: 1.10.0 - graphql: 16.12.0 - - core-types-json-schema@1.7.0: - dependencies: - '@types/json-schema': 7.0.15 - core-types: 1.10.0 - jsonpos: 1.1.0 - openapi-json-schema: 1.1.3 - - core-types-suretype@2.0.0: - dependencies: - '@types/json-schema': 7.0.15 - core-types: 1.10.0 - core-types-json-schema: 1.7.0 - core-types-ts: 2.0.0 - json-schema-cycles: 1.1.0 - jsonpos: 1.1.0 - openapi-json-schema: 1.1.3 - suretype: 2.4.1 - toposort: 2.0.2 - typescript: 4.9.5 - - core-types-ts@2.0.0: - dependencies: - core-types: 1.10.0 - typescript: 4.9.5 - - core-types@1.10.0: {} - - core-util-is@1.0.2: {} + yargs: 16.2.2 core-util-is@1.0.3: {} @@ -25513,73 +20291,56 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig-typescript-loader@6.2.0(@types/node@25.9.1)(cosmiconfig@9.0.0(typescript@6.0.3))(typescript@6.0.3): + cors@2.8.6: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + + cosmiconfig-typescript-loader@6.3.0(@types/node@26.1.1)(cosmiconfig@9.0.2(typescript@7.0.2))(typescript@7.0.2): dependencies: - '@types/node': 25.9.1 - cosmiconfig: 9.0.0(typescript@6.0.3) + '@types/node': 26.1.1 + cosmiconfig: 9.0.2(typescript@7.0.2) jiti: 2.6.1 - typescript: 6.0.3 + typescript: 7.0.2 cosmiconfig@5.2.1: dependencies: import-fresh: 2.0.0 is-directory: 0.3.1 - js-yaml: 3.14.2 + js-yaml: 3.15.0 parse-json: 4.0.0 + optional: true - cosmiconfig@7.0.1: - dependencies: - '@types/parse-json': 4.0.2 - import-fresh: 3.3.1 - parse-json: 5.2.0 - path-type: 4.0.0 - yaml: 1.10.2 - - cosmiconfig@8.2.0: - dependencies: - import-fresh: 3.3.1 - js-yaml: 4.1.1 - parse-json: 5.2.0 - path-type: 4.0.0 - - cosmiconfig@9.0.0(typescript@5.9.3): + cosmiconfig@9.0.0(typescript@7.0.2): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.1.1 parse-json: 5.2.0 optionalDependencies: - typescript: 5.9.3 + typescript: 7.0.2 - cosmiconfig@9.0.0(typescript@6.0.3): + cosmiconfig@9.0.2(typescript@7.0.2): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 - js-yaml: 4.1.1 + js-yaml: 4.3.0 parse-json: 5.2.0 optionalDependencies: - typescript: 6.0.3 + typescript: 7.0.2 create-require@1.1.1: {} - crelt@1.0.6: {} - - cron@1.7.2: - dependencies: - moment-timezone: 0.5.48 + crelt@1.0.7: {} croner@4.1.97: {} + cronosjs@1.7.1: {} + cross-env@7.0.3: dependencies: cross-spawn: 7.0.6 - cross-spawn@5.1.0: - dependencies: - lru-cache: 4.1.5 - shebang-command: 1.2.0 - which: 1.3.1 - cross-spawn@6.0.6: dependencies: nice-try: 1.0.5 @@ -25588,46 +20349,30 @@ snapshots: shebang-command: 1.2.0 which: 1.3.1 - cross-spawn@7.0.3: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - crossws@0.4.4(srvx@0.11.15): + crossws@0.4.4(srvx@0.11.22): optionalDependencies: - srvx: 0.11.15 + srvx: 0.11.22 optional: true - crowdin-cli@0.3.0: - dependencies: - request: 2.88.2 - yamljs: 0.2.10 - yargs: 2.3.0 - crypto-random-string@2.0.0: {} - css-color-names@0.0.4: {} + css-color-names@0.0.4: + optional: true css-declaration-sorter@4.0.1: dependencies: postcss: 7.0.39 timsort: 0.3.0 + optional: true - css-select-base-adapter@0.1.1: {} - - css-select@1.2.0: - dependencies: - boolbase: 1.0.0 - css-what: 2.1.3 - domutils: 1.5.1 - nth-check: 1.0.2 + css-select-base-adapter@0.1.1: + optional: true css-select@2.1.0: dependencies: @@ -25635,33 +20380,35 @@ snapshots: css-what: 3.4.2 domutils: 1.7.0 nth-check: 1.0.2 + optional: true - css-select@5.2.2: + css-select@4.3.0: dependencies: boolbase: 1.0.0 css-what: 6.2.2 - domhandler: 5.0.3 - domutils: 3.2.2 + domhandler: 4.3.1 + domutils: 2.8.0 nth-check: 2.1.1 css-tree@1.0.0-alpha.37: dependencies: mdn-data: 2.0.4 source-map: 0.6.1 + optional: true css-tree@1.1.3: dependencies: mdn-data: 2.0.14 source-map: 0.6.1 + optional: true css-tree@3.2.1: dependencies: mdn-data: 2.27.1 source-map-js: 1.2.1 - css-what@2.1.3: {} - - css-what@3.4.2: {} + css-what@3.4.2: + optional: true css-what@6.2.2: {} @@ -25699,16 +20446,21 @@ snapshots: postcss-reduce-transforms: 4.0.2 postcss-svgo: 4.0.3 postcss-unique-selectors: 4.0.1 + optional: true - cssnano-util-get-arguments@4.0.0: {} + cssnano-util-get-arguments@4.0.0: + optional: true - cssnano-util-get-match@4.0.0: {} + cssnano-util-get-match@4.0.0: + optional: true cssnano-util-raw-cache@4.0.1: dependencies: postcss: 7.0.39 + optional: true - cssnano-util-same-parent@4.0.1: {} + cssnano-util-same-parent@4.0.1: + optional: true cssnano@4.1.11: dependencies: @@ -25716,64 +20468,29 @@ snapshots: cssnano-preset-default: 4.0.8 is-resolvable: 1.1.0 postcss: 7.0.39 + optional: true csso@4.2.0: dependencies: css-tree: 1.1.3 + optional: true - cssstyle@5.3.7: - dependencies: - '@asamuzakjp/css-color': 4.1.2 - '@csstools/css-syntax-patches-for-csstree': 1.1.2(css-tree@3.2.1) - css-tree: 3.2.1 - lru-cache: 11.2.7 - - csstype@3.2.3: {} - - culvert@0.1.2: {} - - currently-unhandled@0.4.1: - dependencies: - array-find-index: 1.0.2 - - cva@1.0.0-beta.2(typescript@5.9.3): - dependencies: - clsx: 2.1.1 - optionalDependencies: - typescript: 5.9.3 - - cva@1.0.0-beta.2(typescript@6.0.3): - dependencies: - clsx: 2.1.1 - optionalDependencies: - typescript: 6.0.3 - - cva@1.0.0-beta.4(typescript@5.9.3): - dependencies: - clsx: 2.1.1 - optionalDependencies: - typescript: 5.9.3 + csstype@3.2.3: {} - cva@1.0.0-beta.4(typescript@6.0.3): + cva@1.0.0-beta.4(typescript@7.0.2): dependencies: clsx: 2.1.1 optionalDependencies: - typescript: 6.0.3 - - dashdash@1.14.1: - dependencies: - assert-plus: 1.0.0 - - data-uri-to-buffer@3.0.1: {} - - data-uri-to-buffer@4.0.1: {} + typescript: 7.0.2 data-uri-to-buffer@6.0.2: {} - data-urls@6.0.1: + data-urls@7.0.0(@noble/hashes@1.8.0): dependencies: whatwg-mimetype: 5.0.0 - whatwg-url: 15.1.0 + whatwg-url: 16.0.1(@noble/hashes@1.8.0) + transitivePeerDependencies: + - '@noble/hashes' data-view-buffer@1.0.2: dependencies: @@ -25800,47 +20517,45 @@ snapshots: image-size: 1.0.0 mimer: 2.0.2 - date-fns@2.30.0: - dependencies: - '@babel/runtime': 7.29.2 - - date-time@3.1.0: - dependencies: - time-zone: 1.0.0 - - dayjs@1.11.19: {} + dayjs@1.11.15: {} - dayjs@1.8.36: {} + dayjs@1.11.21: {} death@1.1.0: {} - debug@2.6.9: - dependencies: - ms: 2.0.0 - - debug@3.2.7: + debounce-fn@4.0.0: dependencies: - ms: 2.1.3 + mimic-fn: 3.1.0 - debug@4.3.1: + debug@2.6.9(supports-color@10.2.2): dependencies: - ms: 2.1.2 + ms: 2.0.0 + optionalDependencies: + supports-color: 10.2.2 - debug@4.3.2: + debug@4.3.1(supports-color@10.2.2): dependencies: ms: 2.1.2 + optionalDependencies: + supports-color: 10.2.2 - debug@4.3.4: + debug@4.3.2(supports-color@10.2.2): dependencies: ms: 2.1.2 + optionalDependencies: + supports-color: 10.2.2 - debug@4.3.7: + debug@4.3.7(supports-color@10.2.2): dependencies: ms: 2.1.3 + optionalDependencies: + supports-color: 10.2.2 - debug@4.4.3: + debug@4.4.3(supports-color@10.2.2): dependencies: ms: 2.1.3 + optionalDependencies: + supports-color: 10.2.2 decamelize-keys@1.1.1: dependencies: @@ -25857,6 +20572,10 @@ snapshots: decode-uri-component@0.2.2: {} + decompress-response@10.0.0: + dependencies: + mimic-response: 4.0.0 + decompress-response@3.3.0: dependencies: mimic-response: 1.0.1 @@ -25865,44 +20584,6 @@ snapshots: dependencies: mimic-response: 3.1.0 - decompress-tar@4.1.1: - dependencies: - file-type: 5.2.0 - is-stream: 1.1.0 - tar-stream: 1.6.2 - - decompress-tarbz2@4.1.1: - dependencies: - decompress-tar: 4.1.1 - file-type: 6.2.0 - is-stream: 1.1.0 - seek-bzip: 1.0.6 - unbzip2-stream: 1.4.3 - - decompress-targz@4.1.1: - dependencies: - decompress-tar: 4.1.1 - file-type: 5.2.0 - is-stream: 1.1.0 - - decompress-unzip@4.0.1: - dependencies: - file-type: 3.9.0 - get-stream: 2.3.1 - pify: 2.3.0 - yauzl: 2.10.0 - - decompress@4.2.1: - dependencies: - decompress-tar: 4.1.1 - decompress-tarbz2: 4.1.1 - decompress-targz: 4.1.1 - decompress-unzip: 4.0.1 - graceful-fs: 4.2.11 - make-dir: 1.3.0 - pify: 2.3.0 - strip-dirs: 2.1.0 - dedent@1.7.2: {} deep-extend@0.6.0: {} @@ -25920,10 +20601,6 @@ snapshots: bundle-name: 4.1.0 default-browser-id: 5.0.1 - defaults@1.0.4: - dependencies: - clone: 1.0.4 - defer-to-connect@1.1.3: {} defer-to-connect@2.0.1: {} @@ -25944,27 +20621,11 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 - define-property@0.2.5: - dependencies: - is-descriptor: 0.1.7 - define-property@1.0.0: dependencies: - is-descriptor: 1.0.3 + is-descriptor: 1.0.4 - define-property@2.0.2: - dependencies: - is-descriptor: 1.0.3 - isobject: 3.0.1 - - defu@6.1.4: {} - - degenerator@3.0.4: - dependencies: - ast-types: 0.13.4 - escodegen: 1.14.3 - esprima: 4.0.1 - vm2: 3.10.0 + defu@6.1.7: {} degenerator@5.0.1: dependencies: @@ -25974,39 +20635,20 @@ snapshots: delayed-stream@1.0.0: {} - delegates@1.0.0: - optional: true - - denque@1.5.0: {} - - depd@1.1.2: {} + denque@2.1.0: {} depd@2.0.0: {} - deprecation@2.3.1: {} - dequal@2.0.3: {} - destroy@1.0.4: {} - destroy@1.2.0: {} detect-indent@6.1.0: {} - detect-libc@1.0.3: - optional: true - detect-libc@2.1.2: {} detect-node-es@1.1.0: {} - detect-port-alt@1.1.6: - dependencies: - address: 1.1.2 - debug: 2.6.9 - transitivePeerDependencies: - - supports-color - devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -26015,34 +20657,25 @@ snapshots: devtools-protocol@0.0.1581282: {} - diacritics-map@0.1.0: {} + devtools-protocol@0.0.1638949: {} - dicer@0.2.5: + dezalgo@1.0.4: dependencies: - readable-stream: 1.1.14 - streamsearch: 0.1.2 - - diff-match-patch@1.0.5: {} + asap: 2.0.6 + wrappy: 1.0.2 - diff@4.0.2: {} + diff@4.0.4: {} - diff@8.0.2: {} + diff@5.2.2: {} diff@8.0.4: {} dijkstrajs@1.0.3: {} - dir-glob@2.0.0: - dependencies: - arrify: 1.0.1 - path-type: 3.0.0 - dir-glob@3.0.1: dependencies: path-type: 4.0.0 - discontinuous-range@1.0.0: {} - dns-packet@5.6.1: dependencies: '@leichtgewicht/ip-codec': 2.0.5 @@ -26051,84 +20684,18 @@ snapshots: dependencies: dns-packet: 5.6.1 - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - - docusaurus@1.14.7(eslint@8.57.1)(typescript@5.9.3)(webpack@5.103.0(esbuild@0.28.0)): - dependencies: - '@babel/core': 7.28.5 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.5) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.28.5) - '@babel/polyfill': 7.12.1 - '@babel/preset-env': 7.28.5(@babel/core@7.28.5) - '@babel/preset-react': 7.28.5(@babel/core@7.28.5) - '@babel/register': 7.28.3(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - autoprefixer: 9.8.8 - babylon: 6.18.0 - chalk: 3.0.0 - classnames: 2.5.1 - commander: 4.1.1 - crowdin-cli: 0.3.0 - cssnano: 4.1.11 - enzyme: 3.11.0 - enzyme-adapter-react-16: 1.15.8(enzyme@3.11.0)(react-dom@16.14.0(react@16.14.0))(react@16.14.0) - escape-string-regexp: 2.0.0 - express: 4.22.1 - feed: 4.2.2 - fs-extra: 9.1.0 - gaze: 1.1.3 - github-slugger: 1.5.0 - glob: 7.2.3 - highlight.js: 9.18.5 - imagemin: 6.1.0 - imagemin-gifsicle: 6.0.1 - imagemin-jpegtran: 6.0.0 - imagemin-optipng: 6.0.0 - imagemin-svgo: 7.1.0 - lodash: 4.17.21 - markdown-toc: 1.2.0 - mkdirp: 0.5.6 - portfinder: 1.0.38 - postcss: 7.0.39 - prismjs: 1.30.0 - react: 16.14.0 - react-dev-utils: 11.0.4(eslint@8.57.1)(typescript@5.9.3)(webpack@5.103.0(esbuild@0.28.0)) - react-dom: 16.14.0(react@16.14.0) - remarkable: 2.0.1 - request: 2.88.2 - shelljs: 0.8.5 - sitemap: 3.2.2 - tcp-port-used: 1.0.2 - tiny-lr: 1.1.1 - tree-node-cli: 1.6.0 - truncate-html: 1.2.2 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - vue-template-compiler - - webpack - dom-accessibility-api@0.5.16: {} - dom-serializer@0.1.1: - dependencies: - domelementtype: 1.3.1 - entities: 1.1.2 - dom-serializer@0.2.2: dependencies: domelementtype: 2.3.0 entities: 2.2.0 - dom-serializer@2.0.0: + dom-serializer@1.4.1: dependencies: domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 + domhandler: 4.3.1 + entities: 2.2.0 domelementtype@1.3.1: {} @@ -26138,31 +20705,20 @@ snapshots: dependencies: domelementtype: 1.3.1 - domhandler@5.0.3: + domhandler@4.3.1: dependencies: domelementtype: 2.3.0 - dompurify@3.1.7: {} - - dompurify@3.3.3: - optionalDependencies: - '@types/trusted-types': 2.0.7 - - domutils@1.5.1: - dependencies: - dom-serializer: 0.2.2 - domelementtype: 1.3.1 - domutils@1.7.0: dependencies: dom-serializer: 0.2.2 domelementtype: 1.3.1 - domutils@3.2.2: + domutils@2.8.0: dependencies: - dom-serializer: 2.0.0 + dom-serializer: 1.4.1 domelementtype: 2.3.0 - domhandler: 5.0.3 + domhandler: 4.3.1 dot-case@3.0.4: dependencies: @@ -26173,42 +20729,15 @@ snapshots: dependencies: is-obj: 2.0.0 - dotenv@16.6.1: {} + dot-prop@6.0.1: + dependencies: + is-obj: 2.0.0 - dotenv@17.4.0: {} + dotenv@17.4.2: {} dotenv@8.6.0: {} - download@6.2.5: - dependencies: - caw: 2.0.1 - content-disposition: 0.5.4 - decompress: 4.2.1 - ext-name: 5.0.0 - file-type: 5.2.0 - filenamify: 2.1.0 - get-stream: 3.0.0 - got: 7.1.0 - make-dir: 1.3.0 - p-event: 1.3.0 - pify: 3.0.0 - - download@7.1.0: - dependencies: - archive-type: 4.0.0 - caw: 2.0.1 - content-disposition: 0.5.4 - decompress: 4.2.1 - ext-name: 5.0.0 - file-type: 8.1.0 - filenamify: 2.1.0 - get-stream: 3.0.0 - got: 8.3.2 - make-dir: 1.3.0 - p-event: 2.3.1 - pify: 3.0.0 - - dts-resolver@2.1.3: {} + dts-resolver@3.0.0: {} dunder-proto@1.0.1: dependencies: @@ -26216,64 +20745,30 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 - duplex-maker@1.0.0: {} - - duplexer2@0.1.4: - dependencies: - readable-stream: 2.3.8 - duplexer3@0.1.5: {} duplexer@0.1.2: {} - duplexify@3.7.1: - dependencies: - end-of-stream: 1.4.5 - inherits: 2.0.4 - readable-stream: 2.3.8 - stream-shift: 1.0.3 - - duplexify@4.1.3: - dependencies: - end-of-stream: 1.4.5 - inherits: 2.0.4 - readable-stream: 3.6.2 - stream-shift: 1.0.3 - eastasianwidth@0.2.0: {} - ecc-jsbn@0.1.2: - dependencies: - jsbn: 0.1.1 - safer-buffer: 2.1.2 - - eciesjs@0.4.18: - dependencies: - '@ecies/ciphers': 0.2.6(@noble/ciphers@1.3.0) - '@noble/ciphers': 1.3.0 - '@noble/curves': 1.9.7 - '@noble/hashes': 1.8.0 - ee-first@1.1.1: {} - effect@4.0.0-beta.94: + effect@4.0.0-beta.100: dependencies: '@standard-schema/spec': 1.1.0 - fast-check: 4.8.0 + fast-check: 4.9.0 find-my-way-ts: 0.1.6 ini: 7.0.0 kubernetes-types: 1.30.0 msgpackr: 2.0.4 multipasta: 0.2.8 - toml: 4.1.2 + toml: 4.3.0 uuid: 14.0.1 yaml: 2.9.0 - electron-to-chromium@1.5.267: {} - - electron-to-chromium@1.5.360: {} + electron-to-chromium@1.5.394: {} - emittery@1.2.0: {} + emittery@2.0.0: {} emoji-regex@10.6.0: {} @@ -26281,9 +20776,10 @@ snapshots: emoji-regex@9.2.2: {} - emojis-list@3.0.0: {} + emojis-list@3.0.0: + optional: true - empathic@2.0.0: {} + empathic@2.0.1: {} enabled@2.0.0: {} @@ -26293,21 +20789,16 @@ snapshots: encodeurl@2.0.0: {} - encoding-sniffer@0.2.1: - dependencies: - iconv-lite: 0.6.3 - whatwg-encoding: 3.1.1 - end-of-stream@1.4.5: dependencies: once: 1.4.0 - engine.io-client@6.6.3: + engine.io-client@6.6.6(supports-color@10.2.2): dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.3.7 + debug: 4.4.3(supports-color@10.2.2) engine.io-parser: 5.2.3 - ws: 8.17.1 + ws: 8.21.1 xmlhttprequest-ssl: 2.1.2 transitivePeerDependencies: - bufferutil @@ -26316,41 +20807,28 @@ snapshots: engine.io-parser@5.2.3: {} - engine.io@6.6.4: + engine.io@6.6.9(supports-color@10.2.2): dependencies: '@types/cors': 2.8.19 - '@types/node': 22.19.15 + '@types/node': 26.1.1 + '@types/ws': 8.18.1 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 - cors: 2.8.5 - debug: 4.3.7 + cors: 2.8.6 + debug: 4.4.3(supports-color@10.2.2) engine.io-parser: 5.2.3 - ws: 8.17.1 + ws: 8.21.1 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - enhanced-resolve@5.18.3: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.3.0 - - enhanced-resolve@5.20.1: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.3.2 - - enhanced-resolve@5.21.6: + enhanced-resolve@5.24.3: dependencies: graceful-fs: 4.2.11 tapable: 2.3.3 - enquirer@2.3.6: - dependencies: - ansi-colors: 4.1.3 - enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 @@ -26360,98 +20838,45 @@ snapshots: entities@2.2.0: {} - entities@4.5.0: {} - entities@6.0.1: {} entities@7.0.1: {} + entities@8.0.0: {} + env-paths@2.2.1: {} environment@1.1.0: {} - enzyme-adapter-react-16@1.15.8(enzyme@3.11.0)(react-dom@16.14.0(react@16.14.0))(react@16.14.0): - dependencies: - enzyme: 3.11.0 - enzyme-adapter-utils: 1.14.2(react@16.14.0) - enzyme-shallow-equal: 1.0.7 - hasown: 2.0.2 - object.assign: 4.1.7 - object.values: 1.2.1 - prop-types: 15.8.1 - react: 16.14.0 - react-dom: 16.14.0(react@16.14.0) - react-is: 16.13.1 - react-test-renderer: 16.14.0(react@16.14.0) - semver: 5.7.2 - - enzyme-adapter-utils@1.14.2(react@16.14.0): - dependencies: - airbnb-prop-types: 2.16.0(react@16.14.0) - function.prototype.name: 1.1.8 - hasown: 2.0.2 - object.assign: 4.1.7 - object.fromentries: 2.0.8 - prop-types: 15.8.1 - react: 16.14.0 - semver: 6.3.1 - - enzyme-shallow-equal@1.0.7: - dependencies: - hasown: 2.0.2 - object-is: 1.1.6 - - enzyme@3.11.0: - dependencies: - array.prototype.flat: 1.3.3 - cheerio: 1.1.2 - enzyme-shallow-equal: 1.0.7 - function.prototype.name: 1.1.8 - has: 1.0.4 - html-element-map: 1.3.1 - is-boolean-object: 1.2.2 - is-callable: 1.2.7 - is-number-object: 1.1.1 - is-regex: 1.2.1 - is-string: 1.1.1 - is-subset: 0.1.1 - lodash.escape: 4.0.1 - lodash.isequal: 4.5.0 - object-inspect: 1.13.4 - object-is: 1.1.6 - object.assign: 4.1.7 - object.entries: 1.1.9 - object.values: 1.2.1 - raf: 3.4.1 - rst-selector-parser: 2.2.3 - string.prototype.trim: 1.2.10 - error-ex@1.3.4: dependencies: is-arrayish: 0.2.1 error-stack-parser-es@1.0.5: {} - error@7.2.1: + es-abstract-get@1.0.0: dependencies: - string-template: 0.2.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + is-callable: 1.2.7 + object-inspect: 1.13.4 - es-abstract@1.24.0: + es-abstract@1.24.2: dependencies: array-buffer-byte-length: 1.0.2 arraybuffer.prototype.slice: 1.0.4 available-typed-arrays: 1.0.7 - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 data-view-buffer: 1.0.2 data-view-byte-length: 1.0.2 data-view-byte-offset: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 es-set-tostringtag: 2.1.0 - es-to-primitive: 1.3.0 - function.prototype.name: 1.1.8 + es-to-primitive: 1.3.4 + function.prototype.name: 1.2.0 get-intrinsic: 1.3.0 get-proto: 1.0.1 get-symbol-description: 1.1.0 @@ -26460,7 +20885,7 @@ snapshots: has-property-descriptors: 1.0.2 has-proto: 1.2.0 has-symbols: 1.1.0 - hasown: 2.0.2 + hasown: 2.0.4 internal-slot: 1.1.0 is-array-buffer: 3.0.5 is-callable: 1.2.7 @@ -26478,44 +20903,33 @@ snapshots: object.assign: 4.1.7 own-keys: 1.0.1 regexp.prototype.flags: 1.5.4 - safe-array-concat: 1.1.3 + safe-array-concat: 1.1.4 safe-push-apply: 1.0.0 safe-regex-test: 1.1.0 set-proto: 1.0.0 stop-iteration-iterator: 1.1.0 - string.prototype.trim: 1.2.10 - string.prototype.trimend: 1.0.9 + string.prototype.trim: 1.2.11 + string.prototype.trimend: 1.0.10 string.prototype.trimstart: 1.0.8 typed-array-buffer: 1.0.3 typed-array-byte-length: 1.0.3 typed-array-byte-offset: 1.0.4 - typed-array-length: 1.0.7 + typed-array-length: 1.0.8 unbox-primitive: 1.1.0 - which-typed-array: 1.1.19 + which-typed-array: 1.1.22 - es-array-method-boxes-properly@1.0.0: {} + es-array-method-boxes-properly@1.0.0: + optional: true es-define-property@1.0.1: {} es-errors@1.3.0: {} - es-get-iterator@1.1.3: - dependencies: - call-bind: 1.0.8 - get-intrinsic: 1.3.0 - has-symbols: 1.1.0 - is-arguments: 1.2.0 - is-map: 2.0.3 - is-set: 2.0.3 - is-string: 1.1.1 - isarray: 2.0.5 - stop-iteration-iterator: 1.1.0 - es-module-lexer@1.7.0: {} - es-module-lexer@2.0.0: {} + es-module-lexer@2.3.1: {} - es-object-atoms@1.1.1: + es-object-atoms@1.1.2: dependencies: es-errors: 1.3.0 @@ -26524,19 +20938,18 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 has-tostringtag: 1.0.2 - hasown: 2.0.2 - - es-shim-unscopables@1.1.0: - dependencies: - hasown: 2.0.2 + hasown: 2.0.4 - es-to-primitive@1.3.0: + es-to-primitive@1.3.4: dependencies: + es-abstract-get: 1.0.0 + es-define-property: 1.0.1 + es-errors: 1.3.0 is-callable: 1.2.7 is-date-object: 1.1.0 is-symbol: 1.1.1 - es-toolkit@1.45.1: {} + es-toolkit@1.49.0: {} esast-util-from-estree@2.0.0: dependencies: @@ -26548,125 +20961,38 @@ snapshots: esast-util-from-js@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 - acorn: 8.16.0 + acorn: 8.17.0 esast-util-from-estree: 2.0.0 vfile-message: 4.0.3 - esbuild@0.27.3: + esbuild@0.28.1: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.3 - '@esbuild/android-arm': 0.27.3 - '@esbuild/android-arm64': 0.27.3 - '@esbuild/android-x64': 0.27.3 - '@esbuild/darwin-arm64': 0.27.3 - '@esbuild/darwin-x64': 0.27.3 - '@esbuild/freebsd-arm64': 0.27.3 - '@esbuild/freebsd-x64': 0.27.3 - '@esbuild/linux-arm': 0.27.3 - '@esbuild/linux-arm64': 0.27.3 - '@esbuild/linux-ia32': 0.27.3 - '@esbuild/linux-loong64': 0.27.3 - '@esbuild/linux-mips64el': 0.27.3 - '@esbuild/linux-ppc64': 0.27.3 - '@esbuild/linux-riscv64': 0.27.3 - '@esbuild/linux-s390x': 0.27.3 - '@esbuild/linux-x64': 0.27.3 - '@esbuild/netbsd-arm64': 0.27.3 - '@esbuild/netbsd-x64': 0.27.3 - '@esbuild/openbsd-arm64': 0.27.3 - '@esbuild/openbsd-x64': 0.27.3 - '@esbuild/openharmony-arm64': 0.27.3 - '@esbuild/sunos-x64': 0.27.3 - '@esbuild/win32-arm64': 0.27.3 - '@esbuild/win32-ia32': 0.27.3 - '@esbuild/win32-x64': 0.27.3 - - esbuild@0.27.4: - optionalDependencies: - '@esbuild/aix-ppc64': 0.27.4 - '@esbuild/android-arm': 0.27.4 - '@esbuild/android-arm64': 0.27.4 - '@esbuild/android-x64': 0.27.4 - '@esbuild/darwin-arm64': 0.27.4 - '@esbuild/darwin-x64': 0.27.4 - '@esbuild/freebsd-arm64': 0.27.4 - '@esbuild/freebsd-x64': 0.27.4 - '@esbuild/linux-arm': 0.27.4 - '@esbuild/linux-arm64': 0.27.4 - '@esbuild/linux-ia32': 0.27.4 - '@esbuild/linux-loong64': 0.27.4 - '@esbuild/linux-mips64el': 0.27.4 - '@esbuild/linux-ppc64': 0.27.4 - '@esbuild/linux-riscv64': 0.27.4 - '@esbuild/linux-s390x': 0.27.4 - '@esbuild/linux-x64': 0.27.4 - '@esbuild/netbsd-arm64': 0.27.4 - '@esbuild/netbsd-x64': 0.27.4 - '@esbuild/openbsd-arm64': 0.27.4 - '@esbuild/openbsd-x64': 0.27.4 - '@esbuild/openharmony-arm64': 0.27.4 - '@esbuild/sunos-x64': 0.27.4 - '@esbuild/win32-arm64': 0.27.4 - '@esbuild/win32-ia32': 0.27.4 - '@esbuild/win32-x64': 0.27.4 - - esbuild@0.27.7: - optionalDependencies: - '@esbuild/aix-ppc64': 0.27.7 - '@esbuild/android-arm': 0.27.7 - '@esbuild/android-arm64': 0.27.7 - '@esbuild/android-x64': 0.27.7 - '@esbuild/darwin-arm64': 0.27.7 - '@esbuild/darwin-x64': 0.27.7 - '@esbuild/freebsd-arm64': 0.27.7 - '@esbuild/freebsd-x64': 0.27.7 - '@esbuild/linux-arm': 0.27.7 - '@esbuild/linux-arm64': 0.27.7 - '@esbuild/linux-ia32': 0.27.7 - '@esbuild/linux-loong64': 0.27.7 - '@esbuild/linux-mips64el': 0.27.7 - '@esbuild/linux-ppc64': 0.27.7 - '@esbuild/linux-riscv64': 0.27.7 - '@esbuild/linux-s390x': 0.27.7 - '@esbuild/linux-x64': 0.27.7 - '@esbuild/netbsd-arm64': 0.27.7 - '@esbuild/netbsd-x64': 0.27.7 - '@esbuild/openbsd-arm64': 0.27.7 - '@esbuild/openbsd-x64': 0.27.7 - '@esbuild/openharmony-arm64': 0.27.7 - '@esbuild/sunos-x64': 0.27.7 - '@esbuild/win32-arm64': 0.27.7 - '@esbuild/win32-ia32': 0.27.7 - '@esbuild/win32-x64': 0.27.7 - - esbuild@0.28.0: - optionalDependencies: - '@esbuild/aix-ppc64': 0.28.0 - '@esbuild/android-arm': 0.28.0 - '@esbuild/android-arm64': 0.28.0 - '@esbuild/android-x64': 0.28.0 - '@esbuild/darwin-arm64': 0.28.0 - '@esbuild/darwin-x64': 0.28.0 - '@esbuild/freebsd-arm64': 0.28.0 - '@esbuild/freebsd-x64': 0.28.0 - '@esbuild/linux-arm': 0.28.0 - '@esbuild/linux-arm64': 0.28.0 - '@esbuild/linux-ia32': 0.28.0 - '@esbuild/linux-loong64': 0.28.0 - '@esbuild/linux-mips64el': 0.28.0 - '@esbuild/linux-ppc64': 0.28.0 - '@esbuild/linux-riscv64': 0.28.0 - '@esbuild/linux-s390x': 0.28.0 - '@esbuild/linux-x64': 0.28.0 - '@esbuild/netbsd-arm64': 0.28.0 - '@esbuild/netbsd-x64': 0.28.0 - '@esbuild/openbsd-arm64': 0.28.0 - '@esbuild/openbsd-x64': 0.28.0 - '@esbuild/openharmony-arm64': 0.28.0 - '@esbuild/sunos-x64': 0.28.0 - '@esbuild/win32-arm64': 0.28.0 - '@esbuild/win32-ia32': 0.28.0 - '@esbuild/win32-x64': 0.28.0 + '@esbuild/aix-ppc64': 0.28.1 + '@esbuild/android-arm': 0.28.1 + '@esbuild/android-arm64': 0.28.1 + '@esbuild/android-x64': 0.28.1 + '@esbuild/darwin-arm64': 0.28.1 + '@esbuild/darwin-x64': 0.28.1 + '@esbuild/freebsd-arm64': 0.28.1 + '@esbuild/freebsd-x64': 0.28.1 + '@esbuild/linux-arm': 0.28.1 + '@esbuild/linux-arm64': 0.28.1 + '@esbuild/linux-ia32': 0.28.1 + '@esbuild/linux-loong64': 0.28.1 + '@esbuild/linux-mips64el': 0.28.1 + '@esbuild/linux-ppc64': 0.28.1 + '@esbuild/linux-riscv64': 0.28.1 + '@esbuild/linux-s390x': 0.28.1 + '@esbuild/linux-x64': 0.28.1 + '@esbuild/netbsd-arm64': 0.28.1 + '@esbuild/netbsd-x64': 0.28.1 + '@esbuild/openbsd-arm64': 0.28.1 + '@esbuild/openbsd-x64': 0.28.1 + '@esbuild/openharmony-arm64': 0.28.1 + '@esbuild/sunos-x64': 0.28.1 + '@esbuild/win32-arm64': 0.28.1 + '@esbuild/win32-ia32': 0.28.1 + '@esbuild/win32-x64': 0.28.1 escalade@3.2.0: {} @@ -26682,15 +21008,6 @@ snapshots: escape-string-regexp@5.0.0: {} - escodegen@1.14.3: - dependencies: - esprima: 4.0.1 - estraverse: 4.3.0 - esutils: 2.0.3 - optionator: 0.8.3 - optionalDependencies: - source-map: 0.6.1 - escodegen@2.1.0: dependencies: esprima: 4.0.1 @@ -26699,55 +21016,54 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@8.57.1): + eslint-compat-utils@0.5.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2)): dependencies: - eslint: 8.57.1 - semver: 7.7.4 + eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2) + semver: 7.8.5 - eslint-import-context@0.1.9(unrs-resolver@1.11.1): + eslint-import-context@0.1.9(unrs-resolver@1.12.2): dependencies: - get-tsconfig: 4.13.7 + get-tsconfig: 4.14.0 stable-hash-x: 0.2.0 optionalDependencies: - unrs-resolver: 1.11.1 + unrs-resolver: 1.12.2 - eslint-plugin-es-x@7.8.0(eslint@8.57.1): + eslint-plugin-es-x@7.8.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2)): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2)) '@eslint-community/regexpp': 4.12.2 - eslint: 8.57.1 - eslint-compat-utils: 0.5.1(eslint@8.57.1) + eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2) + eslint-compat-utils: 0.5.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2)) - eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.58.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1): + eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2))(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - '@package-json/types': 0.0.12 - '@typescript-eslint/types': 8.58.0 - comment-parser: 1.4.6 - debug: 4.4.3 - eslint: 8.57.1 - eslint-import-context: 0.1.9(unrs-resolver@1.11.1) + '@typescript-eslint/types': 8.65.0 + comment-parser: 1.4.7 + debug: 4.4.3(supports-color@10.2.2) + eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2) + eslint-import-context: 0.1.9(unrs-resolver@1.12.2) is-glob: 4.0.3 minimatch: 10.2.5 - semver: 7.7.4 + semver: 7.8.5 stable-hash-x: 0.2.0 - unrs-resolver: 1.11.1 + unrs-resolver: 1.12.2 optionalDependencies: - '@typescript-eslint/utils': 8.58.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/utils': 8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2) transitivePeerDependencies: - supports-color - eslint-plugin-n@17.24.0(eslint@8.57.1)(typescript@5.9.3): + eslint-plugin-n@17.24.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(typescript@7.0.2): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) - enhanced-resolve: 5.20.1 - eslint: 8.57.1 - eslint-plugin-es-x: 7.8.0(eslint@8.57.1) - get-tsconfig: 4.13.7 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2)) + enhanced-resolve: 5.24.3 + eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2) + eslint-plugin-es-x: 7.8.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2)) + get-tsconfig: 4.14.0 globals: 15.15.0 globrex: 0.1.2 ignore: 5.3.2 - semver: 7.7.4 - ts-declaration-location: 1.0.7(typescript@5.9.3) + semver: 7.8.5 + ts-declaration-location: 1.0.7(typescript@7.0.2) transitivePeerDependencies: - typescript @@ -26756,11 +21072,6 @@ snapshots: esrecurse: 4.3.0 estraverse: 4.3.0 - eslint-scope@7.2.2: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - eslint-scope@9.1.2: dependencies: '@types/esrecurse': 4.3.1 @@ -26774,73 +21085,57 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@8.57.1: + eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2)) '@eslint-community/regexpp': 4.12.2 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.1 - '@humanwhocodes/config-array': 0.13.0 + '@eslint/config-array': 0.23.5(supports-color@10.2.2) + '@eslint/config-helpers': 0.6.0 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.2 + '@humanfs/node': 0.16.8 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.3.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.9 ajv: 6.15.0 - chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.3 - doctrine: 3.0.0 + debug: 4.4.3(supports-color@10.2.2) escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.1 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.5 + minimatch: 10.2.5 natural-compare: 1.4.0 optionator: 0.9.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 + optionalDependencies: + jiti: 2.7.0 transitivePeerDependencies: - supports-color espree@10.4.0: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.17.0 + acorn-jsx: 5.3.2(acorn@8.17.0) eslint-visitor-keys: 4.2.1 espree@11.2.0: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.17.0 + acorn-jsx: 5.3.2(acorn@8.17.0) eslint-visitor-keys: 5.0.1 - espree@9.6.1: - dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) - eslint-visitor-keys: 3.4.3 - esprima@4.0.1: {} - esquery@1.6.0: - dependencies: - estraverse: 5.3.0 - esquery@1.7.0: dependencies: estraverse: 5.3.0 @@ -26886,8 +21181,6 @@ snapshots: '@types/estree-jsx': 1.0.5 '@types/unist': 3.0.3 - estree-walker@1.0.1: {} - estree-walker@2.0.2: {} estree-walker@3.0.3: @@ -26910,69 +21203,29 @@ snapshots: event-target-shim@5.0.1: {} - eventemitter2@0.4.14: {} - - eventemitter2@5.0.1: {} - eventemitter2@6.4.9: {} eventemitter3@4.0.7: {} - eventemitter3@5.0.1: {} + eventemitter3@5.0.4: {} events-universal@1.0.1: dependencies: - bare-events: 2.8.2 + bare-events: 2.9.1 transitivePeerDependencies: - bare-abort-controller - events@3.3.0: {} - - eventsource-parser@3.0.6: {} - - eventsource-parser@3.0.8: {} - - eventsource@3.0.7: - dependencies: - eventsource-parser: 3.0.6 - - exec-buffer@3.2.0: - dependencies: - execa: 0.7.0 - p-finally: 1.0.0 - pify: 3.0.0 - rimraf: 2.7.1 - tempfile: 2.0.0 + events@3.3.0: {} - execa@0.7.0: - dependencies: - cross-spawn: 5.1.0 - get-stream: 3.0.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 + eventsource-parser@3.1.0: {} - execa@0.9.0: + eventsource@3.0.7: dependencies: - cross-spawn: 5.1.0 - get-stream: 3.0.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 + eventsource-parser: 3.1.0 - execa@1.0.0: + eventsource@4.1.0: dependencies: - cross-spawn: 6.0.6 - get-stream: 4.1.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 + eventsource-parser: 3.1.0 execa@4.1.0: dependencies: @@ -27013,120 +21266,67 @@ snapshots: strip-final-newline: 4.0.0 yoctocolors: 2.1.2 - executable@4.1.1: - dependencies: - pify: 2.3.0 - - expand-brackets@2.1.4: - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - - expand-range@1.8.2: - dependencies: - fill-range: 2.2.4 - - expect-type@1.3.0: {} + expect-type@1.4.0: {} - express-ipfilter@1.3.2: + express-ipfilter@1.4.0: dependencies: - ip: 2.0.1 - lodash: 4.17.21 + neoip: 2.1.0 proxy-addr: 2.0.7 range_check: 2.0.4 - express-rate-limit@8.3.2(express@5.2.1): + express-rate-limit@8.6.0(express@5.2.1(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - express: 5.2.1 - ip-address: 10.1.0 + debug: 4.4.3(supports-color@10.2.2) + express: 5.2.1(supports-color@10.2.2) + ip-address: 10.2.0 + transitivePeerDependencies: + - supports-color - express-robots-txt@1.0.0(express@4.22.1): + express-robots-txt@1.0.0(express@4.22.2(supports-color@10.2.2)): dependencies: - express: 4.22.1 + express: 4.22.2(supports-color@10.2.2) - express-session@1.17.1: + express-session@1.18.2(supports-color@10.2.2): dependencies: - cookie: 0.4.0 - cookie-signature: 1.0.6 - debug: 2.6.9 + cookie: 0.7.2 + cookie-signature: 1.0.7 + debug: 2.6.9(supports-color@10.2.2) depd: 2.0.0 - on-headers: 1.0.2 + on-headers: 1.1.0 parseurl: 1.3.3 - safe-buffer: 5.2.0 + safe-buffer: 5.2.1 uid-safe: 2.1.5 transitivePeerDependencies: - supports-color - express@4.17.1: - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.19.0 - content-disposition: 0.5.3 - content-type: 1.0.5 - cookie: 0.4.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 1.1.2 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.1.2 - fresh: 0.5.2 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.3.0 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.7.0 - range-parser: 1.2.1 - safe-buffer: 5.1.2 - send: 0.17.1 - serve-static: 1.14.1 - setprototypeof: 1.1.1 - statuses: 1.5.0 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - - express@4.22.1: + express@4.22.2(supports-color@10.2.2): dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.4 + body-parser: 1.20.6(supports-color@10.2.2) content-disposition: 0.5.4 content-type: 1.0.5 cookie: 0.7.2 cookie-signature: 1.0.7 - debug: 2.6.9 + debug: 2.6.9(supports-color@10.2.2) depd: 2.0.0 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.3.2 + finalhandler: 1.3.2(supports-color@10.2.2) fresh: 0.5.2 http-errors: 2.0.1 merge-descriptors: 1.0.3 methods: 1.1.2 on-finished: 2.4.1 parseurl: 1.3.3 - path-to-regexp: 0.1.12 + path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.0 + qs: 6.15.3 range-parser: 1.2.1 safe-buffer: 5.2.1 - send: 0.19.1 - serve-static: 1.16.2 + send: 0.19.2(supports-color@10.2.2) + serve-static: 1.16.3(supports-color@10.2.2) setprototypeof: 1.2.0 statuses: 2.0.2 type-is: 1.6.18 @@ -27135,20 +21335,20 @@ snapshots: transitivePeerDependencies: - supports-color - express@5.2.1: + express@5.2.1(supports-color@10.2.2): dependencies: accepts: 2.0.0 - body-parser: 2.2.2 + body-parser: 2.3.0(supports-color@10.2.2) content-disposition: 1.1.0 content-type: 1.0.5 cookie: 0.7.2 cookie-signature: 1.2.2 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) depd: 2.0.0 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 2.1.1 + finalhandler: 2.1.1(supports-color@10.2.2) fresh: 2.0.0 http-errors: 2.0.1 merge-descriptors: 2.0.0 @@ -27157,63 +21357,26 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.0 - range-parser: 1.2.1 - router: 2.2.0 - send: 1.2.1 - serve-static: 2.2.1 + qs: 6.15.3 + range-parser: 1.3.0 + router: 2.2.0(supports-color@10.2.2) + send: 1.2.1(supports-color@10.2.2) + serve-static: 2.2.1(supports-color@10.2.2) statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color - exsolve@1.0.8: {} - - ext-list@2.2.2: - dependencies: - mime-db: 1.54.0 - - ext-name@5.0.0: - dependencies: - ext-list: 2.2.2 - sort-keys-length: 1.0.1 - - extend-shallow@2.0.1: - dependencies: - is-extendable: 0.1.1 - - extend-shallow@3.0.2: - dependencies: - assign-symbols: 1.0.0 - is-extendable: 1.0.1 + exsolve@1.1.0: {} extend@3.0.2: {} extendable-error@0.1.7: {} - external-editor@3.1.0: - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - - extglob@2.0.4: - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - - extract-zip@2.0.1: + extract-zip@2.0.1(supports-color@10.2.2): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -27221,45 +21384,22 @@ snapshots: transitivePeerDependencies: - supports-color - extrareqp2@1.0.0(debug@4.3.7): + extrareqp2@1.0.0(debug@4.3.7(supports-color@10.2.2)): dependencies: - follow-redirects: 1.15.11(debug@4.3.7) + follow-redirects: 1.16.0(debug@4.3.7(supports-color@10.2.2)) transitivePeerDependencies: - debug - extsprintf@1.3.0: {} - faker@5.5.3: {} - fast-check@3.23.2: + fast-check@4.9.0: dependencies: - pure-rand: 6.1.0 - - fast-check@4.8.0: - dependencies: - pure-rand: 8.4.1 + pure-rand: 8.4.2 fast-deep-equal@3.1.3: {} - fast-diff@1.3.0: {} - fast-fifo@1.3.2: {} - fast-folder-size@1.6.1: - dependencies: - unzipper: 0.10.14 - - fast-glob@2.2.7: - dependencies: - '@mrmlnc/readdir-enhanced': 2.2.1 - '@nodelib/fs.stat': 1.1.3 - glob-parent: 3.1.0 - is-glob: 4.0.3 - merge2: 1.4.1 - micromatch: 3.1.10 - transitivePeerDependencies: - - supports-color - fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -27274,74 +21414,46 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-string-compare@1.0.0: {} - - fast-uri@3.1.2: {} + fast-safe-stringify@2.1.1: {} - fast-xml-parser@4.5.3: + fast-unique-numbers@9.0.27: dependencies: - strnum: 1.1.2 + '@babel/runtime': 7.29.7 + tslib: 2.8.1 - fastq@1.19.1: - dependencies: - reusify: 1.1.0 + fast-uri@3.1.4: {} - faye-websocket@0.10.0: + fastq@1.20.1: dependencies: - websocket-driver: 0.7.4 + reusify: 1.1.0 faye-websocket@0.11.4: dependencies: - websocket-driver: 0.7.4 - - fclone@1.0.11: {} + websocket-driver: 0.7.5 fd-slicer@1.1.0: dependencies: pend: 1.2.0 - fdir@6.5.0(picomatch@4.0.4): + fdir@6.5.0(picomatch@4.0.5): optionalDependencies: - picomatch: 4.0.4 + picomatch: 4.0.5 fecha@4.2.3: {} - feed@4.2.2: - dependencies: - xml-js: 1.6.11 - - fetch-blob@3.2.0: - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.3.3 - - fflate@0.4.8: {} - - figlet@1.9.4: - dependencies: - commander: 14.0.2 - - figures@1.7.0: - dependencies: - escape-string-regexp: 1.0.5 - object-assign: 4.1.1 - - figures@3.2.0: - dependencies: - escape-string-regexp: 1.0.5 + fetchdts@0.1.7: {} - figures@5.0.0: + figlet@1.11.3: dependencies: - escape-string-regexp: 5.0.0 - is-unicode-supported: 1.3.0 + commander: 14.0.3 figures@6.1.0: dependencies: is-unicode-supported: 2.1.0 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 file-stream-rotator@0.6.1: dependencies: @@ -27355,76 +21467,29 @@ snapshots: strtok3: 7.1.1 token-types: 5.0.1 - file-type@21.1.1: + file-type@21.3.4(supports-color@10.2.2): dependencies: - '@tokenizer/inflate': 0.4.1 - strtok3: 10.3.4 - token-types: 6.1.1 + '@tokenizer/inflate': 0.4.1(supports-color@10.2.2) + strtok3: 10.3.5 + token-types: 6.1.2 uint8array-extras: 1.5.0 transitivePeerDependencies: - supports-color file-type@3.9.0: {} - file-type@4.4.0: {} - - file-type@5.2.0: {} - - file-type@6.2.0: {} - - file-type@8.1.0: {} - file-uri-to-path@1.0.0: optional: true - file-uri-to-path@2.0.0: {} - - filename-reserved-regex@2.0.0: {} - - filenamify@2.1.0: - dependencies: - filename-reserved-regex: 2.0.0 - strip-outer: 1.0.1 - trim-repeated: 1.0.0 - - filesize@6.1.0: {} - - fill-range@2.2.4: - dependencies: - is-number: 2.1.0 - isobject: 2.1.0 - randomatic: 3.1.1 - repeat-element: 1.1.4 - repeat-string: 1.6.1 - - fill-range@4.0.0: - dependencies: - extend-shallow: 2.0.1 - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range: 2.1.1 - fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 filter-obj@1.1.0: {} - finalhandler@1.1.2: - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.3.0 - parseurl: 1.3.3 - statuses: 1.5.0 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - - finalhandler@1.3.2: + finalhandler@1.3.2(supports-color@10.2.2): dependencies: - debug: 2.6.9 + debug: 2.6.9(supports-color@10.2.2) encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 @@ -27434,9 +21499,9 @@ snapshots: transitivePeerDependencies: - supports-color - finalhandler@2.1.1: + finalhandler@2.1.1(supports-color@10.2.2): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 @@ -27445,28 +21510,10 @@ snapshots: transitivePeerDependencies: - supports-color - find-cache-dir@2.1.0: - dependencies: - commondir: 1.0.1 - make-dir: 2.1.0 - pkg-dir: 3.0.0 - find-my-way-ts@0.1.6: {} - find-replace@3.0.0: - dependencies: - array-back: 3.1.0 - - find-replace@5.0.2: {} - - find-up@1.1.2: - dependencies: - path-exists: 2.1.0 - pinkie-promise: 2.0.1 - - find-up@2.1.0: - dependencies: - locate-path: 2.0.0 + find-replace@5.0.2: + optional: true find-up@3.0.0: dependencies: @@ -27482,57 +21529,50 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - find-up@6.3.0: - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - - find-versions@3.2.0: - dependencies: - semver-regex: 2.0.0 - find-yarn-workspace-root@2.0.0: dependencies: micromatch: 4.0.8 - firebase@9.23.0: - dependencies: - '@firebase/analytics': 0.10.0(@firebase/app@0.9.13) - '@firebase/analytics-compat': 0.2.6(@firebase/app-compat@0.2.13)(@firebase/app@0.9.13) - '@firebase/app': 0.9.13 - '@firebase/app-check': 0.8.0(@firebase/app@0.9.13) - '@firebase/app-check-compat': 0.3.7(@firebase/app-compat@0.2.13)(@firebase/app@0.9.13) - '@firebase/app-compat': 0.2.13 - '@firebase/app-types': 0.9.0 - '@firebase/auth': 0.23.2(@firebase/app@0.9.13) - '@firebase/auth-compat': 0.4.2(@firebase/app-compat@0.2.13)(@firebase/app-types@0.9.0)(@firebase/app@0.9.13) - '@firebase/database': 0.14.4 - '@firebase/database-compat': 0.3.4 - '@firebase/firestore': 3.13.0(@firebase/app@0.9.13) - '@firebase/firestore-compat': 0.3.12(@firebase/app-compat@0.2.13)(@firebase/app-types@0.9.0)(@firebase/app@0.9.13) - '@firebase/functions': 0.10.0(@firebase/app@0.9.13) - '@firebase/functions-compat': 0.3.5(@firebase/app-compat@0.2.13)(@firebase/app@0.9.13) - '@firebase/installations': 0.6.4(@firebase/app@0.9.13) - '@firebase/installations-compat': 0.2.4(@firebase/app-compat@0.2.13)(@firebase/app-types@0.9.0)(@firebase/app@0.9.13) - '@firebase/messaging': 0.12.4(@firebase/app@0.9.13) - '@firebase/messaging-compat': 0.2.4(@firebase/app-compat@0.2.13)(@firebase/app@0.9.13) - '@firebase/performance': 0.6.4(@firebase/app@0.9.13) - '@firebase/performance-compat': 0.2.4(@firebase/app-compat@0.2.13)(@firebase/app@0.9.13) - '@firebase/remote-config': 0.4.4(@firebase/app@0.9.13) - '@firebase/remote-config-compat': 0.2.4(@firebase/app-compat@0.2.13)(@firebase/app@0.9.13) - '@firebase/storage': 0.11.2(@firebase/app@0.9.13) - '@firebase/storage-compat': 0.3.2(@firebase/app-compat@0.2.13)(@firebase/app-types@0.9.0)(@firebase/app@0.9.13) - '@firebase/util': 1.9.3 - transitivePeerDependencies: - - encoding - - flat-cache@3.2.0: + firebase@12.16.0: + dependencies: + '@firebase/ai': 2.13.1(@firebase/app-types@0.9.5)(@firebase/app@0.15.1) + '@firebase/analytics': 0.10.22(@firebase/app@0.15.1) + '@firebase/analytics-compat': 0.2.28(@firebase/app-compat@0.5.15)(@firebase/app@0.15.1) + '@firebase/app': 0.15.1 + '@firebase/app-check': 0.12.0(@firebase/app@0.15.1) + '@firebase/app-check-compat': 0.4.5(@firebase/app-compat@0.5.15)(@firebase/app@0.15.1) + '@firebase/app-compat': 0.5.15 + '@firebase/app-types': 0.9.5 + '@firebase/auth': 1.13.3(@firebase/app@0.15.1) + '@firebase/auth-compat': 0.6.8(@firebase/app-compat@0.5.15)(@firebase/app-types@0.9.5)(@firebase/app@0.15.1) + '@firebase/data-connect': 0.7.1(@firebase/app@0.15.1) + '@firebase/database': 1.1.3 + '@firebase/database-compat': 2.1.4 + '@firebase/firestore': 4.16.0(@firebase/app@0.15.1) + '@firebase/firestore-compat': 0.4.11(@firebase/app-compat@0.5.15)(@firebase/app-types@0.9.5)(@firebase/app@0.15.1) + '@firebase/functions': 0.13.5(@firebase/app@0.15.1) + '@firebase/functions-compat': 0.4.5(@firebase/app-compat@0.5.15)(@firebase/app@0.15.1) + '@firebase/installations': 0.6.22(@firebase/app@0.15.1) + '@firebase/installations-compat': 0.2.22(@firebase/app-compat@0.5.15)(@firebase/app-types@0.9.5)(@firebase/app@0.15.1) + '@firebase/messaging': 0.13.0(@firebase/app@0.15.1) + '@firebase/messaging-compat': 0.2.27(@firebase/app-compat@0.5.15)(@firebase/app@0.15.1) + '@firebase/performance': 0.7.12(@firebase/app@0.15.1) + '@firebase/performance-compat': 0.2.25(@firebase/app-compat@0.5.15)(@firebase/app@0.15.1) + '@firebase/remote-config': 0.9.0(@firebase/app@0.15.1) + '@firebase/remote-config-compat': 0.2.27(@firebase/app-compat@0.5.15)(@firebase/app@0.15.1) + '@firebase/storage': 0.14.3(@firebase/app@0.15.1) + '@firebase/storage-compat': 0.4.3(@firebase/app-compat@0.5.15)(@firebase/app-types@0.9.5)(@firebase/app@0.15.1) + '@firebase/util': 1.15.1 + transitivePeerDependencies: + - '@react-native-async-storage/async-storage' + + flat-cache@4.0.1: dependencies: flatted: 3.4.2 keyv: 4.5.4 - rimraf: 3.0.2 - flatbuffers@25.9.23: {} + flatbuffers@25.9.23: + optional: true flatted@3.4.2: {} @@ -27542,23 +21582,19 @@ snapshots: focus-trap@7.8.0: dependencies: - tabbable: 6.4.0 + tabbable: 6.5.0 - follow-redirects@1.15.11(debug@4.3.2): + follow-redirects@1.16.0(debug@4.3.2(supports-color@10.2.2)): optionalDependencies: - debug: 4.3.2 + debug: 4.3.2(supports-color@10.2.2) - follow-redirects@1.15.11(debug@4.3.7): + follow-redirects@1.16.0(debug@4.3.7(supports-color@10.2.2)): optionalDependencies: - debug: 4.3.7 + debug: 4.3.7(supports-color@10.2.2) - follow-redirects@1.15.11(debug@4.4.3): + follow-redirects@1.16.0(debug@4.4.3(supports-color@10.2.2)): optionalDependencies: - debug: 4.4.3 - - follow-redirects@1.16.0(debug@4.4.3): - optionalDependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) for-each@0.3.5: dependencies: @@ -27572,80 +21608,34 @@ snapshots: dependencies: for-in: 1.0.2 - foreground-child@3.3.1: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - - forever-agent@0.6.1: {} - - fork-ts-checker-webpack-plugin@4.1.6(eslint@8.57.1)(typescript@5.9.3)(webpack@5.103.0(esbuild@0.28.0)): - dependencies: - '@babel/code-frame': 7.29.0 - chalk: 2.4.2 - micromatch: 3.1.10 - minimatch: 3.1.5 - semver: 5.7.2 - tapable: 1.1.3 - typescript: 5.9.3 - webpack: 5.103.0(esbuild@0.28.0) - worker-rpc: 0.1.1 - optionalDependencies: - eslint: 8.57.1 - transitivePeerDependencies: - - supports-color - - form-data@2.3.3: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - - form-data@2.5.5: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - hasown: 2.0.2 - mime-types: 2.1.35 - safe-buffer: 5.2.1 - - form-data@4.0.0: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 + form-data-encoder@4.1.0: {} - form-data@4.0.5: + form-data@4.0.6: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 - hasown: 2.0.2 + hasown: 2.0.4 mime-types: 2.1.35 - formdata-polyfill@4.0.10: + formidable@3.5.4: dependencies: - fetch-blob: 3.2.0 - - formidable@1.2.6: {} + '@paralleldrive/cuid2': 2.3.1 + dezalgo: 1.0.4 + once: 1.4.0 forwarded@0.2.0: {} fraction.js@5.3.4: {} - fragment-cache@0.2.1: - dependencies: - map-cache: 0.2.2 - - framer-motion@12.39.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + framer-motion@12.42.2(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - motion-dom: 12.39.0 + motion-dom: 12.42.2 motion-utils: 12.39.0 tslib: 2.8.1 optionalDependencies: - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) fresh@0.5.2: {} @@ -27658,18 +21648,22 @@ snapshots: from@0.1.7: {} - fs-constants@1.0.0: {} - fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.2.0 + jsonfile: 6.2.1 universalify: 2.0.1 - fs-extra@11.3.4: + fs-extra@11.3.0: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.2.0 + jsonfile: 6.2.1 + universalify: 2.0.1 + + fs-extra@11.3.6: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.1 universalify: 2.0.1 fs-extra@7.0.1: @@ -27688,23 +21682,9 @@ snapshots: dependencies: at-least-node: 1.0.0 graceful-fs: 4.2.11 - jsonfile: 6.2.0 + jsonfile: 6.2.1 universalify: 2.0.1 - fs-minipass@1.2.7: - dependencies: - minipass: 2.9.0 - optional: true - - fs-minipass@2.1.0: - dependencies: - minipass: 3.3.6 - - fs.notify@0.0.4: - dependencies: - async: 0.1.22 - retry: 0.6.1 - fs.realpath@1.0.0: {} fsevents@2.3.2: @@ -27713,141 +21693,126 @@ snapshots: fsevents@2.3.3: optional: true - fstream@1.0.12: - dependencies: - graceful-fs: 4.2.11 - inherits: 2.0.4 - mkdirp: 0.5.6 - rimraf: 2.7.1 - - ftp@0.3.10: - dependencies: - readable-stream: 1.1.14 - xregexp: 2.0.0 - - fumadocs-core@16.7.7(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.15)(flexsearch@0.8.212)(lucide-react@1.16.0(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(zod@4.4.3): + fumadocs-core@16.11.5(@mdx-js/mdx@3.1.1(supports-color@10.2.2))(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.2.17)(flexsearch@0.8.212)(lucide-react@1.25.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(supports-color@10.2.2)(zod@4.4.3): dependencies: - '@formatjs/intl-localematcher': 0.8.8 '@orama/orama': 3.1.18 - '@shikijs/rehype': 4.1.0 - '@shikijs/transformers': 4.1.0 estree-util-value-to-estree: 3.5.0 github-slugger: 2.0.0 - hast-util-to-estree: 3.1.3 - hast-util-to-jsx-runtime: 2.3.6 - image-size: 2.0.2 - mdast-util-mdx: 3.0.0 + hast-util-to-estree: 3.1.3(supports-color@10.2.2) + hast-util-to-jsx-runtime: 2.3.6(supports-color@10.2.2) + mdast-util-mdx: 3.0.0(supports-color@10.2.2) mdast-util-to-markdown: 2.1.2 - negotiator: 1.0.0 - npm-to-yarn: 3.0.1 - path-to-regexp: 8.4.2 - remark: 15.0.1 - remark-gfm: 4.0.1 + remark: 15.0.1(supports-color@10.2.2) + remark-gfm: 4.0.1(supports-color@10.2.2) remark-rehype: 11.1.2 scroll-into-view-if-needed: 3.1.0 - shiki: 4.1.0 - tinyglobby: 0.2.16 + shiki: 4.3.1 + tinyglobby: 0.2.17 unified: 11.0.5 unist-util-visit: 5.1.0 vfile: 6.0.3 + yaml: 2.9.0 optionalDependencies: - '@mdx-js/mdx': 3.1.1 - '@tanstack/react-router': 1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@mdx-js/mdx': 3.1.1(supports-color@10.2.2) + '@tanstack/react-router': 1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8) '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 - '@types/react': 19.2.15 + '@types/react': 19.2.17 flexsearch: 0.8.212 - lucide-react: 1.16.0(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + lucide-react: 1.25.0(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) zod: 4.4.3 transitivePeerDependencies: - supports-color - fumadocs-mdx@14.2.11(@types/mdast@4.0.4)(@types/mdx@2.0.13)(@types/react@19.2.15)(fumadocs-core@16.7.7(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.15)(flexsearch@0.8.212)(lucide-react@1.16.0(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(zod@4.4.3))(react@19.2.6)(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)): + fumadocs-mdx@15.2.0(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.2.17)(fumadocs-core@16.11.5(@mdx-js/mdx@3.1.1(supports-color@10.2.2))(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.2.17)(flexsearch@0.8.212)(lucide-react@1.25.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(supports-color@10.2.2)(zod@4.4.3))(react@19.2.8)(rolldown@1.2.0)(supports-color@10.2.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)): dependencies: - '@mdx-js/mdx': 3.1.1 + '@mdx-js/mdx': 3.1.1(supports-color@10.2.2) '@standard-schema/spec': 1.1.0 chokidar: 5.0.0 - esbuild: 0.27.7 + esbuild: 0.28.1 estree-util-value-to-estree: 3.5.0 - fumadocs-core: 16.7.7(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.15)(flexsearch@0.8.212)(lucide-react@1.16.0(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(zod@4.4.3) - js-yaml: 4.1.1 - mdast-util-mdx: 3.0.0 - mdast-util-to-markdown: 2.1.2 + fumadocs-core: 16.11.5(@mdx-js/mdx@3.1.1(supports-color@10.2.2))(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.2.17)(flexsearch@0.8.212)(lucide-react@1.25.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(supports-color@10.2.2)(zod@4.4.3) + github-slugger: 2.0.0 + magic-string: 0.30.21 + mdast-util-mdx: 3.0.0(supports-color@10.2.2) picocolors: 1.1.1 - picomatch: 4.0.4 - tinyexec: 1.1.2 - tinyglobby: 0.2.16 + picomatch: 4.0.5 + tinyexec: 1.2.4 + tinyglobby: 0.2.17 unified: 11.0.5 unist-util-remove-position: 5.0.0 unist-util-visit: 5.1.0 vfile: 6.0.3 + yaml: 2.9.0 + yuku-analyzer: 0.6.12 zod: 4.4.3 optionalDependencies: '@types/mdast': 4.0.4 - '@types/mdx': 2.0.13 - '@types/react': 19.2.15 - react: 19.2.6 - vite: 8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) + '@types/mdx': 2.0.14 + '@types/react': 19.2.17 + react: 19.2.8 + rolldown: 1.2.0 + vite: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) transitivePeerDependencies: - supports-color - fumadocs-typescript@5.2.6(68e70c9b81fddf4137df7aeb383e2acb): + fumadocs-typescript@5.3.0(705878ff40af08c2852ec264df7e8c87): dependencies: estree-util-value-to-estree: 3.5.0 - fumadocs-core: 16.7.7(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.15)(flexsearch@0.8.212)(lucide-react@1.16.0(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(zod@4.4.3) - hast-util-to-estree: 3.1.3 - hast-util-to-jsx-runtime: 2.3.6 - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - remark: 15.0.1 + fumadocs-core: 16.11.5(@mdx-js/mdx@3.1.1(supports-color@10.2.2))(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.2.17)(flexsearch@0.8.212)(lucide-react@1.25.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(supports-color@10.2.2)(zod@4.4.3) + hast-util-to-estree: 3.1.3(supports-color@10.2.2) + hast-util-to-jsx-runtime: 2.3.6(supports-color@10.2.2) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + remark: 15.0.1(supports-color@10.2.2) remark-rehype: 11.1.2 - shiki: 4.1.0 + shiki: 4.3.1 ts-morph: 28.0.0 unified: 11.0.5 unist-util-visit: 5.1.0 optionalDependencies: '@types/estree': 1.0.9 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 - '@types/react': 19.2.15 - fumadocs-ui: 16.7.7(@takumi-rs/image-response@1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/mdx@2.0.13)(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(fumadocs-core@16.7.7(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.15)(flexsearch@0.8.212)(lucide-react@1.16.0(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(zod@4.4.3))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(shiki@4.1.0)(tailwindcss@4.3.0) + '@types/react': 19.2.17 + fumadocs-ui: 16.11.5(@types/mdx@2.0.14)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(fumadocs-core@16.11.5(@mdx-js/mdx@3.1.1(supports-color@10.2.2))(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.2.17)(flexsearch@0.8.212)(lucide-react@1.25.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(supports-color@10.2.2)(zod@4.4.3))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3)(takumi-js@2.4.1(csstype@3.2.3)(preact@10.29.0)(react@19.2.8)) transitivePeerDependencies: - supports-color - fumadocs-ui@16.7.7(@takumi-rs/image-response@1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/mdx@2.0.13)(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(fumadocs-core@16.7.7(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.15)(flexsearch@0.8.212)(lucide-react@1.16.0(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(zod@4.4.3))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(shiki@4.1.0)(tailwindcss@4.3.0): - dependencies: - '@fumadocs/tailwind': 0.0.3(tailwindcss@4.3.0) - '@radix-ui/react-accordion': 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-direction': 1.1.1(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-navigation-menu': 1.2.14(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@radix-ui/react-slot': 1.2.4(@types/react@19.2.15)(react@19.2.6) - '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.15))(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + fumadocs-ui@16.11.5(@types/mdx@2.0.14)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(fumadocs-core@16.11.5(@mdx-js/mdx@3.1.1(supports-color@10.2.2))(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.2.17)(flexsearch@0.8.212)(lucide-react@1.25.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(supports-color@10.2.2)(zod@4.4.3))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3)(takumi-js@2.4.1(csstype@3.2.3)(preact@10.29.0)(react@19.2.8)): + dependencies: + '@fuma-translate/react': 1.0.2(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@fumadocs/tailwind': 0.1.1(tailwindcss@4.3.3) + '@radix-ui/react-accordion': 1.2.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-collapsible': 1.1.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-dialog': 1.1.20(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-navigation-menu': 1.2.19(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-popover': 1.1.20(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-presence': 1.1.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-scroll-area': 1.2.15(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.8) + '@radix-ui/react-tabs': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) class-variance-authority: 0.7.1 - fumadocs-core: 16.7.7(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.168.13(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.15)(flexsearch@0.8.212)(lucide-react@1.16.0(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(zod@4.4.3) - lucide-react: 1.16.0(react@19.2.6) - motion: 12.39.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - next-themes: 0.4.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - react-medium-image-zoom: 5.4.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - react-remove-scroll: 2.7.2(@types/react@19.2.15)(react@19.2.6) + cnfast: 0.0.8 + fumadocs-core: 16.11.5(@mdx-js/mdx@3.1.1(supports-color@10.2.2))(@tanstack/react-router@1.170.18(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.2.17)(flexsearch@0.8.212)(lucide-react@1.25.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(supports-color@10.2.2)(zod@4.4.3) + lucide-react: 1.25.0(react@19.2.8) + motion: 12.42.2(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + next-themes: 0.4.6(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) + react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.8) rehype-raw: 7.0.0 scroll-into-view-if-needed: 3.1.0 - tailwind-merge: 3.6.0 + shiki: 4.3.1 unist-util-visit: 5.1.0 optionalDependencies: - '@takumi-rs/image-response': 1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@types/mdx': 2.0.13 - '@types/react': 19.2.15 - shiki: 4.1.0 + '@types/mdx': 2.0.14 + '@types/react': 19.2.17 + takumi-js: 2.4.1(csstype@3.2.3)(preact@10.29.0)(react@19.2.8) transitivePeerDependencies: - '@emotion/is-prop-valid' - '@types/react-dom' @@ -27855,60 +21820,49 @@ snapshots: function-bind@1.1.2: {} + function-timeout@0.1.1: {} + function-timeout@1.0.2: {} - function.prototype.name@1.1.8: + function.prototype.name@1.2.0: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 - define-properties: 1.2.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 functions-have-names: 1.2.3 - hasown: 2.0.2 + has-property-descriptors: 1.0.2 + hasown: 2.0.4 is-callable: 1.2.7 + is-document.all: 1.0.0 functions-have-names@1.2.3: {} - fuse.js@7.2.0: {} + fuse.js@7.5.0: {} futoin-hkdf@1.5.3: {} fuzzysort@3.1.0: {} - gauge@2.7.4: - dependencies: - aproba: 1.2.0 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - object-assign: 4.1.1 - signal-exit: 3.0.7 - string-width: 1.0.2 - strip-ansi: 3.0.1 - wide-align: 1.1.5 - optional: true - - gaze@1.1.3: - dependencies: - globule: 1.3.4 - generator-function@2.0.1: {} gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} - get-east-asian-width@1.5.0: {} + get-east-asian-width@1.6.0: {} get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 function-bind: 1.1.2 get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 - hasown: 2.0.2 + hasown: 2.0.4 math-intrinsics: 1.1.0 get-nonce@1.0.1: {} @@ -27919,105 +21873,54 @@ snapshots: get-port@5.1.1: {} + get-port@7.2.0: {} + get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 - - get-proxy@2.1.0: - dependencies: - npm-conf: 1.1.3 - - get-stdin@4.0.1: {} - - get-stream@2.3.1: - dependencies: - object-assign: 4.1.1 - pinkie-promise: 2.0.1 + es-object-atoms: 1.1.2 get-stream@3.0.0: {} get-stream@4.1.0: dependencies: - pump: 3.0.3 + pump: 3.0.4 get-stream@5.2.0: dependencies: - pump: 3.0.3 + pump: 3.0.4 get-stream@6.0.1: {} get-stream@9.0.1: dependencies: '@sec-ant/readable-stream': 0.4.1 - is-stream: 4.0.1 - - get-symbol-description@1.1.0: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - - get-tsconfig@4.13.7: - dependencies: - resolve-pkg-maps: 1.0.0 - - get-uri@3.0.2: - dependencies: - '@tootallnate/once': 1.1.2 - data-uri-to-buffer: 3.0.1 - debug: 4.4.3 - file-uri-to-path: 2.0.0 - fs-extra: 8.1.0 - ftp: 0.3.10 - transitivePeerDependencies: - - supports-color - - get-uri@6.0.5: - dependencies: - basic-ftp: 5.0.5 - data-uri-to-buffer: 6.0.2 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - - get-value@2.0.6: {} + is-stream: 4.0.1 - getpass@0.1.7: + get-symbol-description@1.1.0: dependencies: - assert-plus: 1.0.0 + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 - gifsicle@4.0.1: + get-tsconfig@4.14.0: dependencies: - bin-build: 3.0.0 - bin-wrapper: 4.1.0 - execa: 1.0.0 - logalot: 2.1.0 - - git-node-fs@1.0.0(js-git@0.7.8): - optionalDependencies: - js-git: 0.7.8 - - git-sha1@0.1.2: {} + resolve-pkg-maps: 1.0.0 - git-up@4.0.5: + get-tsconfig@5.0.0-beta.5: dependencies: - is-ssh: 1.4.1 - parse-url: 6.0.5 + resolve-pkg-maps: 1.0.0 - git-url-parse@11.6.0: + get-uri@6.0.5(supports-color@10.2.2): dependencies: - git-up: 4.0.5 - - github-slugger@1.5.0: {} + basic-ftp: 5.3.1 + data-uri-to-buffer: 6.0.2 + debug: 4.4.3(supports-color@10.2.2) + transitivePeerDependencies: + - supports-color github-slugger@2.0.0: {} - glob-parent@3.1.0: - dependencies: - is-glob: 3.1.0 - path-dirname: 1.0.2 - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -28026,111 +21929,36 @@ snapshots: dependencies: is-glob: 4.0.3 - glob-stream@6.1.0: - dependencies: - extend: 3.0.2 - glob: 7.2.3 - glob-parent: 3.1.0 - is-negated-glob: 1.0.0 - ordered-read-streams: 1.0.1 - pumpify: 1.5.1 - readable-stream: 2.3.8 - remove-trailing-separator: 1.1.0 - to-absolute-glob: 2.0.2 - unique-stream: 2.4.0 - - glob-to-regexp@0.3.0: {} - glob-to-regexp@0.4.1: {} - glob@11.1.0: - dependencies: - foreground-child: 3.3.1 - jackspeak: 4.1.1 - minimatch: 10.1.1 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 2.0.1 - glob@13.0.6: dependencies: minimatch: 10.2.5 minipass: 7.1.3 path-scurry: 2.0.2 - glob@7.1.7: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.5 - once: 1.4.0 - path-is-absolute: 1.0.1 - glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.1.5 once: 1.4.0 path-is-absolute: 1.0.1 - glob@8.1.0: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - global-dirs@3.0.1: dependencies: ini: 2.0.0 - global-modules@2.0.0: - dependencies: - global-prefix: 3.0.0 - - global-prefix@3.0.0: - dependencies: - ini: 1.3.8 - kind-of: 6.0.3 - which: 1.3.1 - - globals@13.24.0: - dependencies: - type-fest: 0.20.2 - globals@15.15.0: {} - globals@17.4.0: {} + globals@17.7.0: {} globalthis@1.0.4: dependencies: define-properties: 1.2.1 gopd: 1.2.0 - globalyzer@0.1.0: {} - - globby@11.0.1: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - - globby@11.0.4: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - globby@11.1.0: dependencies: array-union: 2.1.0 @@ -28140,40 +21968,10 @@ snapshots: merge2: 1.4.1 slash: 3.0.0 - globby@13.2.2: - dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 4.0.0 - - globby@8.0.2: - dependencies: - array-union: 1.0.2 - dir-glob: 2.0.0 - fast-glob: 2.2.7 - glob: 7.2.3 - ignore: 3.3.10 - pify: 3.0.0 - slash: 1.0.0 - transitivePeerDependencies: - - supports-color - globrex@0.1.2: {} - globule@1.3.4: - dependencies: - glob: 7.1.7 - lodash: 4.17.21 - minimatch: 3.0.8 - glossy@0.1.7: {} - goober@2.1.18(csstype@3.2.3): - dependencies: - csstype: 3.2.3 - goober@2.1.19(csstype@3.2.3): dependencies: csstype: 3.2.3 @@ -28194,24 +21992,20 @@ snapshots: p-cancelable: 2.1.1 responselike: 2.0.1 - got@7.1.0: + got@14.6.6: dependencies: - '@types/keyv': 3.1.4 - '@types/responselike': 1.0.3 - decompress-response: 3.3.0 - duplexer3: 0.1.5 - get-stream: 3.0.0 - is-plain-obj: 1.1.0 - is-retry-allowed: 1.2.0 - is-stream: 1.1.0 - isurl: 1.0.0 - lowercase-keys: 1.0.1 - p-cancelable: 0.3.0 - p-timeout: 1.2.1 - safe-buffer: 5.2.1 - timed-out: 4.0.1 - url-parse-lax: 1.0.0 - url-to-options: 1.0.1 + '@sindresorhus/is': 7.2.0 + byte-counter: 0.1.0 + cacheable-lookup: 7.0.0 + cacheable-request: 13.0.19 + decompress-response: 10.0.0 + form-data-encoder: 4.1.0 + http2-wrapper: 2.2.1 + keyv: 5.6.0 + lowercase-keys: 3.0.0 + p-cancelable: 4.0.1 + responselike: 4.0.2 + type-fest: 4.41.0 got@8.3.2: dependencies: @@ -28253,68 +22047,20 @@ snapshots: graceful-fs@4.2.11: {} - graph-cycles@1.2.1: - dependencies: - fast-string-compare: 1.0.0 - rotated-array-set: 1.0.0 - short-tree: 1.0.0 - - grapheme-splitter@1.0.4: {} - - graphemer@1.4.0: {} - - graphql@16.12.0: {} - - gray-matter@2.1.1: - dependencies: - ansi-red: 0.1.1 - coffee-script: 1.12.7 - extend-shallow: 2.0.1 - js-yaml: 3.14.2 - toml: 2.3.6 + graphql@16.14.2: + optional: true guess-json-indent@3.0.1: {} - gulp-header@1.8.12: - dependencies: - concat-with-sourcemaps: 1.1.0 - lodash.template: 4.5.0 - through2: 2.0.5 - - gzip-size@5.1.1: - dependencies: - duplexer: 0.1.2 - pify: 4.0.1 - - h3@2.0.1-rc.16(crossws@0.4.4(srvx@0.11.15)): + h3@2.0.1-rc.20(crossws@0.4.4(srvx@0.11.22)): dependencies: rou3: 0.8.1 - srvx: 0.11.15 - optionalDependencies: - crossws: 0.4.4(srvx@0.11.15) - - handlebars@4.7.8: - dependencies: - minimist: 1.2.8 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 + srvx: 0.11.22 optionalDependencies: - uglify-js: 3.19.3 - - har-schema@2.0.0: {} - - har-validator@5.1.5: - dependencies: - ajv: 6.14.0 - har-schema: 2.0.0 + crossws: 0.4.4(srvx@0.11.22) hard-rejection@2.1.0: {} - has-ansi@2.0.0: - dependencies: - ansi-regex: 2.1.1 - has-bigints@1.1.0: {} has-flag@3.0.0: {} @@ -28341,31 +22087,10 @@ snapshots: dependencies: has-symbols: 1.1.0 - has-unicode@2.0.1: - optional: true - - has-value@0.3.1: - dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 - - has-value@1.0.0: - dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 - - has-values@0.1.4: {} - - has-values@1.0.0: - dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 - has-yarn@2.1.0: {} - has@1.0.4: {} + has@1.0.4: + optional: true hash-sum@2.0.0: {} @@ -28374,18 +22099,18 @@ snapshots: is-stream: 2.0.1 type-fest: 0.8.1 - hasown@2.0.2: + hasown@2.0.4: dependencies: function-bind: 1.1.2 hast-util-embedded@3.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-is-element: 3.0.0 hast-util-format@1.1.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-embedded: 3.0.0 hast-util-minify-whitespace: 1.0.1 hast-util-phrasing: 3.0.1 @@ -28395,7 +22120,7 @@ snapshots: hast-util-from-html@2.0.3: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 devlop: 1.1.0 hast-util-from-parse5: 8.0.3 parse5: 7.3.0 @@ -28404,30 +22129,30 @@ snapshots: hast-util-from-parse5@8.0.3: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/unist': 3.0.3 devlop: 1.1.0 hastscript: 9.0.1 - property-information: 7.1.0 + property-information: 7.2.0 vfile: 6.0.3 vfile-location: 5.0.3 web-namespaces: 2.0.1 hast-util-has-property@3.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-is-body-ok-link@3.0.1: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-is-element@3.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-minify-whitespace@1.0.1: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-embedded: 3.0.0 hast-util-is-element: 3.0.0 hast-util-whitespace: 3.0.0 @@ -28435,11 +22160,11 @@ snapshots: hast-util-parse-selector@4.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-phrasing@3.0.1: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-embedded: 3.0.0 hast-util-has-property: 3.0.0 hast-util-is-body-ok-link: 3.0.1 @@ -28447,9 +22172,9 @@ snapshots: hast-util-raw@9.1.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/unist': 3.0.3 - '@ungap/structured-clone': 1.3.1 + '@ungap/structured-clone': 1.3.3 hast-util-from-parse5: 8.0.3 hast-util-to-parse5: 8.0.1 html-void-elements: 3.0.0 @@ -28463,24 +22188,24 @@ snapshots: hast-util-sanitize@5.0.2: dependencies: - '@types/hast': 3.0.4 - '@ungap/structured-clone': 1.3.1 + '@types/hast': 3.0.5 + '@ungap/structured-clone': 1.3.3 unist-util-position: 5.0.0 - hast-util-to-estree@3.1.3: + hast-util-to-estree@3.1.3(supports-color@10.2.2): dependencies: '@types/estree': 1.0.9 '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 comma-separated-tokens: 2.0.3 devlop: 1.1.0 estree-util-attach-comments: 3.0.0 estree-util-is-identifier-name: 3.0.0 hast-util-whitespace: 3.0.0 - mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.2.0 - mdast-util-mdxjs-esm: 2.0.1 - property-information: 7.1.0 + mdast-util-mdx-expression: 2.0.1(supports-color@10.2.2) + mdast-util-mdx-jsx: 3.2.0(supports-color@10.2.2) + mdast-util-mdxjs-esm: 2.0.1(supports-color@10.2.2) + property-information: 7.2.0 space-separated-tokens: 2.0.2 style-to-js: 1.1.21 unist-util-position: 5.0.0 @@ -28490,31 +22215,31 @@ snapshots: hast-util-to-html@9.0.5: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/unist': 3.0.3 ccount: 2.0.1 comma-separated-tokens: 2.0.3 hast-util-whitespace: 3.0.0 html-void-elements: 3.0.0 mdast-util-to-hast: 13.2.1 - property-information: 7.1.0 + property-information: 7.2.0 space-separated-tokens: 2.0.2 stringify-entities: 4.0.4 zwitch: 2.0.4 - hast-util-to-jsx-runtime@2.3.6: + hast-util-to-jsx-runtime@2.3.6(supports-color@10.2.2): dependencies: '@types/estree': 1.0.9 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/unist': 3.0.3 comma-separated-tokens: 2.0.3 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 hast-util-whitespace: 3.0.0 - mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.2.0 - mdast-util-mdxjs-esm: 2.0.1 - property-information: 7.1.0 + mdast-util-mdx-expression: 2.0.1(supports-color@10.2.2) + mdast-util-mdx-jsx: 3.2.0(supports-color@10.2.2) + mdast-util-mdxjs-esm: 2.0.1(supports-color@10.2.2) + property-information: 7.2.0 space-separated-tokens: 2.0.2 style-to-js: 1.1.21 unist-util-position: 5.0.0 @@ -28524,35 +22249,31 @@ snapshots: hast-util-to-parse5@8.0.1: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 comma-separated-tokens: 2.0.3 devlop: 1.1.0 - property-information: 7.1.0 + property-information: 7.2.0 space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 - hast-util-to-string@3.0.1: - dependencies: - '@types/hast': 3.0.4 - hast-util-to-text@4.0.2: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/unist': 3.0.3 hast-util-is-element: 3.0.0 unist-util-find-after: 5.0.0 hast-util-whitespace@3.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hastscript@9.0.1: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 4.0.0 - property-information: 7.1.0 + property-information: 7.2.0 space-separated-tokens: 2.0.2 header-case@2.0.4: @@ -28560,30 +22281,21 @@ snapshots: capital-case: 1.0.4 tslib: 2.8.1 - headers-polyfill@4.0.3: {} + headers-polyfill@4.0.3: + optional: true helmet@5.1.1: {} - helmet@6.2.0: {} - - help-me@1.1.0: - dependencies: - callback-stream: 1.1.0 - glob-stream: 6.1.0 - through2: 2.0.5 - xtend: 4.0.2 + help-me@5.0.0: {} - hex-color-regex@1.1.0: {} + hex-color-regex@1.1.0: + optional: true highlight.js@11.11.1: {} - highlight.js@9.18.5: {} - - highlightjs-curl@1.3.0: {} + hono@4.12.31: {} - hono@4.12.9: {} - - hookable@6.1.0: {} + hookable@6.1.1: {} hosted-git-info@2.8.9: {} @@ -28591,24 +22303,17 @@ snapshots: dependencies: lru-cache: 6.0.0 - hosted-git-info@6.1.3: - dependencies: - lru-cache: 7.18.3 - hpagent@1.2.0: {} - hsl-regex@1.0.0: {} - - hsla-regex@1.0.0: {} + hsl-regex@1.0.0: + optional: true - html-element-map@1.3.1: - dependencies: - array.prototype.filter: 1.0.4 - call-bind: 1.0.8 + hsla-regex@1.0.0: + optional: true html-encoding-sniffer@6.0.0(@noble/hashes@1.8.0): dependencies: - '@exodus/bytes': 1.15.0(@noble/hashes@1.8.0) + '@exodus/bytes': 1.15.1(@noble/hashes@1.8.0) transitivePeerDependencies: - '@noble/hashes' @@ -28616,20 +22321,6 @@ snapshots: html-whitespace-sensitive-tag-names@3.0.1: {} - htmlparser2@10.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - entities: 6.0.1 - - htmlparser2@10.1.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - entities: 7.0.1 - htmlparser2@3.10.1: dependencies: domelementtype: 1.3.1 @@ -28639,12 +22330,12 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - htmlparser2@8.0.2: + htmlparser2@6.1.0: dependencies: domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - entities: 4.5.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 http-auth@3.2.4: dependencies: @@ -28657,22 +22348,6 @@ snapshots: http-cache-semantics@4.2.0: {} - http-errors@1.7.2: - dependencies: - depd: 1.1.2 - inherits: 2.0.3 - setprototypeof: 1.1.1 - statuses: 1.5.0 - toidentifier: 1.0.0 - - http-errors@1.7.3: - dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.1.1 - statuses: 1.5.0 - toidentifier: 1.0.0 - http-errors@2.0.0: dependencies: depd: 2.0.0 @@ -28691,18 +22366,18 @@ snapshots: http-parser-js@0.5.10: {} - http-proxy-agent@4.0.1: + http-proxy-agent@4.0.1(supports-color@10.2.2): dependencies: '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.4.3 + agent-base: 6.0.2(supports-color@10.2.2) + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color - http-proxy-agent@7.0.2: + http-proxy-agent@7.0.2(supports-color@10.2.2): dependencies: agent-base: 7.1.4 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color @@ -28711,51 +22386,41 @@ snapshots: bufferhelper: 0.2.1 concat-stream: 1.6.2 - http-proxy@1.18.1(debug@4.4.3): + http-proxy@1.18.1(debug@4.4.3(supports-color@10.2.2)): dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.11(debug@4.4.3) + follow-redirects: 1.16.0(debug@4.4.3(supports-color@10.2.2)) requires-port: 1.0.0 transitivePeerDependencies: - debug http-reasons@0.1.0: {} - http-signature@1.2.0: - dependencies: - assert-plus: 1.0.0 - jsprim: 1.4.2 - sshpk: 1.18.0 - http2-wrapper@1.0.3: dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 - https-proxy-agent@5.0.0: + http2-wrapper@2.2.1: dependencies: - agent-base: 6.0.2 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 - https-proxy-agent@5.0.1: + https-proxy-agent@5.0.1(supports-color@10.2.2): dependencies: - agent-base: 6.0.2 - debug: 4.4.3 + agent-base: 6.0.2(supports-color@10.2.2) + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color - https-proxy-agent@7.0.6: + https-proxy-agent@7.0.6(supports-color@10.2.2): dependencies: agent-base: 7.1.4 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color - human-id@3.0.1: {} - - human-id@4.1.3: {} + human-id@4.2.0: {} human-signals@1.1.1: {} @@ -28763,11 +22428,11 @@ snapshots: human-signals@8.0.1: {} - husky@7.0.4: {} - - i18next@15.1.2: + i18next@25.8.14(typescript@7.0.2): dependencies: - '@babel/runtime': 7.29.2 + '@babel/runtime': 7.29.7 + optionalDependencies: + typescript: 7.0.2 iconv-lite@0.4.24: dependencies: @@ -28781,122 +22446,59 @@ snapshots: dependencies: safer-buffer: 2.1.2 - iconv-lite@0.7.2: + iconv-lite@0.7.3: dependencies: safer-buffer: 2.1.2 - idb@7.0.1: {} - idb@7.1.1: {} - identifier-regex@1.0.1: + identifier-regex@1.1.0: dependencies: reserved-identifiers: 1.2.0 ieee754@1.2.1: {} - ignore-by-default@2.1.0: {} - - ignore-walk@3.0.4: - dependencies: - minimatch: 3.1.5 - optional: true - - ignore@3.3.10: {} - ignore@5.3.2: {} - ignore@7.0.5: {} + ignore@7.0.6: {} image-size@1.0.0: dependencies: queue: 6.0.2 - image-size@2.0.2: {} - image-type@4.1.0: dependencies: file-type: 10.11.0 - imagemin-gifsicle@6.0.1: - dependencies: - exec-buffer: 3.2.0 - gifsicle: 4.0.1 - is-gif: 3.0.0 - - imagemin-jpegtran@6.0.0: - dependencies: - exec-buffer: 3.2.0 - is-jpg: 2.0.0 - jpegtran-bin: 4.0.0 - - imagemin-optipng@6.0.0: - dependencies: - exec-buffer: 3.2.0 - is-png: 1.1.0 - optipng-bin: 5.1.0 - - imagemin-svgo@7.1.0: - dependencies: - is-svg: 4.4.0 - svgo: 1.3.2 - - imagemin@6.1.0: - dependencies: - file-type: 10.11.0 - globby: 8.0.2 - make-dir: 1.3.0 - p-pipe: 1.2.0 - pify: 4.0.1 - replace-ext: 1.0.1 - transitivePeerDependencies: - - supports-color - - immer@8.0.1: {} - - import-cwd@3.0.0: - dependencies: - import-from: 3.0.0 - import-fresh@2.0.0: dependencies: caller-path: 2.0.0 resolve-from: 3.0.0 + optional: true import-fresh@3.3.1: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - import-from@3.0.0: - dependencies: - resolve-from: 5.0.0 - import-lazy@2.1.0: {} - import-lazy@3.1.0: {} - - import-without-cache@0.2.5: {} + import-without-cache@0.4.0: {} imurmurhash@0.1.4: {} - indent-string@2.1.0: - dependencies: - repeating: 2.0.1 - indent-string@4.0.0: {} indent-string@5.0.0: {} - indexes-of@1.0.1: {} + indexes-of@1.0.1: + optional: true inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - inherits@2.0.3: {} - inherits@2.0.4: {} ini@1.3.8: {} @@ -28905,119 +22507,101 @@ snapshots: ini@7.0.0: {} - ink@5.2.1(@types/react@18.3.28)(react@18.3.1): + ink@7.1.1(@types/react@19.2.17)(react@19.2.8): dependencies: - '@alcalzone/ansi-tokenize': 0.1.3 + '@alcalzone/ansi-tokenize': 0.3.0 ansi-escapes: 7.3.0 ansi-styles: 6.2.3 auto-bind: 5.0.1 chalk: 5.6.2 - cli-boxes: 3.0.0 + cli-boxes: 4.0.1 cli-cursor: 4.0.0 - cli-truncate: 4.0.0 + cli-truncate: 6.1.1 code-excerpt: 4.0.0 - es-toolkit: 1.45.1 + es-toolkit: 1.49.0 indent-string: 5.0.0 - is-in-ci: 1.0.0 + is-in-ci: 2.0.0 patch-console: 2.0.0 - react: 18.3.1 - react-reconciler: 0.29.2(react@18.3.1) - scheduler: 0.23.2 + react: 19.2.8 + react-reconciler: 0.33.0(react@19.2.8) + scheduler: 0.27.0 signal-exit: 3.0.7 - slice-ansi: 7.1.2 + slice-ansi: 9.0.0 stack-utils: 2.0.6 - string-width: 7.2.0 - type-fest: 4.41.0 - widest-line: 5.0.0 - wrap-ansi: 9.0.2 - ws: 8.20.0 + string-width: 8.2.2 + terminal-size: 4.0.1 + type-fest: 5.8.0 + widest-line: 6.0.0 + wrap-ansi: 10.0.0 + ws: 8.21.1 yoga-layout: 3.2.1 optionalDependencies: - '@types/react': 18.3.28 + '@types/react': 19.2.17 transitivePeerDependencies: - bufferutil - utf-8-validate inline-style-parser@0.2.7: {} - inquirer@8.2.0: - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - ora: 5.4.1 - run-async: 2.4.1 - rxjs: 7.8.2 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - internal-slot@1.1.0: dependencies: es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.1.0 - - interpret@1.4.0: {} + hasown: 2.0.4 + side-channel: 1.1.1 into-stream@3.1.0: dependencies: from2: 2.3.0 p-is-promise: 1.1.0 - ip-address@10.1.0: {} + ioredis@5.11.1(supports-color@10.2.2): + dependencies: + '@ioredis/commands': 1.10.0 + cluster-key-slot: 1.1.1 + debug: 4.4.3(supports-color@10.2.2) + denque: 2.1.0 + redis-errors: 1.2.0 + redis-parser: 3.0.0 + standard-as-callback: 2.1.0 + transitivePeerDependencies: + - supports-color - ip-regex@4.3.0: {} + ip-address@10.2.0: {} - ip6@0.2.11: {} + ip-regex@2.1.0: {} - ip@1.1.9: {} + ip-regex@5.0.0: {} - ip@2.0.1: {} + ip6@0.2.13: {} ipaddr.js@1.9.1: {} - irregular-plurals@3.5.0: {} - - is-absolute-url@2.1.0: {} + is-absolute-url@2.1.0: + optional: true is-absolute-url@4.0.1: {} - is-absolute@1.0.0: + is-accessor-descriptor@1.0.2: dependencies: - is-relative: 1.0.0 - is-windows: 1.0.2 - - is-accessor-descriptor@1.0.1: - dependencies: - hasown: 2.0.2 + hasown: 2.0.4 is-alphabetical@2.0.1: {} is-alphanumerical@2.0.1: dependencies: is-alphabetical: 2.0.1 - is-decimal: 2.0.1 - - is-arguments@1.2.0: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 + is-decimal: 2.0.1 is-array-buffer@3.0.5: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 get-intrinsic: 1.3.0 is-arrayish@0.2.1: {} - is-arrayish@0.3.4: {} + is-arrayish@0.3.4: + optional: true is-async-function@2.1.1: dependencies: @@ -29048,10 +22632,6 @@ snapshots: dependencies: ci-info: 2.0.0 - is-ci@3.0.1: - dependencies: - ci-info: 3.9.0 - is-color-stop@1.1.0: dependencies: css-color-names: 0.0.4 @@ -29060,14 +22640,15 @@ snapshots: hsla-regex: 1.0.0 rgb-regex: 1.0.1 rgba-regex: 1.0.0 + optional: true - is-core-module@2.16.1: + is-core-module@2.16.2: dependencies: - hasown: 2.0.2 + hasown: 2.0.4 is-data-descriptor@1.0.1: dependencies: - hasown: 2.0.2 + hasown: 2.0.4 is-data-view@1.0.2: dependencies: @@ -29082,50 +22663,35 @@ snapshots: is-decimal@2.0.1: {} - is-descriptor@0.1.7: - dependencies: - is-accessor-descriptor: 1.0.1 - is-data-descriptor: 1.0.1 - - is-descriptor@1.0.3: + is-descriptor@1.0.4: dependencies: - is-accessor-descriptor: 1.0.1 + is-accessor-descriptor: 1.0.2 is-data-descriptor: 1.0.1 - is-directory@0.3.1: {} + is-directory@0.3.1: + optional: true is-docker@2.2.1: {} is-docker@3.0.0: {} - is-error@2.2.2: {} + is-document.all@1.0.0: + dependencies: + call-bound: 1.0.4 is-extendable@0.1.1: {} - is-extendable@1.0.1: - dependencies: - is-plain-object: 2.0.4 - is-extglob@2.1.1: {} is-finalizationregistry@1.1.1: dependencies: call-bound: 1.0.4 - is-finite@1.1.0: {} - - is-fullwidth-code-point@1.0.0: - dependencies: - number-is-nan: 1.0.1 - optional: true - is-fullwidth-code-point@3.0.0: {} - is-fullwidth-code-point@4.0.0: {} - is-fullwidth-code-point@5.1.0: dependencies: - get-east-asian-width: 1.5.0 + get-east-asian-width: 1.6.0 is-generator-function@1.1.2: dependencies: @@ -29135,26 +22701,18 @@ snapshots: has-tostringtag: 1.0.2 safe-regex-test: 1.1.0 - is-gif@3.0.0: - dependencies: - file-type: 10.11.0 - - is-glob@3.1.0: - dependencies: - is-extglob: 2.1.1 - is-glob@4.0.3: dependencies: is-extglob: 2.1.1 is-hexadecimal@2.0.1: {} - is-identifier@1.0.1: + is-identifier@1.1.0: dependencies: - identifier-regex: 1.0.1 + identifier-regex: 1.1.0 super-regex: 1.1.0 - is-in-ci@1.0.0: {} + is-in-ci@2.0.0: {} is-in-ssh@1.0.0: {} @@ -29167,25 +22725,19 @@ snapshots: global-dirs: 3.0.1 is-path-inside: 3.0.3 - is-interactive@1.0.0: {} - is-interactive@2.0.0: {} - is-ip@3.1.0: + is-ip@5.0.1: dependencies: - ip-regex: 4.3.0 - - is-jpg@2.0.0: {} + ip-regex: 5.0.0 + super-regex: 0.2.0 is-map@2.0.3: {} - is-natural-number@4.0.1: {} - - is-negated-glob@1.0.0: {} - is-negative-zero@2.0.3: {} - is-node-process@1.2.0: {} + is-node-process@1.2.0: + optional: true is-npm@5.0.0: {} @@ -29194,16 +22746,10 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-number@2.1.0: - dependencies: - kind-of: 3.2.2 - is-number@3.0.0: dependencies: kind-of: 3.2.2 - is-number@4.0.0: {} - is-number@7.0.0: {} is-obj@2.0.0: {} @@ -29222,10 +22768,6 @@ snapshots: dependencies: isobject: 3.0.1 - is-plain-object@5.0.0: {} - - is-png@1.1.0: {} - is-port-reachable@4.0.0: {} is-potential-custom-element-name@1.0.1: {} @@ -29237,20 +22779,15 @@ snapshots: call-bound: 1.0.4 gopd: 1.2.0 has-tostringtag: 1.0.2 - hasown: 2.0.2 + hasown: 2.0.4 is-regexp@3.1.0: {} - is-relative@1.0.0: - dependencies: - is-unc-path: 1.0.0 - - is-resolvable@1.1.0: {} + is-resolvable@1.1.0: + optional: true is-retry-allowed@1.2.0: {} - is-root@2.1.0: {} - is-set@2.0.3: {} is-shared-array-buffer@1.0.4: @@ -29261,8 +22798,6 @@ snapshots: dependencies: protocols: 2.0.2 - is-stream@1.1.0: {} - is-stream@2.0.1: {} is-stream@4.0.1: {} @@ -29276,12 +22811,6 @@ snapshots: dependencies: better-path-resolve: 1.0.0 - is-subset@0.1.1: {} - - is-svg@4.4.0: - dependencies: - fast-xml-parser: 4.5.3 - is-symbol@1.1.1: dependencies: call-bound: 1.0.4 @@ -29290,16 +22819,10 @@ snapshots: is-typed-array@1.1.15: dependencies: - which-typed-array: 1.1.19 + which-typed-array: 1.1.22 is-typedarray@1.0.0: {} - is-unc-path@1.0.0: - dependencies: - unc-path-regex: 0.1.2 - - is-unicode-supported@0.1.0: {} - is-unicode-supported@1.3.0: {} is-unicode-supported@2.1.0: {} @@ -29337,10 +22860,10 @@ snapshots: is-zst@1.0.0: {} - is2@2.0.9: + is2@2.0.1: dependencies: deep-is: 0.1.4 - ip-regex: 4.3.0 + ip-regex: 2.1.0 is-url: 1.2.4 isarray@0.0.1: {} @@ -29349,43 +22872,26 @@ snapshots: isarray@2.0.5: {} - isbot@5.1.40: {} + isbot@5.2.1: {} isexe@2.0.0: {} isexe@3.1.5: {} - isobject@2.1.0: - dependencies: - isarray: 1.0.0 - isobject@3.0.1: {} - isomorphic-ws@5.0.0(ws@8.20.0): + isomorphic-ws@5.0.0(ws@8.21.1): dependencies: - ws: 8.20.0 - - isstream@0.1.2: {} + ws: 8.21.1 isurl@1.0.0: dependencies: has-to-string-tag-x: 1.4.1 is-object: 1.0.2 - iterate-iterator@1.0.2: {} - - iterate-value@1.0.2: - dependencies: - es-get-iterator: 1.1.3 - iterate-iterator: 1.0.2 - - jackspeak@4.1.1: - dependencies: - '@isaacs/cliui': 8.0.2 - jest-worker@27.5.1: dependencies: - '@types/node': 22.19.15 + '@types/node': 26.1.1 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -29393,38 +22899,20 @@ snapshots: jiti@2.7.0: {} - jose@6.2.2: {} - - jpegtran-bin@4.0.0: - dependencies: - bin-build: 3.0.0 - bin-wrapper: 4.1.0 - logalot: 2.1.0 - - js-base64@3.7.8: {} + jose@6.2.3: {} - js-git@0.7.8: - dependencies: - bodec: 0.1.0 - culvert: 0.1.2 - git-sha1: 0.1.2 - pako: 0.2.9 + js-base64@3.9.1: {} - js-string-escape@1.0.1: {} + js-sdsl@4.3.0: {} js-tokens@4.0.0: {} - js-yaml@3.14.0: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - js-yaml@3.14.1: dependencies: argparse: 1.0.10 esprima: 4.0.1 - js-yaml@3.14.2: + js-yaml@3.15.0: dependencies: argparse: 1.0.10 esprima: 4.0.1 @@ -29433,106 +22921,93 @@ snapshots: dependencies: argparse: 2.0.1 - jsbn@0.1.1: {} + js-yaml@4.3.0: + dependencies: + argparse: 2.0.1 - jsdom@27.4.0(@noble/hashes@1.8.0): + jsdom@29.1.1(@noble/hashes@1.8.0): dependencies: - '@acemir/cssom': 0.9.31 - '@asamuzakjp/dom-selector': 6.8.1 - '@exodus/bytes': 1.15.0(@noble/hashes@1.8.0) - cssstyle: 5.3.7 - data-urls: 6.0.1 + '@asamuzakjp/css-color': 5.1.11 + '@asamuzakjp/dom-selector': 7.1.1 + '@bramus/specificity': 2.4.2 + '@csstools/css-syntax-patches-for-csstree': 1.1.6(css-tree@3.2.1) + '@exodus/bytes': 1.15.1(@noble/hashes@1.8.0) + css-tree: 3.2.1 + data-urls: 7.0.0(@noble/hashes@1.8.0) decimal.js: 10.6.0 html-encoding-sniffer: 6.0.0(@noble/hashes@1.8.0) - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 is-potential-custom-element-name: 1.0.1 - parse5: 8.0.0 + lru-cache: 11.5.2 + parse5: 8.0.1 saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 6.0.1 + tough-cookie: 6.0.2 + undici: 7.28.0 w3c-xmlserializer: 5.0.0 webidl-conversions: 8.0.1 - whatwg-mimetype: 4.0.0 - whatwg-url: 15.1.0 - ws: 8.20.0 + whatwg-mimetype: 5.0.0 + whatwg-url: 16.0.1(@noble/hashes@1.8.0) xml-name-validator: 5.0.0 transitivePeerDependencies: - '@noble/hashes' - - bufferutil - - supports-color - - utf-8-validate jsesc@3.1.0: {} - json-bignum@0.0.3: {} + json-bignum@0.0.3: + optional: true json-buffer@3.0.0: {} json-buffer@3.0.1: {} - json-parse-better-errors@1.0.2: {} + json-parse-better-errors@1.0.2: + optional: true json-parse-even-better-errors@2.3.1: {} - json-schema-cycles@1.1.0: - dependencies: - graph-cycles: 1.2.1 - json-schema-traverse: 1.0.0 - json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} + json-schema-typed@7.0.3: {} + json-schema-typed@8.0.2: {} json-schema@0.4.0: {} json-stable-stringify-without-jsonify@1.0.1: {} - json-stringify-safe@5.0.1: {} - - json-to-ast@2.1.0: + json-stable-stringify@1.3.0: dependencies: - code-error-fragment: 0.0.230 - grapheme-splitter: 1.0.4 + call-bind: 1.0.9 + call-bound: 1.0.4 + isarray: 2.0.5 + jsonify: 0.0.1 + object-keys: 1.1.1 - json5@2.2.3: {} + json-stringify-safe@5.0.1: {} - jsonata@1.8.4: {} + json5@2.2.3: {} jsonata@2.0.5: {} + jsonata@2.0.6: {} + jsonc-parser@3.3.1: {} jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 - jsonfile@6.2.0: + jsonfile@6.2.1: dependencies: universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 - jsonpointer@4.1.0: {} - - jsonpointer@5.0.1: {} - - jsonpos@1.1.0: - dependencies: - json-to-ast: 2.1.0 - - jsprim@1.4.2: - dependencies: - assert-plus: 1.0.0 - extsprintf: 1.3.0 - json-schema: 0.4.0 - verror: 1.10.0 + jsonify@0.0.1: {} - just-clone@6.2.0: {} - - just-extend@4.2.1: {} + just-extend@6.2.0: {} keygenerator@1.0.4: {} @@ -29552,15 +23027,15 @@ snapshots: dependencies: json-buffer: 3.0.1 - kind-of@2.0.1: + keyv@5.6.0: dependencies: - is-buffer: 1.1.6 + '@keyv/serialize': 1.1.1 - kind-of@3.2.2: + kind-of@2.0.1: dependencies: is-buffer: 1.1.6 - kind-of@4.0.0: + kind-of@3.2.2: dependencies: is-buffer: 1.1.6 @@ -29584,40 +23059,30 @@ snapshots: dependencies: package-json: 6.5.0 - launch-editor@2.13.2: + launch-editor@2.14.1: dependencies: picocolors: 1.1.1 - shell-quote: 1.8.3 + shell-quote: 1.10.0 lazy-cache@0.2.7: {} lazy-cache@1.0.4: {} - lazy-cache@2.0.2: - dependencies: - set-getter: 0.1.1 - - lazy@1.0.11: {} - - leven@2.1.0: {} - - leven@3.1.0: {} - - leven@4.1.0: {} - - levn@0.3.0: - dependencies: - prelude-ls: 1.1.2 - type-check: 0.3.2 - levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - lighthouse-logger@1.4.2: + lighthouse-logger@1.4.2(supports-color@10.2.2): + dependencies: + debug: 2.6.9(supports-color@10.2.2) + marky: 1.3.0 + transitivePeerDependencies: + - supports-color + + lighthouse-logger@2.0.2(supports-color@10.2.2): dependencies: - debug: 2.6.9 + debug: 4.4.3(supports-color@10.2.2) marky: 1.3.0 transitivePeerDependencies: - supports-color @@ -29625,36 +23090,69 @@ snapshots: lightningcss-android-arm64@1.32.0: optional: true + lightningcss-android-arm64@1.33.0: + optional: true + lightningcss-darwin-arm64@1.32.0: optional: true + lightningcss-darwin-arm64@1.33.0: + optional: true + lightningcss-darwin-x64@1.32.0: optional: true + lightningcss-darwin-x64@1.33.0: + optional: true + lightningcss-freebsd-x64@1.32.0: optional: true + lightningcss-freebsd-x64@1.33.0: + optional: true + lightningcss-linux-arm-gnueabihf@1.32.0: optional: true + lightningcss-linux-arm-gnueabihf@1.33.0: + optional: true + lightningcss-linux-arm64-gnu@1.32.0: optional: true + lightningcss-linux-arm64-gnu@1.33.0: + optional: true + lightningcss-linux-arm64-musl@1.32.0: optional: true + lightningcss-linux-arm64-musl@1.33.0: + optional: true + lightningcss-linux-x64-gnu@1.32.0: optional: true + lightningcss-linux-x64-gnu@1.33.0: + optional: true + lightningcss-linux-x64-musl@1.32.0: optional: true + lightningcss-linux-x64-musl@1.33.0: + optional: true + lightningcss-win32-arm64-msvc@1.32.0: optional: true + lightningcss-win32-arm64-msvc@1.33.0: + optional: true + lightningcss-win32-x64-msvc@1.32.0: optional: true + lightningcss-win32-x64-msvc@1.33.0: + optional: true + lightningcss@1.32.0: dependencies: detect-libc: 2.1.2 @@ -29671,39 +23169,28 @@ snapshots: lightningcss-win32-arm64-msvc: 1.32.0 lightningcss-win32-x64-msvc: 1.32.0 - line-reader@0.2.4: {} - - line-reader@0.4.0: {} + lightningcss@1.33.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.33.0 + lightningcss-darwin-arm64: 1.33.0 + lightningcss-darwin-x64: 1.33.0 + lightningcss-freebsd-x64: 1.33.0 + lightningcss-linux-arm-gnueabihf: 1.33.0 + lightningcss-linux-arm64-gnu: 1.33.0 + lightningcss-linux-arm64-musl: 1.33.0 + lightningcss-linux-x64-gnu: 1.33.0 + lightningcss-linux-x64-musl: 1.33.0 + lightningcss-win32-arm64-msvc: 1.33.0 + lightningcss-win32-x64-msvc: 1.33.0 + + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} - linkify-it@5.0.0: - dependencies: - uc.micro: 2.1.0 - liquid-json@0.3.1: {} - list-item@1.1.1: - dependencies: - expand-range: 1.8.2 - extend-shallow: 2.0.1 - is-number: 2.1.0 - repeat-string: 1.6.1 - - listenercount@1.0.1: {} - - livereload-js@2.4.0: {} - - load-json-file@1.1.0: - dependencies: - graceful-fs: 4.2.11 - parse-json: 2.2.0 - pify: 2.3.0 - pinkie-promise: 2.0.1 - strip-bom: 2.0.0 - - load-json-file@7.0.1: {} - loader-runner@4.3.2: {} loader-utils@2.0.0: @@ -29711,21 +23198,17 @@ snapshots: big.js: 5.2.2 emojis-list: 3.0.0 json5: 2.2.3 + optional: true - localtunnel@2.0.2: + localtunnel@2.0.2(supports-color@10.2.2): dependencies: - axios: 0.21.4(debug@4.3.2) - debug: 4.3.2 + axios: 0.21.4(debug@4.3.2(supports-color@10.2.2)) + debug: 4.3.2(supports-color@10.2.2) openurl: 1.1.1 yargs: 17.1.1 transitivePeerDependencies: - supports-color - locate-path@2.0.0: - dependencies: - p-locate: 2.0.0 - path-exists: 3.0.0 - locate-path@3.0.0: dependencies: p-locate: 3.0.0 @@ -29739,108 +23222,49 @@ snapshots: dependencies: p-locate: 5.0.0 - locate-path@7.2.0: - dependencies: - p-locate: 6.0.0 - - lodash._reinterpolate@3.0.0: {} - - lodash.assignin@4.2.0: {} - - lodash.bind@4.2.1: {} - lodash.camelcase@4.3.0: {} - lodash.chunk@4.2.0: {} - lodash.clonedeep@4.5.0: {} - lodash.debounce@4.0.8: {} - - lodash.defaults@4.2.0: {} - - lodash.escape@4.0.1: {} - lodash.escaperegexp@4.1.2: {} - lodash.filter@4.6.0: {} - - lodash.flatten@4.4.0: {} - - lodash.flattendeep@4.4.0: {} - - lodash.foreach@4.5.0: {} - lodash.get@4.4.2: {} - lodash.isequal@4.5.0: {} - lodash.isplainobject@4.0.6: {} lodash.isstring@4.0.1: {} - lodash.map@4.6.0: {} - - lodash.memoize@4.1.2: {} - - lodash.merge@4.6.2: {} + lodash.memoize@4.1.2: + optional: true lodash.mergewith@4.6.2: {} - lodash.padstart@4.6.1: {} - - lodash.pick@4.4.0: {} - - lodash.reduce@4.6.0: {} - - lodash.reject@4.6.0: {} - - lodash.some@4.6.0: {} - - lodash.sortby@4.7.0: {} - lodash.startcase@4.4.0: {} - lodash.template@4.5.0: - dependencies: - lodash._reinterpolate: 3.0.0 - lodash.templatesettings: 4.2.0 - - lodash.templatesettings@4.2.0: - dependencies: - lodash._reinterpolate: 3.0.0 - lodash.uniq@4.5.0: {} lodash@4.17.21: {} - lodash@4.17.23: {} - - log-symbols@2.2.0: - dependencies: - chalk: 2.4.2 - - log-symbols@4.1.0: - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 + lodash@4.18.1: {} log-symbols@6.0.0: dependencies: chalk: 5.6.2 is-unicode-supported: 1.3.0 - log-update@4.0.0: + log-symbols@7.0.1: dependencies: - ansi-escapes: 4.3.2 - cli-cursor: 3.1.0 - slice-ansi: 4.0.0 - wrap-ansi: 6.2.0 + is-unicode-supported: 2.1.0 + yoctocolors: 2.1.2 - logalot@2.1.0: + log-update@8.0.0: dependencies: - figures: 1.7.0 - squeak: 1.3.0 + ansi-escapes: 7.3.0 + cli-cursor: 5.0.0 + slice-ansi: 9.0.0 + string-width: 8.2.2 + strip-ansi: 7.2.0 + wrap-ansi: 10.0.0 logform@2.7.0: dependencies: @@ -29851,23 +23275,10 @@ snapshots: safe-stable-stringify: 2.5.0 triple-beam: 1.4.1 - long@4.0.0: {} - long@5.3.2: {} longest-streak@3.1.0: {} - longest@1.0.1: {} - - loose-envify@1.4.0: - dependencies: - js-tokens: 4.0.0 - - loud-rejection@1.6.0: - dependencies: - currently-unhandled: 0.4.1 - signal-exit: 3.0.7 - lower-case@2.0.2: dependencies: tslib: 2.8.1 @@ -29878,20 +23289,17 @@ snapshots: lowercase-keys@2.0.0: {} + lowercase-keys@3.0.0: {} + lowlight@3.3.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 devlop: 1.1.0 highlight.js: 11.11.1 - lpad-align@1.1.2: - dependencies: - get-stdin: 4.0.1 - indent-string: 2.1.0 - longest: 1.0.1 - meow: 3.7.0 + lru-cache@10.4.3: {} - lru-cache@11.2.7: {} + lru-cache@11.5.2: {} lru-cache@4.1.5: dependencies: @@ -29908,27 +23316,17 @@ snapshots: lru-cache@7.18.3: {} - lucide-react@0.378.0(react@19.2.4): - dependencies: - react: 19.2.4 - - lucide-react@0.378.0(react@19.2.6): - dependencies: - react: 19.2.6 - - lucide-react@1.16.0(react@19.2.6): + lucide-react@1.25.0(react@19.2.8): dependencies: - react: 19.2.6 - - lucide-static@0.556.0: {} + react: 19.2.8 - lunr@2.3.9: {} + lucide-static@1.25.0: {} lz-string@1.5.0: {} macos-release@2.5.1: {} - macos-release@3.4.0: {} + macos-release@3.5.1: {} magic-string@0.30.21: dependencies: @@ -29940,87 +23338,28 @@ snapshots: type-fest: 4.41.0 web-worker: 1.5.0 - make-dir@1.3.0: - dependencies: - pify: 3.0.0 - - make-dir@2.1.0: - dependencies: - pify: 4.0.1 - semver: 5.7.2 - make-dir@3.1.0: dependencies: semver: 6.3.1 make-error@1.3.6: {} - map-age-cleaner@0.1.3: - dependencies: - p-defer: 1.0.0 - - map-cache@0.2.2: {} - map-obj@1.0.1: {} map-obj@4.3.0: {} map-stream@0.1.0: {} - map-visit@1.0.0: - dependencies: - object-visit: 1.0.1 - markdown-extensions@2.0.0: {} - markdown-it@14.1.0: - dependencies: - argparse: 2.0.1 - entities: 4.5.0 - linkify-it: 5.0.0 - mdurl: 2.0.0 - punycode.js: 2.3.1 - uc.micro: 2.1.0 - - markdown-link@0.1.1: {} - markdown-table@3.0.4: {} - markdown-toc@1.2.0: - dependencies: - concat-stream: 1.6.2 - diacritics-map: 0.1.0 - gray-matter: 2.1.1 - lazy-cache: 2.0.2 - list-item: 1.1.1 - markdown-link: 0.1.1 - minimist: 1.2.8 - mixin-deep: 1.3.2 - object.pick: 1.3.0 - remarkable: 1.7.4 - repeat-string: 1.6.1 - strip-color: 0.1.0 - - marked@14.0.0: {} - marked@2.0.1: {} - marked@4.3.0: {} - marky@1.3.0: {} - matcher@5.0.0: - dependencies: - escape-string-regexp: 5.0.0 - math-intrinsics@1.1.0: {} - math-random@1.0.4: {} - - md5-hex@3.0.1: - dependencies: - blueimp-md5: 2.19.0 - mdast-util-find-and-replace@3.0.2: dependencies: '@types/mdast': 4.0.4 @@ -30028,14 +23367,14 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - mdast-util-from-markdown@2.0.3: + mdast-util-from-markdown@2.0.3(supports-color@10.2.2): dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 decode-named-character-reference: 1.3.0 devlop: 1.1.0 mdast-util-to-string: 4.0.0 - micromark: 4.0.2 + micromark: 4.0.2(supports-color@10.2.2) micromark-util-decode-numeric-character-reference: 2.0.2 micromark-util-decode-string: 2.0.1 micromark-util-normalize-identifier: 2.0.1 @@ -30053,75 +23392,75 @@ snapshots: mdast-util-find-and-replace: 3.0.2 micromark-util-character: 2.1.1 - mdast-util-gfm-footnote@2.1.0: + mdast-util-gfm-footnote@2.1.0(supports-color@10.2.2): dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.3(supports-color@10.2.2) mdast-util-to-markdown: 2.1.2 micromark-util-normalize-identifier: 2.0.1 transitivePeerDependencies: - supports-color - mdast-util-gfm-strikethrough@2.0.0: + mdast-util-gfm-strikethrough@2.0.0(supports-color@10.2.2): dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.3(supports-color@10.2.2) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color - mdast-util-gfm-table@2.0.0: + mdast-util-gfm-table@2.0.0(supports-color@10.2.2): dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 markdown-table: 3.0.4 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.3(supports-color@10.2.2) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color - mdast-util-gfm-task-list-item@2.0.0: + mdast-util-gfm-task-list-item@2.0.0(supports-color@10.2.2): dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.3(supports-color@10.2.2) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color - mdast-util-gfm@3.1.0: + mdast-util-gfm@3.1.0(supports-color@10.2.2): dependencies: - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.3(supports-color@10.2.2) mdast-util-gfm-autolink-literal: 2.0.1 - mdast-util-gfm-footnote: 2.1.0 - mdast-util-gfm-strikethrough: 2.0.0 - mdast-util-gfm-table: 2.0.0 - mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-gfm-footnote: 2.1.0(supports-color@10.2.2) + mdast-util-gfm-strikethrough: 2.0.0(supports-color@10.2.2) + mdast-util-gfm-table: 2.0.0(supports-color@10.2.2) + mdast-util-gfm-task-list-item: 2.0.0(supports-color@10.2.2) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color - mdast-util-mdx-expression@2.0.1: + mdast-util-mdx-expression@2.0.1(supports-color@10.2.2): dependencies: '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.3(supports-color@10.2.2) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color - mdast-util-mdx-jsx@3.2.0: + mdast-util-mdx-jsx@3.2.0(supports-color@10.2.2): dependencies: '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 '@types/unist': 3.0.3 ccount: 2.0.1 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.3(supports-color@10.2.2) mdast-util-to-markdown: 2.1.2 parse-entities: 4.0.2 stringify-entities: 4.0.4 @@ -30130,23 +23469,23 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-mdx@3.0.0: + mdast-util-mdx@3.0.0(supports-color@10.2.2): dependencies: - mdast-util-from-markdown: 2.0.3 - mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.2.0 - mdast-util-mdxjs-esm: 2.0.1 + mdast-util-from-markdown: 2.0.3(supports-color@10.2.2) + mdast-util-mdx-expression: 2.0.1(supports-color@10.2.2) + mdast-util-mdx-jsx: 3.2.0(supports-color@10.2.2) + mdast-util-mdxjs-esm: 2.0.1(supports-color@10.2.2) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color - mdast-util-mdxjs-esm@2.0.1: + mdast-util-mdxjs-esm@2.0.1(supports-color@10.2.2): dependencies: '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.3(supports-color@10.2.2) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -30158,9 +23497,9 @@ snapshots: mdast-util-to-hast@13.2.1: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.3.1 + '@ungap/structured-clone': 1.3.3 devlop: 1.1.0 micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 @@ -30184,43 +23523,25 @@ snapshots: dependencies: '@types/mdast': 4.0.4 - mdn-data@2.0.14: {} + mdn-data@2.0.14: + optional: true - mdn-data@2.0.4: {} + mdn-data@2.0.4: + optional: true mdn-data@2.27.1: {} - mdurl@2.0.0: {} - media-typer@0.3.0: {} media-typer@1.1.0: {} - mem@9.0.2: - dependencies: - map-age-cleaner: 0.1.3 - mimic-fn: 4.0.0 - - memorystore@1.6.6: + memorystore@1.6.7(supports-color@10.2.2): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) lru-cache: 4.1.5 transitivePeerDependencies: - supports-color - meow@3.7.0: - dependencies: - camelcase-keys: 2.1.0 - decamelize: 1.2.0 - loud-rejection: 1.6.0 - map-obj: 1.0.1 - minimist: 1.2.8 - normalize-package-data: 2.5.0 - object-assign: 4.1.1 - read-pkg-up: 1.0.1 - redent: 1.0.0 - trim-newlines: 1.0.0 - meow@9.0.0: dependencies: '@types/minimist': 1.2.5 @@ -30242,8 +23563,6 @@ snapshots: clone-deep: 0.2.4 kind-of: 3.2.2 - merge-descriptors@1.0.1: {} - merge-descriptors@1.0.3: {} merge-descriptors@2.0.0: {} @@ -30252,14 +23571,10 @@ snapshots: merge2@1.4.1: {} - meta-types@1.1.1: {} - methods@1.1.2: {} microdiff@1.5.0: {} - microevent.ts@0.1.1: {} - micromark-core-commonmark@2.0.3: dependencies: decode-named-character-reference: 1.3.0 @@ -30379,8 +23694,8 @@ snapshots: micromark-extension-mdxjs@3.0.0: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.17.0 + acorn-jsx: 5.3.2(acorn@8.17.0) micromark-extension-mdx-expression: 3.0.1 micromark-extension-mdx-jsx: 3.0.2 micromark-extension-mdx-md: 2.0.0 @@ -30502,10 +23817,10 @@ snapshots: micromark-util-types@2.0.2: {} - micromark@4.0.2: + micromark@4.0.2(supports-color@10.2.2): dependencies: '@types/debug': 4.1.13 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) decode-named-character-reference: 1.3.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -30524,28 +23839,10 @@ snapshots: transitivePeerDependencies: - supports-color - micromatch@3.1.10: - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - micromatch@4.0.8: dependencies: braces: 3.0.3 - picomatch: 2.3.1 + picomatch: 2.3.2 mime-db@1.33.0: {} @@ -30577,7 +23874,7 @@ snapshots: mime@1.6.0: {} - mime@2.5.2: {} + mime@2.6.0: {} mime@3.0.0: {} @@ -30585,11 +23882,9 @@ snapshots: mimer@2.0.2: {} - mimic-fn@1.2.0: {} - mimic-fn@2.1.0: {} - mimic-fn@4.0.0: {} + mimic-fn@3.1.0: {} mimic-function@5.0.1: {} @@ -30597,55 +23892,29 @@ snapshots: mimic-response@3.1.0: {} + mimic-response@4.0.0: {} + min-indent@1.0.1: {} - miniflare@4.20260518.0: + miniflare@4.20260721.0: dependencies: '@cspotcode/source-map-support': 0.8.1 sharp: 0.34.5 - undici: 7.24.8 - workerd: 1.20260518.1 - ws: 8.18.0 + undici: 7.28.0 + workerd: 1.20260721.1 + ws: 8.21.0 youch: 4.1.0-beta.10 transitivePeerDependencies: - bufferutil - utf-8-validate - minimatch@10.1.1: - dependencies: - '@isaacs/brace-expansion': 5.0.0 - minimatch@10.2.5: dependencies: - brace-expansion: 5.0.5 - - minimatch@3.0.4: - dependencies: - brace-expansion: 1.1.14 - - minimatch@3.0.8: - dependencies: - brace-expansion: 1.1.14 - - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.12 + brace-expansion: 5.0.7 minimatch@3.1.5: dependencies: - brace-expansion: 1.1.14 - - minimatch@5.1.6: - dependencies: - brace-expansion: 2.0.2 - - minimatch@9.0.3: - dependencies: - brace-expansion: 2.0.2 - - minimatch@9.0.5: - dependencies: - brace-expansion: 2.0.2 + brace-expansion: 1.1.16 minimist-options@4.1.0: dependencies: @@ -30655,37 +23924,14 @@ snapshots: minimist@1.2.8: {} - minipass@2.9.0: - dependencies: - safe-buffer: 5.2.1 - yallist: 3.1.1 - optional: true - - minipass@3.3.6: - dependencies: - yallist: 4.0.0 - - minipass@7.1.2: {} - minipass@7.1.3: {} - minizlib@1.3.3: - dependencies: - minipass: 2.9.0 - optional: true - - minizlib@2.1.2: + minizlib@3.1.0: dependencies: - minipass: 3.3.6 - yallist: 4.0.0 + minipass: 7.1.3 mitt@3.0.1: {} - mixin-deep@1.3.2: - dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 - mixin-object@2.0.1: dependencies: for-in: 0.1.8 @@ -30694,14 +23940,11 @@ snapshots: mkdirp@0.5.6: dependencies: minimist: 1.2.8 + optional: true mkdirp@1.0.4: {} - module-details-from-path@1.0.4: {} - - moment-timezone@0.5.33: - dependencies: - moment: 2.30.1 + modern-tar@0.7.7: {} moment-timezone@0.5.48: dependencies: @@ -30709,82 +23952,46 @@ snapshots: moment@2.30.1: {} - monaco-editor@0.54.0: - dependencies: - dompurify: 3.1.7 - marked: 14.0.0 - - monaco-languageserver-types@0.4.0: - dependencies: - monaco-types: 0.1.2 - vscode-languageserver-protocol: 3.17.5 - vscode-uri: 3.1.0 - - monaco-marker-data-provider@1.2.5: - dependencies: - monaco-types: 0.1.2 - - monaco-types@0.1.2: {} - - monaco-worker-manager@2.0.1(monaco-editor@0.54.0): - dependencies: - monaco-editor: 0.54.0 - - monaco-yaml@5.2.3(monaco-editor@0.54.0): - dependencies: - jsonc-parser: 3.3.1 - monaco-editor: 0.54.0 - monaco-languageserver-types: 0.4.0 - monaco-marker-data-provider: 1.2.5 - monaco-types: 0.1.2 - monaco-worker-manager: 2.0.1(monaco-editor@0.54.0) - path-browserify: 1.0.1 - prettier: 2.8.8 - vscode-languageserver-textdocument: 1.0.12 - vscode-languageserver-types: 3.17.5 - vscode-uri: 3.1.0 - yaml: 2.8.2 - - moo@0.5.2: {} - - motion-dom@12.39.0: + motion-dom@12.42.2: dependencies: motion-utils: 12.39.0 motion-utils@12.39.0: {} - motion@12.39.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + motion@12.42.2(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - framer-motion: 12.39.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + framer-motion: 12.42.2(react-dom@19.2.8(react@19.2.8))(react@19.2.8) tslib: 2.8.1 optionalDependencies: - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) - mqtt-packet@6.10.0: + mqtt-packet@9.0.2(supports-color@10.2.2): dependencies: - bl: 4.1.0 - debug: 4.4.3 + bl: 6.1.6 + debug: 4.4.3(supports-color@10.2.2) process-nextick-args: 2.0.1 transitivePeerDependencies: - supports-color - mqtt@4.2.6: + mqtt@5.15.1(supports-color@10.2.2): dependencies: - commist: 1.1.0 + '@types/readable-stream': 4.0.24 + '@types/ws': 8.18.1 + commist: 3.2.0 concat-stream: 2.0.0 - debug: 4.4.3 - duplexify: 4.1.3 - help-me: 1.1.0 - inherits: 2.0.4 + debug: 4.4.3(supports-color@10.2.2) + help-me: 5.0.0 + lru-cache: 10.4.3 minimist: 1.2.8 - mqtt-packet: 6.10.0 - pump: 3.0.3 - readable-stream: 3.6.2 - reinterval: 1.1.0 - split2: 3.2.2 - ws: 7.5.10 - xtend: 4.0.2 + mqtt-packet: 9.0.2(supports-color@10.2.2) + number-allocator: 1.0.14(supports-color@10.2.2) + readable-stream: 4.7.0 + rfdc: 1.4.1 + socks: 2.8.9 + split2: 4.2.0 + worker-timers: 8.0.33 + ws: 8.21.1 transitivePeerDependencies: - bufferutil - supports-color @@ -30794,8 +24001,6 @@ snapshots: ms@2.0.0: {} - ms@2.1.1: {} - ms@2.1.2: {} ms@2.1.3: {} @@ -30816,65 +24021,14 @@ snapshots: optionalDependencies: msgpackr-extract: 3.0.4 - msw@2.12.14(@types/node@20.19.26)(typescript@5.9.3): - dependencies: - '@inquirer/confirm': 5.1.21(@types/node@20.19.26) - '@mswjs/interceptors': 0.41.3 - '@open-draft/deferred-promise': 2.2.0 - '@types/statuses': 2.0.6 - cookie: 1.1.1 - graphql: 16.12.0 - headers-polyfill: 4.0.3 - is-node-process: 1.2.0 - outvariant: 1.4.3 - path-to-regexp: 6.3.0 - picocolors: 1.1.1 - rettime: 0.10.1 - statuses: 2.0.2 - strict-event-emitter: 0.5.1 - tough-cookie: 6.0.1 - type-fest: 5.5.0 - until-async: 3.0.2 - yargs: 17.7.2 - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - '@types/node' - optional: true - - msw@2.12.14(@types/node@22.19.15)(typescript@5.9.3): - dependencies: - '@inquirer/confirm': 5.1.21(@types/node@22.19.15) - '@mswjs/interceptors': 0.41.3 - '@open-draft/deferred-promise': 2.2.0 - '@types/statuses': 2.0.6 - cookie: 1.1.1 - graphql: 16.12.0 - headers-polyfill: 4.0.3 - is-node-process: 1.2.0 - outvariant: 1.4.3 - path-to-regexp: 6.3.0 - picocolors: 1.1.1 - rettime: 0.10.1 - statuses: 2.0.2 - strict-event-emitter: 0.5.1 - tough-cookie: 6.0.1 - type-fest: 5.5.0 - until-async: 3.0.2 - yargs: 17.7.2 - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - '@types/node' - - msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3): + msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2): dependencies: - '@inquirer/confirm': 5.1.21(@types/node@25.9.1) - '@mswjs/interceptors': 0.41.3 + '@inquirer/confirm': 5.1.21(@types/node@26.1.1) + '@mswjs/interceptors': 0.41.9 '@open-draft/deferred-promise': 2.2.0 '@types/statuses': 2.0.6 cookie: 1.1.1 - graphql: 16.12.0 + graphql: 16.14.2 headers-polyfill: 4.0.3 is-node-process: 1.2.0 outvariant: 1.4.3 @@ -30883,94 +24037,43 @@ snapshots: rettime: 0.10.1 statuses: 2.0.2 strict-event-emitter: 0.5.1 - tough-cookie: 6.0.1 - type-fest: 5.5.0 + tough-cookie: 6.0.2 + type-fest: 5.8.0 until-async: 3.0.2 - yargs: 17.7.2 + yargs: 17.7.3 optionalDependencies: - typescript: 6.0.3 + typescript: 7.0.2 transitivePeerDependencies: - '@types/node' optional: true - multer@1.4.2: + multer@2.2.0: dependencies: append-field: 1.0.0 - busboy: 0.2.14 - concat-stream: 1.6.2 - mkdirp: 0.5.6 - object-assign: 4.1.1 - on-finished: 2.4.1 + busboy: 1.6.0 + concat-stream: 2.0.0 type-is: 1.6.18 - xtend: 4.0.2 multipasta@0.2.8: {} mustache@4.2.0: {} - mute-stream@0.0.8: {} - - mute-stream@2.0.0: {} - - nan@2.13.2: - optional: true + mute-stream@1.0.0: {} - nan@2.14.0: + mute-stream@2.0.0: optional: true - nan@2.24.0: + nan@2.28.0: optional: true - nanoid@3.3.11: {} - - nanoid@3.3.12: {} - - nanoid@5.1.7: {} + nanoid@3.3.16: {} - nanomatch@1.2.13: - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color + nanoid@5.1.16: {} napi-postinstall@0.3.4: {} natural-compare@1.4.0: {} - nearley@2.20.1: - dependencies: - commander: 2.20.3 - moo: 0.5.2 - railroad-diagrams: 1.0.0 - randexp: 0.4.6 - - needle@2.4.0: - dependencies: - debug: 3.2.7 - iconv-lite: 0.4.24 - sax: 1.4.3 - transitivePeerDependencies: - - supports-color - - needle@2.9.1: - dependencies: - debug: 3.2.7 - iconv-lite: 0.4.24 - sax: 1.4.3 - transitivePeerDependencies: - - supports-color - optional: true - negotiator@0.6.3: {} negotiator@0.6.4: {} @@ -30979,67 +24082,36 @@ snapshots: neo-async@2.6.2: {} - netmask@2.0.2: {} - - neverpanic@0.0.7(typescript@5.9.3): - dependencies: - typescript: 5.9.3 - - neverpanic@0.0.7(typescript@6.0.3): - dependencies: - typescript: 6.0.3 + neoip@2.1.0: {} - new-github-release-url@1.0.0: - dependencies: - type-fest: 0.4.1 + netmask@2.1.1: {} - next-themes@0.4.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4): - dependencies: - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + neverpanic@0.0.8: {} - next-themes@0.4.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + next-themes@0.4.6(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) nice-try@1.0.5: {} - nise@4.1.0: + nise@5.1.9: dependencies: - '@sinonjs/commons': 1.8.6 - '@sinonjs/fake-timers': 6.0.1 + '@sinonjs/commons': 3.0.1 + '@sinonjs/fake-timers': 11.3.1 '@sinonjs/text-encoding': 0.7.3 - just-extend: 4.2.1 - path-to-regexp: 1.9.0 + just-extend: 6.2.0 + path-to-regexp: 6.3.0 no-case@3.0.4: dependencies: lower-case: 2.0.2 tslib: 2.8.1 - node-cleanup@2.1.2: {} - - node-domexception@1.0.0: {} - - node-emoji@1.11.0: - dependencies: - lodash: 4.17.21 - - node-fetch@2.6.7: - dependencies: - whatwg-url: 5.0.0 - node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 - node-fetch@3.3.2: - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - node-gyp-build-optional-packages@5.2.2: dependencies: detect-libc: 2.1.2 @@ -31049,113 +24121,66 @@ snapshots: node-persist@3.1.3: {} - node-pre-gyp@0.12.0: - dependencies: - detect-libc: 1.0.3 - mkdirp: 0.5.6 - needle: 2.9.1 - nopt: 4.0.3 - npm-packlist: 1.4.8 - npmlog: 4.1.2 - rc: 1.2.8 - rimraf: 2.7.1 - semver: 5.7.2 - tar: 4.4.19 - transitivePeerDependencies: - - supports-color - optional: true - - node-pre-gyp@0.14.0: - dependencies: - detect-libc: 1.0.3 - mkdirp: 0.5.6 - needle: 2.9.1 - nopt: 4.0.3 - npm-packlist: 1.4.8 - npmlog: 4.1.2 - rc: 1.2.8 - rimraf: 2.7.1 - semver: 5.7.2 - tar: 4.4.19 - transitivePeerDependencies: - - supports-color - optional: true - - node-red-admin@0.2.7(debug@4.4.3): + node-red-admin@4.1.6(debug@4.4.3(supports-color@10.2.2)): dependencies: - axios: 0.21.1(debug@4.4.3) - bcryptjs: 2.4.3 + ansi-colors: 4.1.3 + axios: 1.16.0(debug@4.4.3(supports-color@10.2.2)) + bcryptjs: 3.0.3 cli-table: 0.3.11 + enquirer: 2.4.1 minimist: 1.2.8 - read: 1.0.7 + mustache: 4.2.0 + read: 3.0.1 optionalDependencies: - bcrypt: 3.0.8 + '@node-rs/bcrypt': 1.10.7 transitivePeerDependencies: - debug - - supports-color - node-red-node-rbe@0.5.0: {} - - node-red-node-tail@0.3.2: - dependencies: - tail: 2.2.6 - - node-red-node-test-helper@0.2.7: + node-red-node-test-helper@0.3.6(supports-color@10.2.2): dependencies: - body-parser: 1.19.0 - express: 4.17.1 - read-pkg-up: 7.0.1 - semver: 7.3.4 + body-parser: 1.20.6(supports-color@10.2.2) + express: 4.22.2(supports-color@10.2.2) + semver: 7.8.5 should: 13.2.3 should-sinon: 0.0.6(should@13.2.3) - sinon: 9.2.4 + sinon: 11.1.2 stoppable: 1.1.0 - supertest: 4.0.2 + supertest: 7.2.2(supports-color@10.2.2) transitivePeerDependencies: - supports-color - node-red@1.3.7(debug@4.4.3): + node-red@5.0.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2): dependencies: - '@node-red/editor-api': 1.3.7 - '@node-red/nodes': 1.3.7 - '@node-red/runtime': 1.3.7 - '@node-red/util': 1.3.7 + '@node-red/editor-api': 5.0.1(supports-color@10.2.2)(typescript@7.0.2) + '@node-red/nodes': 5.0.1(supports-color@10.2.2) + '@node-red/runtime': 5.0.1(supports-color@10.2.2)(typescript@7.0.2) + '@node-red/util': 5.0.1(typescript@7.0.2) basic-auth: 2.0.1 - bcryptjs: 2.4.3 - express: 4.17.1 - fs-extra: 8.1.0 - node-red-admin: 0.2.7(debug@4.4.3) - node-red-node-rbe: 0.5.0 - node-red-node-tail: 0.3.2 + bcryptjs: 3.0.3 + cors: 2.8.5 + express: 4.22.2(supports-color@10.2.2) + fs-extra: 11.3.0 + node-red-admin: 4.1.6(debug@4.4.3(supports-color@10.2.2)) nopt: 5.0.0 - semver: 6.3.0 + semver: 7.7.4 optionalDependencies: - bcrypt: 3.0.6 + '@node-rs/bcrypt': 1.10.7 transitivePeerDependencies: - bufferutil - debug - supports-color + - typescript - utf-8-validate - node-releases@1.1.77: {} - - node-releases@2.0.27: {} + node-releases@2.0.51: {} - node-releases@2.0.44: {} - - nofilter@3.1.0: {} + node-watch@0.7.4: {} noms@0.0.0: dependencies: inherits: 2.0.4 readable-stream: 1.0.34 - nopt@4.0.3: - dependencies: - abbrev: 1.1.1 - osenv: 0.1.5 - optional: true - nopt@5.0.0: dependencies: abbrev: 1.1.1 @@ -31163,63 +24188,33 @@ snapshots: normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.11 + resolve: 1.22.12 semver: 5.7.2 validate-npm-package-license: 3.0.4 normalize-package-data@3.0.3: dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.16.1 - semver: 7.7.3 + is-core-module: 2.16.2 + semver: 7.8.5 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} - normalize-range@0.1.2: {} - normalize-url@2.0.1: dependencies: prepend-http: 2.0.0 query-string: 5.1.1 sort-keys: 2.0.0 - normalize-url@3.3.0: {} + normalize-url@3.3.0: + optional: true normalize-url@4.5.1: {} normalize-url@6.1.0: {} - npm-bundled@1.1.2: - dependencies: - npm-normalize-package-bin: 1.0.1 - optional: true - - npm-conf@1.1.3: - dependencies: - config-chain: 1.1.13 - pify: 3.0.0 - - npm-normalize-package-bin@1.0.1: - optional: true - - npm-package-arg@10.1.0: - dependencies: - hosted-git-info: 6.1.3 - proc-log: 3.0.0 - semver: 7.7.3 - validate-npm-package-name: 5.0.1 - - npm-packlist@1.4.8: - dependencies: - ignore-walk: 3.0.4 - npm-bundled: 1.1.2 - npm-normalize-package-bin: 1.0.1 - optional: true - - npm-run-path@2.0.2: - dependencies: - path-key: 2.0.1 + normalize-url@8.1.1: {} npm-run-path@4.0.1: dependencies: @@ -31230,40 +24225,31 @@ snapshots: path-key: 4.0.0 unicorn-magic: 0.3.0 - npm-to-yarn@3.0.1: {} - - npm@7.24.2: {} - - npmlog@4.1.2: - dependencies: - are-we-there-yet: 1.1.7 - console-control-strings: 1.1.0 - gauge: 2.7.4 - set-blocking: 2.0.0 - optional: true + npm@11.18.0: {} - nssocket@0.6.0: - dependencies: - eventemitter2: 0.4.14 - lazy: 1.0.11 + npm@12.0.1: {} nth-check@1.0.2: dependencies: boolbase: 1.0.0 + optional: true nth-check@2.1.1: dependencies: boolbase: 1.0.0 - num2fraction@1.2.2: {} + number-allocator@1.0.14(supports-color@10.2.2): + dependencies: + debug: 4.4.3(supports-color@10.2.2) + js-sdsl: 4.3.0 + transitivePeerDependencies: + - supports-color number-is-nan@1.0.1: {} - oauth-sign@0.9.0: {} - - oauth2orize@1.11.0: + oauth2orize@1.12.0(supports-color@10.2.2): dependencies: - debug: 2.6.9 + debug: 2.6.9(supports-color@10.2.2) uid2: 0.0.4 utils-merge: 1.0.1 transitivePeerDependencies: @@ -31271,85 +24257,50 @@ snapshots: object-assign@4.1.1: {} - object-copy@0.1.0: - dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 - object-hash@2.2.0: {} - object-inspect@1.13.4: {} + object-hash@3.0.0: {} - object-is@1.1.6: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 + object-inspect@1.13.4: {} object-keys@1.1.1: {} object-treeify@1.1.33: {} - object-visit@1.0.1: - dependencies: - isobject: 3.0.1 - object.assign@4.1.7: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 has-symbols: 1.1.0 object-keys: 1.1.1 - object.entries@1.1.9: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.1 - - object.fromentries@2.0.8: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.0 - es-object-atoms: 1.1.1 - object.getownpropertydescriptors@2.1.9: dependencies: array.prototype.reduce: 1.0.8 - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.0 - es-object-atoms: 1.1.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 gopd: 1.2.0 - safe-array-concat: 1.1.3 - - object.pick@1.3.0: - dependencies: - isobject: 3.0.1 + safe-array-concat: 1.1.4 + optional: true object.values@1.2.1: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 - - obug@2.1.1: {} + es-object-atoms: 1.1.2 + optional: true - on-finished@2.3.0: - dependencies: - ee-first: 1.1.1 + obug@2.1.4: {} on-finished@2.4.1: dependencies: ee-first: 1.1.1 - on-headers@1.0.2: {} - on-headers@1.1.0: {} once@1.4.0: @@ -31370,10 +24321,6 @@ snapshots: dependencies: fn.name: 1.1.0 - onetime@2.0.1: - dependencies: - mimic-fn: 1.2.0 - onetime@5.1.2: dependencies: mimic-fn: 2.1.0 @@ -31410,27 +24357,12 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - openapi-json-schema@1.1.3: {} - - openapi3-ts@4.5.0: + openapi3-ts@4.6.0: dependencies: - yaml: 2.8.2 + yaml: 2.9.0 openurl@1.1.1: {} - oppa@0.4.0: - dependencies: - chalk: 4.1.2 - - optionator@0.8.3: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.3.0 - prelude-ls: 1.1.2 - type-check: 0.3.2 - word-wrap: 1.2.5 - optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -31440,31 +24372,6 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - optipng-bin@5.1.0: - dependencies: - bin-build: 3.0.0 - bin-wrapper: 4.1.0 - logalot: 2.1.0 - - ora@1.4.0: - dependencies: - chalk: 2.4.2 - cli-cursor: 2.1.0 - cli-spinners: 1.3.1 - log-symbols: 2.2.0 - - ora@5.4.1: - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - ora@8.2.0: dependencies: chalk: 5.6.2 @@ -31475,40 +24382,35 @@ snapshots: log-symbols: 6.0.0 stdin-discarder: 0.2.2 string-width: 7.2.0 - strip-ansi: 7.1.2 - - ordered-read-streams@1.0.1: - dependencies: - readable-stream: 2.3.8 + strip-ansi: 7.2.0 - os-filter-obj@2.0.0: + ora@9.4.1: dependencies: - arch: 2.2.0 - - os-homedir@1.0.2: - optional: true + chalk: 5.6.2 + cli-cursor: 5.0.0 + cli-spinners: 3.4.0 + is-interactive: 2.0.0 + is-unicode-supported: 2.1.0 + log-symbols: 7.0.1 + stdin-discarder: 0.3.2 + string-width: 8.2.2 os-name@4.0.1: dependencies: macos-release: 2.5.1 windows-release: 4.0.0 - os-name@5.1.0: + os-name@7.0.0: dependencies: - macos-release: 3.4.0 - windows-release: 5.1.1 + macos-release: 3.5.1 + windows-release: 7.1.1 os-tmpdir@1.0.2: {} - osenv@0.1.5: - dependencies: - os-homedir: 1.0.2 - os-tmpdir: 1.0.2 - optional: true - outdent@0.5.0: {} - outvariant@1.4.3: {} + outvariant@1.4.3: + optional: true ow@0.4.0: {} @@ -31518,29 +24420,55 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 - oxlint@1.57.0: + oxc-parser@0.120.0(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2): + dependencies: + '@oxc-project/types': 0.120.0 + optionalDependencies: + '@oxc-parser/binding-android-arm-eabi': 0.120.0 + '@oxc-parser/binding-android-arm64': 0.120.0 + '@oxc-parser/binding-darwin-arm64': 0.120.0 + '@oxc-parser/binding-darwin-x64': 0.120.0 + '@oxc-parser/binding-freebsd-x64': 0.120.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.120.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.120.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.120.0 + '@oxc-parser/binding-linux-arm64-musl': 0.120.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.120.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.120.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.120.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.120.0 + '@oxc-parser/binding-linux-x64-gnu': 0.120.0 + '@oxc-parser/binding-linux-x64-musl': 0.120.0 + '@oxc-parser/binding-openharmony-arm64': 0.120.0 + '@oxc-parser/binding-wasm32-wasi': 0.120.0(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + '@oxc-parser/binding-win32-arm64-msvc': 0.120.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.120.0 + '@oxc-parser/binding-win32-x64-msvc': 0.120.0 + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + + oxlint@1.75.0: optionalDependencies: - '@oxlint/binding-android-arm-eabi': 1.57.0 - '@oxlint/binding-android-arm64': 1.57.0 - '@oxlint/binding-darwin-arm64': 1.57.0 - '@oxlint/binding-darwin-x64': 1.57.0 - '@oxlint/binding-freebsd-x64': 1.57.0 - '@oxlint/binding-linux-arm-gnueabihf': 1.57.0 - '@oxlint/binding-linux-arm-musleabihf': 1.57.0 - '@oxlint/binding-linux-arm64-gnu': 1.57.0 - '@oxlint/binding-linux-arm64-musl': 1.57.0 - '@oxlint/binding-linux-ppc64-gnu': 1.57.0 - '@oxlint/binding-linux-riscv64-gnu': 1.57.0 - '@oxlint/binding-linux-riscv64-musl': 1.57.0 - '@oxlint/binding-linux-s390x-gnu': 1.57.0 - '@oxlint/binding-linux-x64-gnu': 1.57.0 - '@oxlint/binding-linux-x64-musl': 1.57.0 - '@oxlint/binding-openharmony-arm64': 1.57.0 - '@oxlint/binding-win32-arm64-msvc': 1.57.0 - '@oxlint/binding-win32-ia32-msvc': 1.57.0 - '@oxlint/binding-win32-x64-msvc': 1.57.0 - - p-cancelable@0.3.0: {} + '@oxlint/binding-android-arm-eabi': 1.75.0 + '@oxlint/binding-android-arm64': 1.75.0 + '@oxlint/binding-darwin-arm64': 1.75.0 + '@oxlint/binding-darwin-x64': 1.75.0 + '@oxlint/binding-freebsd-x64': 1.75.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.75.0 + '@oxlint/binding-linux-arm-musleabihf': 1.75.0 + '@oxlint/binding-linux-arm64-gnu': 1.75.0 + '@oxlint/binding-linux-arm64-musl': 1.75.0 + '@oxlint/binding-linux-ppc64-gnu': 1.75.0 + '@oxlint/binding-linux-riscv64-gnu': 1.75.0 + '@oxlint/binding-linux-riscv64-musl': 1.75.0 + '@oxlint/binding-linux-s390x-gnu': 1.75.0 + '@oxlint/binding-linux-x64-gnu': 1.75.0 + '@oxlint/binding-linux-x64-musl': 1.75.0 + '@oxlint/binding-openharmony-arm64': 1.75.0 + '@oxlint/binding-win32-arm64-msvc': 1.75.0 + '@oxlint/binding-win32-ia32-msvc': 1.75.0 + '@oxlint/binding-win32-x64-msvc': 1.75.0 p-cancelable@0.4.1: {} @@ -31548,19 +24476,7 @@ snapshots: p-cancelable@2.1.1: {} - p-defer@1.0.0: {} - - p-event@1.3.0: - dependencies: - p-timeout: 1.2.1 - - p-event@2.3.1: - dependencies: - p-timeout: 2.0.1 - - p-event@5.0.1: - dependencies: - p-timeout: 5.1.0 + p-cancelable@4.0.1: {} p-event@6.0.1: dependencies: @@ -31574,10 +24490,6 @@ snapshots: p-is-promise@1.1.0: {} - p-limit@1.3.0: - dependencies: - p-try: 1.0.0 - p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -31586,14 +24498,6 @@ snapshots: dependencies: yocto-queue: 0.1.0 - p-limit@4.0.0: - dependencies: - yocto-queue: 1.2.2 - - p-locate@2.0.0: - dependencies: - p-limit: 1.3.0 - p-locate@3.0.0: dependencies: p-limit: 2.3.0 @@ -31606,38 +24510,13 @@ snapshots: dependencies: p-limit: 3.1.0 - p-locate@6.0.0: - dependencies: - p-limit: 4.0.0 - - p-map-series@1.0.0: - dependencies: - p-reduce: 1.0.0 - p-map@2.1.0: {} - p-map@5.5.0: - dependencies: - aggregate-error: 4.0.1 - - p-pipe@1.2.0: {} - p-queue@6.6.2: dependencies: eventemitter3: 4.0.7 p-timeout: 3.2.0 - p-queue@8.1.1: - dependencies: - eventemitter3: 5.0.1 - p-timeout: 6.1.4 - - p-reduce@1.0.0: {} - - p-timeout@1.2.1: - dependencies: - p-finally: 1.0.0 - p-timeout@2.0.1: dependencies: p-finally: 1.0.0 @@ -31646,51 +24525,27 @@ snapshots: dependencies: p-finally: 1.0.0 - p-timeout@5.1.0: {} - p-timeout@6.1.4: {} - p-try@1.0.0: {} - p-try@2.2.0: {} - pac-proxy-agent@5.0.0: - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.4.3 - get-uri: 3.0.2 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - pac-resolver: 5.0.1 - raw-body: 2.5.3 - socks-proxy-agent: 5.0.1 - transitivePeerDependencies: - - supports-color - - pac-proxy-agent@7.2.0: + pac-proxy-agent@7.2.0(supports-color@10.2.2): dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.4 - debug: 4.4.3 - get-uri: 6.0.5 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 + debug: 4.4.3(supports-color@10.2.2) + get-uri: 6.0.5(supports-color@10.2.2) + http-proxy-agent: 7.0.2(supports-color@10.2.2) + https-proxy-agent: 7.0.6(supports-color@10.2.2) pac-resolver: 7.0.1 - socks-proxy-agent: 8.0.5 + socks-proxy-agent: 8.0.5(supports-color@10.2.2) transitivePeerDependencies: - supports-color - pac-resolver@5.0.1: - dependencies: - degenerator: 3.0.4 - ip: 1.1.9 - netmask: 2.0.2 - pac-resolver@7.0.1: dependencies: degenerator: 5.0.1 - netmask: 2.0.2 + netmask: 2.1.1 package-json-from-dist@1.0.1: {} @@ -31705,8 +24560,6 @@ snapshots: dependencies: quansync: 0.2.11 - pako@0.2.9: {} - param-case@3.0.4: dependencies: dot-case: 3.0.4 @@ -31728,36 +24581,29 @@ snapshots: parse-function@5.6.10: dependencies: - '@babel/parser': 7.28.5 + '@babel/parser': 7.29.7 arrify: 2.0.1 - parse-github-url@1.0.3: {} - - parse-json@2.2.0: - dependencies: - error-ex: 1.3.4 - parse-json@4.0.0: dependencies: error-ex: 1.3.4 json-parse-better-errors: 1.0.2 + optional: true parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.29.0 + '@babel/code-frame': 7.29.7 error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - parse-ms@3.0.0: {} - parse-ms@4.0.0: {} parse-path@4.0.4: dependencies: is-ssh: 1.4.1 protocols: 1.4.8 - qs: 6.14.0 + qs: 6.15.3 query-string: 6.14.1 parse-url@5.0.8: @@ -31767,29 +24613,19 @@ snapshots: parse-path: 4.0.4 protocols: 1.4.8 - parse-url@6.0.5: - dependencies: - is-ssh: 1.4.1 - normalize-url: 6.1.0 - parse-path: 4.0.4 - protocols: 1.4.8 - - parse5-htmlparser2-tree-adapter@7.1.0: + parse5-htmlparser2-tree-adapter@6.0.1: dependencies: - domhandler: 5.0.3 - parse5: 7.3.0 + parse5: 6.0.1 - parse5-parser-stream@7.1.2: - dependencies: - parse5: 7.3.0 + parse5@6.0.1: {} parse5@7.3.0: dependencies: entities: 6.0.1 - parse5@8.0.0: + parse5@8.0.1: dependencies: - entities: 6.0.1 + entities: 8.0.0 parseurl@1.3.3: {} @@ -31798,8 +24634,6 @@ snapshots: no-case: 3.0.4 tslib: 2.8.1 - pascalcase@0.1.1: {} - passport-http-bearer@1.0.1: dependencies: passport-strategy: 1.0.0 @@ -31810,10 +24644,11 @@ snapshots: passport-strategy@1.0.0: {} - passport@0.4.1: + passport@0.7.0: dependencies: passport-strategy: 1.0.0 pause: 0.0.1 + utils-merge: 1.0.1 patch-console@2.0.0: {} @@ -31832,7 +24667,24 @@ snapshots: semver: 5.7.2 slash: 2.0.0 tmp: 0.0.33 - yaml: 1.10.2 + yaml: 1.10.3 + + patch-package@8.0.1: + dependencies: + '@yarnpkg/lockfile': 1.1.0 + chalk: 4.1.2 + ci-info: 3.9.0 + cross-spawn: 7.0.6 + find-yarn-workspace-root: 2.0.0 + fs-extra: 10.1.0 + json-stable-stringify: 1.3.0 + klaw-sync: 6.0.0 + minimist: 1.2.8 + open: 7.4.2 + semver: 7.8.5 + slash: 2.0.0 + tmp: 0.2.7 + yaml: 2.9.0 path-browserify@1.0.1: {} @@ -31841,18 +24693,10 @@ snapshots: dot-case: 3.0.4 tslib: 2.8.1 - path-dirname@1.0.2: {} - - path-exists@2.1.0: - dependencies: - pinkie-promise: 2.0.1 - path-exists@3.0.0: {} path-exists@4.0.0: {} - path-exists@5.0.0: {} - path-is-absolute@1.0.1: {} path-is-inside@1.0.2: {} @@ -31865,23 +24709,12 @@ snapshots: path-parse@1.0.7: {} - path-scurry@2.0.1: - dependencies: - lru-cache: 11.2.7 - minipass: 7.1.2 - path-scurry@2.0.2: dependencies: - lru-cache: 11.2.7 + lru-cache: 11.5.2 minipass: 7.1.3 - path-to-regexp@0.1.12: {} - - path-to-regexp@0.1.7: {} - - path-to-regexp@1.9.0: - dependencies: - isarray: 0.0.1 + path-to-regexp@0.1.13: {} path-to-regexp@3.3.0: {} @@ -31889,16 +24722,6 @@ snapshots: path-to-regexp@8.4.2: {} - path-type@1.1.0: - dependencies: - graceful-fs: 4.2.11 - pify: 2.3.0 - pinkie-promise: 2.0.1 - - path-type@3.0.0: - dependencies: - pify: 3.0.0 - path-type@4.0.0: {} pathe@2.0.3: {} @@ -31911,33 +24734,16 @@ snapshots: peek-readable@5.4.2: {} - peek-stream@1.1.3: - dependencies: - buffer-from: 1.1.2 - duplexify: 3.7.1 - through2: 2.0.5 - pend@1.2.0: {} - performance-now@2.1.0: {} - - pico-s3@1.1.4: - dependencies: - aws4: 1.13.2 - axios: 0.26.1(debug@4.4.3) - datauri: 4.1.0 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - - pico-s3@2.11.0: + pico-s3@2.11.0(supports-color@10.2.2): dependencies: '@brillout/import': 0.2.6 aws4: 1.13.2 - axios: 1.18.1(debug@4.4.3) + axios: 1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2) datauri: 4.1.0 - debug: 4.4.3 - file-type: 21.1.1 + debug: 4.4.3(supports-color@10.2.2) + file-type: 21.3.4(supports-color@10.2.2) transitivePeerDependencies: - supports-color @@ -31945,132 +24751,71 @@ snapshots: picocolors@1.1.1: {} - picomatch@2.3.1: {} + picomatch@2.3.2: {} - picomatch@4.0.4: {} + picomatch@4.0.5: {} - pidtree@0.6.0: {} + pidtree@0.6.1: {} - pidusage@2.0.21: - dependencies: - safe-buffer: 5.2.1 - optional: true + pidtree@1.0.0: {} pidusage@3.0.2: dependencies: safe-buffer: 5.2.1 - pify@2.3.0: {} + pidusage@4.0.1: + dependencies: + safe-buffer: 5.2.1 pify@3.0.0: {} pify@4.0.1: {} - ping@0.4.4: {} - - pinkie-promise@2.0.1: - dependencies: - pinkie: 2.0.4 - - pinkie@2.0.4: {} - - pirates@4.0.7: {} + ping@1.0.0: {} pkce-challenge@5.0.1: {} - pkg-conf@4.0.0: - dependencies: - find-up: 6.3.0 - load-json-file: 7.0.1 - - pkg-dir@3.0.0: - dependencies: - find-up: 3.0.0 - pkg-up@3.1.0: dependencies: find-up: 3.0.0 - playwright-core@1.58.0: {} + playwright-core@1.61.1: {} - playwright@1.58.0: + playwright@1.61.1: dependencies: - playwright-core: 1.58.0 + playwright-core: 1.61.1 optionalDependencies: fsevents: 2.3.2 - plur@5.1.0: - dependencies: - irregular-plurals: 3.5.0 - - pm2-axon-rpc@0.7.1: - dependencies: - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - - pm2-axon@4.0.1: - dependencies: - amp: 0.3.1 - amp-message: 0.1.2 - debug: 4.4.3 - escape-string-regexp: 4.0.0 - transitivePeerDependencies: - - supports-color - pm2-deploy@1.0.2: dependencies: run-series: 1.1.9 tv4: 1.3.0 - pm2-multimeter@0.1.2: - dependencies: - charm: 0.1.2 - - pm2-sysmonit@1.2.8: - dependencies: - async: 3.2.6 - debug: 4.4.3 - pidusage: 2.0.21 - systeminformation: 5.27.13 - tx2: 1.0.5 - transitivePeerDependencies: - - supports-color - optional: true - - pm2@5.4.3: + pm2@7.0.3(supports-color@10.2.2): dependencies: - '@pm2/agent': 2.0.4 - '@pm2/io': 6.0.1 - '@pm2/js-api': 0.8.0 - '@pm2/pm2-version-check': 1.0.4 + '@pm2/blessed': 0.1.81 + '@pm2/js-api': 0.8.1(supports-color@10.2.2) + '@pm2/pm2-version-check': 1.0.4(supports-color@10.2.2) + amp: 0.3.1 + amp-message: 0.1.2 + ansis: 4.0.0-node10 async: 3.2.6 - blessed: 0.1.81 - chalk: 3.0.0 chokidar: 3.6.0 cli-tableau: 2.0.1 commander: 2.15.1 croner: 4.1.97 - dayjs: 1.11.19 - debug: 4.4.3 - enquirer: 2.3.6 - eventemitter2: 5.0.1 - fclone: 1.0.11 - js-yaml: 4.1.1 - mkdirp: 1.0.4 - needle: 2.4.0 - pidusage: 3.0.2 - pm2-axon: 4.0.1 - pm2-axon-rpc: 0.7.1 + dayjs: 1.11.15 + debug: 4.4.3(supports-color@10.2.2) + eventemitter2: 6.4.9 + fast-json-patch: 3.1.1 + js-yaml: 4.3.0 + pidusage: 4.0.1 pm2-deploy: 1.0.2 - pm2-multimeter: 0.1.2 - promptly: 2.2.0 - semver: 7.7.4 - source-map-support: 0.5.21 - sprintf-js: 1.1.2 - vizion: 2.2.1 - optionalDependencies: - pm2-sysmonit: 1.2.8 + proxy-agent: 6.5.0(supports-color@10.2.2) + semver: 7.7.2 + tx2: 1.0.5 + ws: 8.21.0 transitivePeerDependencies: - bufferutil - supports-color @@ -32078,51 +24823,49 @@ snapshots: pngjs@5.0.0: {} - portfinder@1.0.38: - dependencies: - async: 3.2.6 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - - posix-character-classes@0.1.1: {} - possible-typed-array-names@1.1.0: {} postcss-calc@7.0.5: dependencies: postcss: 7.0.39 - postcss-selector-parser: 6.1.2 + postcss-selector-parser: 6.1.4 postcss-value-parser: 4.2.0 + optional: true postcss-colormin@4.0.3: dependencies: - browserslist: 4.28.1 + browserslist: 4.28.6 color: 3.2.1 has: 1.0.4 postcss: 7.0.39 postcss-value-parser: 3.3.1 + optional: true postcss-convert-values@4.0.1: dependencies: postcss: 7.0.39 postcss-value-parser: 3.3.1 + optional: true postcss-discard-comments@4.0.2: dependencies: postcss: 7.0.39 + optional: true postcss-discard-duplicates@4.0.2: dependencies: postcss: 7.0.39 + optional: true postcss-discard-empty@4.0.1: dependencies: postcss: 7.0.39 + optional: true postcss-discard-overridden@4.0.1: dependencies: postcss: 7.0.39 + optional: true postcss-merge-longhand@4.0.11: dependencies: @@ -32130,20 +24873,23 @@ snapshots: postcss: 7.0.39 postcss-value-parser: 3.3.1 stylehacks: 4.0.3 + optional: true postcss-merge-rules@4.0.3: dependencies: - browserslist: 4.28.1 + browserslist: 4.28.6 caniuse-api: 3.0.0 cssnano-util-same-parent: 4.0.1 postcss: 7.0.39 postcss-selector-parser: 3.1.2 vendors: 1.0.4 + optional: true postcss-minify-font-values@4.0.2: dependencies: postcss: 7.0.39 postcss-value-parser: 3.3.1 + optional: true postcss-minify-gradients@4.0.2: dependencies: @@ -32151,15 +24897,17 @@ snapshots: is-color-stop: 1.1.0 postcss: 7.0.39 postcss-value-parser: 3.3.1 + optional: true postcss-minify-params@4.0.2: dependencies: alphanum-sort: 1.0.2 - browserslist: 4.28.1 + browserslist: 4.28.6 cssnano-util-get-arguments: 4.0.0 postcss: 7.0.39 postcss-value-parser: 3.3.1 uniqs: 2.0.0 + optional: true postcss-minify-selectors@4.0.2: dependencies: @@ -32167,16 +24915,19 @@ snapshots: has: 1.0.4 postcss: 7.0.39 postcss-selector-parser: 3.1.2 + optional: true postcss-normalize-charset@4.0.1: dependencies: postcss: 7.0.39 + optional: true postcss-normalize-display-values@4.0.2: dependencies: cssnano-util-get-match: 4.0.0 postcss: 7.0.39 postcss-value-parser: 3.3.1 + optional: true postcss-normalize-positions@4.0.2: dependencies: @@ -32184,6 +24935,7 @@ snapshots: has: 1.0.4 postcss: 7.0.39 postcss-value-parser: 3.3.1 + optional: true postcss-normalize-repeat-style@4.0.2: dependencies: @@ -32191,24 +24943,28 @@ snapshots: cssnano-util-get-match: 4.0.0 postcss: 7.0.39 postcss-value-parser: 3.3.1 + optional: true postcss-normalize-string@4.0.2: dependencies: has: 1.0.4 postcss: 7.0.39 postcss-value-parser: 3.3.1 + optional: true postcss-normalize-timing-functions@4.0.2: dependencies: cssnano-util-get-match: 4.0.0 postcss: 7.0.39 postcss-value-parser: 3.3.1 + optional: true postcss-normalize-unicode@4.0.1: dependencies: - browserslist: 4.28.1 + browserslist: 4.28.6 postcss: 7.0.39 postcss-value-parser: 3.3.1 + optional: true postcss-normalize-url@4.0.1: dependencies: @@ -32216,24 +24972,28 @@ snapshots: normalize-url: 3.3.0 postcss: 7.0.39 postcss-value-parser: 3.3.1 + optional: true postcss-normalize-whitespace@4.0.2: dependencies: postcss: 7.0.39 postcss-value-parser: 3.3.1 + optional: true postcss-ordered-values@4.1.2: dependencies: cssnano-util-get-arguments: 4.0.0 postcss: 7.0.39 postcss-value-parser: 3.3.1 + optional: true postcss-reduce-initial@4.0.3: dependencies: - browserslist: 4.28.1 + browserslist: 4.28.6 caniuse-api: 3.0.0 has: 1.0.4 postcss: 7.0.39 + optional: true postcss-reduce-transforms@4.0.2: dependencies: @@ -32241,19 +25001,22 @@ snapshots: has: 1.0.4 postcss: 7.0.39 postcss-value-parser: 3.3.1 + optional: true postcss-selector-parser@3.1.2: dependencies: dot-prop: 5.3.0 indexes-of: 1.0.1 uniq: 1.0.1 + optional: true - postcss-selector-parser@6.1.2: + postcss-selector-parser@6.1.4: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 + optional: true - postcss-selector-parser@7.1.1: + postcss-selector-parser@7.1.4: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 @@ -32263,14 +25026,17 @@ snapshots: postcss: 7.0.39 postcss-value-parser: 3.3.1 svgo: 1.3.2 + optional: true postcss-unique-selectors@4.0.1: dependencies: alphanum-sort: 1.0.2 postcss: 7.0.39 uniqs: 2.0.0 + optional: true - postcss-value-parser@3.3.1: {} + postcss-value-parser@3.3.1: + optional: true postcss-value-parser@4.2.0: {} @@ -32279,43 +25045,21 @@ snapshots: picocolors: 0.2.1 source-map: 0.6.1 - postcss@8.5.15: - dependencies: - nanoid: 3.3.12 - picocolors: 1.1.1 - source-map-js: 1.2.1 - - postcss@8.5.8: + postcss@8.5.21: dependencies: - nanoid: 3.3.11 + nanoid: 3.3.16 picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.9: + postcss@8.5.22: dependencies: - nanoid: 3.3.11 + nanoid: 3.3.16 picocolors: 1.1.1 source-map-js: 1.2.1 - posthog-js@1.363.2: - dependencies: - '@opentelemetry/api': 1.9.1 - '@opentelemetry/api-logs': 0.208.0 - '@opentelemetry/exporter-logs-otlp-http': 0.208.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.6.1(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-logs': 0.208.0(@opentelemetry/api@1.9.1) - '@posthog/core': 1.24.1 - '@posthog/types': 1.363.2 - core-js: 3.49.0 - dompurify: 3.3.3 - fflate: 0.4.8 - preact: 10.29.0 - query-selector-shadow-dom: 1.0.1 - web-vitals: 5.2.0 - - postman-2-swagger@0.5.0(lodash@4.17.23): + postman-2-swagger@0.5.0(lodash@4.18.1): dependencies: - lodash: 4.17.23 + lodash: 4.18.1 postman-collection: 3.6.11 postman-collection@3.6.11: @@ -32341,42 +25085,22 @@ snapshots: powershell-utils@0.1.0: {} - preact@10.29.0: {} - - precise-commits@1.0.2(prettier@3.7.4): - dependencies: - diff-match-patch: 1.0.5 - execa: 0.9.0 - find-up: 2.1.0 - glob: 7.2.3 - ignore: 3.3.10 - mri: 1.2.0 - ora: 1.4.0 - prettier: 3.7.4 + powershell-utils@0.2.0: {} - prelude-ls@1.1.2: {} + preact@10.29.0: + optional: true prelude-ls@1.2.1: {} - prepend-http@1.0.4: {} - prepend-http@2.0.0: {} - prettier-plugin-tailwindcss@0.7.2(prettier@3.8.1): - dependencies: - prettier: 3.8.1 - - prettier@2.8.8: {} - - prettier@3.7.4: {} - - prettier@3.8.1: {} - - prettier@3.8.3: {} + prettier-plugin-tailwindcss@0.8.1(prettier@3.9.6): + dependencies: + prettier: 3.9.6 - pretty-bytes@5.6.0: {} + prettier@2.8.8: {} - pretty-bytes@7.1.0: {} + prettier@3.9.6: {} pretty-format@27.5.1: dependencies: @@ -32384,24 +25108,12 @@ snapshots: ansi-styles: 5.2.0 react-is: 17.0.2 - pretty-ms@8.0.0: - dependencies: - parse-ms: 3.0.0 - pretty-ms@9.3.0: dependencies: parse-ms: 4.0.0 - prismjs@1.30.0: {} - - proc-log@3.0.0: {} - process-nextick-args@2.0.1: {} - process-streams@1.0.3: - dependencies: - duplex-maker: 1.0.0 - process@0.11.10: {} progress@2.0.3: {} @@ -32410,77 +25122,25 @@ snapshots: dependencies: tdigest: 0.1.2 - promise.allsettled@1.0.5: - dependencies: - array.prototype.map: 1.0.8 - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.0 - get-intrinsic: 1.3.0 - iterate-value: 1.0.2 - - promptly@2.2.0: - dependencies: - read: 1.0.7 - - prompts@2.4.0: - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - prompts@2.4.2: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - prop-types-exact@1.2.7: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - hasown: 2.0.2 - isarray: 2.0.5 - object.assign: 4.1.7 - own-keys: 1.0.1 - - prop-types@15.8.1: - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 - - property-information@7.1.0: {} - - proto-list@1.2.4: {} - - protobufjs@6.11.4: - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/base64': 1.1.2 - '@protobufjs/codegen': 2.0.4 - '@protobufjs/eventemitter': 1.1.0 - '@protobufjs/fetch': 1.1.0 - '@protobufjs/float': 1.0.2 - '@protobufjs/inquire': 1.1.0 - '@protobufjs/path': 1.1.2 - '@protobufjs/pool': 1.1.0 - '@protobufjs/utf8': 1.1.0 - '@types/long': 4.0.2 - '@types/node': 22.19.15 - long: 4.0.0 + property-information@7.2.0: {} - protobufjs@7.5.4: + protobufjs@7.6.5: dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/base64': 1.1.2 - '@protobufjs/codegen': 2.0.4 - '@protobufjs/eventemitter': 1.1.0 - '@protobufjs/fetch': 1.1.0 + '@protobufjs/codegen': 2.0.5 + '@protobufjs/eventemitter': 1.1.1 + '@protobufjs/fetch': 1.1.1 '@protobufjs/float': 1.0.2 - '@protobufjs/inquire': 1.1.0 '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 - '@protobufjs/utf8': 1.1.0 - '@types/node': 22.19.15 + '@protobufjs/utf8': 1.1.2 + '@types/node': 26.1.1 long: 5.3.2 protocols@1.4.8: {} @@ -32492,42 +25152,16 @@ snapshots: forwarded: 0.2.0 ipaddr.js: 1.9.1 - proxy-agent@5.0.0: - dependencies: - agent-base: 6.0.2 - debug: 4.4.3 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - lru-cache: 5.1.1 - pac-proxy-agent: 5.0.0 - proxy-from-env: 1.1.0 - socks-proxy-agent: 5.0.1 - transitivePeerDependencies: - - supports-color - - proxy-agent@6.3.1: - dependencies: - agent-base: 7.1.4 - debug: 4.4.3 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 - lru-cache: 7.18.3 - pac-proxy-agent: 7.2.0 - proxy-from-env: 1.1.0 - socks-proxy-agent: 8.0.5 - transitivePeerDependencies: - - supports-color - - proxy-agent@6.5.0: + proxy-agent@6.5.0(supports-color@10.2.2): dependencies: agent-base: 7.1.4 - debug: 4.4.3 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 + debug: 4.4.3(supports-color@10.2.2) + http-proxy-agent: 7.0.2(supports-color@10.2.2) + https-proxy-agent: 7.0.6(supports-color@10.2.2) lru-cache: 7.18.3 - pac-proxy-agent: 7.2.0 + pac-proxy-agent: 7.2.0(supports-color@10.2.2) proxy-from-env: 1.1.0 - socks-proxy-agent: 8.0.5 + socks-proxy-agent: 8.0.5(supports-color@10.2.2) transitivePeerDependencies: - supports-color @@ -32545,46 +25179,35 @@ snapshots: dependencies: punycode: 2.3.1 - public-ip@4.0.4: + public-ip@8.0.0: dependencies: dns-socket: 4.2.2 - got: 9.6.0 - is-ip: 3.1.0 + is-ip: 5.0.1 - pump@2.0.1: + pump@3.0.3: dependencies: end-of-stream: 1.4.5 once: 1.4.0 - pump@3.0.3: + pump@3.0.4: dependencies: end-of-stream: 1.4.5 once: 1.4.0 - pumpify@1.5.1: - dependencies: - duplexify: 3.7.1 - inherits: 2.0.4 - pump: 2.0.1 - - punycode.js@2.3.1: {} - - punycode@1.4.1: {} - punycode@2.3.1: {} pupa@2.1.1: dependencies: escape-goat: 2.1.1 - puppeteer-core@23.11.1: + puppeteer-core@23.11.1(supports-color@10.2.2): dependencies: - '@puppeteer/browsers': 2.6.1 + '@puppeteer/browsers': 2.6.1(supports-color@10.2.2) chromium-bidi: 0.11.0(devtools-protocol@0.0.1367902) - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) devtools-protocol: 0.0.1367902 - typed-query-selector: 2.12.0 - ws: 8.20.0 + typed-query-selector: 2.12.2 + ws: 8.21.1 transitivePeerDependencies: - bare-abort-controller - bare-buffer @@ -32593,15 +25216,15 @@ snapshots: - supports-color - utf-8-validate - puppeteer-core@24.40.0: + puppeteer-core@24.40.0(supports-color@10.2.2): dependencies: - '@puppeteer/browsers': 2.13.0 + '@puppeteer/browsers': 2.13.0(supports-color@10.2.2) chromium-bidi: 14.0.0(devtools-protocol@0.0.1581282) - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) devtools-protocol: 0.0.1581282 typed-query-selector: 2.12.1 webdriver-bidi-protocol: 0.4.1 - ws: 8.20.0 + ws: 8.21.1 transitivePeerDependencies: - bare-abort-controller - bare-buffer @@ -32610,187 +25233,120 @@ snapshots: - supports-color - utf-8-validate - puppeteer-extra-plugin-block-resources@2.4.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))): + puppeteer-core@25.3.0(yauzl@2.10.0): dependencies: - debug: 4.4.3 - puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))) - optionalDependencies: - puppeteer-extra: 3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3)) + '@puppeteer/browsers': 3.0.6(yauzl@2.10.0) + chromium-bidi: 16.0.1(devtools-protocol@0.0.1638949) + devtools-protocol: 0.0.1638949 + typed-query-selector: 2.12.2 + webdriver-bidi-protocol: 0.4.2 + ws: 8.21.1 transitivePeerDependencies: - - playwright-extra - - supports-color + - bufferutil + - proxy-agent + - utf-8-validate + - yauzl - puppeteer-extra-plugin-block-resources@2.4.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))): + puppeteer-extra-plugin-block-resources@2.4.3(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - debug: 4.4.3 - puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))) + debug: 4.4.3(supports-color@10.2.2) + puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2) optionalDependencies: - puppeteer-extra: 3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3)) + puppeteer-extra: 3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2) transitivePeerDependencies: - playwright-extra - supports-color - puppeteer-extra-plugin-devtools@2.4.6(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))): - dependencies: - debug: 4.4.3 - get-port: 3.2.0 - got: 8.3.2 - http-auth: 3.2.4 - http-proxy: 1.18.1(debug@4.4.3) - http-proxy-response-rewrite: 0.0.1 - localtunnel: 2.0.2 - ow: 0.4.0 - puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))) - randomstring: 1.3.1 - url-parse: 1.5.10 - optionalDependencies: - puppeteer-extra: 3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3)) - transitivePeerDependencies: - - supports-color - - puppeteer-extra-plugin-devtools@2.4.6(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))): + puppeteer-extra-plugin-devtools@2.4.6(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) get-port: 3.2.0 got: 8.3.2 http-auth: 3.2.4 - http-proxy: 1.18.1(debug@4.4.3) + http-proxy: 1.18.1(debug@4.4.3(supports-color@10.2.2)) http-proxy-response-rewrite: 0.0.1 - localtunnel: 2.0.2 + localtunnel: 2.0.2(supports-color@10.2.2) ow: 0.4.0 - puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))) + puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2) randomstring: 1.3.1 url-parse: 1.5.10 optionalDependencies: - puppeteer-extra: 3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3)) - transitivePeerDependencies: - - supports-color - - puppeteer-extra-plugin-stealth@2.11.2(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))): - dependencies: - debug: 4.4.3 - puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))) - puppeteer-extra-plugin-user-preferences: 2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))) - optionalDependencies: - puppeteer-extra: 3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3)) - transitivePeerDependencies: - - supports-color - - puppeteer-extra-plugin-stealth@2.11.2(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))): - dependencies: - debug: 4.4.3 - puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))) - puppeteer-extra-plugin-user-preferences: 2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))) - optionalDependencies: - puppeteer-extra: 3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3)) + puppeteer-extra: 3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2) transitivePeerDependencies: - supports-color - puppeteer-extra-plugin-user-data-dir@2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))): + puppeteer-extra-plugin-stealth@2.11.2(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - debug: 4.4.3 - fs-extra: 10.1.0 - puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))) - rimraf: 3.0.2 + debug: 4.4.3(supports-color@10.2.2) + puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2) + puppeteer-extra-plugin-user-preferences: 2.4.1(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2) optionalDependencies: - puppeteer-extra: 3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3)) + puppeteer-extra: 3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2) transitivePeerDependencies: - supports-color - puppeteer-extra-plugin-user-data-dir@2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))): + puppeteer-extra-plugin-user-data-dir@2.4.1(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) fs-extra: 10.1.0 - puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))) + puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2) rimraf: 3.0.2 optionalDependencies: - puppeteer-extra: 3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3)) - transitivePeerDependencies: - - supports-color - - puppeteer-extra-plugin-user-preferences@2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))): - dependencies: - debug: 4.4.3 - deepmerge: 4.3.1 - puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))) - puppeteer-extra-plugin-user-data-dir: 2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))) - optionalDependencies: - puppeteer-extra: 3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3)) + puppeteer-extra: 3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2) transitivePeerDependencies: - supports-color - puppeteer-extra-plugin-user-preferences@2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))): + puppeteer-extra-plugin-user-preferences@2.4.1(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) deepmerge: 4.3.1 - puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))) - puppeteer-extra-plugin-user-data-dir: 2.4.1(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))) - optionalDependencies: - puppeteer-extra: 3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3)) - transitivePeerDependencies: - - supports-color - - puppeteer-extra-plugin@3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3))): - dependencies: - '@types/debug': 4.1.12 - debug: 4.4.3 - merge-deep: 3.0.3 + puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2) + puppeteer-extra-plugin-user-data-dir: 2.4.1(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2) optionalDependencies: - puppeteer-extra: 3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3)) + puppeteer-extra: 3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2) transitivePeerDependencies: - supports-color - puppeteer-extra-plugin@3.2.3(puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3))): + puppeteer-extra-plugin@3.2.3(puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - '@types/debug': 4.1.12 - debug: 4.4.3 + '@types/debug': 4.1.13 + debug: 4.4.3(supports-color@10.2.2) merge-deep: 3.0.3 optionalDependencies: - puppeteer-extra: 3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3)) - transitivePeerDependencies: - - supports-color - - puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@5.9.3)): - dependencies: - '@types/debug': 4.1.12 - debug: 4.4.3 - deepmerge: 4.3.1 - optionalDependencies: - puppeteer: 23.11.1(typescript@5.9.3) - puppeteer-core: 24.40.0 + puppeteer-extra: 3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2) transitivePeerDependencies: - supports-color - puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@23.11.1(typescript@6.0.3)): + puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2))(supports-color@10.2.2): dependencies: - '@types/debug': 4.1.12 - debug: 4.4.3 + '@types/debug': 4.1.13 + debug: 4.4.3(supports-color@10.2.2) deepmerge: 4.3.1 optionalDependencies: - puppeteer: 23.11.1(typescript@6.0.3) - puppeteer-core: 24.40.0 + puppeteer: 23.11.1(supports-color@10.2.2)(typescript@7.0.2) + puppeteer-core: 25.3.0(yauzl@2.10.0) transitivePeerDependencies: - supports-color - puppeteer-extra@3.3.6(puppeteer-core@24.40.0)(puppeteer@24.40.0(typescript@6.0.3)): + puppeteer-extra@3.3.6(puppeteer-core@25.3.0(yauzl@2.10.0))(puppeteer@25.3.0(yauzl@2.10.0))(supports-color@10.2.2): dependencies: - '@types/debug': 4.1.12 - debug: 4.4.3 + '@types/debug': 4.1.13 + debug: 4.4.3(supports-color@10.2.2) deepmerge: 4.3.1 optionalDependencies: - puppeteer: 24.40.0(typescript@6.0.3) - puppeteer-core: 24.40.0 + puppeteer: 25.3.0(yauzl@2.10.0) + puppeteer-core: 25.3.0(yauzl@2.10.0) transitivePeerDependencies: - supports-color - puppeteer@23.11.1(typescript@5.9.3): + puppeteer@23.11.1(supports-color@10.2.2)(typescript@7.0.2): dependencies: - '@puppeteer/browsers': 2.6.1 + '@puppeteer/browsers': 2.6.1(supports-color@10.2.2) chromium-bidi: 0.11.0(devtools-protocol@0.0.1367902) - cosmiconfig: 9.0.0(typescript@5.9.3) + cosmiconfig: 9.0.2(typescript@7.0.2) devtools-protocol: 0.0.1367902 - puppeteer-core: 23.11.1 - typed-query-selector: 2.12.0 + puppeteer-core: 23.11.1(supports-color@10.2.2) + typed-query-selector: 2.12.2 transitivePeerDependencies: - bare-abort-controller - bare-buffer @@ -32800,14 +25356,14 @@ snapshots: - typescript - utf-8-validate - puppeteer@23.11.1(typescript@6.0.3): + puppeteer@24.40.0(supports-color@10.2.2)(typescript@7.0.2): dependencies: - '@puppeteer/browsers': 2.6.1 - chromium-bidi: 0.11.0(devtools-protocol@0.0.1367902) - cosmiconfig: 9.0.0(typescript@6.0.3) - devtools-protocol: 0.0.1367902 - puppeteer-core: 23.11.1 - typed-query-selector: 2.12.0 + '@puppeteer/browsers': 2.13.0(supports-color@10.2.2) + chromium-bidi: 14.0.0(devtools-protocol@0.0.1581282) + cosmiconfig: 9.0.0(typescript@7.0.2) + devtools-protocol: 0.0.1581282 + puppeteer-core: 24.40.0(supports-color@10.2.2) + typed-query-selector: 2.12.1 transitivePeerDependencies: - bare-abort-controller - bare-buffer @@ -32817,28 +25373,24 @@ snapshots: - typescript - utf-8-validate - puppeteer@24.40.0(typescript@6.0.3): + puppeteer@25.3.0(yauzl@2.10.0): dependencies: - '@puppeteer/browsers': 2.13.0 - chromium-bidi: 14.0.0(devtools-protocol@0.0.1581282) - cosmiconfig: 9.0.0(typescript@6.0.3) - devtools-protocol: 0.0.1581282 - puppeteer-core: 24.40.0 - typed-query-selector: 2.12.1 + '@puppeteer/browsers': 3.0.6(yauzl@2.10.0) + chromium-bidi: 16.0.1(devtools-protocol@0.0.1638949) + devtools-protocol: 0.0.1638949 + lilconfig: 3.1.3 + puppeteer-core: 25.3.0(yauzl@2.10.0) + typed-query-selector: 2.12.2 transitivePeerDependencies: - - bare-abort-controller - - bare-buffer - bufferutil - - react-native-b4a - - supports-color - - typescript + - proxy-agent - utf-8-validate + - yauzl - pure-rand@6.1.0: {} - - pure-rand@8.4.1: {} + pure-rand@8.4.2: {} - q@1.5.1: {} + q@1.5.1: + optional: true qrcode-terminal@0.12.0: {} @@ -32848,24 +25400,15 @@ snapshots: pngjs: 5.0.0 yargs: 15.4.1 - qs@6.14.0: - dependencies: - side-channel: 1.1.0 - - qs@6.15.0: + qs@6.15.3: dependencies: - side-channel: 1.1.0 - - qs@6.5.3: {} - - qs@6.7.0: {} + es-define-property: 1.0.1 + side-channel: 1.1.1 quansync@0.2.11: {} quansync@1.0.0: {} - query-selector-shadow-dom@1.0.1: {} - query-string@5.1.1: dependencies: decode-uri-component: 0.2.2 @@ -32891,59 +25434,25 @@ snapshots: quick-lru@5.1.1: {} - radix-vue@1.9.17(vue@3.5.31(typescript@5.9.3)): - dependencies: - '@floating-ui/dom': 1.7.6 - '@floating-ui/vue': 1.1.9(vue@3.5.31(typescript@5.9.3)) - '@internationalized/date': 3.12.0 - '@internationalized/number': 3.6.5 - '@tanstack/vue-virtual': 3.13.23(vue@3.5.31(typescript@5.9.3)) - '@vueuse/core': 10.11.1(vue@3.5.31(typescript@5.9.3)) - '@vueuse/shared': 10.11.1(vue@3.5.31(typescript@5.9.3)) - aria-hidden: 1.2.6 - defu: 6.1.4 - fast-deep-equal: 3.1.3 - nanoid: 5.1.7 - vue: 3.5.31(typescript@5.9.3) - transitivePeerDependencies: - - '@vue/composition-api' - - radix-vue@1.9.17(vue@3.5.31(typescript@6.0.3)): + radix-vue@1.9.17(vue@3.5.40(typescript@7.0.2)): dependencies: - '@floating-ui/dom': 1.7.6 - '@floating-ui/vue': 1.1.9(vue@3.5.31(typescript@6.0.3)) - '@internationalized/date': 3.12.0 - '@internationalized/number': 3.6.5 - '@tanstack/vue-virtual': 3.13.23(vue@3.5.31(typescript@6.0.3)) - '@vueuse/core': 10.11.1(vue@3.5.31(typescript@6.0.3)) - '@vueuse/shared': 10.11.1(vue@3.5.31(typescript@6.0.3)) + '@floating-ui/dom': 1.8.0 + '@floating-ui/vue': 1.1.11(vue@3.5.40(typescript@7.0.2)) + '@internationalized/date': 3.12.2 + '@internationalized/number': 3.6.7 + '@tanstack/vue-virtual': 3.13.33(vue@3.5.40(typescript@7.0.2)) + '@vueuse/core': 10.11.1(vue@3.5.40(typescript@7.0.2)) + '@vueuse/shared': 10.11.1(vue@3.5.40(typescript@7.0.2)) aria-hidden: 1.2.6 - defu: 6.1.4 + defu: 6.1.7 fast-deep-equal: 3.1.3 - nanoid: 5.1.7 - vue: 3.5.31(typescript@6.0.3) + nanoid: 5.1.16 + vue: 3.5.40(typescript@7.0.2) transitivePeerDependencies: - '@vue/composition-api' - raf@3.4.1: - dependencies: - performance-now: 2.1.0 - - railroad-diagrams@1.0.0: {} - - randexp@0.4.6: - dependencies: - discontinuous-range: 1.0.0 - ret: 0.1.15 - random-bytes@1.0.0: {} - randomatic@3.1.1: - dependencies: - is-number: 4.0.0 - kind-of: 6.0.3 - math-random: 1.0.4 - randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 @@ -32956,42 +25465,32 @@ snapshots: range-parser@1.2.1: {} + range-parser@1.3.0: {} + range_check@2.0.4: dependencies: - ip6: 0.2.11 + ip6: 0.2.13 ipaddr.js: 1.9.1 - raw-body@1.1.7: - dependencies: - bytes: 1.0.0 - string_decoder: 0.10.31 - - raw-body@2.4.0: - dependencies: - bytes: 3.1.0 - http-errors: 1.7.2 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - - raw-body@2.4.1: + raw-body@2.5.3: dependencies: - bytes: 3.1.0 - http-errors: 1.7.3 + bytes: 3.1.2 + http-errors: 2.0.1 iconv-lite: 0.4.24 unpipe: 1.0.0 - raw-body@2.5.3: + raw-body@3.0.0: dependencies: bytes: 3.1.2 - http-errors: 2.0.1 - iconv-lite: 0.4.24 + http-errors: 2.0.0 + iconv-lite: 0.6.3 unpipe: 1.0.0 raw-body@3.0.2: dependencies: bytes: 3.1.2 http-errors: 2.0.1 - iconv-lite: 0.7.2 + iconv-lite: 0.7.3 unpipe: 1.0.0 rc@1.2.8: @@ -33001,128 +25500,48 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-dev-utils@11.0.4(eslint@8.57.1)(typescript@5.9.3)(webpack@5.103.0(esbuild@0.28.0)): - dependencies: - '@babel/code-frame': 7.10.4 - address: 1.1.2 - browserslist: 4.14.2 - chalk: 2.4.2 - cross-spawn: 7.0.3 - detect-port-alt: 1.1.6 - escape-string-regexp: 2.0.0 - filesize: 6.1.0 - find-up: 4.1.0 - fork-ts-checker-webpack-plugin: 4.1.6(eslint@8.57.1)(typescript@5.9.3)(webpack@5.103.0(esbuild@0.28.0)) - global-modules: 2.0.0 - globby: 11.0.1 - gzip-size: 5.1.1 - immer: 8.0.1 - is-root: 2.1.0 - loader-utils: 2.0.0 - open: 7.4.2 - pkg-up: 3.1.0 - prompts: 2.4.0 - react-error-overlay: 6.1.0 - recursive-readdir: 2.2.2 - shell-quote: 1.7.2 - strip-ansi: 6.0.0 - text-table: 0.2.0 - webpack: 5.103.0(esbuild@0.28.0) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - eslint - - supports-color - - vue-template-compiler - - react-dom@16.14.0(react@16.14.0): - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - prop-types: 15.8.1 - react: 16.14.0 - scheduler: 0.19.1 - - react-dom@19.2.4(react@19.2.4): - dependencies: - react: 19.2.4 - scheduler: 0.27.0 + re2js@0.4.3: {} - react-dom@19.2.6(react@19.2.6): + react-dom@19.2.8(react@19.2.8): dependencies: - react: 19.2.6 + react: 19.2.8 scheduler: 0.27.0 - react-error-overlay@6.1.0: {} - - react-is@16.13.1: {} - react-is@17.0.2: {} - react-medium-image-zoom@5.4.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + react-reconciler@0.33.0(react@19.2.8): dependencies: - react: 19.2.6 - react-dom: 19.2.6(react@19.2.6) - - react-reconciler@0.29.2(react@18.3.1): - dependencies: - loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 + react: 19.2.8 + scheduler: 0.27.0 - react-remove-scroll-bar@2.3.8(@types/react@19.2.15)(react@19.2.6): + react-remove-scroll-bar@2.3.8(@types/react@19.2.17)(react@19.2.8): dependencies: - react: 19.2.6 - react-style-singleton: 2.2.3(@types/react@19.2.15)(react@19.2.6) + react: 19.2.8 + react-style-singleton: 2.2.3(@types/react@19.2.17)(react@19.2.8) tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - react-remove-scroll@2.7.2(@types/react@19.2.15)(react@19.2.6): + react-remove-scroll@2.7.2(@types/react@19.2.17)(react@19.2.8): dependencies: - react: 19.2.6 - react-remove-scroll-bar: 2.3.8(@types/react@19.2.15)(react@19.2.6) - react-style-singleton: 2.2.3(@types/react@19.2.15)(react@19.2.6) + react: 19.2.8 + react-remove-scroll-bar: 2.3.8(@types/react@19.2.17)(react@19.2.8) + react-style-singleton: 2.2.3(@types/react@19.2.17)(react@19.2.8) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.2.15)(react@19.2.6) - use-sidecar: 1.1.3(@types/react@19.2.15)(react@19.2.6) + use-callback-ref: 1.3.3(@types/react@19.2.17)(react@19.2.8) + use-sidecar: 1.1.3(@types/react@19.2.17)(react@19.2.8) optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - react-style-singleton@2.2.3(@types/react@19.2.15)(react@19.2.6): + react-style-singleton@2.2.3(@types/react@19.2.17)(react@19.2.8): dependencies: get-nonce: 1.0.1 - react: 19.2.6 + react: 19.2.8 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.15 - - react-test-renderer@16.14.0(react@16.14.0): - dependencies: - object-assign: 4.1.1 - prop-types: 15.8.1 - react: 16.14.0 - react-is: 16.13.1 - scheduler: 0.19.1 - - react@16.14.0: - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - prop-types: 15.8.1 - - react@18.3.1: - dependencies: - loose-envify: 1.4.0 - - react@19.2.4: {} + '@types/react': 19.2.17 - react@19.2.6: {} - - read-pkg-up@1.0.1: - dependencies: - find-up: 1.1.2 - read-pkg: 1.1.0 + react@19.2.8: {} read-pkg-up@7.0.1: dependencies: @@ -33130,12 +25549,6 @@ snapshots: read-pkg: 5.2.0 type-fest: 0.8.1 - read-pkg@1.1.0: - dependencies: - load-json-file: 1.1.0 - normalize-package-data: 2.5.0 - path-type: 1.1.0 - read-pkg@5.2.0: dependencies: '@types/normalize-package-data': 2.4.4 @@ -33146,18 +25559,13 @@ snapshots: read-yaml-file@1.1.0: dependencies: graceful-fs: 4.2.11 - js-yaml: 3.14.2 + js-yaml: 3.15.0 pify: 4.0.1 strip-bom: 3.0.0 - read-yaml-file@2.1.0: - dependencies: - js-yaml: 4.1.1 - strip-bom: 4.0.0 - - read@1.0.7: + read@3.0.1: dependencies: - mute-stream: 0.0.8 + mute-stream: 1.0.0 readable-stream@1.0.34: dependencies: @@ -33166,13 +25574,6 @@ snapshots: isarray: 0.0.1 string_decoder: 0.10.31 - readable-stream@1.1.14: - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 0.0.1 - string_decoder: 0.10.31 - readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 @@ -33203,13 +25604,11 @@ snapshots: readdirp@3.6.0: dependencies: - picomatch: 2.3.1 - - readdirp@4.1.2: {} + picomatch: 2.3.2 readdirp@5.0.0: {} - recast@0.23.11: + recast@0.23.12: dependencies: ast-types: 0.16.1 esprima: 4.0.1 @@ -33217,20 +25616,16 @@ snapshots: tiny-invariant: 1.3.3 tslib: 2.8.1 - rechoir@0.6.2: - dependencies: - resolve: 1.22.11 - recma-build-jsx@1.0.0: dependencies: '@types/estree': 1.0.9 estree-util-build-jsx: 3.0.1 vfile: 6.0.3 - recma-jsx@1.0.1(acorn@8.16.0): + recma-jsx@1.0.1(acorn@8.17.0): dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.17.0 + acorn-jsx: 5.3.2(acorn@8.17.0) estree-util-to-js: 2.0.0 recma-parse: 1.0.0 recma-stringify: 1.0.0 @@ -33250,48 +25645,32 @@ snapshots: unified: 11.0.5 vfile: 6.0.3 - recursive-readdir@2.2.2: - dependencies: - minimatch: 3.0.4 - redaxios@0.5.1: {} - redent@1.0.0: - dependencies: - indent-string: 2.1.0 - strip-indent: 1.0.1 - redent@3.0.0: dependencies: indent-string: 4.0.0 strip-indent: 3.0.0 + redis-errors@1.2.0: {} + + redis-parser@3.0.0: + dependencies: + redis-errors: 1.2.0 + reduce-flatten@2.0.0: {} reflect.getprototypeof@1.0.10: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 get-intrinsic: 1.3.0 get-proto: 1.0.1 which-builtin-type: 1.2.1 - regenerate-unicode-properties@10.2.2: - dependencies: - regenerate: 1.4.2 - - regenerate@1.4.2: {} - - regenerator-runtime@0.13.11: {} - - regex-not@1.0.2: - dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 - regex-recursion@6.0.2: dependencies: regex-utilities: 2.3.0 @@ -33304,22 +25683,13 @@ snapshots: regexp.prototype.flags@1.5.4: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 es-errors: 1.3.0 get-proto: 1.0.1 gopd: 1.2.0 set-function-name: 2.0.2 - regexpu-core@6.4.0: - dependencies: - regenerate: 1.4.2 - regenerate-unicode-properties: 10.2.2 - regjsgen: 0.8.0 - regjsparser: 0.13.0 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.1 - registry-auth-token@3.3.2: dependencies: rc: 1.2.8 @@ -33337,16 +25707,10 @@ snapshots: dependencies: rc: 1.2.8 - regjsgen@0.8.0: {} - - regjsparser@0.13.0: - dependencies: - jsesc: 3.1.0 - rehype-external-links@3.0.0: dependencies: - '@types/hast': 3.0.4 - '@ungap/structured-clone': 1.3.1 + '@types/hast': 3.0.5 + '@ungap/structured-clone': 1.3.3 hast-util-is-element: 3.0.0 is-absolute-url: 4.0.1 space-separated-tokens: 2.0.2 @@ -33354,101 +25718,62 @@ snapshots: rehype-format@5.0.1: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-format: 1.1.0 rehype-parse@9.0.1: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-from-html: 2.0.3 unified: 11.0.5 rehype-raw@7.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-raw: 9.1.0 vfile: 6.0.3 - rehype-recma@1.0.0: + rehype-recma@1.0.0(supports-color@10.2.2): dependencies: '@types/estree': 1.0.9 - '@types/hast': 3.0.4 - hast-util-to-estree: 3.1.3 + '@types/hast': 3.0.5 + hast-util-to-estree: 3.1.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color - rehype-sanitize@6.0.0: - dependencies: - '@types/hast': 3.0.4 - hast-util-sanitize: 5.0.2 - - rehype-stringify@10.0.1: - dependencies: - '@types/hast': 3.0.4 - hast-util-to-html: 9.0.5 - unified: 11.0.5 - - reinterval@1.1.0: {} - - release-it@14.14.3: - dependencies: - '@iarna/toml': 2.2.5 - '@octokit/rest': 18.12.0 - async-retry: 1.3.3 - chalk: 4.1.2 - cosmiconfig: 7.0.1 - debug: 4.3.4 - execa: 5.1.1 - form-data: 4.0.0 - git-url-parse: 11.6.0 - globby: 11.0.4 - got: 9.6.0 - import-cwd: 3.0.0 - inquirer: 8.2.0 - is-ci: 3.0.1 - lodash: 4.17.21 - mime-types: 2.1.35 - new-github-release-url: 1.0.0 - open: 7.4.2 - ora: 5.4.1 - os-name: 4.0.1 - parse-json: 5.2.0 - promise.allsettled: 1.0.5 - proxy-agent: 5.0.0 - semver: 7.3.5 - shelljs: 0.8.5 - update-notifier: 5.1.0 - url-join: 4.0.1 - uuid: 8.3.2 - wildcard-match: 5.1.2 - yaml: 1.10.2 - yargs-parser: 20.2.9 - transitivePeerDependencies: - - encoding - - supports-color + rehype-sanitize@6.0.0: + dependencies: + '@types/hast': 3.0.5 + hast-util-sanitize: 5.0.2 - remark-gfm@4.0.1: + rehype-stringify@10.0.1: + dependencies: + '@types/hast': 3.0.5 + hast-util-to-html: 9.0.5 + unified: 11.0.5 + + remark-gfm@4.0.1(supports-color@10.2.2): dependencies: '@types/mdast': 4.0.4 - mdast-util-gfm: 3.1.0 + mdast-util-gfm: 3.1.0(supports-color@10.2.2) micromark-extension-gfm: 3.0.0 - remark-parse: 11.0.0 + remark-parse: 11.0.0(supports-color@10.2.2) remark-stringify: 11.0.0 unified: 11.0.5 transitivePeerDependencies: - supports-color - remark-mdx@3.1.1: + remark-mdx@3.1.1(supports-color@10.2.2): dependencies: - mdast-util-mdx: 3.0.0 + mdast-util-mdx: 3.0.0(supports-color@10.2.2) micromark-extension-mdxjs: 3.0.0 transitivePeerDependencies: - supports-color - remark-parse@11.0.0: + remark-parse@11.0.0(supports-color@10.2.2): dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.3(supports-color@10.2.2) micromark-util-types: 2.0.2 unified: 11.0.5 transitivePeerDependencies: @@ -33456,7 +25781,7 @@ snapshots: remark-rehype@11.1.2: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 mdast-util-to-hast: 13.2.1 unified: 11.0.5 @@ -33468,112 +25793,31 @@ snapshots: mdast-util-to-markdown: 2.1.2 unified: 11.0.5 - remark@15.0.1: + remark@15.0.1(supports-color@10.2.2): dependencies: '@types/mdast': 4.0.4 - remark-parse: 11.0.0 + remark-parse: 11.0.0(supports-color@10.2.2) remark-stringify: 11.0.0 unified: 11.0.5 transitivePeerDependencies: - supports-color - remarkable@1.7.4: - dependencies: - argparse: 1.0.10 - autolinker: 0.28.1 - - remarkable@2.0.1: - dependencies: - argparse: 1.0.10 - autolinker: 3.16.2 - - remove-markdown@0.2.2: {} - - remove-trailing-separator@1.1.0: {} - - repeat-element@1.1.4: {} - - repeat-string@1.6.1: {} - - repeating@2.0.1: - dependencies: - is-finite: 1.1.0 - - replace-ext@1.0.1: {} - - request@2.88.0: - dependencies: - aws-sign2: 0.7.0 - aws4: 1.13.2 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 2.3.3 - har-validator: 5.1.5 - http-signature: 1.2.0 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - oauth-sign: 0.9.0 - performance-now: 2.1.0 - qs: 6.5.3 - safe-buffer: 5.2.1 - tough-cookie: 2.4.3 - tunnel-agent: 0.6.0 - uuid: 3.4.0 - - request@2.88.2: - dependencies: - aws-sign2: 0.7.0 - aws4: 1.13.2 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 2.3.3 - har-validator: 5.1.5 - http-signature: 1.2.0 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - oauth-sign: 0.9.0 - performance-now: 2.1.0 - qs: 6.5.3 - safe-buffer: 5.2.1 - tough-cookie: 2.5.0 - tunnel-agent: 0.6.0 - uuid: 3.4.0 - require-directory@2.1.1: {} require-from-string@2.0.2: {} - require-in-the-middle@5.2.0: - dependencies: - debug: 4.4.3 - module-details-from-path: 1.0.4 - resolve: 1.22.11 - transitivePeerDependencies: - - supports-color - require-main-filename@2.0.0: {} requires-port@1.0.0: {} - reselect@5.1.1: {} + reselect@5.2.0: {} reserved-identifiers@1.2.0: {} resolve-alpn@1.2.1: {} - resolve-cwd@3.0.0: - dependencies: - resolve-from: 5.0.0 - - resolve-from@3.0.0: {} + resolve-from@3.0.0: + optional: true resolve-from@4.0.0: {} @@ -33581,11 +25825,10 @@ snapshots: resolve-pkg-maps@1.0.0: {} - resolve-url@0.2.1: {} - - resolve@1.22.11: + resolve@1.22.12: dependencies: - is-core-module: 2.16.1 + es-errors: 1.3.0 + is-core-module: 2.16.2 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -33597,10 +25840,9 @@ snapshots: dependencies: lowercase-keys: 2.0.0 - restore-cursor@2.0.0: + responselike@4.0.2: dependencies: - onetime: 2.0.1 - signal-exit: 3.0.7 + lowercase-keys: 3.0.0 restore-cursor@3.1.0: dependencies: @@ -33617,19 +25859,18 @@ snapshots: onetime: 7.0.0 signal-exit: 4.1.0 - ret@0.1.15: {} - - retry@0.13.1: {} - - retry@0.6.1: {} - - rettime@0.10.1: {} + rettime@0.10.1: + optional: true reusify@1.1.0: {} - rgb-regex@1.0.1: {} + rfdc@1.4.1: {} + + rgb-regex@1.0.1: + optional: true - rgba-regex@1.0.0: {} + rgba-regex@1.0.0: + optional: true rimraf@2.7.1: dependencies: @@ -33644,25 +25885,21 @@ snapshots: glob: 13.0.6 package-json-from-dist: 1.0.1 - rolldown-plugin-dts@0.23.2(rolldown@1.0.0-rc.12(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@6.0.3): - dependencies: - '@babel/generator': 8.0.0-rc.3 - '@babel/helper-validator-identifier': 8.0.0-rc.3 - '@babel/parser': 8.0.0-rc.3 - '@babel/types': 8.0.0-rc.3 - ast-kit: 3.0.0-beta.1 - birpc: 4.0.0 - dts-resolver: 2.1.3 - get-tsconfig: 4.13.7 - obug: 2.1.1 - picomatch: 4.0.4 - rolldown: 1.0.0-rc.12(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + rolldown-plugin-dts@0.27.12(rolldown@1.2.0)(typescript@7.0.2): + dependencies: + dts-resolver: 3.0.0 + get-tsconfig: 5.0.0-beta.5 + obug: 2.1.4 + rolldown: 1.2.0 + yuku-ast: 0.7.2 + yuku-codegen: 0.7.2 + yuku-parser: 0.7.2 optionalDependencies: - typescript: 6.0.3 + typescript: 7.0.2 transitivePeerDependencies: - oxc-resolver - rolldown@1.0.0-rc.12(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): + rolldown@1.0.0-rc.12(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2): dependencies: '@oxc-project/types': 0.122.0 '@rolldown/pluginutils': 1.0.0-rc.12 @@ -33679,66 +25916,92 @@ snapshots: '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.12 '@rolldown/binding-linux-x64-musl': 1.0.0-rc.12 '@rolldown/binding-openharmony-arm64': 1.0.0-rc.12 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.12(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.12(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.12 '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.12 transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' + optional: true - rolldown@1.0.0-rc.15: + rolldown@1.1.5: dependencies: - '@oxc-project/types': 0.124.0 - '@rolldown/pluginutils': 1.0.0-rc.15 + '@oxc-project/types': 0.139.0 + '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-rc.15 - '@rolldown/binding-darwin-arm64': 1.0.0-rc.15 - '@rolldown/binding-darwin-x64': 1.0.0-rc.15 - '@rolldown/binding-freebsd-x64': 1.0.0-rc.15 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.15 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.15 - '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.15 - '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.15 - '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.15 - '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.15 - '@rolldown/binding-linux-x64-musl': 1.0.0-rc.15 - '@rolldown/binding-openharmony-arm64': 1.0.0-rc.15 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.15 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.15 - '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.15 - - rolldown@1.0.1: - dependencies: - '@oxc-project/types': 0.130.0 + '@rolldown/binding-android-arm64': 1.1.5 + '@rolldown/binding-darwin-arm64': 1.1.5 + '@rolldown/binding-darwin-x64': 1.1.5 + '@rolldown/binding-freebsd-x64': 1.1.5 + '@rolldown/binding-linux-arm-gnueabihf': 1.1.5 + '@rolldown/binding-linux-arm64-gnu': 1.1.5 + '@rolldown/binding-linux-arm64-musl': 1.1.5 + '@rolldown/binding-linux-ppc64-gnu': 1.1.5 + '@rolldown/binding-linux-s390x-gnu': 1.1.5 + '@rolldown/binding-linux-x64-gnu': 1.1.5 + '@rolldown/binding-linux-x64-musl': 1.1.5 + '@rolldown/binding-openharmony-arm64': 1.1.5 + '@rolldown/binding-wasm32-wasi': 1.1.5 + '@rolldown/binding-win32-arm64-msvc': 1.1.5 + '@rolldown/binding-win32-x64-msvc': 1.1.5 + + rolldown@1.2.0: + dependencies: + '@oxc-project/types': 0.140.0 '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.1 - '@rolldown/binding-darwin-arm64': 1.0.1 - '@rolldown/binding-darwin-x64': 1.0.1 - '@rolldown/binding-freebsd-x64': 1.0.1 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.1 - '@rolldown/binding-linux-arm64-gnu': 1.0.1 - '@rolldown/binding-linux-arm64-musl': 1.0.1 - '@rolldown/binding-linux-ppc64-gnu': 1.0.1 - '@rolldown/binding-linux-s390x-gnu': 1.0.1 - '@rolldown/binding-linux-x64-gnu': 1.0.1 - '@rolldown/binding-linux-x64-musl': 1.0.1 - '@rolldown/binding-openharmony-arm64': 1.0.1 - '@rolldown/binding-wasm32-wasi': 1.0.1 - '@rolldown/binding-win32-arm64-msvc': 1.0.1 - '@rolldown/binding-win32-x64-msvc': 1.0.1 - - rollup@2.79.2: + '@rolldown/binding-android-arm64': 1.2.0 + '@rolldown/binding-darwin-arm64': 1.2.0 + '@rolldown/binding-darwin-x64': 1.2.0 + '@rolldown/binding-freebsd-x64': 1.2.0 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.0 + '@rolldown/binding-linux-arm64-gnu': 1.2.0 + '@rolldown/binding-linux-arm64-musl': 1.2.0 + '@rolldown/binding-linux-ppc64-gnu': 1.2.0 + '@rolldown/binding-linux-s390x-gnu': 1.2.0 + '@rolldown/binding-linux-x64-gnu': 1.2.0 + '@rolldown/binding-linux-x64-musl': 1.2.0 + '@rolldown/binding-openharmony-arm64': 1.2.0 + '@rolldown/binding-wasm32-wasi': 1.2.0 + '@rolldown/binding-win32-arm64-msvc': 1.2.0 + '@rolldown/binding-win32-x64-msvc': 1.2.0 + + rollup@4.62.2: + dependencies: + '@types/estree': 1.0.9 optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.62.2 + '@rollup/rollup-android-arm64': 4.62.2 + '@rollup/rollup-darwin-arm64': 4.62.2 + '@rollup/rollup-darwin-x64': 4.62.2 + '@rollup/rollup-freebsd-arm64': 4.62.2 + '@rollup/rollup-freebsd-x64': 4.62.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.62.2 + '@rollup/rollup-linux-arm-musleabihf': 4.62.2 + '@rollup/rollup-linux-arm64-gnu': 4.62.2 + '@rollup/rollup-linux-arm64-musl': 4.62.2 + '@rollup/rollup-linux-loong64-gnu': 4.62.2 + '@rollup/rollup-linux-loong64-musl': 4.62.2 + '@rollup/rollup-linux-ppc64-gnu': 4.62.2 + '@rollup/rollup-linux-ppc64-musl': 4.62.2 + '@rollup/rollup-linux-riscv64-gnu': 4.62.2 + '@rollup/rollup-linux-riscv64-musl': 4.62.2 + '@rollup/rollup-linux-s390x-gnu': 4.62.2 + '@rollup/rollup-linux-x64-gnu': 4.62.2 + '@rollup/rollup-linux-x64-musl': 4.62.2 + '@rollup/rollup-openbsd-x64': 4.62.2 + '@rollup/rollup-openharmony-arm64': 4.62.2 + '@rollup/rollup-win32-arm64-msvc': 4.62.2 + '@rollup/rollup-win32-ia32-msvc': 4.62.2 + '@rollup/rollup-win32-x64-gnu': 4.62.2 + '@rollup/rollup-win32-x64-msvc': 4.62.2 fsevents: 2.3.3 - rotated-array-set@1.0.0: {} - rou3@0.8.1: {} - router@2.2.0: + router@2.2.0(supports-color@10.2.2): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) depd: 2.0.0 is-promise: 4.0.0 parseurl: 1.3.3 @@ -33746,15 +26009,8 @@ snapshots: transitivePeerDependencies: - supports-color - rst-selector-parser@2.2.3: - dependencies: - lodash.flattendeep: 4.4.0 - nearley: 2.20.1 - run-applescript@7.1.0: {} - run-async@2.4.1: {} - run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -33765,9 +26021,9 @@ snapshots: dependencies: tslib: 2.8.1 - safe-array-concat@1.1.3: + safe-array-concat@1.1.4: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 get-intrinsic: 1.3.0 has-symbols: 1.1.0 @@ -33775,12 +26031,8 @@ snapshots: safe-buffer@5.1.2: {} - safe-buffer@5.2.0: {} - safe-buffer@5.2.1: {} - safe-json-parse@1.0.1: {} - safe-push-apply@1.0.0: dependencies: es-errors: 1.3.0 @@ -33792,10 +26044,6 @@ snapshots: es-errors: 1.3.0 is-regex: 1.2.1 - safe-regex@1.1.0: - dependencies: - ret: 0.1.15 - safe-stable-stringify@2.5.0: {} safer-buffer@2.1.2: {} @@ -33813,23 +26061,15 @@ snapshots: srcset: 1.0.0 xtend: 4.0.2 - sax@1.2.4: {} + sax@1.2.4: + optional: true - sax@1.4.3: {} + sax@1.6.0: {} saxes@6.0.0: dependencies: xmlchars: 2.2.0 - scheduler@0.19.1: - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - - scheduler@0.23.2: - dependencies: - loose-envify: 1.4.0 - scheduler@0.27.0: {} schema-utils@4.3.3: @@ -33845,83 +26085,29 @@ snapshots: secure-json-parse@4.1.0: {} - seek-bzip@1.0.6: - dependencies: - commander: 2.20.3 - semver-diff@3.1.1: dependencies: semver: 6.3.1 - semver-regex@2.0.0: {} - - semver-truncate@1.1.2: - dependencies: - semver: 5.7.2 - semver@5.7.2: {} - semver@6.3.0: {} - semver@6.3.1: {} - semver@7.3.4: - dependencies: - lru-cache: 6.0.0 - semver@7.3.5: dependencies: lru-cache: 6.0.0 - semver@7.5.4: - dependencies: - lru-cache: 6.0.0 - - semver@7.7.3: {} + semver@7.7.2: {} semver@7.7.4: {} semver@7.8.0: {} - send@0.17.1: - dependencies: - debug: 2.6.9 - depd: 1.1.2 - destroy: 1.0.4 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 1.7.3 - mime: 1.6.0 - ms: 2.1.1 - on-finished: 2.3.0 - range-parser: 1.2.1 - statuses: 1.5.0 - transitivePeerDependencies: - - supports-color - - send@0.18.0: - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color + semver@7.8.5: {} - send@0.19.0: + send@0.18.0(supports-color@10.2.2): dependencies: - debug: 2.6.9 + debug: 2.6.9(supports-color@10.2.2) depd: 2.0.0 destroy: 1.2.0 encodeurl: 1.0.2 @@ -33937,27 +26123,27 @@ snapshots: transitivePeerDependencies: - supports-color - send@0.19.1: + send@0.19.2(supports-color@10.2.2): dependencies: - debug: 2.6.9 + debug: 2.6.9(supports-color@10.2.2) depd: 2.0.0 destroy: 1.2.0 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 fresh: 0.5.2 - http-errors: 2.0.0 + http-errors: 2.0.1 mime: 1.6.0 ms: 2.1.3 on-finished: 2.4.1 range-parser: 1.2.1 - statuses: 2.0.1 + statuses: 2.0.2 transitivePeerDependencies: - supports-color - send@1.2.1: + send@1.2.1(supports-color@10.2.2): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -33966,7 +26152,7 @@ snapshots: mime-types: 3.0.2 ms: 2.1.3 on-finished: 2.4.1 - range-parser: 1.2.1 + range-parser: 1.3.0 statuses: 2.0.2 transitivePeerDependencies: - supports-color @@ -33977,29 +26163,11 @@ snapshots: tslib: 2.8.1 upper-case-first: 2.0.2 - serialize-error@7.0.1: - dependencies: - type-fest: 0.13.1 - - seroval-plugins@1.5.2(seroval@1.5.4): + seroval-plugins@1.5.6(seroval@1.5.6): dependencies: - seroval: 1.5.4 + seroval: 1.5.6 - seroval-plugins@1.5.4(seroval@1.5.4): - dependencies: - seroval: 1.5.4 - - seroval@1.5.4: {} - - serve-handler@6.1.6: - dependencies: - bytes: 3.0.0 - content-disposition: 0.5.2 - mime-types: 2.1.18 - minimatch: 3.1.2 - path-is-inside: 1.0.2 - path-to-regexp: 3.3.0 - range-parser: 1.2.0 + seroval@1.5.6: {} serve-handler@6.1.7: dependencies: @@ -34011,50 +26179,25 @@ snapshots: path-to-regexp: 3.3.0 range-parser: 1.2.0 - serve-static@1.14.1: - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.17.1 - transitivePeerDependencies: - - supports-color - - serve-static@1.16.2: + serve-static@1.16.3(supports-color@10.2.2): dependencies: encodeurl: 2.0.0 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.19.0 + send: 0.19.2(supports-color@10.2.2) transitivePeerDependencies: - supports-color - serve-static@2.2.1: + serve-static@2.2.1(supports-color@10.2.2): dependencies: encodeurl: 2.0.0 escape-html: 1.0.3 parseurl: 1.3.3 - send: 1.2.1 - transitivePeerDependencies: - - supports-color - - serve@14.2.5: - dependencies: - '@zeit/schemas': 2.36.0 - ajv: 8.12.0 - arg: 5.0.2 - boxen: 7.0.0 - chalk: 5.0.1 - chalk-template: 0.4.0 - clipboardy: 3.0.0 - compression: 1.8.1 - is-port-reachable: 4.0.0 - serve-handler: 6.1.6 - update-check: 1.5.4 + send: 1.2.1(supports-color@10.2.2) transitivePeerDependencies: - supports-color - serve@14.2.6: + serve@14.2.6(supports-color@10.2.2): dependencies: '@zeit/schemas': 2.36.0 ajv: 8.18.0 @@ -34063,7 +26206,7 @@ snapshots: chalk: 5.0.1 chalk-template: 0.4.0 clipboardy: 3.0.0 - compression: 1.8.1 + compression: 1.8.1(supports-color@10.2.2) is-port-reachable: 4.0.0 serve-handler: 6.1.7 update-check: 1.5.4 @@ -34072,6 +26215,8 @@ snapshots: set-blocking@2.0.0: {} + set-cookie-parser@3.1.0: {} + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -34088,68 +26233,50 @@ snapshots: functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 - set-getter@0.1.1: - dependencies: - to-object-path: 0.3.0 - set-proto@1.0.0: dependencies: dunder-proto: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 - - set-value@2.0.1: - dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 - - setimmediate@1.0.5: {} - - setprototypeof@1.1.1: {} + es-object-atoms: 1.1.2 setprototypeof@1.2.0: {} - shadcn@4.1.2(@types/node@22.19.15)(typescript@5.9.3): + shadcn@4.14.0(supports-color@10.2.2)(typescript@7.0.2): dependencies: - '@babel/core': 7.29.0 - '@babel/parser': 7.29.2 - '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) - '@babel/preset-typescript': 7.28.5(@babel/core@7.29.0) - '@dotenvx/dotenvx': 1.59.1 - '@modelcontextprotocol/sdk': 1.29.0(zod@3.25.76) + '@babel/core': 7.29.7(supports-color@10.2.2) + '@babel/parser': 7.29.7 + '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2) + '@dotenvx/dotenvx': 1.75.1 + '@modelcontextprotocol/sdk': 1.29.0(supports-color@10.2.2)(zod@3.25.76) '@types/validate-npm-package-name': 4.0.2 - browserslist: 4.28.1 - commander: 14.0.2 - cosmiconfig: 9.0.0(typescript@5.9.3) + browserslist: 4.28.6 + commander: 14.0.3 + cosmiconfig: 9.0.2(typescript@7.0.2) dedent: 1.7.2 deepmerge: 4.3.1 - diff: 8.0.2 + diff: 8.0.4 execa: 9.6.1 fast-glob: 3.3.3 - fs-extra: 11.3.4 + fs-extra: 11.3.6 fuzzysort: 3.1.0 - https-proxy-agent: 7.0.6 kleur: 4.1.5 - msw: 2.12.14(@types/node@22.19.15)(typescript@5.9.3) - node-fetch: 3.3.2 open: 11.0.0 ora: 8.2.0 - postcss: 8.5.8 - postcss-selector-parser: 7.1.1 + postcss: 8.5.21 + postcss-selector-parser: 7.1.4 prompts: 2.4.2 - recast: 0.23.11 + recast: 0.23.12 stringify-object: 5.0.0 tailwind-merge: 3.6.0 ts-morph: 26.0.0 tsconfig-paths: 4.2.0 + undici: 7.28.0 validate-npm-package-name: 7.0.2 zod: 3.25.76 zod-to-json-schema: 3.25.2(zod@3.25.76) transitivePeerDependencies: - '@cfworker/json-schema' - - '@types/node' - babel-plugin-macros - supports-color - typescript @@ -34161,15 +26288,11 @@ snapshots: lazy-cache: 0.2.7 mixin-object: 2.0.1 - shallow-clone@3.0.1: - dependencies: - kind-of: 6.0.3 - sharp@0.34.5: dependencies: '@img/colour': 1.1.0 detect-libc: 2.1.2 - semver: 7.8.0 + semver: 7.8.5 optionalDependencies: '@img/sharp-darwin-arm64': 0.34.5 '@img/sharp-darwin-x64': 0.34.5 @@ -34208,33 +26331,20 @@ snapshots: shebang-regex@3.0.0: {} - shell-quote@1.7.2: {} + shell-quote@1.10.0: {} - shell-quote@1.8.3: {} - - shelljs@0.8.5: - dependencies: - glob: 7.2.3 - interpret: 1.4.0 - rechoir: 0.6.2 + shell-quote@1.8.4: {} - shiki@4.1.0: + shiki@4.3.1: dependencies: - '@shikijs/core': 4.1.0 - '@shikijs/engine-javascript': 4.1.0 - '@shikijs/engine-oniguruma': 4.1.0 - '@shikijs/langs': 4.1.0 - '@shikijs/themes': 4.1.0 - '@shikijs/types': 4.1.0 + '@shikijs/core': 4.3.1 + '@shikijs/engine-javascript': 4.3.1 + '@shikijs/engine-oniguruma': 4.3.1 + '@shikijs/langs': 4.3.1 + '@shikijs/themes': 4.3.1 + '@shikijs/types': 4.3.1 '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 - - shimmer@1.2.1: {} - - short-tree@1.0.0: - dependencies: - '@types/bintrees': 1.0.6 - bintrees: 1.0.2 + '@types/hast': 3.0.5 should-equal@2.0.0: dependencies: @@ -34266,7 +26376,7 @@ snapshots: should-type-adaptors: 1.1.0 should-util: 1.0.1 - side-channel-list@1.0.0: + side-channel-list@1.0.1: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 @@ -34286,11 +26396,11 @@ snapshots: object-inspect: 1.13.4 side-channel-map: 1.0.1 - side-channel@1.1.0: + side-channel@1.1.1: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 - side-channel-list: 1.0.0 + side-channel-list: 1.0.1 side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 @@ -34303,176 +26413,127 @@ snapshots: simple-swizzle@0.2.4: dependencies: is-arrayish: 0.3.4 + optional: true - simple-zstd@1.4.2: + simple-zstd@2.1.0(supports-color@10.2.2): dependencies: + debug: 4.4.3(supports-color@10.2.2) is-zst: 1.0.0 - peek-stream: 1.1.3 - process-streams: 1.0.3 - through2: 4.0.2 + tmp-promise: 3.0.3 + transitivePeerDependencies: + - supports-color - sinon@9.2.4: + sinon@11.1.2: dependencies: '@sinonjs/commons': 1.8.6 - '@sinonjs/fake-timers': 6.0.1 - '@sinonjs/samsam': 5.3.1 - diff: 4.0.2 - nise: 4.1.0 + '@sinonjs/fake-timers': 7.1.2 + '@sinonjs/samsam': 6.1.3 + diff: 5.2.2 + nise: 5.1.9 supports-color: 7.2.0 sisteransi@1.0.5: {} - sitemap@3.2.2: - dependencies: - lodash.chunk: 4.2.0 - lodash.padstart: 4.6.1 - whatwg-url: 7.1.0 - xmlbuilder: 13.0.2 - - slash@1.0.0: {} - slash@2.0.0: {} slash@3.0.0: {} - slash@4.0.0: {} - - slice-ansi@4.0.0: - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - - slice-ansi@5.0.0: - dependencies: - ansi-styles: 6.2.3 - is-fullwidth-code-point: 4.0.0 - - slice-ansi@7.1.2: + slice-ansi@9.0.0: dependencies: ansi-styles: 6.2.3 is-fullwidth-code-point: 5.1.0 smart-buffer@4.2.0: {} - smashah-puppeteer-page-proxy@1.2.9: + smashah-puppeteer-page-proxy@1.2.9(supports-color@10.2.2): dependencies: got: 11.8.6 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - socks-proxy-agent: 5.0.1 + http-proxy-agent: 4.0.1(supports-color@10.2.2) + https-proxy-agent: 5.0.1(supports-color@10.2.2) + socks-proxy-agent: 5.0.1(supports-color@10.2.2) tough-cookie: 4.1.4 transitivePeerDependencies: - supports-color + smob@1.6.2: {} + snake-case@3.0.4: dependencies: dot-case: 3.0.4 tslib: 2.8.1 - snapdragon-node@2.1.1: - dependencies: - define-property: 1.0.0 - isobject: 3.0.1 - snapdragon-util: 3.0.1 - - snapdragon-util@3.0.1: - dependencies: - kind-of: 3.2.2 - - snapdragon@0.8.2: - dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - transitivePeerDependencies: - - supports-color - - socket.io-adapter@2.5.5: + socket.io-adapter@2.5.8(supports-color@10.2.2): dependencies: - debug: 4.3.7 - ws: 8.17.1 + debug: 4.4.3(supports-color@10.2.2) + ws: 8.21.1 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - socket.io-client@4.8.1: + socket.io-client@4.8.3(supports-color@10.2.2): dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.3.7 - engine.io-client: 6.6.3 - socket.io-parser: 4.2.4 + debug: 4.4.3(supports-color@10.2.2) + engine.io-client: 6.6.6(supports-color@10.2.2) + socket.io-parser: 4.2.7(supports-color@10.2.2) transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - socket.io-parser@4.2.4: + socket.io-parser@4.2.7(supports-color@10.2.2): dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.3.7 + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color - socket.io@4.8.1: + socket.io@4.8.3(supports-color@10.2.2): dependencies: accepts: 1.3.8 base64id: 2.0.0 - cors: 2.8.5 - debug: 4.3.7 - engine.io: 6.6.4 - socket.io-adapter: 2.5.5 - socket.io-parser: 4.2.4 + cors: 2.8.6 + debug: 4.4.3(supports-color@10.2.2) + engine.io: 6.6.9(supports-color@10.2.2) + socket.io-adapter: 2.5.8(supports-color@10.2.2) + socket.io-parser: 4.2.7(supports-color@10.2.2) transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - socks-proxy-agent@5.0.1: + socks-proxy-agent@5.0.1(supports-color@10.2.2): dependencies: - agent-base: 6.0.2 - debug: 4.4.3 - socks: 2.8.7 + agent-base: 6.0.2(supports-color@10.2.2) + debug: 4.4.3(supports-color@10.2.2) + socks: 2.8.9 transitivePeerDependencies: - supports-color - socks-proxy-agent@8.0.5: + socks-proxy-agent@8.0.5(supports-color@10.2.2): dependencies: agent-base: 7.1.4 - debug: 4.4.3 - socks: 2.8.7 + debug: 4.4.3(supports-color@10.2.2) + socks: 2.8.9 transitivePeerDependencies: - supports-color - socks@2.8.7: + socks@2.8.9: dependencies: - ip-address: 10.1.0 + ip-address: 10.2.0 smart-buffer: 4.2.0 solid-js@1.9.12: dependencies: csstype: 3.2.3 - seroval: 1.5.4 - seroval-plugins: 1.5.4(seroval@1.5.4) - - sonner@2.0.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4): - dependencies: - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - - sort-keys-length@1.0.1: - dependencies: - sort-keys: 1.1.2 + seroval: 1.5.6 + seroval-plugins: 1.5.6(seroval@1.5.6) - sort-keys@1.1.2: + sonner@2.0.7(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: - is-plain-obj: 1.1.0 + react: 19.2.8 + react-dom: 19.2.8(react@19.2.8) sort-keys@2.0.0: dependencies: @@ -34480,31 +26541,17 @@ snapshots: source-map-js@1.2.1: {} - source-map-resolve@0.5.3: - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.2 - resolve-url: 0.2.1 - source-map-url: 0.4.1 - urix: 0.1.0 - source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - source-map-url@0.4.1: {} - - source-map@0.5.7: {} - source-map@0.6.1: {} source-map@0.7.6: {} space-separated-tokens@2.0.2: {} - spawn-command@0.0.2: {} - spawndamnit@3.0.1: dependencies: cross-spawn: 7.0.6 @@ -34513,16 +26560,16 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.22 + spdx-license-ids: 3.0.23 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.22 + spdx-license-ids: 3.0.23 - spdx-license-ids@3.0.22: {} + spdx-license-ids@3.0.23: {} spinnies@0.5.1: dependencies: @@ -34532,13 +26579,7 @@ snapshots: split-on-first@1.1.0: {} - split-string@3.1.0: - dependencies: - extend-shallow: 3.0.2 - - split2@3.2.2: - dependencies: - readable-stream: 3.6.2 + split2@4.2.0: {} split@0.3.3: dependencies: @@ -34546,36 +26587,17 @@ snapshots: sprintf-js@1.0.3: {} - sprintf-js@1.1.2: {} - - squeak@1.3.0: - dependencies: - chalk: 1.1.3 - console-stream: 0.1.1 - lpad-align: 1.1.2 - srcset@1.0.0: dependencies: array-uniq: 1.0.3 number-is-nan: 1.0.1 - srvx@0.11.15: {} - - sshpk@1.18.0: - dependencies: - asn1: 0.2.6 - assert-plus: 1.0.0 - bcrypt-pbkdf: 1.0.2 - dashdash: 1.14.1 - ecc-jsbn: 0.1.2 - getpass: 0.1.7 - jsbn: 0.1.1 - safer-buffer: 2.1.2 - tweetnacl: 0.14.5 + srvx@0.11.22: {} stable-hash-x@0.2.0: {} - stable@0.1.8: {} + stable@0.1.8: + optional: true stack-trace@0.0.10: {} @@ -34585,21 +26607,18 @@ snapshots: stackback@0.0.2: {} - static-extend@0.1.2: - dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 - - statuses@1.5.0: {} + standard-as-callback@2.1.0: {} statuses@2.0.1: {} statuses@2.0.2: {} - std-env@4.0.0: {} + std-env@4.2.0: {} stdin-discarder@0.2.2: {} + stdin-discarder@0.3.2: {} + stop-iteration-iterator@1.1.0: dependencies: es-errors: 1.3.0 @@ -34611,9 +26630,7 @@ snapshots: dependencies: duplexer: 0.1.2 - stream-shift@1.0.3: {} - - streamsearch@0.1.2: {} + streamsearch@1.1.0: {} streamx@2.23.0: dependencies: @@ -34624,27 +26641,26 @@ snapshots: - bare-abort-controller - react-native-b4a - strict-event-emitter@0.5.1: {} + streamx@2.28.0: + dependencies: + events-universal: 1.0.1 + fast-fifo: 1.3.2 + text-decoder: 1.2.7 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + + strict-event-emitter@0.5.1: + optional: true strict-uri-encode@1.1.0: {} strict-uri-encode@2.0.0: {} - string-argv@0.1.2: {} - string-byte-length@3.0.1: {} string-byte-slice@3.0.1: {} - string-template@0.2.1: {} - - string-width@1.0.2: - dependencies: - code-point-at: 1.1.0 - is-fullwidth-code-point: 1.0.0 - strip-ansi: 3.0.1 - optional: true - string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -34660,31 +26676,37 @@ snapshots: string-width@7.2.0: dependencies: emoji-regex: 10.6.0 - get-east-asian-width: 1.5.0 - strip-ansi: 7.1.2 + get-east-asian-width: 1.6.0 + strip-ansi: 7.2.0 + + string-width@8.2.2: + dependencies: + get-east-asian-width: 1.6.0 + strip-ansi: 7.2.0 - string.prototype.trim@1.2.10: + string.prototype.trim@1.2.11: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-data-property: 1.1.4 define-properties: 1.2.1 - es-abstract: 1.24.0 - es-object-atoms: 1.1.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 has-property-descriptors: 1.0.2 + safe-regex-test: 1.1.0 - string.prototype.trimend@1.0.9: + string.prototype.trimend@1.0.10: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 string.prototype.trimstart@1.0.8: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 string_decoder@0.10.31: {} @@ -34710,73 +26732,35 @@ snapshots: stringify-object@6.0.0: dependencies: get-own-enumerable-keys: 1.0.0 - is-identifier: 1.0.1 + is-identifier: 1.1.0 is-obj: 3.0.0 is-regexp: 3.1.0 - strip-ansi@3.0.1: - dependencies: - ansi-regex: 2.1.1 - strip-ansi@5.2.0: dependencies: ansi-regex: 4.1.1 - strip-ansi@6.0.0: - dependencies: - ansi-regex: 5.0.1 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.2: - dependencies: - ansi-regex: 6.2.2 - strip-ansi@7.2.0: dependencies: ansi-regex: 6.2.2 - strip-bom@2.0.0: - dependencies: - is-utf8: 0.2.1 - strip-bom@3.0.0: {} - strip-bom@4.0.0: {} - - strip-color@0.1.0: {} - - strip-dirs@2.1.0: - dependencies: - is-natural-number: 4.0.1 - - strip-eof@1.0.0: {} - strip-final-newline@2.0.0: {} strip-final-newline@4.0.0: {} - strip-indent@1.0.1: - dependencies: - get-stdin: 4.0.1 - strip-indent@3.0.0: dependencies: min-indent: 1.0.1 strip-json-comments@2.0.1: {} - strip-json-comments@3.1.1: {} - - strip-outer@1.0.1: - dependencies: - escape-string-regexp: 1.0.5 - - strnum@1.1.2: {} - - strtok3@10.3.4: + strtok3@10.3.5: dependencies: '@tokenizer/token': 0.3.0 @@ -34797,9 +26781,16 @@ snapshots: stylehacks@4.0.3: dependencies: - browserslist: 4.28.1 + browserslist: 4.28.6 postcss: 7.0.39 postcss-selector-parser: 3.1.2 + optional: true + + super-regex@0.2.0: + dependencies: + clone-regexp: 3.0.0 + function-timeout: 0.1.1 + time-span: 5.1.0 super-regex@1.1.0: dependencies: @@ -34807,39 +26798,30 @@ snapshots: make-asynchronous: 1.1.0 time-span: 5.1.0 - superagent@3.8.3: + superagent@10.3.0(supports-color@10.2.2): dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 3.2.7 - extend: 3.0.2 - form-data: 2.5.5 - formidable: 1.2.6 + debug: 4.4.3(supports-color@10.2.2) + fast-safe-stringify: 2.1.1 + form-data: 4.0.6 + formidable: 3.5.4 methods: 1.1.2 - mime: 1.6.0 - qs: 6.14.0 - readable-stream: 2.3.8 + mime: 2.6.0 + qs: 6.15.3 transitivePeerDependencies: - supports-color - supertap@3.0.1: - dependencies: - indent-string: 5.0.0 - js-yaml: 3.14.2 - serialize-error: 7.0.1 - strip-ansi: 7.1.2 - - supertest@4.0.2: + supertest@7.2.2(supports-color@10.2.2): dependencies: + cookie-signature: 1.2.2 methods: 1.1.2 - superagent: 3.8.3 + superagent: 10.3.0(supports-color@10.2.2) transitivePeerDependencies: - supports-color supports-color@10.2.2: {} - supports-color@2.0.0: {} - supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -34859,12 +26841,6 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - suretype@2.4.1: - dependencies: - ajv: 6.14.0 - awesome-ajv-errors: 1.0.1(ajv@6.14.0) - meta-types: 1.1.1 - svgo@1.3.2: dependencies: chalk: 2.4.2 @@ -34873,76 +26849,91 @@ snapshots: css-select-base-adapter: 0.1.1 css-tree: 1.0.0-alpha.37 csso: 4.2.0 - js-yaml: 3.14.2 + js-yaml: 3.15.0 mkdirp: 0.5.6 object.values: 1.2.1 sax: 1.2.4 stable: 0.1.8 unquote: 1.1.1 util.promisify: 1.0.1 + optional: true - swagger-stats@0.99.7(prom-client@14.2.0): + swagger-stats@0.99.7(prom-client@14.2.0)(supports-color@10.2.2): dependencies: - axios: 1.18.1(debug@4.4.3) + axios: 1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2) basic-auth: 2.0.1 cookies: 0.8.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) moment: 2.30.1 path-to-regexp: 6.3.0 prom-client: 14.2.0 - qs: 6.14.0 - send: 0.18.0 + qs: 6.15.3 + send: 0.18.0(supports-color@10.2.2) uuid: 9.0.1 transitivePeerDependencies: - supports-color swagger-ui-dist@4.19.1: {} - swagger-ui-express@4.6.3(express@4.22.1): + swagger-ui-dist@5.32.9: dependencies: - express: 4.22.1 - swagger-ui-dist: 4.19.1 + '@scarf/scarf': 1.4.0 - swr@2.4.1(react@19.2.6): + swagger-ui-express@4.6.3(express@4.22.2(supports-color@10.2.2)): dependencies: - dequal: 2.0.3 - react: 19.2.6 - use-sync-external-store: 1.6.0(react@19.2.6) + express: 4.22.2(supports-color@10.2.2) + swagger-ui-dist: 5.32.9 - swrv@1.2.0(vue@3.5.31(typescript@5.9.3)): + swr@2.4.2(react@19.2.8): dependencies: - vue: 3.5.31(typescript@5.9.3) + dequal: 2.0.3 + react: 19.2.8 + use-sync-external-store: 1.6.0(react@19.2.8) - swrv@1.2.0(vue@3.5.31(typescript@6.0.3)): + swrv@1.2.0(vue@3.5.40(typescript@7.0.2)): dependencies: - vue: 3.5.31(typescript@6.0.3) + vue: 3.5.40(typescript@7.0.2) symbol-tree@3.2.4: {} - syncpack@11.2.1: - dependencies: - '@effect/data': 0.17.1 - '@effect/io': 0.38.0(@effect/data@0.17.1) - '@effect/match': 0.32.0(@effect/data@0.17.1)(@effect/schema@0.33.1(@effect/data@0.17.1)(@effect/io@0.38.0(@effect/data@0.17.1))) - '@effect/schema': 0.33.1(@effect/data@0.17.1)(@effect/io@0.38.0(@effect/data@0.17.1)) - chalk: 4.1.2 - commander: 11.0.0 - cosmiconfig: 8.2.0 - enquirer: 2.4.1 - globby: 11.1.0 - minimatch: 9.0.3 - npm-package-arg: 10.1.0 - ora: 5.4.1 - prompts: 2.4.2 - read-yaml-file: 2.1.0 - semver: 7.5.4 - tightrope: 0.1.0 - ts-toolbelt: 9.6.0 + syncpack-darwin-arm64@15.3.2: + optional: true + + syncpack-darwin-x64@15.3.2: + optional: true + + syncpack-linux-arm64-musl@15.3.2: + optional: true + + syncpack-linux-arm64@15.3.2: + optional: true + + syncpack-linux-x64-musl@15.3.2: + optional: true + + syncpack-linux-x64@15.3.2: + optional: true + + syncpack-windows-arm64@15.3.2: + optional: true - systeminformation@5.27.13: + syncpack-windows-x64@15.3.2: optional: true - tabbable@6.4.0: {} + syncpack@15.3.2: + optionalDependencies: + syncpack-darwin-arm64: 15.3.2 + syncpack-darwin-x64: 15.3.2 + syncpack-linux-arm64: 15.3.2 + syncpack-linux-arm64-musl: 15.3.2 + syncpack-linux-x64: 15.3.2 + syncpack-linux-x64-musl: 15.3.2 + syncpack-windows-arm64: 15.3.2 + syncpack-windows-x64: 15.3.2 + + systeminformation@5.33.0: {} + + tabbable@6.5.0: {} table-layout@1.0.2: dependencies: @@ -34953,45 +26944,31 @@ snapshots: table-layout@4.1.1: dependencies: - array-back: 6.2.2 + array-back: 6.2.3 wordwrapjs: 5.1.1 + optional: true tagged-tag@1.0.0: {} - tail@2.2.6: {} - - tailwind-merge@2.6.0: {} - - tailwind-merge@3.4.0: {} + tailwind-merge@3.5.0: {} tailwind-merge@3.6.0: {} - tailwindcss-animate@1.0.7(tailwindcss@4.2.2): - dependencies: - tailwindcss: 4.2.2 - - tailwindcss-animate@1.0.7(tailwindcss@4.3.0): + tailwindcss-animate@1.0.7(tailwindcss@4.3.3): dependencies: - tailwindcss: 4.3.0 - - tailwindcss@4.2.2: {} + tailwindcss: 4.3.3 - tailwindcss@4.3.0: {} + tailwindcss@4.3.3: {} - takumi-js@1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + takumi-js@2.4.1(csstype@3.2.3)(preact@10.29.0)(react@19.2.8): dependencies: - '@takumi-rs/core': 1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@takumi-rs/helpers': 1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@takumi-rs/wasm': 1.6.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@takumi-rs/core': 2.4.1(csstype@3.2.3)(preact@10.29.0)(react@19.2.8) + '@takumi-rs/helpers': 2.4.1(preact@10.29.0)(react@19.2.8) + '@takumi-rs/wasm': 2.4.1(csstype@3.2.3)(preact@10.29.0)(react@19.2.8) transitivePeerDependencies: + - csstype + - preact - react - - react-dom - - tapable@1.1.3: {} - - tapable@2.3.0: {} - - tapable@2.3.2: {} tapable@2.3.3: {} @@ -35007,15 +26984,17 @@ snapshots: - bare-buffer - react-native-b4a - tar-stream@1.6.2: + tar-fs@3.1.3: dependencies: - bl: 1.2.3 - buffer-alloc: 1.2.0 - end-of-stream: 1.4.5 - fs-constants: 1.0.0 - readable-stream: 2.3.8 - to-buffer: 1.2.2 - xtend: 4.0.2 + pump: 3.0.4 + tar-stream: 3.2.0 + optionalDependencies: + bare-fs: 4.7.4 + bare-path: 3.1.1 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a tar-stream@3.1.7: dependencies: @@ -35026,30 +27005,29 @@ snapshots: - bare-abort-controller - react-native-b4a - tar@4.4.19: + tar-stream@3.2.0: dependencies: - chownr: 1.1.4 - fs-minipass: 1.2.7 - minipass: 2.9.0 - minizlib: 1.3.3 - mkdirp: 0.5.6 - safe-buffer: 5.2.1 - yallist: 3.1.1 - optional: true + b4a: 1.8.1 + bare-fs: 4.7.4 + fast-fifo: 1.3.2 + streamx: 2.28.0 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a - tar@6.1.11: + tar@7.5.19: dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 3.3.6 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.3 + minizlib: 3.1.0 + yallist: 5.0.0 - tcp-port-used@1.0.2: + tcp-port-used@1.0.3(supports-color@10.2.2): dependencies: - debug: 4.3.1 - is2: 2.0.9 + debug: 4.3.1(supports-color@10.2.2) + is2: 2.0.1 transitivePeerDependencies: - supports-color @@ -35057,14 +27035,12 @@ snapshots: dependencies: bintrees: 1.0.2 - temp-dir@1.0.0: {} - - temp-dir@3.0.0: {} - - tempfile@2.0.0: + teex@1.0.1: dependencies: - temp-dir: 1.0.0 - uuid: 3.4.0 + streamx: 2.28.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a term-size@2.2.1: {} @@ -35073,32 +27049,32 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 + terminal-size@4.0.1: {} + terminate@2.8.0: dependencies: ps-tree: 1.2.0 - terser-webpack-plugin@5.6.0(esbuild@0.28.0)(webpack@5.103.0(esbuild@0.28.0)): + terser-webpack-plugin@5.6.1(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 - webpack: 5.103.0(esbuild@0.28.0) + terser: 5.49.0 + webpack: 5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3) optionalDependencies: - esbuild: 0.28.0 - - terser-webpack-plugin@5.6.0(webpack@5.103.0): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 4.3.3 - terser: 5.47.1 - webpack: 5.103.0 + '@swc/core': 1.15.46(@swc/helpers@0.5.23) + cssnano: 4.1.11 + csso: 4.2.0 + esbuild: 0.28.1 + lightningcss: 1.33.0 + postcss: 8.5.22 + uglify-js: 3.19.3 - terser@5.47.1: + terser@5.49.0: dependencies: '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 + acorn: 8.17.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -35108,116 +27084,73 @@ snapshots: transitivePeerDependencies: - react-native-b4a - text-hex@1.0.0: {} + text-decoder@1.2.7: + dependencies: + b4a: 1.8.1 + transitivePeerDependencies: + - react-native-b4a - text-table@0.2.0: {} + text-hex@1.0.0: {} throttleit@2.1.0: {} - through2-filter@3.0.0: - dependencies: - through2: 2.0.5 - xtend: 4.0.2 - through2@2.0.5: dependencies: readable-stream: 2.3.8 xtend: 4.0.2 - through2@4.0.2: - dependencies: - readable-stream: 3.6.2 - through@2.3.8: {} - tightrope@0.1.0: {} - time-span@5.1.0: dependencies: convert-hrtime: 5.0.0 - time-zone@1.0.0: {} - timed-out@4.0.1: {} - timsort@0.3.0: {} - - tiny-glob@0.2.9: - dependencies: - globalyzer: 0.1.0 - globrex: 0.1.2 + timsort@0.3.0: + optional: true tiny-invariant@1.3.3: {} - tiny-lr@1.1.1: - dependencies: - body: 5.1.0 - debug: 3.2.7 - faye-websocket: 0.10.0 - livereload-js: 2.4.0 - object-assign: 4.1.1 - qs: 6.14.0 - transitivePeerDependencies: - - supports-color - tinybench@2.9.0: {} - tinyexec@1.1.1: {} + tinyexec@1.2.4: {} - tinyexec@1.1.2: {} - - tinyglobby@0.2.16: + tinyglobby@0.2.17: dependencies: - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 tinyrainbow@3.1.0: {} - tldts-core@7.0.27: {} + tldts-core@6.1.86: {} - tldts@7.0.27: - dependencies: - tldts-core: 7.0.27 + tldts-core@7.4.9: {} - tmp@0.0.33: + tldts@6.1.86: dependencies: - os-tmpdir: 1.0.2 + tldts-core: 6.1.86 - to-absolute-glob@2.0.2: + tldts@7.4.9: dependencies: - is-absolute: 1.0.0 - is-negated-glob: 1.0.0 + tldts-core: 7.4.9 - to-buffer@1.2.2: + tmp-promise@3.0.3: dependencies: - isarray: 2.0.5 - safe-buffer: 5.2.1 - typed-array-buffer: 1.0.3 + tmp: 0.2.7 - to-object-path@0.3.0: + tmp@0.0.33: dependencies: - kind-of: 3.2.2 + os-tmpdir: 1.0.2 - to-readable-stream@1.0.0: {} + tmp@0.2.7: {} - to-regex-range@2.1.1: - dependencies: - is-number: 3.0.0 - repeat-string: 1.6.1 + to-readable-stream@1.0.0: {} to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - to-regex@3.0.2: - dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 - - toidentifier@1.0.0: {} - toidentifier@1.0.1: {} token-types@5.0.1: @@ -35225,27 +27158,13 @@ snapshots: '@tokenizer/token': 0.3.0 ieee754: 1.2.1 - token-types@6.1.1: + token-types@6.1.2: dependencies: - '@borewit/text-codec': 0.1.1 + '@borewit/text-codec': 0.2.2 '@tokenizer/token': 0.3.0 ieee754: 1.2.1 - toml@2.3.6: {} - - toml@4.1.2: {} - - toposort@2.0.2: {} - - tough-cookie@2.4.3: - dependencies: - psl: 1.15.0 - punycode: 1.4.1 - - tough-cookie@2.5.0: - dependencies: - psl: 1.15.0 - punycode: 2.3.1 + toml@4.3.0: {} tough-cookie@4.1.4: dependencies: @@ -35254,100 +27173,60 @@ snapshots: universalify: 0.2.0 url-parse: 1.5.10 - tough-cookie@6.0.1: + tough-cookie@5.1.2: dependencies: - tldts: 7.0.27 + tldts: 6.1.86 - tr46@0.0.3: {} - - tr46@1.0.1: + tough-cookie@6.0.2: dependencies: - punycode: 2.3.1 + tldts: 7.4.9 + + tr46@0.0.3: {} tr46@6.0.0: dependencies: punycode: 2.3.1 - traverse@0.3.9: {} - traverse@0.6.11: dependencies: gopd: 1.2.0 typedarray.prototype.slice: 1.0.5 - which-typed-array: 1.1.19 + which-typed-array: 1.1.22 tree-kill@1.2.2: {} - tree-node-cli@1.6.0: - dependencies: - commander: 5.1.0 - fast-folder-size: 1.6.1 - pretty-bytes: 5.6.0 - trim-lines@3.0.1: {} - trim-newlines@1.0.0: {} - trim-newlines@3.0.1: {} - trim-repeated@1.0.0: - dependencies: - escape-string-regexp: 1.0.5 - triple-beam@1.4.1: {} trough@2.2.0: {} - truncate-html@1.2.2: - dependencies: - cheerio: 1.0.0-rc.12 - truncate-json@3.0.1: dependencies: guess-json-indent: 3.0.1 string-byte-length: 3.0.1 string-byte-slice: 3.0.1 - ts-api-utils@2.5.0(typescript@5.9.3): - dependencies: - typescript: 5.9.3 - - ts-declaration-location@1.0.7(typescript@5.9.3): + ts-api-utils@2.5.0(typescript@7.0.2): dependencies: - picomatch: 4.0.4 - typescript: 5.9.3 + typescript: 7.0.2 - ts-deepmerge@7.0.3: {} - - ts-json-schema-generator@1.5.1: - dependencies: - '@types/json-schema': 7.0.15 - commander: 12.1.0 - glob: 8.1.0 - json5: 2.2.3 - normalize-path: 3.0.0 - safe-stable-stringify: 2.5.0 - typescript: 5.4.5 - - ts-loader@9.5.4(typescript@5.9.3)(webpack@5.103.0(esbuild@0.28.0)): + ts-declaration-location@1.0.7(typescript@7.0.2): dependencies: - chalk: 4.1.2 - enhanced-resolve: 5.18.3 - micromatch: 4.0.8 - semver: 7.7.3 - source-map: 0.7.6 - typescript: 5.9.3 - webpack: 5.103.0(esbuild@0.28.0) + picomatch: 4.0.5 + typescript: 7.0.2 - ts-loader@9.5.4(typescript@6.0.3)(webpack@5.103.0): + ts-loader@9.6.2(loader-utils@2.0.0)(typescript@7.0.2)(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)): dependencies: chalk: 4.1.2 - enhanced-resolve: 5.18.3 - micromatch: 4.0.8 - semver: 7.7.3 + picomatch: 4.0.5 source-map: 0.7.6 - typescript: 6.0.3 - webpack: 5.103.0 + typescript: 7.0.2 + webpack: 5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3) + optionalDependencies: + loader-utils: 2.0.0 ts-morph@12.2.0: dependencies: @@ -35364,56 +27243,29 @@ snapshots: '@ts-morph/common': 0.29.0 code-block-writer: 13.0.3 - ts-node@10.9.2(@types/node@20.19.26)(typescript@5.9.3): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.12 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.26 - acorn: 8.16.0 - acorn-walk: 8.3.4 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.9.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - - ts-node@10.9.2(@types/node@25.9.1)(typescript@6.0.3): + ts-node@10.9.2(@swc/core@1.15.46(@swc/helpers@0.5.23))(@types/node@26.1.1)(typescript@7.0.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 25.9.1 - acorn: 8.16.0 - acorn-walk: 8.3.4 + '@types/node': 26.1.1 + acorn: 8.17.0 + acorn-walk: 8.3.5 arg: 4.1.3 create-require: 1.1.1 - diff: 4.0.2 + diff: 4.0.4 make-error: 1.3.6 - typescript: 6.0.3 + typescript: 7.0.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.15.46(@swc/helpers@0.5.23) - ts-toolbelt@9.6.0: {} - - tsc-watch@4.6.2(typescript@5.9.3): - dependencies: - cross-spawn: 7.0.6 - node-cleanup: 2.1.2 - ps-tree: 1.2.0 - string-argv: 0.1.2 - strip-ansi: 6.0.1 - typescript: 5.9.3 - - tsconfck@3.1.6(typescript@6.0.3): + tsconfck@3.1.6(typescript@7.0.2): optionalDependencies: - typescript: 6.0.3 + typescript: 7.0.2 tsconfig-paths@4.2.0: dependencies: @@ -35421,81 +27273,59 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tsdown@0.21.7(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(typescript@6.0.3): + tsdown@0.22.13(tsx@4.23.1)(typescript@7.0.2)(unrun@0.2.34(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)): dependencies: - ansis: 4.2.0 + ansis: 4.3.1 cac: 7.0.0 - defu: 6.1.4 - empathic: 2.0.0 - hookable: 6.1.0 - import-without-cache: 0.2.5 - obug: 2.1.1 - picomatch: 4.0.4 - rolldown: 1.0.0-rc.12(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) - rolldown-plugin-dts: 0.23.2(rolldown@1.0.0-rc.12(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@6.0.3) - semver: 7.7.4 - tinyexec: 1.1.1 - tinyglobby: 0.2.16 + defu: 6.1.7 + empathic: 2.0.1 + hookable: 6.1.1 + import-without-cache: 0.4.0 + obug: 2.1.4 + picomatch: 4.0.5 + rolldown: 1.2.0 + rolldown-plugin-dts: 0.27.12(rolldown@1.2.0)(typescript@7.0.2) + tinyexec: 1.2.4 + tinyglobby: 0.2.17 tree-kill: 1.2.2 unconfig-core: 7.5.0 - unrun: 0.2.34(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + verkit: 0.1.2 optionalDependencies: - typescript: 6.0.3 + tsx: 4.23.1 + typescript: 7.0.2 + unrun: 0.2.34(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) transitivePeerDependencies: - - '@emnapi/core' - - '@emnapi/runtime' - - '@ts-macro/tsc' - '@typescript/native-preview' + - '@volar/typescript' - oxc-resolver - - synckit - vue-tsc tseep@1.3.1: {} - tslib@1.9.3: {} - tslib@2.8.1: {} tsscmp@1.0.6: {} - tsx@4.21.0: - dependencies: - esbuild: 0.27.4 - get-tsconfig: 4.13.7 - optionalDependencies: - fsevents: 2.3.3 - - tsx@4.22.3: + tsx@4.23.1: dependencies: - esbuild: 0.28.0 + esbuild: 0.28.1 optionalDependencies: fsevents: 2.3.3 - tunnel-agent@0.6.0: - dependencies: - safe-buffer: 5.2.1 - - turbo@2.9.10: + turbo@2.10.5: optionalDependencies: - '@turbo/darwin-64': 2.9.10 - '@turbo/darwin-arm64': 2.9.10 - '@turbo/linux-64': 2.9.10 - '@turbo/linux-arm64': 2.9.10 - '@turbo/windows-64': 2.9.10 - '@turbo/windows-arm64': 2.9.10 + '@turbo/darwin-64': 2.10.5 + '@turbo/darwin-arm64': 2.10.5 + '@turbo/linux-64': 2.10.5 + '@turbo/linux-arm64': 2.10.5 + '@turbo/windows-64': 2.10.5 + '@turbo/windows-arm64': 2.10.5 tv4@1.3.0: {} - tweetnacl@0.14.5: {} - tx2@1.0.5: dependencies: json-stringify-safe: 5.0.1 - optional: true - - type-check@0.3.2: - dependencies: - prelude-ls: 1.1.2 type-check@0.4.0: dependencies: @@ -35505,16 +27335,12 @@ snapshots: type-detect@4.1.0: {} - type-fest@0.13.1: {} - type-fest@0.18.1: {} type-fest@0.20.2: {} type-fest@0.21.3: {} - type-fest@0.4.1: {} - type-fest@0.6.0: {} type-fest@0.8.1: {} @@ -35525,7 +27351,7 @@ snapshots: type-fest@4.41.0: {} - type-fest@5.5.0: + type-fest@5.8.0: dependencies: tagged-tag: 1.0.0 @@ -35534,27 +27360,12 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 - typeconv@1.8.0: - dependencies: - '@babel/code-frame': 7.27.1 - already: 2.2.1 - chalk: 4.1.2 - core-types: 1.10.0 - core-types-graphql: 1.5.0 - core-types-json-schema: 1.7.0 - core-types-suretype: 2.0.0 - core-types-ts: 2.0.0 - globby: 11.1.0 - js-yaml: 4.1.1 - oppa: 0.4.0 - terminal-link: 2.1.1 - typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 @@ -35563,7 +27374,7 @@ snapshots: typed-array-byte-length@1.0.3: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 for-each: 0.3.5 gopd: 1.2.0 has-proto: 1.2.0 @@ -35572,35 +27383,35 @@ snapshots: typed-array-byte-offset@1.0.4: dependencies: available-typed-arrays: 1.0.7 - call-bind: 1.0.8 + call-bind: 1.0.9 for-each: 0.3.5 gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 reflect.getprototypeof: 1.0.10 - typed-array-length@1.0.7: + typed-array-length@1.0.8: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 for-each: 0.3.5 gopd: 1.2.0 is-typed-array: 1.1.15 possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typed-query-selector@2.12.0: {} - typed-query-selector@2.12.1: {} + typed-query-selector@2.12.2: {} + typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 typedarray.prototype.slice@1.0.5: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 es-errors: 1.3.0 get-proto: 1.0.1 math-intrinsics: 1.1.0 @@ -35609,48 +27420,48 @@ snapshots: typedarray@0.0.6: {} - typedoc@0.28.15(typescript@5.9.3): - dependencies: - '@gerrit0/mini-shiki': 3.20.0 - lunr: 2.3.9 - markdown-it: 14.1.0 - minimatch: 9.0.5 - typescript: 5.9.3 - yaml: 2.8.2 - - typescript-eslint@8.58.0(eslint@8.57.1)(typescript@5.9.3): + typescript-eslint@8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.58.0(@typescript-eslint/parser@8.58.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3) - '@typescript-eslint/parser': 8.58.0(eslint@8.57.1)(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.58.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.58.0(eslint@8.57.1)(typescript@5.9.3) - eslint: 8.57.1 - typescript: 5.9.3 + '@typescript-eslint/eslint-plugin': 8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2))(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2) + '@typescript-eslint/parser': 8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2) + '@typescript-eslint/typescript-estree': 8.65.0(supports-color@10.2.2)(typescript@7.0.2) + '@typescript-eslint/utils': 8.65.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@7.0.2) + eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2) + typescript: 7.0.2 transitivePeerDependencies: - supports-color - typescript@4.9.5: {} - - typescript@5.4.5: {} - - typescript@5.9.3: {} - - typescript@6.0.3: {} - - typical@4.0.0: {} + typescript@7.0.2: + optionalDependencies: + '@typescript/typescript-aix-ppc64': 7.0.2 + '@typescript/typescript-darwin-arm64': 7.0.2 + '@typescript/typescript-darwin-x64': 7.0.2 + '@typescript/typescript-freebsd-arm64': 7.0.2 + '@typescript/typescript-freebsd-x64': 7.0.2 + '@typescript/typescript-linux-arm': 7.0.2 + '@typescript/typescript-linux-arm64': 7.0.2 + '@typescript/typescript-linux-loong64': 7.0.2 + '@typescript/typescript-linux-mips64el': 7.0.2 + '@typescript/typescript-linux-ppc64': 7.0.2 + '@typescript/typescript-linux-riscv64': 7.0.2 + '@typescript/typescript-linux-s390x': 7.0.2 + '@typescript/typescript-linux-x64': 7.0.2 + '@typescript/typescript-netbsd-arm64': 7.0.2 + '@typescript/typescript-netbsd-x64': 7.0.2 + '@typescript/typescript-openbsd-arm64': 7.0.2 + '@typescript/typescript-openbsd-x64': 7.0.2 + '@typescript/typescript-sunos-x64': 7.0.2 + '@typescript/typescript-win32-arm64': 7.0.2 + '@typescript/typescript-win32-x64': 7.0.2 typical@5.2.0: {} - typical@7.3.0: {} - - uc.micro@2.1.0: {} + typical@7.3.0: + optional: true ufo@1.6.4: {} - uglify-js@3.13.3: {} - - uglify-js@3.19.3: - optional: true + uglify-js@3.19.3: {} uid-safe@2.1.5: dependencies: @@ -35672,43 +27483,26 @@ snapshots: buffer: 5.7.1 through: 2.3.8 - unc-path-regex@0.1.2: {} - unconfig-core@7.5.0: dependencies: '@quansync/fs': 1.0.0 quansync: 1.0.0 - undici-types@6.21.0: {} - - undici-types@7.16.0: {} + undici-types@7.18.2: {} - undici-types@7.24.6: {} + undici-types@8.3.0: {} - undici@7.16.0: {} + undici@7.28.0: {} - undici@7.24.8: {} - - undici@7.25.0: {} + undici@8.8.0: {} unenv@2.0.0-rc.24: dependencies: pathe: 2.0.3 - unhead@2.1.12: - dependencies: - hookable: 6.1.0 - - unicode-canonical-property-names-ecmascript@2.0.1: {} - - unicode-match-property-ecmascript@2.0.0: + unhead@2.1.16: dependencies: - unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.2.0 - - unicode-match-property-value-ecmascript@2.2.1: {} - - unicode-property-aliases-ecmascript@2.2.0: {} + hookable: 6.1.1 unicorn-magic@0.3.0: {} @@ -35722,21 +27516,11 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - union-value@1.0.1: - dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 - - uniq@1.0.1: {} - - uniqs@2.0.0: {} + uniq@1.0.1: + optional: true - unique-stream@2.4.0: - dependencies: - json-stable-stringify-without-jsonify: 1.0.1 - through2-filter: 3.0.0 + uniqs@2.0.0: + optional: true unique-string@2.0.0: dependencies: @@ -35779,8 +27563,6 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - universal-user-agent@6.0.1: {} - universalify@0.1.2: {} universalify@0.2.0: {} @@ -35792,82 +27574,69 @@ snapshots: unix-dgram@2.0.6: dependencies: bindings: 1.5.0 - nan: 2.24.0 + nan: 2.28.0 optional: true unpipe@1.0.0: {} - unplugin@2.3.11: + unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.2.0)(rollup@4.62.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0))(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)): dependencies: '@jridgewell/remapping': 2.3.5 - acorn: 8.16.0 - picomatch: 4.0.4 + picomatch: 4.0.5 webpack-virtual-modules: 0.6.2 + optionalDependencies: + esbuild: 0.28.1 + rolldown: 1.2.0 + rollup: 4.62.2 + vite: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) + webpack: 5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3) - unquote@1.1.1: {} + unquote@1.1.1: + optional: true - unrs-resolver@1.11.1: + unrs-resolver@1.12.2: dependencies: napi-postinstall: 0.3.4 optionalDependencies: - '@unrs/resolver-binding-android-arm-eabi': 1.11.1 - '@unrs/resolver-binding-android-arm64': 1.11.1 - '@unrs/resolver-binding-darwin-arm64': 1.11.1 - '@unrs/resolver-binding-darwin-x64': 1.11.1 - '@unrs/resolver-binding-freebsd-x64': 1.11.1 - '@unrs/resolver-binding-linux-arm-gnueabihf': 1.11.1 - '@unrs/resolver-binding-linux-arm-musleabihf': 1.11.1 - '@unrs/resolver-binding-linux-arm64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-arm64-musl': 1.11.1 - '@unrs/resolver-binding-linux-ppc64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-riscv64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-riscv64-musl': 1.11.1 - '@unrs/resolver-binding-linux-s390x-gnu': 1.11.1 - '@unrs/resolver-binding-linux-x64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-x64-musl': 1.11.1 - '@unrs/resolver-binding-wasm32-wasi': 1.11.1 - '@unrs/resolver-binding-win32-arm64-msvc': 1.11.1 - '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 - '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 - - unrun@0.2.34(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): - dependencies: - rolldown: 1.0.0-rc.12(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@unrs/resolver-binding-android-arm-eabi': 1.12.2 + '@unrs/resolver-binding-android-arm64': 1.12.2 + '@unrs/resolver-binding-darwin-arm64': 1.12.2 + '@unrs/resolver-binding-darwin-x64': 1.12.2 + '@unrs/resolver-binding-freebsd-x64': 1.12.2 + '@unrs/resolver-binding-linux-arm-gnueabihf': 1.12.2 + '@unrs/resolver-binding-linux-arm-musleabihf': 1.12.2 + '@unrs/resolver-binding-linux-arm64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-arm64-musl': 1.12.2 + '@unrs/resolver-binding-linux-loong64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-loong64-musl': 1.12.2 + '@unrs/resolver-binding-linux-ppc64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-riscv64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-riscv64-musl': 1.12.2 + '@unrs/resolver-binding-linux-s390x-gnu': 1.12.2 + '@unrs/resolver-binding-linux-x64-gnu': 1.12.2 + '@unrs/resolver-binding-linux-x64-musl': 1.12.2 + '@unrs/resolver-binding-openharmony-arm64': 1.12.2 + '@unrs/resolver-binding-wasm32-wasi': 1.12.2 + '@unrs/resolver-binding-win32-arm64-msvc': 1.12.2 + '@unrs/resolver-binding-win32-ia32-msvc': 1.12.2 + '@unrs/resolver-binding-win32-x64-msvc': 1.12.2 + + unrun@0.2.34(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2): + dependencies: + rolldown: 1.0.0-rc.12(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' + optional: true - unset-value@1.0.0: - dependencies: - has-value: 0.3.1 - isobject: 3.0.1 - - until-async@3.0.2: {} + until-async@3.0.2: + optional: true untildify@4.0.0: {} - unzipper@0.10.14: + update-browserslist-db@1.2.3(browserslist@4.28.6): dependencies: - big-integer: 1.6.52 - binary: 0.3.0 - bluebird: 3.4.7 - buffer-indexof-polyfill: 1.0.2 - duplexer2: 0.1.4 - fstream: 1.0.12 - graceful-fs: 4.2.11 - listenercount: 1.0.1 - readable-stream: 2.3.8 - setimmediate: 1.0.5 - - update-browserslist-db@1.2.2(browserslist@4.28.1): - dependencies: - browserslist: 4.28.1 - escalade: 3.2.0 - picocolors: 1.1.1 - - update-browserslist-db@1.2.3(browserslist@4.28.2): - dependencies: - browserslist: 4.28.2 + browserslist: 4.28.6 escalade: 3.2.0 picocolors: 1.1.1 @@ -35889,7 +27658,7 @@ snapshots: is-yarn-global: 0.3.0 latest-version: 5.1.0 pupa: 2.1.1 - semver: 7.7.3 + semver: 7.8.5 semver-diff: 3.1.1 xdg-basedir: 4.0.0 @@ -35905,14 +27674,6 @@ snapshots: dependencies: punycode: 2.3.1 - urix@0.1.0: {} - - url-join@4.0.1: {} - - url-parse-lax@1.0.0: - dependencies: - prepend-http: 1.0.4 - url-parse-lax@3.0.0: dependencies: prepend-http: 2.0.0 @@ -35924,39 +27685,34 @@ snapshots: url-to-options@1.0.1: {} - use-callback-ref@1.3.3(@types/react@19.2.15)(react@19.2.6): + use-callback-ref@1.3.3(@types/react@19.2.17)(react@19.2.8): dependencies: - react: 19.2.6 + react: 19.2.8 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - use-sidecar@1.1.3(@types/react@19.2.15)(react@19.2.6): + use-sidecar@1.1.3(@types/react@19.2.17)(react@19.2.8): dependencies: detect-node-es: 1.1.0 - react: 19.2.6 + react: 19.2.8 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.15 + '@types/react': 19.2.17 - use-sync-external-store@1.6.0(react@19.2.4): + use-sync-external-store@1.6.0(react@19.2.8): dependencies: - react: 19.2.4 - - use-sync-external-store@1.6.0(react@19.2.6): - dependencies: - react: 19.2.6 - - use@3.1.1: {} + react: 19.2.8 util-deprecate@1.0.2: {} util.promisify@1.0.1: dependencies: define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.2 has-symbols: 1.1.0 object.getownpropertydescriptors: 2.1.9 + optional: true utils-merge@1.0.1: {} @@ -35982,19 +27738,14 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - validate-npm-package-name@5.0.1: {} - validate-npm-package-name@7.0.2: {} vary@1.1.2: {} - vendors@1.0.4: {} + vendors@1.0.4: + optional: true - verror@1.10.0: - dependencies: - assert-plus: 1.0.0 - core-util-is: 1.0.2 - extsprintf: 1.3.0 + verkit@0.1.2: {} vfile-location@5.0.3: dependencies: @@ -36011,298 +27762,94 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-plugin-monaco-editor@1.1.0(monaco-editor@0.54.0): + vite-tsconfig-paths@6.1.1(supports-color@10.2.2)(typescript@7.0.2)(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)): dependencies: - monaco-editor: 0.54.0 - - vite-tsconfig-paths@6.1.1(typescript@6.0.3)(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)): - dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) globrex: 0.1.2 - tsconfck: 3.1.6(typescript@6.0.3) - vite: 8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) + tsconfck: 3.1.6(typescript@7.0.2) + vite: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) transitivePeerDependencies: - supports-color - typescript - vite@8.0.13(@types/node@20.19.26)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0): - dependencies: - lightningcss: 1.32.0 - picomatch: 4.0.4 - postcss: 8.5.15 - rolldown: 1.0.1 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 20.19.26 - esbuild: 0.28.0 - fsevents: 2.3.3 - jiti: 2.7.0 - terser: 5.47.1 - tsx: 4.22.3 - yaml: 2.9.0 - - vite@8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2): - dependencies: - lightningcss: 1.32.0 - picomatch: 4.0.4 - postcss: 8.5.15 - rolldown: 1.0.1 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 22.19.15 - esbuild: 0.28.0 - fsevents: 2.3.3 - jiti: 2.7.0 - terser: 5.47.1 - tsx: 4.22.3 - yaml: 2.8.2 - - vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2): - dependencies: - lightningcss: 1.32.0 - picomatch: 4.0.4 - postcss: 8.5.15 - rolldown: 1.0.1 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 25.9.1 - esbuild: 0.28.0 - fsevents: 2.3.3 - jiti: 2.7.0 - terser: 5.47.1 - tsx: 4.22.3 - yaml: 2.8.2 - - vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0): + vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0): dependencies: - lightningcss: 1.32.0 - picomatch: 4.0.4 - postcss: 8.5.15 - rolldown: 1.0.1 - tinyglobby: 0.2.16 + lightningcss: 1.33.0 + picomatch: 4.0.5 + postcss: 8.5.21 + rolldown: 1.1.5 + tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 25.9.1 - esbuild: 0.28.0 + '@types/node': 26.1.1 + esbuild: 0.28.1 fsevents: 2.3.3 jiti: 2.7.0 - terser: 5.47.1 - tsx: 4.22.3 + terser: 5.49.0 + tsx: 4.23.1 yaml: 2.9.0 - vite@8.0.8(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2): - dependencies: - lightningcss: 1.32.0 - picomatch: 4.0.4 - postcss: 8.5.9 - rolldown: 1.0.0-rc.15 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 25.9.1 - esbuild: 0.28.0 - fsevents: 2.3.3 - jiti: 2.7.0 - terser: 5.47.1 - tsx: 4.22.3 - yaml: 2.8.2 - - vitefu@1.1.3(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)): - optionalDependencies: - vite: 8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) - - vitest@4.1.2(@opentelemetry/api@1.9.1)(@types/node@20.19.26)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@20.19.26)(typescript@5.9.3))(vite@8.0.13(@types/node@20.19.26)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)): - dependencies: - '@vitest/expect': 4.1.2 - '@vitest/mocker': 4.1.2(msw@2.12.14(@types/node@20.19.26)(typescript@5.9.3))(vite@8.0.13(@types/node@20.19.26)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) - '@vitest/pretty-format': 4.1.2 - '@vitest/runner': 4.1.2 - '@vitest/snapshot': 4.1.2 - '@vitest/spy': 4.1.2 - '@vitest/utils': 4.1.2 - es-module-lexer: 2.0.0 - expect-type: 1.3.0 - magic-string: 0.30.21 - obug: 2.1.1 - pathe: 2.0.3 - picomatch: 4.0.4 - std-env: 4.0.0 - tinybench: 2.9.0 - tinyexec: 1.1.1 - tinyglobby: 0.2.16 - tinyrainbow: 3.1.0 - vite: 8.0.13(@types/node@20.19.26)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0) - why-is-node-running: 2.3.0 - optionalDependencies: - '@opentelemetry/api': 1.9.1 - '@types/node': 20.19.26 - jsdom: 27.4.0(@noble/hashes@1.8.0) - transitivePeerDependencies: - - msw - - vitest@4.1.2(@opentelemetry/api@1.9.1)(@types/node@22.19.15)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@22.19.15)(typescript@5.9.3))(vite@8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)): - dependencies: - '@vitest/expect': 4.1.2 - '@vitest/mocker': 4.1.2(msw@2.12.14(@types/node@22.19.15)(typescript@5.9.3))(vite@8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)) - '@vitest/pretty-format': 4.1.2 - '@vitest/runner': 4.1.2 - '@vitest/snapshot': 4.1.2 - '@vitest/spy': 4.1.2 - '@vitest/utils': 4.1.2 - es-module-lexer: 2.0.0 - expect-type: 1.3.0 - magic-string: 0.30.21 - obug: 2.1.1 - pathe: 2.0.3 - picomatch: 4.0.4 - std-env: 4.0.0 - tinybench: 2.9.0 - tinyexec: 1.1.1 - tinyglobby: 0.2.16 - tinyrainbow: 3.1.0 - vite: 8.0.13(@types/node@22.19.15)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) - why-is-node-running: 2.3.0 - optionalDependencies: - '@opentelemetry/api': 1.9.1 - '@types/node': 22.19.15 - jsdom: 27.4.0(@noble/hashes@1.8.0) - transitivePeerDependencies: - - msw - - vitest@4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)): - dependencies: - '@vitest/expect': 4.1.2 - '@vitest/mocker': 4.1.2(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0)) - '@vitest/pretty-format': 4.1.2 - '@vitest/runner': 4.1.2 - '@vitest/snapshot': 4.1.2 - '@vitest/spy': 4.1.2 - '@vitest/utils': 4.1.2 - es-module-lexer: 2.0.0 - expect-type: 1.3.0 - magic-string: 0.30.21 - obug: 2.1.1 - pathe: 2.0.3 - picomatch: 4.0.4 - std-env: 4.0.0 - tinybench: 2.9.0 - tinyexec: 1.1.1 - tinyglobby: 0.2.16 - tinyrainbow: 3.1.0 - vite: 8.0.13(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.9.0) - why-is-node-running: 2.3.0 + vitefu@1.1.3(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)): optionalDependencies: - '@opentelemetry/api': 1.9.1 - '@types/node': 25.9.1 - jsdom: 27.4.0(@noble/hashes@1.8.0) - transitivePeerDependencies: - - msw - - vitest@4.1.2(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@27.4.0(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.8(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)): - dependencies: - '@vitest/expect': 4.1.2 - '@vitest/mocker': 4.1.2(msw@2.12.14(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.8(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2)) - '@vitest/pretty-format': 4.1.2 - '@vitest/runner': 4.1.2 - '@vitest/snapshot': 4.1.2 - '@vitest/spy': 4.1.2 - '@vitest/utils': 4.1.2 - es-module-lexer: 2.0.0 - expect-type: 1.3.0 + vite: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) + + vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.1.1)(jsdom@29.1.1(@noble/hashes@1.8.0))(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)): + dependencies: + '@vitest/expect': 4.1.10 + '@vitest/mocker': 4.1.10(msw@2.12.14(@types/node@26.1.1)(typescript@7.0.2))(vite@8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.10 + '@vitest/runner': 4.1.10 + '@vitest/snapshot': 4.1.10 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 + es-module-lexer: 2.3.1 + expect-type: 1.4.0 magic-string: 0.30.21 - obug: 2.1.1 + obug: 2.1.4 pathe: 2.0.3 - picomatch: 4.0.4 - std-env: 4.0.0 + picomatch: 4.0.5 + std-env: 4.2.0 tinybench: 2.9.0 - tinyexec: 1.1.1 - tinyglobby: 0.2.16 + tinyexec: 1.2.4 + tinyglobby: 0.2.17 tinyrainbow: 3.1.0 - vite: 8.0.8(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.47.1)(tsx@4.22.3)(yaml@2.8.2) + vite: 8.1.5(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.49.0)(tsx@4.23.1)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@types/node': 25.9.1 - jsdom: 27.4.0(@noble/hashes@1.8.0) + '@types/node': 26.1.1 + jsdom: 29.1.1(@noble/hashes@1.8.0) transitivePeerDependencies: - msw - vizion@2.2.1: - dependencies: - async: 2.6.4 - git-node-fs: 1.0.0(js-git@0.7.8) - ini: 1.3.8 - js-git: 0.7.8 - - vm2@3.10.0: - dependencies: - acorn: 8.16.0 - acorn-walk: 8.3.4 - - vscode-jsonrpc@8.2.0: {} - - vscode-languageserver-protocol@3.17.5: - dependencies: - vscode-jsonrpc: 8.2.0 - vscode-languageserver-types: 3.17.5 - - vscode-languageserver-textdocument@1.0.12: {} + vue-component-type-helpers@3.3.7: {} - vscode-languageserver-types@3.17.5: {} - - vscode-uri@3.1.0: {} - - vue-component-type-helpers@3.2.6: {} - - vue-demi@0.14.10(vue@3.5.31(typescript@5.9.3)): - dependencies: - vue: 3.5.31(typescript@5.9.3) - - vue-demi@0.14.10(vue@3.5.31(typescript@6.0.3)): + vue-demi@0.14.10(vue@3.5.40(typescript@7.0.2)): dependencies: - vue: 3.5.31(typescript@6.0.3) + vue: 3.5.40(typescript@7.0.2) - vue-eslint-parser@10.4.0(eslint@8.57.1): + vue-eslint-parser@10.4.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2): dependencies: - debug: 4.4.3 - eslint: 8.57.1 + debug: 4.4.3(supports-color@10.2.2) + eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2) eslint-scope: 9.1.2 eslint-visitor-keys: 5.0.1 espree: 11.2.0 - esquery: 1.6.0 - semver: 7.7.4 + esquery: 1.7.0 + semver: 7.8.5 transitivePeerDependencies: - supports-color - vue-router@4.6.2(vue@3.5.31(typescript@5.9.3)): - dependencies: - '@vue/devtools-api': 6.6.4 - vue: 3.5.31(typescript@5.9.3) - - vue-router@4.6.2(vue@3.5.31(typescript@6.0.3)): - dependencies: - '@vue/devtools-api': 6.6.4 - vue: 3.5.31(typescript@6.0.3) - vue-sonner@1.3.2: {} - vue@3.5.31(typescript@5.9.3): - dependencies: - '@vue/compiler-dom': 3.5.31 - '@vue/compiler-sfc': 3.5.31 - '@vue/runtime-dom': 3.5.31 - '@vue/server-renderer': 3.5.31(vue@3.5.31(typescript@5.9.3)) - '@vue/shared': 3.5.31 - optionalDependencies: - typescript: 5.9.3 - - vue@3.5.31(typescript@6.0.3): + vue@3.5.40(typescript@7.0.2): dependencies: - '@vue/compiler-dom': 3.5.31 - '@vue/compiler-sfc': 3.5.31 - '@vue/runtime-dom': 3.5.31 - '@vue/server-renderer': 3.5.31(vue@3.5.31(typescript@6.0.3)) - '@vue/shared': 3.5.31 + '@vue/compiler-dom': 3.5.40 + '@vue/compiler-sfc': 3.5.40 + '@vue/runtime-dom': 3.5.40 + '@vue/server-renderer': 3.5.40 + '@vue/shared': 3.5.40 optionalDependencies: - typescript: 6.0.3 + typescript: 7.0.2 w3c-keyname@2.2.8: {} @@ -36310,77 +27857,31 @@ snapshots: dependencies: xml-name-validator: 5.0.0 - watchpack@2.5.1: + watchpack@2.5.2: dependencies: - glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - wcwidth@1.0.1: - dependencies: - defaults: 1.0.4 - web-namespaces@2.0.1: {} - web-streams-polyfill@3.3.3: {} + web-vitals@4.2.4: {} - web-vitals@5.2.0: {} + web-vitals@6.0.0: {} web-worker@1.5.0: {} webdriver-bidi-protocol@0.4.1: {} - webidl-conversions@3.0.1: {} + webdriver-bidi-protocol@0.4.2: {} - webidl-conversions@4.0.2: {} + webidl-conversions@3.0.1: {} webidl-conversions@8.0.1: {} - webpack-sources@3.4.1: {} + webpack-sources@3.5.1: {} webpack-virtual-modules@0.6.2: {} - webpack@5.103.0: - dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.9 - '@types/json-schema': 7.0.15 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.16.0 - acorn-import-phases: 1.0.4(acorn@8.16.0) - browserslist: 4.28.2 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.21.6 - es-module-lexer: 1.7.0 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.2 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 4.3.3 - tapable: 2.3.3 - terser-webpack-plugin: 5.6.0(webpack@5.103.0) - watchpack: 2.5.1 - webpack-sources: 3.4.1 - transitivePeerDependencies: - - '@minify-html/node' - - '@swc/core' - - '@swc/css' - - '@swc/html' - - clean-css - - cssnano - - csso - - esbuild - - html-minifier-terser - - lightningcss - - postcss - - uglify-js - - webpack@5.103.0(esbuild@0.28.0): + webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.9 @@ -36388,11 +27889,11 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@webassemblyjs/wasm-edit': 1.14.1 '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.16.0 - acorn-import-phases: 1.0.4(acorn@8.16.0) - browserslist: 4.28.2 + acorn: 8.17.0 + acorn-import-phases: 1.0.4(acorn@8.17.0) + browserslist: 4.28.6 chrome-trace-event: 1.0.4 - enhanced-resolve: 5.21.6 + enhanced-resolve: 5.24.3 es-module-lexer: 1.7.0 eslint-scope: 5.1.1 events: 3.3.0 @@ -36404,9 +27905,9 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.3 - terser-webpack-plugin: 5.6.0(esbuild@0.28.0)(webpack@5.103.0(esbuild@0.28.0)) - watchpack: 2.5.1 - webpack-sources: 3.4.1 + terser-webpack-plugin: 5.6.1(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)(webpack@5.103.0(@swc/core@1.15.46(@swc/helpers@0.5.23))(cssnano@4.1.11)(csso@4.2.0)(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.22)(uglify-js@3.19.3)) + watchpack: 2.5.2 + webpack-sources: 3.5.1 transitivePeerDependencies: - '@minify-html/node' - '@swc/core' @@ -36421,7 +27922,7 @@ snapshots: - postcss - uglify-js - websocket-driver@0.7.4: + websocket-driver@0.7.5: dependencies: http-parser-js: 0.5.10 safe-buffer: 5.2.1 @@ -36429,32 +27930,21 @@ snapshots: websocket-extensions@0.1.4: {} - well-known-symbols@2.0.0: {} - - whatwg-encoding@3.1.1: - dependencies: - iconv-lite: 0.6.3 - - whatwg-mimetype@4.0.0: {} - whatwg-mimetype@5.0.0: {} - whatwg-url@15.1.0: + whatwg-url@16.0.1(@noble/hashes@1.8.0): dependencies: + '@exodus/bytes': 1.15.1(@noble/hashes@1.8.0) tr46: 6.0.0 webidl-conversions: 8.0.1 + transitivePeerDependencies: + - '@noble/hashes' whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - whatwg-url@7.1.0: - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - which-boxed-primitive@1.1.1: dependencies: is-bigint: 1.1.0 @@ -36466,7 +27956,7 @@ snapshots: which-builtin-type@1.2.1: dependencies: call-bound: 1.0.4 - function.prototype.name: 1.1.8 + function.prototype.name: 1.2.0 has-tostringtag: 1.0.2 is-async-function: 2.1.1 is-date-object: 1.1.0 @@ -36477,7 +27967,7 @@ snapshots: isarray: 2.0.5 which-boxed-primitive: 1.1.1 which-collection: 1.0.2 - which-typed-array: 1.1.19 + which-typed-array: 1.1.22 which-collection@1.0.2: dependencies: @@ -36488,10 +27978,10 @@ snapshots: which-module@2.0.1: {} - which-typed-array@1.1.19: + which-typed-array@1.1.22: dependencies: available-typed-arrays: 1.0.7 - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 for-each: 0.3.5 get-proto: 1.0.1 @@ -36515,11 +28005,6 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 - wide-align@1.1.5: - dependencies: - string-width: 1.0.2 - optional: true - widest-line@3.1.0: dependencies: string-width: 4.2.3 @@ -36532,7 +28017,9 @@ snapshots: dependencies: string-width: 7.2.0 - wildcard-match@5.1.2: {} + widest-line@6.0.0: + dependencies: + string-width: 8.2.2 window-size@1.1.1: dependencies: @@ -36543,9 +28030,9 @@ snapshots: dependencies: execa: 4.1.0 - windows-release@5.1.1: + windows-release@7.1.1: dependencies: - execa: 5.1.1 + powershell-utils: 0.2.0 winston-daily-rotate-file@4.7.1(winston@3.19.0): dependencies: @@ -36555,6 +28042,14 @@ snapshots: winston: 3.19.0 winston-transport: 4.9.0 + winston-daily-rotate-file@5.0.0(winston@3.19.0): + dependencies: + file-stream-rotator: 0.6.1 + object-hash: 3.0.0 + triple-beam: 1.4.1 + winston: 3.19.0 + winston-transport: 4.9.0 + winston-papertrail@1.0.5(winston@3.19.0): dependencies: glossy: 0.1.7 @@ -36591,46 +28086,72 @@ snapshots: word-wrap@1.2.5: {} - wordwrap@0.0.2: {} - - wordwrap@1.0.0: {} - wordwrapjs@4.0.1: dependencies: reduce-flatten: 2.0.0 typical: 5.2.0 - wordwrapjs@5.1.1: {} + wordwrapjs@5.1.1: + optional: true + + worker-factory@7.0.50: + dependencies: + '@babel/runtime': 7.29.7 + fast-unique-numbers: 9.0.27 + tslib: 2.8.1 + + worker-timers-broker@8.0.18: + dependencies: + '@babel/runtime': 7.29.7 + broker-factory: 3.1.15 + fast-unique-numbers: 9.0.27 + tslib: 2.8.1 + worker-timers-worker: 9.0.15 + + worker-timers-worker@9.0.15: + dependencies: + '@babel/runtime': 7.29.7 + tslib: 2.8.1 + worker-factory: 7.0.50 - worker-rpc@0.1.1: + worker-timers@8.0.33: dependencies: - microevent.ts: 0.1.1 + '@babel/runtime': 7.29.7 + tslib: 2.8.1 + worker-timers-broker: 8.0.18 + worker-timers-worker: 9.0.15 - workerd@1.20260518.1: + workerd@1.20260721.1: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20260518.1 - '@cloudflare/workerd-darwin-arm64': 1.20260518.1 - '@cloudflare/workerd-linux-64': 1.20260518.1 - '@cloudflare/workerd-linux-arm64': 1.20260518.1 - '@cloudflare/workerd-windows-64': 1.20260518.1 + '@cloudflare/workerd-darwin-64': 1.20260721.1 + '@cloudflare/workerd-darwin-arm64': 1.20260721.1 + '@cloudflare/workerd-linux-64': 1.20260721.1 + '@cloudflare/workerd-linux-arm64': 1.20260721.1 + '@cloudflare/workerd-windows-64': 1.20260721.1 - wrangler@4.93.0(@cloudflare/workers-types@4.20260402.1): + wrangler@4.113.0(@cloudflare/workers-types@5.20260722.1): dependencies: '@cloudflare/kv-asset-handler': 0.5.0 - '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260518.1) + '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260721.1) blake3-wasm: 2.1.5 - esbuild: 0.27.3 - miniflare: 4.20260518.0 + esbuild: 0.28.1 + miniflare: 4.20260721.0 path-to-regexp: 6.3.0 unenv: 2.0.0-rc.24 - workerd: 1.20260518.1 + workerd: 1.20260721.1 optionalDependencies: - '@cloudflare/workers-types': 4.20260402.1 + '@cloudflare/workers-types': 5.20260722.1 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil - utf-8-validate + wrap-ansi@10.0.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 8.2.2 + strip-ansi: 7.2.0 + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 @@ -36653,7 +28174,7 @@ snapshots: dependencies: ansi-styles: 6.2.3 string-width: 7.2.0 - strip-ansi: 7.1.2 + strip-ansi: 7.2.0 wrappy@1.0.2: {} @@ -36664,22 +28185,11 @@ snapshots: signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 - write-file-atomic@5.0.1: - dependencies: - imurmurhash: 0.1.4 - signal-exit: 4.1.0 - - ws@6.2.2: - dependencies: - async-limiter: 1.0.1 - - ws@7.5.10: {} + ws@7.5.11: {} - ws@8.17.1: {} + ws@8.21.0: {} - ws@8.18.0: {} - - ws@8.20.0: {} + ws@8.21.1: {} wsl-utils@0.3.1: dependencies: @@ -36688,15 +28198,11 @@ snapshots: xdg-basedir@4.0.0: {} - xml-js@1.6.11: - dependencies: - sax: 1.4.3 - xml-name-validator@5.0.0: {} - xml2js@0.4.23: + xml2js@0.6.2: dependencies: - sax: 1.4.3 + sax: 1.6.0 xmlbuilder: 11.0.1 xmlbuilder2@3.1.1: @@ -36711,18 +28217,14 @@ snapshots: '@oozcitak/dom': 2.0.2 '@oozcitak/infra': 2.0.2 '@oozcitak/util': 10.0.0 - js-yaml: 4.1.1 + js-yaml: 4.3.0 xmlbuilder@11.0.1: {} - xmlbuilder@13.0.2: {} - xmlchars@2.2.0: {} xmlhttprequest-ssl@2.1.2: {} - xregexp@2.0.0: {} - xtend@4.0.2: {} y18n@4.0.3: {} @@ -36735,17 +28237,12 @@ snapshots: yallist@4.0.0: {} - yaml@1.10.2: {} + yallist@5.0.0: {} - yaml@2.8.2: {} + yaml@1.10.3: {} yaml@2.9.0: {} - yamljs@0.2.10: - dependencies: - argparse: 1.0.10 - glob: 7.2.3 - yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 @@ -36771,7 +28268,7 @@ snapshots: y18n: 4.0.3 yargs-parser: 18.1.3 - yargs@16.2.0: + yargs@16.2.2: dependencies: cliui: 7.0.4 escalade: 3.2.0 @@ -36801,6 +28298,16 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 + yargs@17.7.3: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + yargs@18.0.0: dependencies: cliui: 9.0.1 @@ -36810,10 +28317,6 @@ snapshots: y18n: 5.0.8 yargs-parser: 22.0.0 - yargs@2.3.0: - dependencies: - wordwrap: 0.0.2 - yarpm@1.2.0: dependencies: command-exists: 1.2.9 @@ -36828,9 +28331,12 @@ snapshots: yocto-queue@0.1.0: {} - yocto-queue@1.2.2: {} + yocto-spinner@1.2.2: + dependencies: + yoctocolors: 2.1.2 - yoctocolors-cjs@2.1.3: {} + yoctocolors-cjs@2.1.3: + optional: true yoctocolors@2.1.2: {} @@ -36845,28 +28351,80 @@ snapshots: dependencies: '@poppinss/colors': 4.1.6 '@poppinss/dumper': 0.6.5 - '@speed-highlight/core': 1.2.15 + '@speed-highlight/core': 1.2.17 cookie: 1.1.1 youch-core: 0.3.3 - zod-to-json-schema@3.25.0(zod@4.3.6): + yuku-analyzer@0.6.12: + dependencies: + '@yuku-toolchain/types': 0.6.11 + yuku-ast: 0.6.11 + optionalDependencies: + '@yuku-analyzer/binding-darwin-arm64': 0.6.12 + '@yuku-analyzer/binding-darwin-x64': 0.6.12 + '@yuku-analyzer/binding-freebsd-x64': 0.6.12 + '@yuku-analyzer/binding-linux-arm-gnu': 0.6.12 + '@yuku-analyzer/binding-linux-arm-musl': 0.6.12 + '@yuku-analyzer/binding-linux-arm64-gnu': 0.6.12 + '@yuku-analyzer/binding-linux-arm64-musl': 0.6.12 + '@yuku-analyzer/binding-linux-x64-gnu': 0.6.12 + '@yuku-analyzer/binding-linux-x64-musl': 0.6.12 + '@yuku-analyzer/binding-win32-arm64': 0.6.12 + '@yuku-analyzer/binding-win32-x64': 0.6.12 + + yuku-ast@0.6.11: dependencies: - zod: 4.3.6 + '@yuku-toolchain/types': 0.6.8 + + yuku-ast@0.7.2: + dependencies: + '@yuku-toolchain/types': 0.7.2 + + yuku-codegen@0.7.2: + dependencies: + '@yuku-toolchain/types': 0.7.2 + optionalDependencies: + '@yuku-codegen/binding-darwin-arm64': 0.7.2 + '@yuku-codegen/binding-darwin-x64': 0.7.2 + '@yuku-codegen/binding-freebsd-x64': 0.7.2 + '@yuku-codegen/binding-linux-arm-gnu': 0.7.2 + '@yuku-codegen/binding-linux-arm-musl': 0.7.2 + '@yuku-codegen/binding-linux-arm64-gnu': 0.7.2 + '@yuku-codegen/binding-linux-arm64-musl': 0.7.2 + '@yuku-codegen/binding-linux-x64-gnu': 0.7.2 + '@yuku-codegen/binding-linux-x64-musl': 0.7.2 + '@yuku-codegen/binding-win32-arm64': 0.7.2 + '@yuku-codegen/binding-win32-x64': 0.7.2 + + yuku-parser@0.7.2: + dependencies: + '@yuku-toolchain/types': 0.7.2 + yuku-ast: 0.7.2 + optionalDependencies: + '@yuku-parser/binding-darwin-arm64': 0.7.2 + '@yuku-parser/binding-darwin-x64': 0.7.2 + '@yuku-parser/binding-freebsd-x64': 0.7.2 + '@yuku-parser/binding-linux-arm-gnu': 0.7.2 + '@yuku-parser/binding-linux-arm-musl': 0.7.2 + '@yuku-parser/binding-linux-arm64-gnu': 0.7.2 + '@yuku-parser/binding-linux-arm64-musl': 0.7.2 + '@yuku-parser/binding-linux-x64-gnu': 0.7.2 + '@yuku-parser/binding-linux-x64-musl': 0.7.2 + '@yuku-parser/binding-win32-arm64': 0.7.2 + '@yuku-parser/binding-win32-x64': 0.7.2 zod-to-json-schema@3.25.2(zod@3.25.76): dependencies: zod: 3.25.76 - zod-to-json-schema@3.25.2(zod@4.3.6): + zod-to-json-schema@3.25.2(zod@4.4.3): dependencies: - zod: 4.3.6 + zod: 4.4.3 zod@3.23.8: {} zod@3.25.76: {} - zod@4.3.6: {} - zod@4.4.3: {} zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 9acf288b0..1c14042ee 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,5 +1,6 @@ packages: - packages/* + - '!packages/legacy-documented' - apps/* - packages/driver-interface - packages/driver-lightpanda @@ -9,83 +10,61 @@ packages: - sdks/* catalog: - '@discordjs/collection': ^2.1.1 - '@elastic/elasticsearch': ^9.2.0 - # Effect v4 is in beta; pin an exact version and upgrade deliberately (see EFFECT.md). - effect: 4.0.0-beta.94 - '@hono/node-server': ^1.19.12 - '@tailwindcss/vite': ^4.3.0 - '@tanstack/react-query': ^5.95.2 - '@tanstack/react-router': 1.168.13 - '@tanstack/react-router-devtools': 1.166.13 - '@tanstack/react-router-ssr-query': 1.166.10 - '@tanstack/react-start': 1.167.10 - '@tanstack/router-generator': 1.166.22 - '@tanstack/router-plugin': 1.167.10 - '@tanstack/start-static-server-functions': ^1.167.6 - '@types/cors': ^2.8.12 - '@types/express': ^4.17.14 - '@types/jest': ^29.5.0 - '@types/morgan': ^1.9.3 - '@types/node': ^25.9.1 - '@types/react': ^19.2.15 + '@effect/platform-browser': 4.0.0-beta.100 + '@effect/platform-bun': 4.0.0-beta.100 + '@effect/platform-node': 4.0.0-beta.100 + '@elastic/elasticsearch': ^9.4.2 + '@hono/node-server': ^2.0.11 + '@tailwindcss/vite': ^4.3.3 + '@tanstack/react-query': ^5.101.4 + '@tanstack/react-router': 1.170.18 + '@tanstack/react-router-devtools': 1.167.0 + '@tanstack/react-router-ssr-query': 1.167.1 + '@tanstack/react-start': 1.168.32 + '@tanstack/router-generator': 1.167.21 + '@tanstack/router-plugin': 1.168.23 + '@tanstack/start-static-server-functions': ^1.167.19 + '@types/express': ^5.0.6 + '@types/node': ^26.1.1 + '@types/react': ^19.2.17 '@types/react-dom': ^19.2.3 - '@types/tar-fs': ^2.0.0 - '@vitejs/plugin-react': ^6.0.2 - autoprefixer: ^10.4.14 - axe: ^11.0.2 + '@types/tar-fs': ^2.0.4 + '@vitejs/plugin-react': ^6.0.4 + autoprefixer: ^10.5.4 axios: npm:redaxios@0.5.1 - cabin: ^11.0.3 clsx: 2.1.1 - cors: ^2.8.5 - dotenv: ^16.0.0 - express: ^4.17.3 - express-request-id: 1.4.1 - helmet: ^6.0.0 - hono: ^4.12.9 - jest: ^29.5.0 - lucide-react: ^0.378.0 - morgan: ^1.10.0 - nitro: ^2.2.28 - playwright: ^1.58.2 - pm2: ^5.3.0 - postcss: ^8.4.24 - prettier: ^3.0.0 - public-ip: 4.0.4 - puppeteer: ^24.40.0 + dotenv: ^17.4.2 + effect: 4.0.0-beta.100 + hono: ^4.12.31 + lucide-react: ^1.25.0 + pm2: ^7.0.3 + postcss: ^8.5.22 + prettier: ^3.9.6 + public-ip: 8.0.0 + puppeteer: ^25.3.0 puppeteer-extra: ^3.3.6 - react: ^19.2.6 - react-dom: ^19.2.6 - request-received: ^0.0.3 - response-time: ^2.3.2 + react: ^19.2.8 + react-dom: ^19.2.8 serve: ^14.2.6 - socket.io: ^4.5.4 - socket.io-client: ^4.7.5 - tailwind-merge: 2.6.0 - tailwindcss: ^4.3.0 - ts-jest: ^29.1.0 - ts-node: ^10.9.1 - typescript: ^6.0.3 - uuid: ^9.0.0 - vite: ^8.0.13 + tailwind-merge: 3.6.0 + tailwindcss: ^4.3.3 + ts-node: ^10.9.2 + typescript: ^7.0.2 + uuid: ^14.0.1 + vite: ^8.1.5 vite-tsconfig-paths: ^6.1.1 - vitest: 4.1.2 - winston: ^3.8.2 - wrangler: ^4.93.0 - zod: ^4.2.1 + vitest: 4.1.10 + winston: ^3.19.0 + wrangler: ^4.113.0 + zod: ^4.4.3 shamefullyHoist: true nodeLinker: hoisted strictPeerDependencies: false lockfile: true -# NOTE: node-red previously skipped puppeteer's browser download via a -# per-project .npmrc (PUPPETEER_SKIP_DOWNLOAD). pnpm 11 packageConfigs only -# accepts pnpm settings, not env vars, and with the hoisted node_modules -# layout there is a single shared puppeteer install anyway. Set -# PUPPETEER_SKIP_DOWNLOAD=1 in the environment for installs that must skip it. allowBuilds: - # bcrypt is only pulled in (nested) by node-red-admin, whose ancient - # node-pre-gyp build fails on modern Node; node-red tooling falls back to - # bcryptjs when the native module is unavailable. + '@lightpanda/browser': true + '@swc/core': true + # node-red uses bcrypt's JavaScript fallback when its native build is disabled. bcrypt: false cloudflared: true core-js: true @@ -95,18 +74,75 @@ allowBuilds: gifsicle: true highlight.js: true jpegtran-bin: true + # msgpackr falls back to its portable JavaScript implementation. + msgpackr-extract: false optipng-bin: true protobufjs: true puppeteer: true + sharp: true unix-dgram: true + workerd: true '@open-wa/wa-automate': false - '@lightpanda/browser': true + '@firebase/util': false + '@scarf/scarf': false msw: false - sharp: true unrs-resolver: false vue-demi: false - workerd: true - # optional native accelerator for msgpackr; JS fallback is fine - msgpackr-extract: false minimumReleaseAgeExclude: - - effect@4.0.0-beta.94 + - '@effect/platform-browser@4.0.0-beta.100' + - '@effect/platform-bun@4.0.0-beta.100' + - '@effect/platform-node-shared@4.0.0-beta.100' + - '@effect/platform-node@4.0.0-beta.100' + - effect@4.0.0-beta.100 + - '@ai-sdk/gateway@4.0.26' + - '@ai-sdk/mcp@2.0.16' + - '@ai-sdk/provider-utils@5.0.12' + - '@ai-sdk/react@4.0.37' + - '@cloudflare/vite-plugin@1.46.0' + - '@cloudflare/workers-types@5.20260722.1' + - '@oxlint/binding-android-arm-eabi@1.75.0' + - '@oxlint/binding-android-arm64@1.75.0' + - '@oxlint/binding-darwin-arm64@1.75.0' + - '@oxlint/binding-darwin-x64@1.75.0' + - '@oxlint/binding-freebsd-x64@1.75.0' + - '@oxlint/binding-linux-arm-gnueabihf@1.75.0' + - '@oxlint/binding-linux-arm-musleabihf@1.75.0' + - '@oxlint/binding-linux-arm64-gnu@1.75.0' + - '@oxlint/binding-linux-arm64-musl@1.75.0' + - '@oxlint/binding-linux-ppc64-gnu@1.75.0' + - '@oxlint/binding-linux-riscv64-gnu@1.75.0' + - '@oxlint/binding-linux-riscv64-musl@1.75.0' + - '@oxlint/binding-linux-s390x-gnu@1.75.0' + - '@oxlint/binding-linux-x64-gnu@1.75.0' + - '@oxlint/binding-linux-x64-musl@1.75.0' + - '@oxlint/binding-openharmony-arm64@1.75.0' + - '@oxlint/binding-win32-arm64-msvc@1.75.0' + - '@oxlint/binding-win32-ia32-msvc@1.75.0' + - '@oxlint/binding-win32-x64-msvc@1.75.0' + - '@takumi-rs/core-darwin-arm64@2.4.1' + - '@takumi-rs/core-darwin-x64@2.4.1' + - '@takumi-rs/core-linux-arm64-gnu@2.4.1' + - '@takumi-rs/core-linux-arm64-musl@2.4.1' + - '@takumi-rs/core-linux-x64-gnu@2.4.1' + - '@takumi-rs/core-linux-x64-musl@2.4.1' + - '@takumi-rs/core-win32-arm64-msvc@2.4.1' + - '@takumi-rs/core-win32-x64-msvc@2.4.1' + - '@takumi-rs/core@2.4.1' + - '@takumi-rs/helpers@2.4.1' + - '@takumi-rs/image-response@2.4.1' + - '@takumi-rs/wasm@2.4.1' + - '@tanstack/query-core@5.101.4' + - '@tanstack/react-query@5.101.4' + - '@vitejs/plugin-react@6.0.4' + - ai@7.0.34 + - miniflare@4.20260721.0 + - oxlint@1.75.0 + - postcss@8.5.22 + - react-dom@19.2.8 + - react@19.2.8 + - shadcn@4.14.0 + - swagger-ui-dist@5.32.11 + - takumi-js@2.4.1 + - tsdown@0.22.13 + - web-vitals@6.0.0 + - wrangler@4.113.0 diff --git a/tools/bench-effect-replacements.mjs b/tools/bench-effect-replacements.mjs new file mode 100644 index 000000000..6e7ba4cac --- /dev/null +++ b/tools/bench-effect-replacements.mjs @@ -0,0 +1,162 @@ +import { build } from 'esbuild'; +import { Effect, Fiber, PubSub, Schema } from 'effect'; +import { mkdir, writeFile } from 'node:fs/promises'; +import { dirname, resolve } from 'node:path'; +import { performance } from 'node:perf_hooks'; +import { z } from 'zod'; +import { HyperEmitter } from '../packages/hyperemitter/dist/index.cjs'; + +const schemaIterations = 100_000; +const eventIterations = 10_000; +const event = { + event: 'message.received', + sessionId: 'benchmark', + timestamp: 1, + payload: { body: 'hello' }, +}; +const effectSchema = Schema.Struct({ + event: Schema.String, + sessionId: Schema.String, + timestamp: Schema.Number, + payload: Schema.Unknown, +}); +const effectDecode = Schema.decodeUnknownSync(effectSchema); +const zodSchema = z.object({ + event: z.string(), + sessionId: z.string(), + timestamp: z.number(), + payload: z.unknown(), +}); + +const measure = async (iterations, run) => { + await run(); + const startedAt = performance.now(); + await run(); + const durationMs = performance.now() - startedAt; + return { + iterations, + durationMs: Number(durationMs.toFixed(2)), + operationsPerSecond: Math.round(iterations / (durationMs / 1000)), + }; +}; + +const effectSchemaResult = await measure(schemaIterations, () => { + for (let index = 0; index < schemaIterations; index += 1) effectDecode(event); +}); +const zodSchemaResult = await measure(schemaIterations, () => { + for (let index = 0; index < schemaIterations; index += 1) zodSchema.parse(event); +}); + +const hyperEmitterResult = await measure(eventIterations, async () => { + const emitter = new HyperEmitter({ captureRejections: true }); + let delivered = 0; + emitter.on('message.received', () => { delivered += 1; }); + for (let index = 0; index < eventIterations; index += 1) { + emitter.emit('message.received', index); + } + if (delivered !== eventIterations) throw new Error('HyperEmitter lost an event'); +}); +const effectPubSubResult = await measure(eventIterations, () => Effect.runPromise( + Effect.scoped(Effect.gen(function* () { + const pubsub = yield* PubSub.unbounded(); + const subscription = yield* PubSub.subscribe(pubsub); + const consumer = yield* Effect.forEach( + Array.from({ length: eventIterations }), + () => PubSub.take(subscription), + { discard: true }, + ).pipe(Effect.forkChild); + yield* Effect.forEach( + Array.from({ length: eventIterations }, (_, index) => index), + (value) => PubSub.publish(pubsub, value), + { discard: true }, + ); + yield* Fiber.join(consumer); + })), +)); + +const bundleBytes = async (contents) => { + const result = await build({ + absWorkingDir: process.cwd(), + bundle: true, + format: 'esm', + minify: true, + platform: 'browser', + plugins: [{ + name: 'openwa-logger-stub', + setup(context) { + context.onResolve({ filter: /^@open-wa\/logger$/ }, () => ({ + path: 'logger-stub', + namespace: 'openwa-benchmark', + })); + context.onLoad({ filter: /.*/, namespace: 'openwa-benchmark' }, () => ({ + contents: `export const createLogger = () => ({ debug() {}, info() {}, warn() {}, error() {}, withContext() { return this; } });`, + loader: 'js', + })); + }, + }], + stdin: { contents, loader: 'ts', resolveDir: process.cwd() }, + treeShaking: true, + write: false, + }); + return result.outputFiles.reduce((total, file) => total + file.contents.byteLength, 0); +}; + +const bundles = { + schema: { + effectBytes: await bundleBytes(` + import { Schema } from 'effect'; + const Contract = Schema.Struct({ event: Schema.String, sessionId: Schema.String, timestamp: Schema.Number, payload: Schema.Unknown }); + export const decode = Schema.decodeUnknownSync(Contract); + `), + zodBytes: await bundleBytes(` + import { z } from 'zod'; + const Contract = z.object({ event: z.string(), sessionId: z.string(), timestamp: z.number(), payload: z.unknown() }); + export const decode = (input) => Contract.parse(input); + `), + }, + events: { + effectBytes: await bundleBytes(` + import { PubSub, Stream } from 'effect'; + export const makePipeline = (capacity) => PubSub.bounded(capacity).pipe(Stream.fromPubSub); + `), + hyperEmitterBytes: await bundleBytes(` + import { HyperEmitter } from './packages/hyperemitter/src/index.ts'; + export const makeEmitter = () => new HyperEmitter({ captureRejections: true }); + `), + }, + declaration: { + effectHttpRpcBytes: await bundleBytes(` + import { Schema } from 'effect'; + import { HttpApi, HttpApiEndpoint, HttpApiGroup } from 'effect/unstable/httpapi'; + import { Rpc } from 'effect/unstable/rpc'; + const Health = Schema.Struct({ ready: Schema.Boolean }); + export const Api = HttpApi.make('openwa').add(HttpApiGroup.make('runtime').add(HttpApiEndpoint.get('health', '/health', { success: Health }))); + export const Ask = Rpc.make('openwa.ask', { payload: { method: Schema.String, args: Schema.Array(Schema.Unknown) }, success: Schema.Unknown }); + `), + handAuthoredBytes: await bundleBytes(` + export const Api = { runtime: { health: { method: 'GET', path: '/health', success: { ready: 'boolean' } } } }; + export const Ask = { tag: 'openwa.ask', payload: { method: 'string', args: 'unknown[]' }, success: 'unknown' }; + `), + }, +}; + +const report = { + benchmark: 'effect-v4-replacement-spikes', + recordedAt: new Date().toISOString(), + effect: '4.0.0-beta.100', + runtime: `${process.version}-${process.platform}-${process.arch}`, + performance: { + schemaDecode: { effect: effectSchemaResult, zod: zodSchemaResult }, + eventFanout: { effectPubSub: effectPubSubResult, hyperEmitter: hyperEmitterResult }, + }, + bundles, +}; + +const output = `${JSON.stringify(report, null, 2)}\n`; +const outputFlag = process.argv.indexOf('--output'); +if (outputFlag !== -1) { + const outputPath = resolve(process.argv[outputFlag + 1]); + await mkdir(dirname(outputPath), { recursive: true }); + await writeFile(outputPath, output); +} +console.log(output); diff --git a/tools/bench-effect-startup.mjs b/tools/bench-effect-startup.mjs new file mode 100644 index 000000000..d5c8af460 --- /dev/null +++ b/tools/bench-effect-startup.mjs @@ -0,0 +1,76 @@ +import { performance } from 'node:perf_hooks'; +import { Effect } from 'effect'; +import { runStartupGraph } from '../packages/runtime-core/dist/index.mjs'; + +const phases = [ + ['transport', 70], + ['patch-preload', 50], + ['license-preflight', 30], +]; +const task = (durationMs) => new Promise((resolve) => setTimeout(resolve, durationMs)); + +const measure = async (run) => { + const rssStart = process.memoryUsage.rss(); + let rssPeak = rssStart; + const sampler = setInterval(() => { + rssPeak = Math.max(rssPeak, process.memoryUsage.rss()); + }, 2); + const startedAt = performance.now(); + const value = await run(); + clearInterval(sampler); + rssPeak = Math.max(rssPeak, process.memoryUsage.rss()); + return { + value, + durationMs: performance.now() - startedAt, + rssStartMb: Number((rssStart / 1024 / 1024).toFixed(1)), + rssPeakMb: Number((rssPeak / 1024 / 1024).toFixed(1)), + rssDeltaMb: Number(((rssPeak - rssStart) / 1024 / 1024).toFixed(1)), + }; +}; + +const sequentialSession = async () => { + for (const [, durationMs] of phases) await task(durationMs); +}; + +const parallelSession = () => Effect.runPromise(runStartupGraph(phases.map(([id, durationMs]) => ({ + id, + run: () => Effect.promise(() => task(durationMs)), +})))); + +const sequential = await measure(sequentialSession); +const parallel = await measure(parallelSession); +const sequentialThreeSessions = await measure(async () => { + for (let index = 0; index < 3; index += 1) await sequentialSession(); +}); +const parallelThreeSessions = await measure(() => Promise.all([ + parallelSession(), + parallelSession(), + parallelSession(), +])); + +console.log(JSON.stringify({ + benchmark: 'effect-startup-independent-phases', + singleSession: { + before: { ...sequential, value: undefined, durationMs: Math.round(sequential.durationMs) }, + after: { + ...parallel, + value: undefined, + durationMs: Math.round(parallel.durationMs), + graphCriticalPathMs: parallel.value.criticalPathMs, + }, + speedup: Number((sequential.durationMs / parallel.durationMs).toFixed(2)), + }, + threeConcurrentSessions: { + before: { + ...sequentialThreeSessions, + value: undefined, + durationMs: Math.round(sequentialThreeSessions.durationMs), + }, + after: { + ...parallelThreeSessions, + value: undefined, + durationMs: Math.round(parallelThreeSessions.durationMs), + }, + speedup: Number((sequentialThreeSessions.durationMs / parallelThreeSessions.durationMs).toFixed(2)), + }, +}, null, 2)); diff --git a/tools/bench-real-runtime.mjs b/tools/bench-real-runtime.mjs new file mode 100644 index 000000000..5609926f3 --- /dev/null +++ b/tools/bench-real-runtime.mjs @@ -0,0 +1,244 @@ +import { execFile } from 'node:child_process'; +import { mkdtemp, mkdir, rm, writeFile } from 'node:fs/promises'; +import { cpus, homedir, platform, release, tmpdir, totalmem } from 'node:os'; +import { dirname, join, resolve } from 'node:path'; +import { performance } from 'node:perf_hooks'; +import { promisify } from 'node:util'; + +const execFileAsync = promisify(execFile); +const DRIVER_LOADERS = { + puppeteer: async () => new (await import('../packages/driver-puppeteer/dist/index.cjs')).PuppeteerDriver(), + playwright: async () => new (await import('../packages/driver-playwright/dist/index.cjs')).PlaywrightDriver('chromium'), + lightpanda: async () => new (await import('../packages/driver-lightpanda/dist/index.cjs')).LightpandaDriver(), +}; + +function parseArgs(argv) { + const value = (flag, fallback) => { + const index = argv.indexOf(flag); + return index === -1 ? fallback : argv[index + 1]; + }; + if (argv.includes('--help')) return { help: true }; + + const driver = value('--driver', 'puppeteer'); + const mode = value('--mode', 'browser'); + if (!(driver in DRIVER_LOADERS)) throw new Error(`Unsupported driver: ${driver}`); + if (!['browser', 'session'].includes(mode)) throw new Error(`Unsupported mode: ${mode}`); + + const profileRoot = value('--profile-root'); + if (mode === 'session' && !profileRoot) { + throw new Error('--profile-root is required for authenticated full-session benchmarks'); + } + + return { + help: false, + driver, + mode, + samples: Number(value('--samples', '5')), + concurrency: value('--concurrency', '1,3').split(',').map(Number), + url: value('--url', mode === 'session' ? 'https://web.whatsapp.com' : 'about:blank'), + executablePath: value('--executable-path'), + profileRoot: profileRoot ? resolve(profileRoot.replace(/^~(?=\/)/, homedir())) : undefined, + output: value('--output'), + timeoutMs: Number(value('--timeout-ms', '120000')), + }; +} + +function printHelp() { + console.log(`Usage: pnpm bench:runtime:real -- [options] + + --driver puppeteer|playwright|lightpanda + --mode browser|session + --samples 5 + --concurrency 1,3 + --url about:blank + --executable-path /path/to/browser + --profile-root /path/to/authenticated/profiles + --timeout-ms 120000 + --output architecture/benchmarks/runtime-host.json + +Session mode runs the complete open-wa startup and requires one authenticated +profile per concurrency slot at /session-0, session-1, etc.`); +} + +async function processTreeRssMb(rootPid = process.pid) { + if (!['darwin', 'linux'].includes(platform())) { + throw new Error(`Process-tree RSS sampling is not implemented for ${platform()}`); + } + + const { stdout } = await execFileAsync('ps', ['-axo', 'pid=,ppid=,rss=']); + const rows = stdout.trim().split('\n').map((line) => { + const [pid, ppid, rssKb] = line.trim().split(/\s+/).map(Number); + return { pid, ppid, rssKb }; + }); + const children = new Map(); + for (const row of rows) { + const list = children.get(row.ppid) ?? []; + list.push(row); + children.set(row.ppid, list); + } + + let rssKb = 0; + const pending = [...(children.get(rootPid) ?? [])]; + while (pending.length > 0) { + const row = pending.pop(); + rssKb += row.rssKb; + pending.push(...(children.get(row.pid) ?? [])); + } + return rssKb / 1024; +} + +async function measure(run) { + let peakBrowserTreeRssMb = 0; + let sampling = true; + const sampler = (async () => { + while (sampling) { + peakBrowserTreeRssMb = Math.max(peakBrowserTreeRssMb, await processTreeRssMb()); + await new Promise((resolveDelay) => setTimeout(resolveDelay, 50)); + } + })(); + const startedAt = performance.now(); + + try { + const value = await run(); + return { + durationMs: Math.round(performance.now() - startedAt), + peakBrowserTreeRssMb: Number(peakBrowserTreeRssMb.toFixed(1)), + ...value, + }; + } finally { + sampling = false; + await sampler; + } +} + +async function launchBrowser(options, slot, cleanup) { + const driver = await DRIVER_LOADERS[options.driver](); + await driver.init(); + const temporaryProfile = options.profileRoot + ? undefined + : await mkdtemp(join(tmpdir(), `openwa-${options.driver}-${slot}-`)); + const userDataDir = options.profileRoot + ? join(options.profileRoot, `session-${slot}`) + : temporaryProfile; + await mkdir(userDataDir, { recursive: true }); + + const browser = await driver.launch({ + headless: true, + executablePath: options.executablePath, + userDataDir, + timeoutMs: options.timeoutMs, + }); + cleanup.push(async () => browser.close()); + if (temporaryProfile) cleanup.push(async () => rm(temporaryProfile, { recursive: true, force: true })); + + const page = await browser.newPage(); + await page.goto(options.url, { waitUntil: 'domcontentloaded', timeoutMs: options.timeoutMs }); + return { browserVersion: await browser.versionString() }; +} + +async function launchSession(options, slot, cleanup) { + const [{ createClient }, driver] = await Promise.all([ + import('../packages/core/dist/index.mjs'), + DRIVER_LOADERS[options.driver](), + ]); + const client = await createClient({ + sessionId: `benchmark-${slot}`, + driver, + headless: true, + executablePath: options.executablePath, + userDataDir: join(options.profileRoot, `session-${slot}`), + waWebUrl: options.url, + navigationTimeoutMs: options.timeoutMs, + authTimeoutMs: options.timeoutMs, + qrTimeoutMs: options.timeoutMs, + }); + cleanup.push(async () => client.stop('benchmark-complete')); + await client.start(); + return { readiness: client.getReadiness() }; +} + +async function runGroup(options, concurrency) { + const cleanup = []; + try { + return await measure(async () => { + const sessions = await Promise.all(Array.from({ length: concurrency }, (_, slot) => + options.mode === 'session' + ? launchSession(options, slot, cleanup) + : launchBrowser(options, slot, cleanup))); + return { sessions }; + }); + } finally { + for (const releaseResource of cleanup.reverse()) { + await releaseResource().catch(() => undefined); + } + } +} + +function summarize(samples) { + const percentile = (values, ratio) => { + const sorted = [...values].sort((a, b) => a - b); + return sorted[Math.min(sorted.length - 1, Math.ceil(sorted.length * ratio) - 1)]; + }; + return { + samples, + medianDurationMs: percentile(samples.map((sample) => sample.durationMs), 0.5), + p95DurationMs: percentile(samples.map((sample) => sample.durationMs), 0.95), + medianPeakBrowserTreeRssMb: percentile(samples.map((sample) => sample.peakBrowserTreeRssMb), 0.5), + p95PeakBrowserTreeRssMb: percentile(samples.map((sample) => sample.peakBrowserTreeRssMb), 0.95), + }; +} + +const options = parseArgs(process.argv.slice(2)); +if (options.help) { + printHelp(); + process.exit(0); +} +if (!Number.isInteger(options.samples) || options.samples < 1) { + throw new Error(`Invalid sample count: ${options.samples}`); +} +if (!options.executablePath && options.driver !== 'lightpanda') { + const { Launcher } = await import('chrome-launcher'); + options.executablePath = Launcher.getInstallations()[0]; + if (!options.executablePath) { + throw new Error('No local Chrome installation found; pass --executable-path'); + } +} + +const results = {}; +for (const concurrency of options.concurrency) { + if (!Number.isInteger(concurrency) || concurrency < 1) throw new Error(`Invalid concurrency: ${concurrency}`); + const samples = []; + for (let index = 0; index < options.samples; index += 1) { + samples.push(await runGroup(options, concurrency)); + } + results[`${concurrency}Session`] = { + cold: samples[0], + warm: summarize(samples.slice(1).length > 0 ? samples.slice(1) : samples), + }; +} + +const report = { + benchmark: 'openwa-real-runtime', + recordedAt: new Date().toISOString(), + scope: options.mode === 'session' ? 'authenticated-openwa-readiness' : 'browser-navigation', + driver: options.driver, + mode: options.mode, + url: options.url, + host: { + platform: platform(), + release: release(), + arch: process.arch, + node: process.version, + cpu: cpus()[0]?.model, + cpuCount: cpus().length, + totalMemoryMb: Math.round(totalmem() / 1024 / 1024), + }, + results, +}; + +const output = `${JSON.stringify(report, null, 2)}\n`; +if (options.output) { + await mkdir(dirname(resolve(options.output)), { recursive: true }); + await writeFile(resolve(options.output), output); +} +console.log(output); diff --git a/tools/check-bun-runtime.ts b/tools/check-bun-runtime.ts new file mode 100644 index 000000000..9bbe31a96 --- /dev/null +++ b/tools/check-bun-runtime.ts @@ -0,0 +1,18 @@ +import { RuntimeCapabilities } from '../packages/runtime-core/src/index.ts'; +import { BunRuntimeLayer } from '../packages/runtime-bun/src/index.ts'; +import { Effect } from 'effect'; + +const runtime = await Effect.runPromise( + Effect.gen(function* () { + const capabilities = yield* RuntimeCapabilities; + yield* capabilities.require('filesystem'); + yield* capabilities.require('chromium-launch'); + return capabilities.runtime; + }).pipe(Effect.provide(BunRuntimeLayer)), +); + +if (runtime !== 'bun') { + throw new Error(`Expected the Bun runtime Layer, received ${runtime}`); +} + +console.log('Portable capability program passed under BunRuntimeLayer.'); diff --git a/tools/check-effect-evidence.mjs b/tools/check-effect-evidence.mjs new file mode 100644 index 000000000..90eb10b52 --- /dev/null +++ b/tools/check-effect-evidence.mjs @@ -0,0 +1,22 @@ +import { readFile } from 'node:fs/promises'; + +const report = JSON.parse(await readFile( + new URL('../architecture/benchmarks/effect-replacements.json', import.meta.url), + 'utf8', +)); +if (report.effect !== '4.0.0-beta.100') { + throw new Error(`Effect replacement evidence is stale: ${report.effect}`); +} +for (const path of [ + ['performance', 'schemaDecode', 'effect', 'operationsPerSecond'], + ['performance', 'eventFanout', 'effectPubSub', 'operationsPerSecond'], + ['bundles', 'schema', 'effectBytes'], + ['bundles', 'events', 'effectBytes'], + ['bundles', 'declaration', 'effectHttpRpcBytes'], +]) { + const value = path.reduce((current, key) => current?.[key], report); + if (!(typeof value === 'number' && value > 0)) { + throw new Error(`Missing Effect evidence: ${path.join('.')}`); + } +} +console.log('Effect replacement evidence is current and complete.'); diff --git a/tools/check-effect-pins.mjs b/tools/check-effect-pins.mjs new file mode 100644 index 000000000..6a3495dad --- /dev/null +++ b/tools/check-effect-pins.mjs @@ -0,0 +1,34 @@ +import { readFile } from 'node:fs/promises'; + +const root = new URL('..', import.meta.url).pathname; +const expected = '4.0.0-beta.100'; +const family = [ + 'effect', + '@effect/platform-node', + '@effect/platform-bun', + '@effect/platform-browser', +]; +const workspace = await readFile(`${root}/pnpm-workspace.yaml`, 'utf8'); +const lockfile = await readFile(`${root}/pnpm-lock.yaml`, 'utf8'); +const failures = []; + +for (const dependency of family) { + const escaped = dependency.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + const catalogPin = new RegExp(`['"]?${escaped}['"]?:\\s*${expected.replaceAll('.', '\\.')}(?:\\s|$)`); + if (!catalogPin.test(workspace)) { + failures.push(`${dependency} is not pinned to ${expected} in the workspace catalog`); + } + + const versionPattern = new RegExp(`${escaped.replace('/', '\\/')}@4\\.0\\.0-beta\\.(\\d+)`, 'g'); + const versions = new Set([...lockfile.matchAll(versionPattern)].map((match) => match[1])); + if (versions.size !== 1 || !versions.has('100')) { + failures.push(`${dependency} resolves to beta versions: ${[...versions].join(', ') || 'none'}`); + } +} + +if (failures.length > 0) { + console.error('Effect version contract failed:\n' + failures.join('\n')); + process.exitCode = 1; +} else { + console.log(`Effect package family is pinned to ${expected}.`); +} diff --git a/tools/check-portable-imports.mjs b/tools/check-portable-imports.mjs new file mode 100644 index 000000000..ab6698172 --- /dev/null +++ b/tools/check-portable-imports.mjs @@ -0,0 +1,82 @@ +import { readFile, readdir } from 'node:fs/promises'; +import { extname, join, relative } from 'node:path'; + +const root = new URL('..', import.meta.url).pathname; +const portableRoots = [ + 'packages/runtime-core/src', + 'packages/runtime-browser/src', + 'packages/runtime-edge/src', +]; +const forbidden = [ + [/from\s+['"]node:/, 'Node built-in import'], + [/import\s*\(\s*['"]node:/, 'dynamic Node built-in import'], + [/\b(?:process|Buffer)\s*(?:\.|\[|\()|\b(?:__dirname|__filename)\b/, 'Node global'], + [/\brequire\s*\(/, 'CommonJS require'], + [/\b(?:Bun|Deno)\s*(?:\.|\[|\()/, 'runtime-specific global'], +]; + +const sourceFiles = async (directory) => { + const entries = await readdir(directory, { withFileTypes: true }); + const files = []; + for (const entry of entries) { + const path = join(directory, entry.name); + if (entry.isDirectory()) files.push(...await sourceFiles(path)); + else if (['.ts', '.tsx', '.js', '.mjs'].includes(extname(path)) && !path.includes('.test.')) files.push(path); + } + return files; +}; + +const v5RuntimeFiles = async (directory) => { + const entries = await readdir(directory, { withFileTypes: true }); + const files = []; + for (const entry of entries) { + const path = join(directory, entry.name); + const relativePath = relative(root, path); + if (entry.isDirectory()) { + if ( + entry.name === 'node_modules' || + entry.name.startsWith('dist') || + relativePath.startsWith('packages/legacy-documented') + ) continue; + files.push(...await v5RuntimeFiles(path)); + } else if ( + ['.ts', '.tsx', '.js', '.mjs', '.cjs', '.json'].includes(extname(path)) && + !entry.name.endsWith('lock.json') + ) { + files.push(path); + } + } + return files; +}; + +const violations = []; +for (const portableRoot of portableRoots) { + for (const file of await sourceFiles(join(root, portableRoot))) { + const source = await readFile(file, 'utf8'); + source.split('\n').forEach((line, index) => { + for (const [pattern, label] of forbidden) { + if (pattern.test(line)) { + violations.push(`${relative(root, file)}:${index + 1}: ${label}: ${line.trim()}`); + } + } + }); + } +} + +for (const runtimeRoot of ['packages', 'integrations']) { + for (const file of await v5RuntimeFiles(join(root, runtimeRoot))) { + const source = await readFile(file, 'utf8'); + source.split('\n').forEach((line, index) => { + if (/\bPQueue\b|['"]p-queue['"]/.test(line)) { + violations.push(`${relative(root, file)}:${index + 1}: v5 PQueue dependency: ${line.trim()}`); + } + }); + } +} + +if (violations.length > 0) { + console.error('Portable runtime boundary violations:\n' + violations.join('\n')); + process.exitCode = 1; +} else { + console.log('Portable runtime imports are clean and v5 has no PQueue dependency.'); +} diff --git a/tsconfig.base.json b/tsconfig.base.json index 88ddc74b8..4d086c4be 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -23,6 +23,9 @@ "forceConsistentCasingInFileNames": true, "resolveJsonModule": true, "moduleResolution": "bundler", + "types": [ + "node" + ], "allowSyntheticDefaultImports": true }, "exclude": [ @@ -31,4 +34,4 @@ "build", ".turbo" ] -} \ No newline at end of file +} diff --git a/turbo.json b/turbo.json index 076284225..60940f2bb 100644 --- a/turbo.json +++ b/turbo.json @@ -43,6 +43,14 @@ "dependsOn": ["^build"], "outputs": [] }, + "@open-wa/schema#build": { + "dependsOn": ["^build"], + "outputs": ["dist/**", "src/generated/**"] + }, + "docs#build": { + "dependsOn": ["^build", "@open-wa/schema#build"], + "outputs": ["dist/**", "build/**"] + }, "registry#build": { "dependsOn": ["^build"], "outputs": []