diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fddf23b2..7c777123 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,20 +41,17 @@ jobs: node-version: 20 - run: node packages/create-dql-app/test/smoke.mjs - # --- docs build + internal link check --- + # --- docs: verify every relative markdown link under docs/ resolves --- docs: - name: docs build + link check + name: docs link check runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - uses: actions/setup-node@v4 with: node-version: 20 - cache: pnpm - - run: pnpm install --frozen-lockfile - - run: node apps/docs/scripts/link-check.mjs - - run: pnpm -F @duckcodeailabs/docs build + - name: check relative links in docs/ + run: node scripts/check-doc-links.mjs # --- dql fmt --check across the repo --- # Gates canonical .dql serialization β€” catches whitespace churn before @@ -70,7 +67,7 @@ jobs: node-version: 20 cache: pnpm - run: pnpm install --frozen-lockfile - - run: pnpm -F @duckcodeailabs/dql-cli build + - run: pnpm build - name: dql fmt --check run: | set -e @@ -85,7 +82,7 @@ jobs: done # --- 4,000-model stress test (perf gate) --- - # Gates: cold <30s, warm <2s. See docs.duckcode.ai/contribute/testing. + # Gates: cold <30s, warm <2s. See docs/contribute/testing.md. stress-test: name: stress (4k-model synthetic project) runs-on: ubuntu-latest diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml deleted file mode 100644 index 9b1dc99f..00000000 --- a/.github/workflows/deploy-docs.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: Deploy docs - -on: - push: - branches: [main] - paths: - - 'apps/docs/**' - - '.github/workflows/deploy-docs.yml' - workflow_dispatch: - -concurrency: - group: deploy-docs - cancel-in-progress: true - -jobs: - deploy: - name: Vercel production - runs-on: ubuntu-latest - if: github.repository == 'duckcode-ai/dql' - env: - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - VERCEL_PROJECT_ID: ${{ secrets.VERCEL_DOCS_PROJECT_ID }} - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - with: { version: 9 } - - uses: actions/setup-node@v4 - with: - node-version: 20 - cache: pnpm - - - name: Guard β€” secrets present - run: | - if [ -z "$VERCEL_TOKEN" ] || [ -z "$VERCEL_ORG_ID" ] || [ -z "$VERCEL_PROJECT_ID" ]; then - echo "::warning::Vercel secrets not configured; skipping deploy." - exit 0 - fi - - - run: pnpm install --frozen-lockfile - - run: pnpm -F @duckcodeailabs/docs build - - - name: Install Vercel CLI - run: pnpm add -g vercel@latest - - - name: Pull Vercel env - working-directory: apps/docs - run: vercel pull --yes --environment=production --token="$VERCEL_TOKEN" - - - name: Deploy - working-directory: apps/docs - run: | - vercel build --prod --token="$VERCEL_TOKEN" - vercel deploy --prebuilt --prod --token="$VERCEL_TOKEN" diff --git a/README.md b/README.md index edb007f5..9dcb4eda 100644 --- a/README.md +++ b/README.md @@ -24,14 +24,15 @@ Already have a **dbt project**? Run `create-dql-app` next to it β€” the scaffold ## Documentation -**πŸ“˜ [docs.duckcode.ai](https://docs.duckcode.ai)** β€” the single source of truth. +All docs live in [`docs/`](./docs/) β€” plain markdown, rendered on github.com. +Start with [docs/README.md](./docs/README.md). Quick links: -- [Install](https://docs.duckcode.ai/get-started/install) Β· [Quickstart](https://docs.duckcode.ai/get-started/quickstart) Β· [Concepts](https://docs.duckcode.ai/get-started/concepts) -- [Jaffle Shop walkthrough](https://docs.duckcode.ai/guides/jaffle-shop) Β· [Import dbt](https://docs.duckcode.ai/guides/import-dbt) Β· [Author a block](https://docs.duckcode.ai/guides/authoring-blocks) -- [CLI reference](https://docs.duckcode.ai/reference/cli) Β· [Language reference](https://docs.duckcode.ai/reference/language) Β· [Connectors](https://docs.duckcode.ai/reference/connectors) -- [Architecture](https://docs.duckcode.ai/architecture/overview) Β· [Contributing](https://docs.duckcode.ai/contribute/repo-layout) +- [Quickstart](./docs/01-quickstart.md) Β· [Concepts](./docs/02-concepts.md) Β· [Install](./docs/03-install.md) +- [Jaffle Shop walkthrough](./docs/guides/jaffle-shop.md) Β· [Import dbt](./docs/guides/import-dbt.md) Β· [Author a block](./docs/guides/authoring-blocks.md) +- [CLI reference](./docs/reference/cli.md) Β· [Language reference](./docs/reference/language.md) Β· [Connectors](./docs/reference/connectors.md) +- [Architecture](./docs/architecture/overview.md) Β· [Contributing](./docs/contribute/repo-layout.md) ## What's in the box @@ -49,7 +50,7 @@ Natural-language / agentic block generation, MCP runtime, hosted workspaces, RBA ## Contributing -See [CONTRIBUTING.md](./CONTRIBUTING.md) and the [contribute section](https://docs.duckcode.ai/contribute/repo-layout) of the docs site. Bugs and feature requests: [open an issue](https://github.com/duckcode-ai/dql/issues). +See [CONTRIBUTING.md](./CONTRIBUTING.md) and [docs/contribute/repo-layout.md](./docs/contribute/repo-layout.md). Bugs and feature requests: [open an issue](https://github.com/duckcode-ai/dql/issues). ## License diff --git a/apps/desktop/.gitignore b/apps/desktop/.gitignore index 365d6334..dd101fc2 100644 --- a/apps/desktop/.gitignore +++ b/apps/desktop/.gitignore @@ -1,2 +1,3 @@ src-tauri/target/ src-tauri/Cargo.lock +src-tauri/gen/ diff --git a/apps/desktop/README.md b/apps/desktop/README.md index 256d4800..e8ea0dd4 100644 --- a/apps/desktop/README.md +++ b/apps/desktop/README.md @@ -34,4 +34,4 @@ pnpm -F @duckcodeailabs/desktop build | Linux | `.deb`, `.AppImage`, `.rpm` | | Windows | `.msi`, `.exe` (code-signed) | -See [docs.duckcode.ai/get-started/install](https://docs.duckcode.ai/get-started/install/). +See [docs/03-install.md](../../docs/03-install.md). diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 62ac2547..d0c2dd13 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -5,9 +5,13 @@ "description": "Tauri desktop wrapper for the DQL notebook + CLI sidecar.", "scripts": { "dev": "tauri dev", - "build": "tauri build", + "build": "echo 'skipping tauri build β€” use release-desktop workflow'", + "build:tauri": "tauri build", "tauri": "tauri" }, + "dependencies": { + "@duckcodeailabs/dql-notebook-app": "workspace:*" + }, "devDependencies": { "@tauri-apps/cli": "2.1.0" } diff --git a/apps/desktop/src-tauri/tauri.conf.json b/apps/desktop/src-tauri/tauri.conf.json index 32d6acd3..1e6049eb 100644 --- a/apps/desktop/src-tauri/tauri.conf.json +++ b/apps/desktop/src-tauri/tauri.conf.json @@ -5,7 +5,7 @@ "identifier": "ai.duckcode.dql", "build": { "beforeDevCommand": "pnpm -F @duckcodeailabs/dql-notebook-app dev", - "beforeBuildCommand": "pnpm -F @duckcodeailabs/dql-notebook-app build", + "beforeBuildCommand": "", "devUrl": "http://localhost:5173", "frontendDist": "../../dql-notebook/dist" }, diff --git a/apps/docs/.gitignore b/apps/docs/.gitignore deleted file mode 100644 index dee0f607..00000000 --- a/apps/docs/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.next/ -out/ -node_modules/ -next-env.d.ts -*.log -.DS_Store diff --git a/apps/docs/README.md b/apps/docs/README.md deleted file mode 100644 index 8cf18d12..00000000 --- a/apps/docs/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# @duckcodeailabs/docs - -The DQL documentation site. Nextra + Next.js, static-exported, deployed to -`docs.duckcode.ai`. - -## Develop - -```bash -pnpm -F @duckcodeailabs/docs dev -# http://localhost:3030 -``` - -## Build - -```bash -pnpm -F @duckcodeailabs/docs build -# out/ directory ready to upload to any static host -``` - -## Internal link check - -```bash -pnpm -F @duckcodeailabs/docs link-check -``` - -Fails the build if any relative `[text](/foo/)` link doesn't resolve. - -## IA - -``` -pages/ -β”œβ”€β”€ index.mdx landing -β”œβ”€β”€ get-started/ install, quickstart, concepts -β”œβ”€β”€ guides/ task-oriented walkthroughs -β”œβ”€β”€ reference/ CLI, language, connectors, file formats -β”œβ”€β”€ architecture/ how DQL fits with dbt, plugin API, OpenLineage -└── contribute/ repo layout, testing, releasing -``` - -One topic β†’ one canonical URL. See [docs/README.md](../../docs/README.md) -for the legacy flat-file docs still shipping during migration. diff --git a/apps/docs/next.config.mjs b/apps/docs/next.config.mjs deleted file mode 100644 index 5c962bd9..00000000 --- a/apps/docs/next.config.mjs +++ /dev/null @@ -1,15 +0,0 @@ -import nextra from 'nextra'; - -const withNextra = nextra({ - theme: 'nextra-theme-docs', - themeConfig: './theme.config.tsx', - defaultShowCopyCode: true, -}); - -export default withNextra({ - reactStrictMode: true, - // Docs ship as a static export; Vercel picks up the `out/` directory. - output: 'export', - images: { unoptimized: true }, - trailingSlash: true, -}); diff --git a/apps/docs/package.json b/apps/docs/package.json deleted file mode 100644 index 7d47854b..00000000 --- a/apps/docs/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "@duckcodeailabs/docs", - "version": "0.11.0", - "private": true, - "description": "DQL documentation site (Nextra).", - "scripts": { - "dev": "next dev -p 3030", - "build": "next build", - "start": "next start -p 3030", - "link-check": "node scripts/link-check.mjs" - }, - "dependencies": { - "next": "14.2.5", - "nextra": "2.13.4", - "nextra-theme-docs": "2.13.4", - "react": "18.3.1", - "react-dom": "18.3.1" - }, - "devDependencies": { - "@types/node": "20.14.10", - "@types/react": "18.3.3", - "typescript": "5.5.3" - } -} diff --git a/apps/docs/pages/_meta.json b/apps/docs/pages/_meta.json deleted file mode 100644 index 43e712ac..00000000 --- a/apps/docs/pages/_meta.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "index": { - "title": "DQL", - "type": "page", - "display": "hidden", - "theme": { "layout": "raw" } - }, - "get-started": "Get Started", - "guides": "Guides", - "reference": "Reference", - "architecture": "Architecture", - "contribute": "Contribute" -} diff --git a/apps/docs/pages/architecture/_meta.json b/apps/docs/pages/architecture/_meta.json deleted file mode 100644 index bfe0d680..00000000 --- a/apps/docs/pages/architecture/_meta.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "overview": "Overview", - "dbt-integration": "How DQL fits with dbt", - "lineage-model": "Lineage model", - "plugin-api": "Plugin API", - "openlineage": "OpenLineage export" -} diff --git a/apps/docs/pages/contribute/_meta.json b/apps/docs/pages/contribute/_meta.json deleted file mode 100644 index 57821887..00000000 --- a/apps/docs/pages/contribute/_meta.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "repo-layout": "Repo layout & build", - "testing": "Testing", - "releasing": "Release process" -} diff --git a/apps/docs/pages/get-started/_meta.json b/apps/docs/pages/get-started/_meta.json deleted file mode 100644 index 2bead6d2..00000000 --- a/apps/docs/pages/get-started/_meta.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "install": "Install", - "quickstart": "Quickstart", - "concepts": "Concepts" -} diff --git a/apps/docs/pages/guides/_meta.json b/apps/docs/pages/guides/_meta.json deleted file mode 100644 index 5c07dea9..00000000 --- a/apps/docs/pages/guides/_meta.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "connect-warehouse": "Connect a warehouse", - "import-dbt": "Import a dbt project", - "authoring-blocks": "Author a certified block", - "dashboards": "Build a dashboard", - "versioning": "Version & diff notebooks", - "jaffle-shop": "Jaffle Shop walkthrough", - "migrate": "Migrate from Metabase / Looker / Hex", - "faq": "FAQ" -} diff --git a/apps/docs/pages/guides/index.mdx b/apps/docs/pages/guides/index.mdx deleted file mode 100644 index b0c779cd..00000000 --- a/apps/docs/pages/guides/index.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Guides -description: Task-oriented walkthroughs. Each ends with working code. ---- - -# Guides - -Task-first, copy-runnable, with a concrete "verify it worked" step at the -end. If a guide doesn't work verbatim on a clean machine, it's a bug. - -## Start here - -- [Connect a warehouse](/guides/connect-warehouse/) β€” Postgres, DuckDB, Snowflake, BigQuery, Redshift, and more -- [Import a dbt project](/guides/import-dbt/) β€” bring your `manifest.json` -- [Jaffle Shop walkthrough](/guides/jaffle-shop/) β€” the end-to-end reference tour - -## Author & ship - -- [Author a certified block](/guides/authoring-blocks/) β€” governance form, lint, promote -- [Build a dashboard](/guides/dashboards/) β€” compile notebooks to static HTML -- [Version & diff notebooks](/guides/versioning/) β€” canonical `.dql`, `dql diff`, in-app git panel - -## Migrate - -- [Migrate from Metabase / Looker / Hex](/guides/migrate/) diff --git a/apps/docs/pages/index.mdx b/apps/docs/pages/index.mdx deleted file mode 100644 index ffc35d86..00000000 --- a/apps/docs/pages/index.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: DQL β€” Analytics notebooks on your dbt models ---- - -import { Callout } from 'nextra/components'; - -# Analytics notebooks on your dbt models - -**Git-native. Local-first. Open source.** - -DQL sits between dbt (modeling) and your BI tool (reporting). You get -notebooks, certified blocks, a lineage DAG, and dashboards β€” all backed by -plain `.dql` files in git. - -```bash -npx create-dql-app my-project -cd my-project && npx @duckcodeailabs/dql-cli notebook -``` - - - **Demo gate:** from a clean machine to a Jaffle Shop dashboard in under five - minutes. If it takes longer, it's a bug β€” [open an - issue](https://github.com/duckcode-ai/dql/issues/new). - - -## Pick your path - -| You are… | Start here | -| --- | --- | -| **A dbt user** evaluating DQL | [Quickstart β†’](/get-started/quickstart/) | -| **Looking at an example** | [Jaffle Shop walkthrough β†’](/guides/jaffle-shop/) | -| **Integrating DQL** (connectors, charts, rules) | [Plugin API β†’](/architecture/plugin-api/) | -| **Contributing** | [Repo layout β†’](/contribute/repo-layout/) | - -## What you get - -- **Notebook** β€” SQL + DQL cells with live results, charts, and params -- **Block Studio** β€” governed, versioned analytics blocks with lint + certify -- **Semantic layer** β€” import dbt metrics/dimensions; author your own -- **Lineage DAG** β€” table Β· block Β· notebook granularity with impact analysis -- **Git-native format** β€” canonical `.dql` serialization, `dql diff`, in-app git panel -- **15 connectors** β€” Postgres, DuckDB, Snowflake, BigQuery, Redshift, MySQL, and more diff --git a/apps/docs/pages/reference/_meta.json b/apps/docs/pages/reference/_meta.json deleted file mode 100644 index f01c44c4..00000000 --- a/apps/docs/pages/reference/_meta.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "cli": "CLI", - "language": "DQL language", - "connectors": "Connectors", - "semantic-layer": "Semantic layer", - "file-formats": "File formats", - "project-layout": "Project layout", - "compatibility": "Compatibility" -} diff --git a/apps/docs/scripts/link-check.mjs b/apps/docs/scripts/link-check.mjs deleted file mode 100755 index 3bfa6d71..00000000 --- a/apps/docs/scripts/link-check.mjs +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env node -// Simple internal-link checker. Scans every .mdx under pages/ for markdown -// links like [text](/path/) and verifies each target resolves to an mdx -// file or directory with an index.mdx. Run in CI to catch rot. -import { readFileSync, readdirSync, statSync, existsSync } from 'node:fs'; -import { join, resolve, dirname } from 'node:path'; -import { fileURLToPath } from 'node:url'; - -const __dirname = dirname(fileURLToPath(import.meta.url)); -const PAGES = resolve(__dirname, '..', 'pages'); - -function walk(dir) { - const out = []; - for (const entry of readdirSync(dir)) { - const p = join(dir, entry); - const st = statSync(p); - if (st.isDirectory()) out.push(...walk(p)); - else if (entry.endsWith('.mdx') || entry.endsWith('.md')) out.push(p); - } - return out; -} - -function resolveTarget(target) { - // strip trailing slash + #anchor - const clean = target.replace(/#.*$/, '').replace(/\/$/, ''); - if (!clean) return true; // pure anchor - const base = join(PAGES, clean); - if (existsSync(`${base}.mdx`)) return true; - if (existsSync(`${base}.md`)) return true; - if (existsSync(`${base}/index.mdx`)) return true; - if (existsSync(`${base}/index.md`)) return true; - return false; -} - -const files = walk(PAGES); -const errors = []; -const linkRe = /\[[^\]]+\]\((\/[^)]+)\)/g; - -for (const f of files) { - const content = readFileSync(f, 'utf-8'); - for (const match of content.matchAll(linkRe)) { - const href = match[1]; - if (href.startsWith('http')) continue; - if (!resolveTarget(href)) { - errors.push(`${f.replace(PAGES, 'pages')}: broken link ${href}`); - } - } -} - -if (errors.length) { - console.error(`\n${errors.length} broken internal link(s):\n`); - for (const e of errors) console.error(' ' + e); - process.exit(1); -} -console.log(`βœ“ ${files.length} pages checked, 0 broken internal links`); diff --git a/apps/docs/theme.config.tsx b/apps/docs/theme.config.tsx deleted file mode 100644 index 79d00402..00000000 --- a/apps/docs/theme.config.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import React from 'react'; -import type { DocsThemeConfig } from 'nextra-theme-docs'; - -const config: DocsThemeConfig = { - logo: ( - - DQL docs - - ), - project: { - link: 'https://github.com/duckcode-ai/dql', - }, - docsRepositoryBase: 'https://github.com/duckcode-ai/dql/tree/main/apps/docs', - footer: { - text: ( - - MIT Β© {new Date().getFullYear()} DuckCode AI Labs β€” analytics notebooks on your dbt models. - - ), - }, - sidebar: { - defaultMenuCollapseLevel: 1, - toggleButton: true, - }, - toc: { - backToTop: true, - }, - darkMode: true, - nextThemes: { - defaultTheme: 'dark', - }, - head: ( - <> - - - - - ), - useNextSeoProps() { - return { titleTemplate: '%s – DQL' }; - }, -}; - -export default config; diff --git a/apps/docs/tsconfig.json b/apps/docs/tsconfig.json deleted file mode 100644 index 9832d3cb..00000000 --- a/apps/docs/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2022", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "bundler", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true - }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], - "exclude": ["node_modules", "out", ".next"] -} diff --git a/apps/docs/vercel.json b/apps/docs/vercel.json deleted file mode 100644 index 1ae6ece2..00000000 --- a/apps/docs/vercel.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "https://openapi.vercel.sh/vercel.json", - "buildCommand": "pnpm -F @duckcodeailabs/docs build", - "outputDirectory": "out", - "installCommand": "pnpm install --frozen-lockfile", - "framework": null, - "cleanUrls": true, - "trailingSlash": false, - "headers": [ - { - "source": "/(.*)", - "headers": [ - { "key": "X-Content-Type-Options", "value": "nosniff" }, - { "key": "Referrer-Policy", "value": "strict-origin-when-cross-origin" } - ] - } - ] -} diff --git a/apps/docs/pages/get-started/quickstart.mdx b/docs/01-quickstart.md similarity index 75% rename from apps/docs/pages/get-started/quickstart.mdx rename to docs/01-quickstart.md index f8351d00..3b4f3ce9 100644 --- a/apps/docs/pages/get-started/quickstart.mdx +++ b/docs/01-quickstart.md @@ -1,10 +1,3 @@ ---- -title: Quickstart -description: From zero to a Jaffle Shop dashboard in under five minutes. ---- - -import { Callout, Steps } from 'nextra/components'; - # Quickstart > ~5 minutes Β· end with a working dashboard on the Jaffle Shop dataset @@ -13,8 +6,6 @@ This is the demo gate for DQL. If anything below takes longer than expected or doesn't work verbatim, [open an issue](https://github.com/duckcode-ai/dql/issues/new) β€” we treat the quickstart as a contract. - - ### Scaffold a project with Jaffle Shop seed data ```bash @@ -24,7 +15,7 @@ cd jaffle-demo No global install required β€” `create-dql-app` scaffolds the project, `npx @duckcodeailabs/dql-cli` runs the notebook. See -[Install](/get-started/install/) if you prefer a global `dql` binary. +[Install](03-install.md) if you prefer a global `dql` binary. You now have a DQL project wired to a DuckDB-backed Jaffle Shop β€” the same demo dataset dbt ships. No external warehouse needed. @@ -57,7 +48,6 @@ dql compile dashboards/overview.dql --out build/ Open `build/overview.html` β€” a fully static HTML dashboard, zero runtime dependencies, ready to drop on any web host. - ## Verify it worked @@ -69,6 +59,6 @@ You should have: ## Where to go next -- [Concepts](/get-started/concepts/) β€” the five words to understand DQL -- [Connect your own warehouse](/guides/connect-warehouse/) β€” swap DuckDB for Postgres/Snowflake/BigQuery -- [Import your dbt project](/guides/import-dbt/) β€” bring your existing manifest +- [Concepts](02-concepts.md) β€” the five words to understand DQL +- [Connect your own warehouse](guides/connect-warehouse.md) β€” swap DuckDB for Postgres/Snowflake/BigQuery +- [Import your dbt project](guides/import-dbt.md) β€” bring your existing manifest diff --git a/apps/docs/pages/get-started/concepts.mdx b/docs/02-concepts.md similarity index 93% rename from apps/docs/pages/get-started/concepts.mdx rename to docs/02-concepts.md index 84f94f89..6e9dd4f7 100644 --- a/apps/docs/pages/get-started/concepts.mdx +++ b/docs/02-concepts.md @@ -1,8 +1,3 @@ ---- -title: Concepts -description: The five words to understand DQL. ---- - # Concepts > ~4 minutes Β· the mental model behind every feature @@ -20,7 +15,7 @@ A `.dql` file containing an ordered list of cells. Cells can be: - **Param** β€” text/select/date/number inputs wired into downstream cells Notebooks live in git. Results never do (they go in a sibling -`.run.json` that's git-ignored by default β€” see [Run Snapshots](/reference/file-formats/#run-snapshots)). +`.run.json` that's git-ignored by default β€” see [Run Snapshots](./reference/file-formats.md#run-snapshots)). ## 2. Block @@ -88,4 +83,4 @@ warehouse β”€β”€β”€β”˜ β”‚ lineage DAG ``` -With that mental model loaded, [the guides](/guides/) all make sense. +With that mental model loaded, [the guides](guides/README.md) all make sense. diff --git a/apps/docs/pages/get-started/install.mdx b/docs/03-install.md similarity index 90% rename from apps/docs/pages/get-started/install.mdx rename to docs/03-install.md index d6773e9b..630f301f 100644 --- a/apps/docs/pages/get-started/install.mdx +++ b/docs/03-install.md @@ -1,8 +1,3 @@ ---- -title: Install -description: Install the DQL CLI β€” npm, homebrew, or prebuilt binary. ---- - # Install > ~2 minutes Β· requires Node 20+ or a prebuilt binary @@ -45,7 +40,7 @@ dql --version # DQL 0.11.0 or later ``` -If you see the version number, you're ready for the [Quickstart β†’](/get-started/quickstart/). +If you see the version number, you're ready for the [Quickstart β†’](01-quickstart.md). ## Troubleshooting diff --git a/docs/README.md b/docs/README.md index 6e226d39..21eb337c 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,17 +1,56 @@ -# docs/ +# DQL Documentation -**User-facing documentation lives at [docs.duckcode.ai](https://docs.duckcode.ai)** -(source in [`apps/docs/`](../apps/docs/)). +Everything needed to use, extend, and contribute to DQL. Plain markdown β€” +reads on github.com, in your editor, or in a terminal. -This folder only holds internal maintainer notes that don't belong on the -public site: +## New here? Read in order -- [`oss-readiness-checklist.md`](./oss-readiness-checklist.md) β€” pre-release - OSS readiness checklist +1. [Quickstart](./01-quickstart.md) β€” Jaffle Shop dashboard in under 5 minutes +2. [Concepts](./02-concepts.md) β€” the five primitives (notebook, block, semantic layer, lineage, dashboard) +3. [Install](./03-install.md) β€” npm, Homebrew, or prebuilt binary -Everything else β€” quickstart, guides, reference, architecture, contributing β€” -is in Nextra at `apps/docs/pages/`. To preview the site locally: +## Guides -```bash -cd apps/docs && pnpm dev -``` +Task-oriented walkthroughs. + +- [Jaffle Shop end-to-end](./guides/jaffle-shop.md) +- [Connect your warehouse](./guides/connect-warehouse.md) +- [Import a dbt project](./guides/import-dbt.md) +- [Author a certified block](./guides/authoring-blocks.md) +- [Build a dashboard](./guides/dashboards.md) +- [Versioning & git workflow](./guides/versioning.md) +- [Migrate from Looker / Metabase](./guides/migrate.md) +- [FAQ](./guides/faq.md) + +## Reference + +Look-it-up material. + +- [CLI](./reference/cli.md) +- [Language](./reference/language.md) +- [Connectors](./reference/connectors.md) +- [Semantic layer](./reference/semantic-layer.md) +- [File formats](./reference/file-formats.md) +- [Project layout](./reference/project-layout.md) +- [Compatibility](./reference/compatibility.md) + +## Architecture + +How DQL is built. + +- [Overview](./architecture/overview.md) +- [dbt integration](./architecture/dbt-integration.md) +- [Lineage model](./architecture/lineage-model.md) +- [Plugin API](./architecture/plugin-api.md) +- [OpenLineage](./architecture/openlineage.md) + +## Contributing + +- [Repo layout](./contribute/repo-layout.md) +- [Testing](./contribute/testing.md) +- [Releasing](./contribute/releasing.md) +- [OSS readiness checklist](./oss-readiness-checklist.md) + +--- + +Bug or feature request? [Open an issue](https://github.com/duckcode-ai/dql/issues). diff --git a/apps/docs/pages/architecture/dbt-integration.mdx b/docs/architecture/dbt-integration.md similarity index 93% rename from apps/docs/pages/architecture/dbt-integration.mdx rename to docs/architecture/dbt-integration.md index de836788..e90836af 100644 --- a/apps/docs/pages/architecture/dbt-integration.mdx +++ b/docs/architecture/dbt-integration.md @@ -1,8 +1,3 @@ ---- -title: How DQL fits with dbt -description: DQL is a reporting + governance layer on top of dbt, not a replacement. ---- - # How DQL fits with dbt dbt is the **modeling** tool. DQL is the **reporting + governance** layer. diff --git a/apps/docs/pages/architecture/lineage-model.mdx b/docs/architecture/lineage-model.md similarity index 95% rename from apps/docs/pages/architecture/lineage-model.mdx rename to docs/architecture/lineage-model.md index 0b07083d..93883762 100644 --- a/apps/docs/pages/architecture/lineage-model.mdx +++ b/docs/architecture/lineage-model.md @@ -1,8 +1,3 @@ ---- -title: Lineage model -description: Nodes, edges, and the AST-backed extraction. ---- - # Lineage model DQL's lineage graph answers three questions: diff --git a/apps/docs/pages/architecture/openlineage.mdx b/docs/architecture/openlineage.md similarity index 93% rename from apps/docs/pages/architecture/openlineage.mdx rename to docs/architecture/openlineage.md index 81ae278d..082d9389 100644 --- a/apps/docs/pages/architecture/openlineage.mdx +++ b/docs/architecture/openlineage.md @@ -1,8 +1,3 @@ ---- -title: OpenLineage export -description: Emit OpenLineage events for DataHub, Atlan, and Monte Carlo. ---- - # OpenLineage export DQL emits [OpenLineage](https://openlineage.io) events from block and diff --git a/apps/docs/pages/architecture/overview.mdx b/docs/architecture/overview.md similarity index 94% rename from apps/docs/pages/architecture/overview.mdx rename to docs/architecture/overview.md index 3ee290dc..6985959c 100644 --- a/apps/docs/pages/architecture/overview.mdx +++ b/docs/architecture/overview.md @@ -1,8 +1,3 @@ ---- -title: Architecture overview -description: Packages, apps, and data flow at a glance. ---- - # Architecture overview DQL is a pnpm + Turbo monorepo. The runtime is a small set of focused @@ -29,7 +24,7 @@ packages; the two user-facing surfaces are the CLI and the notebook. | `@duckcodeailabs/dql-cli` | Single `dql` binary β€” `init / compile / notebook / diff / …` | | `dql-notebook` | Vite + React 18 browser-first notebook | | `vscode-extension` | `.dql` syntax, validation, preview in VS Code | -| `docs` | This site (Nextra) | +| `docs` | Plain-markdown docs (this folder) | ## Data flow diff --git a/apps/docs/pages/architecture/plugin-api.mdx b/docs/architecture/plugin-api.md similarity index 82% rename from apps/docs/pages/architecture/plugin-api.mdx rename to docs/architecture/plugin-api.md index 2dae1b03..d0bcc210 100644 --- a/apps/docs/pages/architecture/plugin-api.mdx +++ b/docs/architecture/plugin-api.md @@ -1,8 +1,3 @@ ---- -title: Plugin API -description: Custom connectors, chart types, and governance rule packs. ---- - # Plugin API > Status: **stable in v1.0** @@ -15,8 +10,6 @@ exports a well-typed entry. No build step hooks, no runtime monkey-patching. Implement `Connector` from `@duckcodeailabs/dql-connectors`: ```ts -import type { Connector } from '@duckcodeailabs/dql-connectors'; - export const myConnector: Connector = { id: 'my-driver', async connect(config) { /* … */ }, @@ -39,8 +32,6 @@ plugins: Implement `ChartRenderer` from `@duckcodeailabs/dql-charts`: ```ts -import type { ChartRenderer } from '@duckcodeailabs/dql-charts'; - export const sankey: ChartRenderer = { id: 'sankey', schema: { /* JSON schema for config */ }, @@ -53,8 +44,6 @@ export const sankey: ChartRenderer = { Implement `RulePack` from `@duckcodeailabs/dql-governance`: ```ts -import type { RulePack } from '@duckcodeailabs/dql-governance'; - export const hipaaPack: RulePack = { id: 'hipaa', rules: [ diff --git a/apps/docs/pages/contribute/releasing.mdx b/docs/contribute/releasing.md similarity index 92% rename from apps/docs/pages/contribute/releasing.mdx rename to docs/contribute/releasing.md index 15723168..380a2812 100644 --- a/apps/docs/pages/contribute/releasing.mdx +++ b/docs/contribute/releasing.md @@ -1,8 +1,3 @@ ---- -title: Release process -description: How we cut a DQL release. ---- - # Release process DQL uses a **single version across all publishable packages**. Dev @@ -51,4 +46,4 @@ gh release create v0.12.0 --title "v0.12.0" --notes-from-tag | CLI Homebrew tap | `github.com/duckcode-ai/homebrew-dql` | | VS Code extension | Marketplace | | Desktop notebook binaries | GitHub release assets (macOS/Linux/Windows) | -| Docs site | `docs.duckcode.ai` (auto-deploys on merge to `main`) | +| Docs | `docs/` in this repo (rendered on github.com) | diff --git a/apps/docs/pages/contribute/repo-layout.mdx b/docs/contribute/repo-layout.md similarity index 91% rename from apps/docs/pages/contribute/repo-layout.mdx rename to docs/contribute/repo-layout.md index 8bb5b8ac..0fb72110 100644 --- a/apps/docs/pages/contribute/repo-layout.mdx +++ b/docs/contribute/repo-layout.md @@ -1,8 +1,3 @@ ---- -title: Repo layout & build -description: Clone, install, build, test β€” in under 2 minutes. ---- - # Repo layout & build > ~2 minutes Β· ends with a local dev loop @@ -25,7 +20,7 @@ dql/ β”‚ β”œβ”€β”€ cli/ # dql CLI entry β”‚ β”œβ”€β”€ dql-notebook/ # Vite + React notebook β”‚ β”œβ”€β”€ vscode-extension/ # VS Code extension -β”‚ └── docs/ # This site (Nextra) +β”‚ └── docs/ # Plain-markdown docs (this folder) β”œβ”€β”€ packages/ β”‚ β”œβ”€β”€ dql-core/ # parser + AST + semantic + lineage β”‚ β”œβ”€β”€ dql-compiler/ # IR + emitters diff --git a/apps/docs/pages/contribute/testing.mdx b/docs/contribute/testing.md similarity index 94% rename from apps/docs/pages/contribute/testing.mdx rename to docs/contribute/testing.md index 6d1ad021..3dbf7264 100644 --- a/apps/docs/pages/contribute/testing.mdx +++ b/docs/contribute/testing.md @@ -1,8 +1,3 @@ ---- -title: Testing -description: Unit, golden-file, E2E, and stress tests. ---- - # Testing ```bash diff --git a/docs/guides/README.md b/docs/guides/README.md new file mode 100644 index 00000000..07bb066d --- /dev/null +++ b/docs/guides/README.md @@ -0,0 +1,20 @@ +# Guides + +Task-first, copy-runnable, with a concrete "verify it worked" step at the +end. If a guide doesn't work verbatim on a clean machine, it's a bug. + +## Start here + +- [Connect a warehouse](connect-warehouse.md) β€” Postgres, DuckDB, Snowflake, BigQuery, Redshift, and more +- [Import a dbt project](import-dbt.md) β€” bring your `manifest.json` +- [Jaffle Shop walkthrough](jaffle-shop.md) β€” the end-to-end reference tour + +## Author & ship + +- [Author a certified block](authoring-blocks.md) β€” governance form, lint, promote +- [Build a dashboard](dashboards.md) β€” compile notebooks to static HTML +- [Version & diff notebooks](versioning.md) β€” canonical `.dql`, `dql diff`, in-app git panel + +## Migrate + +- [Migrate from Metabase / Looker / Hex](migrate.md) diff --git a/apps/docs/pages/guides/authoring-blocks.mdx b/docs/guides/authoring-blocks.md similarity index 94% rename from apps/docs/pages/guides/authoring-blocks.mdx rename to docs/guides/authoring-blocks.md index baa51ef6..03f2d02f 100644 --- a/apps/docs/pages/guides/authoring-blocks.mdx +++ b/docs/guides/authoring-blocks.md @@ -1,8 +1,3 @@ ---- -title: Author a certified block -description: Build, lint, and promote a governed analytics block in Block Studio. ---- - # Author a certified block > ~6 minutes Β· ends with a certified block linked from a notebook diff --git a/apps/docs/pages/guides/connect-warehouse.mdx b/docs/guides/connect-warehouse.md similarity index 88% rename from apps/docs/pages/guides/connect-warehouse.mdx rename to docs/guides/connect-warehouse.md index ebfa5d26..0a65a9b9 100644 --- a/apps/docs/pages/guides/connect-warehouse.mdx +++ b/docs/guides/connect-warehouse.md @@ -1,8 +1,3 @@ ---- -title: Connect a warehouse -description: Point DQL at Postgres, DuckDB, Snowflake, BigQuery, Redshift, or any of the 15 supported warehouses. ---- - # Connect a warehouse > ~3 minutes Β· ends with a successful `dql test-connection` @@ -28,7 +23,7 @@ connections: schema: public ``` -Per-driver options live in the [Connector reference](/reference/connectors/). +Per-driver options live in the [Connector reference](../reference/connectors.md). ## 2. Export credentials diff --git a/apps/docs/pages/guides/dashboards.mdx b/docs/guides/dashboards.md similarity index 91% rename from apps/docs/pages/guides/dashboards.mdx rename to docs/guides/dashboards.md index 27b84647..f8aadca6 100644 --- a/apps/docs/pages/guides/dashboards.mdx +++ b/docs/guides/dashboards.md @@ -1,8 +1,3 @@ ---- -title: Build a dashboard -description: Compile a notebook into a static HTML dashboard with zero runtime dependencies. ---- - # Build a dashboard > ~3 minutes Β· ends with an HTML file you can host anywhere diff --git a/apps/docs/pages/guides/faq.mdx b/docs/guides/faq.md similarity index 88% rename from apps/docs/pages/guides/faq.mdx rename to docs/guides/faq.md index 85b48d45..bf7b1d35 100644 --- a/apps/docs/pages/guides/faq.mdx +++ b/docs/guides/faq.md @@ -1,15 +1,10 @@ ---- -title: FAQ -description: Frequently asked questions about DQL. ---- - # FAQ ## What is DQL? An open-source analytics language, CLI, and notebook. Every analytics answer β€” SQL, chart config, owner, tests, parameters β€” lives in a single `.dql` -file in git. See [Concepts](/get-started/concepts). +file in git. See [Concepts](../02-concepts.md). ## Do I need a cloud warehouse to try it? @@ -20,7 +15,7 @@ query it immediately. No credentials, no configuration. No. DQL works standalone. But if you already use dbt, `create-dql-app` auto-detects a sibling dbt project and `dql sync dbt` imports your manifest, -metrics, and lineage. See [Import a dbt project](/guides/import-dbt). +metrics, and lineage. See [Import a dbt project](./import-dbt.md). ## How is this different from a Jupyter notebook? @@ -36,7 +31,7 @@ metrics, and lineage. See [Import a dbt project](/guides/import-dbt). Those are BI tools β€” queries live in a database or cloud service. DQL keeps every artifact in git. You get code review, diff, branching, and blame on -your analytics. See [Migrate from Metabase / Looker / Hex](/guides/migrate). +your analytics. See [Migrate from Metabase / Looker / Hex](./migrate.md). ## What's the difference between `custom` and `semantic` blocks? @@ -62,7 +57,7 @@ configured, `dql test` falls back to structural checks only. ## What's **not** in the open-source repo? Hosted workspaces, column-level lineage, scheduled runs, alerting, regulatory -governance packs, and AI/agentic block generation. See [Compatibility](/reference/compatibility). +governance packs, and AI/agentic block generation. See [Compatibility](../reference/compatibility.md). ## Where do I report bugs or request features? diff --git a/apps/docs/pages/guides/import-dbt.mdx b/docs/guides/import-dbt.md similarity index 94% rename from apps/docs/pages/guides/import-dbt.mdx rename to docs/guides/import-dbt.md index 3badf236..e514149e 100644 --- a/apps/docs/pages/guides/import-dbt.mdx +++ b/docs/guides/import-dbt.md @@ -1,8 +1,3 @@ ---- -title: Import a dbt project -description: Bring your dbt manifest.json into DQL β€” incremental, selective, cacheable. ---- - # Import a dbt project > ~4 minutes Β· ends with dbt models visible in the sidebar diff --git a/apps/docs/pages/guides/jaffle-shop.mdx b/docs/guides/jaffle-shop.md similarity index 81% rename from apps/docs/pages/guides/jaffle-shop.mdx rename to docs/guides/jaffle-shop.md index 3db05706..4381496d 100644 --- a/apps/docs/pages/guides/jaffle-shop.mdx +++ b/docs/guides/jaffle-shop.md @@ -1,13 +1,8 @@ ---- -title: Jaffle Shop walkthrough -description: End-to-end reference tour of DQL on the dbt Jaffle Shop dataset. ---- - # Jaffle Shop walkthrough > ~12 minutes Β· end-to-end tour covering every DQL feature -The [Quickstart](/get-started/quickstart/) got you to a compiled dashboard in +The [Quickstart](../01-quickstart.md) got you to a compiled dashboard in five minutes. This walkthrough goes slower and hits every surface: dbt import, notebook authoring, block certification, lineage, dashboards, git versioning. diff --git a/apps/docs/pages/guides/migrate.mdx b/docs/guides/migrate.md similarity index 91% rename from apps/docs/pages/guides/migrate.mdx rename to docs/guides/migrate.md index ba4875cc..d9fd3059 100644 --- a/apps/docs/pages/guides/migrate.mdx +++ b/docs/guides/migrate.md @@ -1,8 +1,3 @@ ---- -title: Migrate from Metabase / Looker / Hex -description: Bring existing analytics assets into DQL. ---- - # Migrate from Metabase / Looker / Hex > ~varies by source Β· scaffold first, refine by hand diff --git a/apps/docs/pages/guides/versioning.mdx b/docs/guides/versioning.md similarity index 94% rename from apps/docs/pages/guides/versioning.mdx rename to docs/guides/versioning.md index 8770464e..990582c3 100644 --- a/apps/docs/pages/guides/versioning.mdx +++ b/docs/guides/versioning.md @@ -1,8 +1,3 @@ ---- -title: Version & diff notebooks -description: Canonical .dql serialization, semantic diff, and the in-app git panel. ---- - # Version & diff notebooks > ~4 minutes Β· ends with a clean PR-ready diff diff --git a/apps/docs/pages/reference/cli.mdx b/docs/reference/cli.md similarity index 88% rename from apps/docs/pages/reference/cli.mdx rename to docs/reference/cli.md index 340f3048..4fbeb356 100644 --- a/apps/docs/pages/reference/cli.mdx +++ b/docs/reference/cli.md @@ -1,17 +1,8 @@ ---- -title: CLI reference -description: Every dql subcommand and flag. ---- - -import { Callout } from 'nextra/components'; - # CLI reference - - This page mirrors `dql --help`. The source of truth is - [`apps/cli/src/index.ts`](https://github.com/duckcode-ai/dql/blob/main/apps/cli/src/index.ts); - a CI job fails the build if this page drifts. - +> **Note:** This page mirrors `dql --help`. The source of truth is +> [`apps/cli/src/index.ts`](https://github.com/duckcode-ai/dql/blob/main/apps/cli/src/index.ts); +> a CI job fails the build if this page drifts. ```bash dql --help diff --git a/apps/docs/pages/reference/compatibility.mdx b/docs/reference/compatibility.md similarity index 89% rename from apps/docs/pages/reference/compatibility.mdx rename to docs/reference/compatibility.md index 323aa923..42897d30 100644 --- a/apps/docs/pages/reference/compatibility.mdx +++ b/docs/reference/compatibility.md @@ -1,8 +1,3 @@ ---- -title: Compatibility -description: Runtime, platform, and scope support matrix for OSS DQL. ---- - # Compatibility ## Runtime @@ -14,7 +9,7 @@ description: Runtime, platform, and scope support matrix for OSS DQL. ## Connectors All 15 drivers ship in `@duckcodeailabs/dql-connectors`. For first-run local -exploration, start with `duckdb` or `file`. See [Connectors](/reference/connectors). +exploration, start with `duckdb` or `file`. See [Connectors](./connectors.md). ## Chart types diff --git a/apps/docs/pages/reference/connectors.mdx b/docs/reference/connectors.md similarity index 95% rename from apps/docs/pages/reference/connectors.mdx rename to docs/reference/connectors.md index 03cafcdf..166e11c6 100644 --- a/apps/docs/pages/reference/connectors.mdx +++ b/docs/reference/connectors.md @@ -1,8 +1,3 @@ ---- -title: Connectors -description: 15 warehouse drivers, per-driver options. ---- - # Connectors DQL ships 15 drivers out of the box. Each supports **query execution** and diff --git a/apps/docs/pages/reference/file-formats.mdx b/docs/reference/file-formats.md similarity index 97% rename from apps/docs/pages/reference/file-formats.mdx rename to docs/reference/file-formats.md index 9b267e9a..af06c65d 100644 --- a/apps/docs/pages/reference/file-formats.mdx +++ b/docs/reference/file-formats.md @@ -1,8 +1,3 @@ ---- -title: File formats -description: .dql, .dqlnb, .run.json, and dql.config.json. ---- - # File formats ## `.dql` β€” the core format diff --git a/apps/docs/pages/reference/language.mdx b/docs/reference/language.md similarity index 95% rename from apps/docs/pages/reference/language.mdx rename to docs/reference/language.md index 8340d32f..25c464a9 100644 --- a/apps/docs/pages/reference/language.mdx +++ b/docs/reference/language.md @@ -1,8 +1,3 @@ ---- -title: DQL language -description: Syntax, blocks, cells, references. ---- - # DQL language The source of truth for the language lives in diff --git a/apps/docs/pages/reference/project-layout.mdx b/docs/reference/project-layout.md similarity index 96% rename from apps/docs/pages/reference/project-layout.mdx rename to docs/reference/project-layout.md index fff83a64..a7e2fa5c 100644 --- a/apps/docs/pages/reference/project-layout.mdx +++ b/docs/reference/project-layout.md @@ -1,8 +1,3 @@ ---- -title: Project layout -description: Directory conventions for a DQL project. ---- - # Project layout A DQL project is a git repo with a few conventional directories. Everything diff --git a/apps/docs/pages/reference/semantic-layer.mdx b/docs/reference/semantic-layer.md similarity index 90% rename from apps/docs/pages/reference/semantic-layer.mdx rename to docs/reference/semantic-layer.md index 267b1bdb..11185e5d 100644 --- a/apps/docs/pages/reference/semantic-layer.mdx +++ b/docs/reference/semantic-layer.md @@ -1,8 +1,3 @@ ---- -title: Semantic layer -description: Metrics, dimensions, hierarchies, cubes β€” imported from dbt or authored locally. ---- - # Semantic layer The semantic layer is DQL's shared business vocabulary. It's a **superset** @@ -51,7 +46,7 @@ hierarchies: ## dbt import DQL reads `target/manifest.json` directly β€” see -[Import a dbt project](/guides/import-dbt/). Imported metrics and +[Import a dbt project](../guides/import-dbt.md). Imported metrics and dimensions appear in the **Semantic** panel alongside DQL-local ones. ## CLI diff --git a/examples/gallery/README.md b/examples/gallery/README.md index a2d289db..15b5b6f0 100644 --- a/examples/gallery/README.md +++ b/examples/gallery/README.md @@ -47,4 +47,4 @@ node scripts/bench/gen-dbt-project.mjs --models 4000 --out /tmp/stress node scripts/bench/run-bench.mjs /tmp/stress ``` -See [docs.duckcode.ai/contribute/testing](https://docs.duckcode.ai/contribute/testing/). +See [docs/contribute/testing.md](../../docs/contribute/testing.md). diff --git a/packages/create-dql-app/README.md b/packages/create-dql-app/README.md index b2e8c71b..1b01ff17 100644 --- a/packages/create-dql-app/README.md +++ b/packages/create-dql-app/README.md @@ -31,9 +31,9 @@ npx create-dql-app finance-reports --template empty ## Docs -- [Quickstart](https://docs.duckcode.ai/get-started/quickstart/) -- [Concepts](https://docs.duckcode.ai/get-started/concepts/) -- [Connect your own warehouse](https://docs.duckcode.ai/guides/connect-warehouse/) +- [Quickstart](https://github.com/duckcode-ai/dql/blob/main/docs/01-quickstart.md) +- [Concepts](https://github.com/duckcode-ai/dql/blob/main/docs/02-concepts.md) +- [Connect your own warehouse](https://github.com/duckcode-ai/dql/blob/main/docs/guides/connect-warehouse.md) ## License diff --git a/packages/create-dql-app/bin/create-dql-app.mjs b/packages/create-dql-app/bin/create-dql-app.mjs index 90830a81..37ed527c 100755 --- a/packages/create-dql-app/bin/create-dql-app.mjs +++ b/packages/create-dql-app/bin/create-dql-app.mjs @@ -171,7 +171,7 @@ ${c.green('βœ“ Ready.')} Next steps: Your notebook will open at ${c.cyan('http://localhost:5173')}. -Docs: ${c.cyan('https://docs.duckcode.ai')} +Docs: ${c.cyan('https://github.com/duckcode-ai/dql')} Issues: ${c.cyan('https://github.com/duckcode-ai/dql/issues')} `); } diff --git a/packages/create-dql-app/package.json b/packages/create-dql-app/package.json index 23f0aa10..89a01ca3 100644 --- a/packages/create-dql-app/package.json +++ b/packages/create-dql-app/package.json @@ -4,7 +4,7 @@ "description": "Scaffold a new DQL project. Run with: npx create-dql-app ", "license": "MIT", "author": "DuckCode AI Labs", - "homepage": "https://docs.duckcode.ai", + "homepage": "https://github.com/duckcode-ai/dql", "repository": { "type": "git", "url": "https://github.com/duckcode-ai/dql.git", diff --git a/packages/create-dql-app/templates/empty/README.md b/packages/create-dql-app/templates/empty/README.md index 07c446fd..44b6ece8 100644 --- a/packages/create-dql-app/templates/empty/README.md +++ b/packages/create-dql-app/templates/empty/README.md @@ -5,7 +5,7 @@ An empty DQL project, scaffolded by `create-dql-app --template empty`. ## Connect your warehouse Edit `cdql.yaml` β€” DQL ships 15 drivers out of the box: -[docs.duckcode.ai/reference/connectors](https://docs.duckcode.ai/reference/connectors/). +[docs/reference/connectors.md](https://github.com/duckcode-ai/dql/blob/main/docs/reference/connectors.md). ```bash npx @duckcodeailabs/dql-cli test-connection diff --git a/packages/create-dql-app/templates/jaffle-shop/README.md b/packages/create-dql-app/templates/jaffle-shop/README.md index 7b716dff..615b90aa 100644 --- a/packages/create-dql-app/templates/jaffle-shop/README.md +++ b/packages/create-dql-app/templates/jaffle-shop/README.md @@ -37,12 +37,12 @@ npm run compile # builds dql-manifest.json with lineage ## Next steps 1. **Run the welcome notebook** β€” `notebooks/welcome.dqlnb` -2. **Connect your warehouse** β€” [docs.duckcode.ai/guides/connect-warehouse](https://docs.duckcode.ai/guides/connect-warehouse/) -3. **Import your dbt project** β€” [docs.duckcode.ai/guides/import-dbt](https://docs.duckcode.ai/guides/import-dbt/) -4. **Author a certified block** β€” [docs.duckcode.ai/guides/authoring-blocks](https://docs.duckcode.ai/guides/authoring-blocks/) +2. **Connect your warehouse** β€” [docs/guides/connect-warehouse.md](https://github.com/duckcode-ai/dql/blob/main/docs/guides/connect-warehouse.md) +3. **Import your dbt project** β€” [docs/guides/import-dbt.md](https://github.com/duckcode-ai/dql/blob/main/docs/guides/import-dbt.md) +4. **Author a certified block** β€” [docs/guides/authoring-blocks.md](https://github.com/duckcode-ai/dql/blob/main/docs/guides/authoring-blocks.md) ## Learn -- [Quickstart](https://docs.duckcode.ai/get-started/quickstart/) -- [Concepts](https://docs.duckcode.ai/get-started/concepts/) -- [CLI reference](https://docs.duckcode.ai/reference/cli/) +- [Quickstart](https://github.com/duckcode-ai/dql/blob/main/docs/01-quickstart.md) +- [Concepts](https://github.com/duckcode-ai/dql/blob/main/docs/02-concepts.md) +- [CLI reference](https://github.com/duckcode-ai/dql/blob/main/docs/reference/cli.md) diff --git a/packages/create-dql-app/templates/jaffle-shop/blocks/revenue_by_segment.dql b/packages/create-dql-app/templates/jaffle-shop/blocks/revenue_by_segment.dql index 60b16083..c6e28d3a 100644 --- a/packages/create-dql-app/templates/jaffle-shop/blocks/revenue_by_segment.dql +++ b/packages/create-dql-app/templates/jaffle-shop/blocks/revenue_by_segment.dql @@ -5,7 +5,6 @@ block "Revenue by segment" { type = "custom" description = "Gross revenue grouped by customer segment." tags = ["revenue", "sample"] - query = """ SELECT c.customer_segment AS segment, @@ -16,13 +15,11 @@ block "Revenue by segment" { GROUP BY 1 ORDER BY revenue DESC """ - visualization { chart = "bar" x = segment y = revenue } - tests { assert row_count > 0 } diff --git a/packages/create-dql-app/templates/jaffle-shop/dashboards/overview.dql b/packages/create-dql-app/templates/jaffle-shop/dashboards/overview.dql index 520beea4..3d12e863 100644 --- a/packages/create-dql-app/templates/jaffle-shop/dashboards/overview.dql +++ b/packages/create-dql-app/templates/jaffle-shop/dashboards/overview.dql @@ -5,7 +5,6 @@ dashboard "{{PROJECT_NAME}} β€” Overview" { SELECT SUM(amount) as revenue FROM orders, metrics = ["revenue"] ) - chart.bar( SELECT customer_id, SUM(amount) as spend FROM orders @@ -16,7 +15,6 @@ dashboard "{{PROJECT_NAME}} β€” Overview" { y = spend, title = "Top 10 customers by spend" ) - chart.line( SELECT order_date, SUM(amount) as revenue FROM orders diff --git a/packages/dql-core/src/formatter/formatter.ts b/packages/dql-core/src/formatter/formatter.ts index ca363512..115dbb20 100644 --- a/packages/dql-core/src/formatter/formatter.ts +++ b/packages/dql-core/src/formatter/formatter.ts @@ -169,16 +169,20 @@ function formatCall( lines.push(...formatDecorators(decorators, level, state)); lines.push(`${indent(level, state)}${callName}(`); - const bodyLines: string[] = []; + const parts: string[][] = []; if (query) { - bodyLines.push(...formatSQLQuery(query, level + 1, state)); + parts.push(formatSQLQuery(query, level + 1, state)); + } + for (const arg of args) { + parts.push([`${indent(level + 1, state)}${formatNamedArg(arg)}`]); } - bodyLines.push(...args.map((arg) => `${indent(level + 1, state)}${formatNamedArg(arg)}`)); - if (bodyLines.length > 0) { - for (let i = 0; i < bodyLines.length; i++) { - const isLast = i === bodyLines.length - 1; - lines.push(isLast ? bodyLines[i] : `${bodyLines[i]},`); + for (let i = 0; i < parts.length; i++) { + const isLast = i === parts.length - 1; + const chunk = parts[i]; + for (let j = 0; j < chunk.length; j++) { + const lastInChunk = j === chunk.length - 1; + lines.push(lastInChunk && !isLast ? `${chunk[j]},` : chunk[j]); } } @@ -267,11 +271,25 @@ function formatBlock(node: BlockDeclNode, level: number, state: FormatState): st } function formatSQLQuery(query: SQLQueryNode, level: number, state: FormatState): string[] { - const sql = query.rawSQL.trim(); - if (!sql) return [`${indent(level, state)}SELECT 1`]; - return sql - .split('\n') - .map((line) => `${indent(level, state)}${line.trimEnd()}`); + const sql = query.rawSQL.replace(/^\n+|\s+$/g, ''); + if (!sql.trim()) return [`${indent(level, state)}SELECT 1`]; + const rawLines = sql.split('\n').map((line) => line.trimEnd()); + // The first line is often on the same line as the opening delimiter + // (e.g. `chart.bar(SELECT ...`) and so has no meaningful leading + // indent. Use indentation from subsequent non-empty lines as the + // dedent baseline; fall back to the first line only if that's all we have. + const tail = rawLines.slice(1).filter((l) => l.length > 0); + const sample = tail.length ? tail : rawLines.filter((l) => l.length > 0); + const minLeading = sample.length + ? Math.min(...sample.map((l) => l.match(/^[ \t]*/)![0].length)) + : 0; + return rawLines.map((line) => { + if (line.length === 0) return ''; + const stripped = line.startsWith(' '.repeat(minLeading)) || line.startsWith('\t'.repeat(minLeading)) + ? line.slice(minLeading) + : line.trimStart(); + return `${indent(level, state)}${stripped}`; + }); } function formatNamedArg(arg: NamedArgNode): string { diff --git a/packages/dql-openlineage/README.md b/packages/dql-openlineage/README.md index 25c76b87..d8f7def2 100644 --- a/packages/dql-openlineage/README.md +++ b/packages/dql-openlineage/README.md @@ -54,4 +54,4 @@ surface to end users. Wrap-mode re-throws *handler* errors after emitting ## Compatible receivers Marquez Β· DataHub Β· Atlan Β· Monte Carlo β€” anything that speaks the OL spec. -See [docs.duckcode.ai/architecture/openlineage](https://docs.duckcode.ai/architecture/openlineage/). +See [docs/architecture/openlineage.md](../../docs/architecture/openlineage.md). diff --git a/packages/dql-plugin-api/src/connector.ts b/packages/dql-plugin-api/src/connector.ts index 9e6e0d26..7c4c9beb 100644 --- a/packages/dql-plugin-api/src/connector.ts +++ b/packages/dql-plugin-api/src/connector.ts @@ -2,7 +2,7 @@ * Warehouse connector contract. * * FROZEN at v1.0 β€” any breaking change requires a major version bump and a - * 6-month deprecation window. See docs.duckcode.ai/architecture/plugin-api. + * 6-month deprecation window. See docs/architecture/plugin-api.md. */ export interface ColumnSchema { diff --git a/packaging/homebrew/dql.rb.tmpl b/packaging/homebrew/dql.rb.tmpl index a7e53ad7..f0d6c433 100644 --- a/packaging/homebrew/dql.rb.tmpl +++ b/packaging/homebrew/dql.rb.tmpl @@ -7,7 +7,7 @@ class Dql < Formula desc "Git-native analytics notebooks on your dbt models" - homepage "https://docs.duckcode.ai" + homepage "https://github.com/duckcode-ai/dql" url "https://registry.npmjs.org/@duckcodeailabs/dql-cli/-/dql-cli-{{VERSION}}.tgz" sha256 "{{SHA}}" license "MIT" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index aabcf703..88429e61 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -63,39 +63,15 @@ importers: version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.11)(jiti@1.21.7)(terser@5.46.0)(tsx@4.21.0)(yaml@2.8.2) apps/desktop: + dependencies: + '@duckcodeailabs/dql-notebook-app': + specifier: workspace:* + version: link:../dql-notebook devDependencies: '@tauri-apps/cli': specifier: 2.1.0 version: 2.1.0 - apps/docs: - dependencies: - next: - specifier: 14.2.5 - version: 14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - nextra: - specifier: 2.13.4 - version: 2.13.4(next@14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - nextra-theme-docs: - specifier: 2.13.4 - version: 2.13.4(next@14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(nextra@2.13.4(next@14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: - specifier: 18.3.1 - version: 18.3.1 - react-dom: - specifier: 18.3.1 - version: 18.3.1(react@18.3.1) - devDependencies: - '@types/node': - specifier: 20.14.10 - version: 20.14.10 - '@types/react': - specifier: 18.3.3 - version: 18.3.3 - typescript: - specifier: 5.5.3 - version: 5.5.3 - apps/dql-notebook: dependencies: '@codemirror/autocomplete': @@ -911,10 +887,6 @@ packages: 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'} @@ -927,9 +899,6 @@ packages: resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - '@braintree/sanitize-url@6.0.4': - resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} - '@codemirror/autocomplete@6.20.1': resolution: {integrity: sha512-1cvg3Vz1dSSToCNlJfRA2WSI4ht3K+WplO0UMOgmUYPivCyy2oueZY6Lx7M9wThm7SDUBViRmuT+OG/i8+ON9A==} @@ -1613,13 +1582,6 @@ packages: resolution: {integrity: sha512-n2FjE7NAOYyshogdc7KQOl/VZb4sneqPjWouSyia9CMDdMhRX5+RIbqalNmC7LOLzuLAN89VlF2HvG8na9G+zQ==} engines: {node: '>=14'} - '@headlessui/react@1.7.19': - resolution: {integrity: sha512-Ll+8q3OlMJfJbAKM/+/Y2q6PPYbryqNTXDbryx7SXLIDamkF6iQFbriYHga0dY44PvDhvvBWCx1Xj4U5+G4hOw==} - engines: {node: '>=10'} - peerDependencies: - react: ^16 || ^17 || ^18 - react-dom: ^16 || ^17 || ^18 - '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1675,165 +1637,6 @@ packages: '@marijn/find-cluster-break@1.0.2': resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} - '@mdx-js/mdx@2.3.0': - resolution: {integrity: sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==} - - '@mdx-js/react@2.3.0': - resolution: {integrity: sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==} - peerDependencies: - react: '>=16' - - '@napi-rs/simple-git-android-arm-eabi@0.1.22': - resolution: {integrity: sha512-JQZdnDNm8o43A5GOzwN/0Tz3CDBQtBUNqzVwEopm32uayjdjxev1Csp1JeaqF3v9djLDIvsSE39ecsN2LhCKKQ==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - - '@napi-rs/simple-git-android-arm64@0.1.22': - resolution: {integrity: sha512-46OZ0SkhnvM+fapWjzg/eqbJvClxynUpWYyYBn4jAj7GQs1/Yyc8431spzDmkA8mL0M7Xo8SmbkzTDE7WwYAfg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - - '@napi-rs/simple-git-darwin-arm64@0.1.22': - resolution: {integrity: sha512-zH3h0C8Mkn9//MajPI6kHnttywjsBmZ37fhLX/Fiw5XKu84eHA6dRyVtMzoZxj6s+bjNTgaMgMUucxPn9ktxTQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@napi-rs/simple-git-darwin-x64@0.1.22': - resolution: {integrity: sha512-GZN7lRAkGKB6PJxWsoyeYJhh85oOOjVNyl+/uipNX8bR+mFDCqRsCE3rRCFGV9WrZUHXkcuRL2laIRn7lLi3ag==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@napi-rs/simple-git-freebsd-x64@0.1.22': - resolution: {integrity: sha512-xyqX1C5I0WBrUgZONxHjZH5a4LqQ9oki3SKFAVpercVYAcx3pq6BkZy1YUOP4qx78WxU1CCNfHBN7V+XO7D99A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - - '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.22': - resolution: {integrity: sha512-4LOtbp9ll93B9fxRvXiUJd1/RM3uafMJE7dGBZGKWBMGM76+BAcCEUv2BY85EfsU/IgopXI6n09TycRfPWOjxA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - - '@napi-rs/simple-git-linux-arm64-gnu@0.1.22': - resolution: {integrity: sha512-GVOjP/JjCzbQ0kSqao7ctC/1sodVtv5VF57rW9BFpo2y6tEYPCqHnkQkTpieuwMNe+TVOhBUC1+wH0d9/knIHg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@napi-rs/simple-git-linux-arm64-musl@0.1.22': - resolution: {integrity: sha512-MOs7fPyJiU/wqOpKzAOmOpxJ/TZfP4JwmvPad/cXTOWYwwyppMlXFRms3i98EU3HOazI/wMU2Ksfda3+TBluWA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@napi-rs/simple-git-linux-ppc64-gnu@0.1.22': - resolution: {integrity: sha512-L59dR30VBShRUIZ5/cQHU25upNgKS0AMQ7537J6LCIUEFwwXrKORZKJ8ceR+s3Sr/4jempWVvMdjEpFDE4HYww==} - engines: {node: '>= 10'} - cpu: [ppc64] - os: [linux] - - '@napi-rs/simple-git-linux-s390x-gnu@0.1.22': - resolution: {integrity: sha512-4FHkPlCSIZUGC6HiADffbe6NVoTBMd65pIwcd40IDbtFKOgFMBA+pWRqKiQ21FERGH16Zed7XHJJoY3jpOqtmQ==} - engines: {node: '>= 10'} - cpu: [s390x] - os: [linux] - - '@napi-rs/simple-git-linux-x64-gnu@0.1.22': - resolution: {integrity: sha512-Ei1tM5Ho/dwknF3pOzqkNW9Iv8oFzRxE8uOhrITcdlpxRxVrBVptUF6/0WPdvd7R9747D/q61QG/AVyWsWLFKw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@napi-rs/simple-git-linux-x64-musl@0.1.22': - resolution: {integrity: sha512-zRYxg7it0p3rLyEJYoCoL2PQJNgArVLyNavHW03TFUAYkYi5bxQ/UFNVpgxMaXohr5yu7qCBqeo9j4DWeysalg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@napi-rs/simple-git-win32-arm64-msvc@0.1.22': - resolution: {integrity: sha512-XGFR1fj+Y9cWACcovV2Ey/R2xQOZKs8t+7KHPerYdJ4PtjVzGznI4c2EBHXtdOIYvkw7tL5rZ7FN1HJKdD5Quw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@napi-rs/simple-git-win32-ia32-msvc@0.1.22': - resolution: {integrity: sha512-Gqr9Y0gs6hcNBA1IXBpoqTFnnIoHuZGhrYqaZzEvGMLrTrpbXrXVEtX3DAAD2RLc1b87CPcJ49a7sre3PU3Rfw==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - - '@napi-rs/simple-git-win32-x64-msvc@0.1.22': - resolution: {integrity: sha512-hQjcreHmUcpw4UrtkOron1/TQObfe484lxiXFLLUj7aWnnnOVs1mnXq5/Bo9+3NYZldFpFRJPdPBeHCisXkKJg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - - '@napi-rs/simple-git@0.1.22': - resolution: {integrity: sha512-bMVoAKhpjTOPHkW/lprDPwv5aD4R4C3Irt8vn+SKA9wudLe9COLxOhurrKRsxmZccUbWXRF7vukNeGUAj5P8kA==} - engines: {node: '>= 10'} - - '@next/env@14.2.5': - resolution: {integrity: sha512-/zZGkrTOsraVfYjGP8uM0p6r0BDT6xWpkjdVbcz66PJVSpwXX3yNiRycxAuDfBKGWBrZBXRuK/YVlkNgxHGwmA==} - - '@next/swc-darwin-arm64@14.2.5': - resolution: {integrity: sha512-/9zVxJ+K9lrzSGli1///ujyRfon/ZneeZ+v4ptpiPoOU+GKZnm8Wj8ELWU1Pm7GHltYRBklmXMTUqM/DqQ99FQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@next/swc-darwin-x64@14.2.5': - resolution: {integrity: sha512-vXHOPCwfDe9qLDuq7U1OYM2wUY+KQ4Ex6ozwsKxp26BlJ6XXbHleOUldenM67JRyBfVjv371oneEvYd3H2gNSA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@next/swc-linux-arm64-gnu@14.2.5': - resolution: {integrity: sha512-vlhB8wI+lj8q1ExFW8lbWutA4M2ZazQNvMWuEDqZcuJJc78iUnLdPPunBPX8rC4IgT6lIx/adB+Cwrl99MzNaA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@next/swc-linux-arm64-musl@14.2.5': - resolution: {integrity: sha512-NpDB9NUR2t0hXzJJwQSGu1IAOYybsfeB+LxpGsXrRIb7QOrYmidJz3shzY8cM6+rO4Aojuef0N/PEaX18pi9OA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@next/swc-linux-x64-gnu@14.2.5': - resolution: {integrity: sha512-8XFikMSxWleYNryWIjiCX+gU201YS+erTUidKdyOVYi5qUQo/gRxv/3N1oZFCgqpesN6FPeqGM72Zve+nReVXQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@next/swc-linux-x64-musl@14.2.5': - resolution: {integrity: sha512-6QLwi7RaYiQDcRDSU/os40r5o06b5ue7Jsk5JgdRBGGp8l37RZEh9JsLSM8QF0YDsgcosSeHjglgqi25+m04IQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@next/swc-win32-arm64-msvc@14.2.5': - resolution: {integrity: sha512-1GpG2VhbspO+aYoMOQPQiqc/tG3LzmsdBH0LhnDS3JrtDx2QmzXe0B6mSZZiN3Bq7IOMXxv1nlsjzoS1+9mzZw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@next/swc-win32-ia32-msvc@14.2.5': - resolution: {integrity: sha512-Igh9ZlxwvCDsu6438FXlQTHlRno4gFpJzqPjSIBZooD22tKeI4fE/YMRoHVJHmrQ2P5YL1DoZ0qaOKkbeFWeMg==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - - '@next/swc-win32-x64-msvc@14.2.5': - resolution: {integrity: sha512-tEQ7oinq1/CjSG9uSTerca3v4AZ+dFa+4Yu6ihaG8Ud8ddqLQgFGcnwYls13H5X5CPDPZJdYxyeMui6muOLd4g==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1863,9 +1666,6 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@popperjs/core@2.11.8': - resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - '@radix-ui/primitive@1.1.3': resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==} @@ -2767,21 +2567,6 @@ packages: '@so-ric/colorspace@1.1.6': resolution: {integrity: sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw==} - '@swc/counter@0.1.3': - resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - - '@swc/helpers@0.5.5': - resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} - - '@tanstack/react-virtual@3.13.24': - resolution: {integrity: sha512-aIJvz5OSkhNIhZIpYivrxrPTKYsjW9Uzy+sP/mx0S3sev2HyvPb7xmjbYvokzEpfgYHy/HjzJ2zFAETuUfgCpg==} - 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 - - '@tanstack/virtual-core@3.14.0': - resolution: {integrity: sha512-JLANqGy/D6k4Ujmh8Tr25lGimuOXNiaVyXaCAZS0W+1390sADdGnyUdSWNIfd49gebtIxGMij4IktRVzrdr12Q==} - '@tauri-apps/cli-darwin-arm64@2.1.0': resolution: {integrity: sha512-ESc6J6CE8hl1yKH2vJ+ALF+thq4Be+DM1mvmTyUCQObvezNCNhzfS6abIUd3ou4x5RGH51ouiANeT3wekU6dCw==} engines: {node: '>= 10'} @@ -2868,21 +2653,10 @@ packages: '@textlint/types@15.5.2': resolution: {integrity: sha512-sJOrlVLLXp4/EZtiWKWq9y2fWyZlI8GP+24rnU5avtPWBIMm/1w97yzKrAqYF8czx2MqR391z5akhnfhj2f/AQ==} - '@theguild/remark-mermaid@0.0.5': - resolution: {integrity: sha512-e+ZIyJkEv9jabI4m7q29wZtZv+2iwPGsXJ2d46Zi7e+QcFudiyuqhLhHG/3gX3ZEB+hxTch+fpItyMS8jwbIcw==} - peerDependencies: - react: ^18.2.0 - - '@theguild/remark-npm2yarn@0.2.1': - resolution: {integrity: sha512-jUTFWwDxtLEFtGZh/TW/w30ySaDJ8atKWH8dq2/IiQF61dPrGfETpl0WxD0VdBfuLOeU14/kop466oBSRO/5CA==} - '@tootallnate/once@2.0.0': resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} - '@types/acorn@4.0.6': - resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} - '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -2931,15 +2705,9 @@ packages: '@types/d3-path@1.0.11': resolution: {integrity: sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw==} - '@types/d3-scale-chromatic@3.1.0': - resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} - '@types/d3-scale@4.0.2': resolution: {integrity: sha512-Yk4htunhPAwN0XGlIwArRomOjdoBFXC3+kCxK2Ubg7I9shQlVSJy/pG/Ht5ASN+gdMIalpk8TJ5xV74jFsetLA==} - '@types/d3-scale@4.0.9': - resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} - '@types/d3-selection@3.0.11': resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} @@ -2964,39 +2732,18 @@ packages: '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} - '@types/estree-jsx@1.0.5': - resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} - '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} '@types/geojson@7946.0.16': resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} - '@types/hast@2.3.10': - resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} - - '@types/hast@3.0.4': - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - '@types/js-yaml@4.0.9': resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} - '@types/katex@0.16.8': - resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==} - '@types/lodash@4.17.23': resolution: {integrity: sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==} - '@types/mdast@3.0.15': - resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} - - '@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/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} @@ -3050,18 +2797,9 @@ 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/tunnel@0.0.3': resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==} - '@types/unist@2.0.11': - resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} - - '@types/unist@3.0.3': - resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@types/vscode@1.109.0': resolution: {integrity: sha512-0Pf95rnwEIwDbmXGC08r0B4TQhAbsHQ5UyTIgVgoieDe4cOnf92usuR5dEczb6bTKEp7ziZH4TV1TRGPPCExtw==} @@ -3069,9 +2807,6 @@ packages: resolution: {integrity: sha512-91fp6CAAJSRtH5ja95T1FHSKa8aPW9/Zw6cta81jlZTUw/+Vq8jM/AfF/14h2b71wwR84JUTW/3Y8QPhDAawFA==} engines: {node: '>=20.0.0'} - '@ungap/structured-clone@1.3.0': - resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@visx/axis@3.12.0': resolution: {integrity: sha512-8MoWpfuaJkhm2Yg+HwyytK8nk+zDugCqTT/tRmQX7gW4LYrHYLXFUXOzbDyyBakCVaUbUaAhVFxpMASJiQKf7A==} peerDependencies: @@ -3259,11 +2994,6 @@ packages: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.5: resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} engines: {node: '>=0.4.0'} @@ -3304,13 +3034,6 @@ packages: resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} - ansi-sequence-parser@1.1.3: - resolution: {integrity: sha512-+fksAx9eG3Ab6LDnLs3ZqZa8KVJ/jYnX+D4Qe1azX+LFGFAXqynCQLOdLpNYN/l9e7l6hMWwZbrnctqr6eSQSw==} - - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -3326,20 +3049,11 @@ packages: aproba@2.1.0: resolution: {integrity: sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==} - arch@2.2.0: - resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} - are-we-there-yet@3.0.1: resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This package is no longer supported. - arg@1.0.0: - resolution: {integrity: sha512-Wk7TEzl1KqvTGs/uyhmHO/3XLd3t1UeU4IstvPXVzGPM522cTjqjNZ99esCkcL52sjqjo8e8CTBcWhkxvGzoAw==} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -3373,10 +3087,6 @@ packages: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} - astring@1.9.0: - resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} - hasBin: true - async-retry@1.3.3: resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} @@ -3396,9 +3106,6 @@ packages: azure-devops-node-api@12.5.0: resolution: {integrity: sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==} - bail@2.0.2: - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - balanced-match@0.4.2: resolution: {integrity: sha512-STw03mQKnGUYtoNjmowo4F2cRmIIxYEGiMsjjwla/u5P1lxadj/05WkNaFjNiKTgJkj8KiXbgAiRTmcQRwQNtg==} @@ -3503,10 +3210,6 @@ packages: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} - busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} - cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -3526,9 +3229,6 @@ packages: caniuse-lite@1.0.30001780: resolution: {integrity: sha512-llngX0E7nQci5BPJDqoZSbuZ5Bcs9F5db7EtgfwBerX9XGtkkiO4NwfDDIRzHTTwcYC8vC7bmeUEPGrKlR/TkQ==} - ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chai@4.5.0: resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} engines: {node: '>=4'} @@ -3537,10 +3237,6 @@ packages: resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} engines: {node: '>=18'} - chalk@2.3.0: - resolution: {integrity: sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==} - engines: {node: '>=4'} - chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -3549,18 +3245,6 @@ packages: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - character-entities-html4@2.1.0: - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} - - character-entities-legacy@3.0.0: - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - - character-entities@2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - - character-reference-invalid@2.0.1: - resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} @@ -3596,24 +3280,10 @@ packages: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} - client-only@0.0.1: - resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - - clipboardy@1.2.2: - resolution: {integrity: sha512-16KrBOV7bHmHdxcQiCvfUFYVFyEah4FI8vYT1Fr7CGSA4G+xBWMEfUEQJS1hxeHGtI9ju1Bzs9uXSbj5HZKArw==} - engines: {node: '>=4'} - - clsx@2.1.1: - resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} - engines: {node: '>=6'} - cockatiel@3.2.1: resolution: {integrity: sha512-gfrHV6ZPkquExvMh9IOkKsBzNDk6sDuZ6DdBGUBkvFnTCqCxzpuq48RySgP0AnaqQkw2zynOFj9yly6T1Q2G5Q==} engines: {node: '>=16'} - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -3622,9 +3292,6 @@ packages: resolution: {integrity: sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==} engines: {node: '>=14.6'} - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -3648,9 +3315,6 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - comma-separated-tokens@2.0.3: - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - commander@11.1.0: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} @@ -3662,17 +3326,6 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - 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'} - - compute-scroll-into-view@3.1.1: - resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==} - concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -3689,15 +3342,9 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cose-base@1.0.3: - resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} - crelt@1.0.6: resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} - cross-spawn@5.1.0: - resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -3712,42 +3359,14 @@ packages: csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - cytoscape-cose-bilkent@4.1.0: - resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} - peerDependencies: - cytoscape: ^3.2.0 - - cytoscape@3.33.2: - resolution: {integrity: sha512-sj4HXd3DokGhzZAdjDejGvTPLqlt84vNFN8m7bGsOzDY5DyVcxIb2ejIXat2Iy7HxWhdT/N1oKyheJ5YdpsGuw==} - engines: {node: '>=0.10'} - - d3-array@2.12.1: - resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} - d3-array@3.2.1: resolution: {integrity: sha512-gUY/qeHq/yNqqoCKNq4vtpFLdoCdvyNpWoC/KNjhGbhDuQpAM9sIQQKkXSNpXa9h5KySs/gzm7R88WkUutgwWQ==} engines: {node: '>=12'} - d3-axis@3.0.0: - resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} - engines: {node: '>=12'} - - d3-brush@3.0.0: - resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} - engines: {node: '>=12'} - - d3-chord@3.0.1: - resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} - engines: {node: '>=12'} - d3-color@3.1.0: resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} engines: {node: '>=12'} - d3-contour@4.0.2: - resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} - engines: {node: '>=12'} - d3-delaunay@6.0.2: resolution: {integrity: sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==} engines: {node: '>=12'} @@ -3760,23 +3379,10 @@ packages: resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} engines: {node: '>=12'} - d3-dsv@3.0.1: - resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} - engines: {node: '>=12'} - hasBin: true - d3-ease@3.0.1: resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} engines: {node: '>=12'} - d3-fetch@3.0.1: - resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} - engines: {node: '>=12'} - - d3-force@3.0.0: - resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} - engines: {node: '>=12'} - d3-format@3.1.0: resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} engines: {node: '>=12'} @@ -3785,10 +3391,6 @@ packages: resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==} engines: {node: '>=12'} - d3-hierarchy@3.1.2: - resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} - engines: {node: '>=12'} - d3-interpolate@3.0.1: resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} engines: {node: '>=12'} @@ -3796,29 +3398,6 @@ packages: d3-path@1.0.9: resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} - d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} - engines: {node: '>=12'} - - d3-polygon@3.0.1: - resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} - engines: {node: '>=12'} - - d3-quadtree@3.0.1: - resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} - engines: {node: '>=12'} - - d3-random@3.0.1: - resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} - engines: {node: '>=12'} - - d3-sankey@0.12.3: - resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} - - d3-scale-chromatic@3.1.0: - resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} - engines: {node: '>=12'} - d3-scale@4.0.2: resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} engines: {node: '>=12'} @@ -3830,10 +3409,6 @@ packages: d3-shape@1.3.7: resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} - d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} - engines: {node: '>=12'} - d3-time-format@4.1.0: resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} engines: {node: '>=12'} @@ -3856,16 +3431,6 @@ packages: resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} engines: {node: '>=12'} - d3@7.9.0: - resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} - engines: {node: '>=12'} - - dagre-d3-es@7.0.13: - resolution: {integrity: sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==} - - dayjs@1.11.20: - resolution: {integrity: sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==} - debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -3875,9 +3440,6 @@ packages: supports-color: optional: true - decode-named-character-reference@1.3.0: - resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} - decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -3920,10 +3482,6 @@ packages: resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} engines: {node: '>=0.10'} - dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} @@ -3931,17 +3489,10 @@ packages: detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} - devlop@1.1.0: - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - diff@5.2.2: - resolution: {integrity: sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==} - engines: {node: '>=0.3.1'} - discontinuous-range@1.0.0: resolution: {integrity: sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==} @@ -3955,9 +3506,6 @@ packages: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} - dompurify@3.4.0: - resolution: {integrity: sha512-nolgK9JcaUXMSmW+j1yaSvaEaoXYHwWyGJlkoCTghc97KgGDDSnpoU/PlEnw63Ah+TGKFOyY+X5LnxaWbCSfXg==} - domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} @@ -3984,9 +3532,6 @@ packages: electron-to-chromium@1.5.321: resolution: {integrity: sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ==} - elkjs@0.9.3: - resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==} - emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -4071,40 +3616,6 @@ packages: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - estree-util-attach-comments@2.1.1: - resolution: {integrity: sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==} - - estree-util-build-jsx@2.2.2: - resolution: {integrity: sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==} - - estree-util-is-identifier-name@2.1.0: - resolution: {integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==} - - estree-util-is-identifier-name@3.0.0: - resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} - - estree-util-to-js@1.2.0: - resolution: {integrity: sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==} - - estree-util-value-to-estree@3.5.0: - resolution: {integrity: sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==} - - estree-util-visit@1.2.1: - resolution: {integrity: sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==} - estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -4116,10 +3627,6 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - execa@0.8.0: - resolution: {integrity: sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==} - engines: {node: '>=4'} - execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} @@ -4139,10 +3646,6 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -4204,15 +3707,9 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - flexsearch@0.7.43: - resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==} - fn.name@1.1.0: resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} - focus-visible@5.2.1: - resolution: {integrity: sha512-8Bx950VD1bWTQJEH/AM6SpEk+SU55aVnp4Ujhuuxy3eMEBCRwBnTBnVXr9YAPvZL3/CNjCa8u4IWfNmEO53whA==} - follow-redirects@1.15.11: resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} engines: {node: '>=4.0'} @@ -4295,10 +3792,6 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} - get-stream@3.0.0: - resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} - engines: {node: '>=4'} - get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} @@ -4306,18 +3799,9 @@ packages: get-tsconfig@4.13.6: resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} - git-up@7.0.0: - resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} - - git-url-parse@13.1.1: - resolution: {integrity: sha512-PCFJyeSSdtnbfhSNRw9Wk96dDCNx+sogTe4YNXeXSJxt7xz5hvXekuRn9JX7m+Mf4OscCu8h+mtAl3+h5Fo8lQ==} - github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} - github-slugger@2.0.0: - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -4361,18 +3845,10 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - gray-matter@4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} - gtoken@7.1.0: resolution: {integrity: sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw==} engines: {node: '>=14.0.0'} - has-flag@2.0.0: - resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==} - engines: {node: '>=0.10.0'} - has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -4388,50 +3864,10 @@ packages: has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - hash-obj@4.0.0: - resolution: {integrity: sha512-FwO1BUVWkyHasWDW4S8o0ssQXjvyghLV2rfVhnN36b2bbcj45eGiuzdn9XOvOpjV3TKQD7Gm2BWNXdE9V4KKYg==} - engines: {node: '>=12'} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hast-util-from-dom@5.0.1: - resolution: {integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==} - - hast-util-from-html-isomorphic@2.0.0: - resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==} - - hast-util-from-html@2.0.3: - resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} - - hast-util-from-parse5@8.0.3: - resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} - - hast-util-is-element@3.0.0: - resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} - - hast-util-parse-selector@4.0.0: - resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} - - hast-util-raw@9.1.0: - resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} - - hast-util-to-estree@2.3.3: - resolution: {integrity: sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==} - - hast-util-to-parse5@8.0.1: - resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} - - hast-util-to-text@4.0.2: - resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} - - hast-util-whitespace@2.0.1: - resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} - - hastscript@9.0.1: - resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} - homedir-polyfill@1.0.3: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} @@ -4447,9 +3883,6 @@ packages: html-entities@2.6.0: resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} - html-void-elements@3.0.0: - resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - htmlparser2@10.1.0: resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} @@ -4519,37 +3952,14 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - inline-style-parser@0.1.1: - resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} - - internmap@1.0.1: - resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} - internmap@2.0.3: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} - intersection-observer@0.12.2: - resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} - deprecated: The Intersection Observer polyfill is no longer needed and can safely be removed. Intersection Observer has been Baseline since 2019. - ip-address@10.1.0: resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==} engines: {node: '>= 12'} - is-alphabetical@2.0.1: - resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} - - is-alphanumerical@2.0.1: - resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} - - is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - - is-decimal@2.0.1: - resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} @@ -4560,10 +3970,6 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true - is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -4576,9 +3982,6 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-hexadecimal@2.0.1: - resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} @@ -4591,27 +3994,9 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-obj@3.0.0: - resolution: {integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==} - engines: {node: '>=12'} - - is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - is-property@1.0.2: resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} - is-reference@3.0.3: - resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} - - 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'} @@ -4659,10 +4044,6 @@ packages: js-tokens@9.0.1: resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - js-yaml@3.14.2: - resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} - hasBin: true - js-yaml@4.1.1: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true @@ -4699,30 +4080,12 @@ packages: jws@4.0.1: resolution: {integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==} - katex@0.16.45: - resolution: {integrity: sha512-pQpZbdBu7wCTmQUh7ufPmLr0pFoObnGUoL/yhtwJDgmmQpbkg/0HSVti25Fu4rmd1oCR6NGWe9vqTWuWv3GcNA==} - hasBin: true - keytar@7.9.0: resolution: {integrity: sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==} - khroma@2.1.0: - resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} - - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} - kuler@2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} - layout-base@1.0.2: - resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} - leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -4734,13 +4097,6 @@ packages: resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} engines: {node: '>=14'} - lodash-es@4.18.1: - resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==} - - 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.includes@4.3.0: resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} @@ -4778,9 +4134,6 @@ packages: long@5.3.2: resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} - longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -4798,9 +4151,6 @@ packages: resolution: {integrity: sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==} engines: {node: 20 || >=22} - lru-cache@4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} - lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -4823,20 +4173,10 @@ packages: resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - markdown-extensions@1.1.1: - resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==} - engines: {node: '>=0.10.0'} - markdown-it@14.1.1: resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==} hasBin: true - markdown-table@3.0.4: - resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - - match-sorter@6.3.4: - resolution: {integrity: sha512-jfZW7cWS5y/1xswZo8VBOdudUiSd9nifYRWphc9M5D/ee4w4AoXLgBEdRbgVaxbMuagBPeUC5y2Hi8DO6o9aDg==} - math-expression-evaluator@1.4.0: resolution: {integrity: sha512-4vRUvPyxdO8cWULGTh9dZWL2tZK6LDBvj+OGHBER7poH9Qdt7kXEoj20wiz4lQUbUXQZFjPbe5mVDo9nutizCw==} @@ -4844,63 +4184,6 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - mdast-util-definitions@5.1.2: - resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} - - mdast-util-find-and-replace@2.2.2: - resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} - - mdast-util-from-markdown@1.3.1: - resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} - - mdast-util-gfm-autolink-literal@1.0.3: - resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} - - mdast-util-gfm-footnote@1.0.2: - resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} - - mdast-util-gfm-strikethrough@1.0.3: - resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} - - mdast-util-gfm-table@1.0.7: - resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} - - mdast-util-gfm-task-list-item@1.0.2: - resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} - - mdast-util-gfm@2.0.2: - resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} - - mdast-util-math@2.0.2: - resolution: {integrity: sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ==} - - mdast-util-mdx-expression@1.3.2: - resolution: {integrity: sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==} - - mdast-util-mdx-jsx@2.1.4: - resolution: {integrity: sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==} - - mdast-util-mdx@2.0.1: - resolution: {integrity: sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==} - - mdast-util-mdxjs-esm@1.3.1: - resolution: {integrity: sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==} - - mdast-util-phrasing@3.0.1: - resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} - - mdast-util-to-hast@12.3.0: - resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} - - mdast-util-to-hast@13.2.1: - resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} - - mdast-util-to-markdown@1.5.0: - resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} - - mdast-util-to-string@3.2.0: - resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} - mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} @@ -4911,132 +4194,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - mermaid@10.9.5: - resolution: {integrity: sha512-eRlKEjzak4z1rcXeCd1OAlyawhrptClQDo8OuI8n6bSVqJ9oMfd5Lrf3Q+TdJHewi/9AIOc3UmEo8Fz+kNzzuQ==} - - micromark-core-commonmark@1.1.0: - resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} - - micromark-extension-gfm-autolink-literal@1.0.5: - resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} - - micromark-extension-gfm-footnote@1.1.2: - resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==} - - micromark-extension-gfm-strikethrough@1.0.7: - resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==} - - micromark-extension-gfm-table@1.0.7: - resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==} - - micromark-extension-gfm-tagfilter@1.0.2: - resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==} - - micromark-extension-gfm-task-list-item@1.0.5: - resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==} - - micromark-extension-gfm@2.0.3: - resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} - - micromark-extension-math@2.1.2: - resolution: {integrity: sha512-es0CcOV89VNS9wFmyn+wyFTKweXGW4CEvdaAca6SWRWPyYCbBisnjaHLjWO4Nszuiud84jCpkHsqAJoa768Pvg==} - - micromark-extension-mdx-expression@1.0.8: - resolution: {integrity: sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==} - - micromark-extension-mdx-jsx@1.0.5: - resolution: {integrity: sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==} - - micromark-extension-mdx-md@1.0.1: - resolution: {integrity: sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==} - - micromark-extension-mdxjs-esm@1.0.5: - resolution: {integrity: sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==} - - micromark-extension-mdxjs@1.0.1: - resolution: {integrity: sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==} - - micromark-factory-destination@1.1.0: - resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} - - micromark-factory-label@1.1.0: - resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} - - micromark-factory-mdx-expression@1.0.9: - resolution: {integrity: sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==} - - micromark-factory-space@1.1.0: - resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} - - micromark-factory-title@1.1.0: - resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} - - micromark-factory-whitespace@1.1.0: - resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} - - micromark-util-character@1.2.0: - resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} - - micromark-util-character@2.1.1: - resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - - micromark-util-chunked@1.1.0: - resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} - - micromark-util-classify-character@1.1.0: - resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} - - micromark-util-combine-extensions@1.1.0: - resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} - - micromark-util-decode-numeric-character-reference@1.1.0: - resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} - - micromark-util-decode-string@1.1.0: - resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} - - micromark-util-encode@1.1.0: - resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} - - micromark-util-encode@2.0.1: - resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - - micromark-util-events-to-acorn@1.2.3: - resolution: {integrity: sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==} - - micromark-util-html-tag-name@1.2.0: - resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} - - micromark-util-normalize-identifier@1.1.0: - resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} - - micromark-util-resolve-all@1.1.0: - resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} - - micromark-util-sanitize-uri@1.2.0: - resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} - - micromark-util-sanitize-uri@2.0.1: - resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - - micromark-util-subtokenize@1.1.0: - resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} - - micromark-util-symbol@1.1.0: - resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} - - micromark-util-symbol@2.0.1: - resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - - micromark-util-types@1.1.0: - resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} - - micromark-util-types@2.0.2: - resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} - - micromark@3.2.0: - resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} - micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -5148,10 +4305,6 @@ packages: moo@0.5.3: resolution: {integrity: sha512-m2fmM2dDm7GZQsY7KK2cme8agi+AAljILjQnof7p1ZMDe6dQ4bdnSMx0cPppudoeNv5hEFQirN6u+O4fDE0IWA==} - mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -5190,62 +4343,6 @@ packages: resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} engines: {node: '>= 0.6'} - next-mdx-remote@4.4.1: - resolution: {integrity: sha512-1BvyXaIou6xy3XoNF4yaMZUCb6vD2GTAa5ciOa6WoO+gAUTYsb1K4rI/HSC2ogAWLrb/7VSV52skz07vOzmqIQ==} - engines: {node: '>=14', npm: '>=7'} - peerDependencies: - react: '>=16.x <=18.x' - react-dom: '>=16.x <=18.x' - - next-seo@6.8.0: - resolution: {integrity: sha512-zcxaV67PFXCSf8e6SXxbxPaOTgc8St/esxfsYXfQXMM24UESUVSXFm7f2A9HMkAwa0Gqn4s64HxYZAGfdF4Vhg==} - peerDependencies: - next: ^8.1.1-canary.54 || >=9.0.0 - react: '>=16.0.0' - react-dom: '>=16.0.0' - - next-themes@0.2.1: - resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} - peerDependencies: - next: '*' - react: '*' - react-dom: '*' - - next@14.2.5: - resolution: {integrity: sha512-0f8aRfBVL+mpzfBjYfQuLWh2WyAwtJXCRfkPF4UJ5qd2YwrHczsrSzXU4tRMV0OAxR8ZJZWPFn6uhSC56UTsLA==} - engines: {node: '>=18.17.0'} - deprecated: This version has a security vulnerability. Please upgrade to a patched version. See https://nextjs.org/blog/security-update-2025-12-11 for more details. - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - '@playwright/test': ^1.41.2 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - '@playwright/test': - optional: true - sass: - optional: true - - nextra-theme-docs@2.13.4: - resolution: {integrity: sha512-2XOoMfwBCTYBt8ds4ZHftt9Wyf2XsykiNo02eir/XEYB+sGeUoE77kzqfidjEOKCSzOHYbK9BDMcg2+B/2vYRw==} - peerDependencies: - next: '>=9.5.3' - nextra: 2.13.4 - react: '>=16.13.1' - react-dom: '>=16.13.1' - - nextra@2.13.4: - resolution: {integrity: sha512-7of2rSBxuUa3+lbMmZwG9cqgftcoNOVQLTT6Rxf3EhBR9t1EI7b43dted8YoqSNaigdE3j1CoyNkX8N/ZzlEpw==} - engines: {node: '>=16'} - peerDependencies: - next: '>=9.5.3' - react: '>=16.13.1' - react-dom: '>=16.13.1' - node-abi@3.87.0: resolution: {integrity: sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ==} engines: {node: '>=10'} @@ -5281,9 +4378,6 @@ packages: resolution: {integrity: sha512-jVe6Z61gPcPjCElPZ6j8llB3wnqGcuQzefim1ERsqIakxnEy5JlzV7XKdO1KmacRG5TKwPc4vJTgSRQ0LfkbFw==} engines: {node: '>=8'} - non-layered-tidy-tree-layout@2.0.2: - resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} - nopt@6.0.0: resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -5298,18 +4392,10 @@ packages: resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} engines: {node: ^16.14.0 || >=18.0.0} - npm-run-path@2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} - npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - npm-to-yarn@2.2.1: - resolution: {integrity: sha512-O/j/ROyX0KGLG7O6Ieut/seQ0oiTpHF2tXAcFbpdTLQFiaNtkyTXXocM1fwpaa60dg1qpWj0nHlbNhx6qwuENQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - npmlog@6.0.2: resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -5344,10 +4430,6 @@ packages: resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} engines: {node: '>=8'} - p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -5367,29 +4449,17 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - parse-entities@4.0.2: - resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} - parse-json@8.3.0: resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} engines: {node: '>=18'} - parse-numeric-range@1.3.0: - resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} - parse-passwd@1.0.0: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} - parse-path@7.1.0: - resolution: {integrity: sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw==} - parse-semver@1.1.1: resolution: {integrity: sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==} - parse-url@8.1.0: - resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} - parse5-htmlparser2-tree-adapter@7.1.0: resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} @@ -5407,10 +4477,6 @@ packages: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -5447,9 +4513,6 @@ packages: pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - periscopic@3.1.0: - resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} - pg-cloudflare@1.3.0: resolution: {integrity: sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ==} @@ -5505,10 +4568,6 @@ packages: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.5.6: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} @@ -5563,21 +4622,9 @@ packages: prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - property-information@6.5.0: - resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} - - property-information@7.1.0: - resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} - - protocols@2.0.2: - resolution: {integrity: sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ==} - proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - pseudomap@1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - pump@3.0.3: resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} @@ -5683,48 +4730,12 @@ packages: resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - reading-time@1.5.0: - resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} - reduce-css-calc@1.3.0: resolution: {integrity: sha512-0dVfwYVOlf/LBA2ec4OwQ6p3X9mYxn/wOl2xTcLwjnPYrkgEfPx3VI4eGCH3rQLlPISG5v9I9bkZosKsNRTRKA==} reduce-function-call@1.0.3: resolution: {integrity: sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==} - rehype-katex@7.0.1: - resolution: {integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==} - - rehype-pretty-code@0.9.11: - resolution: {integrity: sha512-Eq90eCYXQJISktfRZ8PPtwc5SUyH6fJcxS8XOMnHPUQZBtC6RYo67gGlley9X2nR8vlniPj0/7oCDEYHKQa/oA==} - engines: {node: '>=16'} - peerDependencies: - shiki: '*' - - rehype-raw@7.0.0: - resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} - - remark-gfm@3.0.1: - resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} - - remark-math@5.1.1: - resolution: {integrity: sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw==} - - remark-mdx@2.3.0: - resolution: {integrity: sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==} - - remark-parse@10.0.2: - resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} - - remark-reading-time@2.1.0: - resolution: {integrity: sha512-gBsJbQv87TUq4dRMSOgIX6P60Tk9ke8c29KsL7bccmsv2m9AycDfVu3ghRtrNpHLZU3TE5P/vImGOMSPzYU8rA==} - - remark-rehype@10.1.0: - resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} - - remove-accents@0.5.0: - resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==} - require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -5775,13 +4786,6 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - rw@1.3.3: - resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - - sade@1.8.1: - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} - engines: {node: '>=6'} - safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -5799,18 +4803,11 @@ packages: scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} - scroll-into-view-if-needed@3.1.0: - resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} - secretlint@10.2.2: resolution: {integrity: sha512-xVpkeHV/aoWe4vP4TansF622nBEImzCY73y/0042DuJ29iKIaqgoJ8fGxre3rVSHHbxar4FdJobmTnLp9AU0eg==} engines: {node: '>=20.0.0'} hasBin: true - section-matter@1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} - semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -5827,25 +4824,14 @@ packages: set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} - shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@0.14.7: - resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==} - side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} engines: {node: '>= 0.4'} @@ -5881,10 +4867,6 @@ packages: simple-lru-cache@0.0.2: resolution: {integrity: sha512-uEv/AFO0ADI7d99OHDmh1QfYzQk/izT1vCmu/riQfh7qjBVUUgRT87E5s5h7CxWCA/+YoZerykpEthzVrW3LIw==} - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - slash@5.1.0: resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} engines: {node: '>=14.16'} @@ -5910,10 +4892,6 @@ packages: resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - sort-keys@5.1.0: - resolution: {integrity: sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==} - engines: {node: '>=12'} - source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -5925,13 +4903,6 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - source-map@0.7.6: - resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} - engines: {node: '>= 12'} - - space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} @@ -5948,9 +4919,6 @@ packages: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} @@ -5981,10 +4949,6 @@ packages: stream-shift@1.0.3: resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} - streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -5996,9 +4960,6 @@ packages: string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - stringify-entities@4.0.4: - resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -6007,14 +4968,6 @@ packages: resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} - strip-bom-string@1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - - strip-eof@1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} - strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -6044,29 +4997,6 @@ packages: style-mod@4.1.3: resolution: {integrity: sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==} - style-to-object@0.4.4: - resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} - - styled-jsx@5.1.1: - resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true - - stylis@4.3.6: - resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} - - supports-color@4.5.0: - resolution: {integrity: sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==} - engines: {node: '>=4'} - supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -6160,14 +5090,6 @@ packages: resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} engines: {node: '>=14.0.0'} - title@3.5.3: - resolution: {integrity: sha512-20JyowYglSEeCvZv3EZ0nZ046vLarO37prvV0mbtQV7C8DJPGgN967r8SJkqd3XK3K3lD3/Iyfp3avjfil8Q2Q==} - hasBin: true - - titleize@1.0.0: - resolution: {integrity: sha512-TARUb7z1pGvlLxgPk++7wJ6aycXF3GJ0sNSBTAsTuJrQG5QuZlkUQP+zl+nbjAh4gMX9yDw9ZYklMd7vAfJKEw==} - engines: {node: '>=0.10.0'} - tmp@0.2.5: resolution: {integrity: sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==} engines: {node: '>=14.14'} @@ -6182,20 +5104,10 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - triple-beam@1.4.1: resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} engines: {node: '>= 14.0.0'} - trough@2.2.0: - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - - ts-dedent@2.2.0: - resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} - engines: {node: '>=6.10'} - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -6249,10 +5161,6 @@ packages: resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} engines: {node: '>=4'} - type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - type-fest@4.41.0: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} @@ -6260,11 +5168,6 @@ packages: typed-rest-client@1.8.11: resolution: {integrity: sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==} - typescript@5.5.3: - resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} - engines: {node: '>=14.17'} - hasBin: true - typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} @@ -6297,9 +5200,6 @@ packages: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} engines: {node: '>=18'} - unified@10.1.2: - resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} - unique-filename@2.0.1: resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -6308,54 +5208,6 @@ packages: resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - unist-util-find-after@5.0.0: - resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} - - unist-util-generated@2.0.1: - resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} - - unist-util-is@5.2.1: - resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} - - unist-util-is@6.0.1: - resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} - - unist-util-position-from-estree@1.1.2: - resolution: {integrity: sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==} - - unist-util-position@4.0.4: - resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} - - unist-util-position@5.0.0: - resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - - unist-util-remove-position@4.0.2: - resolution: {integrity: sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==} - - unist-util-remove-position@5.0.0: - resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} - - unist-util-remove@4.0.0: - resolution: {integrity: sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==} - - unist-util-stringify-position@3.0.3: - resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} - - unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - - unist-util-visit-parents@5.1.3: - resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} - - unist-util-visit-parents@6.0.2: - resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} - - unist-util-visit@4.1.2: - resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} - - unist-util-visit@5.1.0: - resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} - universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -6405,11 +5257,6 @@ packages: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true - uvu@0.5.6: - resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} - engines: {node: '>=8'} - hasBin: true - validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -6417,24 +5264,6 @@ packages: resolution: {integrity: sha512-Ck0EJbAGxHwprkzFO966t4/5QkRuzh+/I1RxhLgUKKwEn+Cd8NwM60mE3AqBZg5gYODoXW0EFsQvbZjRlvdqbg==} engines: {node: '>=4'} - vfile-location@5.0.3: - resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} - - vfile-matter@3.0.1: - resolution: {integrity: sha512-CAAIDwnh6ZdtrqAuxdElUqQRQDQgbbIrYtDYI8gCjXS1qQ+1XdLoK8FIZWxJwn0/I+BkSSZpar3SOgjemQz4fg==} - - vfile-message@3.1.4: - resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} - - vfile-message@4.0.3: - resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} - - vfile@5.3.7: - resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} - - vfile@6.0.3: - resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-node@1.6.1: resolution: {integrity: sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -6590,21 +5419,9 @@ packages: resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} hasBin: true - vscode-oniguruma@1.7.0: - resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} - - vscode-textmate@8.0.0: - resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} - w3c-keyname@2.2.8: resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} - web-namespaces@2.0.1: - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - - web-worker@1.5.0: - resolution: {integrity: sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==} - webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -6620,10 +5437,6 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -6672,9 +5485,6 @@ packages: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} - yallist@2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -6704,9 +5514,6 @@ packages: resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} engines: {node: '>=12.20'} - zod@3.25.76: - resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - zustand@4.5.7: resolution: {integrity: sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==} engines: {node: '>=12.7.0'} @@ -6740,9 +5547,6 @@ packages: use-sync-external-store: optional: true - zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - snapshots: '@aws-crypto/crc32@5.2.0': @@ -7819,8 +6623,6 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/runtime@7.29.2': {} - '@babel/template@7.28.6': dependencies: '@babel/code-frame': 7.29.0 @@ -7844,8 +6646,6 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@braintree/sanitize-url@6.0.4': {} - '@codemirror/autocomplete@6.20.1': dependencies: '@codemirror/language': 6.12.2 @@ -8299,13 +7099,6 @@ snapshots: - encoding - supports-color - '@headlessui/react@1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@tanstack/react-virtual': 3.13.24(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - client-only: 0.0.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -8377,127 +7170,7 @@ snapshots: '@marijn/find-cluster-break@1.0.2': {} - '@mdx-js/mdx@2.3.0': - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/mdx': 2.0.13 - estree-util-build-jsx: 2.2.2 - estree-util-is-identifier-name: 2.1.0 - estree-util-to-js: 1.2.0 - estree-walker: 3.0.3 - hast-util-to-estree: 2.3.3 - markdown-extensions: 1.1.1 - periscopic: 3.1.0 - remark-mdx: 2.3.0 - remark-parse: 10.0.2 - remark-rehype: 10.1.0 - unified: 10.1.2 - unist-util-position-from-estree: 1.1.2 - unist-util-stringify-position: 3.0.3 - unist-util-visit: 4.1.2 - vfile: 5.3.7 - transitivePeerDependencies: - - supports-color - - '@mdx-js/react@2.3.0(react@18.3.1)': - dependencies: - '@types/mdx': 2.0.13 - '@types/react': 18.3.3 - react: 18.3.1 - - '@napi-rs/simple-git-android-arm-eabi@0.1.22': - optional: true - - '@napi-rs/simple-git-android-arm64@0.1.22': - optional: true - - '@napi-rs/simple-git-darwin-arm64@0.1.22': - optional: true - - '@napi-rs/simple-git-darwin-x64@0.1.22': - optional: true - - '@napi-rs/simple-git-freebsd-x64@0.1.22': - optional: true - - '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.22': - optional: true - - '@napi-rs/simple-git-linux-arm64-gnu@0.1.22': - optional: true - - '@napi-rs/simple-git-linux-arm64-musl@0.1.22': - optional: true - - '@napi-rs/simple-git-linux-ppc64-gnu@0.1.22': - optional: true - - '@napi-rs/simple-git-linux-s390x-gnu@0.1.22': - optional: true - - '@napi-rs/simple-git-linux-x64-gnu@0.1.22': - optional: true - - '@napi-rs/simple-git-linux-x64-musl@0.1.22': - optional: true - - '@napi-rs/simple-git-win32-arm64-msvc@0.1.22': - optional: true - - '@napi-rs/simple-git-win32-ia32-msvc@0.1.22': - optional: true - - '@napi-rs/simple-git-win32-x64-msvc@0.1.22': - optional: true - - '@napi-rs/simple-git@0.1.22': - optionalDependencies: - '@napi-rs/simple-git-android-arm-eabi': 0.1.22 - '@napi-rs/simple-git-android-arm64': 0.1.22 - '@napi-rs/simple-git-darwin-arm64': 0.1.22 - '@napi-rs/simple-git-darwin-x64': 0.1.22 - '@napi-rs/simple-git-freebsd-x64': 0.1.22 - '@napi-rs/simple-git-linux-arm-gnueabihf': 0.1.22 - '@napi-rs/simple-git-linux-arm64-gnu': 0.1.22 - '@napi-rs/simple-git-linux-arm64-musl': 0.1.22 - '@napi-rs/simple-git-linux-ppc64-gnu': 0.1.22 - '@napi-rs/simple-git-linux-s390x-gnu': 0.1.22 - '@napi-rs/simple-git-linux-x64-gnu': 0.1.22 - '@napi-rs/simple-git-linux-x64-musl': 0.1.22 - '@napi-rs/simple-git-win32-arm64-msvc': 0.1.22 - '@napi-rs/simple-git-win32-ia32-msvc': 0.1.22 - '@napi-rs/simple-git-win32-x64-msvc': 0.1.22 - - '@next/env@14.2.5': {} - - '@next/swc-darwin-arm64@14.2.5': - optional: true - - '@next/swc-darwin-x64@14.2.5': - optional: true - - '@next/swc-linux-arm64-gnu@14.2.5': - optional: true - - '@next/swc-linux-arm64-musl@14.2.5': - optional: true - - '@next/swc-linux-x64-gnu@14.2.5': - optional: true - - '@next/swc-linux-x64-musl@14.2.5': - optional: true - - '@next/swc-win32-arm64-msvc@14.2.5': - optional: true - - '@next/swc-win32-ia32-msvc@14.2.5': - optional: true - - '@next/swc-win32-x64-msvc@14.2.5': - optional: true - - '@nodelib/fs.scandir@2.1.5': + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 @@ -8524,8 +7197,6 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@popperjs/core@2.11.8': {} - '@radix-ui/primitive@1.1.3': {} '@radix-ui/react-arrow@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': @@ -9631,21 +8302,6 @@ snapshots: color: 5.0.3 text-hex: 1.0.0 - '@swc/counter@0.1.3': {} - - '@swc/helpers@0.5.5': - dependencies: - '@swc/counter': 0.1.3 - tslib: 2.8.1 - - '@tanstack/react-virtual@3.13.24(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@tanstack/virtual-core': 3.14.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@tanstack/virtual-core@3.14.0': {} - '@tauri-apps/cli-darwin-arm64@2.1.0': optional: true @@ -9728,25 +8384,8 @@ snapshots: dependencies: '@textlint/ast-node-types': 15.5.2 - '@theguild/remark-mermaid@0.0.5(react@18.3.1)': - dependencies: - mermaid: 10.9.5 - react: 18.3.1 - unist-util-visit: 5.1.0 - transitivePeerDependencies: - - supports-color - - '@theguild/remark-npm2yarn@0.2.1': - dependencies: - npm-to-yarn: 2.2.1 - unist-util-visit: 5.1.0 - '@tootallnate/once@2.0.0': {} - '@types/acorn@4.0.6': - dependencies: - '@types/estree': 1.0.8 - '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.29.2 @@ -9805,16 +8444,10 @@ snapshots: '@types/d3-path@1.0.11': {} - '@types/d3-scale-chromatic@3.1.0': {} - '@types/d3-scale@4.0.2': dependencies: '@types/d3-time': 3.0.0 - '@types/d3-scale@4.0.9': - dependencies: - '@types/d3-time': 3.0.0 - '@types/d3-selection@3.0.11': {} '@types/d3-shape@1.3.12': @@ -9837,42 +8470,20 @@ snapshots: '@types/debug@4.1.12': dependencies: '@types/ms': 2.1.0 + optional: true '@types/deep-eql@4.0.2': {} - '@types/estree-jsx@1.0.5': - dependencies: - '@types/estree': 1.0.8 - '@types/estree@1.0.8': {} '@types/geojson@7946.0.16': {} - '@types/hast@2.3.10': - dependencies: - '@types/unist': 2.0.11 - - '@types/hast@3.0.4': - dependencies: - '@types/unist': 3.0.3 - '@types/js-yaml@4.0.9': {} - '@types/katex@0.16.8': {} - '@types/lodash@4.17.23': {} - '@types/mdast@3.0.15': - dependencies: - '@types/unist': 2.0.11 - - '@types/mdast@4.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/mdx@2.0.13': {} - - '@types/ms@2.1.0': {} + '@types/ms@2.1.0': + optional: true '@types/mssql@9.1.9(@azure/core-client@1.10.1)': dependencies: @@ -9943,17 +8554,10 @@ snapshots: '@types/triple-beam@1.3.5': {} - '@types/trusted-types@2.0.7': - optional: true - '@types/tunnel@0.0.3': dependencies: '@types/node': 20.14.10 - '@types/unist@2.0.11': {} - - '@types/unist@3.0.3': {} - '@types/vscode@1.109.0': {} '@typespec/ts-http-runtime@0.3.3': @@ -9964,8 +8568,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@ungap/structured-clone@1.3.0': {} - '@visx/axis@3.12.0(react@18.3.1)': dependencies: '@types/react': 18.3.3 @@ -10286,10 +8888,6 @@ snapshots: dependencies: event-target-shim: 5.0.1 - acorn-jsx@5.3.2(acorn@8.16.0): - dependencies: - acorn: 8.16.0 - acorn-walk@8.3.5: dependencies: acorn: 8.16.0 @@ -10328,12 +8926,6 @@ snapshots: ansi-regex@6.2.2: {} - ansi-sequence-parser@1.1.3: {} - - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -10344,19 +8936,11 @@ snapshots: aproba@2.1.0: {} - arch@2.2.0: {} - are-we-there-yet@3.0.1: dependencies: delegates: 1.0.0 readable-stream: 3.6.2 - arg@1.0.0: {} - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - argparse@2.0.1: {} aria-hidden@1.2.6: @@ -10387,8 +8971,6 @@ snapshots: astral-regex@2.0.0: {} - astring@1.9.0: {} - async-retry@1.3.3: dependencies: retry: 0.13.1 @@ -10412,8 +8994,6 @@ snapshots: tunnel: 0.0.6 typed-rest-client: 1.8.11 - bail@2.0.2: {} - balanced-match@0.4.2: {} balanced-match@1.0.2: {} @@ -10516,10 +9096,6 @@ snapshots: dependencies: run-applescript: 7.1.0 - busboy@1.6.0: - dependencies: - streamsearch: 1.1.0 - cac@6.7.14: {} cacache@16.1.3: @@ -10557,8 +9133,6 @@ snapshots: caniuse-lite@1.0.30001780: {} - ccount@2.0.1: {} - chai@4.5.0: dependencies: assertion-error: 1.1.0 @@ -10577,12 +9151,6 @@ snapshots: loupe: 3.2.1 pathval: 2.0.1 - chalk@2.3.0: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 4.5.0 - chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -10590,14 +9158,6 @@ snapshots: chalk@5.6.2: {} - character-entities-html4@2.1.0: {} - - character-entities-legacy@3.0.0: {} - - character-entities@2.0.2: {} - - character-reference-invalid@2.0.1: {} - check-error@1.0.3: dependencies: get-func-name: 2.0.2 @@ -10639,21 +9199,8 @@ snapshots: clean-stack@2.2.0: {} - client-only@0.0.1: {} - - clipboardy@1.2.2: - dependencies: - arch: 2.2.0 - execa: 0.8.0 - - clsx@2.1.1: {} - cockatiel@3.2.1: {} - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - color-convert@2.0.1: dependencies: color-name: 1.1.4 @@ -10662,8 +9209,6 @@ snapshots: dependencies: color-name: 2.1.0 - color-name@1.1.3: {} - color-name@1.1.4: {} color-name@2.1.0: {} @@ -10683,20 +9228,12 @@ snapshots: dependencies: delayed-stream: 1.0.0 - comma-separated-tokens@2.0.3: {} - commander@11.1.0: {} commander@12.1.0: {} commander@2.20.3: {} - commander@7.2.0: {} - - commander@8.3.0: {} - - compute-scroll-into-view@3.1.1: {} - concat-map@0.0.1: {} confbox@0.1.8: {} @@ -10707,18 +9244,8 @@ snapshots: convert-source-map@2.0.0: {} - cose-base@1.0.3: - dependencies: - layout-base: 1.0.2 - crelt@1.0.6: {} - cross-spawn@5.1.0: - dependencies: - lru-cache: 4.1.5 - shebang-command: 1.2.0 - which: 1.3.1 - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -10737,41 +9264,12 @@ snapshots: csstype@3.2.3: {} - cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.2): - dependencies: - cose-base: 1.0.3 - cytoscape: 3.33.2 - - cytoscape@3.33.2: {} - - d3-array@2.12.1: - dependencies: - internmap: 1.0.1 - d3-array@3.2.1: dependencies: internmap: 2.0.3 - d3-axis@3.0.0: {} - - d3-brush@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - - d3-chord@3.0.1: - dependencies: - d3-path: 3.1.0 - d3-color@3.1.0: {} - d3-contour@4.0.2: - dependencies: - d3-array: 3.2.1 - d3-delaunay@6.0.2: dependencies: delaunator: 5.0.1 @@ -10783,56 +9281,20 @@ snapshots: d3-dispatch: 3.0.1 d3-selection: 3.0.0 - d3-dsv@3.0.1: - dependencies: - commander: 7.2.0 - iconv-lite: 0.6.3 - rw: 1.3.3 - d3-ease@3.0.1: {} - d3-fetch@3.0.1: - dependencies: - d3-dsv: 3.0.1 - - d3-force@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-quadtree: 3.0.1 - d3-timer: 3.0.1 - d3-format@3.1.0: {} d3-geo@3.1.0: dependencies: d3-array: 3.2.1 - d3-hierarchy@3.1.2: {} - d3-interpolate@3.0.1: dependencies: d3-color: 3.1.0 d3-path@1.0.9: {} - d3-path@3.1.0: {} - - d3-polygon@3.0.1: {} - - d3-quadtree@3.0.1: {} - - d3-random@3.0.1: {} - - d3-sankey@0.12.3: - dependencies: - d3-array: 2.12.1 - d3-shape: 1.3.7 - - d3-scale-chromatic@3.1.0: - dependencies: - d3-color: 3.1.0 - d3-interpolate: 3.0.1 - d3-scale@4.0.2: dependencies: d3-array: 3.2.1 @@ -10847,10 +9309,6 @@ snapshots: dependencies: d3-path: 1.0.9 - d3-shape@3.2.0: - dependencies: - d3-path: 3.1.0 - d3-time-format@4.1.0: dependencies: d3-time: 3.1.0 @@ -10878,54 +9336,10 @@ snapshots: d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - d3@7.9.0: - dependencies: - d3-array: 3.2.1 - d3-axis: 3.0.0 - d3-brush: 3.0.0 - d3-chord: 3.0.1 - d3-color: 3.1.0 - d3-contour: 4.0.2 - d3-delaunay: 6.0.2 - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-dsv: 3.0.1 - d3-ease: 3.0.1 - d3-fetch: 3.0.1 - d3-force: 3.0.0 - d3-format: 3.1.0 - d3-geo: 3.1.0 - d3-hierarchy: 3.1.2 - d3-interpolate: 3.0.1 - d3-path: 3.1.0 - d3-polygon: 3.0.1 - d3-quadtree: 3.0.1 - d3-random: 3.0.1 - d3-scale: 4.0.2 - d3-scale-chromatic: 3.1.0 - d3-selection: 3.0.0 - d3-shape: 3.2.0 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - d3-timer: 3.0.1 - d3-transition: 3.0.1(d3-selection@3.0.0) - d3-zoom: 3.0.0 - - dagre-d3-es@7.0.13: - dependencies: - d3: 7.9.0 - lodash-es: 4.18.1 - - dayjs@1.11.20: {} - debug@4.4.3: dependencies: ms: 2.1.3 - decode-named-character-reference@1.3.0: - dependencies: - character-entities: 2.0.2 - decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 @@ -10957,20 +9371,12 @@ snapshots: denque@2.1.0: {} - dequal@2.0.3: {} - detect-libc@2.1.2: {} detect-node-es@1.1.0: {} - devlop@1.1.0: - dependencies: - dequal: 2.0.3 - diff-sequences@29.6.3: {} - diff@5.2.2: {} - discontinuous-range@1.0.0: {} dom-serializer@2.0.0: @@ -10985,10 +9391,6 @@ snapshots: dependencies: domelementtype: 2.3.0 - dompurify@3.4.0: - optionalDependencies: - '@types/trusted-types': 2.0.7 - domutils@3.2.2: dependencies: dom-serializer: 2.0.0 @@ -11030,8 +9432,6 @@ snapshots: electron-to-chromium@1.5.321: {} - elkjs@0.9.3: {} - emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -11195,41 +9595,6 @@ snapshots: escalade@3.2.0: {} - escape-string-regexp@1.0.5: {} - - escape-string-regexp@5.0.0: {} - - esprima@4.0.1: {} - - estree-util-attach-comments@2.1.1: - dependencies: - '@types/estree': 1.0.8 - - estree-util-build-jsx@2.2.2: - dependencies: - '@types/estree-jsx': 1.0.5 - estree-util-is-identifier-name: 2.1.0 - estree-walker: 3.0.3 - - estree-util-is-identifier-name@2.1.0: {} - - estree-util-is-identifier-name@3.0.0: {} - - estree-util-to-js@1.2.0: - dependencies: - '@types/estree-jsx': 1.0.5 - astring: 1.9.0 - source-map: 0.7.6 - - estree-util-value-to-estree@3.5.0: - dependencies: - '@types/estree': 1.0.8 - - estree-util-visit@1.2.1: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/unist': 2.0.11 - estree-walker@3.0.3: dependencies: '@types/estree': 1.0.8 @@ -11238,16 +9603,6 @@ snapshots: events@3.3.0: {} - execa@0.8.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 - execa@8.0.1: dependencies: cross-spawn: 7.0.6 @@ -11270,10 +9625,6 @@ snapshots: exponential-backoff@3.1.3: {} - extend-shallow@2.0.1: - dependencies: - is-extendable: 0.1.1 - extend@3.0.2: {} fast-deep-equal@3.1.3: {} @@ -11332,12 +9683,8 @@ snapshots: dependencies: to-regex-range: 5.0.1 - flexsearch@0.7.43: {} - fn.name@1.1.0: {} - focus-visible@5.2.1: {} - follow-redirects@1.15.11: {} foreground-child@3.3.1: @@ -11442,27 +9789,14 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 - get-stream@3.0.0: {} - get-stream@8.0.1: {} get-tsconfig@4.13.6: dependencies: resolve-pkg-maps: 1.0.0 - git-up@7.0.0: - dependencies: - is-ssh: 1.4.1 - parse-url: 8.1.0 - - git-url-parse@13.1.1: - dependencies: - git-up: 7.0.0 - github-from-package@0.0.0: {} - github-slugger@2.0.0: {} - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -11529,13 +9863,6 @@ snapshots: graceful-fs@4.2.11: {} - gray-matter@4.0.3: - dependencies: - js-yaml: 3.14.2 - kind-of: 6.0.3 - section-matter: 1.0.0 - strip-bom-string: 1.0.0 - gtoken@7.1.0(encoding@0.1.13): dependencies: gaxios: 6.7.1(encoding@0.1.13) @@ -11544,8 +9871,6 @@ snapshots: - encoding - supports-color - has-flag@2.0.0: {} - has-flag@4.0.0: {} has-symbols@1.1.0: {} @@ -11556,136 +9881,24 @@ snapshots: has-unicode@2.0.1: {} - hash-obj@4.0.0: - dependencies: - is-obj: 3.0.0 - sort-keys: 5.1.0 - type-fest: 1.4.0 - hasown@2.0.2: dependencies: function-bind: 1.1.2 - hast-util-from-dom@5.0.1: + homedir-polyfill@1.0.3: dependencies: - '@types/hast': 3.0.4 - hastscript: 9.0.1 - web-namespaces: 2.0.1 + parse-passwd: 1.0.0 - hast-util-from-html-isomorphic@2.0.0: + hosted-git-info@4.1.0: dependencies: - '@types/hast': 3.0.4 - hast-util-from-dom: 5.0.1 - hast-util-from-html: 2.0.3 - unist-util-remove-position: 5.0.0 + lru-cache: 6.0.0 - hast-util-from-html@2.0.3: + hosted-git-info@7.0.2: dependencies: - '@types/hast': 3.0.4 - devlop: 1.1.0 - hast-util-from-parse5: 8.0.3 - parse5: 7.3.0 - vfile: 6.0.3 - vfile-message: 4.0.3 - - hast-util-from-parse5@8.0.3: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - devlop: 1.1.0 - hastscript: 9.0.1 - property-information: 7.1.0 - vfile: 6.0.3 - vfile-location: 5.0.3 - web-namespaces: 2.0.1 - - hast-util-is-element@3.0.0: - dependencies: - '@types/hast': 3.0.4 - - hast-util-parse-selector@4.0.0: - dependencies: - '@types/hast': 3.0.4 - - hast-util-raw@9.1.0: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - '@ungap/structured-clone': 1.3.0 - hast-util-from-parse5: 8.0.3 - hast-util-to-parse5: 8.0.1 - html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.1 - parse5: 7.3.0 - unist-util-position: 5.0.0 - unist-util-visit: 5.1.0 - vfile: 6.0.3 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - - hast-util-to-estree@2.3.3: - dependencies: - '@types/estree': 1.0.8 - '@types/estree-jsx': 1.0.5 - '@types/hast': 2.3.10 - '@types/unist': 2.0.11 - comma-separated-tokens: 2.0.3 - estree-util-attach-comments: 2.1.1 - estree-util-is-identifier-name: 2.1.0 - hast-util-whitespace: 2.0.1 - mdast-util-mdx-expression: 1.3.2 - mdast-util-mdxjs-esm: 1.3.1 - property-information: 6.5.0 - space-separated-tokens: 2.0.2 - style-to-object: 0.4.4 - unist-util-position: 4.0.4 - zwitch: 2.0.4 - transitivePeerDependencies: - - supports-color - - hast-util-to-parse5@8.0.1: - dependencies: - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - devlop: 1.1.0 - property-information: 7.1.0 - space-separated-tokens: 2.0.2 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - - hast-util-to-text@4.0.2: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - hast-util-is-element: 3.0.0 - unist-util-find-after: 5.0.0 - - hast-util-whitespace@2.0.1: {} - - hastscript@9.0.1: - dependencies: - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 4.0.0 - property-information: 7.1.0 - space-separated-tokens: 2.0.2 - - homedir-polyfill@1.0.3: - dependencies: - parse-passwd: 1.0.0 - - hosted-git-info@4.1.0: - dependencies: - lru-cache: 6.0.0 - - hosted-git-info@7.0.2: - dependencies: - lru-cache: 10.4.3 + lru-cache: 10.4.3 html-entities@2.6.0: {} - html-void-elements@3.0.0: {} - htmlparser2@10.1.0: dependencies: domelementtype: 2.3.0 @@ -11759,33 +9972,14 @@ snapshots: ini@1.3.8: {} - inline-style-parser@0.1.1: {} - - internmap@1.0.1: {} - internmap@2.0.3: {} - intersection-observer@0.12.2: {} - ip-address@10.1.0: {} - is-alphabetical@2.0.1: {} - - is-alphanumerical@2.0.1: - dependencies: - is-alphabetical: 2.0.1 - is-decimal: 2.0.1 - - is-buffer@2.0.5: {} - - is-decimal@2.0.1: {} - is-docker@2.2.1: {} is-docker@3.0.0: {} - is-extendable@0.1.1: {} - is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} @@ -11794,8 +9988,6 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-hexadecimal@2.0.1: {} - is-inside-container@1.0.0: dependencies: is-docker: 3.0.0 @@ -11804,22 +9996,8 @@ snapshots: is-number@7.0.0: {} - is-obj@3.0.0: {} - - is-plain-obj@4.1.0: {} - is-property@1.0.2: {} - is-reference@3.0.3: - dependencies: - '@types/estree': 1.0.8 - - is-ssh@1.4.1: - dependencies: - protocols: 2.0.2 - - is-stream@1.1.0: {} - is-stream@2.0.1: {} is-stream@3.0.0: {} @@ -11861,11 +10039,6 @@ snapshots: js-tokens@9.0.1: {} - js-yaml@3.14.2: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - js-yaml@4.1.1: dependencies: argparse: 2.0.1 @@ -11912,26 +10085,14 @@ snapshots: jwa: 2.0.1 safe-buffer: 5.2.1 - katex@0.16.45: - dependencies: - commander: 8.3.0 - keytar@7.9.0: dependencies: node-addon-api: 4.3.0 prebuild-install: 7.1.3 optional: true - khroma@2.1.0: {} - - kind-of@6.0.3: {} - - kleur@4.1.5: {} - kuler@2.0.0: {} - layout-base@1.0.2: {} - leven@3.1.0: {} linkify-it@5.0.0: @@ -11943,10 +10104,6 @@ snapshots: mlly: 1.8.2 pkg-types: 1.3.1 - lodash-es@4.18.1: {} - - lodash.get@4.4.2: {} - lodash.includes@4.3.0: {} lodash.isboolean@3.0.3: {} @@ -11978,8 +10135,6 @@ snapshots: long@5.3.2: {} - longest-streak@3.1.0: {} - loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 @@ -11994,11 +10149,6 @@ snapshots: lru-cache@11.2.6: {} - lru-cache@4.1.5: - dependencies: - pseudomap: 1.0.2 - yallist: 2.1.2 - lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -12037,8 +10187,6 @@ snapshots: - bluebird - supports-color - markdown-extensions@1.1.1: {} - markdown-it@14.1.1: dependencies: argparse: 2.0.1 @@ -12048,509 +10196,16 @@ snapshots: punycode.js: 2.3.1 uc.micro: 2.1.0 - markdown-table@3.0.4: {} - - match-sorter@6.3.4: - dependencies: - '@babel/runtime': 7.29.2 - remove-accents: 0.5.0 - math-expression-evaluator@1.4.0: {} math-intrinsics@1.1.0: {} - mdast-util-definitions@5.1.2: - dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 - unist-util-visit: 4.1.2 - - mdast-util-find-and-replace@2.2.2: - dependencies: - '@types/mdast': 3.0.15 - escape-string-regexp: 5.0.0 - unist-util-is: 5.2.1 - unist-util-visit-parents: 5.1.3 - - mdast-util-from-markdown@1.3.1: - dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 - decode-named-character-reference: 1.3.0 - mdast-util-to-string: 3.2.0 - micromark: 3.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-decode-string: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-stringify-position: 3.0.3 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-autolink-literal@1.0.3: - dependencies: - '@types/mdast': 3.0.15 - ccount: 2.0.1 - mdast-util-find-and-replace: 2.2.2 - micromark-util-character: 1.2.0 - - mdast-util-gfm-footnote@1.0.2: - dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-markdown: 1.5.0 - micromark-util-normalize-identifier: 1.1.0 - - mdast-util-gfm-strikethrough@1.0.3: - dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-markdown: 1.5.0 - - mdast-util-gfm-table@1.0.7: - dependencies: - '@types/mdast': 3.0.15 - markdown-table: 3.0.4 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-task-list-item@1.0.2: - dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-markdown: 1.5.0 - - mdast-util-gfm@2.0.2: - dependencies: - mdast-util-from-markdown: 1.3.1 - mdast-util-gfm-autolink-literal: 1.0.3 - mdast-util-gfm-footnote: 1.0.2 - mdast-util-gfm-strikethrough: 1.0.3 - mdast-util-gfm-table: 1.0.7 - mdast-util-gfm-task-list-item: 1.0.2 - mdast-util-to-markdown: 1.5.0 - transitivePeerDependencies: - - supports-color - - mdast-util-math@2.0.2: - dependencies: - '@types/mdast': 3.0.15 - longest-streak: 3.1.0 - mdast-util-to-markdown: 1.5.0 - - mdast-util-mdx-expression@1.3.2: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 - transitivePeerDependencies: - - supports-color - - mdast-util-mdx-jsx@2.1.4: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 - ccount: 2.0.1 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 - parse-entities: 4.0.2 - stringify-entities: 4.0.4 - unist-util-remove-position: 4.0.2 - unist-util-stringify-position: 3.0.3 - vfile-message: 3.1.4 - transitivePeerDependencies: - - supports-color - - mdast-util-mdx@2.0.1: - dependencies: - mdast-util-from-markdown: 1.3.1 - mdast-util-mdx-expression: 1.3.2 - mdast-util-mdx-jsx: 2.1.4 - mdast-util-mdxjs-esm: 1.3.1 - mdast-util-to-markdown: 1.5.0 - transitivePeerDependencies: - - supports-color - - mdast-util-mdxjs-esm@1.3.1: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 - transitivePeerDependencies: - - supports-color - - mdast-util-phrasing@3.0.1: - dependencies: - '@types/mdast': 3.0.15 - unist-util-is: 5.2.1 - - mdast-util-to-hast@12.3.0: - dependencies: - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - mdast-util-definitions: 5.1.2 - micromark-util-sanitize-uri: 1.2.0 - trim-lines: 3.0.1 - unist-util-generated: 2.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 4.1.2 - - mdast-util-to-hast@13.2.1: - dependencies: - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.3.0 - devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.1 - trim-lines: 3.0.1 - unist-util-position: 5.0.0 - unist-util-visit: 5.1.0 - vfile: 6.0.3 - - mdast-util-to-markdown@1.5.0: - dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 - longest-streak: 3.1.0 - mdast-util-phrasing: 3.0.1 - mdast-util-to-string: 3.2.0 - micromark-util-decode-string: 1.1.0 - unist-util-visit: 4.1.2 - zwitch: 2.0.4 - - mdast-util-to-string@3.2.0: - dependencies: - '@types/mdast': 3.0.15 - mdurl@2.0.0: {} merge-stream@2.0.0: {} merge2@1.4.1: {} - mermaid@10.9.5: - dependencies: - '@braintree/sanitize-url': 6.0.4 - '@types/d3-scale': 4.0.9 - '@types/d3-scale-chromatic': 3.1.0 - cytoscape: 3.33.2 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.2) - d3: 7.9.0 - d3-sankey: 0.12.3 - dagre-d3-es: 7.0.13 - dayjs: 1.11.20 - dompurify: 3.4.0 - elkjs: 0.9.3 - katex: 0.16.45 - khroma: 2.1.0 - lodash-es: 4.18.1 - mdast-util-from-markdown: 1.3.1 - non-layered-tidy-tree-layout: 2.0.2 - stylis: 4.3.6 - ts-dedent: 2.2.0 - uuid: 9.0.1 - web-worker: 1.5.0 - transitivePeerDependencies: - - supports-color - - micromark-core-commonmark@1.1.0: - dependencies: - decode-named-character-reference: 1.3.0 - micromark-factory-destination: 1.1.0 - micromark-factory-label: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-factory-title: 1.1.0 - micromark-factory-whitespace: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-classify-character: 1.1.0 - micromark-util-html-tag-name: 1.2.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - - micromark-extension-gfm-autolink-literal@1.0.5: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-extension-gfm-footnote@1.1.2: - dependencies: - micromark-core-commonmark: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - - micromark-extension-gfm-strikethrough@1.0.7: - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-classify-character: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - - micromark-extension-gfm-table@1.0.7: - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - - micromark-extension-gfm-tagfilter@1.0.2: - dependencies: - micromark-util-types: 1.1.0 - - micromark-extension-gfm-task-list-item@1.0.5: - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - - micromark-extension-gfm@2.0.3: - dependencies: - micromark-extension-gfm-autolink-literal: 1.0.5 - micromark-extension-gfm-footnote: 1.1.2 - micromark-extension-gfm-strikethrough: 1.0.7 - micromark-extension-gfm-table: 1.0.7 - micromark-extension-gfm-tagfilter: 1.0.2 - micromark-extension-gfm-task-list-item: 1.0.5 - micromark-util-combine-extensions: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-extension-math@2.1.2: - dependencies: - '@types/katex': 0.16.8 - katex: 0.16.45 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - - micromark-extension-mdx-expression@1.0.8: - dependencies: - '@types/estree': 1.0.8 - micromark-factory-mdx-expression: 1.0.9 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-events-to-acorn: 1.2.3 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - - micromark-extension-mdx-jsx@1.0.5: - dependencies: - '@types/acorn': 4.0.6 - '@types/estree': 1.0.8 - estree-util-is-identifier-name: 2.1.0 - micromark-factory-mdx-expression: 1.0.9 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - vfile-message: 3.1.4 - - micromark-extension-mdx-md@1.0.1: - dependencies: - micromark-util-types: 1.1.0 - - micromark-extension-mdxjs-esm@1.0.5: - dependencies: - '@types/estree': 1.0.8 - micromark-core-commonmark: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-events-to-acorn: 1.2.3 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-position-from-estree: 1.1.2 - uvu: 0.5.6 - vfile-message: 3.1.4 - - micromark-extension-mdxjs@1.0.1: - dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) - micromark-extension-mdx-expression: 1.0.8 - micromark-extension-mdx-jsx: 1.0.5 - micromark-extension-mdx-md: 1.0.1 - micromark-extension-mdxjs-esm: 1.0.5 - micromark-util-combine-extensions: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-factory-destination@1.1.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-factory-label@1.1.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - - micromark-factory-mdx-expression@1.0.9: - dependencies: - '@types/estree': 1.0.8 - micromark-util-character: 1.2.0 - micromark-util-events-to-acorn: 1.2.3 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-position-from-estree: 1.1.2 - uvu: 0.5.6 - vfile-message: 3.1.4 - - micromark-factory-space@1.1.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-types: 1.1.0 - - micromark-factory-title@1.1.0: - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-factory-whitespace@1.1.0: - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-util-character@1.2.0: - dependencies: - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-util-character@2.1.1: - dependencies: - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-util-chunked@1.1.0: - dependencies: - micromark-util-symbol: 1.1.0 - - micromark-util-classify-character@1.1.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-util-combine-extensions@1.1.0: - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-util-decode-numeric-character-reference@1.1.0: - dependencies: - micromark-util-symbol: 1.1.0 - - micromark-util-decode-string@1.1.0: - dependencies: - decode-named-character-reference: 1.3.0 - micromark-util-character: 1.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-symbol: 1.1.0 - - micromark-util-encode@1.1.0: {} - - micromark-util-encode@2.0.1: {} - - micromark-util-events-to-acorn@1.2.3: - dependencies: - '@types/acorn': 4.0.6 - '@types/estree': 1.0.8 - '@types/unist': 2.0.11 - estree-util-visit: 1.2.1 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - vfile-message: 3.1.4 - - micromark-util-html-tag-name@1.2.0: {} - - micromark-util-normalize-identifier@1.1.0: - dependencies: - micromark-util-symbol: 1.1.0 - - micromark-util-resolve-all@1.1.0: - dependencies: - micromark-util-types: 1.1.0 - - micromark-util-sanitize-uri@1.2.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-encode: 1.1.0 - micromark-util-symbol: 1.1.0 - - micromark-util-sanitize-uri@2.0.1: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-encode: 2.0.1 - micromark-util-symbol: 2.0.1 - - micromark-util-subtokenize@1.1.0: - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - - micromark-util-symbol@1.1.0: {} - - micromark-util-symbol@2.0.1: {} - - micromark-util-types@1.1.0: {} - - micromark-util-types@2.0.2: {} - - micromark@3.2.0: - dependencies: - '@types/debug': 4.1.12 - debug: 4.4.3 - decode-named-character-reference: 1.3.0 - micromark-core-commonmark: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-combine-extensions: 1.1.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-encode: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -12650,8 +10305,6 @@ snapshots: moo@0.5.3: {} - mri@1.2.0: {} - ms@2.1.3: {} mssql@11.0.1(@azure/core-client@1.10.1): @@ -12698,109 +10351,6 @@ snapshots: negotiator@0.6.4: {} - next-mdx-remote@4.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@mdx-js/mdx': 2.3.0 - '@mdx-js/react': 2.3.0(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - vfile: 5.3.7 - vfile-matter: 3.0.1 - transitivePeerDependencies: - - supports-color - - next-seo@6.8.0(next@14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - next: 14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - next-themes@0.2.1(next@14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - next: 14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - next@14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@next/env': 14.2.5 - '@swc/helpers': 0.5.5 - busboy: 1.6.0 - caniuse-lite: 1.0.30001780 - graceful-fs: 4.2.11 - postcss: 8.4.31 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.1(react@18.3.1) - optionalDependencies: - '@next/swc-darwin-arm64': 14.2.5 - '@next/swc-darwin-x64': 14.2.5 - '@next/swc-linux-arm64-gnu': 14.2.5 - '@next/swc-linux-arm64-musl': 14.2.5 - '@next/swc-linux-x64-gnu': 14.2.5 - '@next/swc-linux-x64-musl': 14.2.5 - '@next/swc-win32-arm64-msvc': 14.2.5 - '@next/swc-win32-ia32-msvc': 14.2.5 - '@next/swc-win32-x64-msvc': 14.2.5 - '@opentelemetry/api': 1.9.0 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - - nextra-theme-docs@2.13.4(next@14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(nextra@2.13.4(next@14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@headlessui/react': 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@popperjs/core': 2.11.8 - clsx: 2.1.1 - escape-string-regexp: 5.0.0 - flexsearch: 0.7.43 - focus-visible: 5.2.1 - git-url-parse: 13.1.1 - intersection-observer: 0.12.2 - match-sorter: 6.3.4 - next: 14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - next-seo: 6.8.0(next@14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - next-themes: 0.2.1(next@14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - nextra: 2.13.4(next@14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - scroll-into-view-if-needed: 3.1.0 - zod: 3.25.76 - - nextra@2.13.4(next@14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@headlessui/react': 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mdx-js/mdx': 2.3.0 - '@mdx-js/react': 2.3.0(react@18.3.1) - '@napi-rs/simple-git': 0.1.22 - '@theguild/remark-mermaid': 0.0.5(react@18.3.1) - '@theguild/remark-npm2yarn': 0.2.1 - clsx: 2.1.1 - github-slugger: 2.0.0 - graceful-fs: 4.2.11 - gray-matter: 4.0.3 - katex: 0.16.45 - lodash.get: 4.4.2 - next: 14.2.5(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - next-mdx-remote: 4.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - p-limit: 3.1.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - rehype-katex: 7.0.1 - rehype-pretty-code: 0.9.11(shiki@0.14.7) - rehype-raw: 7.0.0 - remark-gfm: 3.0.1 - remark-math: 5.1.1 - remark-reading-time: 2.1.0 - shiki: 0.14.7 - slash: 3.0.0 - title: 3.5.3 - unist-util-remove: 4.0.0 - unist-util-visit: 5.1.0 - zod: 3.25.76 - transitivePeerDependencies: - - supports-color - node-abi@3.87.0: dependencies: semver: 7.7.4 @@ -12845,8 +10395,6 @@ snapshots: '@types/pegjs': 0.10.6 big-integer: 1.6.52 - non-layered-tidy-tree-layout@2.0.2: {} - nopt@6.0.0: dependencies: abbrev: 1.1.1 @@ -12861,16 +10409,10 @@ snapshots: semver: 7.7.4 validate-npm-package-license: 3.0.4 - npm-run-path@2.0.2: - dependencies: - path-key: 2.0.1 - npm-run-path@5.3.0: dependencies: path-key: 4.0.0 - npm-to-yarn@2.2.1: {} - npmlog@6.0.2: dependencies: are-we-there-yet: 3.0.1 @@ -12910,8 +10452,6 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - p-finally@1.0.0: {} - p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 @@ -12928,38 +10468,18 @@ snapshots: package-json-from-dist@1.0.1: {} - parse-entities@4.0.2: - dependencies: - '@types/unist': 2.0.11 - character-entities-legacy: 3.0.0 - character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.3.0 - is-alphanumerical: 2.0.1 - is-decimal: 2.0.1 - is-hexadecimal: 2.0.1 - parse-json@8.3.0: dependencies: '@babel/code-frame': 7.29.0 index-to-position: 1.2.0 type-fest: 4.41.0 - parse-numeric-range@1.3.0: {} - parse-passwd@1.0.0: {} - parse-path@7.1.0: - dependencies: - protocols: 2.0.2 - parse-semver@1.1.1: dependencies: semver: 5.7.2 - parse-url@8.1.0: - dependencies: - parse-path: 7.1.0 - parse5-htmlparser2-tree-adapter@7.1.0: dependencies: domhandler: 5.0.3 @@ -12977,8 +10497,6 @@ snapshots: path-is-absolute@1.0.1: {} - path-key@2.0.1: {} - path-key@3.1.1: {} path-key@4.0.0: {} @@ -13005,12 +10523,6 @@ snapshots: pend@1.2.0: {} - periscopic@3.1.0: - dependencies: - '@types/estree': 1.0.8 - estree-walker: 3.0.3 - is-reference: 3.0.3 - pg-cloudflare@1.3.0: optional: true @@ -13062,12 +10574,6 @@ snapshots: pluralize@8.0.0: {} - postcss@8.4.31: - dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 - postcss@8.5.6: dependencies: nanoid: 3.3.11 @@ -13122,16 +10628,8 @@ snapshots: object-assign: 4.1.1 react-is: 16.13.1 - property-information@6.5.0: {} - - property-information@7.1.0: {} - - protocols@2.0.2: {} - proxy-from-env@1.1.0: {} - pseudomap@1.0.2: {} - pump@3.0.3: dependencies: end-of-stream: 1.4.5 @@ -13247,8 +10745,6 @@ snapshots: process: 0.11.10 string_decoder: 1.3.0 - reading-time@1.5.0: {} - reduce-css-calc@1.3.0: dependencies: balanced-match: 0.4.2 @@ -13259,76 +10755,6 @@ snapshots: dependencies: balanced-match: 1.0.2 - rehype-katex@7.0.1: - dependencies: - '@types/hast': 3.0.4 - '@types/katex': 0.16.8 - hast-util-from-html-isomorphic: 2.0.0 - hast-util-to-text: 4.0.2 - katex: 0.16.45 - unist-util-visit-parents: 6.0.2 - vfile: 6.0.3 - - rehype-pretty-code@0.9.11(shiki@0.14.7): - dependencies: - '@types/hast': 2.3.10 - hash-obj: 4.0.0 - parse-numeric-range: 1.3.0 - shiki: 0.14.7 - - rehype-raw@7.0.0: - dependencies: - '@types/hast': 3.0.4 - hast-util-raw: 9.1.0 - vfile: 6.0.3 - - remark-gfm@3.0.1: - dependencies: - '@types/mdast': 3.0.15 - mdast-util-gfm: 2.0.2 - micromark-extension-gfm: 2.0.3 - unified: 10.1.2 - transitivePeerDependencies: - - supports-color - - remark-math@5.1.1: - dependencies: - '@types/mdast': 3.0.15 - mdast-util-math: 2.0.2 - micromark-extension-math: 2.1.2 - unified: 10.1.2 - - remark-mdx@2.3.0: - dependencies: - mdast-util-mdx: 2.0.1 - micromark-extension-mdxjs: 1.0.1 - transitivePeerDependencies: - - supports-color - - remark-parse@10.0.2: - dependencies: - '@types/mdast': 3.0.15 - mdast-util-from-markdown: 1.3.1 - unified: 10.1.2 - transitivePeerDependencies: - - supports-color - - remark-reading-time@2.1.0: - dependencies: - estree-util-is-identifier-name: 3.0.0 - estree-util-value-to-estree: 3.5.0 - reading-time: 1.5.0 - unist-util-visit: 5.1.0 - - remark-rehype@10.1.0: - dependencies: - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - mdast-util-to-hast: 12.3.0 - unified: 10.1.2 - - remove-accents@0.5.0: {} - require-from-string@2.0.2: {} resolve-pkg-maps@1.0.0: {} @@ -13395,12 +10821,6 @@ snapshots: dependencies: queue-microtask: 1.2.3 - rw@1.3.3: {} - - sade@1.8.1: - dependencies: - mri: 1.2.0 - safe-buffer@5.2.1: {} safe-stable-stringify@2.5.0: {} @@ -13413,10 +10833,6 @@ snapshots: dependencies: loose-envify: 1.4.0 - scroll-into-view-if-needed@3.1.0: - dependencies: - compute-scroll-into-view: 3.1.1 - secretlint@10.2.2: dependencies: '@secretlint/config-creator': 10.2.2 @@ -13429,11 +10845,6 @@ snapshots: transitivePeerDependencies: - supports-color - section-matter@1.0.0: - dependencies: - extend-shallow: 2.0.1 - kind-of: 6.0.3 - semver@5.7.2: {} semver@6.3.1: {} @@ -13442,25 +10853,12 @@ snapshots: set-blocking@2.0.0: {} - shebang-command@1.2.0: - dependencies: - shebang-regex: 1.0.0 - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - shebang-regex@1.0.0: {} - shebang-regex@3.0.0: {} - shiki@0.14.7: - dependencies: - ansi-sequence-parser: 1.1.3 - jsonc-parser: 3.3.1 - vscode-oniguruma: 1.7.0 - vscode-textmate: 8.0.0 - side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 @@ -13505,8 +10903,6 @@ snapshots: simple-lru-cache@0.0.2: {} - slash@3.0.0: {} - slash@5.1.0: {} slice-ansi@4.0.0: @@ -13569,10 +10965,6 @@ snapshots: ip-address: 10.1.0 smart-buffer: 4.2.0 - sort-keys@5.1.0: - dependencies: - is-plain-obj: 4.1.0 - source-map-js@1.2.1: {} source-map-support@0.5.21: @@ -13584,10 +10976,6 @@ snapshots: source-map@0.6.1: optional: true - source-map@0.7.6: {} - - space-separated-tokens@2.0.2: {} - spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 @@ -13604,8 +10992,6 @@ snapshots: split2@4.2.0: {} - sprintf-js@1.0.3: {} - sprintf-js@1.1.3: {} sql-escaper@1.3.3: {} @@ -13631,8 +11017,6 @@ snapshots: stream-shift@1.0.3: {} - streamsearch@1.1.0: {} - string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -13649,11 +11033,6 @@ snapshots: dependencies: safe-buffer: 5.2.1 - stringify-entities@4.0.4: - dependencies: - character-entities-html4: 2.1.0 - character-entities-legacy: 3.0.0 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -13662,10 +11041,6 @@ snapshots: dependencies: ansi-regex: 6.2.2 - strip-bom-string@1.0.0: {} - - strip-eof@1.0.0: {} - strip-final-newline@3.0.0: {} strip-json-comments@2.0.1: {} @@ -13690,21 +11065,6 @@ snapshots: style-mod@4.1.3: {} - style-to-object@0.4.4: - dependencies: - inline-style-parser: 0.1.1 - - styled-jsx@5.1.1(react@18.3.1): - dependencies: - client-only: 0.0.1 - react: 18.3.1 - - stylis@4.3.6: {} - - supports-color@4.5.0: - dependencies: - has-flag: 2.0.0 - supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -13839,15 +11199,6 @@ snapshots: tinyspy@4.0.4: {} - title@3.5.3: - dependencies: - arg: 1.0.0 - chalk: 2.3.0 - clipboardy: 1.2.2 - titleize: 1.0.0 - - titleize@1.0.0: {} - tmp@0.2.5: {} to-regex-range@5.0.1: @@ -13858,14 +11209,8 @@ snapshots: tr46@0.0.3: {} - trim-lines@3.0.1: {} - triple-beam@1.4.1: {} - trough@2.2.0: {} - - ts-dedent@2.2.0: {} - tslib@2.8.1: {} tsx@4.21.0: @@ -13910,8 +11255,6 @@ snapshots: type-detect@4.1.0: {} - type-fest@1.4.0: {} - type-fest@4.41.0: {} typed-rest-client@1.8.11: @@ -13920,8 +11263,6 @@ snapshots: tunnel: 0.0.6 underscore: 1.13.8 - typescript@5.5.3: {} - typescript@5.9.3: {} uc.micro@2.1.0: {} @@ -13940,16 +11281,6 @@ snapshots: unicorn-magic@0.3.0: {} - unified@10.1.2: - dependencies: - '@types/unist': 2.0.11 - bail: 2.0.2 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 4.1.0 - trough: 2.2.0 - vfile: 5.3.7 - unique-filename@2.0.1: dependencies: unique-slug: 3.0.0 @@ -13958,79 +11289,6 @@ snapshots: dependencies: imurmurhash: 0.1.4 - unist-util-find-after@5.0.0: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.1 - - unist-util-generated@2.0.1: {} - - unist-util-is@5.2.1: - dependencies: - '@types/unist': 2.0.11 - - unist-util-is@6.0.1: - dependencies: - '@types/unist': 3.0.3 - - unist-util-position-from-estree@1.1.2: - dependencies: - '@types/unist': 2.0.11 - - unist-util-position@4.0.4: - dependencies: - '@types/unist': 2.0.11 - - unist-util-position@5.0.0: - dependencies: - '@types/unist': 3.0.3 - - unist-util-remove-position@4.0.2: - dependencies: - '@types/unist': 2.0.11 - unist-util-visit: 4.1.2 - - unist-util-remove-position@5.0.0: - dependencies: - '@types/unist': 3.0.3 - unist-util-visit: 5.1.0 - - unist-util-remove@4.0.0: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.1 - unist-util-visit-parents: 6.0.2 - - unist-util-stringify-position@3.0.3: - dependencies: - '@types/unist': 2.0.11 - - unist-util-stringify-position@4.0.0: - dependencies: - '@types/unist': 3.0.3 - - unist-util-visit-parents@5.1.3: - dependencies: - '@types/unist': 2.0.11 - unist-util-is: 5.2.1 - - unist-util-visit-parents@6.0.2: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.1 - - unist-util-visit@4.1.2: - dependencies: - '@types/unist': 2.0.11 - unist-util-is: 5.2.1 - unist-util-visit-parents: 5.1.3 - - unist-util-visit@5.1.0: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.1 - unist-util-visit-parents: 6.0.2 - universalify@2.0.1: {} update-browserslist-db@1.2.3(browserslist@4.28.1): @@ -14066,13 +11324,6 @@ snapshots: uuid@9.0.1: {} - uvu@0.5.6: - dependencies: - dequal: 2.0.3 - diff: 5.2.2 - kleur: 4.1.5 - sade: 1.8.1 - validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 @@ -14080,39 +11331,6 @@ snapshots: version-range@4.15.0: {} - vfile-location@5.0.3: - dependencies: - '@types/unist': 3.0.3 - vfile: 6.0.3 - - vfile-matter@3.0.1: - dependencies: - '@types/js-yaml': 4.0.9 - is-buffer: 2.0.5 - js-yaml: 4.1.1 - - vfile-message@3.1.4: - dependencies: - '@types/unist': 2.0.11 - unist-util-stringify-position: 3.0.3 - - vfile-message@4.0.3: - dependencies: - '@types/unist': 3.0.3 - unist-util-stringify-position: 4.0.0 - - vfile@5.3.7: - dependencies: - '@types/unist': 2.0.11 - is-buffer: 2.0.5 - unist-util-stringify-position: 3.0.3 - vfile-message: 3.1.4 - - vfile@6.0.3: - dependencies: - '@types/unist': 3.0.3 - vfile-message: 4.0.3 - vite-node@1.6.1(@types/node@20.14.10)(terser@5.46.0): dependencies: cac: 6.7.14 @@ -14275,16 +11493,8 @@ snapshots: dependencies: vscode-languageserver-protocol: 3.17.5 - vscode-oniguruma@1.7.0: {} - - vscode-textmate@8.0.0: {} - w3c-keyname@2.2.8: {} - web-namespaces@2.0.1: {} - - web-worker@1.5.0: {} - webidl-conversions@3.0.1: {} whatwg-encoding@3.1.1: @@ -14298,10 +11508,6 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - which@1.3.1: - dependencies: - isexe: 2.0.0 - which@2.0.2: dependencies: isexe: 2.0.0 @@ -14362,8 +11568,6 @@ snapshots: xtend@4.0.2: {} - yallist@2.1.2: {} - yallist@3.1.1: {} yallist@4.0.0: {} @@ -14386,8 +11590,6 @@ snapshots: yocto-queue@1.2.2: {} - zod@3.25.76: {} - zustand@4.5.7(@types/react@18.3.28)(react@18.3.1): dependencies: use-sync-external-store: 1.6.0(react@18.3.1) @@ -14400,5 +11602,3 @@ snapshots: '@types/react': 18.3.28 react: 18.3.1 use-sync-external-store: 1.6.0(react@18.3.1) - - zwitch@2.0.4: {} diff --git a/scripts/check-doc-links.mjs b/scripts/check-doc-links.mjs new file mode 100644 index 00000000..a72502c3 --- /dev/null +++ b/scripts/check-doc-links.mjs @@ -0,0 +1,52 @@ +#!/usr/bin/env node +// Verify every relative markdown link under docs/ and the root README.md +// points at a file that actually exists. External (http/https/mailto) and +// anchor-only links are skipped. Fragments after `#` are stripped. + +import { readdirSync, readFileSync, statSync } from 'node:fs'; +import { dirname, join, resolve } from 'node:path'; + +const ROOT = resolve(process.cwd()); + +function walk(dir) { + const out = []; + for (const entry of readdirSync(dir, { withFileTypes: true })) { + const full = join(dir, entry.name); + if (entry.isDirectory()) { + if (entry.name === 'node_modules' || entry.name.startsWith('.')) continue; + out.push(...walk(full)); + } else if (entry.isFile() && /\.md$/i.test(entry.name)) { + out.push(full); + } + } + return out; +} + +const files = [...walk(join(ROOT, 'docs')), join(ROOT, 'README.md')]; +const linkRe = /\[[^\]]*\]\(([^)]+)\)/g; + +const problems = []; +for (const file of files) { + const src = readFileSync(file, 'utf-8'); + const baseDir = dirname(file); + for (const match of src.matchAll(linkRe)) { + let href = match[1].trim(); + if (!href || href.startsWith('#')) continue; + if (/^(https?|mailto|tel):/i.test(href)) continue; + href = href.split('#')[0].split('?')[0]; + if (!href) continue; + const target = resolve(baseDir, href); + try { + statSync(target); + } catch { + problems.push(`${file}: broken link β†’ ${match[1]}`); + } + } +} + +if (problems.length) { + console.error(`Found ${problems.length} broken link(s):`); + for (const p of problems) console.error(' ' + p); + process.exit(1); +} +console.log(`Checked ${files.length} markdown files β€” all relative links resolve.`);