From a6c121cf3bddc14159049c9b6bdc78c64e79f54b Mon Sep 17 00:00:00 2001 From: KKranthi6881 Date: Fri, 17 Apr 2026 16:43:14 -0500 Subject: [PATCH 1/5] docs: pure-OSS markdown docs, drop Nextra site MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DQL is a GitHub-native open-source project β€” no hosted docs site. All documentation now lives as plain markdown in docs/, renders directly on github.com, and is linked from the root README and per-package READMEs. - Port 27 MDX pages to docs/{01-quickstart,02-concepts,03-install,guides,reference,architecture,contribute} - Delete apps/docs/ (Nextra app) and .github/workflows/deploy-docs.yml - Strip docs.duckcode.ai references from CLI banner, package READMEs, Homebrew formula template, plugin-api JSDoc, and CI comments - Write docs/README.md as a numbered reading-order index - Rewrite root README.md to link into ./docs/ via relative paths Co-Authored-By: Claude Opus 4.7 --- .github/workflows/ci.yml | 2 +- .github/workflows/deploy-docs.yml | 54 ---------------- README.md | 13 ++-- apps/desktop/README.md | 2 +- apps/docs/.gitignore | 6 -- apps/docs/README.md | 41 ------------ apps/docs/next.config.mjs | 15 ----- apps/docs/package.json | 24 ------- apps/docs/pages/_meta.json | 13 ---- apps/docs/pages/architecture/_meta.json | 7 --- apps/docs/pages/contribute/_meta.json | 5 -- apps/docs/pages/get-started/_meta.json | 5 -- apps/docs/pages/guides/_meta.json | 10 --- apps/docs/pages/guides/index.mdx | 25 -------- apps/docs/pages/index.mdx | 42 ------------- apps/docs/pages/reference/_meta.json | 9 --- apps/docs/scripts/link-check.mjs | 55 ---------------- apps/docs/theme.config.tsx | 47 -------------- apps/docs/tsconfig.json | 20 ------ apps/docs/vercel.json | 18 ------ .../quickstart.mdx => docs/01-quickstart.md | 18 ++---- .../concepts.mdx => docs/02-concepts.md | 9 +-- .../install.mdx => docs/03-install.md | 7 +-- docs/README.md | 63 +++++++++++++++---- .../architecture/dbt-integration.md | 5 -- .../architecture/lineage-model.md | 5 -- .../architecture/openlineage.md | 5 -- .../architecture/overview.md | 7 +-- .../architecture/plugin-api.md | 11 ---- .../contribute/releasing.md | 7 +-- .../contribute/repo-layout.md | 7 +-- .../testing.mdx => docs/contribute/testing.md | 5 -- docs/guides/README.md | 20 ++++++ .../guides/authoring-blocks.md | 5 -- .../guides/connect-warehouse.md | 7 +-- .../guides/dashboards.md | 5 -- .../guides/faq.mdx => docs/guides/faq.md | 13 ++-- .../guides/import-dbt.md | 5 -- .../guides/jaffle-shop.md | 7 +-- .../migrate.mdx => docs/guides/migrate.md | 5 -- .../guides/versioning.md | 5 -- .../cli.mdx => docs/reference/cli.md | 15 +---- .../reference/compatibility.md | 7 +-- .../reference/connectors.md | 5 -- .../reference/file-formats.md | 5 -- .../reference/language.md | 5 -- .../reference/project-layout.md | 5 -- .../reference/semantic-layer.md | 7 +-- examples/gallery/README.md | 2 +- packages/create-dql-app/README.md | 6 +- .../create-dql-app/bin/create-dql-app.mjs | 2 +- packages/create-dql-app/package.json | 2 +- .../create-dql-app/templates/empty/README.md | 2 +- .../templates/jaffle-shop/README.md | 12 ++-- packages/dql-openlineage/README.md | 2 +- packages/dql-plugin-api/src/connector.ts | 2 +- packaging/homebrew/dql.rb.tmpl | 2 +- 57 files changed, 117 insertions(+), 598 deletions(-) delete mode 100644 .github/workflows/deploy-docs.yml delete mode 100644 apps/docs/.gitignore delete mode 100644 apps/docs/README.md delete mode 100644 apps/docs/next.config.mjs delete mode 100644 apps/docs/package.json delete mode 100644 apps/docs/pages/_meta.json delete mode 100644 apps/docs/pages/architecture/_meta.json delete mode 100644 apps/docs/pages/contribute/_meta.json delete mode 100644 apps/docs/pages/get-started/_meta.json delete mode 100644 apps/docs/pages/guides/_meta.json delete mode 100644 apps/docs/pages/guides/index.mdx delete mode 100644 apps/docs/pages/index.mdx delete mode 100644 apps/docs/pages/reference/_meta.json delete mode 100755 apps/docs/scripts/link-check.mjs delete mode 100644 apps/docs/theme.config.tsx delete mode 100644 apps/docs/tsconfig.json delete mode 100644 apps/docs/vercel.json rename apps/docs/pages/get-started/quickstart.mdx => docs/01-quickstart.md (75%) rename apps/docs/pages/get-started/concepts.mdx => docs/02-concepts.md (93%) rename apps/docs/pages/get-started/install.mdx => docs/03-install.md (90%) rename apps/docs/pages/architecture/dbt-integration.mdx => docs/architecture/dbt-integration.md (93%) rename apps/docs/pages/architecture/lineage-model.mdx => docs/architecture/lineage-model.md (95%) rename apps/docs/pages/architecture/openlineage.mdx => docs/architecture/openlineage.md (93%) rename apps/docs/pages/architecture/overview.mdx => docs/architecture/overview.md (94%) rename apps/docs/pages/architecture/plugin-api.mdx => docs/architecture/plugin-api.md (82%) rename apps/docs/pages/contribute/releasing.mdx => docs/contribute/releasing.md (92%) rename apps/docs/pages/contribute/repo-layout.mdx => docs/contribute/repo-layout.md (91%) rename apps/docs/pages/contribute/testing.mdx => docs/contribute/testing.md (94%) create mode 100644 docs/guides/README.md rename apps/docs/pages/guides/authoring-blocks.mdx => docs/guides/authoring-blocks.md (94%) rename apps/docs/pages/guides/connect-warehouse.mdx => docs/guides/connect-warehouse.md (88%) rename apps/docs/pages/guides/dashboards.mdx => docs/guides/dashboards.md (91%) rename apps/docs/pages/guides/faq.mdx => docs/guides/faq.md (88%) rename apps/docs/pages/guides/import-dbt.mdx => docs/guides/import-dbt.md (94%) rename apps/docs/pages/guides/jaffle-shop.mdx => docs/guides/jaffle-shop.md (81%) rename apps/docs/pages/guides/migrate.mdx => docs/guides/migrate.md (91%) rename apps/docs/pages/guides/versioning.mdx => docs/guides/versioning.md (94%) rename apps/docs/pages/reference/cli.mdx => docs/reference/cli.md (88%) rename apps/docs/pages/reference/compatibility.mdx => docs/reference/compatibility.md (89%) rename apps/docs/pages/reference/connectors.mdx => docs/reference/connectors.md (95%) rename apps/docs/pages/reference/file-formats.mdx => docs/reference/file-formats.md (97%) rename apps/docs/pages/reference/language.mdx => docs/reference/language.md (95%) rename apps/docs/pages/reference/project-layout.mdx => docs/reference/project-layout.md (96%) rename apps/docs/pages/reference/semantic-layer.mdx => docs/reference/semantic-layer.md (90%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fddf23b2..86b86f17 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -85,7 +85,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/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/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/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" From 03dfe1f6ccfe10951ddb0ce991204f0cb887925d Mon Sep 17 00:00:00 2001 From: KKranthi6881 Date: Fri, 17 Apr 2026 16:53:25 -0500 Subject: [PATCH 2/5] ci: fix failing build/test/docs gates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - docs job pointed at deleted apps/docs/scripts/link-check.mjs β†’ replace with scripts/check-doc-links.mjs that validates every relative markdown link under docs/ and root README.md - format-check built only dql-cli (pnpm -F) which skipped deps and broke on missing apps/dql-notebook/dist β†’ switch to full pnpm build (turbo handles dependency order) - apps/desktop tauri build required icons/ (not in repo) and raced with dql-ui writes during concurrent turbo tasks β†’ make desktop's default build a no-op; tauri compile now lives only under release-desktop.yml (build:tauri script preserved for local/manual use) - declare dql-notebook-app as a desktop workspace dep so its build is ordered before desktop even after the no-op Co-Authored-By: Claude Opus 4.7 --- .github/workflows/ci.yml | 13 +- apps/desktop/.gitignore | 1 + apps/desktop/package.json | 6 +- apps/desktop/src-tauri/tauri.conf.json | 2 +- pnpm-lock.yaml | 2828 +----------------------- scripts/check-doc-links.mjs | 52 + 6 files changed, 78 insertions(+), 2824 deletions(-) create mode 100644 scripts/check-doc-links.mjs diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 86b86f17..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 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/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/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.`); From 56e6356ca81fc9ef29d565022e9e36f07e33fd3f Mon Sep 17 00:00:00 2001 From: KKranthi6881 Date: Fri, 17 Apr 2026 16:58:07 -0500 Subject: [PATCH 3/5] chore: dql fmt jaffle-shop revenue_by_segment template Co-Authored-By: Claude Opus 4.7 --- .../jaffle-shop/blocks/revenue_by_segment.dql | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) 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..d5e5c591 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,24 +5,21 @@ block "Revenue by segment" { type = "custom" description = "Gross revenue grouped by customer segment." tags = ["revenue", "sample"] - query = """ SELECT - c.customer_segment AS segment, - SUM(o.amount) AS revenue, - COUNT(DISTINCT o.customer_id) AS customers - FROM orders o - JOIN customers c ON c.customer_id = o.customer_id - GROUP BY 1 - ORDER BY revenue DESC + c.customer_segment AS segment, + SUM(o.amount) AS revenue, + COUNT(DISTINCT o.customer_id) AS customers + FROM orders o + JOIN customers c ON c.customer_id = o.customer_id + GROUP BY 1 + ORDER BY revenue DESC """ - visualization { chart = "bar" x = segment y = revenue } - tests { assert row_count > 0 } From 65d0685b93465b838a01d85612aebca6bce1d22b Mon Sep 17 00:00:00 2001 From: KKranthi6881 Date: Fri, 17 Apr 2026 17:03:54 -0500 Subject: [PATCH 4/5] fix(core): make SQL query formatter idempotent formatSQLQuery() stripped all leading whitespace via .trim() on the raw SQL, which erased the common leading indent of the first line. Every fmt pass then prepended the block-level indent on top, so each run added ~2 spaces and the file drifted forever. `dql fmt --check` therefore always failed on any block with a multi-line query. Strip only leading newlines and trailing whitespace, compute the min leading whitespace across non-empty lines, and subtract it before re-indenting. Now `fmt` is a fixed point. Co-Authored-By: Claude Opus 4.7 --- packages/dql-core/src/formatter/formatter.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/dql-core/src/formatter/formatter.ts b/packages/dql-core/src/formatter/formatter.ts index ca363512..8dece441 100644 --- a/packages/dql-core/src/formatter/formatter.ts +++ b/packages/dql-core/src/formatter/formatter.ts @@ -267,11 +267,16 @@ 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()); + const nonEmpty = rawLines.filter((l) => l.length > 0); + const minLeading = nonEmpty.length + ? Math.min(...nonEmpty.map((l) => l.match(/^[ \t]*/)![0].length)) + : 0; + return rawLines.map((line) => + line.length === 0 ? '' : `${indent(level, state)}${line.slice(minLeading)}`, + ); } function formatNamedArg(arg: NamedArgNode): string { From ddbdfad395a5aa1b6d2196dca71aaeb693a48df3 Mon Sep 17 00:00:00 2001 From: KKranthi6881 Date: Fri, 17 Apr 2026 17:08:36 -0500 Subject: [PATCH 5/5] fix(core): idempotent SQL fmt inside chart.*() calls Two follow-ups to the previous fmt fix: 1. formatCall() was joining every SQL line with `,` as if each were a separate positional arg, mangling multi-line SELECTs in dashboards. Treat the whole SQL query as one chunk; add the inter-arg comma only after its last line. 2. formatSQLQuery() still drifted when the first SQL line shared a row with the opening `(` (e.g. `chart.bar(SELECT ...`). Its leading indent is lost by the parser, so including it in the dedent baseline made minLeading = 0 and every pass re-added the block indent. Use tail lines for the dedent baseline; fall back to the first line only when there are no others. Verified idempotent on both template files. Co-Authored-By: Claude Opus 4.7 --- .../jaffle-shop/blocks/revenue_by_segment.dql | 14 +++---- .../jaffle-shop/dashboards/overview.dql | 2 - packages/dql-core/src/formatter/formatter.ts | 39 ++++++++++++------- 3 files changed, 33 insertions(+), 22 deletions(-) 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 d5e5c591..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 @@ -7,13 +7,13 @@ block "Revenue by segment" { tags = ["revenue", "sample"] query = """ SELECT - c.customer_segment AS segment, - SUM(o.amount) AS revenue, - COUNT(DISTINCT o.customer_id) AS customers - FROM orders o - JOIN customers c ON c.customer_id = o.customer_id - GROUP BY 1 - ORDER BY revenue DESC + c.customer_segment AS segment, + SUM(o.amount) AS revenue, + COUNT(DISTINCT o.customer_id) AS customers + FROM orders o + JOIN customers c ON c.customer_id = o.customer_id + GROUP BY 1 + ORDER BY revenue DESC """ visualization { chart = "bar" 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 8dece441..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]); } } @@ -270,13 +274,22 @@ function formatSQLQuery(query: SQLQueryNode, level: number, state: FormatState): 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()); - const nonEmpty = rawLines.filter((l) => l.length > 0); - const minLeading = nonEmpty.length - ? Math.min(...nonEmpty.map((l) => l.match(/^[ \t]*/)![0].length)) + // 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) => - line.length === 0 ? '' : `${indent(level, state)}${line.slice(minLeading)}`, - ); + 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 {